Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   56 ?? push esi
   57 ?? push edi
   6a 14 ?? push 0x14<20>
   e8 cc fa ff ff ?? call function 0x004010b9
  
  L2: 8b f8 ?? mov edi, eax
   83 c4 04 ?? add esp, 4
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   85 ff ?? test edi, edi
   74 5e ?? je basic block L5
  
  L3: c7 47 04 01 00 00 00 ?? mov dword ds:[edi + 4], 1
   c6 47 08 61 ?? mov byte ds:[edi + 8], 0x61<97>
   c7 47 0c ff ff ff ff ?? mov dword ds:[edi + 12], 0xffffffff<4294967295,-1>
   c7 07 48 5b 40 00 ?? mov dword ds:[edi], 0x00405b48
   ff 15 20 82 40 00 ?? call dword ds:[0x00408220]
  
  L4: 99 ?? cdq
   b9 0a 00 00 00 ?? mov ecx, 10
   f7 f9 ?? idiv ecx
   b8 03 00 00 00 ?? mov eax, 3
   b9 62 00 00 00 ?? mov ecx, 0x00000062<98>
   8b f2 ?? mov esi, edx
   85 f6 ?? test esi, esi
   0f 94 c2 ?? sete dl
   80 c2 62 ?? add dl, 0x62<98>
   85 f6 ?? test esi, esi
   0f 44 c8 ?? cmove ecx, eax
   33 c0 ?? xor eax, eax
   85 f6 ?? test esi, esi
   0f 95 c0 ?? setne al
   83 c0 fd ?? add eax, 0xfd<253,-3>
   f7 de ?? neg esi
   1b f6 ?? sbb esi, esi
   83 c6 03 ?? add esi, 3
   89 77 04 ?? mov dword ds:[edi + 4], esi
   88 57 08 ?? mov byte ds:[edi + 8], dl
   89 47 0c ?? mov dword ds:[edi + 12], eax
   89 4f 10 ?? mov dword ds:[edi + 0x10<16>], ecx
   eb 02 ?? jmp basic block L6
  
  L5: 33 ff ?? xor edi, edi
  
  L6: 8b 07 ?? mov eax, dword ds:[edi]
   8b cf ?? mov ecx, edi
   ff 50 08 ?? call dword ds:[eax + 8]
  
  L7: 6a 10 ?? push 0x10<16>
   57 ?? push edi
   8b f0 ?? mov esi, eax
   e8 e6 f9 ff ff ?? call function 0x00401050
  
  L8: 83 c4 08 ?? add esp, 8
   8b c6 ?? mov eax, esi
   5f ?? pop edi
   5e ?? pop esi
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  