Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 34 ?? sub esp, 0x34<52>
   a1 88 80 42 00 ?? mov eax, dword ds:[0x00428088]
   33 c5 ?? xor eax, ebp
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
   8b 4d 18 ?? mov ecx, dword ss:[ebp + 0x18<24>]
   89 45 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], eax
   8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
   53 ?? push ebx
   89 45 d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], eax
   8b 00 ?? mov eax, dword ds:[eax]
   56 ?? push esi
   89 45 dc ?? mov dword ss:[ebp + 0xdc<220,-36>], eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   57 ?? push edi
   33 ff ?? xor edi, edi
   89 4d cc ?? mov dword ss:[ebp + 0xcc<204,-52>], ecx
   89 7d e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], edi
   89 7d d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], edi
   3b 45 0c ?? cmp eax, dword ss:[ebp + 12]
   0f 84 5f 01 00 00 ?? je basic block L48
  
  L2: 8b 35 6c a2 42 00 ?? mov esi, dword ds:[0x0042a26c]
   8d 4d e8 ?? lea ecx, ss:[ebp + 0xe8<232,-24>]
   51 ?? push ecx
   50 ?? push eax
   ff d6 ?? call esi
  
  L3: 8b 1d bc a2 42 00 ?? mov ebx, dword ds:[0x0042a2bc]
   85 c0 ?? test eax, eax
   74 5e ?? je basic block L18
  
  L4: 83 7d e8 01 ?? cmp dword ss:[ebp + 0xe8<232,-24>], 1
   75 58 ?? jne basic block L18
  
  L5: 8d 45 e8 ?? lea eax, ss:[ebp + 0xe8<232,-24>]
   50 ?? push eax
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff d6 ?? call esi
  
  L6: 85 c0 ?? test eax, eax
   74 4b ?? je basic block L18
  
  L7: 83 7d e8 01 ?? cmp dword ss:[ebp + 0xe8<232,-24>], 1
   75 45 ?? jne basic block L18
  
  L8: 8b 75 dc ?? mov esi, dword ss:[ebp + 0xdc<220,-36>]
   c7 45 d4 01 00 00 00 ?? mov dword ss:[ebp + 0xd4<212,-44>], 1
   83 fe ff ?? cmp esi, 0xff<255,-1>
   75 0c ?? jne basic block L11
  
  L9: ff 75 d8 ?? push dword ss:[ebp + 0xd8<216,-40>]
   e8 75 10 ff ff ?? call function 0x00408610
  
  L10: 8b f0 ?? mov esi, eax
   59 ?? pop ecx
   46 ?? inc esi
  
  L11: 3b f7 ?? cmp esi, edi
  
  L12: 7e 5b ?? jle basic block L26
  
  L13: 81 fe f0 ff ff 7f ?? cmp esi, 0x7ffffff0
   77 53 ?? ja basic block L26
  
  L14: 8d 44 36 08 ?? lea eax, ds:[esi + esi + 8]
   3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
   77 2f ?? ja basic block L21
  
  L15: e8 35 ed ff ff ?? call function 0x004162f0
  
  L16: 8b c4 ?? mov eax, esp
   3b c7 ?? cmp eax, edi
   74 38 ?? je basic block L25
  
  L17: c7 00 cc cc 00 00 ?? mov dword ds:[eax], 0x0000cccc<52428>
   eb 2d ?? jmp basic block L24
  
  L18: 57 ?? push edi
   57 ?? push edi
   ff 75 dc ?? push dword ss:[ebp + 0xdc<220,-36>]
   ff 75 d8 ?? push dword ss:[ebp + 0xd8<216,-40>]
   6a 01 ?? push 1
   ff 75 08 ?? push dword ss:[ebp + 8]
   ff d3 ?? call ebx
  
  L19: 8b f0 ?? mov esi, eax
   3b f7 ?? cmp esi, edi
   75 c3 ?? jne basic block L12
  
  L20: 33 c0 ?? xor eax, eax
   e9 d1 00 00 00 ?? jmp basic block L49
  
  L21: 50 ?? push eax
   e8 06 b2 fe ff ?? call function 0x004027f1
  
  L22: 59 ?? pop ecx
   3b c7 ?? cmp eax, edi
   74 09 ?? je basic block L25
  
  L23: c7 00 dd dd 00 00 ?? mov dword ds:[eax], 0x0000dddd<56797>
  
  L24: 83 c0 08 ?? add eax, 8
  
  L25: 89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   eb 03 ?? jmp basic block L27
  
  L26: 89 7d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], edi
  
  L27: 39 7d e4 ?? cmp dword ss:[ebp + 0xe4<228,-28>], edi
   74 d8 ?? je basic block L20
  
  L28: 8d 04 36 ?? lea eax, ds:[esi + esi]
   50 ?? push eax
   57 ?? push edi
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   e8 9d 6d ff ff ?? call function 0x0040e3b0
  
  L29: 83 c4 0c ?? add esp, 12
   56 ?? push esi
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   ff 75 dc ?? push dword ss:[ebp + 0xdc<220,-36>]
   ff 75 d8 ?? push dword ss:[ebp + 0xd8<216,-40>]
   6a 01 ?? push 1
   ff 75 08 ?? push dword ss:[ebp + 8]
   ff d3 ?? call ebx
  
  L30: 85 c0 ?? test eax, eax
   74 7f ?? je basic block L46
  
  L31: 8b 5d cc ?? mov ebx, dword ss:[ebp + 0xcc<204,-52>]
   3b df ?? cmp ebx, edi
   74 1d ?? je basic block L35
  
  L32: 57 ?? push edi
   57 ?? push edi
   ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   53 ?? push ebx
   56 ?? push esi
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   57 ?? push edi
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff 15 2c a2 42 00 ?? call dword ds:[0x0042a22c]
  
  L33: 85 c0 ?? test eax, eax
   74 60 ?? je basic block L46
  
  L34: 89 5d e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], ebx
   eb 5b ?? jmp basic block L46
  
  L35: 8b 1d 2c a2 42 00 ?? mov ebx, dword ds:[0x0042a22c]
   39 7d d4 ?? cmp dword ss:[ebp + 0xd4<212,-44>], edi
   75 14 ?? jne basic block L38
  
  L36: 57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   57 ?? push edi
   56 ?? push esi
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   57 ?? push edi
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff d3 ?? call ebx
  
  L37: 8b f0 ?? mov esi, eax
   3b f7 ?? cmp esi, edi
   74 3c ?? je basic block L46
  
  L38: 56 ?? push esi
   6a 01 ?? push 1
   e8 f5 fc fe ff ?? call function 0x0040736b
  
  L39: 59 ?? pop ecx
   59 ?? pop ecx
   89 45 e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], eax
   3b c7 ?? cmp eax, edi
   74 2b ?? je basic block L46
  
  L40: 57 ?? push edi
   57 ?? push edi
   56 ?? push esi
   50 ?? push eax
   56 ?? push esi
   ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   57 ?? push edi
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff d3 ?? call ebx
  
  L41: 3b c7 ?? cmp eax, edi
   75 0e ?? jne basic block L44
  
  L42: ff 75 e0 ?? push dword ss:[ebp + 0xe0<224,-32>]
   e8 00 ac fe ff ?? call function 0x00402299
  
  L43: 59 ?? pop ecx
   89 7d e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], edi
   eb 0b ?? jmp basic block L46
  
  L44: 83 7d dc ff ?? cmp dword ss:[ebp + 0xdc<220,-36>], 0xff<255,-1>
   74 05 ?? je basic block L46
  
  L45: 8b 4d d0 ?? mov ecx, dword ss:[ebp + 0xd0<208,-48>]
   89 01 ?? mov dword ds:[ecx], eax
  
  L46: ff 75 e4 ?? push dword ss:[ebp + 0xe4<228,-28>]
   e8 06 7c ff ff ?? call function 0x0040f2b8
  
  L47: 59 ?? pop ecx
  
  L48: 8b 45 e0 ?? mov eax, dword ss:[ebp + 0xe0<224,-32>]
  
  L49: 8d 65 c0 ?? lea esp, ss:[ebp + 0xc0<192,-64>]
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   33 cd ?? xor ecx, ebp
   e8 50 a2 fe ff ?? call function 0x00401916
  
  L50: c9 ?? leave
   c3 ?? ret
  
  