00874090 mov eax, dword ptr [esp + 0xc]
00874094 test eax, eax
00874096 je 0x8740f0
00874098 cmp dword ptr [0x1df4088], 0
0087409f jne 0x8740f0
008740a1 cmp ecx, 2
008740a4 jne 0x8740dc
008740a6 mov ecx, dword ptr [esp + 4]
008740aa cmp ecx, 3
008740ad jne 0x8740bb
008740af push -1
008740b1 push 8
008740b3 call 0x873fc0
008740b8 ret 0xc
008740bb test ecx, ecx
008740bd jne 0x8740cb
008740bf push -1
008740c1 push 4
008740c3 call 0x873fc0
008740c8 ret 0xc
008740cb cmp ecx, 1
008740ce jne 0x8740f0
008740d0 push -1
008740d2 push 3
008740d4 call 0x873fc0
008740d9 ret 0xc
008740dc cmp ecx, 1
008740df jne 0x8740f0
008740e1 cmp dword ptr [esp + 4], 0x12
008740e6 jne 0x8740f0
008740e8 push ecx
008740e9 push 0x12
008740eb call 0x873fc0
008740f0 ret 0xc
008740f3 or ah, cl
008740f5 int3 
008740f6 int3 
008740f7 int3 
008740f8 int3 
008740f9 int3 
008740fa int3 
008740fb int3 
008740fc int3 
008740fd int3 
008740fe int3 
008740ff int3 
00874100 push ecx
00874101 movzx eax, byte ptr [edx + 0x7d]
00874105 cmp eax, 0x14
00874108 jl 0x87410f
0087410a mov eax, 0x14
0087410f push ebx
00874110 xor ebx, ebx
00874112 mov dword ptr [edi + 0xb90], eax
00874118 test eax, eax
0087411a jle 0x8741b8
00874120 push ebp
00874121 sub edx, edi
00874123 push esi
00874124 mov esi, edi
00874126 lea eax, [edi + 0xb94]
0087412c lea ecx, [edi + 0x5f0]
00874132 mov dword ptr [esp + 0xc], edx
00874136 jmp 0x874144
00874138 jmp 0x874140
0087413a lea ebx, [ebx]
00874140 mov edx, dword ptr [esp + 0xc]
00874144 cmp ebx, 0x13
00874147 ja 0x87414e
00874149 mov edx, dword ptr [edx + esi]
0087414c jmp 0x874150
0087414e xor edx, edx
00874150 mov dword ptr [esi], edx
00874152 mov edx, 0x24
00874157 jmp 0x874160
00874159 lea esp, [esp]
00874160 xor ebp, ebp
00874162 mov word ptr [ecx - 0x5a0], bp
00874169 mov word ptr [ecx], bp
0087416c add ecx, 2
0087416f dec edx
00874170 jne 0x874160
00874172 pxor xmm0, xmm0
00874176 movq qword ptr [eax], xmm0
0087417a movq qword ptr [eax + 8], xmm0
0087417f movq qword ptr [eax + 0x10], xmm0
00874184 movq qword ptr [eax + 0x18], xmm0
00874189 movq qword ptr [eax + 0x20], xmm0
0087418e movq qword ptr [eax + 0x28], xmm0
00874193 movq qword ptr [eax + 0x30], xmm0
00874198 movq qword ptr [eax + 0x38], xmm0
0087419d movq qword ptr [eax + 0x40], xmm0
008741a2 movq qword ptr [eax + 0x48], xmm0
008741a7 inc ebx
008741a8 add esi, 4
008741ab add eax, 0x50
008741ae cmp ebx, dword ptr [edi + 0xb90]
008741b4 jl 0x874140
008741b6 pop esi
008741b7 pop ebp
008741b8 pop ebx
008741b9 pop ecx
008741ba ret 
008741bb or esp, 0xffffffcc
008741be int3 
008741bf int3 
008741c0 mov edx, 0x50
008741c5 mov ecx, esi
008741c7 call 0x4c7880
008741cc test eax, eax
008741ce jne 0x8741e4
008741d0 lea edx, [eax + 0x50]
008741d3 mov ecx, esi
008741d5 call 0x4c7970
008741da test eax, eax
008741dc jne 0x8741e4
008741de mov eax, 0x14
008741e3 ret 
008741e4 mov ecx, 0x14
008741e9 test eax, eax
008741eb je 0x8741f9
008741ed mov eax, dword ptr [eax + 0x1c]
008741f0 test eax, eax
008741f2 je 0x8741f9
008741f4 mov eax, dword ptr [eax + 4]
008741f7 jmp 0x8741fb
008741f9 xor eax, eax
008741fb add eax, -0x27
008741fe cmp eax, 9
00874201 ja 0x87424f
00874203 jmp dword ptr [eax*4 + 0x874254]
0087420a mov ecx, 0x15
0087420f mov eax, ecx
00874211 ret 
00874212 mov ecx, 0x16
00874217 mov eax, ecx
00874219 ret 
0087421a mov ecx, 0x17
0087421f mov eax, ecx
00874221 ret 
00874222 mov ecx, 0x18
00874227 mov eax, ecx
00874229 ret 
0087422a mov ecx, 0x19
0087422f mov eax, ecx
00874231 ret 
00874232 mov ecx, 0x1a
00874237 mov eax, ecx
00874239 ret 
0087423a mov ecx, 0x1b
0087423f mov eax, ecx
00874241 ret 
00874242 mov ecx, 0x1c
00874247 mov eax, ecx
00874249 ret 
0087424a mov ecx, 0x1d
0087424f mov eax, ecx
00874251 ret 
00874252 mov edi, edi
00874254 dec edi
00874255 inc edx
00874256 xchg dword ptr [eax], eax
00874258 or al, byte ptr [edx - 0x79]
0087425b add byte ptr [edx], dl
0087425d inc edx
0087425e xchg dword ptr [eax], eax
00874260 sbb al, byte ptr [edx - 0x79]
00874263 add byte ptr [edx], ah
00874265 inc edx
00874266 xchg dword ptr [eax], eax
00874268 sub al, byte ptr [edx - 0x79]
0087426b add byte ptr [edx], dh
0087426d inc edx
0087426e xchg dword ptr [eax], eax
00874270 cmp al, byte ptr [edx - 0x79]
00874273 add byte ptr [edx + 0x42], al
00874276 xchg dword ptr [eax], eax
00874278 dec edx
00874279 inc edx
0087427a xchg dword ptr [eax], eax
0087427c int3 
0087427d int3 
0087427e int3 
0087427f int3 
00874280 push 0x23c4
00874285 xor dl, dl
00874287 mov ecx, 0x1df1cd8
0087428c call 0xd95820
00874291 ret 
00874292 int3 
00874294 int3 
00874295 int3 
00874296 int3 
00874297 int3 
00874298 int3 
00874299 int3 
0087429a int3 
0087429b int3 
0087429c int3 
0087429d int3 
0087429e int3 
0087429f int3 
008742a0 cmp dword ptr [0x1df408c], 0
008742a7 je 0x8742c1
008742a9 mov eax, dword ptr [0x1ce716c]
008742ae cmp dword ptr [eax + 0x1bc], 3
008742b5 je 0x8742c1
008742b7 mov dword ptr [0x1df408c], 0
008742c1 cmp dword ptr [0x1df4090], 0
008742c8 je 0x874302
008742ca call 0x4120b0
008742cf cmp dword ptr [eax + 0x34], 0
008742d3 je 0x8742f8
008742d5 mov ecx, dword ptr [eax + 0x2c]
008742d8 lea ecx, [ecx + ecx*2]
008742db mov eax, dword ptr [eax + ecx*4 + 0x14]
008742df cmp eax, 0xa
008742e2 je 0x8742e9
008742e4 cmp eax, 0x12
008742e7 jne 0x8742f8
008742e9 mov edx, dword ptr [0x1ce716c]
008742ef cmp dword ptr [edx + 0x1bc], 3
008742f6 je 0x874302
008742f8 mov dword ptr [0x1df4090], 0
00874302 movss xmm0, dword ptr [0x1df4098]
0087430a subss xmm0, dword ptr [esp + 4]
00874310 xorps xmm1, xmm1
00874313 comiss xmm1, xmm0
00874316 movss dword ptr [0x1df4098], xmm0
0087431e jbe 0x874330
00874320 movss xmm0, dword ptr [0xec7048]
00874328 movss dword ptr [0x1df4098], xmm0
00874330 ret 4
00874333 int3 
00874335 int3 
00874336 int3 
00874337 int3 
00874338 int3 
00874339 int3 
0087433a int3 
0087433b int3 
0087433c int3 
0087433d int3 
0087433e int3 
0087433f int3 
00874340 mov eax, ecx
00874342 test eax, eax
00874344 je 0x874358
00874346 cmp dword ptr [0x1df4088], 0
0087434d jne 0x874358
0087434f push 1
00874351 push 8
00874353 call 0x873fc0
00874358 ret 
00874359 xor al, 0xcc
0087435b int3 
0087435c int3 
0087435d int3 
0087435e int3 
0087435f int3 
00874360 mov eax, ecx
00874362 test eax, eax
00874364 je 0x87438c
00874366 cmp dword ptr [0x1df4088], 0
0087436d jne 0x87438c
0087436f mov edx, dword ptr [eax + 0x4c]
00874372 mov ecx, 3
00874377 cmp edx, dword ptr [0x1dee624]
0087437d jne 0x874384
0087437f mov ecx, 4
00874384 push 1
00874386 push ecx
00874387 call 0x873fc0
0087438c ret 
0087438d ret 
0087438e int3 
0087438f int3 
00874390 mov eax, ecx
00874392 test eax, eax
00874394 je 0x8743a8
00874396 cmp dword ptr [0x1df4088], 0
0087439d jne 0x8743a8
0087439f push 1
008743a1 push 7
008743a3 call 0x873fc0
008743a8 ret 
008743a9 movsb byte ptr es:[edi], byte ptr [esi]
008743aa int3 
008743ab int3 
008743ac int3 
008743ad int3 
008743ae int3 
008743af int3 
008743b0 mov eax, ecx
008743b2 test eax, eax
008743b4 je 0x8743cd
008743b6 cmp dword ptr [0x1df4088], 0
008743bd jne 0x8743cd
008743bf cmp edx, 0xd
008743c2 je 0x8743cd
008743c4 push 1
008743c6 push 0xd
008743c8 call 0x873fc0
008743cd ret 
008743ce das 
008743cf int3 
008743d0 mov eax, ecx
008743d2 test eax, eax
008743d4 je 0x8743e8
008743d6 cmp dword ptr [0x1df4088], 0
008743dd jne 0x8743e8
008743df push 1
008743e1 push 0x13
008743e3 call 0x873fc0
008743e8 ret 
008743e9 xor ecx, esp
008743eb int3 
008743ec int3 
008743ed int3 
008743ee int3 
008743ef int3 
008743f0 mov eax, ecx
008743f2 push esi
008743f3 mov esi, edx
008743f5 test eax, eax
008743f7 je 0x87441a
008743f9 test esi, esi
008743fb je 0x87441a
008743fd cmp dword ptr [0x1df4088], 0
00874404 jne 0x87441a
00874406 push 1
00874408 push 0xe
0087440a call 0x873fc0
0087440f push 1
00874411 push 0xf
00874413 mov eax, esi
00874415 call 0x873fc0
0087441a pop esi
0087441b ret 
0087441c int3 
0087441d int3 
0087441e int3 
0087441f int3 
00874420 mov edx, dword ptr [esp + 4]
00874424 xorps xmm0, xmm0
00874427 push esi
00874428 mov esi, ecx
0087442a and esi, 1
0087442d push edi
0087442e je 0x874444
00874430 lea edi, [eax + eax*8]
00874433 movsx edi, word ptr [edx + edi*8 + 0x78]
00874438 xorps xmm1, xmm1
0087443b cvtsi2ss xmm1, edi
0087443f jmp 0x874530
00874444 test cl, 2
00874447 je 0x87445d
00874449 lea edi, [eax + eax*8]
0087444c movsx edi, word ptr [edx + edi*8 + 0x7a]
00874451 xorps xmm1, xmm1
00874454 cvtsi2ss xmm1, edi
00874458 jmp 0x874530
0087445d test cl, 4
00874460 je 0x874476
00874462 lea edi, [eax + eax*8]
00874465 movsx edi, word ptr [edx + edi*8 + 0x7c]
0087446a xorps xmm1, xmm1
0087446d cvtsi2ss xmm1, edi
00874471 jmp 0x874530
00874476 test cl, 8
00874479 je 0x87448f
0087447b lea edi, [eax + eax*8]
0087447e movsx edi, word ptr [edx + edi*8 + 0x7e]
00874483 xorps xmm1, xmm1
00874486 cvtsi2ss xmm1, edi
0087448a jmp 0x874530
0087448f test cl, 0x10
00874492 je 0x8744ab
00874494 lea edi, [eax + eax*8]
00874497 movsx edi, word ptr [edx + edi*8 + 0x80]
0087449f xorps xmm1, xmm1
008744a2 cvtsi2ss xmm1, edi
008744a6 jmp 0x874530
008744ab test cl, 0x20
008744ae je 0x8744c4
008744b0 lea edi, [eax + eax*8]
008744b3 movsx edi, word ptr [edx + edi*8 + 0x82]
008744bb xorps xmm1, xmm1
008744be cvtsi2ss xmm1, edi
008744c2 jmp 0x874530
008744c4 test cl, 0x40
008744c7 je 0x8744dd
008744c9 lea edi, [eax + eax*8]
008744cc movsx edi, word ptr [edx + edi*8 + 0x84]
008744d4 xorps xmm1, xmm1
008744d7 cvtsi2ss xmm1, edi
008744db jmp 0x874530
008744dd test cl, cl
008744df jns 0x8744f5
008744e1 lea edi, [eax + eax*8]
008744e4 movsx edi, word ptr [edx + edi*8 + 0x86]
008744ec xorps xmm1, xmm1
008744ef cvtsi2ss xmm1, edi
008744f3 jmp 0x874530
008744f5 test ecx, 0x100
008744fb je 0x874511
008744fd lea edi, [eax + eax*8]
00874500 movsx edi, word ptr [edx + edi*8 + 0x88]
00874508 xorps xmm1, xmm1
0087450b cvtsi2ss xmm1, edi
0087450f jmp 0x874530
00874511 test ecx, 0x200
00874517 je 0x87452d
00874519 lea edi, [eax + eax*8]
0087451c movsx edi, word ptr [edx + edi*8 + 0x8a]
00874524 xorps xmm1, xmm1
00874527 cvtsi2ss xmm1, edi
0087452b jmp 0x874530
0087452d movaps xmm1, xmm0
00874530 mov edi, dword ptr [esp + 0x10]
00874534 movss dword ptr [edi], xmm1
00874538 pop edi
00874539 test esi, esi
0087453b pop esi
0087453c je 0x87455b
0087453e lea eax, [eax + eax*8]
00874541 movsx ecx, word ptr [edx + eax*8 + 0x618]
00874549 mov edx, dword ptr [esp + 0xc]
0087454d xorps xmm0, xmm0
00874550 cvtsi2ss xmm0, ecx
00874554 movss dword ptr [edx], xmm0
00874558 ret 0xc
0087455b test cl, 2
0087455e je 0x87457d
00874560 lea eax, [eax + eax*8]
00874563 movsx ecx, word ptr [edx + eax*8 + 0x61a]
0087456b mov edx, dword ptr [esp + 0xc]
0087456f xorps xmm0, xmm0
00874572 cvtsi2ss xmm0, ecx
00874576 movss dword ptr [edx], xmm0
0087457a ret 0xc
0087457d test cl, 4
00874580 je 0x87459f
00874582 lea eax, [eax + eax*8]
00874585 movsx ecx, word ptr [edx + eax*8 + 0x61c]
0087458d mov edx, dword ptr [esp + 0xc]
00874591 xorps xmm0, xmm0
00874594 cvtsi2ss xmm0, ecx
00874598 movss dword ptr [edx], xmm0
0087459c ret 0xc
0087459f test cl, 8
008745a2 je 0x8745c1
008745a4 lea eax, [eax + eax*8]
008745a7 movsx ecx, word ptr [edx + eax*8 + 0x61e]
008745af mov edx, dword ptr [esp + 0xc]
008745b3 xorps xmm0, xmm0
008745b6 cvtsi2ss xmm0, ecx
008745ba movss dword ptr [edx], xmm0
008745be ret 0xc
008745c1 test cl, 0x10
008745c4 je 0x8745e3
008745c6 lea eax, [eax + eax*8]
008745c9 movsx ecx, word ptr [edx + eax*8 + 0x620]
008745d1 mov edx, dword ptr [esp + 0xc]
008745d5 xorps xmm0, xmm0
008745d8 cvtsi2ss xmm0, ecx
008745dc movss dword ptr [edx], xmm0
008745e0 ret 0xc
008745e3 test cl, 0x20
008745e6 je 0x874605
008745e8 lea eax, [eax + eax*8]
008745eb movsx ecx, word ptr [edx + eax*8 + 0x622]
008745f3 mov edx, dword ptr [esp + 0xc]
008745f7 xorps xmm0, xmm0
008745fa cvtsi2ss xmm0, ecx
008745fe movss dword ptr [edx], xmm0
00874602 ret 0xc
00874605 test cl, 0x40
00874608 je 0x874627
0087460a lea eax, [eax + eax*8]
0087460d movsx ecx, word ptr [edx + eax*8 + 0x624]
00874615 mov edx, dword ptr [esp + 0xc]
00874619 xorps xmm0, xmm0
0087461c cvtsi2ss xmm0, ecx
00874620 movss dword ptr [edx], xmm0
00874624 ret 0xc
00874627 test cl, cl
00874629 jns 0x874648
0087462b lea eax, [eax + eax*8]
0087462e movsx ecx, word ptr [edx + eax*8 + 0x626]
00874636 mov edx, dword ptr [esp + 0xc]
0087463a xorps xmm0, xmm0
0087463d cvtsi2ss xmm0, ecx
00874641 movss dword ptr [edx], xmm0
00874645 ret 0xc
00874648 test ecx, 0x100
0087464e je 0x87466d
00874650 lea eax, [eax + eax*8]
00874653 movsx ecx, word ptr [edx + eax*8 + 0x628]
0087465b mov edx, dword ptr [esp + 0xc]
0087465f xorps xmm0, xmm0
00874662 cvtsi2ss xmm0, ecx
00874666 movss dword ptr [edx], xmm0
0087466a ret 0xc
0087466d test ecx, 0x200
00874673 je 0x874687
00874675 lea eax, [eax + eax*8]
00874678 movsx ecx, word ptr [edx + eax*8 + 0x62a]
00874680 xorps xmm0, xmm0
00874683 cvtsi2ss xmm0, ecx
00874687 mov edx, dword ptr [esp + 0xc]
0087468b movss dword ptr [edx], xmm0
0087468f ret 0xc
00874692 nop 
00874693 int3 
00874694 int3 
00874695 int3 
00874696 int3 
00874697 int3 
00874698 int3 
00874699 int3 
0087469a int3 
0087469b int3 
0087469c int3 
0087469d int3 
0087469e int3 
0087469f int3 
008746a0 mov edx, dword ptr [esp + 4]
008746a4 push ebx
008746a5 mov ebx, dword ptr [esp + 0xc]
008746a9 jmp dword ptr [ebx*4 + 0x874d14]
008746b0 xorps xmm2, xmm2
008746b3 xorps xmm3, xmm3
008746b6 lea eax, [eax + eax*8]
008746b9 movsx ecx, word ptr [edx + eax*8 + 0x52]
008746be cvtsi2ss xmm2, ecx
008746c2 mulss xmm2, dword ptr [0xec704c]
008746ca movsx ecx, word ptr [edx + eax*8 + 0x54]
008746cf lea eax, [edx + eax*8]
008746d2 movsx edx, word ptr [eax + 0x50]
008746d6 cvtsi2ss xmm3, ecx
008746da mulss xmm3, dword ptr [0xec7048]
008746e2 movsx ecx, word ptr [eax + 0x58]
008746e6 xorps xmm1, xmm1
008746e9 cvtsi2ss xmm1, edx
008746ed movsx edx, word ptr [eax + 0x56]
008746f1 addss xmm2, xmm1
008746f5 addss xmm2, xmm3
008746f9 xorps xmm3, xmm3
008746fc cvtsi2ss xmm3, edx
00874700 addss xmm2, xmm3
00874704 movsx edx, word ptr [eax + 0x5a]
00874708 xorps xmm3, xmm3
0087470b cvtsi2ss xmm3, ecx
0087470f movsx ecx, word ptr [eax + 0x5e]
00874713 addss xmm2, xmm3
00874717 xorps xmm3, xmm3
0087471a cvtsi2ss xmm3, edx
0087471e movsx edx, word ptr [eax + 0x60]
00874722 addss xmm2, xmm3
00874726 xorps xmm3, xmm3
00874729 cvtsi2ss xmm3, ecx
0087472d movsx ecx, word ptr [eax + 0x62]
00874731 addss xmm2, xmm3
00874735 xorps xmm3, xmm3
00874738 cvtsi2ss xmm3, edx
0087473c movsx edx, word ptr [eax + 0x64]
00874740 addss xmm2, xmm3
00874744 xorps xmm3, xmm3
00874747 cvtsi2ss xmm3, ecx
0087474b movsx ecx, word ptr [eax + 0x66]
0087474f .byte 0xf3