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 8c 00 00 00 ?? call function 0x004011ba
  
  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 f4 30 40 00 ?? call dword ds:[0x004030f4]
  
  L3: 99 ?? cdq
   b9 0a 00 00 00 ?? mov ecx, 10
   f7 f9 ?? idiv ecx
   be 03 00 00 00 ?? mov esi, 3
   b8 62 00 00 00 ?? mov eax, 0x00000062<98>
   85 d2 ?? test edx, edx
   0f 94 c3 ?? sete bl
   33 c9 ?? xor ecx, ecx
   80 c3 62 ?? add bl, 0x62<98>
   85 d2 ?? test edx, edx
   0f 95 c1 ?? setne cl
   83 c1 fd ?? add ecx, 0xfd<253,-3>
   85 d2 ?? test edx, edx
   0f 44 c6 ?? cmove eax, esi
   f7 da ?? neg edx
   1b d2 ?? sbb edx, edx
   03 d6 ?? add edx, esi
   89 57 04 ?? mov dword ds:[edi + 4], edx
   88 5f 08 ?? mov byte ds:[edi + 8], bl
   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 4a 00 00 00 ?? call function 0x004011ea
  
  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
  
  