Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 14 ?? sub esp, 0x14<20>
   a1 58 4b 42 00 ?? mov eax, dword ds:[0x00424b58]
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   6b c0 14 ?? imul eax, eax, 0x14<20>
   03 05 5c 4b 42 00 ?? add eax, dword ds:[0x00424b5c]
   83 c1 17 ?? add ecx, 0x17<23>
   83 e1 f0 ?? and ecx, 0xf0<240,-16>
   89 4d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ecx
   c1 f9 04 ?? sar ecx, 4
   53 ?? push ebx
   49 ?? dec ecx
   83 f9 20 ?? cmp ecx, 0x20<32>
   56 ?? push esi
   57 ?? push edi
   7d 0b ?? jge basic block L3
  
  L2: 83 ce ff ?? or esi, 0xff<255,-1>
   d3 ee ?? shr esi, cl
   83 4d f8 ff ?? or dword ss:[ebp + 0xf8<248,-8>], 0xff<255,-1>
   eb 0d ?? jmp basic block L4
  
  L3: 83 c1 e0 ?? add ecx, 0xe0<224,-32>
   83 ca ff ?? or edx, 0xff<255,-1>
   33 f6 ?? xor esi, esi
   d3 ea ?? shr edx, cl
   89 55 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], edx
  
  L4: 8b 0d 64 4b 42 00 ?? mov ecx, dword ds:[0x00424b64]
   8b d9 ?? mov ebx, ecx
   eb 11 ?? jmp basic block L7
  
  L5: 8b 53 04 ?? mov edx, dword ds:[ebx + 4]
   8b 3b ?? mov edi, dword ds:[ebx]
   23 55 f8 ?? and edx, dword ss:[ebp + 0xf8<248,-8>]
   23 fe ?? and edi, esi
   0b d7 ?? or edx, edi
   75 0a ?? jne basic block L8
  
  L6: 83 c3 14 ?? add ebx, 0x14<20>
  
  L7: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
   3b d8 ?? cmp ebx, eax
   72 e8 ?? jb basic block L5
  
  L8: 3b d8 ?? cmp ebx, eax
   75 7f ?? jne basic block L29
  
  L9: 8b 1d 5c 4b 42 00 ?? mov ebx, dword ds:[0x00424b5c]
   eb 11 ?? jmp basic block L12
  
  L10: 8b 53 04 ?? mov edx, dword ds:[ebx + 4]
   8b 3b ?? mov edi, dword ds:[ebx]
   23 55 f8 ?? and edx, dword ss:[ebp + 0xf8<248,-8>]
   23 fe ?? and edi, esi
   0b d7 ?? or edx, edi
   75 0a ?? jne basic block L13
  
  L11: 83 c3 14 ?? add ebx, 0x14<20>
  
  L12: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
   3b d9 ?? cmp ebx, ecx
   72 e8 ?? jb basic block L10
  
  L13: 3b d9 ?? cmp ebx, ecx
   75 5b ?? jne basic block L29
  
  L14: eb 0c ?? jmp basic block L17
  
  L15: 83 7b 08 00 ?? cmp dword ds:[ebx + 8], 0
   75 0a ?? jne basic block L18
  
  L16: 83 c3 14 ?? add ebx, 0x14<20>
   89 5d 08 ?? mov dword ss:[ebp + 8], ebx
  
  L17: 3b d8 ?? cmp ebx, eax
   72 f0 ?? jb basic block L15
  
  L18: 3b d8 ?? cmp ebx, eax
   75 31 ?? jne basic block L27
  
  L19: 8b 1d 5c 4b 42 00 ?? mov ebx, dword ds:[0x00424b5c]
   eb 09 ?? jmp basic block L22
  
  L20: 83 7b 08 00 ?? cmp dword ds:[ebx + 8], 0
   75 0a ?? jne basic block L23
  
  L21: 83 c3 14 ?? add ebx, 0x14<20>
  
  L22: 89 5d 08 ?? mov dword ss:[ebp + 8], ebx
   3b d9 ?? cmp ebx, ecx
   72 f0 ?? jb basic block L20
  
  L23: 3b d9 ?? cmp ebx, ecx
   75 15 ?? jne basic block L27
  
  L24: e8 40 f6 ff ff ?? call function 0x0040c3bf
  
  L25: 8b d8 ?? mov ebx, eax
   89 5d 08 ?? mov dword ss:[ebp + 8], ebx
   85 db ?? test ebx, ebx
   75 07 ?? jne basic block L27
  
  L26: 33 c0 ?? xor eax, eax
   e9 09 02 00 00 ?? jmp basic block L67
  
  L27: 53 ?? push ebx
   e8 da f6 ff ff ?? call function 0x0040c46f
  
  L28: 59 ?? pop ecx
   8b 4b 10 ?? mov ecx, dword ds:[ebx + 0x10<16>]
   89 01 ?? mov dword ds:[ecx], eax
   8b 43 10 ?? mov eax, dword ds:[ebx + 0x10<16>]
   83 38 ff ?? cmp dword ds:[eax], 0xff<255,-1>
   74 e5 ?? je basic block L26
  
  L29: 89 1d 64 4b 42 00 ?? mov dword ds:[0x00424b64], ebx
   8b 43 10 ?? mov eax, dword ds:[ebx + 0x10<16>]
   8b 10 ?? mov edx, dword ds:[eax]
   89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
   83 fa ff ?? cmp edx, 0xff<255,-1>
   74 14 ?? je basic block L31
  
  L30: 8b 8c 90 c4 00 00 00 ?? mov ecx, dword ds:[eax + edx * 4 + 0x000000c4<196>]
   8b 7c 90 44 ?? mov edi, dword ds:[eax + edx * 4 + 0x44<68>]
   23 4d f8 ?? and ecx, dword ss:[ebp + 0xf8<248,-8>]
   23 fe ?? and edi, esi
   0b cf ?? or ecx, edi
   75 29 ?? jne basic block L35
  
  L31: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   8b 90 c4 00 00 00 ?? mov edx, dword ds:[eax + 0x000000c4<196>]
   8d 48 44 ?? lea ecx, ds:[eax + 0x44<68>]
  
  L32: 8b 39 ?? mov edi, dword ds:[ecx]
   23 55 f8 ?? and edx, dword ss:[ebp + 0xf8<248,-8>]
   23 fe ?? and edi, esi
   0b d7 ?? or edx, edi
   75 0e ?? jne basic block L34
  
  L33: ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
   8b 91 84 00 00 00 ?? mov edx, dword ds:[ecx + 0x00000084<132>]
   83 c1 04 ?? add ecx, 4
   eb e7 ?? jmp basic block L32
  
  L34: 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
  
  L35: 8b ca ?? mov ecx, edx
   69 c9 04 02 00 00 ?? imul ecx, ecx, 0x00000204<516>
   8d 8c 01 44 01 00 00 ?? lea ecx, ds:[ecx + eax + 0x00000144<324>]
   89 4d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ecx
   8b 4c 90 44 ?? mov ecx, dword ds:[eax + edx * 4 + 0x44<68>]
   33 ff ?? xor edi, edi
   23 ce ?? and ecx, esi
   75 12 ?? jne basic block L38
  
  L36: 8b 8c 90 c4 00 00 00 ?? mov ecx, dword ds:[eax + edx * 4 + 0x000000c4<196>]
   23 4d f8 ?? and ecx, dword ss:[ebp + 0xf8<248,-8>]
   6a 20 ?? push 0x20<32>
   5f ?? pop edi
   eb 03 ?? jmp basic block L38
  
  L37: 03 c9 ?? add ecx, ecx
   47 ?? inc edi
  
  L38: 85 c9 ?? test ecx, ecx
   7d f9 ?? jge basic block L37
  
  L39: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   8b 54 f9 04 ?? mov edx, dword ds:[ecx + edi * 8 + 4]
   8b 0a ?? mov ecx, dword ds:[edx]
   2b 4d f0 ?? sub ecx, dword ss:[ebp + 0xf0<240,-16>]
   8b f1 ?? mov esi, ecx
   c1 fe 04 ?? sar esi, 4
   4e ?? dec esi
   83 fe 3f ?? cmp esi, 0x3f<63>
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
   7e 03 ?? jle basic block L41
  
  L40: 6a 3f ?? push 0x3f<63>
   5e ?? pop esi
  
  L41: 3b f7 ?? cmp esi, edi
   0f 84 01 01 00 00 ?? je basic block L59
  
  L42: 8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
   3b 4a 08 ?? cmp ecx, dword ds:[edx + 8]
   75 5c ?? jne basic block L49
  
  L43: 83 ff 20 ?? cmp edi, 0x20<32>
   bb 00 00 00 80 ?? mov ebx, 0x80000000
   7d 26 ?? jge basic block L46
  
  L44: 8b cf ?? mov ecx, edi
   d3 eb ?? shr ebx, cl
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   8d 7c 38 04 ?? lea edi, ds:[eax + edi + 4]
   f7 d3 ?? not ebx
   89 5d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ebx
   23 5c 88 44 ?? and ebx, dword ds:[eax + ecx * 4 + 0x44<68>]
   89 5c 88 44 ?? mov dword ds:[eax + ecx * 4 + 0x44<68>], ebx
   fe 0f ?? dec byte ds:[edi]
   75 33 ?? jne basic block L48
  
  L45: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   21 0b ?? and dword ds:[ebx], ecx
   eb 2c ?? jmp basic block L49
  
  L46: 8d 4f e0 ?? lea ecx, ds:[edi + 0xe0<224,-32>]
   d3 eb ?? shr ebx, cl
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   8d 8c 88 c4 00 00 00 ?? lea ecx, ds:[eax + ecx * 4 + 0x000000c4<196>]
   8d 7c 38 04 ?? lea edi, ds:[eax + edi + 4]
   f7 d3 ?? not ebx
   21 19 ?? and dword ds:[ecx], ebx
   fe 0f ?? dec byte ds:[edi]
   89 5d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ebx
   75 0b ?? jne basic block L48
  
  L47: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
   8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
   21 4b 04 ?? and dword ds:[ebx + 4], ecx
   eb 03 ?? jmp basic block L49
  
  L48: 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
  
  L49: 83 7d f8 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0
   8b 4a 08 ?? mov ecx, dword ds:[edx + 8]
   8b 7a 04 ?? mov edi, dword ds:[edx + 4]
   89 79 04 ?? mov dword ds:[ecx + 4], edi
   8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
   8b 7a 08 ?? mov edi, dword ds:[edx + 8]
   89 79 08 ?? mov dword ds:[ecx + 8], edi
   0f 84 8d 00 00 00 ?? je basic block L61
  
  L50: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   8d 0c f1 ?? lea ecx, ds:[ecx + esi * 8]
   8b 79 04 ?? mov edi, dword ds:[ecx + 4]
   89 4a 08 ?? mov dword ds:[edx + 8], ecx
   89 7a 04 ?? mov dword ds:[edx + 4], edi
   89 51 04 ?? mov dword ds:[ecx + 4], edx
   8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
   89 51 08 ?? mov dword ds:[ecx + 8], edx
   8b 4a 04 ?? mov ecx, dword ds:[edx + 4]
   3b 4a 08 ?? cmp ecx, dword ds:[edx + 8]
   75 5e ?? jne basic block L58
  
  L51: 8a 4c 06 04 ?? mov cl, byte ds:[esi + eax + 4]
   88 4d 0b ?? mov byte ss:[ebp + 11], cl
   fe c1 ?? inc cl
   83 fe 20 ?? cmp esi, 0x20<32>
   88 4c 06 04 ?? mov byte ds:[esi + eax + 4], cl
   7d 23 ?? jge basic block L55
  
  L52: 80 7d 0b 00 ?? cmp byte ss:[ebp + 11], 0
   75 0b ?? jne basic block L54
  
  L53: bf 00 00 00 80 ?? mov edi, 0x80000000
   8b ce ?? mov ecx, esi
   d3 ef ?? shr edi, cl
   09 3b ?? or dword ds:[ebx], edi
  
  L54: 8b ce ?? mov ecx, esi
   bf 00 00 00 80 ?? mov edi, 0x80000000
   d3 ef ?? shr edi, cl
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   09 7c 88 44 ?? or dword ds:[eax + ecx * 4 + 0x44<68>], edi
   eb 29 ?? jmp basic block L58
  
  L55: 80 7d 0b 00 ?? cmp byte ss:[ebp + 11], 0
   75 0d ?? jne basic block L57
  
  L56: 8d 4e e0 ?? lea ecx, ds:[esi + 0xe0<224,-32>]
   bf 00 00 00 80 ?? mov edi, 0x80000000
   d3 ef ?? shr edi, cl
   09 7b 04 ?? or dword ds:[ebx + 4], edi
  
  L57: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   8d bc 88 c4 00 00 00 ?? lea edi, ds:[eax + ecx * 4 + 0x000000c4<196>]
   8d 4e e0 ?? lea ecx, ds:[esi + 0xe0<224,-32>]
   be 00 00 00 80 ?? mov esi, 0x80000000
   d3 ee ?? shr esi, cl
   09 37 ?? or dword ds:[edi], esi
  
  L58: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
  
  L59: 85 c9 ?? test ecx, ecx
   74 0b ?? je basic block L62
  
  L60: 89 0a ?? mov dword ds:[edx], ecx
   89 4c 11 fc ?? mov dword ds:[ecx + edx + 0xfc<252,-4>], ecx
   eb 03 ?? jmp basic block L62
  
  L61: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
  
  L62: 8b 75 f0 ?? mov esi, dword ss:[ebp + 0xf0<240,-16>]
   03 d1 ?? add edx, ecx
   8d 4e 01 ?? lea ecx, ds:[esi + 1]
   89 0a ?? mov dword ds:[edx], ecx
   89 4c 32 fc ?? mov dword ds:[edx + esi + 0xfc<252,-4>], ecx
   8b 75 f4 ?? mov esi, dword ss:[ebp + 0xf4<244,-12>]
   8b 0e ?? mov ecx, dword ds:[esi]
   8d 79 01 ?? lea edi, ds:[ecx + 1]
   89 3e ?? mov dword ds:[esi], edi
   85 c9 ?? test ecx, ecx
   75 1a ?? jne basic block L66
  
  L63: 3b 1d 30 47 42 00 ?? cmp ebx, dword ds:[0x00424730]
   75 12 ?? jne basic block L66
  
  L64: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   3b 0d 6c 4b 42 00 ?? cmp ecx, dword ds:[0x00424b6c]
   75 07 ?? jne basic block L66
  
  L65: 83 25 30 47 42 00 00 ?? and dword ds:[0x00424730], 0
  
  L66: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   89 08 ?? mov dword ds:[eax], ecx
   8d 42 04 ?? lea eax, ds:[edx + 4]
  
  L67: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  