Disassembly: 
  L1: 6a ff ?? push 0xff<255,-1>
   68 dc 33 40 00 ?? push 0x004033dc
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 20 ?? sub esp, 0x20<32>
   53 ?? push ebx
   55 ?? push ebp
   56 ?? push esi
   57 ?? push edi
   a1 1c 70 40 00 ?? mov eax, dword ds:[0x0040701c]
   33 c4 ?? xor eax, esp
   50 ?? push eax
   8d 44 24 34 ?? lea eax, ss:[esp + 0x34<52>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   6a 24 ?? push 0x24<36>
   e8 a6 04 00 00 ?? call function 0x00401654
  
  L2: 8b e8 ?? mov ebp, eax
   83 c4 04 ?? add esp, 4
   89 6c 24 24 ?? mov dword ss:[esp + 0x24<36>], ebp
   33 db ?? xor ebx, ebx
   89 5c 24 3c ?? mov dword ss:[esp + 0x3c<60>], ebx
   3b eb ?? cmp ebp, ebx
   74 0b ?? je basic block L5
  
  L3: 8d 4d 08 ?? lea ecx, ss:[ebp + 8]
   ff 15 14 82 40 00 ?? call dword ds:[function 0x00408214]
  
  L4: eb 02 ?? jmp basic block L6
  
  L5: 33 ed ?? xor ebp, ebp
  
  L6: 83 ce ff ?? or esi, 0xff<255,-1>
   68 ec 05 00 00 ?? push 0x000005ec<1516>
   89 74 24 40 ?? mov dword ss:[esp + 0x40<64>], esi
   89 6c 24 2c ?? mov dword ss:[esp + 0x2c<44>], ebp
   e8 c8 02 00 00 ?? call function 0x004014ab
  
  L7: 83 c4 04 ?? add esp, 4
   89 44 24 24 ?? mov dword ss:[esp + 0x24<36>], eax
   c7 44 24 3c 01 00 00 00 ?? mov dword ss:[esp + 0x3c<60>], 1
   3b c3 ?? cmp eax, ebx
   74 1f ?? je basic block L10
  
  L8: 68 2d 10 40 00 ?? push 0x0040102d
   68 0a 10 40 00 ?? push 0x0040100a
   6a 2a ?? push 0x2a<42>
   8d 78 04 ?? lea edi, ds:[eax + 4]
   6a 24 ?? push 0x24<36>
   57 ?? push edi
   c7 00 2a 00 00 00 ?? mov dword ds:[eax], 0x0000002a<42>
   e8 dc 03 00 00 ?? call function 0x004015ef
  
  L9: eb 02 ?? jmp basic block L11
  
  L10: 33 ff ?? xor edi, edi
  
  L11: 6a 18 ?? push 0x18<24>
   89 74 24 40 ?? mov dword ss:[esp + 0x40<64>], esi
   89 7c 24 30 ?? mov dword ss:[esp + 0x30<48>], edi
   e8 2e 04 00 00 ?? call function 0x00401654
  
  L12: 68 f0 00 00 00 ?? push 0x000000f0<240>
   89 44 24 28 ?? mov dword ss:[esp + 0x28<40>], eax
   e8 77 02 00 00 ?? call function 0x004014ab
  
  L13: 68 40 71 40 00 ?? push 0x00407140
   6a 24 ?? push 0x24<36>
   89 44 24 34 ?? mov dword ss:[esp + 0x34<52>], eax
   e8 7c 03 00 00 ?? call function 0x004015c0
  
  L14: 8b f0 ?? mov esi, eax
   83 c4 10 ?? add esp, 0x10<16>
   89 74 24 1c ?? mov dword ss:[esp + 0x1c<28>], esi
   c7 44 24 3c 02 00 00 00 ?? mov dword ss:[esp + 0x3c<60>], 2
   3b f3 ?? cmp esi, ebx
   74 0f ?? je basic block L17
  
  L15: 8d 4e 08 ?? lea ecx, ds:[esi + 8]
   ff 15 14 82 40 00 ?? call dword ds:[function 0x00408214]
  
  L16: 89 74 24 14 ?? mov dword ss:[esp + 0x14<20>], esi
   eb 06 ?? jmp basic block L18
  
  L17: 89 5c 24 14 ?? mov dword ss:[esp + 0x14<20>], ebx
   8b f3 ?? mov esi, ebx
  
  L18: 68 40 71 40 00 ?? push 0x00407140
   68 ec 05 00 00 ?? push 0x000005ec<1516>
   e8 38 03 00 00 ?? call function 0x004015b5
  
  L19: 83 c4 08 ?? add esp, 8
   89 44 24 1c ?? mov dword ss:[esp + 0x1c<28>], eax
   c7 44 24 3c 03 00 00 00 ?? mov dword ss:[esp + 0x3c<60>], 3
   3b c3 ?? cmp eax, ebx
   74 1d ?? je basic block L21
  
  L20: 68 2d 10 40 00 ?? push 0x0040102d
   68 0a 10 40 00 ?? push 0x0040100a
   6a 2a ?? push 0x2a<42>
   8d 58 04 ?? lea ebx, ds:[eax + 4]
   6a 24 ?? push 0x24<36>
   53 ?? push ebx
   c7 00 2a 00 00 00 ?? mov dword ds:[eax], 0x0000002a<42>
   e8 42 03 00 00 ?? call function 0x004015ef
  
  L21: 68 40 71 40 00 ?? push 0x00407140
   6a 18 ?? push 0x18<24>
   e8 07 03 00 00 ?? call function 0x004015c0
  
  L22: 68 40 71 40 00 ?? push 0x00407140
   68 f0 00 00 00 ?? push 0x000000f0<240>
   89 44 24 28 ?? mov dword ss:[esp + 0x28<40>], eax
   e8 e9 02 00 00 ?? call function 0x004015b5
  
  L23: 83 c4 10 ?? add esp, 0x10<16>
   89 44 24 1c ?? mov dword ss:[esp + 0x1c<28>], eax
   89 6c 24 30 ?? mov dword ss:[esp + 0x30<48>], ebp
   c7 44 24 3c 04 00 00 00 ?? mov dword ss:[esp + 0x3c<60>], 4
   85 ed ?? test ebp, ebp
   74 0b ?? je basic block L26
  
  L24: 8d 4d 08 ?? lea ecx, ss:[ebp + 8]
   ff 15 14 82 40 00 ?? call dword ds:[function 0x00408214]
  
  L25: eb 02 ?? jmp basic block L27
  
  L26: 33 ed ?? xor ebp, ebp
  
  L27: 89 7c 24 30 ?? mov dword ss:[esp + 0x30<48>], edi
   c7 44 24 3c 05 00 00 00 ?? mov dword ss:[esp + 0x3c<60>], 5
   85 ff ?? test edi, edi
   74 1f ?? je basic block L30
  
  L28: 68 2d 10 40 00 ?? push 0x0040102d
   68 0a 10 40 00 ?? push 0x0040100a
   6a 2a ?? push 0x2a<42>
   c7 07 2a 00 00 00 ?? mov dword ds:[edi], 0x0000002a<42>
   83 c7 04 ?? add edi, 4
   6a 24 ?? push 0x24<36>
   57 ?? push edi
   e8 d2 02 00 00 ?? call function 0x004015ef
  
  L29: eb 02 ?? jmp basic block L31
  
  L30: 33 ff ?? xor edi, edi
  
  L31: c7 44 24 3c ff ff ff ff ?? mov dword ss:[esp + 0x3c<60>], 0xffffffff<4294967295,-1>
   85 ed ?? test ebp, ebp
   74 12 ?? je basic block L35
  
  L32: 8d 4d 08 ?? lea ecx, ss:[ebp + 8]
   ff 15 10 82 40 00 ?? call dword ds:[function 0x00408210]
  
  L33: 55 ?? push ebp
   e8 7a 01 00 00 ?? call function 0x004014b6
  
  L34: 83 c4 04 ?? add esp, 4
  
  L35: 85 ff ?? test edi, edi
   74 21 ?? je basic block L39
  
  L36: 8b 47 fc ?? mov eax, dword ds:[edi + 0xfc<252,-4>]
   68 2d 10 40 00 ?? push 0x0040102d
   8d 77 fc ?? lea esi, ds:[edi + 0xfc<252,-4>]
   50 ?? push eax
   6a 24 ?? push 0x24<36>
   57 ?? push edi
   e8 db 01 00 00 ?? call function 0x00401532
  
  L37: 56 ?? push esi
   e8 5f 01 00 00 ?? call function 0x004014bc
  
  L38: 8b 74 24 18 ?? mov esi, dword ss:[esp + 0x18<24>]
   83 c4 04 ?? add esp, 4
  
  L39: 85 f6 ?? test esi, esi
   74 12 ?? je basic block L43
  
  L40: 8d 4e 08 ?? lea ecx, ds:[esi + 8]
   ff 15 10 82 40 00 ?? call dword ds:[function 0x00408210]
  
  L41: 56 ?? push esi
   e8 3f 01 00 00 ?? call function 0x004014b6
  
  L42: 83 c4 04 ?? add esp, 4
  
  L43: 85 db ?? test ebx, ebx
   74 1d ?? je basic block L47
  
  L44: 8b 4b fc ?? mov ecx, dword ds:[ebx + 0xfc<252,-4>]
   68 2d 10 40 00 ?? push 0x0040102d
   8d 73 fc ?? lea esi, ds:[ebx + 0xfc<252,-4>]
   51 ?? push ecx
   6a 24 ?? push 0x24<36>
   53 ?? push ebx
   e8 a0 01 00 00 ?? call function 0x00401532
  
  L45: 56 ?? push esi
   e8 24 01 00 00 ?? call function 0x004014bc
  
  L46: 83 c4 04 ?? add esp, 4
  
  L47: 8b 44 24 18 ?? mov eax, dword ss:[esp + 0x18<24>]
   85 c0 ?? test eax, eax
   74 09 ?? je basic block L50
  
  L48: 50 ?? push eax
   e8 0d 01 00 00 ?? call function 0x004014b6
  
  L49: 83 c4 04 ?? add esp, 4
  
  L50: 8b 44 24 1c ?? mov eax, dword ss:[esp + 0x1c<28>]
   85 c0 ?? test eax, eax
   74 09 ?? je basic block L53
  
  L51: 50 ?? push eax
   e8 02 01 00 00 ?? call function 0x004014bc
  
  L52: 83 c4 04 ?? add esp, 4
  
  L53: 8b 54 24 20 ?? mov edx, dword ss:[esp + 0x20<32>]
   52 ?? push edx
   e8 ef 00 00 00 ?? call function 0x004014b6
  
  L54: 8b 44 24 28 ?? mov eax, dword ss:[esp + 0x28<40>]
   50 ?? push eax
   e8 eb 00 00 00 ?? call function 0x004014bc
  
  L55: 83 c4 08 ?? add esp, 8
   8b 4c 24 34 ?? mov ecx, dword ss:[esp + 0x34<52>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5f ?? pop edi
   5e ?? pop esi
   5d ?? pop ebp
   5b ?? pop ebx
   83 c4 2c ?? add esp, 0x2c<44>
   c3 ?? ret
  
  