Disassembly: 
  L1: 6a 0c ?? push 12
   68 18 65 42 00 ?? push 0x00426518
   e8 4b 21 00 00 ?? call function 0x00404b3c
  
  L2: 33 d2 ?? xor edx, edx
   89 55 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], edx
   8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]
   8b 48 04 ?? mov ecx, dword ds:[eax + 4]
   3b ca ?? cmp ecx, edx
   0f 84 58 01 00 00 ?? je basic block L44
  
  L3: 38 51 08 ?? cmp byte ds:[ecx + 8], dl
   0f 84 4f 01 00 00 ?? je basic block L44
  
  L4: 8b 48 08 ?? mov ecx, dword ds:[eax + 8]
   3b ca ?? cmp ecx, edx
   75 0c ?? jne basic block L6
  
  L5: f7 00 00 00 00 80 ?? test dword ds:[eax], 0x80000000
   0f 84 3c 01 00 00 ?? je basic block L44
  
  L6: 8b 00 ?? mov eax, dword ds:[eax]
   8b 75 0c ?? mov esi, dword ss:[ebp + 12]
   85 c0 ?? test eax, eax
   78 04 ?? js basic block L8
  
  L7: 8d 74 31 0c ?? lea esi, ds:[ecx + esi + 12]
  
  L8: 89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
   33 db ?? xor ebx, ebx
   43 ?? inc ebx
   53 ?? push ebx
   a8 08 ?? test al, 8
   74 41 ?? je basic block L16
  
  L9: 8b 7d 08 ?? mov edi, dword ss:[ebp + 8]
   ff 77 18 ?? push dword ds:[edi + 0x18<24>]
   e8 ce 3e 00 00 ?? call function 0x00406911
  
  L10: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 84 f2 00 00 00 ?? je basic block L40
  
  L11: 53 ?? push ebx
   56 ?? push esi
   e8 cf 3e 00 00 ?? call function 0x00406923
  
  L12: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 84 e1 00 00 00 ?? je basic block L40
  
  L13: 8b 47 18 ?? mov eax, dword ds:[edi + 0x18<24>]
   89 06 ?? mov dword ds:[esi], eax
   8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
   83 c1 08 ?? add ecx, 8
   51 ?? push ecx
  
  L14: 50 ?? push eax
   e8 03 f9 ff ff ?? call function 0x00402373
  
  L15: 59 ?? pop ecx
   59 ?? pop ecx
   89 06 ?? mov dword ds:[esi], eax
   e9 cb 00 00 00 ?? jmp basic block L41
  
  L16: 8b 7d 14 ?? mov edi, dword ss:[ebp + 0x14<20>]
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   ff 70 18 ?? push dword ds:[eax + 0x18<24>]
   84 1f ?? test byte ds:[edi], bl
   74 48 ?? je basic block L25
  
  L17: e8 86 3e 00 00 ?? call function 0x00406911
  
  L18: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 84 aa 00 00 00 ?? je basic block L40
  
  L19: 53 ?? push ebx
   56 ?? push esi
   e8 87 3e 00 00 ?? call function 0x00406923
  
  L20: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   0f 84 99 00 00 00 ?? je basic block L40
  
  L21: ff 77 14 ?? push dword ds:[edi + 0x14<20>]
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   ff 70 18 ?? push dword ds:[eax + 0x18<24>]
   56 ?? push esi
   e8 9b 3e 00 00 ?? call function 0x00406950
  
  L22: 83 c4 0c ?? add esp, 12
   83 7f 14 04 ?? cmp dword ds:[edi + 0x14<20>], 4
   0f 85 82 00 00 00 ?? jne basic block L41
  
  L23: 8b 06 ?? mov eax, dword ds:[esi]
   85 c0 ?? test eax, eax
   74 7c ?? je basic block L41
  
  L24: 83 c7 08 ?? add edi, 8
   57 ?? push edi
   eb 9c ?? jmp basic block L14
  
  L25: 39 57 18 ?? cmp dword ds:[edi + 0x18<24>], edx
   75 38 ?? jne basic block L33
  
  L26: e8 39 3e 00 00 ?? call function 0x00406911
  
  L27: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 61 ?? je basic block L40
  
  L28: 53 ?? push ebx
   56 ?? push esi
   e8 3e 3e 00 00 ?? call function 0x00406923
  
  L29: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 54 ?? je basic block L40
  
  L30: ff 77 14 ?? push dword ds:[edi + 0x14<20>]
   83 c7 08 ?? add edi, 8
   57 ?? push edi
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   ff 70 18 ?? push dword ds:[eax + 0x18<24>]
   e8 76 f8 ff ff ?? call function 0x00402373
  
  L31: 59 ?? pop ecx
   59 ?? pop ecx
   50 ?? push eax
   56 ?? push esi
   e8 4a 3e 00 00 ?? call function 0x00406950
  
  L32: 83 c4 0c ?? add esp, 12
   eb 39 ?? jmp basic block L41
  
  L33: e8 01 3e 00 00 ?? call function 0x00406911
  
  L34: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 29 ?? je basic block L40
  
  L35: 53 ?? push ebx
   56 ?? push esi
   e8 06 3e 00 00 ?? call function 0x00406923
  
  L36: 59 ?? pop ecx
   59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 1c ?? je basic block L40
  
  L37: ff 77 18 ?? push dword ds:[edi + 0x18<24>]
   e8 0a 3e 00 00 ?? call function 0x00406935
  
  L38: 59 ?? pop ecx
   85 c0 ?? test eax, eax
   74 0f ?? je basic block L40
  
  L39: f6 07 04 ?? test byte ds:[edi], 4
   6a 00 ?? push 0
   58 ?? pop eax
   0f 95 c0 ?? setne al
   40 ?? inc eax
   89 45 e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], eax
   eb 05 ?? jmp basic block L41
  
  L40: e8 5d 0e 00 00 ?? call function 0x004039a1
  
  L41: c7 45 fc fe ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xfffffffe<4294967294,-2>
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   eb 0e ?? jmp basic block L45
  
  L42: 33 c0 ?? xor eax, eax
   40 ?? inc eax
   c3 ?? ret
  
  L43: 8b 65 e8 ?? mov esp, dword ss:[ebp + 0xe8<232,-24>]
   e8 f9 0d 00 00 ?? call function 0x00403955
  
  L44: 33 c0 ?? xor eax, eax
  
  L45: e8 1e 20 00 00 ?? call function 0x00404b81
  
  L46: c3 ?? ret
  
  