Function at 0x10026e70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [0x1006a00c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [0x1006b178]
mov dword [ebp - 0x164], ecx
mov ecx, esi
push edi
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov ebx, dword [ecx + 0x199c]
mov dword [ebp - 0xf4], ebx
cmp byte [ebx + 0x7b], 0
jne 0x100272c1
mov edx, dword [ebp + 0x10]
mov eax, edx
shr eax, 0xe
mov ecx, edx
not al
shr ecx, 0x14
and eax, 0xffffff01
and ecx, 0xffffff01
mov dword [ebp - 0xf8], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0x158], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x11c], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x138], eax
test cl, cl
je 0x10026f27
call fcn.1000cec0
mov esi, dword [0x1006b178]
mov ecx, dword [ebx + 0x1bc]
xor edx, edx
mov eax, dword [ebx + 0x1c4]
mov ebx, dword [ebp - 0x164]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.10002cc0
add esp, 4
mov dword [ebp - 0xd0], eax
cmp dword [esi + 0x19bc], eax
jne 0x10026f5d
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10026f6c
mov byte [esi + 0x19cf], 1
mov ecx, ebx
cmp ebx, 0xffffffff
jae 0x10026f89
mov dl, byte [ecx]
test dl, dl
je 0x10026f89
cmp dl, 0x23
jne 0x10026f83
cmp byte [ecx + 1], dl
je 0x10026f89
inc ecx
cmp ecx, 0xffffffff
jb 0x10026f73
movss xmm2, dword [esi + 0x18bc]
movss xmm0, dword [0x100675cc]
mov edi, dword [esi + 0x18b8]
movss dword [ebp - 0x140], xmm2
movss dword [ebp - 0x168], xmm0
cmp ebx, ecx
jne 0x10026fc0
xorps xmm6, xmm6
movss dword [ebp - 0x160], xmm6
jmp 0x10027024
movss xmm3, dword [0x100675a4]
lea eax, [ebp - 0x134]
push ecx
push ecx
push ebx
push ecx
mov dword [esp], 0xbf800000
mov ecx, edi
push eax
call fcn.1001eb90
movss xmm1, dword [ebp - 0x134]
xorps xmm6, xmm6
comiss xmm1, xmm6
jbe 0x10027001
movss xmm0, dword [ebp - 0x140]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x10067478]
movss xmm2, dword [ebp - 0x130]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x160], xmm0
cmp byte [ebp - 0xe4], 0
je 0x1002703d
movss xmm2, dword [esi + 0x18bc]
mulss xmm2, dword [0x100674f4]
mov edi, dword [esi + 0x199c]
movss xmm3, dword [edi + 0x168]
comiss xmm6, xmm3
jbe 0x100270b8
movss xmm4, dword [edi + 0xc4]
movss xmm1, dword [edi + 0x210]
mov ebx, dword [edi + 0x1b8]
subss xmm4, dword [edi + 0xc]
subss xmm1, dword [edi + 0xc]
test ebx, ebx
je 0x100270a4
mov edx, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x18]
subss xmm1, dword [ebx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [ebx + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [ebx + 0x14]
subss xmm1, dword [edi + 0x3c]
subss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [0x1006747c]
maxss xmm3, xmm1
mov ecx, dword [ebp - 0xb8]
xorps xmm1, xmm1
cvttss2si eax, xmm3
movss xmm5, dword [ecx + 0x1550]
movaps xmm3, xmm5
addss xmm3, xmm5
movd xmm4, eax
mov eax, dword [ebp + 0xc]
cvtdq2ps xmm4, xmm4
movss xmm7, dword [eax]
addss xmm3, xmm2
movss xmm0, dword [eax + 4]
xorps xmm2, xmm2
comiss xmm6, xmm7
movss dword [ebp - 0x128], xmm7
movss dword [ebp - 0x13c], xmm0
ja 0x10027108
comiss xmm6, xmm0
jbe 0x1002716e
movss xmm1, dword [edi + 0x210]
movss xmm2, dword [edi + 0x214]
mov ebx, dword [edi + 0x1b8]
subss xmm1, dword [edi + 0xc]
subss xmm2, dword [edi + 0x10]
test ebx, ebx
je 0x10027162
mov edx, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x18]
subss xmm1, dword [ebx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [ebx + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xb8]
addss xmm1, dword [ebx + 0x14]
subss xmm1, dword [edi + 0x3c]
mov eax, edi
addss xmm1, dword [eax + 0xc]
addss xmm2, dword [eax + 0x10]
comiss xmm6, xmm7
movss xmm0, dword [0x100674d0]
jb 0x100271ac
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x10027191
movaps xmm7, xmm4
movss dword [ebp - 0x128], xmm7
jmp 0x100271ac
subss xmm1, dword [edi + 0xc4]
maxss xmm1, xmm0
addss xmm1, xmm7
movaps xmm7, xmm1
movss dword [ebp - 0x128], xmm1
movss xmm1, dword [ebp - 0x13c]
comiss xmm6, xmm1
jb 0x100271df
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jp 0x100271c7
movaps xmm1, xmm3
jmp 0x100271d7
subss xmm2, dword [edi + 0xc8]
maxss xmm2, xmm0
addss xmm1, xmm2
movss dword [ebp - 0x13c], xmm1
mov esi, dword [ebp - 0xf4]
movss xmm2, dword [ebp - 0x160]
comiss xmm2, xmm6
movss xmm3, dword [esi + 0xc4]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm3
addss xmm0, xmm7
movss dword [ebp - 0x50], xmm3
addss xmm1, xmm4
movss dword [ebp - 0x4c], xmm4
movss dword [ebp - 0x48], xmm0
movss dword [ebp - 0x44], xmm1
jbe 0x1002722b
addss xmm2, dword [ecx + 0x1564]
jmp 0x1002722e
xorps xmm2, xmm2
cmp byte [ebp - 0xe4], 0
addss xmm0, xmm2
addss xmm1, xmm6
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x14], xmm4
mov dword [ebp - 0xfc], esi
movss dword [ebp - 0x10], xmm0
movss dword [ebp - 0xc], xmm1
je 0x10027313
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x18]
call fcn.10004d30
movss xmm0, dword [ebp - 0x48]
lea edx, [ebp - 0x134]
subss xmm0, dword [ebp - 0x50]
movss xmm1, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xd0]
movss dword [ebp - 0x140], xmm1
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x44]
subss xmm0, xmm1
movss dword [ebp - 0x130], xmm0
call fcn.10007ad0
add esp, 4
test al, al
jne 0x100272d4
call fcn.10007c40
call fcn.1000d000
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1003f934
mov esp, ebp
pop ebp
ret
mov edi, dword [0x1006b178]
movss xmm0, dword [ebp - 0x128]
mov eax, dword [edi + 0x199c]
mov byte [eax + 0x78], 1
mov ebx, dword [edi + 0x199c]
mov dword [ebp - 0xfc], ebx
subss xmm0, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x134]
or dword [ebx + 0x13c], eax
movss dword [ebp - 0x128], xmm0
jmp 0x10027369
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x134]
movss dword [ebp - 0x130], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x134], xmm0
call fcn.10004c10
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x18]
call fcn.10004d30
add esp, 4
test al, al
je 0x100272c1
movss xmm0, dword [ebp - 0x4c]
mov edi, dword [0x1006b178]
movss dword [ebp - 0x140], xmm0
mov edx, dword [ebp - 0xd0]
lea ecx, [ebp - 0x50]
mov dword [ebp - 0xc8], edi
call fcn.10004ee0
mov ecx, dword [ebp - 0xb8]
mov byte [ebp - 0xd3], al
test al, al
je 0x10027397
mov dword [ecx + 0x1c58], 1
cmp byte [ebp - 0x158], 0
je 0x10027512
mov edx, dword [ecx + 0x18b8]
cmp dword [edx + 0x28], 0x2a
jg 0x100273b5
mov ebx, dword [edx + 0x34]
jmp 0x100273da
mov eax, dword [edx + 0x30]
mov esi, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, si
jne 0x100273cb
mov ebx, dword [edx + 0x34]
jmp 0x100273da
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x18]
lea ebx, [eax + ecx*8]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [edx]
lea esi, [ecx + 0x2b84]
mov dword [esi], eax
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0xb8]
mov dword [esi + 4], eax
mov dword [ebp - 0x34], esi
mov eax, dword [edx + 0x18b8]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x48], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [esi + 0x4c], eax
mov eax, dword [edx + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [esi + 0x44], eax
mov dword [esi + 0x34], ebx
mov eax, dword [ebx + 4]
mov dword [esi + 0x38], eax
movss xmm0, dword [edi + 0x98]
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x18b8], esi
mulss xmm0, dword [esi]
mulss xmm0, dword [esi + 4]
movss dword [edi + 0x18c0], xmm0
test eax, eax
je 0x10027465
mulss xmm0, dword [eax + 0x268]
jmp 0x10027468
xorps xmm0, xmm0
movss dword [edi + 0x18bc], xmm0
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18c8], eax
lea eax, [ebp - 0x34]
mov dword [edi + 0x18c4], ecx
lea ecx, [edi + 0x1a18]
push eax
mov dword [edi + 0x18cc], esi
movss dword [edi + 0x18d0], xmm0
call fcn.10012b20
mov eax, dword [esi + 0x44]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 0x199c]
mov ebx, dword [eax + 0x270]
mov edi, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
cmp ecx, edi
jne 0x100274e4
inc ecx
test edi, edi
je 0x100274d1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x100274d6
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x48]
call fcn.100129d0
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x50]
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], edx
mov ecx, ebx
inc dword [ebx + 0x48]
call fcn.1001a860
mov edi, dword [0x1006b178]
mov esi, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], edi
mov ebx, dword [ebp - 0xb8]
mov ecx, esi
add ebx, 0x1d14
test dword [ebp + 0x10], 0x440
mov dword [ebp - 0x124], ebx
sete al
movzx eax, al
push eax
call fcn.10005050
add esp, 4
mov byte [ebp - 0xe9], al
test al, al
je 0x100275dd
mov ecx, dword [esi + 0x324]
cmp ecx, dword [esi + 0x32c]
jne 0x100275dd
mov byte [ebp - 0xc1], 1
mov byte [ebp - 0xd4], 0
cmp byte [ebp - 0xd3], 0
mov eax, dword [ebp - 0xb8]
je 0x10027589
cmp byte [eax + 0x3f8], 0
mov byte [ebp - 0xbb], 1
jne 0x10027590
mov byte [ebp - 0xbb], 0
cmp byte [ebp - 0xe4], 0
je 0x100275ff
cmp dword [eax + 0x19bc], 0
jne 0x100275ff
cmp dword [ebx], edx
jne 0x100275ff
mov eax, dword [ebp - 0xfc]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10002cc0
mov edx, dword [ebp - 0xb8]
add esp, 4
cmp dword [edx + 0x19c0], eax
jne 0x10027605
mov cl, 1
jmp 0x10027607
mov byte [ebp - 0xc1], 0
test al, al
je 0x10027563
mov byte [ebp - 0xd4], 1
mov byte [ebp - 0xc1], 0
jmp 0x1002756a
mov edx, dword [ebp - 0xb8]
xor cl, cl
mov eax, dword [edx + 0x19bc]
mov edx, dword [ebp - 0xd0]
cmp eax, edx
je 0x1002765f
mov edi, dword [ebp - 0xb8]
cmp dword [edi + 0x1abc], edx
mov edi, dword [ebp - 0xc8]
je 0x1002764e
mov esi, dword [ebp - 0xb8]
cmp dword [esi + 0x1ab0], edx
mov esi, dword [ebp - 0xf4]
jne 0x1002765f
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x1acc], 3
jne 0x1002765f
mov dl, 1
mov byte [ebp - 0xd1], 0
mov byte [ebp - 0xd2], dl
jmp 0x10027676
xor dl, dl
mov byte [ebp - 0xd1], 0
mov byte [ebp - 0xd2], dl
cmp eax, dword [ebp - 0xd0]
je 0x10027690
test byte [ebp + 0x10], 0x10
jne 0x10027680
test dl, dl
je 0x10027690
cmp byte [ebp - 0xe4], 0
mov byte [ebp - 0xf0], 1
je 0x10027697
mov byte [ebp - 0xf0], 0
cmp byte [ebp - 0xe9], 0
jne 0x100276cf
cmp byte [ebp - 0xbb], 0
jne 0x100276cf
test cl, cl
jne 0x100276cf
test dl, dl
jne 0x100276cf
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x3f8], dl
je 0x10027972
mov byte [ebp - 0xd1], 1
jmp 0x10027972
mov ecx, dword [ebp - 0xd0]
cmp eax, ecx
je 0x10027943
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x114], eax
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x100276f0
mov edx, dword [ebp + 8]
sub esi, ecx
mov eax, dword [ebx + 8]
inc edx
mov dword [ebp - 0xd8], edx
cmp edx, eax
jle 0x10027749
lea edi, [ebx + 4]
test eax, eax
je 0x10027723
cdq
sub eax, edx
mov edx, dword [ebp - 0xd8]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x10027728
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10012ef0
mov edi, dword [0x1006b178]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edi
mov dword [ebx + 4], edx
inc esi
mov eax, dword [ebx + 0x14]
cmp esi, eax
jle 0x1002778a
test eax, eax
je 0x10027767
cdq
sub eax, edx
lea edx, [ebx + 0x10]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1002776f
mov ecx, 8
lea edx, [ebx + 0x10]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10012d80
mov edi, dword [0x1006b178]
mov dword [ebp - 0xc8], edi
mov dword [ebx + 0x10], esi
push esi
mov esi, dword [ebp - 0xe8]
push esi
push dword [ebx + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebx + 0xc]
add esp, 0xc
mov ecx, dword [ebp + 8]
mov eax, esi
dec ecx
mov dword [ebp - 0xd8], edx
mov esi, edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10027815
mov ebx, eax
nop word [eax + eax]
cmp byte [ebx], 0
je 0x10027803
push 0
mov edx, ebx
lea ecx, [ebp - 0x34]
call fcn.10003060
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100277fd
cmp eax, 0x10000
jae 0x100277ea
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xd8]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x100277c0
jmp 0x10027803
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xe8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
mov ecx, dword [ebp - 0xd0]
sar esi, 1
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x28], eax
mov dword [ebx + 0xe5c], 0xbe99999a
cmp dword [ebx], ecx
jne 0x10027876
cmp dword [ebp - 0x114], esi
jne 0x10027876
cmp dword [ebx + 0x38], esi
mov ecx, esi
mov edx, dword [ebp - 0xe4]
cmovl ecx, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], esi
mov dword [ebx + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
cmovl esi, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xd0]
mov dword [ebx + 0x40], esi
jmp 0x100278ee
mov edx, dword [ebp - 0xe4]
mov al, dl
mov dword [ebx], ecx
xor al, 1
mov dword [ebx + 0x34], 0
mov dword [ebx + 0xe4e], 0x630000
mov dword [ebx + 0xe54], 0
mov dword [ebx + 0xe58], 0x3e7
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x44], 0x10000
mov dword [ebx + 0x4c], 0
mov byte [ebx + 0x48], al
test dl, dl
jne 0x100278ee
mov eax, dword [ebp - 0xf0]
mov esi, 1
cmp byte [ebp - 0xc1], dl
movzx eax, al
cmovne eax, esi
mov dword [ebp - 0xf0], eax
test dword [ebp + 0x10], 0x2000
je 0x100278fb
mov byte [ebx + 0x44], 1
test dl, dl
jne 0x1002793d
cmp byte [ebp - 0xd4], dl
jne 0x1002791d
cmp byte [ebp - 0xbb], dl
je 0x1002793d
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xfc], dl
je 0x1002793d
mov edx, dword [ebp - 0xf4]
mov byte [ebp - 0xf0], 1
call fcn.10004a90
call fcn.10004b50
mov ecx, edx
call fcn.1000c870
jmp 0x1002795f
mov esi, dword [ebp - 0xf4]
mov edx, esi
call fcn.10004a90
call fcn.10004b50
mov ecx, esi
call fcn.1000c870
cmp byte [ebp - 0xe4], 0
jne 0x10027972
test byte [ebp + 0x10], 0x80
jne 0x10027972
mov ecx, dword [ebp - 0xb8]
or dword [ecx + 0x19d4], 0xc
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov byte [ebp - 0xe9], 0
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0x10c], 0
cmp dword [eax + 0x19bc], ecx
jne 0x10027ddf
cmp byte [ebp - 0xf8], 0
mov ecx, eax
jne 0x10027ab1
cmp byte [ecx + 0x19cc], 0
jne 0x10027ab1
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 8]
inc esi
cmp esi, eax
jle 0x100279ff
test eax, eax
je 0x100279dc
cdq
sub eax, edx
lea edx, [ebx + 4]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100279e4
mov ecx, 8
lea edx, [ebx + 4]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10012ef0
mov edi, dword [0x1006b178]
mov dword [ebp - 0xc8], edi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xe8]
mov dword [ebx + 4], esi
mov edx, dword [ebx + 0xc]
mov esi, edx
mov dword [ebp - 0xd8], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x10027a74
mov ebx, eax
nop
cmp byte [ebx], 0
je 0x10027a62
push 0
mov edx, ebx
lea ecx, [ebp - 0x34]
call fcn.10003060
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10027a5c
cmp eax, 0x10000
jae 0x10027a4a
mov word [esi], ax
add esi, 2
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp + 8]
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x10027a20
jmp 0x10027a62
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], ebx
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xe8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [ebx + 0x38], esi
mov ecx, esi
mov dword [ebx + 0x2c], esi
cmovl ecx, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], esi
mov dword [ebx + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
cmovl esi, dword [ebx + 0x40]
mov ecx, dword [ebp - 0xb8]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x40], esi
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x30], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0xe64], eax
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
cmp byte [ecx + 0xec], 0
mov dword [ecx + 0x2e60], 1
sete al
cmp byte [ebp - 0xe4], 0
mov byte [ecx + 0x19cd], al
movss xmm7, dword [ecx + 0xe4]
subss xmm7, dword [ebp - 0x50]
subss xmm7, dword [ecx + 0x154c]
addss xmm7, dword [ebx + 0x34]
je 0x10027b3a
mov eax, dword [ebp - 0xfc]
movss xmm2, dword [ecx + 0xe8]
subss xmm2, dword [eax + 0xc8]
subss xmm2, dword [ecx + 0x1550]
jmp 0x10027b4a
movss xmm2, dword [ecx + 0x18bc]
mulss xmm2, dword [0x10067444]
cmp byte [ebp - 0xf0], 0
mov al, byte [ecx + 0xbd]
mov byte [ebp - 0xdd], al
jne 0x10027cd4
mov cl, byte [ebp - 0xd3]
mov edx, dword [ebp - 0xb8]
test cl, cl
je 0x10027b83
test al, al
jne 0x10027be5
cmp byte [edx + 0x3fd], al
jne 0x10027cd4
cmp byte [edx + 0x3f8], 0
lea esi, [ebx + 0xe61]
mov al, byte [esi]
je 0x10027c4b
test al, al
jne 0x10027c4b
test cl, cl
je 0x10027bde
cmp byte [ebx + 0x48], al
je 0x10027bbd
push 0
mov edx, ebx
lea ecx, [ebp - 0x30]
call fcn.100255d0
movss xmm2, dword [ebp - 0x24]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.100258e0
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov byte [ebx + 0x47], 0
mov dword [ebx + 0xe5c], 0xbe99999a
mov ecx, esi
jmp 0x10027cf1
cmp byte [edx + 0x3fd], 0
je 0x10027b83
push 0x1000c
lea edx, [ebx + 0x38]
mov ecx, ebx
call fcn.10025cd0
add esp, 4
mov byte [ebx + 0xe60], 1
lea edx, [ebx + 0x38]
mov dword [ebx + 0xe5c], 0xbe99999a
mov ecx, ebx
push 0x3000d
call fcn.10025cd0
mov edi, dword [0x1006b178]
lea ecx, [ebx + 0xe61]
add esp, 4
mov byte [ebx + 0xe60], 1
mov dword [ebx + 0xe5c], 0xbe99999a
mov dword [ebp - 0xc8], edi
jmp 0x10027cf1
cmp byte [edx + 0xec], 0
mov ecx, esi
je 0x10027cf1
test al, al
jne 0x10027cf1
movss xmm0, dword [edx + 0x398]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10027c87
movss xmm0, dword [edx + 0x39c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10027cf1
cmp byte [ebx + 0x48], 0
je 0x10027ca1
push 0
mov edx, ebx
lea ecx, [ebp - 0x30]
call fcn.100255d0
movss xmm2, dword [ebp - 0x24]
add esp, 4
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
jne 0x10027caf
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x3c], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.100258e0
mov dword [ebx + 0x40], eax
mov ecx, esi
mov dword [ebx + 0x38], eax
mov dword [ebx + 0xe5c], 0xbe99999a
mov byte [ebx + 0xe60], 1
jmp 0x10027cf1
mov eax, dword [ebx + 0x2c]
lea ecx, [ebx + 0xe61]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
mov byte [ecx], 1
cmp byte [ecx], 0
je 0x10027d08
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xec], 0
jne 0x10027d08
mov byte [ecx], 0
mov ecx, dword [ebp - 0xb8]
cmp word [ecx + 0x300], 0
lea esi, [ecx + 0x300]
je 0x10027ddf
cmp byte [ecx + 0xfc], 0
je 0x10027d38
cmp byte [ecx + 0xfe], 0
je 0x10027dc5
cmp byte [ebp - 0xdd], 0
je 0x10027d4a
cmp byte [ecx + 0xff], 0
jne 0x10027dc5
cmp byte [ebp - 0xf8], 0
je 0x10027dc5
cmp byte [ebp - 0xd2], 0
jne 0x10027dc5
xor edi, edi
nop
movzx eax, word [esi]
test ax, ax
je 0x10027db3
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xd8]
sub esp, 8
mov dword [ebp - 0xd8], eax
call fcn.10026ca0
add esp, 8
test al, al
je 0x10027daa
push dword [ebp - 0xd8]
lea edx, [ebx + 0x38]
mov ecx, ebx
call fcn.10025cd0
add esp, 4
mov byte [ebx + 0xe60], 1
mov dword [ebx + 0xe5c], 0xbe99999a
inc edi
add esi, 2
cmp edi, 0x11
jl 0x10027d60
mov edi, dword [0x1006b178]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xc8], edi
xorps xmm0, xmm0
movups xmmword [ecx + 0x300], xmm0
movups xmmword [ecx + 0x310], xmm0
mov word [ecx + 0x320], 0
mov edx, dword [ebp - 0xb8]
xor cl, cl
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 0xb1], cl
cmp dword [edx + 0x19bc], eax
jne 0x10029253
cmp byte [edx + 0x19cc], cl
jne 0x10029253
cmp byte [ebp - 0xd1], cl
jne 0x10029253
mov ecx, edx
xor esi, esi
mov edx, 0x20000
mov al, byte [ecx + 0xfd]
mov ah, byte [ecx + 0xbd]
test al, al
mov byte [ebp - 0xca], al
mov al, byte [ecx + 0xfc]
cmovne esi, edx
mov byte [ebp - 0x10d], ah
test ah, ah
je 0x10027e6f
cmp byte [ecx + 0xff], 0
lea edx, [ecx + 0xff]
mov dword [ebp - 0xc0], edx
je 0x10027e67
test al, al
jne 0x10027e67
mov ecx, 1
jmp 0x10027e69
xor ecx, ecx
test ecx, ecx
je 0x10027eb0
jmp 0x10027e86
add ecx, 0xff
test al, al
je 0x10027ea8
cmp byte [ecx], 0
jne 0x10027ea8
mov edx, ecx
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0xfe], 0
mov ch, byte [ebp - 0xca]
jne 0x10027eb6
test ch, ch
jne 0x10027eb6
mov byte [ebp - 0xbb], 1
jmp 0x10027ebd
mov edx, ecx
mov dword [ebp - 0xc0], edx
mov ch, byte [ebp - 0xca]
mov byte [ebp - 0xbb], 0
mov cl, al
test ah, ah
je 0x10027f11
mov edi, dword [ebp - 0xb8]
cmp byte [edi + 0xff], 0
mov edi, dword [ebp - 0xc8]
je 0x10027f11
test ch, ch
je 0x10027f11
mov ecx, dword [ebp - 0xb8]
mov ch, byte [ecx + 0xfc]
mov byte [ebp - 0xb9], ch
mov cl, ch
test ch, ch
jne 0x10027f11
mov ebx, dword [ebp - 0xb8]
cmp byte [ebx + 0xfe], ch
mov ebx, dword [ebp - 0x124]
jne 0x10027f11
mov byte [ebp - 0xd2], 1
jmp 0x10027f28
mov byte [ebp - 0xb9], cl
mov ch, cl
mov byte [ebp - 0xd2], 0
test ah, ah
je 0x10027fdb
cmp byte [edx], 0
mov eax, dword [ebp - 0xb8]
mov al, byte [eax + 0xfe]
mov byte [ebp - 0xba], al
je 0x10027ff0
test ch, ch
jne 0x10027ff0
test al, al
jne 0x10027ff0
mov ah, 1
mov cl, ah
mov byte [ebp - 0xba], al
xor dl, dl
mov byte [ebp - 0xd3], cl
mov byte [ebp - 0xc9], cl
cmp byte [ebp - 0xca], dl
je 0x10028034
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xba], al
test ch, ch
jne 0x10028034
mov ebx, dword [ebp - 0xb8]
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xba], al
cmp byte [ebx + 0xfe], ch
mov ebx, dword [ebp - 0x124]
jne 0x10028034
mov ebx, dword [ebp - 0xc0]
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xba], al
cmp byte [ebx], ch
mov ebx, dword [ebp - 0x124]
jne 0x10028034
mov dh, 1
mov byte [ebp - 0xc9], cl
mov byte [ebp - 0xba], al
jmp 0x10028036
mov al, ch
mov byte [ebp - 0xd2], 0
mov byte [ebp - 0xba], al
mov byte [ebp - 0xb9], ch
xor ah, ah
mov byte [ebp - 0xc9], ah
test ch, ch
je 0x10027f55
cmp byte [ebp - 0xca], ah
jne 0x10027f55
mov edi, dword [ebp - 0xb8]
cmp byte [edi + 0xfe], ah
mov edi, dword [ebp - 0xc8]
jne 0x10027f55
cmp byte [edx], ah
jne 0x10027f55
mov dl, 1
mov byte [ebp - 0xd3], ah
xor dh, dh
cmp byte [ebp - 0xbb], 0
xorps xmm4, xmm4
je 0x100280c7
mov eax, dword [edi + 0x7c]
test eax, eax
js 0x100280c7
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002814c
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100280c7
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028088
mov eax, 1
jmp 0x100280bf
comiss xmm2, xmm1
jae 0x100280bd
comiss xmm4, xmm3
jae 0x100280bd
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100280bf
xor eax, eax
test eax, eax
jg 0x1002814c
test dh, dh
je 0x10028178
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x10028178
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002814c
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028178
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028111
mov eax, 1
jmp 0x10028148
comiss xmm2, xmm1
jae 0x10028146
comiss xmm4, xmm3
jae 0x10028146
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028148
xor eax, eax
test eax, eax
jle 0x10028178
cmp byte [ebp - 0xf8], 0
je 0x10028178
cmp byte [ebp - 0x158], 0
jne 0x10028178
cmp byte [ebp - 0xe4], 0
je 0x1002816f
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
je 0x10028178
mov byte [ebp - 0xc1], 1
jmp 0x1002817f
mov byte [ebp - 0xc1], 0
cmp byte [ebp - 0xbb], 0
je 0x1002820d
mov eax, dword [edi + 0x74]
test eax, eax
js 0x1002820d
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028292
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x1002820d
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100281ce
mov eax, 1
jmp 0x10028205
comiss xmm2, xmm1
jae 0x10028203
comiss xmm4, xmm3
jae 0x10028203
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028205
xor eax, eax
test eax, eax
jg 0x10028292
test dl, dl
je 0x100282b5
mov eax, dword [edi + 0x58]
test eax, eax
js 0x100282b5
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028292
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100282b5
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028257
mov eax, 1
jmp 0x1002828e
comiss xmm2, xmm1
jae 0x1002828c
comiss xmm4, xmm3
jae 0x1002828c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002828e
xor eax, eax
test eax, eax
jle 0x100282b5
cmp byte [ebp - 0x158], 0
jne 0x100282b5
cmp byte [ebp - 0xe4], 0
je 0x100282ac
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
je 0x100282b5
mov byte [ebp - 0x115], 1
jmp 0x100282bc
mov byte [ebp - 0x115], 0
mov dl, byte [ebp - 0xbb]
test dl, dl
je 0x1002834b
mov eax, dword [edi + 0x78]
test eax, eax
js 0x1002834b
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100283d0
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x1002834b
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002830c
mov eax, 1
jmp 0x10028343
comiss xmm2, xmm1
jae 0x10028341
comiss xmm4, xmm3
jae 0x10028341
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028343
xor eax, eax
test eax, eax
jg 0x100283d0
test dh, dh
je 0x100283e0
mov eax, dword [edi + 0x58]
test eax, eax
js 0x100283e0
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100283d0
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100283e0
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028395
mov eax, 1
jmp 0x100283cc
comiss xmm2, xmm1
jae 0x100283ca
comiss xmm4, xmm3
jae 0x100283ca
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100283cc
xor eax, eax
test eax, eax
jle 0x100283e0
cmp byte [ebp - 0xf8], 0
mov byte [ebp - 0xdd], 1
jne 0x100283e7
mov byte [ebp - 0xdd], 0
test dl, dl
je 0x10028485
mov eax, dword [edi + 0x84]
test eax, eax
js 0x10028485
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1002846f
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028485
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028434
mov eax, 1
jmp 0x1002846b
comiss xmm2, xmm1
jae 0x10028469
comiss xmm4, xmm3
jae 0x10028469
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002846b
xor eax, eax
test eax, eax
jle 0x10028485
cmp byte [ebp - 0xf8], 0
je 0x10028485
cmp byte [ebp - 0x11c], 0
je 0x10028485
mov dh, 1
jmp 0x1002848f
xor dh, dh
test dl, dl
je 0x10028513
mov eax, dword [edi + 0x80]
test eax, eax
js 0x10028513
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100285a0
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028513
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100284d4
mov eax, 1
jmp 0x1002850b
comiss xmm2, xmm1
jae 0x10028509
comiss xmm4, xmm3
jae 0x10028509
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002850b
xor eax, eax
test eax, eax
jg 0x100285a0
cmp byte [ebp - 0xd2], 0
je 0x100285b6
mov eax, dword [edi + 0x84]
test eax, eax
js 0x100285b6
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100285a0
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100285b6
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028565
mov eax, 1
jmp 0x1002859c
comiss xmm2, xmm1
jae 0x1002859a
comiss xmm4, xmm3
jae 0x1002859a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x1002859c
xor eax, eax
test eax, eax
jle 0x100285b6
cmp byte [ebp - 0xf8], 0
je 0x100285b6
cmp byte [ebp - 0x11c], 0
je 0x100285b6
mov dl, 1
jmp 0x100285b8
xor dl, dl
mov eax, dword [edi + 0x38]
test eax, eax
js 0x1002867f
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028639
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x1002867f
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100285fe
mov eax, 1
jmp 0x10028635
comiss xmm2, xmm1
jae 0x10028633
comiss xmm4, xmm3
jae 0x10028633
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028635
xor eax, eax
test eax, eax
jle 0x1002867f
cmp byte [ebp - 0xd3], 0
je 0x10028659
mov eax, 0x10004
lea edx, [ebx + 0x38]
or eax, esi
mov ecx, ebx
push eax
call fcn.10025cd0
jmp 0x10029227
cmp byte [ebp - 0xba], 0
lea edx, [ebx + 0x38]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x3c]
test eax, eax
js 0x10028746
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028700
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028746
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100286c5
mov eax, 1
jmp 0x100286fc
comiss xmm2, xmm1
jae 0x100286fa
comiss xmm4, xmm3
jae 0x100286fa
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100286fc
xor eax, eax
test eax, eax
jle 0x10028746
cmp byte [ebp - 0xd3], 0
je 0x10028720
mov eax, 0x10005
lea edx, [ebx + 0x38]
or eax, esi
mov ecx, ebx
push eax
call fcn.10025cd0
jmp 0x10029227
cmp byte [ebp - 0xba], 0
lea edx, [ebx + 0x38]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x40]
test eax, eax
js 0x10028837
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100287c7
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028837
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002878c
mov eax, 1
jmp 0x100287c3
comiss xmm2, xmm1
jae 0x100287c1
comiss xmm4, xmm3
jae 0x100287c1
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100287c3
xor eax, eax
test eax, eax
jle 0x10028837
cmp byte [ebp - 0xe4], 0
je 0x10028837
cmp byte [ebp - 0xb9], 0
je 0x10028817
mov esi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xb8]
movss xmm1, dword [esi + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18bc]
addss xmm1, dword [esi + 0xe0]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [esi + 0x58], xmm0
movss dword [esi + 0xe0], xmm1
jmp 0x10029247
movzx eax, byte [ebp - 0xc9]
lea edx, [ebx + 0x38]
mov ecx, ebx
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x44]
test eax, eax
js 0x10028950
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100288bc
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028950
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002887d
mov eax, 1
jmp 0x100288b4
comiss xmm2, xmm1
jae 0x100288b2
comiss xmm4, xmm3
jae 0x100288b2
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100288b4
xor eax, eax
test eax, eax
jle 0x10028950
cmp byte [ebp - 0xe4], 0
je 0x10028950
cmp byte [ebp - 0xb9], 0
je 0x10028930
mov eax, dword [edi + 0x199c]
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xb8]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [edx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [ecx + 0x18bc]
addss xmm3, dword [edx + 0xe0]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [edx + 0x58], xmm2
movss dword [edx + 0xe0], xmm3
jmp 0x10029247
movzx eax, byte [ebp - 0xc9]
lea edx, [ebx + 0x38]
mov ecx, ebx
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x50]
test eax, eax
js 0x100289f4
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100289cd
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100289f4
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028992
mov eax, 1
jmp 0x100289c9
comiss xmm2, xmm1
jae 0x100289c7
comiss xmm4, xmm3
jae 0x100289c7
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100289c9
xor eax, eax
test eax, eax
jle 0x100289f4
mov eax, esi
lea edx, [ebx + 0x38]
or eax, 0x10006
or esi, 0x10004
cmp byte [ebp - 0xb9], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x54]
test eax, eax
js 0x10028a98
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028a71
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028a98
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028a36
mov eax, 1
jmp 0x10028a6d
comiss xmm2, xmm1
jae 0x10028a6b
comiss xmm4, xmm3
jae 0x10028a6b
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028a6d
xor eax, eax
test eax, eax
jle 0x10028a98
mov eax, esi
lea edx, [ebx + 0x38]
or eax, 0x10007
or esi, 0x10005
cmp byte [ebp - 0xb9], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x5c]
test eax, eax
js 0x10028b34
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028b15
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028b34
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028ada
mov eax, 1
jmp 0x10028b11
comiss xmm2, xmm1
jae 0x10028b0f
comiss xmm4, xmm3
jae 0x10028b0f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028b11
xor eax, eax
test eax, eax
jle 0x10028b34
cmp byte [ebp - 0xf8], 0
je 0x10028b34
or esi, 0x10008
lea edx, [ebx + 0x38]
push esi
mov ecx, ebx
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x60]
test eax, eax
js 0x10028c3f
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028bb9
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028c3f
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028b7a
mov eax, 1
jmp 0x10028bb1
comiss xmm2, xmm1
jae 0x10028baf
comiss xmm4, xmm3
jae 0x10028baf
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028bb1
xor eax, eax
test eax, eax
jle 0x10028c3f
cmp byte [ebp - 0xf8], 0
je 0x10028c3f
mov eax, dword [ebx + 0x3c]
cmp eax, dword [ebx + 0x40]
jne 0x10028c29
cmp byte [ebp - 0xba], 0
je 0x10028bda
push 0x3000c
jmp 0x10028c0b
cmp byte [ebp - 0x10d], 0
je 0x10028c29
mov eax, dword [ebp - 0xc0]
cmp byte [eax], 0
je 0x10028c29
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xfe], 0
jne 0x10028c29
cmp byte [ebp - 0xb9], 0
jne 0x10028c29
push 0x30004
lea edx, [ebx + 0x38]
mov ecx, ebx
call fcn.10025cd0
mov dword [ebx + 0xe5c], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe60], 1
or esi, 0x10009
lea edx, [ebx + 0x38]
push esi
mov ecx, ebx
call fcn.10025cd0
jmp 0x10029227
mov eax, dword [edi + 0x68]
test eax, eax
js 0x10028d47
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028cc4
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028d47
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028c85
mov eax, 1
jmp 0x10028cbc
comiss xmm2, xmm1
jae 0x10028cba
comiss xmm4, xmm3
jae 0x10028cba
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028cbc
xor eax, eax
test eax, eax
jle 0x10028d47
mov ecx, dword [ebp + 0x10]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xe4], 0
je 0x10028ce4
test al, al
je 0x10028cf7
cmp byte [ebp - 0xb9], 0
jne 0x10028d00
mov byte [ebp - 0xd1], 1
mov byte [ebp - 0xd4], 1
jmp 0x10029247
cmp byte [ebp - 0xb9], 0
jne 0x10028ce4
cmp byte [ebp - 0xf8], 0
je 0x10029247
mov dword [ebp - 0xd8], 0xa
sub esp, 8
mov edx, ecx
lea ecx, [ebp - 0xd8]
call fcn.10026ca0
add esp, 8
test al, al
je 0x1002923b
push dword [ebp - 0xd8]
lea edx, [ebx + 0x38]
mov ecx, ebx
call fcn.10025cd0
jmp 0x10029227
mov ecx, dword [ebp + 0x10]
test ecx, 0x400
je 0x10028e13
mov eax, dword [edi + 0x34]
test eax, eax
js 0x10028e13
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028dda
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028e13
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028d9c
mov eax, 1
jmp 0x10028dd6
comiss xmm2, xmm1
jae 0x10028dd4
comiss xmm4, xmm3
jae 0x10028dd4
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebp + 0x10]
jmp 0x10028dd6
xor eax, eax
test eax, eax
jle 0x10028e13
cmp byte [ebp - 0xb9], 0
jne 0x10028e13
cmp byte [ebp - 0xca], 0
jne 0x10028e13
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xfe], 0
jne 0x10028e13
cmp byte [ebp - 0xf8], 0
je 0x10028e13
mov dword [ebp - 0xd8], 9
jmp 0x10028d17
mov eax, dword [edi + 0x6c]
test eax, eax
js 0x10028e99
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028e8c
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028e99
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028e51
mov eax, 1
jmp 0x10028e88
comiss xmm2, xmm1
jae 0x10028e86
comiss xmm4, xmm3
jae 0x10028e86
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028e88
xor eax, eax
test eax, eax
jle 0x10028e99
mov cl, 1
mov byte [ebp - 0xd1], cl
jmp 0x1002924d
test dh, dh
jne 0x10029208
test dl, dl
jne 0x10029208
cmp byte [ebp - 0xbb], dl
je 0x10028f52
mov eax, dword [edi + 0x70]
test eax, eax
js 0x10028f52
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10028f32
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10028f52
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028ef7
mov eax, 1
jmp 0x10028f2e
comiss xmm2, xmm1
jae 0x10028f2c
comiss xmm4, xmm3
jae 0x10028f2c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x10028f2e
xor eax, eax
test eax, eax
jle 0x10028f52
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x47], 0
mov byte [ebx + 0xe60], 1
jmp 0x10029247
mov al, byte [ebp - 0xc1]
test al, al
jne 0x100290f6
cmp byte [ebp - 0x115], al
jne 0x100290f6
cmp byte [ebp - 0xdd], al
je 0x10029247
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x10028f9f
push dword [edi + 0xd4]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x1002923b
mov edi, dword [0x1006b178]
jmp 0x10028fa4
mov esi, 0x1006670e
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028fb0
sub ecx, edx
test edi, edi
je 0x10028fc3
inc dword [edi + 0x394]
lea eax, [ecx*2 + 2]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 0xc0], eax
xor edi, edi
cmp byte [esi], 0
je 0x1002903d
mov ebx, eax
push 0
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.10003060
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x10029031
cmp eax, 0x10000
jae 0x1002902c
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xdc]
sub esp, 8
call fcn.10026ca0
add esp, 8
test al, al
je 0x1002902c
mov ax, word [ebp - 0xdc]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10028fe3
mov ebx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x100290d6
mov edx, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x2c]
cmp ecx, edx
je 0x10029071
cmp ecx, eax
jle 0x10029061
mov dword [ebx + 0x3c], eax
mov ecx, eax
cmp edx, eax
jle 0x1002906a
mov dword [ebx + 0x40], eax
mov edx, eax
cmp ecx, edx
jne 0x10029071
mov dword [ebx + 0x38], ecx
cmp dword [ebx + 0x38], eax
jle 0x10029079
mov dword [ebx + 0x38], eax
lea edx, [ebx + 0x38]
mov ecx, ebx
call fcn.10025c40
mov edx, dword [ebx + 0x38]
mov ecx, ebx
push edi
push dword [ebp - 0xc0]
call fcn.100257b0
add esp, 8
test al, al
je 0x100290b5
mov edx, dword [ebx + 0x38]
lea ecx, [ebx + 0x50]
push edi
push 0
call fcn.10026990
add esp, 8
mov byte [ebx + 0x47], 0
add dword [ebx + 0x38], edi
jmp 0x100290c9
movzx eax, word [ebx + 0xe4e]
test ax, ax
je 0x100290c9
dec eax
mov word [ebx + 0xe4e], ax
mov eax, dword [ebp - 0xc0]
mov byte [ebx + 0xe60], 1
test eax, eax
je 0x100290ea
mov ecx, dword [0x1006b178]
test ecx, ecx
je 0x100290ea
dec dword [ecx + 0x394]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x10029238
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xd0], 0
je 0x100291c8
mov esi, dword [ebx + 0x40]
mov eax, dword [ebx + 0x3c]
cmp eax, esi
je 0x1002911d
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x10029122
mov esi, dword [ebx + 0x2c]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x11c], ecx
sub eax, ecx
lea edx, [eax*4 + 1]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xd8], edx
cmp edx, eax
jle 0x1002917f
lea edi, [ebx + 0x1c]
test eax, eax
je 0x10029159
cdq
sub eax, edx
mov edx, dword [ebp - 0xd8]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 4]
jmp 0x1002915e
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, edi
push eax
call fcn.10012d80
mov edi, dword [0x1006b178]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edi
mov dword [ebx + 0x1c], edx
mov ecx, dword [ebx + 0xc]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0x11c]
lea eax, [ecx + eax*2]
mov ecx, dword [ebx + 0x24]
push eax
call fcn.100031f0
mov eax, dword [edi + 0xd0]
add esp, 8
test eax, eax
je 0x100291c2
push dword [ebx + 0x24]
push dword [edi + 0xd4]
call eax
mov edi, dword [0x1006b178]
add esp, 8
mov dword [ebp - 0xc8], edi
mov al, byte [ebp - 0xc1]
test al, al
je 0x10029247
mov eax, dword [ebx + 0x3c]
lea esi, [ebx + 0x38]
cmp eax, dword [ebx + 0x40]
jne 0x100291ea
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], eax
mov dword [esi], eax
mov byte [ebx + 0x47], 0
mov byte [ebx + 0xe60], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x10029247
mov edx, esi
mov ecx, ebx
call fcn.10025c40
mov byte [esi + 0xf], 0
jmp 0x1002923b
movzx eax, dh
mov ecx, ebx
xor eax, 1
lea edx, [ebx + 0x38]
add eax, 0x1000a
push eax
call fcn.10025cd0
mov eax, dword [ebx + 0x38]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0xe60], 1
mov dword [ebx + 0xe5c], 0xbe99999a
add esp, 4
mov edi, dword [0x1006b178]
mov dword [ebp - 0xc8], edi
mov cl, byte [ebp - 0xb1]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x19bc]
cmp eax, dword [ebp - 0xd0]
jne 0x1002991b
xor eax, eax
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x104], eax
test cl, cl
je 0x100292e0
cmp byte [ebp - 0xf8], al
je 0x100292c9
mov esi, dword [ebx + 0x18]
mov ecx, esi
mov eax, dword [ebp - 0xe8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100292b0
test dl, dl
je 0x100292ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100292b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10029290
xor eax, eax
jmp 0x100292b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x100292c9
mov eax, dword [ebx + 0x10]
dec eax
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x104], eax
cmp byte [ebp - 0xd4], 0
je 0x100297e6
test byte [ebp + 0x10], 0x20
je 0x100297e6
cmp byte [ebp - 0xf8], 0
je 0x10029345
mov eax, dword [ebx + 4]
lea esi, [eax*4 + 1]
mov eax, dword [ebx + 0x20]
cmp esi, eax
jle 0x10029330
test eax, eax
je 0x1002930d
cdq
sub eax, edx
lea edx, [ebx + 0x1c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10029315
mov ecx, 8
lea edx, [ebx + 0x1c]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10012d80
mov edi, dword [0x1006b178]
mov dword [ebp - 0xc8], edi
mov dword [ebx + 0x1c], esi
mov edx, esi
mov ecx, dword [ebx + 0x24]
push 0
push dword [ebx + 0xc]
call fcn.100031f0
add esp, 8
mov ecx, dword [ebp + 0x10]
test ecx, 0x1c0
je 0x100297a2
xor edx, edx
xorps xmm4, xmm4
lea esi, [edx + 0x15]
test cl, 0x40
je 0x100293ef
mov eax, dword [edi + 0x34]
test eax, eax
js 0x100293ef
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x100293e3
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x100293ef
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100293a5
lea eax, [edx + 1]
jmp 0x100293df
comiss xmm2, xmm1
jae 0x100293dd
comiss xmm4, xmm3
jae 0x100293dd
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebp + 0x10]
jmp 0x100293df
xor eax, eax
test eax, eax
jle 0x100293ef
mov edx, 0x40
xor esi, esi
jmp 0x1002951f
test cl, cl
jns 0x10029511
mov eax, dword [edi + 0x40]
test eax, eax
js 0x10029484
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10029477
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10029484
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10029439
mov eax, 1
jmp 0x10029473
comiss xmm2, xmm1
jae 0x10029471
comiss xmm4, xmm3
jae 0x10029471
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebp + 0x10]
jmp 0x10029473
xor eax, eax
test eax, eax
jle 0x10029484
mov edx, 0x80
lea esi, [edx - 0x7d]
jmp 0x1002951f
mov eax, dword [edi + 0x44]
test eax, eax
js 0x10029511
movss xmm1, dword [edi + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x10029501
movss xmm2, dword [edi + 0x88]
comiss xmm1, xmm2
jbe 0x10029511
movss xmm3, dword [edi + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100294c6
mov eax, 1
jmp 0x100294fd
comiss xmm2, xmm1
jae 0x100294fb
comiss xmm4, xmm3
jae 0x100294fb
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [edi + 0x18]
divss xmm1, xmm3
subss xmm0, xmm2
cvttss2si ecx, xmm1
divss xmm0, xmm3
cvttss2si eax, xmm0
sub ecx, eax
xor eax, eax
test ecx, ecx
cmovg eax, ecx
jmp 0x100294fd
xor eax, eax
test eax, eax
jle 0x1002950e
mov ecx, dword [ebp + 0x10]
mov edx, 0x80
lea esi, [edx - 0x7c]
jmp 0x1002951f
mov ecx, dword [ebp + 0x10]
test ecx, 0x100
mov eax, 0x100
cmovne edx, eax
test edx, edx
je 0x100297a2
xor eax, eax
mov dword [ebp - 0x70], esi
mov esi, dword [ebx + 0xc]
mov word [ebp - 0x5f], ax
mov byte [ebp - 0x5d], al
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], ecx
mov ecx, esi
mov dword [ebp - 0x74], 0
lea edx, [esi + eax*2]
mov byte [ebp - 0x60], 0
call fcn.10003320
mov ecx, dword [ebx + 0x3c]
mov edi, eax
mov dword [ebp - 0x5c], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10003320
mov ecx, dword [ebx + 0x40]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x58], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10003320
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x80]
push eax
xor eax, eax
call eax
mov ecx, dword [ebp - 0x5c]
add esp, 4
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xf0], eax
cmp ecx, edi
je 0x1002960c
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc0], eax
test edi, edi
je 0x100295ca
cmp esi, edi
jae 0x100295fc
cmp byte [esi], 0
je 0x100295fc
push edi
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10003060
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100295f6
cmp eax, 0x10000
mov eax, dword [ebp - 0xc0]
jae 0x100295c2
inc eax
jmp 0x100295bc
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0xf0]
mov byte [ebx + 0xe60], 1
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x114]
je 0x10029667
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc0], eax
test edi, edi
je 0x1002962c
cmp esi, edi
jae 0x1002965e
cmp byte [esi], 0
je 0x1002965e
push edi
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10003060
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10029658
cmp eax, 0x10000
mov eax, dword [ebp - 0xc0]
jae 0x10029624
inc eax
jmp 0x1002961e
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x54]
cmp ecx, dword [ebp - 0x120]
je 0x100296bd
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [ebp - 0xc0], eax
nop
test edi, edi
je 0x10029688
cmp esi, edi
jae 0x100296ba
cmp byte [esi], 0
je 0x100296ba
push edi
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10003060
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100296b4
cmp eax, 0x10000
mov eax, dword [ebp - 0xc0]
jae 0x10029680
inc eax
jmp 0x10029679
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x40], eax
cmp byte [ebp - 0x60], 0
je 0x10029796
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x10c]
cmp esi, ecx
jle 0x1002971f
cmp byte [ebp - 0x138], 0
je 0x1002971f
mov edi, dword [ebx + 8]
lea eax, [ebx + 4]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x1002971d
test edi, edi
je 0x100296fc
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10029701
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 4]
push eax
call fcn.10012ef0
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xf0], eax
lea eax, [ebx + 4]
mov dword [eax], esi
mov ecx, dword [ebx + 0xc]
mov esi, ecx
mov edi, dword [ebx + 4]
dec edi
mov dword [ebp - 0x114], ecx
lea edi, [ecx + edi*2]
cmp ecx, edi
jae 0x1002977a
mov ebx, dword [ebp - 0xf0]
nop dword [eax + eax]
cmp byte [ebx], 0
je 0x1002976e
push 0
mov edx, ebx
lea ecx, [ebp - 0x34]
call fcn.10003060
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1002976e
cmp eax, 0x10000
jae 0x1002976a
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x10029740
mov ebx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x114]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x68]
sar esi, 1
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x28], eax
mov dword [ebx + 0xe5c], 0xbe99999a
mov edi, dword [0x1006b178]
mov dword [ebp - 0xc8], edi
cmp byte [ebp - 0xf8], 0
je 0x100297e6
mov esi, dword [ebx + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0xe8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100297d6
test dl, dl
je 0x100297d2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100297d6
add eax, 2
add ecx, 2
test dl, dl
jne 0x100297b6
xor eax, eax
jmp 0x100297db
sbb eax, eax
or eax, 1
test eax, eax
je 0x100297e6
mov ecx, dword [ebx + 0x28]
mov eax, esi
jmp 0x100297f2
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x100]
lea esi, [ebx + 0x24]
test eax, eax
je 0x100298ef
cmp dword [ebp - 0x10c], ecx
je 0x100298ae
cmp byte [ebp - 0x138], 0
je 0x100298ae
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x9c], eax
lea eax, [ecx + 1]
cmp dword [ebp + 8], eax
movlpd qword [ebp - 0xa4], xmm0
cmovge eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0xb0]
push eax
xor eax, eax
movlpd qword [ebp - 0x90], xmm0
movlpd qword [ebp - 0x88], xmm0
mov dword [ebp - 0xb0], 0x40000
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xa8], 0
call eax
mov edx, dword [ebp - 0x94]
add esp, 4
mov eax, dword [ebp - 0x9c]
mov edi, dword [0x1006b178]
mov dword [ebp - 0xe8], eax
lea ecx, [edx - 1]
mov dword [ebp - 0xc8], edi
cmp dword [ebp - 0x98], ecx
cmovl ecx, dword [ebp - 0x98]
jmp 0x100298b1
mov edx, dword [ebp + 8]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp + 8], edx
cmp edx, 1
jb 0x100298e8
mov edi, dword [ebp - 0xe8]
push edx
push dword [esi]
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp + 8]
add esp, 0xc
mov byte [eax + edi - 1], 0
mov edi, dword [0x1006b178]
mov dword [ebp - 0xc8], edi
mov byte [ebp - 0xe9], 1
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0xe64], 0
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov eax, dword [eax + 0x19bc]
jmp 0x1002991e
lea esi, [ebx + 0x24]
cmp byte [ebp - 0xd1], 0
je 0x1002997a
cmp eax, dword [ebp - 0xd0]
jne 0x1002997a
mov ecx, dword [edi + 0x19bc]
test ecx, ecx
setne al
mov byte [edi + 0x19cc], al
test ecx, ecx
je 0x10029955
mov dword [edi + 0x19c8], 0
mov byte [edi + 0x19ce], 0
mov dword [edi + 0x19bc], 0
mov dword [edi + 0x19d4], 0
mov byte [edi + 0x19cd], 0
mov dword [edi + 0x19e0], 0
mov eax, dword [ebp - 0xb8]
mov edx, dword [eax + 0x19bc]
mov eax, dword [ebp - 0xd0]
cmp edx, eax
jne 0x100299a1
cmp byte [ebp - 0xf8], 0
je 0x100299a1
mov ecx, dword [esi]
mov dword [ebp - 0xe8], ecx
cmp byte [ebp - 0xe4], 0
jne 0x10029a7a
push 1
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.10004120
movss xmm1, dword [0x1006747c]
add esp, 4
mov ecx, 7
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.10003500
mov ecx, dword [ebp - 0xb8]
mov dl, 1
movss xmm2, dword [ecx + 0x1554]
mov ecx, eax
call fcn.10003b70
mov ecx, dword [ebp - 0xb8]
add esp, 0x10
movss xmm4, dword [ebp - 0x50]
movss xmm5, dword [ebp - 0x4c]
movaps xmm0, xmm4
movss xmm3, dword [ebp - 0x128]
movaps xmm1, xmm5
addss xmm0, dword [ecx + 0x154c]
addss xmm1, dword [ebp - 0x13c]
mov edi, dword [0x1006b178]
movaps xmm2, xmm3
mov edx, dword [ecx + 0x19bc]
addss xmm2, xmm4
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x154], xmm0
movaps xmm0, xmm5
addss xmm0, dword [ecx + 0x1550]
movss dword [ebp - 0x14], xmm5
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0xc], xmm1
movss dword [ebp - 0x150], xmm0
mov dword [ebp - 0xc8], edi
jmp 0x10029ae6
movss xmm0, dword [ebp - 0x50]
movss xmm3, dword [ebp - 0x128]
movss xmm1, dword [ebp - 0x4c]
movaps xmm2, xmm3
mov ecx, dword [ebp - 0xfc]
addss xmm2, xmm0
movss dword [ebp - 0x14], xmm1
addss xmm1, dword [ebp - 0x13c]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx + 0xc4]
mov ecx, dword [ecx + 0xc8]
movaps xmm0, xmm2
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x10], xmm0
movaps xmm0, xmm1
mov dword [ebp - 0x150], ecx
mov ecx, dword [ebp - 0xb8]
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 0x154], eax
mov esi, dword [ebp - 0xd0]
lea eax, [ebp - 0x154]
xorps xmm6, xmm6
movss xmm0, dword [eax]
movss dword [ebp - 0xdc], xmm0
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x104], xmm0
movss dword [ebp - 0x130], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x108], eax
movss dword [ebp - 0x138], xmm1
movss dword [ebp - 0x10c], xmm2
movss dword [ebp - 0x11c], xmm0
movss dword [ebp - 0xd8], xmm0
cmp dword [ebx], esi
jne 0x10029b8d
cmp byte [ebp - 0xe4], 0
je 0x10029b8d
mov eax, dword [ebp - 0xfc]
xor edx, edx
mov ecx, dword [eax + 0x1bc]
mov eax, dword [eax + 0x1c4]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10002cc0
mov ecx, dword [ebp - 0xb8]
add esp, 4
mov edx, dword [ecx + 0x19bc]
cmp edx, eax
jne 0x10029b8d
mov al, 1
jmp 0x10029b8f
xor al, al
cmp edx, esi
je 0x10029d99
test al, al
jne 0x10029d99
cmp byte [ebp - 0xe4], al
je 0x10029c03
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
mov dl, byte [eax]
lea esi, [eax + 1]
test dl, dl
je 0x10029bca
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [esi]
cmovne eax, ecx
inc esi
mov ecx, eax
test dl, dl
jne 0x10029bb8
mov al, byte [esi - 1]
dec esi
cmp al, 0xa
je 0x10029bd7
cmp al, 0xd
je 0x10029bd7
inc ecx
mov ebx, dword [ebp - 0xb8]
movd xmm0, ecx
add ebx, 0x18bc
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ebx]
movss dword [ebp - 0xd8], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x11c], xmm0
jmp 0x10029c34
mov ebx, dword [ebp - 0xe8]
mov ecx, ebx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10029c10
sub ecx, edx
lea esi, [ecx + ebx]
cmp ecx, 0x200000
jge 0x1002a999
mov ebx, dword [ebp - 0xb8]
add ebx, 0x18bc
mov eax, dword [ebp - 0xfc]
xor ecx, ecx
movss xmm1, dword [0x1006747c]
movss xmm7, dword [ebx]
mov eax, dword [eax + 0x270]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x18b8]
mov dword [ebp - 0xdc], eax
call fcn.10003500
xor ecx, ecx
mov dword [ebp - 0x140], eax
cmp byte [ebp - 0xe4], cl
lea edx, [ebp - 0x18]
cmovne edx, ecx
mov ecx, ebx
test eax, 0xff000000
je 0x1002a8e4
test esi, esi
jne 0x10029cb4
mov ecx, dword [ebp - 0xe8]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10029ca0
mov eax, dword [ebp - 0xe8]
sub ecx, esi
lea esi, [eax + ecx]
jmp 0x10029cba
mov eax, dword [ebp - 0xe8]
mov ecx, ebx
cmp eax, esi
je 0x1002a8e4
cmp dword [ebp - 0xdc], 0
mov edi, dword [ebp - 0x10c]
jne 0x10029cdf
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xdc], eax
xorps xmm1, xmm1
ucomiss xmm7, xmm1
lahf
test ah, 0x44
jp 0x10029cf3
mov eax, dword [edi + 0x28]
movss xmm7, dword [eax + 0xc]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0x40], xmm0
test edx, edx
je 0x10029d52
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x40]
comiss xmm0, xmm1
jae 0x10029d1c
movss dword [ebp - 0x40], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x3c]
comiss xmm0, xmm1
jae 0x10029d30
movss dword [ebp - 0x3c], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x38]
ja 0x10029d40
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x34]
ja 0x10029d50
movss dword [ebp - 0x34], xmm0
test edx, edx
setne al
movaps xmm2, xmm7
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0x40]
mov dword [esp], 0
push esi
push dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x108]
push dword [ebp - 0x140]
push dword [eax + 4]
push dword [eax]
push edi
call fcn.1001ed40
mov edi, dword [0x1006b178]
mov ecx, ebx
jmp 0x1002a8e4
movss xmm0, dword [ecx + 0x18]
or esi, 0xffffffff
mov ecx, dword [ebx + 0xc]
xorps xmm7, xmm7
mov eax, dword [ebx + 0x38]
addss xmm0, dword [ebx + 0xe5c]
mov edx, dword [ebx + 0x3c]
mov dword [ebp - 0xf0], ecx
lea eax, [ecx + eax*2]
movss dword [ebp - 0x114], xmm6
mov dword [ebp - 0xd0], eax
mov ecx, 1
mov eax, dword [ebx + 0x40]
movss dword [ebx + 0xe5c], xmm0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0x100], 0xfffffc19
cmp edx, eax
je 0x10029e11
mov ecx, dword [ebp - 0xf0]
cmovl eax, edx
mov dword [ebp - 0x100], esi
lea eax, [ecx + eax*2]
mov ecx, 2
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xe4]
movzx eax, al
add ecx, eax
xor eax, eax
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xf0]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x10029ea3
or ebx, 0xffffffff
mov esi, eax
xor edi, edi
nop dword [eax + eax]
cmp si, 0xa
jne 0x10029e77
inc edi
cmp ebx, 0xffffffff
jne 0x10029e5b
cmp edx, dword [ebp - 0xd0]
jb 0x10029e5b
dec ecx
mov ebx, edi
test ecx, ecx
jle 0x10029e85
cmp dword [ebp - 0x100], 0xffffffff
jne 0x10029e77
cmp edx, dword [ebp - 0xc0]
jb 0x10029e77
dec ecx
mov dword [ebp - 0x100], edi
test ecx, ecx
jle 0x10029e85
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x10029e40
mov dword [ebp - 0x120], ebx
mov ebx, dword [ebp - 0x124]
mov esi, dword [ebp - 0x120]
mov dword [ebp - 0x12c], edi
mov edi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 0xf0]
inc eax
cmp esi, 0xffffffff
mov dword [ebp - 0x12c], eax
mov ecx, eax
cmovne ecx, esi
mov esi, dword [ebp - 0xd0]
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x100]
cmp ecx, 0xffffffff
cmove ecx, eax
mov dword [ebp - 0x100], ecx
mov ecx, esi
cmp esi, edx
jbe 0x10029ef0
cmp word [ecx - 2], 0xa
je 0x10029ef0
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10029ee2
mov edx, dword [edi + 0x18b8]
movaps xmm1, xmm6
movss xmm2, dword [edi + 0x18bc]
movaps xmm4, xmm6
divss xmm2, dword [edx]
cmp ecx, esi
jae 0x10029f55
mov edi, dword [ebp - 0xd0]
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x10029f28
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x10029f4b
cmp esi, 0xd
je 0x10029f4b
mov esi, eax
cmp esi, dword [edx + 0x1c]
jge 0x10029f3e
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + esi*4]
jmp 0x10029f43
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edi
jb 0x10029f12
mov edi, dword [ebp - 0xc8]
cmp dword [ebp - 0x100], 0
maxss xmm4, xmm1
mov eax, dword [ebp - 0xb8]
movd xmm5, dword [ebp - 0x120]
lea ecx, [eax + 0x18bc]
movss xmm3, dword [ecx]
cvtdq2ps xmm5, xmm5
mov dword [ebp - 0xd0], ecx
movss dword [ebp - 0x16c], xmm4
mulss xmm5, xmm3
movss dword [ebp - 0x170], xmm5
jl 0x1002a036
mov eax, dword [ebp - 0xc0]
mov ecx, eax
mov esi, dword [ebp - 0xf0]
cmp eax, esi
jbe 0x10029fc4
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x10029fbe
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10029fb0
mov eax, dword [ebp - 0xc0]
movaps xmm1, xmm6
movaps xmm7, xmm6
cmp ecx, eax
jae 0x1002a015
mov edi, dword [ebp - 0xc0]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x10029fe8
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x1002a00b
cmp eax, 0xd
je 0x1002a00b
mov esi, eax
cmp esi, dword [edx + 0x1c]
jge 0x10029ffe
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + esi*4]
jmp 0x1002a003
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, edi
jb 0x10029fd4
mov edi, dword [ebp - 0xc8]
movd xmm0, dword [ebp - 0x100]
maxss xmm7, xmm1
mov ecx, dword [ebp - 0xd0]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x114], xmm0
mov edx, dword [ebp - 0xe4]
test dl, dl
je 0x1002a06e
mov eax, dword [ebp - 0x12c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss xmm3, dword [ebp - 0x128]
movss dword [ebp - 0xd8], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0x11c], xmm0
jmp 0x1002a076
movss xmm3, dword [ebp - 0x128]
cmp byte [ebx + 0xe60], 0
je 0x1002a133
test dword [ebp + 0x10], 0x1000
jne 0x1002a0d0
movss xmm2, dword [ebx + 0x34]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x10067430]
movaps xmm1, xmm4
jbe 0x1002a0b1
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x1002a0be
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x1002a0d7
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x34], xmm0
jmp 0x1002a0d7
mov dword [ebx + 0x34], 0
test dl, dl
je 0x1002a133
mov eax, dword [ebp - 0xfc]
movaps xmm1, xmm5
subss xmm1, dword [ecx]
movss xmm2, dword [eax + 0x58]
comiss xmm2, xmm1
jbe 0x1002a0fb
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x1002a10a
movaps xmm0, xmm5
subss xmm0, dword [ebp - 0x13c]
maxss xmm0, xmm2
subss xmm2, xmm0
movss dword [eax + 0x58], xmm0
addss xmm2, dword [eax + 0xc8]
movss dword [ebp - 0x104], xmm2
movss dword [eax + 0xc8], xmm2
movss dword [ebp - 0x130], xmm2
movss xmm5, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x40]
mov edx, dword [ebx + 0x3c]
mov byte [ebx + 0xe60], 0
movss dword [ebp - 0xc0], xmm5
cmp edx, ecx
je 0x1002a441
mov esi, dword [ebp - 0xf0]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [ebp - 0xe4], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xf0]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x12c], eax
je 0x1002a190
movss dword [ebp - 0x168], xmm6
movss dword [ebp - 0x120], xmm6
jmp 0x1002a1a0
movss xmm0, dword [0x100674a4]
movss dword [ebp - 0x120], xmm0
movss xmm1, dword [0x1006747c]
mov ecx, 0x2a
call fcn.10003500
mov ecx, dword [ebp - 0x108]
xorps xmm6, xmm6
movss xmm1, dword [ebp - 0x104]
movaps xmm4, xmm1
mov dword [ebp - 0xf0], eax
addss xmm4, dword [ebp - 0x114]
movss xmm0, dword [ecx]
mov ecx, dword [ebp - 0x12c]
movaps xmm5, xmm0
addss xmm5, xmm7
subss xmm4, xmm6
subss xmm5, dword [ebp - 0xc0]
movss dword [ebp - 0x114], xmm4
cmp esi, ecx
jae 0x1002a437
movss xmm1, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x108]
mov ebx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xd0]
nop dword [eax + eax]
movss xmm6, dword [edx]
movaps xmm0, xmm1
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x1002a41c
movss xmm0, dword [ebp - 0x4c]
comiss xmm0, xmm4
jbe 0x1002a25f
cmp esi, ecx
jae 0x1002a3e6
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1002a3e0
cmp esi, ecx
jb 0x1002a246
jmp 0x1002a3e0
mov edx, dword [edi + 0x18b8]
xorps xmm7, xmm7
movss xmm2, dword [edi + 0x18bc]
xorps xmm3, xmm3
xorps xmm1, xmm1
divss xmm2, dword [edx]
cmp esi, ecx
jae 0x1002a2c4
nop
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1002a2ba
cmp eax, 0xd
je 0x1002a2b4
mov ecx, eax
cmp ecx, dword [edx + 0x1c]
jge 0x1002a2a1
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x1002a2a6
movss xmm0, dword [edx + 0x38]
mov ecx, dword [ebp - 0x12c]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, ecx
jb 0x1002a280
jmp 0x1002a2c4
movaps xmm3, xmm7
maxss xmm3, xmm1
movaps xmm1, xmm7
maxss xmm1, xmm3
comiss xmm7, xmm1
jb 0x1002a304
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x18b8]
cmp dword [eax + 0x1c], 0x20
jle 0x1002a2ec
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x1002a2f1
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x10067444]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x168]
addss xmm1, xmm5
movss xmm0, dword [ebp - 0x120]
subss xmm2, xmm6
movss xmm6, dword [ebp - 0x34]
addss xmm0, xmm4
movaps xmm3, xmm5
movss xmm5, dword [ebp - 0xf4]
addss xmm3, xmm7
movss xmm7, dword [ebp - 0x50]
minss xmm1, xmm6
addss xmm2, xmm4
minss xmm0, xmm5
maxss xmm3, xmm7
movss dword [ebp - 0x20], xmm1
maxss xmm2, dword [ebp - 0x4c]
comiss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x1c], xmm0
jbe 0x1002a3d2
comiss xmm5, xmm2
jbe 0x1002a3d2
comiss xmm1, xmm7
jbe 0x1002a3d2
comiss xmm6, xmm3
jbe 0x1002a3d2
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x20]
push ebx
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x270]
call fcn.1001c4c0
movss xmm0, dword [ebp - 0x10c]
mov edi, dword [0x1006b178]
movss xmm4, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x12c]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x138]
movss dword [ebp - 0x138], xmm0
movss xmm1, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x108]
movss xmm0, dword [eax]
movaps xmm5, xmm0
addss xmm4, dword [edx]
subss xmm5, dword [ebp - 0xc0]
movss dword [ebp - 0x114], xmm4
cmp esi, ecx
jb 0x1002a220
movss xmm5, dword [ebp - 0xc0]
xorps xmm6, xmm6
mov ebx, dword [ebp - 0x124]
jmp 0x1002a449
movss xmm0, dword [ebp - 0xdc]
xorps xmm6, xmm6
movss xmm5, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0x124]
jmp 0x1002a449
movss xmm5, dword [ebp - 0xc0]
jmp 0x1002a451
movss xmm0, dword [ebp - 0xdc]
movss xmm1, dword [ebp - 0x104]
cmp byte [ebp - 0xe4], 0
mov edx, dword [ebx + 0x28]
movss xmm3, dword [0x10067574]
jne 0x1002a471
cmp edx, 0x200000
jge 0x1002a68d
mov eax, dword [ebp - 0xfc]
subss xmm1, xmm6
movups xmm2, xmmword [edi + 0x15b8]
movss xmm7, dword [0x1006747c]
subss xmm0, xmm5
comiss xmm6, xmm2
mov eax, dword [eax + 0x270]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x18b8]
movss dword [ebp - 0x34], xmm1
movaps xmm1, xmm2
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1518]
movss xmm4, dword [eax]
movss dword [ebp - 0x38], xmm0
movups xmmword [ebp - 0x28], xmm2
jbe 0x1002a4dd
movaps xmm0, xmm6
jmp 0x1002a4e4
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm5, dword [0x10067444]
movss xmm2, dword [ebp - 0x24]
comiss xmm6, xmm2
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si ecx, xmm0
jbe 0x1002a507
movaps xmm0, xmm6
jmp 0x1002a50e
movaps xmm0, xmm7
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x20]
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm2
jbe 0x1002a52e
movaps xmm0, xmm6
jmp 0x1002a535
movaps xmm0, xmm7
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x1002a550
movaps xmm0, xmm6
jmp 0x1002a557
movaps xmm0, xmm7
minss xmm0, xmm1
mov eax, dword [ebp - 0xe8]
mulss xmm0, xmm3
lea ebx, [edx + eax]
addss xmm0, xmm5
lea edx, [ebp - 0x18]
cvttss2si esi, xmm0
shl esi, 0x18
or esi, ecx
xor ecx, ecx
cmp byte [ebp - 0xe4], cl
cmovne edx, ecx
test esi, 0xff000000
je 0x1002a68d
test ebx, ebx
jne 0x1002a5a6
mov ecx, eax
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002a594
mov eax, dword [ebp - 0xe8]
sub ecx, ebx
lea ebx, [ecx + eax]
cmp eax, ebx
je 0x1002a68d
cmp dword [ebp - 0xdc], 0
mov edi, dword [ebp - 0x140]
jne 0x1002a5c9
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xdc], eax
ucomiss xmm4, xmm6
lahf
test ah, 0x44
jp 0x1002a5da
mov eax, dword [edi + 0x28]
movss xmm4, dword [eax + 0xc]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x14c], xmm0
test edx, edx
je 0x1002a654
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x14c]
comiss xmm0, xmm1
jae 0x1002a60c
movss dword [ebp - 0x14c], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x148]
comiss xmm0, xmm1
jae 0x1002a626
movss dword [ebp - 0x148], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x144]
ja 0x1002a63c
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x140]
ja 0x1002a652
movss dword [ebp - 0x140], xmm0
test edx, edx
setne al
movaps xmm2, xmm4
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xdc]
lea eax, [ebp - 0x14c]
mov dword [esp], 0
push ebx
push dword [ebp - 0xe8]
push eax
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push edi
call fcn.1001ed40
mov edi, dword [0x1006b178]
mov ebx, dword [ebp - 0xb8]
cmp byte [ebx + 0xbe], 0
je 0x1002a6eb
movss xmm0, dword [ebx + 0x2b70]
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x1002a6eb
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x144], xmm0
fld qword [ebp - 0x144]
fld qword [0x10067498]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10067460]
fstp qword [ebp - 0x144]
movsd xmm1, qword [ebp - 0x144]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1002a6eb
xor al, al
jmp 0x1002a6ed
mov al, 1
movss xmm3, dword [ebp - 0x104]
xorps xmm4, xmm4
mov ecx, dword [ebp - 0x108]
movss xmm7, dword [0x10067444]
movss xmm6, dword [0x1006747c]
addss xmm3, dword [ebp - 0x170]
movss xmm5, dword [ecx]
mov ecx, dword [ebp - 0xd0]
addss xmm5, dword [ebp - 0x16c]
subss xmm3, xmm4
subss xmm5, dword [ebp - 0xc0]
movss dword [ebp - 0x104], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [ecx]
movss dword [ebp - 0xdc], xmm5
movaps xmm2, xmm5
movss dword [ebp - 0x28], xmm5
addss xmm2, xmm6
subss xmm1, dword [0x10067488]
addss xmm0, xmm7
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x24], xmm0
test al, al
je 0x1002a8c3
comiss xmm1, dword [ebp - 0x4c]
jbe 0x1002a8c3
movss xmm6, dword [ebp - 0x138]
comiss xmm6, xmm0
jbe 0x1002a8bb
comiss xmm2, dword [ebp - 0x50]
jbe 0x1002a8bb
movss xmm0, dword [ebp - 0x10c]
comiss xmm0, xmm5
jbe 0x1002a8bb
movups xmm2, xmmword [edi + 0x15b8]
movss dword [ebp - 0x150], xmm1
comiss xmm4, xmm2
movaps xmm1, xmm2
movss dword [ebp - 0x154], xmm5
movss xmm5, dword [0x1006747c]
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [edi + 0x1518]
movups xmmword [ebp - 0x18], xmm2
jbe 0x1002a7ef
xorps xmm0, xmm0
jmp 0x1002a7f6
movaps xmm0, xmm5
minss xmm0, xmm2
movss xmm2, dword [0x10067574]
movss xmm3, dword [ebp - 0x14]
comiss xmm4, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002a819
xorps xmm0, xmm0
jmp 0x1002a820
movaps xmm0, xmm5
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x10]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm4, xmm3
jbe 0x1002a840
xorps xmm0, xmm0
jmp 0x1002a847
movaps xmm0, xmm5
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm4, xmm1
jbe 0x1002a862
xorps xmm0, xmm0
jmp 0x1002a869
movaps xmm0, xmm5
minss xmm0, xmm1
mulss xmm0, xmm2
push ecx
mov dword [esp], 0x3f800000
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x270]
call fcn.1001c280
mov edi, dword [0x1006b178]
movss xmm3, dword [ebp - 0x104]
movss xmm5, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xd0]
movss xmm6, dword [0x1006747c]
cmp byte [ebp - 0xf8], 0
je 0x1002a8e4
subss xmm3, dword [ecx]
subss xmm5, xmm6
movss dword [ebx + 0x2c1c], xmm3
movss dword [ebx + 0x2c18], xmm5
cmp byte [ebp - 0xe4], 0
je 0x1002a993
mov eax, dword [edi + 0x199c]
xorps xmm2, xmm2
movss xmm3, dword [ebp - 0xd8]
addss xmm3, dword [ecx]
movss xmm4, dword [ebp - 0x11c]
mov byte [eax + 0x78], 1
addss xmm4, xmm2
mov eax, dword [edi + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x1002a983
movss xmm1, dword [eax + 0xc4]
lea ecx, [ebp - 0x154]
movss xmm0, dword [eax + 0xc8]
addss xmm4, xmm1
addss xmm3, xmm0
movss dword [ebp - 0x28], xmm1
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0x20], xmm4
subss xmm4, xmm1
movss dword [ebp - 0x1c], xmm3
xorps xmm1, xmm1
subss xmm3, xmm0
movss dword [ebp - 0x154], xmm4
movss dword [ebp - 0x150], xmm3
call fcn.10004c10
push 0
xor edx, edx
lea ecx, [ebp - 0x28]
call fcn.10004d30
add esp, 4
call fcn.10007c40
call fcn.1000d000
mov edi, dword [0x1006b178]
mov ebx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x158]
test cl, cl
je 0x1002aa64
mov eax, dword [edi + 0x199c]
mov esi, edi
mov ecx, dword [eax + 0x270]
dec dword [ecx + 0x48]
call fcn.1001a860
mov edx, dword [edi + 0x1a18]
sub edx, 1
mov dword [edi + 0x1a18], edx
mov edi, dword [0x1006b178]
jne 0x1002a9eb
mov edx, dword [edi + 0xa0]
test edx, edx
jne 0x1002a9f5
mov eax, dword [edi + 0x94]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
jmp 0x1002a9f5
mov eax, dword [esi + 0x1a20]
mov edx, dword [eax + edx*4 - 4]
movss xmm0, dword [edi + 0x98]
mov eax, dword [edi + 0x199c]
mov dword [edi + 0x18b8], edx
mulss xmm0, dword [edx]
mulss xmm0, dword [edx + 4]
movss dword [edi + 0x18c0], xmm0
test eax, eax
je 0x1002aa30
movss xmm0, dword [eax + 0x268]
mulss xmm0, dword [edi + 0x18c0]
jmp 0x1002aa33
xorps xmm0, xmm0
movss dword [edi + 0x18bc], xmm0
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x18c4], ecx
mov ecx, dword [ebp - 0x158]
mov dword [edi + 0x18c8], eax
mov dword [edi + 0x18cc], edx
movss dword [edi + 0x18d0], xmm0
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x2c54], 0
je 0x1002aa95
test cl, cl
jne 0x1002aa95
push 0
mov edx, ebx
lea ecx, [ebp - 0x134]
call fcn.10011ad0
mov edi, dword [0x1006b178]
add esp, 4
mov eax, dword [ebp - 0xb8]
movss xmm0, dword [ebp - 0x160]
comiss xmm0, dword [0x100673d8]
jbe 0x1002aaf4
movss xmm0, dword [ebp - 0x48]
xor edx, edx
addss xmm0, dword [eax + 0x1564]
mov ecx, dword [ebp - 0x164]
movss dword [ebp - 0x134], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [eax + 0x1550]
movss dword [ebp - 0x130], xmm0
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push 1
call fcn.10003790
mov edi, dword [0x1006b178]
add esp, 0xc
mov cl, byte [ebp - 0xe9]
test cl, cl
je 0x1002ab12
mov eax, dword [edi + 0x199c]
mov byte [edi + 0x19ce], 1
or dword [eax + 0x10c], 4
test byte [ebp + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 0xd4]
cmovne eax, ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1003f934
mov esp, ebp
pop ebp
ret