Disassembly: 
  L1: 6a 10 ?? push 0x10<16>
   68 88 41 40 00 ?? push 0x00404188
   e8 3a 06 00 00 ?? call function 0x00401910
  
  L2: 33 db ?? xor ebx, ebx
   39 1d fc 54 40 00 ?? cmp dword ds:[0x004054fc], ebx
   75 0b ?? jne basic block L4
  
  L3: 53 ?? push ebx
   53 ?? push ebx
   6a 01 ?? push 1
   53 ?? push ebx
   ff 15 90 61 40 00 ?? call dword ds:[0x00406190]
  
  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 e4 54 40 00 ?? mov edi, 0x004054e4
  
  L5: 53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   ff 15 94 61 40 00 ?? call dword ds:[0x00406194<"pd@">]
  
  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 98 61 40 00 ?? call dword ds:[0x00406198<"hd@">]
  
  L10: eb da ?? jmp basic block L5
  
  L11: 33 f6 ?? xor esi, esi
   46 ?? inc esi
  
  L12: a1 d4 54 40 00 ?? mov eax, dword ds:[0x004054d4]
   3b c6 ?? cmp eax, esi
   75 0a ?? jne basic block L15
  
  L13: 6a 1f ?? push 0x1f<31>
   e8 4a 03 00 00 ?? call function 0x00401682
  
  L14: 59 ?? pop ecx
   eb 3b ?? jmp basic block L20
  
  L15: a1 d4 54 40 00 ?? mov eax, dword ds:[0x004054d4]
   85 c0 ?? test eax, eax
   75 2c ?? jne basic block L19
  
  L16: 89 35 d4 54 40 00 ?? mov dword ds:[0x004054d4], esi
   68 18 36 40 00 ?? push 0x00403618
   68 0c 33 40 00 ?? push 0x0040330c
   e8 a9 05 00 00 ?? call function 0x00401902
  
  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 9c 51 40 00 ?? mov dword ds:[0x0040519c], esi
  
  L20: a1 d4 54 40 00 ?? mov eax, dword ds:[0x004054d4]
   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 6e 05 00 00 ?? call function 0x004018fc
  
  L22: 59 ?? pop ecx
   59 ?? pop ecx
   c7 05 d4 54 40 00 02 00 ?? mov dword ds:[0x004054d4], 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 9c 61 40 00 ?? call dword ds:[0x0040619c<"Rd@">]
  
  L25: 39 1d 00 55 40 00 ?? cmp dword ds:[0x00405500], ebx
   74 19 ?? je basic block L29
  
  L26: 68 00 55 40 00 ?? push 0x00405500
   e8 87 04 00 00 ?? call function 0x00401840
  
  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 00 55 40 00 ?? call dword ds:[0x00405500]
  
  L29: a1 84 51 40 00 ?? mov eax, dword ds:[0x00405184]
   8b 0d 1c 62 40 00 ?? mov ecx, dword ds:[0x0040621c]
   89 01 ?? mov dword ds:[ecx], eax
   ff 35 84 51 40 00 ?? push dword ds:[0x00405184]
   ff 35 88 51 40 00 ?? push dword ds:[0x00405188]
   ff 35 80 51 40 00 ?? push dword ds:[0x00405180]
   e8 37 fc ff ff ?? call function 0x00401023
  
  L30: 83 c4 0c ?? add esp, 12
   a3 98 51 40 00 ?? mov dword ds:[0x00405198], eax
   39 1d 8c 51 40 00 ?? cmp dword ds:[0x0040518c], ebx
   75 37 ?? jne basic block L36
  
  L31: 50 ?? push eax
   ff 15 20 62 40 00 ?? call dword ds:[0x00406220<"\fc@">]
  
  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 8a 03 00 00 ?? call function 0x0040179e
  
  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 98 51 40 00 ?? mov dword ds:[0x00405198], eax
   33 db ?? xor ebx, ebx
   39 1d 8c 51 40 00 ?? cmp dword ds:[0x0040518c], ebx
   75 07 ?? jne basic block L36
  
  L35: 50 ?? push eax
   ff 15 28 62 40 00 ?? call dword ds:[0x00406228]
  
  L36: 39 1d 9c 51 40 00 ?? cmp dword ds:[0x0040519c], ebx
   75 06 ?? jne basic block L38
  
  L37: ff 15 2c 62 40 00 ?? call dword ds:[0x0040622c]
  
  L38: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   a1 98 51 40 00 ?? mov eax, dword ds:[0x00405198]
  
  L39: e8 03 05 00 00 ?? call function 0x00401955
  
  L40: c3 ?? ret
  
  