Disassembly: 
  L1: 6a 0c ?? push 12
   68 00 2e 43 00 ?? push 0x00432e00
   e8 b7 67 00 00 ?? call function 0x0040da10
  
  L2: 33 db ?? xor ebx, ebx
   89 5d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], ebx
   33 c0 ?? xor eax, eax
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   3b f3 ?? cmp esi, ebx
   0f 95 c0 ?? setne al
   3b c3 ?? cmp eax, ebx
   75 20 ?? jne basic block L6
  
  L3: e8 7b 55 00 00 ?? call function 0x0040c7ec
  
  L4: c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   e8 5f f6 ff ff ?? call function 0x004068e0
  
  L5: 83 c4 14 ?? add esp, 0x14<20>
   83 c8 ff ?? or eax, 0xff<255,-1>
   e9 af 00 00 00 ?? jmp basic block L29
  
  L6: 8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
   83 f8 04 ?? cmp eax, 4
   74 09 ?? je basic block L9
  
  L7: 3b c3 ?? cmp eax, ebx
   74 0e ?? je basic block L11
  
  L8: 83 f8 40 ?? cmp eax, 0x40<64>
   75 cf ?? jne basic block L3
  
  L9: 3b c3 ?? cmp eax, ebx
   74 05 ?? je basic block L11
  
  L10: 83 f8 40 ?? cmp eax, 0x40<64>
   75 0f ?? jne basic block L13
  
  L11: 8b 7d 14 ?? mov edi, dword ss:[ebp + 0x14<20>]
   8d 47 fe ?? lea eax, ds:[edi + 0xfe<254,-2>]
   3d fd ff ff 7f ?? cmp eax, 0x7ffffffd
   76 05 ?? jbe basic block L14
  
  L12: eb b7 ?? jmp basic block L3
  
  L13: 8b 7d 14 ?? mov edi, dword ss:[ebp + 0x14<20>]
  
  L14: 83 e7 fe ?? and edi, 0xfe<254,-2>
   89 75 08 ?? mov dword ss:[ebp + 8], esi
   56 ?? push esi
   e8 35 07 00 00 ?? call function 0x004079f9
  
  L15: 59 ?? pop ecx
   89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   56 ?? push esi
   e8 99 fd ff ff ?? call function 0x00407067
  
  L16: 56 ?? push esi
   e8 7b 89 00 00 ?? call function 0x0040fc4f
  
  L17: 59 ?? pop ecx
   59 ?? pop ecx
   81 66 0c f3 c2 ff ff ?? and dword ds:[esi + 12], 0xffffc2f3<4294951667,-15629>
   8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
   f6 45 10 04 ?? test byte ss:[ebp + 0x10<16>], 4
   74 0b ?? je basic block L19
  
  L18: 83 c9 04 ?? or ecx, 4
   8d 46 14 ?? lea eax, ds:[esi + 0x14<20>]
   6a 02 ?? push 2
   5f ?? pop edi
   eb 2d ?? jmp basic block L25
  
  L19: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   3b c3 ?? cmp eax, ebx
   75 20 ?? jne basic block L24
  
  L20: 57 ?? push edi
   e8 02 2d 00 00 ?? call function 0x0040a000
  
  L21: 59 ?? pop ecx
   3b c3 ?? cmp eax, ebx
   75 0c ?? jne basic block L23
  
  L22: ff 05 64 5b 43 00 ?? inc dword ds:[0x00435b64]
   83 4d e4 ff ?? or dword ss:[ebp + 0xe4<228,-28>], 0xff<255,-1>
   eb 1d ?? jmp basic block L27
  
  L23: 81 4e 0c 08 04 00 00 ?? or dword ds:[esi + 12], 0x00000408<1032>
   eb 09 ?? jmp basic block L26
  
  L24: 81 c9 00 05 00 00 ?? or ecx, 0x00000500<1280>
  
  L25: 89 4e 0c ?? mov dword ds:[esi + 12], ecx
  
  L26: 89 7e 18 ?? mov dword ds:[esi + 0x18<24>], edi
   89 46 08 ?? mov dword ds:[esi + 8], eax
   89 06 ?? mov dword ds:[esi], eax
   89 5e 04 ?? mov dword ds:[esi + 4], ebx
  
  L27: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   e8 09 00 00 00 ?? call function 0x00407341
  
  L28: 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
  
  L29: e8 15 67 00 00 ?? call function 0x0040da55
  
  L30: c3 ?? ret
  
  