Disassembly: 
  L1: 6a 10 ?? push 0x10<16>
   68 38 3f 40 00 ?? push 0x00403f38
   e8 64 05 00 00 ?? call function 0x00401740
  
  L2: 33 db ?? xor ebx, ebx
   39 1d a4 54 40 00 ?? cmp dword ds:[0x004054a4], ebx
   75 0b ?? jne basic block L4
  
  L3: 53 ?? push ebx
   53 ?? push ebx
   6a 01 ?? push 1
   53 ?? push ebx
   ff 15 88 61 40 00 ?? call dword ds:[0x00406188<"<d@">]
  
  L4: 89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   64 a1 18 00 00 00 ?? mov eax, dword fs:[0x00000018<24>]
   8b 70 04 ?? mov esi, dword ds:[eax + 4]
   89 5d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], ebx
   bf 8c 54 40 00 ?? mov edi, 0x0040548c
  
  L5: 53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   ff 15 8c 61 40 00 ?? call dword ds:[0x0040618c]
  
  L6: 3b c3 ?? cmp eax, ebx
   74 19 ?? je basic block L11
  
  L7: 3b c6 ?? cmp eax, esi
   75 08 ?? jne basic block L9
  
  L8: 33 f6 ?? xor esi, esi
   46 ?? inc esi
   89 75 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], esi
   eb 10 ?? jmp basic block L12
  
  L9: 68 e8 03 00 00 ?? push 0x000003e8<1000>
   ff 15 90 61 40 00 ?? call dword ds:[0x00406190]
  
  L10: eb da ?? jmp basic block L5
  
  L11: 33 f6 ?? xor esi, esi
   46 ?? inc esi
  
  L12: a1 7c 54 40 00 ?? mov eax, dword ds:[0x0040547c]
   3b c6 ?? cmp eax, esi
   75 0a ?? jne basic block L15
  
  L13: 6a 1f ?? push 0x1f<31>
   e8 76 02 00 00 ?? call function 0x004014b4
  
  L14: 59 ?? pop ecx
   eb 3b ?? jmp basic block L20
  
  L15: a1 7c 54 40 00 ?? mov eax, dword ds:[0x0040547c]
   85 c0 ?? test eax, eax
   75 2c ?? jne basic block L19
  
  L16: 89 35 7c 54 40 00 ?? mov dword ds:[0x0040547c], esi
   68 18 36 40 00 ?? push 0x00403618
   68 0c 33 40 00 ?? push 0x0040330c
   e8 d3 04 00 00 ?? call function 0x00401732
  
  L17: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 17 ?? je basic block L20
  
  L18: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   b8 ff 00 00 00 ?? mov eax, 0x000000ff<255>
   e9 dd 00 00 00 ?? jmp basic block L39
  
  L19: 89 35 44 51 40 00 ?? mov dword ds:[0x00405144], esi
  
  L20: a1 7c 54 40 00 ?? mov eax, dword ds:[0x0040547c]
   3b c6 ?? cmp eax, esi
   75 1b ?? jne basic block L23
  
  L21: 68 08 32 40 00 ?? push 0x00403208
   68 00 30 40 00 ?? push 0x00403000
   e8 98 04 00 00 ?? call function 0x0040172c
  
  L22: 59 ?? pop ecx
   59 ?? pop ecx
   c7 05 7c 54 40 00 02 00 ?? mov dword ds:[0x0040547c], 2
   00 00
  
  L23: 39 5d e4 ?? cmp dword ss:[ebp + 0xe4<228,-28>], ebx
   75 08 ?? jne basic block L25
  
  L24: 53 ?? push ebx
   57 ?? push edi
   ff 15 94 61 40 00 ?? call dword ds:[0x00406194]
  
  L25: 39 1d a8 54 40 00 ?? cmp dword ds:[0x004054a8], ebx
   74 19 ?? je basic block L29
  
  L26: 68 a8 54 40 00 ?? push 0x004054a8
   e8 b1 03 00 00 ?? call function 0x00401670
  
  L27: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 0a ?? je basic block L29
  
  L28: 53 ?? push ebx
   6a 02 ?? push 2
   53 ?? push ebx
   ff 15 a8 54 40 00 ?? call dword ds:[0x004054a8]
  
  L29: a1 2c 51 40 00 ?? mov eax, dword ds:[0x0040512c]
   8b 0d 10 62 40 00 ?? mov ecx, dword ds:[0x00406210]
   89 01 ?? mov dword ds:[ecx], eax
   ff 35 2c 51 40 00 ?? push dword ds:[0x0040512c]
   ff 35 30 51 40 00 ?? push dword ds:[0x00405130]
   ff 35 28 51 40 00 ?? push dword ds:[0x00405128]
   e8 22 fd ff ff ?? call function 0x00401014
  
  L30: 83 c4 0c ?? add esp, 12
   a3 40 51 40 00 ?? mov dword ds:[0x00405140], eax
   39 1d 34 51 40 00 ?? cmp dword ds:[0x00405134], ebx
   75 37 ?? jne basic block L36
  
  L31: 50 ?? push eax
   ff 15 14 62 40 00 ?? call dword ds:[0x00406214]
  
  L32: 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   8b 08 ?? mov ecx, dword ds:[eax]
   8b 09 ?? mov ecx, dword ds:[ecx]
   89 4d e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], ecx
   50 ?? push eax
   51 ?? push ecx
   e8 b6 02 00 00 ?? call function 0x004015d0
  
  L33: 59 ?? pop ecx
   59 ?? pop ecx
   c3 ?? ret
  
  L34: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   8b 45 e0 ?? mov eax, dword ss:[ebp + 0xe0<224,-32>]
   a3 40 51 40 00 ?? mov dword ds:[0x00405140], eax
   33 db ?? xor ebx, ebx
   39 1d 34 51 40 00 ?? cmp dword ds:[0x00405134], ebx
   75 07 ?? jne basic block L36
  
  L35: 50 ?? push eax
   ff 15 1c 62 40 00 ?? call dword ds:[0x0040621c]
  
  L36: 39 1d 44 51 40 00 ?? cmp dword ds:[0x00405144], ebx
   75 06 ?? jne basic block L38
  
  L37: ff 15 20 62 40 00 ?? call dword ds:[0x00406220]
  
  L38: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   a1 40 51 40 00 ?? mov eax, dword ds:[0x00405140]
  
  L39: e8 2d 04 00 00 ?? call function 0x00401785
  
  L40: c3 ?? ret
  
  