Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   6a 14 ?? push 0x14<20>
   e8 91 00 00 00 ?? call function 0x004011bf
  
  L2: 8b f8 ?? mov edi, eax
   83 c4 04 ?? add esp, 4
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   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 b4 31 40 00 ?? mov dword ds:[edi], 0x004031b4
   ff 15 ec 30 40 00 ?? call dword ds:[0x004030ec]
  
  L3: 99 ?? cdq
   b9 0a 00 00 00 ?? mov ecx, 10
   f7 f9 ?? idiv ecx
   bb 03 00 00 00 ?? mov ebx, 3
   b8 62 00 00 00 ?? mov eax, 0x00000062<98>
   8b f2 ?? mov esi, edx
   85 f6 ?? test esi, esi
   0f 94 c2 ?? sete dl
   33 c9 ?? xor ecx, ecx
   80 c2 62 ?? add dl, 0x62<98>
   85 f6 ?? test esi, esi
   0f 95 c1 ?? setne cl
   83 c1 fd ?? add ecx, 0xfd<253,-3>
   85 f6 ?? test esi, esi
   0f 44 c3 ?? cmove eax, ebx
   f7 de ?? neg esi
   1b f6 ?? sbb esi, esi
   03 f3 ?? add esi, ebx
   89 77 04 ?? mov dword ds:[edi + 4], esi
   88 57 08 ?? mov byte ds:[edi + 8], dl
   89 4f 0c ?? mov dword ds:[edi + 12], ecx
   8b cf ?? mov ecx, edi
   89 47 10 ?? mov dword ds:[edi + 0x10<16>], eax
   8b 07 ?? mov eax, dword ds:[edi]
   ff 50 08 ?? call dword ds:[eax + 8]
  
  L4: 6a 10 ?? push 0x10<16>
   57 ?? push edi
   8b f0 ?? mov esi, eax
   e8 4d 00 00 00 ?? call function 0x004011ef
  
  L5: 83 c4 08 ?? add esp, 8
   8b c6 ?? mov eax, esi
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  