Disassembly: 
  L1: 6a 14 ?? push 0x14<20>
   68 38 39 40 00 ?? push 0x00403938
   e8 01 0c 00 00 ?? call function 0x00401ea0
  
  L2: 6a 01 ?? push 1
   e8 6f 06 00 00 ?? call function 0x00401915
  
  L3: 59 ?? pop ecx
   84 c0 ?? test al, al
   0f 84 50 01 00 00 ?? je basic block L44
  
  L4: 32 db ?? xor bl, bl
   88 5d e7 ?? mov byte ss:[ebp + 0xe7<231,-25>], bl
   83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   e8 5d 05 00 00 ?? call function 0x0040181a
  
  L5: 88 45 dc ?? mov byte ss:[ebp + 0xdc<220,-36>], al
   a1 dc 43 40 00 ?? mov eax, dword ds:[0x004043dc]
   33 c9 ?? xor ecx, ecx
   41 ?? inc ecx
   3b c1 ?? cmp eax, ecx
   0f 84 2f 01 00 00 ?? je basic block L44
  
  L6: 85 c0 ?? test eax, eax
   75 49 ?? jne basic block L12
  
  L7: 89 0d dc 43 40 00 ?? mov dword ds:[0x004043dc], ecx
   68 f8 30 40 00 ?? push 0x004030f8
   68 ec 30 40 00 ?? push 0x004030ec
   e8 ac 10 00 00 ?? call function 0x00402395
  
  L8: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 11 ?? je basic block L10
  
  L9: 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 ef 00 00 00 ?? jmp basic block L43
  
  L10: 68 e8 30 40 00 ?? push 0x004030e8
   68 e0 30 40 00 ?? push 0x004030e0
   e8 80 10 00 00 ?? call function 0x0040238f
  
  L11: 59 ?? pop ecx
   59 ?? pop ecx
   c7 05 dc 43 40 00 02 00 ?? mov dword ds:[0x004043dc], 2
   00 00
   eb 05 ?? jmp basic block L13
  
  L12: 8a d9 ?? mov bl, cl
   88 5d e7 ?? mov byte ss:[ebp + 0xe7<231,-25>], bl
  
  L13: ff 75 dc ?? push dword ss:[ebp + 0xdc<220,-36>]
   e8 3f 07 00 00 ?? call function 0x00401a69
  
  L14: 59 ?? pop ecx
   e8 08 09 00 00 ?? call function 0x00401c38
  
  L15: 8b f0 ?? mov esi, eax
   33 ff ?? xor edi, edi
   39 3e ?? cmp dword ds:[esi], edi
   74 1b ?? je basic block L20
  
  L16: 56 ?? push esi
   e8 97 06 00 00 ?? call function 0x004019d5
  
  L17: 59 ?? pop ecx
   84 c0 ?? test al, al
   74 10 ?? je basic block L20
  
  L18: 8b 36 ?? mov esi, dword ds:[esi]
   57 ?? push edi
   6a 02 ?? push 2
   57 ?? push edi
   8b ce ?? mov ecx, esi
   ff 15 d4 30 40 00 ?? call dword ds:[0x004030d4]
  
  L19: ff d6 ?? call esi
  
  L20: e8 e6 08 00 00 ?? call function 0x00401c3e
  
  L21: 8b f0 ?? mov esi, eax
   39 3e ?? cmp dword ds:[esi], edi
   74 13 ?? je basic block L26
  
  L22: 56 ?? push esi
   e8 71 06 00 00 ?? call function 0x004019d5
  
  L23: 59 ?? pop ecx
   84 c0 ?? test al, al
   74 08 ?? je basic block L26
  
  L24: ff 36 ?? push dword ds:[esi]
   e8 55 10 00 00 ?? call function 0x004023c5
  
  L25: 59 ?? pop ecx
  
  L26: e8 13 10 00 00 ?? call function 0x00402389
  
  L27: 8b f8 ?? mov edi, eax
   e8 36 10 00 00 ?? call function 0x004023b3
  
  L28: 8b 30 ?? mov esi, dword ds:[eax]
   e8 29 10 00 00 ?? call function 0x004023ad
  
  L29: 57 ?? push edi
   56 ?? push esi
   ff 30 ?? push dword ds:[eax]
   e8 f3 fd ff ff ?? call function 0x00401180
  
  L30: 83 c4 0c ?? add esp, 12
   8b f0 ?? mov esi, eax
   e8 01 0a 00 00 ?? call function 0x00401d98
  
  L31: 84 c0 ?? test al, al
   74 6b ?? je basic block L45
  
  L32: 84 db ?? test bl, bl
   75 05 ?? jne basic block L34
  
  L33: e8 15 10 00 00 ?? call function 0x004023b9
  
  L34: 6a 00 ?? push 0
   6a 01 ?? push 1
   e8 d9 06 00 00 ?? call function 0x00401a86
  
  L35: 59 ?? pop ecx
   59 ?? pop ecx
   c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b c6 ?? mov eax, esi
   eb 35 ?? jmp basic block L43
  
  L36: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8b 01 ?? mov eax, dword ds:[ecx]
   8b 00 ?? mov eax, dword ds:[eax]
   89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   51 ?? push ecx
   50 ?? push eax
   e8 a0 0f 00 00 ?? call function 0x0040236b
  
  L37: 59 ?? pop ecx
   59 ?? pop ecx
   c3 ?? ret
  
  L38: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   e8 c2 09 00 00 ?? call function 0x00401d98
  
  L39: 84 c0 ?? test al, al
   74 32 ?? je basic block L46
  
  L40: 80 7d e7 00 ?? cmp byte ss:[ebp + 0xe7<231,-25>], 0
   75 05 ?? jne basic block L42
  
  L41: e8 da 0f 00 00 ?? call function 0x004023bf
  
  L42: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 e0 ?? mov eax, dword ss:[ebp + 0xe0<224,-32>]
  
  L43: 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  L44: 6a 07 ?? push 7
   e8 3e 08 00 00 ?? call function 0x00401c44
  
  L45: 56 ?? push esi
   e8 8f 0f 00 00 ?? call function 0x0040239b
  
  L46: ff 75 e0 ?? push dword ss:[ebp + 0xe0<224,-32>]
   e8 8d 0f 00 00 ?? call function 0x004023a1
  
  L47: cc ?? int3
  
  L48: e8 94 07 00 00 ?? call function 0x00401bae
  
  L49: 50 ?? push eax
   e8 5d 0f 00 00 ?? call function 0x0040237d
  
  L50: 59 ?? pop ecx
   c3 ?? ret
  
  