Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   56 ?? push esi
   57 ?? push edi
   8b f9 ?? mov edi, ecx
   6a 00 ?? push 0
   8d 4d fc ?? lea ecx, ss:[ebp + 0xfc<252,-4>]
   e8 31 1e 00 00 ?? call function 0x0040536b
  
  L2: 8b 47 04 ?? mov eax, dword ds:[edi + 4]
   85 c0 ?? test eax, eax
   76 09 ?? jbe basic block L5
  
  L3: 83 f8 ff ?? cmp eax, 0xff<255,-1>
   73 04 ?? jae basic block L5
  
  L4: 48 ?? dec eax
   89 47 04 ?? mov dword ds:[edi + 4], eax
  
  L5: 8b 77 04 ?? mov esi, dword ds:[edi + 4]
   f7 de ?? neg esi
   1b f6 ?? sbb esi, esi
   f7 d6 ?? not esi
   8d 4d fc ?? lea ecx, ss:[ebp + 0xfc<252,-4>]
   23 f7 ?? and esi, edi
   e8 36 1e 00 00 ?? call function 0x00405393
  
  L6: 5f ?? pop edi
   8b c6 ?? mov eax, esi
   5e ?? pop esi
   c9 ?? leave
   c3 ?? ret
  
  