Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   51 ?? push ecx
   a1 34 44 43 00 ?? mov eax, dword ds:[0x00434434]
   33 c5 ?? xor eax, ebp
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   a1 b0 64 43 00 ?? mov eax, dword ds:[0x004364b0]
   53 ?? push ebx
   56 ?? push esi
   33 db ?? xor ebx, ebx
   57 ?? push edi
   8b f9 ?? mov edi, ecx
   3b c3 ?? cmp eax, ebx
   75 3a ?? jne basic block L9
  
  L2: 8d 45 f8 ?? lea eax, ss:[ebp + 0xf8<248,-8>]
   50 ?? push eax
   33 f6 ?? xor esi, esi
   46 ?? inc esi
   56 ?? push esi
   68 9c e2 42 00 ?? push 0x0042e29c
   56 ?? push esi
   ff 15 f8 82 43 00 ?? call dword ds:[0x004382f8]
  
  L3: 85 c0 ?? test eax, eax
   74 08 ?? je basic block L5
  
  L4: 89 35 b0 64 43 00 ?? mov dword ds:[0x004364b0], esi
   eb 34 ?? jmp basic block L12
  
  L5: ff 15 30 82 43 00 ?? call dword ds:[0x00438230]
  
  L6: 83 f8 78 ?? cmp eax, 0x78<120>
   75 0a ?? jne basic block L8
  
  L7: 6a 02 ?? push 2
   58 ?? pop eax
   a3 b0 64 43 00 ?? mov dword ds:[0x004364b0], eax
   eb 05 ?? jmp basic block L9
  
  L8: a1 b0 64 43 00 ?? mov eax, dword ds:[0x004364b0]
  
  L9: 83 f8 02 ?? cmp eax, 2
   0f 84 cf 00 00 00 ?? je basic block L35
  
  L10: 3b c3 ?? cmp eax, ebx
   0f 84 c7 00 00 00 ?? je basic block L35
  
  L11: 83 f8 01 ?? cmp eax, 1
   0f 85 e8 00 00 00 ?? jne basic block L41
  
  L12: 89 5d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ebx
   39 5d 18 ?? cmp dword ss:[ebp + 0x18<24>], ebx
   75 08 ?? jne basic block L14
  
  L13: 8b 07 ?? mov eax, dword ds:[edi]
   8b 40 04 ?? mov eax, dword ds:[eax + 4]
   89 45 18 ?? mov dword ss:[ebp + 0x18<24>], eax
  
  L14: 8b 35 40 82 43 00 ?? mov esi, dword ds:[0x00438240]
   33 c0 ?? xor eax, eax
   39 5d 20 ?? cmp dword ss:[ebp + 0x20<32>], ebx
   53 ?? push ebx
   53 ?? push ebx
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   0f 95 c0 ?? setne al
   ff 75 0c ?? push dword ss:[ebp + 12]
   8d 04 c5 01 00 00 00 ?? lea eax, ds:[1 + eax * 8]
   50 ?? push eax
   ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   ff d6 ?? call esi
  
  L15: 8b f8 ?? mov edi, eax
   3b fb ?? cmp edi, ebx
   0f 84 ab 00 00 00 ?? je basic block L41
  
  L16: 7e 3c ?? jle basic block L27
  
  L17: 81 ff f0 ff ff 7f ?? cmp edi, 0x7ffffff0
   77 34 ?? ja basic block L27
  
  L18: 8d 44 3f 08 ?? lea eax, ds:[edi + edi + 8]
   3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
   77 13 ?? ja basic block L22
  
  L19: e8 1e fe ff ff ?? call function 0x00411060
  
  L20: 8b c4 ?? mov eax, esp
   3b c3 ?? cmp eax, ebx
   74 1c ?? je basic block L26
  
  L21: c7 00 cc cc 00 00 ?? mov dword ds:[eax], 0x0000cccc<52428>
   eb 11 ?? jmp basic block L25
  
  L22: 50 ?? push eax
   e8 a9 a3 ff ff ?? call function 0x0040b5ff
  
  L23: 59 ?? pop ecx
   3b c3 ?? cmp eax, ebx
   74 09 ?? je basic block L26
  
  L24: c7 00 dd dd 00 00 ?? mov dword ds:[eax], 0x0000dddd<56797>
  
  L25: 83 c0 08 ?? add eax, 8
  
  L26: 8b d8 ?? mov ebx, eax
  
  L27: 85 db ?? test ebx, ebx
   74 69 ?? je basic block L41
  
  L28: 8d 04 3f ?? lea eax, ds:[edi + edi]
   50 ?? push eax
   6a 00 ?? push 0
   53 ?? push ebx
   e8 7a 54 ff ff ?? call function 0x004066f0
  
  L29: 83 c4 0c ?? add esp, 12
   57 ?? push edi
   53 ?? push ebx
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   6a 01 ?? push 1
   ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   ff d6 ?? call esi
  
  L30: 85 c0 ?? test eax, eax
   74 11 ?? je basic block L33
  
  L31: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   50 ?? push eax
   53 ?? push ebx
   ff 75 08 ?? push dword ss:[ebp + 8]
   ff 15 f8 82 43 00 ?? call dword ds:[0x004382f8]
  
  L32: 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
  
  L33: 53 ?? push ebx
   e8 31 7a ff ff ?? call function 0x00408cd4
  
  L34: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   59 ?? pop ecx
   eb 75 ?? jmp basic block L51
  
  L35: 33 f6 ?? xor esi, esi
   39 5d 1c ?? cmp dword ss:[ebp + 0x1c<28>], ebx
   75 08 ?? jne basic block L37
  
  L36: 8b 07 ?? mov eax, dword ds:[edi]
   8b 40 14 ?? mov eax, dword ds:[eax + 0x14<20>]
   89 45 1c ?? mov dword ss:[ebp + 0x1c<28>], eax
  
  L37: 39 5d 18 ?? cmp dword ss:[ebp + 0x18<24>], ebx
   75 08 ?? jne basic block L39
  
  L38: 8b 07 ?? mov eax, dword ds:[edi]
   8b 40 04 ?? mov eax, dword ds:[eax + 4]
   89 45 18 ?? mov dword ss:[ebp + 0x18<24>], eax
  
  L39: ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   e8 92 fb ff ff ?? call function 0x00410e5f
  
  L40: 59 ?? pop ecx
   83 f8 ff ?? cmp eax, 0xff<255,-1>
   75 04 ?? jne basic block L42
  
  L41: 33 c0 ?? xor eax, eax
   eb 47 ?? jmp basic block L51
  
  L42: 3b 45 18 ?? cmp eax, dword ss:[ebp + 0x18<24>]
   74 1e ?? je basic block L46
  
  L43: 53 ?? push ebx
   53 ?? push ebx
   8d 4d 10 ?? lea ecx, ss:[ebp + 0x10<16>]
   51 ?? push ecx
   ff 75 0c ?? push dword ss:[ebp + 12]
   50 ?? push eax
   ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
   e8 ba fb ff ff ?? call function 0x00410ea8
  
  L44: 8b f0 ?? mov esi, eax
   83 c4 18 ?? add esp, 0x18<24>
   3b f3 ?? cmp esi, ebx
   74 dc ?? je basic block L41
  
  L45: 89 75 0c ?? mov dword ss:[ebp + 12], esi
  
  L46: ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
   ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   ff 75 0c ?? push dword ss:[ebp + 12]
   ff 75 08 ?? push dword ss:[ebp + 8]
   ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
   ff 15 f4 82 43 00 ?? call dword ds:[0x004382f4]
  
  L47: 8b f8 ?? mov edi, eax
   3b f3 ?? cmp esi, ebx
   74 07 ?? je basic block L50
  
  L48: 56 ?? push esi
   e8 11 56 ff ff ?? call function 0x0040692c
  
  L49: 59 ?? pop ecx
  
  L50: 8b c7 ?? mov eax, edi
  
  L51: 8d 65 ec ?? lea esp, ss:[ebp + 0xec<236,-20>]
   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 5a 4d ff ff ?? call function 0x00406088
  
  L52: c9 ?? leave
   c3 ?? ret
  
  