Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 7c ?? sub esp, 0x7c<124>
   a1 44 44 44 00 ?? mov eax, dword ds:[0x00444444]
   33 c5 ?? xor eax, ebp
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   53 ?? push ebx
   33 db ?? xor ebx, ebx
   56 ?? push esi
   33 f6 ?? xor esi, esi
   89 45 88 ?? mov dword ss:[ebp + 0x88<136,-120>], eax
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   46 ?? inc esi
   33 c9 ?? xor ecx, ecx
   57 ?? push edi
   89 45 90 ?? mov dword ss:[ebp + 0x90<144,-112>], eax
   8d 7d e0 ?? lea edi, ss:[ebp + 0xe0<224,-32>]
   89 5d 8c ?? mov dword ss:[ebp + 0x8c<140,-116>], ebx
   89 75 98 ?? mov dword ss:[ebp + 0x98<152,-104>], esi
   89 5d b4 ?? mov dword ss:[ebp + 0xb4<180,-76>], ebx
   89 5d a8 ?? mov dword ss:[ebp + 0xa8<168,-88>], ebx
   89 5d a4 ?? mov dword ss:[ebp + 0xa4<164,-92>], ebx
   89 5d a0 ?? mov dword ss:[ebp + 0xa0<160,-96>], ebx
   89 5d 9c ?? mov dword ss:[ebp + 0x9c<156,-100>], ebx
   89 5d b0 ?? mov dword ss:[ebp + 0xb0<176,-80>], ebx
   89 5d 94 ?? mov dword ss:[ebp + 0x94<148,-108>], ebx
   39 5d 24 ?? cmp dword ss:[ebp + 0x24<36>], ebx
   75 1f ?? jne basic block L5
  
  L2: e8 3b 45 fe ff ?? call function 0x0040e097
  
  L3: 53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   53 ?? push ebx
   c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
   e8 6b 06 fe ff ?? call function 0x0040a1d7
  
  L4: 83 c4 14 ?? add esp, 0x14<20>
   33 c0 ?? xor eax, eax
   e9 4e 06 00 00 ?? jmp basic block L187
  
  L5: 8b 55 10 ?? mov edx, dword ss:[ebp + 0x10<16>]
   89 55 ac ?? mov dword ss:[ebp + 0xac<172,-84>], edx
  
  L6: 8a 02 ?? mov al, byte ds:[edx]
   3c 20 ?? cmp al, 0x20<32>
   74 0c ?? je basic block L10
  
  L7: 3c 09 ?? cmp al, 9
   74 08 ?? je basic block L10
  
  L8: 3c 0a ?? cmp al, 10
   74 04 ?? je basic block L10
  
  L9: 3c 0d ?? cmp al, 13
   75 03 ?? jne basic block L11
  
  L10: 42 ?? inc edx
   eb eb ?? jmp basic block L6
  
  L11: b3 30 ?? mov bl, 0x30<48>
  
  L12: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
   83 f9 0b ?? cmp ecx, 11
   0f 87 2f 02 00 00 ?? ja basic block L94
  
  L13: ff 24 8d d4 a1 42 00 ?? jmp dword ds:[0x0042a1d4 + ecx * 4]
  
  L14: 8a c8 ?? mov cl, al
   80 e9 31 ?? sub cl, 0x31<49>
   80 f9 08 ?? cmp cl, 8
   77 06 ?? ja basic block L17
  
  L15: 6a 03 ?? push 3
  
  L16: 59 ?? pop ecx
   4a ?? dec edx
   eb dd ?? jmp basic block L12
  
  L17: 8b 4d 24 ?? mov ecx, dword ss:[ebp + 0x24<36>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   8b 89 bc 00 00 00 ?? mov ecx, dword ds:[ecx + 0x000000bc<188>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   3a 01 ?? cmp al, byte ds:[ecx]
   75 05 ?? jne basic block L20
  
  L18: 6a 05 ?? push 5
  
  L19: 59 ?? pop ecx
   eb c7 ?? jmp basic block L12
  
  L20: 0f be c0 ?? movsx eax, al
   83 e8 2b ?? sub eax, 0x2b<43>
   74 1d ?? je basic block L25
  
  L21: 48 ?? dec eax
   48 ?? dec eax
   74 0d ?? je basic block L24
  
  L22: 83 e8 03 ?? sub eax, 3
   0f 85 8b 01 00 00 ?? jne basic block L79
  
  L23: 8b ce ?? mov ecx, esi
   eb ae ?? jmp basic block L12
  
  L24: 6a 02 ?? push 2
   59 ?? pop ecx
   c7 45 8c 00 80 00 00 ?? mov dword ss:[ebp + 0x8c<140,-116>], 0x00008000<32768>
   eb a2 ?? jmp basic block L12
  
  L25: 83 65 8c 00 ?? and dword ss:[ebp + 0x8c<140,-116>], 0
   6a 02 ?? push 2
   59 ?? pop ecx
   eb 99 ?? jmp basic block L12
  
  L26: 8a c8 ?? mov cl, al
   80 e9 31 ?? sub cl, 0x31<49>
   89 75 a8 ?? mov dword ss:[ebp + 0xa8<168,-88>], esi
   80 f9 08 ?? cmp cl, 8
   76 a9 ?? jbe basic block L15
  
  L27: 8b 4d 24 ?? mov ecx, dword ss:[ebp + 0x24<36>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   8b 89 bc 00 00 00 ?? mov ecx, dword ds:[ecx + 0x000000bc<188>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   3a 01 ?? cmp al, byte ds:[ecx]
   75 04 ?? jne basic block L29
  
  L28: 6a 04 ?? push 4
   eb ad ?? jmp basic block L19
  
  L29: 3c 2b ?? cmp al, 0x2b<43>
   74 28 ?? je basic block L37
  
  L30: 3c 2d ?? cmp al, 0x2d<45>
   74 24 ?? je basic block L37
  
  L31: 3a c3 ?? cmp al, bl
   74 b9 ?? je basic block L23
  
  L32: 3c 43 ?? cmp al, 0x43<67>
   0f 8e 3c 01 00 00 ?? jle basic block L79
  
  L33: 3c 45 ?? cmp al, 0x45<69>
   7e 10 ?? jle basic block L36
  
  L34: 3c 63 ?? cmp al, 0x63<99>
   0f 8e 30 01 00 00 ?? jle basic block L79
  
  L35: 3c 65 ?? cmp al, 0x65<101>
   0f 8f 28 01 00 00 ?? jg basic block L79
  
  L36: 6a 06 ?? push 6
   eb 81 ?? jmp basic block L19
  
  L37: 4a ?? dec edx
   6a 0b ?? push 11
   e9 79 ff ff ff ?? jmp basic block L19
  
  L38: 8a c8 ?? mov cl, al
   80 e9 31 ?? sub cl, 0x31<49>
   80 f9 08 ?? cmp cl, 8
   0f 86 52 ff ff ff ?? jbe basic block L15
  
  L39: 8b 4d 24 ?? mov ecx, dword ss:[ebp + 0x24<36>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   8b 89 bc 00 00 00 ?? mov ecx, dword ds:[ecx + 0x000000bc<188>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   3a 01 ?? cmp al, byte ds:[ecx]
   0f 84 54 ff ff ff ?? je basic block L18
  
  L40: 3a c3 ?? cmp al, bl
   0f 84 66 ff ff ff ?? je basic block L23
  
  L41: 8b 55 ac ?? mov edx, dword ss:[ebp + 0xac<172,-84>]
   e9 14 01 00 00 ?? jmp basic block L86
  
  L42: 89 75 a8 ?? mov dword ss:[ebp + 0xa8<168,-88>], esi
   eb 1a ?? jmp basic block L48
  
  L43: 3c 39 ?? cmp al, 0x39<57>
   7f 1a ?? jg basic block L49
  
  L44: 83 7d b4 19 ?? cmp dword ss:[ebp + 0xb4<180,-76>], 0x19<25>
   73 0a ?? jae basic block L46
  
  L45: ff 45 b4 ?? inc dword ss:[ebp + 0xb4<180,-76>]
   2a c3 ?? sub al, bl
   88 07 ?? mov byte ds:[edi], al
   47 ?? inc edi
   eb 03 ?? jmp basic block L47
  
  L46: ff 45 b0 ?? inc dword ss:[ebp + 0xb0<176,-80>]
  
  L47: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
  
  L48: 3a c3 ?? cmp al, bl
   7d e2 ?? jge basic block L43
  
  L49: 8b 4d 24 ?? mov ecx, dword ss:[ebp + 0x24<36>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   8b 89 bc 00 00 00 ?? mov ecx, dword ds:[ecx + 0x000000bc<188>]
   8b 09 ?? mov ecx, dword ds:[ecx]
   3a 01 ?? cmp al, byte ds:[ecx]
   0f 84 5d ff ff ff ?? je basic block L28
  
  L50: 3c 2b ?? cmp al, 0x2b<43>
   74 89 ?? je basic block L37
  
  L51: 3c 2d ?? cmp al, 0x2d<45>
   74 85 ?? je basic block L37
  
  L52: e9 60 ff ff ff ?? jmp basic block L32
  
  L53: 83 7d b4 00 ?? cmp dword ss:[ebp + 0xb4<180,-76>], 0
   89 75 a8 ?? mov dword ss:[ebp + 0xa8<168,-88>], esi
   89 75 a4 ?? mov dword ss:[ebp + 0xa4<164,-92>], esi
   75 26 ?? jne basic block L62
  
  L54: eb 06 ?? jmp basic block L56
  
  L55: ff 4d b0 ?? dec dword ss:[ebp + 0xb0<176,-80>]
   8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
  
  L56: 3a c3 ?? cmp al, bl
   74 f6 ?? je basic block L55
  
  L57: eb 18 ?? jmp basic block L62
  
  L58: 3c 39 ?? cmp al, 0x39<57>
   7f d5 ?? jg basic block L50
  
  L59: 83 7d b4 19 ?? cmp dword ss:[ebp + 0xb4<180,-76>], 0x19<25>
   73 0b ?? jae basic block L61
  
  L60: ff 45 b4 ?? inc dword ss:[ebp + 0xb4<180,-76>]
   2a c3 ?? sub al, bl
   88 07 ?? mov byte ds:[edi], al
   47 ?? inc edi
   ff 4d b0 ?? dec dword ss:[ebp + 0xb0<176,-80>]
  
  L61: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
  
  L62: 3a c3 ?? cmp al, bl
   7d e4 ?? jge basic block L58
  
  L63: eb bb ?? jmp basic block L50
  
  L64: 2a c3 ?? sub al, bl
   89 75 a4 ?? mov dword ss:[ebp + 0xa4<164,-92>], esi
   3c 09 ?? cmp al, 9
   0f 87 6e ff ff ff ?? ja basic block L41
  
  L65: 6a 04 ?? push 4
   e9 9e fe ff ff ?? jmp basic block L16
  
  L66: 8d 4a fe ?? lea ecx, ds:[edx + 0xfe<254,-2>]
   89 4d ac ?? mov dword ss:[ebp + 0xac<172,-84>], ecx
   8a c8 ?? mov cl, al
   80 e9 31 ?? sub cl, 0x31<49>
   80 f9 08 ?? cmp cl, 8
   77 07 ?? ja basic block L68
  
  L67: 6a 09 ?? push 9
   e9 87 fe ff ff ?? jmp basic block L16
  
  L68: 0f be c0 ?? movsx eax, al
   83 e8 2b ?? sub eax, 0x2b<43>
   74 20 ?? je basic block L74
  
  L69: 48 ?? dec eax
   48 ?? dec eax
   74 10 ?? je basic block L73
  
  L70: 83 e8 03 ?? sub eax, 3
  
  L71: 0f 85 3b ff ff ff ?? jne basic block L41
  
  L72: 6a 08 ?? push 8
   e9 82 fe ff ff ?? jmp basic block L19
  
  L73: 83 4d 98 ff ?? or dword ss:[ebp + 0x98<152,-104>], 0xff<255,-1>
   6a 07 ?? push 7
   59 ?? pop ecx
   e9 40 fe ff ff ?? jmp basic block L12
  
  L74: 6a 07 ?? push 7
   e9 6f fe ff ff ?? jmp basic block L19
  
  L75: 89 75 a0 ?? mov dword ss:[ebp + 0xa0<160,-96>], esi
   eb 03 ?? jmp basic block L77
  
  L76: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
  
  L77: 3a c3 ?? cmp al, bl
   74 f9 ?? je basic block L76
  
  L78: 2c 31 ?? sub al, 0x31<49>
   3c 08 ?? cmp al, 8
   76 b8 ?? jbe basic block L67
  
  L79: 4a ?? dec edx
   eb 28 ?? jmp basic block L86
  
  L80: 8a c8 ?? mov cl, al
   80 e9 31 ?? sub cl, 0x31<49>
   80 f9 08 ?? cmp cl, 8
   76 ab ?? jbe basic block L67
  
  L81: 3a c3 ?? cmp al, bl
   eb bd ?? jmp basic block L71
  
  L82: 83 7d 20 00 ?? cmp dword ss:[ebp + 0x20<32>], 0
   74 47 ?? je basic block L93
  
  L83: 0f be c0 ?? movsx eax, al
   83 e8 2b ?? sub eax, 0x2b<43>
   8d 4a ff ?? lea ecx, ds:[edx + 0xff<255,-1>]
   89 4d ac ?? mov dword ss:[ebp + 0xac<172,-84>], ecx
   74 c2 ?? je basic block L74
  
  L84: 48 ?? dec eax
   48 ?? dec eax
   74 b2 ?? je basic block L73
  
  L85: 8b d1 ?? mov edx, ecx
  
  L86: 83 7d a8 00 ?? cmp dword ss:[ebp + 0xa8<168,-88>], 0
   8b 45 90 ?? mov eax, dword ss:[ebp + 0x90<144,-112>]
   89 10 ?? mov dword ds:[eax], edx
   0f 84 d9 03 00 00 ?? je basic block L182
  
  L87: 6a 18 ?? push 0x18<24>
   58 ?? pop eax
   39 45 b4 ?? cmp dword ss:[ebp + 0xb4<180,-76>], eax
   76 10 ?? jbe basic block L91
  
  L88: 80 7d f7 05 ?? cmp byte ss:[ebp + 0xf7<247,-9>], 5
   7c 03 ?? jl basic block L90
  
  L89: fe 45 f7 ?? inc byte ss:[ebp + 0xf7<247,-9>]
  
  L90: 4f ?? dec edi
   ff 45 b0 ?? inc dword ss:[ebp + 0xb0<176,-80>]
   89 45 b4 ?? mov dword ss:[ebp + 0xb4<180,-76>], eax
  
  L91: 83 7d b4 00 ?? cmp dword ss:[ebp + 0xb4<180,-76>], 0
   0f 86 de 03 00 00 ?? jbe basic block L185
  
  L92: eb 59 ?? jmp basic block L109
  
  L93: 6a 0a ?? push 10
   59 ?? pop ecx
   4a ?? dec edx
  
  L94: 83 f9 0a ?? cmp ecx, 10
   0f 85 bc fd ff ff ?? jne basic block L12
  
  L95: eb be ?? jmp basic block L86
  
  L96: 89 75 a0 ?? mov dword ss:[ebp + 0xa0<160,-96>], esi
   33 c9 ?? xor ecx, ecx
   eb 19 ?? jmp basic block L100
  
  L97: 3c 39 ?? cmp al, 0x39<57>
   7f 20 ?? jg basic block L103
  
  L98: 6b c9 0a ?? imul ecx, ecx, 10
   0f be f0 ?? movsx esi, al
   8d 4c 31 d0 ?? lea ecx, ds:[ecx + esi + 0xd0<208,-48>]
   81 f9 50 14 00 00 ?? cmp ecx, 0x00001450<5200>
   7f 09 ?? jg basic block L102
  
  L99: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
  
  L100: 3a c3 ?? cmp al, bl
   7d e3 ?? jge basic block L97
  
  L101: eb 05 ?? jmp basic block L103
  
  L102: b9 51 14 00 00 ?? mov ecx, 0x00001451<5201>
  
  L103: 89 4d 9c ?? mov dword ss:[ebp + 0x9c<156,-100>], ecx
   eb 0b ?? jmp basic block L106
  
  L104: 3c 39 ?? cmp al, 0x39<57>
   0f 8f 5b ff ff ff ?? jg basic block L79
  
  L105: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
  
  L106: 3a c3 ?? cmp al, bl
   7d f1 ?? jge basic block L104
  
  L107: e9 4f ff ff ff ?? jmp basic block L79
  
  L108: ff 4d b4 ?? dec dword ss:[ebp + 0xb4<180,-76>]
   ff 45 b0 ?? inc dword ss:[ebp + 0xb0<176,-80>]
  
  L109: 4f ?? dec edi
   80 3f 00 ?? cmp byte ds:[edi], 0
   74 f4 ?? je basic block L108
  
  L110: 8d 45 c4 ?? lea eax, ss:[ebp + 0xc4<196,-60>]
   50 ?? push eax
   ff 75 b4 ?? push dword ss:[ebp + 0xb4<180,-76>]
   8d 45 e0 ?? lea eax, ss:[ebp + 0xe0<224,-32>]
   50 ?? push eax
   e8 d9 26 00 00 ?? call function 0x0042c512
  
  L111: 8b 45 9c ?? mov eax, dword ss:[ebp + 0x9c<156,-100>]
   33 d2 ?? xor edx, edx
   83 c4 0c ?? add esp, 12
   39 55 98 ?? cmp dword ss:[ebp + 0x98<152,-104>], edx
   7d 02 ?? jge basic block L113
  
  L112: f7 d8 ?? neg eax
  
  L113: 03 45 b0 ?? add eax, dword ss:[ebp + 0xb0<176,-80>]
   39 55 a0 ?? cmp dword ss:[ebp + 0xa0<160,-96>], edx
   75 03 ?? jne basic block L115
  
  L114: 03 45 18 ?? add eax, dword ss:[ebp + 0x18<24>]
  
  L115: 39 55 a4 ?? cmp dword ss:[ebp + 0xa4<164,-92>], edx
   75 03 ?? jne basic block L117
  
  L116: 2b 45 1c ?? sub eax, dword ss:[ebp + 0x1c<28>]
  
  L117: 3d 50 14 00 00 ?? cmp eax, 0x00001450<5200>
   0f 8f 22 03 00 00 ?? jg basic block L183
  
  L118: 3d b0 eb ff ff ?? cmp eax, 0xffffebb0<4294962096,-5200>
   0f 8c 2e 03 00 00 ?? jl basic block L184
  
  L119: b9 10 55 44 00 ?? mov ecx, 0x00445510
   83 e9 60 ?? sub ecx, 0x60<96>
   89 45 ac ?? mov dword ss:[ebp + 0xac<172,-84>], eax
   3b c2 ?? cmp eax, edx
   0f 84 e9 02 00 00 ?? je basic block L181
  
  L120: 7d 0d ?? jge basic block L122
  
  L121: f7 d8 ?? neg eax
   b9 70 56 44 00 ?? mov ecx, 0x00445670
   89 45 ac ?? mov dword ss:[ebp + 0xac<172,-84>], eax
   83 e9 60 ?? sub ecx, 0x60<96>
  
  L122: 39 55 14 ?? cmp dword ss:[ebp + 0x14<20>], edx
   75 06 ?? jne basic block L124
  
  L123: 33 c0 ?? xor eax, eax
   66 89 45 c4 ?? mov word ss:[ebp + 0xc4<196,-60>], ax
  
  L124: 39 55 ac ?? cmp dword ss:[ebp + 0xac<172,-84>], edx
   0f 84 c6 02 00 00 ?? je basic block L181
  
  L125: eb 05 ?? jmp basic block L127
  
  L126: 8b 4d 84 ?? mov ecx, dword ss:[ebp + 0x84<132,-124>]
   33 d2 ?? xor edx, edx
  
  L127: 8b 45 ac ?? mov eax, dword ss:[ebp + 0xac<172,-84>]
   c1 7d ac 03 ?? sar dword ss:[ebp + 0xac<172,-84>], 3
   83 c1 54 ?? add ecx, 0x54<84>
   83 e0 07 ?? and eax, 7
   89 4d 84 ?? mov dword ss:[ebp + 0x84<132,-124>], ecx
   3b c2 ?? cmp eax, edx
   0f 84 9d 02 00 00 ?? je basic block L180
  
  L128: 6b c0 0c ?? imul eax, eax, 12
   03 c1 ?? add eax, ecx
   8b d8 ?? mov ebx, eax
   b8 00 80 00 00 ?? mov eax, 0x00008000<32768>
   66 39 03 ?? cmp word ds:[ebx], ax
   72 0e ?? jb basic block L130
  
  L129: 8b f3 ?? mov esi, ebx
   8d 7d b8 ?? lea edi, ss:[ebp + 0xb8<184,-72>]
   a5 ?? movsd
   a5 ?? movsd
   a5 ?? movsd
   ff 4d ba ?? dec dword ss:[ebp + 0xba<186,-70>]
   8d 5d b8 ?? lea ebx, ss:[ebp + 0xb8<184,-72>]
  
  L130: 0f b7 4b 0a ?? movzx ecx, word ds:[ebx + 10]
   33 c0 ?? xor eax, eax
   89 45 b0 ?? mov dword ss:[ebp + 0xb0<176,-80>], eax
   89 45 d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], eax
   89 45 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], eax
   89 45 dc ?? mov dword ss:[ebp + 0xdc<220,-36>], eax
   8b 45 ce ?? mov eax, dword ss:[ebp + 0xce<206,-50>]
   8b f1 ?? mov esi, ecx
   ba ff 7f 00 00 ?? mov edx, 0x00007fff<32767>
   33 f0 ?? xor esi, eax
   23 c2 ?? and eax, edx
   23 ca ?? and ecx, edx
   81 e6 00 80 00 00 ?? and esi, 0x00008000<32768>
   bf ff 7f 00 00 ?? mov edi, 0x00007fff<32767>
   8d 14 01 ?? lea edx, ds:[ecx + eax]
   89 75 90 ?? mov dword ss:[ebp + 0x90<144,-112>], esi
   0f b7 d2 ?? movzx edx, dx
   66 3b c7 ?? cmp ax, di
   0f 83 21 02 00 00 ?? jae basic block L178
  
  L131: 66 3b cf ?? cmp cx, di
   0f 83 18 02 00 00 ?? jae basic block L178
  
  L132: bf fd bf 00 00 ?? mov edi, 0x0000bffd<49149>
   66 3b d7 ?? cmp dx, di
   0f 87 0a 02 00 00 ?? ja basic block L178
  
  L133: be bf 3f 00 00 ?? mov esi, 0x00003fbf<16319>
   66 3b d6 ?? cmp dx, si
   77 0d ?? ja basic block L135
  
  L134: 33 c0 ?? xor eax, eax
   89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], eax
   89 45 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], eax
   e9 0e 02 00 00 ?? jmp basic block L179
  
  L135: 33 f6 ?? xor esi, esi
   66 3b c6 ?? cmp ax, si
   75 1f ?? jne basic block L140
  
  L136: 42 ?? inc edx
   f7 45 cc ff ff ff 7f ?? test dword ss:[ebp + 0xcc<204,-52>], 0x7fffffff
   75 15 ?? jne basic block L140
  
  L137: 39 75 c8 ?? cmp dword ss:[ebp + 0xc8<200,-56>], esi
   75 10 ?? jne basic block L140
  
  L138: 39 75 c4 ?? cmp dword ss:[ebp + 0xc4<196,-60>], esi
   75 0b ?? jne basic block L140
  
  L139: 33 c0 ?? xor eax, eax
   66 89 45 ce ?? mov word ss:[ebp + 0xce<206,-50>], ax
   e9 eb 01 00 00 ?? jmp basic block L180
  
  L140: 66 3b ce ?? cmp cx, si
   75 21 ?? jne basic block L145
  
  L141: 42 ?? inc edx
   f7 43 08 ff ff ff 7f ?? test dword ds:[ebx + 8], 0x7fffffff
   75 17 ?? jne basic block L145
  
  L142: 39 73 04 ?? cmp dword ds:[ebx + 4], esi
   75 12 ?? jne basic block L145
  
  L143: 39 33 ?? cmp dword ds:[ebx], esi
   75 0e ?? jne basic block L145
  
  L144: 89 75 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], esi
   89 75 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], esi
   89 75 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], esi
   e9 c5 01 00 00 ?? jmp basic block L180
  
  L145: 89 75 98 ?? mov dword ss:[ebp + 0x98<152,-104>], esi
   8d 7d d8 ?? lea edi, ss:[ebp + 0xd8<216,-40>]
   c7 45 a8 05 00 00 00 ?? mov dword ss:[ebp + 0xa8<168,-88>], 5
  
  L146: 8b 45 98 ?? mov eax, dword ss:[ebp + 0x98<152,-104>]
   8b 4d a8 ?? mov ecx, dword ss:[ebp + 0xa8<168,-88>]
   03 c0 ?? add eax, eax
   89 4d 9c ?? mov dword ss:[ebp + 0x9c<156,-100>], ecx
   85 c9 ?? test ecx, ecx
   7e 52 ?? jle basic block L154
  
  L147: 8d 44 05 c4 ?? lea eax, ss:[ebp + eax + 0xc4<196,-60>]
   89 45 a4 ?? mov dword ss:[ebp + 0xa4<164,-92>], eax
   8d 43 08 ?? lea eax, ds:[ebx + 8]
   89 45 a0 ?? mov dword ss:[ebp + 0xa0<160,-96>], eax
  
  L148: 8b 45 a0 ?? mov eax, dword ss:[ebp + 0xa0<160,-96>]
   8b 4d a4 ?? mov ecx, dword ss:[ebp + 0xa4<164,-92>]
   0f b7 09 ?? movzx ecx, word ds:[ecx]
   0f b7 00 ?? movzx eax, word ds:[eax]
   83 65 b4 00 ?? and dword ss:[ebp + 0xb4<180,-76>], 0
   0f af c1 ?? imul eax, ecx
   8b 4f fc ?? mov ecx, dword ds:[edi + 0xfc<252,-4>]
   8d 34 01 ?? lea esi, ds:[ecx + eax]
   3b f1 ?? cmp esi, ecx
   72 04 ?? jb basic block L150
  
  L149: 3b f0 ?? cmp esi, eax
   73 07 ?? jae basic block L151
  
  L150: c7 45 b4 01 00 00 00 ?? mov dword ss:[ebp + 0xb4<180,-76>], 1
  
  L151: 83 7d b4 00 ?? cmp dword ss:[ebp + 0xb4<180,-76>], 0
   89 77 fc ?? mov dword ds:[edi + 0xfc<252,-4>], esi
   74 03 ?? je basic block L153
  
  L152: 66 ff 07 ?? inc word ds:[edi]
  
  L153: 83 45 a4 02 ?? add dword ss:[ebp + 0xa4<164,-92>], 2
   83 6d a0 02 ?? sub dword ss:[ebp + 0xa0<160,-96>], 2
   ff 4d 9c ?? dec dword ss:[ebp + 0x9c<156,-100>]
   83 7d 9c 00 ?? cmp dword ss:[ebp + 0x9c<156,-100>], 0
   7f bb ?? jg basic block L148
  
  L154: 47 ?? inc edi
   47 ?? inc edi
   ff 45 98 ?? inc dword ss:[ebp + 0x98<152,-104>]
   ff 4d a8 ?? dec dword ss:[ebp + 0xa8<168,-88>]
   83 7d a8 00 ?? cmp dword ss:[ebp + 0xa8<168,-88>], 0
   7f 91 ?? jg basic block L146
  
  L155: 81 c2 02 c0 00 00 ?? add edx, 0x0000c002<49154>
   66 85 d2 ?? test dx, dx
   7e 37 ?? jle basic block L159
  
  L156: 8b 7d dc ?? mov edi, dword ss:[ebp + 0xdc<220,-36>]
   85 ff ?? test edi, edi
   78 2b ?? js basic block L158
  
  L157: 8b 75 d8 ?? mov esi, dword ss:[ebp + 0xd8<216,-40>]
   8b 45 d4 ?? mov eax, dword ss:[ebp + 0xd4<212,-44>]
   d1 65 d4 ?? shl dword ss:[ebp + 0xd4<212,-44>], 1
   c1 e8 1f ?? shr eax, 0x1f<31>
   8b ce ?? mov ecx, esi
   03 f6 ?? add esi, esi
   0b f0 ?? or esi, eax
   c1 e9 1f ?? shr ecx, 0x1f<31>
   8d 04 3f ?? lea eax, ds:[edi + edi]
   0b c1 ?? or eax, ecx
   81 c2 ff ff 00 00 ?? add edx, 0x0000ffff
   89 75 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], esi
   89 45 dc ?? mov dword ss:[ebp + 0xdc<220,-36>], eax
   66 85 d2 ?? test dx, dx
   7f ce ?? jg basic block L156
  
  L158: 66 85 d2 ?? test dx, dx
   7f 4d ?? jg basic block L166
  
  L159: 81 c2 ff ff 00 00 ?? add edx, 0x0000ffff
   66 85 d2 ?? test dx, dx
   7d 42 ?? jge basic block L166
  
  L160: 8b c2 ?? mov eax, edx
   f7 d8 ?? neg eax
   0f b7 f0 ?? movzx esi, ax
   03 d6 ?? add edx, esi
  
  L161: f6 45 d4 01 ?? test byte ss:[ebp + 0xd4<212,-44>], 1
   74 03 ?? je basic block L163
  
  L162: ff 45 b0 ?? inc dword ss:[ebp + 0xb0<176,-80>]
  
  L163: 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
   8b 7d d8 ?? mov edi, dword ss:[ebp + 0xd8<216,-40>]
   8b 4d d8 ?? mov ecx, dword ss:[ebp + 0xd8<216,-40>]
   d1 6d dc ?? shr dword ss:[ebp + 0xdc<220,-36>], 1
   c1 e0 1f ?? shl eax, 0x1f<31>
   d1 ef ?? shr edi, 1
   0b f8 ?? or edi, eax
   8b 45 d4 ?? mov eax, dword ss:[ebp + 0xd4<212,-44>]
   c1 e1 1f ?? shl ecx, 0x1f<31>
   d1 e8 ?? shr eax, 1
   0b c1 ?? or eax, ecx
   4e ?? dec esi
   89 7d d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], edi
   89 45 d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], eax
   75 d1 ?? jne basic block L161
  
  L164: 39 75 b0 ?? cmp dword ss:[ebp + 0xb0<176,-80>], esi
   74 05 ?? je basic block L166
  
  L165: 66 83 4d d4 01 ?? or word ss:[ebp + 0xd4<212,-44>], 1
  
  L166: b8 00 80 00 00 ?? mov eax, 0x00008000<32768>
   8b c8 ?? mov ecx, eax
   66 39 4d d4 ?? cmp word ss:[ebp + 0xd4<212,-44>], cx
   77 11 ?? ja basic block L168
  
  L167: 8b 4d d4 ?? mov ecx, dword ss:[ebp + 0xd4<212,-44>]
   81 e1 ff ff 01 00 ?? and ecx, 0x0001ffff
   81 f9 00 80 01 00 ?? cmp ecx, 0x00018000
   75 34 ?? jne basic block L175
  
  L168: 83 7d d6 ff ?? cmp dword ss:[ebp + 0xd6<214,-42>], 0xff<255,-1>
   75 2b ?? jne basic block L174
  
  L169: 83 65 d6 00 ?? and dword ss:[ebp + 0xd6<214,-42>], 0
   83 7d da ff ?? cmp dword ss:[ebp + 0xda<218,-38>], 0xff<255,-1>
   75 1c ?? jne basic block L173
  
  L170: 83 65 da 00 ?? and dword ss:[ebp + 0xda<218,-38>], 0
   b9 ff ff 00 00 ?? mov ecx, 0x0000ffff
   66 39 4d de ?? cmp word ss:[ebp + 0xde<222,-34>], cx
   75 07 ?? jne basic block L172
  
  L171: 66 89 45 de ?? mov word ss:[ebp + 0xde<222,-34>], ax
   42 ?? inc edx
   eb 0e ?? jmp basic block L175
  
  L172: 66 ff 45 de ?? inc word ss:[ebp + 0xde<222,-34>]
   eb 08 ?? jmp basic block L175
  
  L173: ff 45 da ?? inc dword ss:[ebp + 0xda<218,-38>]
   eb 03 ?? jmp basic block L175
  
  L174: ff 45 d6 ?? inc dword ss:[ebp + 0xd6<214,-42>]
  
  L175: b8 ff 7f 00 00 ?? mov eax, 0x00007fff<32767>
   66 3b d0 ?? cmp dx, ax
   72 23 ?? jb basic block L177
  
  L176: 33 c0 ?? xor eax, eax
   33 c9 ?? xor ecx, ecx
   66 39 45 90 ?? cmp word ss:[ebp + 0x90<144,-112>], ax
   89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], eax
   0f 94 c1 ?? sete cl
   89 45 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], eax
   49 ?? dec ecx
   81 e1 00 00 00 80 ?? and ecx, 0x80000000
   81 c1 00 80 ff 7f ?? add ecx, 0x7fff8000
   89 4d cc ?? mov dword ss:[ebp + 0xcc<204,-52>], ecx
   eb 3b ?? jmp basic block L180
  
  L177: 66 8b 45 d6 ?? mov ax, word ss:[ebp + 0xd6<214,-42>]
   0b 55 90 ?? or edx, dword ss:[ebp + 0x90<144,-112>]
   66 89 45 c4 ?? mov word ss:[ebp + 0xc4<196,-60>], ax
   8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
   89 45 c6 ?? mov dword ss:[ebp + 0xc6<198,-58>], eax
   8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
   89 45 ca ?? mov dword ss:[ebp + 0xca<202,-54>], eax
   66 89 55 ce ?? mov word ss:[ebp + 0xce<206,-50>], dx
   eb 1e ?? jmp basic block L180
  
  L178: 33 c0 ?? xor eax, eax
   66 85 f6 ?? test si, si
   0f 94 c0 ?? sete al
   83 65 c8 00 ?? and dword ss:[ebp + 0xc8<200,-56>], 0
   48 ?? dec eax
   25 00 00 00 80 ?? and eax, 0x80000000
   05 00 80 ff 7f ?? add eax, 0x7fff8000
   83 65 c4 00 ?? and dword ss:[ebp + 0xc4<196,-60>], 0
  
  L179: 89 45 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], eax
  
  L180: 83 7d ac 00 ?? cmp dword ss:[ebp + 0xac<172,-84>], 0
   0f 85 3c fd ff ff ?? jne basic block L126
  
  L181: 8b 45 cc ?? mov eax, dword ss:[ebp + 0xcc<204,-52>]
   0f b7 4d c4 ?? movzx ecx, word ss:[ebp + 0xc4<196,-60>]
   8b 75 c6 ?? mov esi, dword ss:[ebp + 0xc6<198,-58>]
   8b 55 ca ?? mov edx, dword ss:[ebp + 0xca<202,-54>]
   c1 e8 10 ?? shr eax, 0x10<16>
   eb 2f ?? jmp basic block L186
  
  L182: c7 45 94 04 00 00 00 ?? mov dword ss:[ebp + 0x94<148,-108>], 4
   eb 1e ?? jmp basic block L185
  
  L183: 33 f6 ?? xor esi, esi
   b8 ff 7f 00 00 ?? mov eax, 0x00007fff<32767>
   ba 00 00 00 80 ?? mov edx, 0x80000000
   33 c9 ?? xor ecx, ecx
   c7 45 94 02 00 00 00 ?? mov dword ss:[ebp + 0x94<148,-108>], 2
   eb 0f ?? jmp basic block L186
  
  L184: c7 45 94 01 00 00 00 ?? mov dword ss:[ebp + 0x94<148,-108>], 1
  
  L185: 33 c9 ?? xor ecx, ecx
   33 c0 ?? xor eax, eax
   33 d2 ?? xor edx, edx
   33 f6 ?? xor esi, esi
  
  L186: 8b 7d 88 ?? mov edi, dword ss:[ebp + 0x88<136,-120>]
   0b 45 8c ?? or eax, dword ss:[ebp + 0x8c<140,-116>]
   66 89 0f ?? mov word ds:[edi], cx
   66 89 47 0a ?? mov word ds:[edi + 10], ax
   8b 45 94 ?? mov eax, dword ss:[ebp + 0x94<148,-108>]
   89 77 02 ?? mov dword ds:[edi + 2], esi
   89 57 06 ?? mov dword ds:[edi + 6], edx
  
  L187: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   5f ?? pop edi
   5e ?? pop esi
   33 cd ?? xor ecx, ebp
   5b ?? pop ebx
   e8 7b f9 fd ff ?? call function 0x00409b4c
  
  L188: c9 ?? leave
   c3 ?? ret
  
  0x0042a1d4: a6 9b 42 00 fa 9b 42 00 50 9c 42 00 83 9c 42 00 |..B...B.P.B...B.|
  0x0042a1e4: c8 9c 42 00 00 9d 42 00 14 9d 42 00 6f 9d 42 00 |..B...B...B.o.B.|
  0x0042a1f4: 5a 9d 42 00 d9 9d 42 00 ce 9d 42 00 7d 9d 42 00 |Z.B...B...B.}.B.|
  
  