Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   a1 60 6b 44 00 ?? mov eax, dword ds:[0x00446b60]
   81 ec 38 01 00 00 ?? sub esp, 0x00000138<312>
   53 ?? push ebx
   33 db ?? xor ebx, ebx
   3b c3 ?? cmp eax, ebx
   75 08 ?? jne basic block L3
  
  L2: 83 c8 ff ?? or eax, 0xff<255,-1>
   e9 85 02 00 00 ?? jmp basic block L56
  
  L3: 39 1d 5c 6b 44 00 ?? cmp dword ds:[0x00446b5c], ebx
   56 ?? push esi
   8b d0 ?? mov edx, eax
   57 ?? push edi
   89 55 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], edx
   89 5d e4 ?? mov dword ss:[ebp + 0xe4<228,-28>], ebx
   0f 8e 6b 02 00 00 ?? jle basic block L54
  
  L4: 8b 42 10 ?? mov eax, dword ds:[edx + 0x10<16>]
   3b c3 ?? cmp eax, ebx
   0f 84 67 02 00 00 ?? je basic block L57
  
  L5: 8b 4a 0c ?? mov ecx, dword ds:[edx + 12]
   89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
   8d 88 44 01 00 00 ?? lea ecx, ds:[eax + 0x00000144<324>]
   89 4d dc ?? mov dword ss:[ebp + 0xdc<220,-36>], ecx
   8b 4a 08 ?? mov ecx, dword ds:[edx + 8]
   8d b0 c4 00 00 00 ?? lea esi, ds:[eax + 0x000000c4<196>]
   89 4d e0 ?? mov dword ss:[ebp + 0xe0<224,-32>], ecx
   89 5d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ebx
   89 5d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ebx
   89 5d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ebx
   89 75 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], esi
  
  L6: 6a 40 ?? push 0x40<64>
   33 c0 ?? xor eax, eax
   39 5d e0 ?? cmp dword ss:[ebp + 0xe0<224,-32>], ebx
   59 ?? pop ecx
   8d bd c8 fe ff ff ?? lea edi, ss:[ebp + 0xfffffec8<4294966984,-312>]
   89 5d d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], ebx
   89 5d e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], ebx
   89 5d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ebx
   f3 ab ?? rep_stosd
   0f 8c b8 01 00 00 ?? jl basic block L48
  
  L7: 39 5d f8 ?? cmp dword ss:[ebp + 0xf8<248,-8>], ebx
   0f 84 1c 02 00 00 ?? je basic block L58
  
  L8: 8b 55 f8 ?? mov edx, dword ss:[ebp + 0xf8<248,-8>]
   81 c2 fc 0f 00 00 ?? add edx, 0x00000ffc<4092>
  
  L9: 83 ba 0c f0 ff ff ff ?? cmp dword ds:[edx + 0xfffff00c<4294963212,-4084>], 0xff<255,-1>
   8d b2 10 f0 ff ff ?? lea esi, ds:[edx + 0xfffff010<4294963216,-4080>]
   0f 85 10 02 00 00 ?? jne basic block L62
  
  L10: 83 3a ff ?? cmp dword ds:[edx], 0xff<255,-1>
   0f 85 07 02 00 00 ?? jne basic block L62
  
  L11: 8b 0e ?? mov ecx, dword ds:[esi]
   8b f9 ?? mov edi, ecx
   f6 c1 01 ?? test cl, 1
   74 12 ?? je basic block L14
  
  L12: 49 ?? dec ecx
   81 f9 00 04 00 00 ?? cmp ecx, 0x00000400<1024>
   0f 8f e5 01 00 00 ?? jg basic block L59
  
  L13: ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
   eb 17 ?? jmp basic block L17
  
  L14: 8b c1 ?? mov eax, ecx
   c1 f8 04 ?? sar eax, 4
   48 ?? dec eax
   83 f8 3f ?? cmp eax, 0x3f<63>
   7e 03 ?? jle basic block L16
  
  L15: 6a 3f ?? push 0x3f<63>
   58 ?? pop eax
  
  L16: 8d 84 85 c8 fe ff ff ?? lea eax, ss:[ebp + 0xfffffec8<4294966984,-312> + eax * 4]
   ff 00 ?? inc dword ds:[eax]
  
  L17: 83 f9 10 ?? cmp ecx, 0x10<16>
   0f 8c c8 01 00 00 ?? jl basic block L61
  
  L18: f6 c1 0f ?? test cl, 15
   0f 85 bf 01 00 00 ?? jne basic block L61
  
  L19: 81 f9 f0 0f 00 00 ?? cmp ecx, 0x00000ff0<4080>
   0f 8f b3 01 00 00 ?? jg basic block L61
  
  L20: 8d 04 31 ?? lea eax, ds:[ecx + esi]
   39 78 fc ?? cmp dword ds:[eax + 0xfc<252,-4>], edi
   0f 85 a3 01 00 00 ?? jne basic block L60
  
  L21: 8b f0 ?? mov esi, eax
   3b f2 ?? cmp esi, edx
   72 9e ?? jb basic block L11
  
  L22: 0f 85 97 01 00 00 ?? jne basic block L60
  
  L23: 81 c2 00 10 00 00 ?? add edx, 0x00001000<4096>
   43 ?? inc ebx
   83 fb 08 ?? cmp ebx, 8
   0f 8c 6c ff ff ff ?? jl basic block L9
  
  L24: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   8b 7d dc ?? mov edi, dword ss:[ebp + 0xdc<220,-36>]
   39 07 ?? cmp dword ds:[edi], eax
   0f 85 85 01 00 00 ?? jne basic block L63
  
  L25: 33 f6 ?? xor esi, esi
  
  L26: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   8d 5f 08 ?? lea ebx, ds:[edi + 8]
   8b 43 fc ?? mov eax, dword ds:[ebx + 0xfc<252,-4>]
   89 7d d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], edi
   89 5d d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], ebx
   3b c7 ?? cmp eax, edi
   0f 84 b2 00 00 00 ?? je basic block L43
  
  L27: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   3b 8c b5 c8 fe ff ff ?? cmp ecx, dword ss:[ebp + 0xfffffec8<4294966984,-312> + esi * 4]
   74 7f ?? je basic block L39
  
  L28: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   3b c1 ?? cmp eax, ecx
   0f 82 64 01 00 00 ?? jb basic block L67
  
  L29: 81 c1 00 80 00 00 ?? add ecx, 0x00008000<32768>
   3b c1 ?? cmp eax, ecx
   0f 83 56 01 00 00 ?? jae basic block L67
  
  L30: 8b c8 ?? mov ecx, eax
   81 e1 00 f0 ff ff ?? and ecx, 0xfffff000<4294963200,-4096>
   83 c1 0c ?? add ecx, 12
   8d 91 f0 0f 00 00 ?? lea edx, ds:[ecx + 0x00000ff0<4080>]
   3b ca ?? cmp ecx, edx
   0f 84 31 01 00 00 ?? je basic block L64
  
  L31: 3b c8 ?? cmp ecx, eax
   74 0e ?? je basic block L33
  
  L32: 8b 19 ?? mov ebx, dword ds:[ecx]
   83 e3 fe ?? and ebx, 0xfe<254,-2>
   03 cb ?? add ecx, ebx
   8b 5d d0 ?? mov ebx, dword ss:[ebp + 0xd0<208,-48>]
   3b ca ?? cmp ecx, edx
   75 ee ?? jne basic block L31
  
  L33: 3b ca ?? cmp ecx, edx
   0f 84 17 01 00 00 ?? je basic block L64
  
  L34: 8b 08 ?? mov ecx, dword ds:[eax]
   c1 f9 04 ?? sar ecx, 4
   49 ?? dec ecx
   83 f9 3f ?? cmp ecx, 0x3f<63>
   7e 03 ?? jle basic block L36
  
  L35: 6a 3f ?? push 0x3f<63>
   59 ?? pop ecx
  
  L36: 3b ce ?? cmp ecx, esi
   0f 85 05 01 00 00 ?? jne basic block L65
  
  L37: 8b 4d d4 ?? mov ecx, dword ss:[ebp + 0xd4<212,-44>]
   39 48 08 ?? cmp dword ds:[eax + 8], ecx
   0f 85 fd 00 00 00 ?? jne basic block L66
  
  L38: ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
   89 45 d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], eax
   8b 40 04 ?? mov eax, dword ds:[eax + 4]
   3b c7 ?? cmp eax, edi
   0f 85 75 ff ff ff ?? jne basic block L27
  
  L39: 83 7d fc 00 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0
   74 21 ?? je basic block L43
  
  L40: 83 fe 20 ?? cmp esi, 0x20<32>
   b8 00 00 00 80 ?? mov eax, 0x80000000
   7d 0c ?? jge basic block L42
  
  L41: 8b ce ?? mov ecx, esi
   d3 e8 ?? shr eax, cl
   09 45 d8 ?? or dword ss:[ebp + 0xd8<216,-40>], eax
   09 45 f0 ?? or dword ss:[ebp + 0xf0<240,-16>], eax
   eb 0b ?? jmp basic block L43
  
  L42: 8d 4e e0 ?? lea ecx, ds:[esi + 0xe0<224,-32>]
   d3 e8 ?? shr eax, cl
   09 45 e8 ?? or dword ss:[ebp + 0xe8<232,-24>], eax
   09 45 ec ?? or dword ss:[ebp + 0xec<236,-20>], eax
  
  L43: 8b 45 d4 ?? mov eax, dword ss:[ebp + 0xd4<212,-44>]
   39 78 04 ?? cmp dword ds:[eax + 4], edi
   0f 85 c5 00 00 00 ?? jne basic block L69
  
  L44: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   3b 8c b5 c8 fe ff ff ?? cmp ecx, dword ss:[ebp + 0xfffffec8<4294966984,-312> + esi * 4]
   0f 85 b5 00 00 00 ?? jne basic block L69
  
  L45: 39 03 ?? cmp dword ds:[ebx], eax
   0f 85 a9 00 00 00 ?? jne basic block L68
  
  L46: 46 ?? inc esi
   83 fe 40 ?? cmp esi, 0x40<64>
   8b fb ?? mov edi, ebx
   0f 8c 06 ff ff ff ?? jl basic block L26
  
  L47: 8b 75 c8 ?? mov esi, dword ss:[ebp + 0xc8<200,-56>]
   8b 55 cc ?? mov edx, dword ss:[ebp + 0xcc<204,-52>]
   33 db ?? xor ebx, ebx
  
  L48: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
   3b 46 80 ?? cmp eax, dword ds:[esi + 0x80<128,-128>]
   0f 85 91 00 00 00 ?? jne basic block L70
  
  L49: 8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
   3b 06 ?? cmp eax, dword ds:[esi]
   0f 85 86 00 00 00 ?? jne basic block L70
  
  L50: 81 45 f8 00 80 00 00 ?? add dword ss:[ebp + 0xf8<248,-8>], 0x00008000<32768>
   81 45 dc 04 02 00 00 ?? add dword ss:[ebp + 0xdc<220,-36>], 0x00000204<516>
   d1 65 e0 ?? shl dword ss:[ebp + 0xe0<224,-32>], 1
   ff 45 f4 ?? inc dword ss:[ebp + 0xf4<244,-12>]
   83 c6 04 ?? add esi, 4
   83 7d f4 20 ?? cmp dword ss:[ebp + 0xf4<244,-12>], 0x20<32>
   89 75 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], esi
   0f 8c ee fd ff ff ?? jl basic block L6
  
  L51: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
   3b 02 ?? cmp eax, dword ds:[edx]
   75 5f ?? jne basic block L71
  
  L52: 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   3b 42 04 ?? cmp eax, dword ds:[edx + 4]
   75 57 ?? jne basic block L71
  
  L53: 83 c2 14 ?? add edx, 0x14<20>
   ff 45 e4 ?? inc dword ss:[ebp + 0xe4<228,-28>]
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   3b 05 5c 6b 44 00 ?? cmp eax, dword ds:[0x00446b5c]
   89 55 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], edx
   0f 8c 95 fd ff ff ?? jl basic block L4
  
  L54: 33 c0 ?? xor eax, eax
  
  L55: 5f ?? pop edi
   5e ?? pop esi
  
  L56: 5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  L57: 6a fe ?? push 0xfe<254,-2>
   eb 36 ?? jmp basic block L72
  
  L58: 6a fc ?? push 0xfc<252,-4>
   eb 32 ?? jmp basic block L72
  
  L59: 6a fa ?? push 0xfa<250,-6>
   eb 2e ?? jmp basic block L72
  
  L60: 6a f8 ?? push 0xf8<248,-8>
   eb 2a ?? jmp basic block L72
  
  L61: 6a f9 ?? push 0xf9<249,-7>
   eb 26 ?? jmp basic block L72
  
  L62: 6a fb ?? push 0xfb<251,-5>
   eb 22 ?? jmp basic block L72
  
  L63: 6a f7 ?? push 0xf7<247,-9>
   eb 1e ?? jmp basic block L72
  
  L64: 6a f5 ?? push 0xf5<245,-11>
   eb 1a ?? jmp basic block L72
  
  L65: 6a f4 ?? push 0xf4<244,-12>
   eb 16 ?? jmp basic block L72
  
  L66: 6a f3 ?? push 0xf3<243,-13>
   eb 12 ?? jmp basic block L72
  
  L67: 6a f6 ?? push 0xf6<246,-10>
   eb 0e ?? jmp basic block L72
  
  L68: 6a f1 ?? push 0xf1<241,-15>
   eb 0a ?? jmp basic block L72
  
  L69: 6a f2 ?? push 0xf2<242,-14>
   eb 06 ?? jmp basic block L72
  
  L70: 6a f0 ?? push 0xf0<240,-16>
   eb 02 ?? jmp basic block L72
  
  L71: 6a ef ?? push 0xef<239,-17>
  
  L72: 58 ?? pop eax
   eb be ?? jmp basic block L55
  
  