Disassembly: 
  L1: 6a 14 ?? push 0x14<20>
   68 a8 36 40 00 ?? push 0x004036a8
   e8 ed 0d 00 00 ?? call function 0x00402080
  
  L2: 6a 01 ?? push 1
   e8 41 08 00 00 ?? call function 0x00401adb
  
  L3: 59 ?? pop ecx
   84 c0 ?? test al, al
   75 07 ?? jne basic block L5
  
  L4: 6a 07 ?? push 7
   e8 86 0b 00 00 ?? call function 0x00401e2c
  
  L5: 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 2a 07 00 00 ?? call function 0x004019de
  
  L6: 88 45 dc ?? mov byte ss:[ebp + 0xdc<220,-36>], al
   a1 ac 43 40 00 ?? mov eax, dword ds:[0x004043ac]
   33 c9 ?? xor ecx, ecx
   41 ?? inc ecx
   3b c1 ?? cmp eax, ecx
   74 dc ?? je basic block L4
  
  L7: 85 c0 ?? test eax, eax
   75 49 ?? jne basic block L13
  
  L8: 89 0d ac 43 40 00 ?? mov dword ds:[0x004043ac], ecx
   68 fc 30 40 00 ?? push 0x004030fc
   68 f0 30 40 00 ?? push 0x004030f0
   e8 60 10 00 00 ?? call function 0x0040233c
  
  L9: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 11 ?? je basic block L11
  
  L10: 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 fd 00 00 00 ?? jmp basic block L46
  
  L11: 68 ec 30 40 00 ?? push 0x004030ec
   68 e4 30 40 00 ?? push 0x004030e4
   e8 34 10 00 00 ?? call function 0x00402336
  
  L12: 59 ?? pop ecx
   59 ?? pop ecx
   c7 05 ac 43 40 00 02 00 ?? mov dword ds:[0x004043ac], 2
   00 00
   eb 05 ?? jmp basic block L14
  
  L13: 8a d9 ?? mov bl, cl
   88 5d e7 ?? mov byte ss:[ebp + 0xe7<231,-25>], bl
  
  L14: ff 75 dc ?? push dword ss:[ebp + 0xdc<220,-36>]
   e8 18 09 00 00 ?? call function 0x00401c35
  
  L15: 59 ?? pop ecx
   e8 fd 0a 00 00 ?? call function 0x00401e20
  
  L16: 8b f0 ?? mov esi, eax
   33 ff ?? xor edi, edi
   39 3e ?? cmp dword ds:[esi], edi
   74 1a ?? je basic block L21
  
  L17: 56 ?? push esi
   e8 7a 08 00 00 ?? call function 0x00401bab
  
  L18: 59 ?? pop ecx
   84 c0 ?? test al, al
   74 0f ?? je basic block L21
  
  L19: 57 ?? push edi
   6a 02 ?? push 2
   57 ?? push edi
   8b 36 ?? mov esi, dword ds:[esi]
   8b ce ?? mov ecx, esi
   e8 29 0d 00 00 ?? call function 0x0040206c
  
  L20: ff d6 ?? call esi
  
  L21: e8 dc 0a 00 00 ?? call function 0x00401e26
  
  L22: 8b f0 ?? mov esi, eax
   39 3e ?? cmp dword ds:[esi], edi
   74 13 ?? je basic block L27
  
  L23: 56 ?? push esi
   e8 55 08 00 00 ?? call function 0x00401bab
  
  L24: 59 ?? pop ecx
   84 c0 ?? test al, al
   74 08 ?? je basic block L27
  
  L25: ff 36 ?? push dword ds:[esi]
   e8 0a 10 00 00 ?? call function 0x0040236c
  
  L26: 59 ?? pop ecx
  
  L27: e8 f2 0f 00 00 ?? call function 0x0040235a
  
  L28: 8b f8 ?? mov edi, eax
   e8 e5 0f 00 00 ?? call function 0x00402354
  
  L29: 8b f0 ?? mov esi, eax
   e8 ba 0f 00 00 ?? call function 0x00402330
  
  L30: 50 ?? push eax
   ff 37 ?? push dword ds:[edi]
   ff 36 ?? push dword ds:[esi]
   e8 30 fd ff ff ?? call function 0x004010b0
  
  L31: 83 c4 0c ?? add esp, 12
   8b f0 ?? mov esi, eax
   e8 f3 0b 00 00 ?? call function 0x00401f7d
  
  L32: 84 c0 ?? test al, al
   75 06 ?? jne basic block L34
  
  L33: 56 ?? push esi
   e8 ae 0f 00 00 ?? call function 0x00402342
  
  L34: 84 db ?? test bl, bl
   75 05 ?? jne basic block L36
  
  L35: e8 c3 0f 00 00 ?? call function 0x00402360
  
  L36: 6a 00 ?? push 0
   6a 01 ?? push 1
   e8 ac 08 00 00 ?? call function 0x00401c52
  
  L37: 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 3d ?? jmp basic block L46
  
  L38: 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 4e 0f 00 00 ?? call function 0x00402312
  
  L39: 59 ?? pop ecx
   59 ?? pop ecx
   c3 ?? ret
  
  L40: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   e8 ae 0b 00 00 ?? call function 0x00401f7d
  
  L41: 84 c0 ?? test al, al
   75 08 ?? jne basic block L43
  
  L42: ff 75 e0 ?? push dword ss:[ebp + 0xe0<224,-32>]
   e8 6d 0f 00 00 ?? call function 0x00402348
  
  L43: 80 7d e7 00 ?? cmp byte ss:[ebp + 0xe7<231,-25>], 0
   75 05 ?? jne basic block L45
  
  L44: e8 80 0f 00 00 ?? call function 0x00402366
  
  L45: 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>]
  
  L46: e8 d1 0c 00 00 ?? call function 0x004020c6
  
  L47: c3 ?? ret
  
  