Disassembly: 
  L1: 6a 14 ?? push 0x14<20>
   68 30 58 40 00 ?? push 0x00405830
   e8 b9 f9 ff ff ?? call function 0x00401172
  
  L2: 6a 01 ?? push 1
   e8 f3 f9 ff ff ?? call function 0x004011b3
  
  L3: 59 ?? pop ecx
   84 c0 ?? test al, al
   75 07 ?? jne basic block L5
  
  L4: 6a 07 ?? push 7
   e8 7f f8 ff ff ?? call function 0x0040104b
  
  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 38 fa ff ff ?? call function 0x00401212
  
  L6: 88 45 dc ?? mov byte ss:[ebp + 0xdc<220,-36>], al
   a1 10 63 40 00 ?? mov eax, dword ds:[0x00406310]
   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 10 63 40 00 ?? mov dword ds:[0x00406310], ecx
   68 18 46 40 00 ?? push 0x00404618
   68 0c 43 40 00 ?? push 0x0040430c
   e8 34 14 00 00 ?? call function 0x00402c36
  
  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 08 42 40 00 ?? push 0x00404208
   68 00 40 40 00 ?? push 0x00404000
   e8 08 14 00 00 ?? call function 0x00402c30
  
  L12: 59 ?? pop ecx
   59 ?? pop ecx
   c7 05 10 63 40 00 02 00 ?? mov dword ds:[0x00406310], 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 ca f9 ff ff ?? call function 0x0040120d
  
  L15: 59 ?? pop ecx
   e8 65 f9 ff ff ?? call function 0x004011ae
  
  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 de f9 ff ff ?? call function 0x00401235
  
  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 7c f9 ff ff ?? call function 0x004011e5
  
  L20: ff d6 ?? call esi
  
  L21: e8 30 f8 ff ff ?? call function 0x004010a0
  
  L22: 8b f0 ?? mov esi, eax
   39 3e ?? cmp dword ds:[esi], edi
   74 13 ?? je basic block L27
  
  L23: 56 ?? push esi
   e8 b9 f9 ff ff ?? call function 0x00401235
  
  L24: 59 ?? pop ecx
   84 c0 ?? test al, al
   74 08 ?? je basic block L27
  
  L25: ff 36 ?? push dword ds:[esi]
   e8 de 13 00 00 ?? call function 0x00402c66
  
  L26: 59 ?? pop ecx
  
  L27: e8 c6 13 00 00 ?? call function 0x00402c54
  
  L28: 8b f8 ?? mov edi, eax
   e8 b9 13 00 00 ?? call function 0x00402c4e
  
  L29: 8b f0 ?? mov esi, eax
   e8 8e 13 00 00 ?? call function 0x00402c2a
  
  L30: 50 ?? push eax
   ff 37 ?? push dword ds:[edi]
   ff 36 ?? push dword ds:[esi]
   e8 21 f9 ff ff ?? call function 0x004011c7
  
  L31: 83 c4 0c ?? add esp, 12
   8b f0 ?? mov esi, eax
   e8 18 f8 ff ff ?? call function 0x004010c8
  
  L32: 84 c0 ?? test al, al
   75 06 ?? jne basic block L34
  
  L33: 56 ?? push esi
   e8 82 13 00 00 ?? call function 0x00402c3c
  
  L34: 84 db ?? test bl, bl
   75 05 ?? jne basic block L36
  
  L35: e8 97 13 00 00 ?? call function 0x00402c5a
  
  L36: 6a 00 ?? push 0
   6a 01 ?? push 1
   e8 24 f8 ff ff ?? call function 0x004010f0
  
  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 22 13 00 00 ?? call function 0x00402c0c
  
  L39: 59 ?? pop ecx
   59 ?? pop ecx
   c3 ?? ret
  
  L40: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   e8 d3 f7 ff ff ?? call function 0x004010c8
  
  L41: 84 c0 ?? test al, al
   75 08 ?? jne basic block L43
  
  L42: ff 75 e0 ?? push dword ss:[ebp + 0xe0<224,-32>]
   e8 41 13 00 00 ?? call function 0x00402c42
  
  L43: 80 7d e7 00 ?? cmp byte ss:[ebp + 0xe7<231,-25>], 0
   75 05 ?? jne basic block L45
  
  L44: e8 54 13 00 00 ?? call function 0x00402c60
  
  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 43 f8 ff ff ?? call function 0x0040115e
  
  L47: c3 ?? ret
  
  