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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
mov eax, dword [0x1006b040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [0x1006bc38]
mov dword [ebp - 0x154], ecx
mov ecx, esi
push edi
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xb0], ecx
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x78], 1
mov ebx, dword [ecx + 0x199c]
mov dword [ebp - 0xd8], ebx
cmp byte [ebx + 0x7b], 0
jne 0x1002721e
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 - 0xe4], eax
mov eax, edx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0x13c], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x100], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x104], eax
test cl, cl
je 0x10026e87
call fcn.1000cac0
mov esi, dword [0x1006bc38]
mov ecx, dword [ebx + 0x1bc]
xor edx, edx
mov eax, dword [ebx + 0x1c4]
mov ebx, dword [ebp - 0x154]
push dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.10002ca0
add esp, 4
mov dword [ebp - 0xcc], eax
cmp dword [esi + 0x19bc], eax
jne 0x10026ebd
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10026ecc
mov byte [esi + 0x19cf], 1
mov ecx, ebx
cmp ebx, 0xffffffff
jae 0x10026ee9
mov dl, byte [ecx]
test dl, dl
je 0x10026ee9
cmp dl, 0x23
jne 0x10026ee3
cmp byte [ecx + 1], dl
je 0x10026ee9
inc ecx
cmp ecx, 0xffffffff
jb 0x10026ed3
movss xmm2, dword [esi + 0x18bc]
movss xmm0, dword [0x1006859c]
mov edi, dword [esi + 0x18b8]
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x150], xmm0
cmp ebx, ecx
jne 0x10026f1d
xorps xmm5, xmm5
movss dword [ebp - 0x144], xmm5
jmp 0x10026f7e
movss xmm3, dword [0x10068578]
lea eax, [ebp - 0x10c]
push ecx
push ecx
push ebx
push ecx
mov dword [esp], 0xbf800000
mov ecx, edi
push eax
call fcn.1001ea90
movss xmm1, dword [ebp - 0x10c]
xorps xmm5, xmm5
comiss xmm1, xmm5
jbe 0x10026f5b
movss xmm0, dword [ebp - 0x34]
divss xmm0, dword [edi]
subss xmm1, xmm0
addss xmm1, dword [0x10068460]
movss xmm2, dword [ebp - 0x108]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x144], xmm0
cmp byte [ebp - 0xd0], 0
je 0x10026f97
movss xmm2, dword [esi + 0x18bc]
mulss xmm2, dword [0x100684dc]
mov edi, dword [esi + 0x199c]
movss xmm3, dword [edi + 0x168]
comiss xmm5, xmm3
jbe 0x10027012
movss xmm4, dword [edi + 0xc4]
mov ebx, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x210]
subss xmm4, dword [edi + 0xc]
subss xmm1, dword [edi + 0xc]
test ebx, ebx
je 0x10026ffe
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 [0x10068464]
maxss xmm3, xmm1
cvttss2si eax, xmm3
xorps xmm1, xmm1
movd xmm4, eax
mov eax, dword [ebp - 0xb0]
cvtdq2ps xmm4, xmm4
movss xmm3, dword [eax + 0x1550]
mov eax, dword [ebp + 0xc]
addss xmm3, xmm3
movss xmm6, dword [eax]
comiss xmm5, xmm6
movss xmm7, dword [eax + 4]
addss xmm3, xmm2
movss dword [ebp - 0x110], xmm6
xorps xmm2, xmm2
movss dword [ebp - 0xf8], xmm7
ja 0x1002705f
comiss xmm5, xmm7
jbe 0x100270bf
movss xmm2, dword [edi + 0x214]
mov ebx, dword [edi + 0x1b8]
movss xmm1, dword [edi + 0x210]
subss xmm2, dword [edi + 0x10]
subss xmm1, dword [edi + 0xc]
test ebx, ebx
je 0x100270b3
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]
mov eax, edi
addss xmm1, dword [eax + 0xc]
addss xmm2, dword [eax + 0x10]
comiss xmm5, xmm6
movss xmm0, dword [0x100684b8]
jb 0x100270fd
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x100270e2
movaps xmm6, xmm4
movss dword [ebp - 0x110], xmm6
jmp 0x100270fd
subss xmm1, dword [edi + 0xc4]
maxss xmm1, xmm0
addss xmm1, xmm6
movaps xmm6, xmm1
movss dword [ebp - 0x110], xmm1
comiss xmm5, xmm7
jb 0x10027133
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jp 0x10027118
movaps xmm7, xmm3
movss dword [ebp - 0xf8], xmm7
jmp 0x10027133
subss xmm2, dword [edi + 0xc8]
maxss xmm2, xmm0
addss xmm2, xmm7
movaps xmm7, xmm2
movss dword [ebp - 0xf8], xmm2
mov esi, dword [ebp - 0xd8]
movaps xmm1, xmm7
movss xmm2, dword [ebp - 0x144]
comiss xmm2, xmm5
mov edi, dword [ebp - 0xb0]
movss xmm3, dword [esi + 0xc4]
movss xmm4, dword [esi + 0xc8]
movaps xmm0, xmm3
addss xmm0, xmm6
movss dword [ebp - 0x48], xmm3
addss xmm1, xmm4
movss dword [ebp - 0x44], xmm4
movss dword [ebp - 0x40], xmm0
movss dword [ebp - 0x3c], xmm1
jbe 0x10027188
addss xmm2, dword [edi + 0x1564]
jmp 0x1002718b
xorps xmm2, xmm2
cmp byte [ebp - 0xd0], 0
addss xmm0, xmm2
addss xmm1, xmm5
movss dword [ebp - 0x18], xmm3
movss dword [ebp - 0x14], xmm4
mov dword [ebp - 0xec], esi
movss dword [ebp - 0x10], xmm0
movss dword [ebp - 0xc], xmm1
je 0x10027270
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x18]
call fcn.10004d20
movss xmm0, dword [ebp - 0x40]
lea edx, [ebp - 0x10c]
subss xmm0, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xcc]
movss dword [ebp - 0x118], xmm1
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x3c]
subss xmm0, xmm1
movss dword [ebp - 0x108], xmm0
call fcn.10007910
add esp, 4
test al, al
jne 0x10027231
call fcn.10007a80
call fcn.1000cc00
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1003f8a4
mov esp, ebp
pop ebp
ret
mov ebx, dword [0x1006bc38]
movss xmm0, dword [ebp - 0x110]
mov eax, dword [ebx + 0x199c]
mov byte [eax + 0x78], 1
mov ecx, dword [ebx + 0x199c]
mov dword [ebp - 0xec], ecx
subss xmm0, dword [ecx + 0x6c]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0x110], xmm0
jmp 0x100272cb
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x10c]
movss dword [ebp - 0x108], xmm1
movss xmm1, dword [edi + 0x1550]
movss dword [ebp - 0x10c], xmm0
call fcn.10004c00
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x18]
call fcn.10004d20
add esp, 4
test al, al
je 0x1002721e
movss xmm0, dword [ebp - 0x44]
mov ebx, dword [0x1006bc38]
movss dword [ebp - 0x118], xmm0
mov edx, dword [ebp - 0xcc]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0xb8], ebx
call fcn.10004ec0
mov byte [ebp - 0xb2], al
test al, al
je 0x100272f3
mov dword [edi + 0x1c58], 1
cmp byte [ebp - 0x13c], 0
je 0x10027468
mov edx, dword [edi + 0x18b8]
cmp dword [edx + 0x28], 0x2a
jg 0x10027311
mov edi, dword [edx + 0x34]
jmp 0x10027330
mov eax, dword [edx + 0x30]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10027327
mov edi, dword [edx + 0x34]
jmp 0x10027330
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x18]
lea edi, [eax + ecx*8]
mov eax, dword [edx]
mov esi, dword [ebp - 0xb0]
add esi, 0x2b84
mov dword [ebp - 0x34], esi
mov dword [esi], eax
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0xb0]
mov dword [esi + 4], eax
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], edi
mov eax, dword [edi + 4]
mov dword [esi + 0x38], eax
movss xmm0, dword [ebx + 0x98]
mov eax, dword [ebx + 0x199c]
mov dword [ebx + 0x18b8], esi
mulss xmm0, dword [esi]
mulss xmm0, dword [esi + 4]
movss dword [ebx + 0x18c0], xmm0
test eax, eax
je 0x100273c1
mulss xmm0, dword [eax + 0x268]
jmp 0x100273c4
xorps xmm0, xmm0
movss dword [ebx + 0x18bc], xmm0
mov eax, dword [esi + 0x44]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [ebx + 0x18c8], eax
lea eax, [ebp - 0x34]
mov dword [ebx + 0x18c4], ecx
lea ecx, [ebx + 0x1a18]
push eax
mov dword [ebx + 0x18cc], esi
movss dword [ebx + 0x18d0], xmm0
call fcn.10012660
mov eax, dword [esi + 0x44]
mov eax, dword [eax + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x199c]
mov ebx, dword [eax + 0x270]
mov edi, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
cmp ecx, edi
jne 0x10027440
inc ecx
test edi, edi
je 0x1002742d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10027432
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x48]
call fcn.10012510
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.1001a740
mov ebx, dword [0x1006bc38]
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0xb8], ebx
mov edi, dword [ebp - 0xb0]
mov ecx, esi
mov edx, dword [ebp - 0xcc]
add edi, 0x1d14
test dword [ebp + 0x10], 0x440
mov dword [ebp - 0xc4], edi
sete al
movzx eax, al
push eax
call fcn.10005030
add esp, 4
mov byte [ebp - 0xdd], al
test al, al
je 0x1002753f
mov ecx, dword [esi + 0x324]
cmp ecx, dword [esi + 0x32c]
jne 0x1002753f
mov byte [ebp - 0xba], 1
mov byte [ebp - 0xc6], 0
cmp byte [ebp - 0xb2], 0
mov edx, dword [ebp - 0xb0]
je 0x100274e5
cmp byte [edx + 0x3f8], 0
mov byte [ebp - 0xb9], 1
jne 0x100274ec
mov byte [ebp - 0xb9], 0
cmp byte [ebp - 0xd0], 0
je 0x10027561
cmp dword [edx + 0x19bc], 0
jne 0x10027561
mov eax, dword [ebp - 0xcc]
cmp dword [edi], eax
jne 0x10027561
mov eax, dword [ebp - 0xec]
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.10002ca0
mov edx, dword [ebp - 0xb0]
add esp, 4
cmp dword [edx + 0x19c0], eax
jne 0x10027561
mov cl, 1
jmp 0x10027563
mov byte [ebp - 0xba], 0
test al, al
je 0x100274bf
mov byte [ebp - 0xc6], 1
mov byte [ebp - 0xba], 0
jmp 0x100274c6
xor cl, cl
mov eax, dword [edx + 0x19bc]
mov ebx, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0xcc]
je 0x100275b9
mov esi, dword [ebp - 0xcc]
cmp dword [edx + 0x1abc], esi
mov esi, dword [ebp - 0xd8]
je 0x100275a8
mov ebx, dword [ebp - 0xcc]
cmp dword [edx + 0x1ab0], ebx
mov ebx, dword [ebp - 0xb8]
jne 0x100275b9
cmp dword [edx + 0x1acc], 3
jne 0x100275b9
mov dl, 1
mov byte [ebp - 0xc5], 0
mov byte [ebp - 0xaa], dl
jmp 0x100275d0
xor dl, dl
mov byte [ebp - 0xc5], 0
mov byte [ebp - 0xaa], dl
cmp eax, dword [ebp - 0xcc]
je 0x100275ea
test byte [ebp + 0x10], 0x10
jne 0x100275da
test dl, dl
je 0x100275ea
cmp byte [ebp - 0xd0], 0
mov byte [ebp - 0xdc], 1
je 0x100275f1
mov byte [ebp - 0xdc], 0
cmp byte [ebp - 0xdd], 0
jne 0x10027629
cmp byte [ebp - 0xb9], 0
jne 0x10027629
test cl, cl
jne 0x10027629
test dl, dl
jne 0x10027629
mov esi, dword [ebp - 0xb0]
cmp byte [esi + 0x3f8], dl
je 0x100278ed
mov byte [ebp - 0xc5], 1
jmp 0x100278ed
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xcc]
cmp dword [eax + 0x19bc], ecx
je 0x100278b6
mov esi, dword [ebp - 0xd4]
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x128], eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10027653
mov edx, dword [ebp + 8]
lea eax, [edi + 4]
mov edi, dword [eax + 4]
inc edx
sub esi, ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x12c], eax
cmp edx, edi
jle 0x100276bd
test edi, edi
je 0x1002768d
mov eax, edi
cdq
sub eax, edx
mov edx, dword [ebp - 0xc0]
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10027692
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
mov ecx, dword [ebp - 0x12c]
push eax
call fcn.10012a20
mov ebx, dword [0x1006bc38]
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xb8], ebx
mov dword [eax], edx
lea edi, [esi + 1]
mov eax, dword [ebp - 0xb0]
add eax, 0x1d24
mov dword [ebp - 0xc0], eax
mov esi, dword [eax + 4]
cmp edi, esi
jle 0x10027715
test esi, esi
je 0x100276eb
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100276f0
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, dword [ebp - 0xc0]
push eax
call fcn.100128b0
mov ebx, dword [0x1006bc38]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb8], ebx
mov esi, dword [ebp - 0xd4]
mov dword [eax], edi
mov eax, dword [ebp - 0xb0]
push edi
push esi
push dword [eax + 0x1d2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0xc4]
add esp, 0xc
mov eax, dword [ebp + 8]
mov edi, esi
dec eax
mov ecx, dword [edx + 0xc]
mov esi, ecx
mov dword [ebp - 0xc0], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x1002779a
cmp byte [edi], 0
je 0x10027794
push 0
mov edx, edi
lea ecx, [ebp - 0x34]
call fcn.10003040
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1002778e
cmp eax, 0x10000
jae 0x1002777b
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc0]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x10027751
jmp 0x10027794
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
sub edi, dword [ebp - 0xd4]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 0x28], edi
mov edi, dword [ebp - 0xc4]
sar esi, 1
mov dword [edx + 0x2c], esi
mov dword [edi + 0xe5c], 0xbe99999a
cmp dword [edi], ecx
jne 0x10027801
cmp dword [ebp - 0x128], esi
jne 0x10027801
cmp dword [edi + 0x38], esi
mov ecx, esi
mov edx, dword [ebp - 0xd0]
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov ecx, dword [ebp - 0xcc]
mov dword [edi + 0x40], esi
jmp 0x10027861
mov edx, dword [ebp - 0xd0]
mov dword [edi + 0x34], eax
mov dword [edi], ecx
mov dword [edi + 0xe54], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x4c], eax
mov al, dl
xor al, 1
mov dword [edi + 0xe4e], 0x630000
mov dword [edi + 0xe58], 0x3e7
mov dword [edi + 0x44], 0x10000
mov byte [edi + 0x48], al
test dl, dl
jne 0x10027861
mov eax, dword [ebp - 0xdc]
mov esi, 1
cmp byte [ebp - 0xba], dl
movzx eax, al
cmovne eax, esi
mov dword [ebp - 0xdc], eax
test dword [ebp + 0x10], 0x2000
je 0x1002786e
mov byte [edi + 0x44], 1
test dl, dl
jne 0x100278b0
cmp byte [ebp - 0xc6], dl
jne 0x10027890
cmp byte [ebp - 0xb9], dl
je 0x100278b0
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0xfc], dl
je 0x100278b0
mov edx, dword [ebp - 0xd8]
mov byte [ebp - 0xdc], 1
call fcn.10004a80
call fcn.10004b40
mov ecx, edx
call fcn.1000c460
jmp 0x100278d2
mov esi, dword [ebp - 0xd8]
mov edx, esi
call fcn.10004a80
call fcn.10004b40
mov ecx, esi
call fcn.1000c460
cmp byte [ebp - 0xd0], 0
jne 0x100278e7
test byte [ebp + 0x10], 0x80
mov esi, dword [ebp - 0xb0]
jne 0x100278ed
or dword [esi + 0x19d4], 0xc
jmp 0x100278ed
mov esi, dword [ebp - 0xb0]
xor cl, cl
mov byte [ebp - 0xdd], 0
mov byte [ebp - 0xa9], cl
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xfc], 0
cmp dword [esi + 0x19bc], ecx
jne 0x10027d72
cmp byte [ebp - 0xe4], 0
jne 0x10027a2f
cmp byte [esi + 0x19cc], 0
jne 0x10027a2f
mov esi, dword [ebp + 8]
lea eax, [edi + 4]
mov edi, dword [eax + 4]
inc esi
mov dword [ebp - 0xc0], eax
cmp esi, edi
jle 0x10027981
test edi, edi
je 0x10027957
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1002795c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0xc0]
push eax
call fcn.10012a20
mov ebx, dword [0x1006bc38]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb8], ebx
mov edx, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd4]
mov dword [eax], esi
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
mov esi, ecx
mov dword [ebp - 0xc0], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x100279ec
cmp byte [edi], 0
je 0x100279e6
push 0
mov edx, edi
lea ecx, [ebp - 0x34]
call fcn.10003040
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100279e0
cmp eax, 0x10000
jae 0x100279ce
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp + 8]
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x100279a4
jmp 0x100279e6
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
sub edi, dword [ebp - 0xd4]
xor eax, eax
mov word [esi], ax
sub esi, ecx
sar esi, 1
mov dword [edx + 0x28], edi
mov ecx, esi
mov edi, dword [ebp - 0xc4]
mov dword [edx + 0x2c], esi
cmp dword [edi + 0x38], esi
cmovl ecx, dword [edi + 0x38]
cmp dword [edi + 0x3c], esi
mov dword [edi + 0x38], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
cmovl esi, dword [edi + 0x40]
mov dword [edi + 0x40], esi
mov esi, dword [ebp - 0xb0]
mov eax, dword [edi + 0x28]
mov edx, dword [ebp + 0x10]
mov dword [edi + 0xe64], edx
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x30], eax
cmp byte [esi + 0xec], 0
mov dword [esi + 0x2e60], 1
sete al
cmp byte [ebp - 0xd0], 0
mov byte [esi + 0x19cd], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0x48]
subss xmm7, dword [esi + 0x154c]
addss xmm7, dword [edi + 0x34]
je 0x10027ab8
mov ecx, dword [ebp - 0xec]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [ecx + 0xc8]
subss xmm2, dword [esi + 0x1550]
jmp 0x10027ac8
movss xmm2, dword [esi + 0x18bc]
mulss xmm2, dword [0x1006842c]
cmp byte [ebp - 0xdc], 0
mov al, byte [esi + 0xbd]
mov byte [ebp - 0xb1], al
jne 0x10027c56
mov cl, byte [ebp - 0xb2]
test cl, cl
je 0x10027afb
test al, al
jne 0x10027b60
cmp byte [esi + 0x3fd], al
jne 0x10027c56
cmp byte [esi + 0x3f8], 0
je 0x10027bc9
cmp byte [edi + 0xe61], 0
jne 0x10027bc9
test cl, cl
je 0x10027c77
cmp byte [edi + 0x48], 0
je 0x10027b37
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.100254e0
movss xmm2, dword [ebp - 0x24]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.10025810
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov byte [edi + 0x47], 0
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x10027c71
cmp byte [esi + 0x3fd], 0
je 0x10027afb
push 0x1000c
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10025c00
add esp, 4
mov byte [edi + 0xe60], 1
lea edx, [edi + 0x38]
mov dword [edi + 0xe5c], 0xbe99999a
mov ecx, edi
push 0x3000d
call fcn.10025c00
mov ebx, dword [0x1006bc38]
add esp, 4
mov esi, dword [ebp - 0xb0]
mov edx, dword [ebp + 0x10]
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov dword [ebp - 0xb8], ebx
jmp 0x10027c71
cmp byte [esi + 0xec], 0
je 0x10027c77
cmp byte [edi + 0xe61], 0
jne 0x10027c80
movss xmm0, dword [esi + 0x398]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10027c08
movss xmm0, dword [esi + 0x39c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10027c77
cmp byte [edi + 0x48], 0
je 0x10027c22
push 0
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.100254e0
movss xmm2, dword [ebp - 0x24]
add esp, 4
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x10027c30
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.10025810
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
jmp 0x10027c71
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe61], 1
mov al, byte [ebp - 0xb1]
cmp byte [edi + 0xe61], 0
je 0x10027c90
cmp byte [esi + 0xec], 0
jne 0x10027c90
mov byte [edi + 0xe61], 0
cmp word [esi + 0x300], 0
je 0x10027d72
cmp byte [esi + 0xfc], 0
je 0x10027cb4
cmp byte [esi + 0xfe], 0
je 0x10027d58
test al, al
je 0x10027cc5
cmp byte [esi + 0xff], 0
jne 0x10027d58
cmp byte [ebp - 0xe4], 0
je 0x10027d58
cmp byte [ebp - 0xaa], 0
jne 0x10027d58
xor edi, edi
add esi, 0x300
movzx eax, word [esi]
test ax, ax
je 0x10027d40
sub esp, 8
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0xc0]
call fcn.10026c00
add esp, 8
test al, al
je 0x10027d34
mov ebx, dword [ebp - 0xc4]
mov ecx, ebx
push dword [ebp - 0xc0]
lea edx, [ebx + 0x38]
call fcn.10025c00
add esp, 4
mov byte [ebx + 0xe60], 1
mov dword [ebx + 0xe5c], 0xbe99999a
mov edx, dword [ebp + 0x10]
inc edi
add esi, 2
cmp edi, 0x11
jl 0x10027ce7
mov ebx, dword [0x1006bc38]
mov edi, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ebx
xorps xmm0, xmm0
movups xmmword [esi + 0x300], xmm0
movups xmmword [esi + 0x310], xmm0
mov word [esi + 0x320], 0
mov eax, dword [ebp - 0xcc]
xor cl, cl
mov byte [ebp - 0xaa], cl
cmp dword [esi + 0x19bc], eax
jne 0x10028690
cmp byte [esi + 0x19cc], cl
jne 0x10028690
cmp byte [ebp - 0xc5], cl
jne 0x10028690
mov cl, byte [esi + 0xfd]
mov eax, 0x20000
xor esi, esi
test cl, cl
cmovne esi, eax
mov eax, dword [ebp - 0xb0]
mov dl, byte [eax + 0xbd]
mov byte [ebp - 0xef], dl
test dl, dl
je 0x10027e2a
cmp byte [eax + 0xff], 0
je 0x10027de5
cmp byte [eax + 0xfc], 0
jne 0x10027de5
mov eax, 1
jmp 0x10027de7
xor eax, eax
test eax, eax
mov eax, dword [ebp - 0xb0]
jne 0x10027e3c
xor ch, ch
mov byte [ebp - 0xb9], ch
test dl, dl
je 0x10027e4d
cmp byte [eax + 0xff], 0
je 0x10027e4d
cmp byte [eax + 0xfd], 0
je 0x10027e4d
cmp byte [eax + 0xfc], 0
jne 0x10027e4d
cmp byte [eax + 0xfe], 0
jne 0x10027e4d
mov byte [ebp - 0xc6], 1
jmp 0x10027e58
cmp byte [eax + 0xfc], 0
je 0x10027df1
cmp byte [eax + 0xff], 0
jne 0x10027df1
cmp byte [eax + 0xfe], 0
jne 0x10027df1
test cl, cl
jne 0x10027df1
mov ch, 1
jmp 0x10027df3
mov byte [ebp - 0xc6], 0
test dl, dl
je 0x10027ec8
mov edx, dword [ebp - 0xb0]
mov ah, byte [eax + 0xfe]
mov byte [ebp - 0xb1], ah
cmp byte [edx + 0xff], 0
je 0x10027edb
cmp byte [edx + 0xfc], 0
jne 0x10027edb
test ah, ah
jne 0x10027edb
mov cl, byte [edx + 0xfc]
mov byte [ebp - 0xb2], 1
mov eax, dword [ebp - 0xb0]
xor dl, dl
cmp byte [eax + 0xfd], dl
je 0x10027f4d
test cl, cl
jne 0x10027f4d
cmp byte [eax + 0xfe], cl
jne 0x10027f4d
cmp byte [eax + 0xff], cl
jne 0x10027f4d
mov dh, 1
jmp 0x10027f4f
mov ah, byte [eax + 0xfc]
mov edx, dword [ebp - 0xb0]
mov byte [ebp - 0xc6], 0
mov cl, byte [edx + 0xfc]
mov al, ah
mov byte [ebp - 0xb1], ah
mov byte [ebp - 0xb2], 0
test cl, cl
je 0x10027e8d
cmp byte [edx + 0xfd], 0
mov byte [ebp - 0xb1], ah
mov byte [ebp - 0xb2], 0
jne 0x10027e8d
cmp byte [edx + 0xfe], 0
mov byte [ebp - 0xb1], ah
mov byte [ebp - 0xb2], 0
jne 0x10027e8d
cmp byte [edx + 0xff], 0
mov byte [ebp - 0xb1], ah
mov byte [ebp - 0xb2], 0
jne 0x10027e8d
mov dl, 1
mov byte [ebp - 0xb1], al
mov byte [ebp - 0xb2], 0
xor dh, dh
xorps xmm4, xmm4
test ch, ch
je 0x10027ff2
mov eax, dword [ebx + 0x7c]
test eax, eax
js 0x10027ff2
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10027f7b
mov al, 1
jmp 0x10027fea
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10027fe8
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10027fa5
mov eax, 1
test eax, eax
setg al
jmp 0x10027fea
comiss xmm2, xmm1
jae 0x10027fdf
comiss xmm4, xmm3
jae 0x10027fdf
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10027fea
xor eax, eax
test eax, eax
setg al
jmp 0x10027fea
xor al, al
test al, al
jne 0x1002808e
test dh, dh
je 0x100280ba
mov eax, dword [ebx + 0x5c]
test eax, eax
js 0x100280ba
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002801b
mov al, 1
jmp 0x1002808a
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028088
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028045
mov eax, 1
test eax, eax
setg al
jmp 0x1002808a
comiss xmm2, xmm1
jae 0x1002807f
comiss xmm4, xmm3
jae 0x1002807f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x1002808a
xor eax, eax
test eax, eax
setg al
jmp 0x1002808a
xor al, al
test al, al
je 0x100280ba
cmp byte [ebp - 0xe4], 0
je 0x100280ba
cmp byte [ebp - 0x13c], 0
jne 0x100280ba
cmp byte [ebp - 0xd0], 0
je 0x100280b1
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x100280ba
mov byte [ebp - 0xba], 1
jmp 0x100280c1
mov byte [ebp - 0xba], 0
cmp byte [ebp - 0xb9], 0
je 0x10028166
mov eax, dword [ebx + 0x74]
test eax, eax
js 0x10028166
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100280ef
mov al, 1
jmp 0x1002815e
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x1002815c
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028119
mov eax, 1
test eax, eax
setg al
jmp 0x1002815e
comiss xmm2, xmm1
jae 0x10028153
comiss xmm4, xmm3
jae 0x10028153
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x1002815e
xor eax, eax
test eax, eax
setg al
jmp 0x1002815e
xor al, al
test al, al
jne 0x10028202
test dl, dl
je 0x10028225
mov eax, dword [ebx + 0x58]
test eax, eax
js 0x10028225
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002818f
mov al, 1
jmp 0x100281fe
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x100281fc
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100281b9
mov eax, 1
test eax, eax
setg al
jmp 0x100281fe
comiss xmm2, xmm1
jae 0x100281f3
comiss xmm4, xmm3
jae 0x100281f3
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x100281fe
xor eax, eax
test eax, eax
setg al
jmp 0x100281fe
xor al, al
test al, al
je 0x10028225
cmp byte [ebp - 0x13c], 0
jne 0x10028225
cmp byte [ebp - 0xd0], 0
je 0x1002821c
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10028225
mov byte [ebp - 0xed], 1
jmp 0x1002822c
mov byte [ebp - 0xed], 0
mov dl, byte [ebp - 0xb9]
test dl, dl
je 0x100282d2
mov eax, dword [ebx + 0x78]
test eax, eax
js 0x100282d2
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002825b
mov al, 1
jmp 0x100282ca
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x100282c8
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028285
mov eax, 1
test eax, eax
setg al
jmp 0x100282ca
comiss xmm2, xmm1
jae 0x100282bf
comiss xmm4, xmm3
jae 0x100282bf
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x100282ca
xor eax, eax
test eax, eax
setg al
jmp 0x100282ca
xor al, al
test al, al
jne 0x1002836e
test dh, dh
je 0x1002837e
mov eax, dword [ebx + 0x58]
test eax, eax
js 0x1002837e
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100282fb
mov al, 1
jmp 0x1002836a
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028368
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028325
mov eax, 1
test eax, eax
setg al
jmp 0x1002836a
comiss xmm2, xmm1
jae 0x1002835f
comiss xmm4, xmm3
jae 0x1002835f
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x1002836a
xor eax, eax
test eax, eax
setg al
jmp 0x1002836a
xor al, al
test al, al
je 0x1002837e
cmp byte [ebp - 0xe4], 0
mov byte [ebp - 0xee], 1
jne 0x10028385
mov byte [ebp - 0xee], 0
test dl, dl
je 0x1002843a
mov eax, dword [ebx + 0x84]
test eax, eax
js 0x1002843a
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100283b1
mov al, 1
jmp 0x10028420
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x1002841e
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100283db
mov eax, 1
test eax, eax
setg al
jmp 0x10028420
comiss xmm2, xmm1
jae 0x10028415
comiss xmm4, xmm3
jae 0x10028415
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028420
xor eax, eax
test eax, eax
setg al
jmp 0x10028420
xor al, al
test al, al
je 0x1002843a
cmp byte [ebp - 0xe4], 0
je 0x1002843a
cmp byte [ebp - 0x100], 0
je 0x1002843a
mov dh, 1
jmp 0x10028444
xor dh, dh
test dl, dl
je 0x100284df
mov eax, dword [ebx + 0x80]
test eax, eax
js 0x100284df
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028468
mov al, 1
jmp 0x100284d7
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x100284d5
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028492
mov eax, 1
test eax, eax
setg al
jmp 0x100284d7
comiss xmm2, xmm1
jae 0x100284cc
comiss xmm4, xmm3
jae 0x100284cc
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x100284d7
xor eax, eax
test eax, eax
setg al
jmp 0x100284d7
xor al, al
test al, al
jne 0x10028583
cmp byte [ebp - 0xc6], 0
je 0x10028599
mov eax, dword [ebx + 0x84]
test eax, eax
js 0x10028599
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028510
mov al, 1
jmp 0x1002857f
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x1002857d
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002853a
mov eax, 1
test eax, eax
setg al
jmp 0x1002857f
comiss xmm2, xmm1
jae 0x10028574
comiss xmm4, xmm3
jae 0x10028574
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x1002857f
xor eax, eax
test eax, eax
setg al
jmp 0x1002857f
xor al, al
test al, al
je 0x10028599
cmp byte [ebp - 0xe4], 0
je 0x10028599
cmp byte [ebp - 0x100], 0
je 0x10028599
mov dl, 1
jmp 0x1002859b
xor dl, dl
mov eax, dword [ebx + 0x38]
test eax, eax
js 0x1002870b
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100285bc
mov al, 1
jmp 0x1002862b
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028629
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100285e6
mov eax, 1
test eax, eax
setg al
jmp 0x1002862b
comiss xmm2, xmm1
jae 0x10028620
comiss xmm4, xmm3
jae 0x10028620
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x1002862b
xor eax, eax
test eax, eax
setg al
jmp 0x1002862b
xor al, al
test al, al
je 0x1002870b
cmp byte [ebp - 0xb2], 0
je 0x10028643
mov eax, 0x10004
jmp 0x10028657
cmp byte [ebp - 0xb1], 0
mov eax, 0x10000
mov ecx, 0x1000c
cmovne eax, ecx
or eax, esi
push eax
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10025c00
mov dword [edi + 0xe5c], 0xbe99999a
mov byte [edi + 0xe60], 1
add esp, 4
mov ebx, dword [0x1006bc38]
mov dword [ebp - 0xb8], ebx
mov esi, dword [ebp - 0xb0]
mov cl, byte [ebp - 0xaa]
mov dh, byte [ebp - 0xa9]
mov edi, dword [ebp - 0xcc]
cmp dword [esi + 0x19bc], edi
jne 0x10029a7b
xor eax, eax
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xdc], eax
test cl, cl
je 0x100293f0
mov edi, dword [ebp - 0xc4]
cmp byte [ebp - 0xe4], al
je 0x100293dd
mov esi, dword [edi + 0x18]
mov ecx, esi
mov eax, dword [ebp - 0xd4]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100293c4
test dl, dl
je 0x10028704
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100293c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x100286e0
xor eax, eax
jmp 0x100293c9
mov eax, dword [ebx + 0x3c]
test eax, eax
js 0x100287e9
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002872c
mov al, 1
jmp 0x1002879b
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028799
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028756
mov eax, 1
test eax, eax
setg al
jmp 0x1002879b
comiss xmm2, xmm1
jae 0x10028790
comiss xmm4, xmm3
jae 0x10028790
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x1002879b
xor eax, eax
test eax, eax
setg al
jmp 0x1002879b
xor al, al
test al, al
je 0x100287e9
cmp byte [ebp - 0xb2], 0
je 0x100287af
mov eax, 0x10005
jmp 0x100287c3
cmp byte [ebp - 0xb1], 0
mov eax, 0x10001
mov ecx, 0x1000d
cmovne eax, ecx
or eax, esi
lea edx, [edi + 0x38]
push eax
mov ecx, edi
call fcn.10025c00
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
jmp 0x10028678
mov eax, dword [ebx + 0x40]
test eax, eax
js 0x100288e2
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002880a
mov al, 1
jmp 0x10028879
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028877
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028834
mov eax, 1
test eax, eax
setg al
jmp 0x10028879
comiss xmm2, xmm1
jae 0x1002886e
comiss xmm4, xmm3
jae 0x1002886e
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028879
xor eax, eax
test eax, eax
setg al
jmp 0x10028879
xor al, al
test al, al
je 0x100288e2
cmp byte [ebp - 0xd0], 0
je 0x100288e2
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0xfc], 0
je 0x100288cf
mov edx, dword [ebp - 0xec]
mov esi, eax
movss xmm1, dword [edx + 0x58]
movaps xmm0, xmm1
subss xmm0, dword [esi + 0x18bc]
addss xmm1, dword [edx + 0xe0]
maxss xmm0, xmm4
subss xmm1, xmm0
movss dword [edx + 0x58], xmm0
movss dword [edx + 0xe0], xmm1
jmp 0x1002868a
movzx eax, byte [ebp - 0xb2]
lea eax, [eax*4 + 0x10002]
jmp 0x10028657
mov eax, dword [ebx + 0x44]
test eax, eax
js 0x10028a07
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028903
mov al, 1
jmp 0x10028972
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028970
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002892d
mov eax, 1
test eax, eax
setg al
jmp 0x10028972
comiss xmm2, xmm1
jae 0x10028967
comiss xmm4, xmm3
jae 0x10028967
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028972
xor eax, eax
test eax, eax
setg al
jmp 0x10028972
xor al, al
test al, al
je 0x10028a07
cmp byte [ebp - 0xd0], 0
je 0x10028a07
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0xfc], 0
je 0x100289f4
mov eax, dword [ebx + 0x199c]
mov ecx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xb0]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x70]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x58]
movaps xmm2, xmm3
addss xmm2, dword [esi + 0x18bc]
addss xmm3, dword [ecx + 0xe0]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x58], xmm2
movss dword [ecx + 0xe0], xmm3
jmp 0x1002868a
movzx eax, byte [ebp - 0xb2]
lea eax, [eax*4 + 0x10003]
jmp 0x10028657
mov eax, dword [ebx + 0x50]
test eax, eax
js 0x10028abe
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028a28
mov al, 1
jmp 0x10028a97
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028a95
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028a52
mov eax, 1
test eax, eax
setg al
jmp 0x10028a97
comiss xmm2, xmm1
jae 0x10028a8c
comiss xmm4, xmm3
jae 0x10028a8c
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028a97
xor eax, eax
test eax, eax
setg al
jmp 0x10028a97
xor al, al
test al, al
je 0x10028abe
mov edx, dword [ebp - 0xb0]
mov eax, esi
or eax, 0x10006
or esi, 0x10004
cmp byte [edx + 0xfc], 0
cmovne esi, eax
push esi
jmp 0x1002865a
mov eax, dword [ebx + 0x54]
test eax, eax
js 0x10028b75
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028adf
mov al, 1
jmp 0x10028b4e
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028b4c
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028b09
mov eax, 1
test eax, eax
setg al
jmp 0x10028b4e
comiss xmm2, xmm1
jae 0x10028b43
comiss xmm4, xmm3
jae 0x10028b43
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028b4e
xor eax, eax
test eax, eax
setg al
jmp 0x10028b4e
xor al, al
test al, al
je 0x10028b75
mov edx, dword [ebp - 0xb0]
mov eax, esi
or eax, 0x10007
or esi, 0x10005
cmp byte [edx + 0xfc], 0
cmovne esi, eax
push esi
jmp 0x1002865a
mov eax, dword [ebx + 0x5c]
test eax, eax
js 0x10028c1e
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028b96
mov al, 1
jmp 0x10028c05
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028c03
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028bc0
mov eax, 1
test eax, eax
setg al
jmp 0x10028c05
comiss xmm2, xmm1
jae 0x10028bfa
comiss xmm4, xmm3
jae 0x10028bfa
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028c05
xor eax, eax
test eax, eax
setg al
jmp 0x10028c05
xor al, al
test al, al
je 0x10028c1e
cmp byte [ebp - 0xe4], 0
je 0x10028c1e
or esi, 0x10008
push esi
jmp 0x1002865a
mov eax, dword [ebx + 0x60]
test eax, eax
js 0x10028d30
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028c3f
mov al, 1
jmp 0x10028cae
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028cac
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028c69
mov eax, 1
test eax, eax
setg al
jmp 0x10028cae
comiss xmm2, xmm1
jae 0x10028ca3
comiss xmm4, xmm3
jae 0x10028ca3
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028cae
xor eax, eax
test eax, eax
setg al
jmp 0x10028cae
xor al, al
test al, al
je 0x10028d30
cmp byte [ebp - 0xe4], 0
je 0x10028d30
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x10028d24
cmp byte [ebp - 0xb1], 0
je 0x10028cd7
push 0x3000c
jmp 0x10028d06
cmp byte [ebp - 0xef], 0
je 0x10028d24
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0xff], 0
je 0x10028d24
cmp byte [eax + 0xfe], 0
jne 0x10028d24
cmp byte [eax + 0xfc], 0
jne 0x10028d24
push 0x30004
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10025c00
mov dword [edi + 0xe5c], 0xbe99999a
add esp, 4
mov byte [edi + 0xe60], 1
or esi, 0x10009
push esi
jmp 0x1002865a
mov eax, dword [ebx + 0x68]
test eax, eax
js 0x10028e6e
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028d51
mov al, 1
jmp 0x10028dc0
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028dbe
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028d7b
mov eax, 1
test eax, eax
setg al
jmp 0x10028dc0
comiss xmm2, xmm1
jae 0x10028db5
comiss xmm4, xmm3
jae 0x10028db5
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028dc0
xor eax, eax
test eax, eax
setg al
jmp 0x10028dc0
xor al, al
test al, al
je 0x10028e6e
mov edx, dword [ebp + 0x10]
mov eax, edx
mov esi, dword [ebp - 0xb0]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xd0], 0
je 0x10028def
mov cl, byte [esi + 0xfc]
test al, al
je 0x10028e09
test cl, cl
jne 0x10028e0d
mov cl, byte [ebp - 0xaa]
mov dh, 1
mov byte [ebp - 0xc5], 1
mov byte [ebp - 0xa9], dh
jmp 0x10028696
test cl, cl
jne 0x10028def
cmp byte [ebp - 0xe4], 0
je 0x1002868a
mov dword [ebp - 0xc0], 0xa
sub esp, 8
lea ecx, [ebp - 0xc0]
call fcn.10026c00
add esp, 8
test al, al
je 0x10028e5d
push dword [ebp - 0xc0]
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10025c00
add esp, 4
mov byte [edi + 0xe60], 1
mov dword [edi + 0xe5c], 0xbe99999a
mov ebx, dword [0x1006bc38]
mov dword [ebp - 0xb8], ebx
jmp 0x1002868a
mov ecx, dword [ebp + 0x10]
test ecx, 0x400
je 0x10028f52
mov eax, dword [ebx + 0x34]
test eax, eax
js 0x10028f52
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028ea1
mov al, 1
jmp 0x10028f13
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028f11
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028ecb
mov eax, 1
test eax, eax
setg al
jmp 0x10028f13
comiss xmm2, xmm1
jae 0x10028f08
comiss xmm4, xmm3
jae 0x10028f08
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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]
test eax, eax
setg al
jmp 0x10028f13
xor eax, eax
test eax, eax
setg al
jmp 0x10028f13
xor al, al
mov esi, dword [ebp - 0xb0]
test al, al
je 0x10028f58
cmp byte [esi + 0xfc], 0
jne 0x10028f58
cmp byte [esi + 0xfd], 0
jne 0x10028f58
cmp byte [esi + 0xfe], 0
jne 0x10028f58
cmp byte [ebp - 0xe4], 0
je 0x10028f58
mov dword [ebp - 0xc0], 9
mov edx, ecx
jmp 0x10028e24
mov esi, dword [ebp - 0xb0]
mov eax, dword [ebx + 0x6c]
test eax, eax
js 0x10028ff9
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028f79
mov al, 1
jmp 0x10028fe8
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10028fe6
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10028fa3
mov eax, 1
test eax, eax
setg al
jmp 0x10028fe8
comiss xmm2, xmm1
jae 0x10028fdd
comiss xmm4, xmm3
jae 0x10028fdd
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10028fe8
xor eax, eax
test eax, eax
setg al
jmp 0x10028fe8
xor al, al
test al, al
je 0x10028ff9
mov cl, 1
mov byte [ebp - 0xc5], cl
jmp 0x10028690
test dh, dh
jne 0x100293a0
test dl, dl
jne 0x100293a0
cmp byte [ebp - 0xb9], dl
je 0x100290c9
mov eax, dword [ebx + 0x70]
test eax, eax
js 0x100290c9
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10029036
mov al, 1
jmp 0x100290a5
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x100290a3
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10029060
mov eax, 1
test eax, eax
setg al
jmp 0x100290a5
comiss xmm2, xmm1
jae 0x1002909a
comiss xmm4, xmm3
jae 0x1002909a
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x100290a5
xor eax, eax
test eax, eax
setg al
jmp 0x100290a5
xor al, al
test al, al
je 0x100290c9
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
jmp 0x1002868a
mov al, byte [ebp - 0xba]
test al, al
jne 0x1002926b
cmp byte [ebp - 0xed], al
jne 0x1002926b
cmp byte [ebp - 0xee], al
je 0x1002868a
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x10029129
push dword [ebx + 0xd4]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10029112
mov ebx, dword [0x1006bc38]
jmp 0x1002912e
mov ebx, dword [0x1006bc38]
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xb8], ebx
jmp 0x1002868a
mov esi, 0x1006765a
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10029133
sub ecx, edx
test ebx, ebx
je 0x10029146
inc dword [ebx + 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
xor edi, edi
cmp byte [esi], 0
mov ebx, eax
je 0x100291ae
push 0
mov edx, esi
lea ecx, [ebp - 0xe8]
call fcn.10003040
add esi, eax
add esp, 4
mov eax, dword [ebp - 0xe8]
test eax, eax
je 0x100291ae
cmp eax, 0x10000
jae 0x100291a9
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0xe8]
sub esp, 8
call fcn.10026c00
add esp, 8
test al, al
je 0x100291a9
mov ax, word [ebp - 0xe8]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10029160
xor eax, eax
mov word [ebx + edi*2], ax
test edi, edi
jle 0x1002924c
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x40]
lea esi, [eax + 0x38]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x2c]
cmp ecx, edx
je 0x100291ea
cmp ecx, eax
jle 0x100291db
mov dword [esi + 4], eax
mov ecx, eax
cmp edx, eax
jle 0x100291e4
mov dword [esi + 8], eax
mov edx, eax
cmp ecx, edx
jne 0x100291ea
mov dword [esi], ecx
cmp dword [esi], eax
jle 0x100291f0
mov dword [esi], eax
mov ecx, dword [ebp - 0xc4]
mov edx, esi
call fcn.10025b70
mov edx, dword [esi]
mov ecx, dword [ebp - 0xc4]
push edi
push ebx
call fcn.100256c0
add esp, 8
test al, al
je 0x1002922b
mov edx, dword [esi]
lea ecx, [esi + 0x18]
push edi
push 0
call fcn.10026910
add esp, 8
mov byte [esi + 0xf], 0
add dword [esi], edi
jmp 0x1002923f
movzx eax, word [esi + 0xe16]
test ax, ax
je 0x1002923f
dec eax
mov word [esi + 0xe16], ax
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0xe60], 1
test ebx, ebx
je 0x1002925f
mov eax, dword [0x1006bc38]
test eax, eax
je 0x1002925f
dec dword [eax + 0x394]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x10028675
cmp dword [esi + 0xd0], 0
je 0x10029356
mov esi, dword [edi + 0x40]
mov eax, dword [edi + 0x3c]
cmp eax, esi
je 0x1002928c
mov ecx, esi
cmovge esi, eax
cmovl ecx, eax
jmp 0x10029291
mov esi, dword [edi + 0x2c]
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0xc0], ecx
sub eax, ecx
lea edi, [eax*4 + 1]
mov eax, dword [ebp - 0xc4]
add eax, 0x1c
mov dword [ebp - 0xe8], eax
mov eax, dword [eax + 4]
cmp edi, eax
jle 0x100292f4
test eax, eax
je 0x100292ce
cdq
sub eax, edx
mov edx, dword [ebp - 0xe8]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100292d9
mov edx, dword [ebp - 0xe8]
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.100128b0
mov ebx, dword [0x1006bc38]
mov dword [ebp - 0xb8], ebx
mov eax, dword [ebp - 0xe8]
mov edx, edi
mov dword [eax], edi
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xc4]
mov ecx, dword [eax + 0xc]
lea eax, [ecx + esi*2]
push eax
mov eax, dword [ebp - 0xc0]
lea eax, [ecx + eax*2]
mov ecx, dword [edi + 0x24]
push eax
call fcn.100031d0
mov eax, dword [ebx + 0xd0]
add esp, 8
test eax, eax
je 0x1002934a
push dword [edi + 0x24]
push dword [ebx + 0xd4]
call eax
mov ebx, dword [0x1006bc38]
add esp, 8
mov dword [ebp - 0xb8], ebx
mov esi, dword [ebp - 0xb0]
mov al, byte [ebp - 0xba]
test al, al
je 0x1002868a
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
jne 0x1002937a
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], eax
mov dword [edi + 0x38], eax
mov byte [edi + 0x47], 0
mov byte [edi + 0xe60], 1
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x10028684
lea edx, [edi + 0x38]
mov ecx, edi
call fcn.10025b70
mov byte [edi + 0x47], 0
jmp 0x10028678
movzx eax, dh
mov ecx, edi
xor eax, 1
lea edx, [edi + 0x38]
add eax, 0x1000a
push eax
call fcn.10025c00
mov eax, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov dword [edi + 0x3c], eax
jmp 0x10028664
sbb eax, eax
or eax, 1
test eax, eax
je 0x100293dd
mov eax, dword [edi + 0x10]
dec eax
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x10]
test dh, dh
je 0x10029954
test al, 0x20
je 0x10029954
cmp byte [ebp - 0xe4], 0
je 0x10029474
mov ecx, dword [ebp - 0xc4]
mov edi, dword [ecx + 0x20]
mov eax, dword [ecx + 4]
lea esi, [eax*4 + 1]
lea eax, [ecx + 0x1c]
mov dword [ebp - 0xc0], eax
cmp esi, edi
jle 0x10029458
test edi, edi
je 0x1002942e
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10029433
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, dword [ebp - 0xc0]
push eax
call fcn.100128b0
mov ebx, dword [0x1006bc38]
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb8], ebx
mov edi, dword [ebp - 0xc4]
mov edx, esi
mov dword [eax], esi
push 0
push dword [edi + 0xc]
mov ecx, dword [edi + 0x24]
call fcn.100031d0
add esp, 8
jmp 0x1002947a
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp + 0x10]
test ecx, 0x1c0
je 0x10029909
xor edx, edx
xorps xmm4, xmm4
lea esi, [edx + 0x15]
test cl, 0x40
je 0x10029540
mov eax, dword [ebx + 0x34]
test eax, eax
js 0x10029540
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100294be
mov al, 1
jmp 0x10029530
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x1002952e
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x100294e8
mov eax, 1
test eax, eax
setg al
jmp 0x10029530
comiss xmm2, xmm1
jae 0x10029525
comiss xmm4, xmm3
jae 0x10029525
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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]
test eax, eax
setg al
jmp 0x10029530
xor eax, eax
test eax, eax
setg al
jmp 0x10029530
xor al, al
test al, al
je 0x10029540
mov edx, 0x40
xor esi, esi
jmp 0x100296a1
test cl, cl
jns 0x10029693
mov eax, dword [ebx + 0x40]
test eax, eax
js 0x100295ef
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002956c
mov al, 1
jmp 0x100295de
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x100295dc
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10029596
mov eax, 1
test eax, eax
setg al
jmp 0x100295de
comiss xmm2, xmm1
jae 0x100295d3
comiss xmm4, xmm3
jae 0x100295d3
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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]
test eax, eax
setg al
jmp 0x100295de
xor eax, eax
test eax, eax
setg al
jmp 0x100295de
xor al, al
test al, al
je 0x100295ef
mov edx, 0x80
lea esi, [edx - 0x7d]
jmp 0x100296a1
mov eax, dword [ebx + 0x44]
test eax, eax
js 0x10029693
movss xmm1, dword [ebx + eax*4 + 0x470]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x10029613
mov al, 1
jmp 0x10029682
movss xmm2, dword [ebx + 0x88]
comiss xmm1, xmm2
jbe 0x10029680
movss xmm3, dword [ebx + 0x8c]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jp 0x1002963d
mov eax, 1
test eax, eax
setg al
jmp 0x10029682
comiss xmm2, xmm1
jae 0x10029677
comiss xmm4, xmm3
jae 0x10029677
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, dword [ebx + 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
test eax, eax
setg al
jmp 0x10029682
xor eax, eax
test eax, eax
setg al
jmp 0x10029682
xor al, al
mov ecx, dword [ebp + 0x10]
test al, al
je 0x10029693
mov edx, 0x80
lea esi, [edx - 0x7c]
jmp 0x100296a1
test ecx, 0x100
mov eax, 0x100
cmovne edx, eax
test edx, edx
je 0x10029909
xor eax, eax
mov dword [ebp - 0x68], esi
mov esi, dword [edi + 0xc]
mov word [ebp - 0x57], ax
mov byte [ebp - 0x55], al
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], ecx
mov ecx, esi
mov dword [ebp - 0x6c], 0
lea edx, [esi + eax*2]
mov byte [ebp - 0x58], 0
call fcn.10003300
mov ebx, dword [ebp - 0xc4]
mov edi, eax
mov dword [ebp - 0x54], edi
mov ecx, dword [ebx + 0x3c]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10003300
mov ecx, dword [ebx + 0x40]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x50], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10003300
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x78]
push eax
xor eax, eax
call eax
mov edx, dword [ebp - 0x54]
add esp, 4
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xd8], ecx
cmp edx, edi
je 0x1002978a
lea edi, [edx + ecx]
mov esi, ecx
xor ebx, ebx
test edi, edi
je 0x1002974c
cmp esi, edi
jae 0x10029772
cmp byte [esi], 0
je 0x10029772
push edi
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10003040
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10029772
cmp eax, 0x10000
jae 0x10029744
inc ebx
jmp 0x10029744
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
mov dword [edi + 0x38], ebx
mov byte [edi + 0xe60], 1
jmp 0x1002978c
mov edi, ebx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x128]
je 0x100297dd
lea edi, [eax + ecx]
mov esi, ecx
xor ebx, ebx
nop
test edi, edi
je 0x100297a8
cmp esi, edi
jae 0x100297ce
cmp byte [esi], 0
je 0x100297ce
push edi
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10003040
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100297ce
cmp eax, 0x10000
jae 0x100297a0
inc ebx
jmp 0x100297a0
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
mov dword [edi + 0x3c], ebx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x130]
je 0x1002982d
lea edi, [eax + ecx]
mov esi, ecx
xor ebx, ebx
nop
test edi, edi
je 0x100297f8
cmp esi, edi
jae 0x1002981e
cmp byte [esi], 0
je 0x1002981e
push edi
mov edx, esi
lea ecx, [ebp - 0x34]
call fcn.10003040
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1002981e
cmp eax, 0x10000
jae 0x100297f0
inc ebx
jmp 0x100297f0
mov edi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd8]
mov dword [edi + 0x40], ebx
cmp byte [ebp - 0x58], 0
je 0x100298fd
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0xfc]
cmp esi, eax
jle 0x1002988b
cmp byte [ebp - 0x104], 0
je 0x1002988b
lea ebx, [edi + 4]
sub esi, eax
add esi, dword [ebx]
mov edi, dword [ebx + 4]
cmp esi, edi
jle 0x10029889
test edi, edi
je 0x1002986c
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10029871
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, ebx
push eax
call fcn.10012a20
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xd8], ecx
mov dword [ebx], esi
mov eax, dword [ebp - 0xc4]
mov ebx, dword [eax + 0xc]
mov esi, ebx
mov edi, dword [eax + 4]
dec edi
lea edi, [ebx + edi*2]
cmp ebx, edi
jae 0x100298db
cmp byte [ecx], 0
je 0x100298db
mov edx, ecx
lea ecx, [ebp - 0x34]
push 0
call fcn.10003040
mov ecx, dword [ebp - 0xd8]
add esp, 4
add ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xd8], ecx
test eax, eax
je 0x100298db
cmp eax, 0x10000
jae 0x100298d7
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x100298a1
mov edi, dword [ebp - 0xc4]
xor eax, eax
mov word [esi], ax
sub esi, ebx
mov eax, dword [ebp - 0x60]
sar esi, 1
mov dword [edi + 0x2c], esi
mov dword [edi + 0x28], eax
mov dword [edi + 0xe5c], 0xbe99999a
mov ebx, dword [0x1006bc38]
mov dword [ebp - 0xb8], ebx
cmp byte [ebp - 0xe4], 0
je 0x10029951
mov esi, dword [edi + 0x24]
mov eax, esi
mov ecx, dword [ebp - 0xd4]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10029940
test dl, dl
je 0x1002993c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10029940
add eax, 2
add ecx, 2
test dl, dl
jne 0x10029920
xor eax, eax
jmp 0x10029945
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x10]
je 0x10029954
mov ecx, dword [edi + 0x28]
jmp 0x10029960
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xdc]
test esi, esi
je 0x10029a55
cmp dword [ebp - 0xfc], ecx
je 0x10029a13
cmp byte [ebp - 0x104], 0
je 0x10029a13
mov dword [ebp - 0xa4], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x94], eax
lea eax, [ecx + 1]
cmp dword [ebp + 8], eax
movlpd qword [ebp - 0x9c], xmm0
cmovge eax, dword [ebp + 8]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0xa8]
push eax
xor eax, eax
movlpd qword [ebp - 0x88], xmm0
movlpd qword [ebp - 0x80], xmm0
mov dword [ebp - 0xa8], 0x40000
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa0], 0
call eax
mov esi, dword [ebp - 0x8c]
add esp, 4
mov edx, dword [ebp - 0x94]
mov ebx, dword [0x1006bc38]
mov dword [ebp - 0xd4], edx
lea ecx, [esi - 1]
mov dword [ebp - 0xb8], ebx
cmp dword [ebp - 0x90], ecx
cmovl ecx, dword [ebp - 0x90]
jmp 0x10029a1c
mov edx, dword [ebp - 0xd4]
mov esi, dword [ebp + 8]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x10029a4e
push esi
push dword [edi + 0x24]
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, dword [ebp - 0xd4]
add esp, 0xc
mov ebx, dword [0x1006bc38]
mov dword [ebp - 0xb8], ebx
mov byte [eax + esi - 1], 0
mov byte [ebp - 0xdd], 1
mov esi, dword [ebp - 0xb0]
mov dword [edi + 0xe64], 0
mov dword [edi + 0xe68], 0
mov dword [edi + 0xe6c], 0
jmp 0x10029a81
mov edi, dword [ebp - 0xc4]
cmp byte [ebp - 0xc5], 0
je 0x10029ae3
mov ecx, dword [ebp - 0xcc]
cmp dword [esi + 0x19bc], ecx
jne 0x10029ae3
mov ecx, dword [ebx + 0x19bc]
test ecx, ecx
setne al
mov byte [ebx + 0x19cc], al
test ecx, ecx
je 0x10029abe
mov dword [ebx + 0x19c8], 0
mov byte [ebx + 0x19ce], 0
mov dword [ebx + 0x19bc], 0
mov dword [ebx + 0x19d4], 0
mov byte [ebx + 0x19cd], 0
mov dword [ebx + 0x19e0], 0
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x19bc], eax
jne 0x10029b03
cmp byte [ebp - 0xe4], 0
je 0x10029b03
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xd0]
test cl, cl
jne 0x10029bd0
push 1
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.10004110
movss xmm1, dword [0x10068464]
add esp, 4
mov ecx, 7
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.100034e0
movss xmm2, dword [esi + 0x1554]
mov dl, 1
mov ecx, eax
call fcn.10003b60
movss xmm7, dword [ebp - 0x44]
add esp, 0x10
movss xmm4, dword [ebp - 0x48]
movaps xmm0, xmm7
movss xmm5, dword [ebp - 0x110]
movaps xmm1, xmm4
addss xmm0, dword [ebp - 0xf8]
mov ebx, dword [0x1006bc38]
movaps xmm2, xmm5
addss xmm1, dword [esi + 0x154c]
mov eax, dword [ebp - 0xcc]
addss xmm2, xmm4
mov edx, dword [ebp - 0xec]
movaps xmm6, xmm7
addss xmm6, dword [esi + 0x1550]
mov ecx, dword [ebp - 0xd0]
movss dword [ebp - 0x18], xmm4
movss dword [ebp - 0x14], xmm7
movss dword [ebp - 0x148], xmm2
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x128], xmm0
mov dword [ebp - 0xb8], ebx
jmp 0x10029c34
movss xmm0, dword [ebp - 0x48]
movss xmm5, dword [ebp - 0x110]
movss xmm1, dword [ebp - 0x44]
movaps xmm3, xmm5
mov edx, dword [ebp - 0xec]
addss xmm3, xmm0
movaps xmm2, xmm1
movss dword [ebp - 0x18], xmm0
addss xmm2, dword [ebp - 0xf8]
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [edx + 0xc4]
movss xmm6, dword [edx + 0xc8]
movaps xmm0, xmm3
movss dword [ebp - 0x148], xmm0
movss dword [ebp - 0x10], xmm0
movaps xmm0, xmm2
movss dword [ebp - 0x34], xmm3
movss dword [ebp - 0x128], xmm2
movss dword [ebp - 0x130], xmm6
movss dword [ebp - 0xdc], xmm6
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 0x100], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x108], xmm6
xorps xmm6, xmm6
movss dword [ebp - 0x134], xmm1
movss dword [ebp - 0xd8], xmm1
movss dword [ebp - 0x10c], xmm1
movss dword [ebp - 0x12c], xmm0
movss dword [ebp - 0xc0], xmm6
cmp dword [edi], eax
jne 0x10029cba
test cl, cl
je 0x10029cba
mov ecx, dword [edx + 0x1bc]
mov eax, dword [edx + 0x1c4]
xor edx, edx
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10002ca0
add esp, 4
cmp dword [esi + 0x19bc], eax
jne 0x10029cba
mov al, 1
jmp 0x10029cbc
xor al, al
mov ecx, dword [ebp - 0xcc]
cmp dword [esi + 0x19bc], ecx
je 0x10029fbf
test al, al
jne 0x10029fbf
cmp byte [ebp - 0xd0], al
je 0x10029d39
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov dl, byte [eax]
lea esi, [eax + 1]
test dl, dl
je 0x10029d02
nop
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [esi]
cmovne eax, ecx
inc esi
mov ecx, eax
test dl, dl
jne 0x10029cf0
mov al, byte [esi - 1]
dec esi
cmp al, 0xa
je 0x10029d0f
cmp al, 0xd
je 0x10029d0f
inc ecx
mov eax, dword [ebp - 0xb0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x18bc]
movss dword [ebp - 0xc0], xmm0
movaps xmm0, xmm5
movss dword [ebp - 0x12c], xmm0
jmp 0x10029d62
mov edi, dword [ebp - 0xd4]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10029d44
sub ecx, edx
lea esi, [ecx + edi]
cmp ecx, 0x200000
jge 0x10029f62
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xec]
movss xmm1, dword [0x10068464]
movss xmm7, dword [eax + 0x18bc]
mov edi, dword [ecx + 0x270]
xor ecx, ecx
call fcn.100034e0
xor ecx, ecx
mov dword [ebp - 0x34], eax
cmp byte [ebp - 0xd0], cl
lea edx, [ebp - 0x18]
cmovne edx, ecx
test eax, 0xff000000
je 0x10029ea6
test esi, esi
jne 0x10029dc4
mov ecx, dword [ebp - 0xd4]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10029db0
mov eax, dword [ebp - 0xd4]
sub ecx, esi
lea esi, [eax + ecx]
jmp 0x10029dca
mov eax, dword [ebp - 0xd4]
cmp eax, esi
je 0x10029ea6
mov eax, dword [ebp - 0xb0]
mov ebx, dword [eax + 0x18b8]
test ebx, ebx
jne 0x10029de8
mov eax, dword [edi + 0x28]
mov ebx, dword [eax + 8]
ucomiss xmm7, dword [0x100683c4]
lahf
test ah, 0x44
jp 0x10029dfd
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 [eax + ecx - 0x10]
movups xmmword [ebp - 0x124], xmm0
test edx, edx
je 0x10029e69
movss xmm0, dword [ebp - 0x124]
maxss xmm0, dword [edx]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x120]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x11c]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x118]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x118], xmm0
setne al
movaps xmm2, xmm7
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x124]
push esi
push dword [ebp - 0xd4]
mov ecx, ebx
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push edi
call fcn.1001ec40
mov ebx, dword [0x1006bc38]
mov esi, dword [ebp - 0xb0]
cmp byte [ebp - 0xd0], 0
je 0x10029f5c
mov eax, dword [ebx + 0x199c]
xorps xmm5, xmm5
movss xmm4, dword [ebp - 0xc0]
addss xmm4, dword [esi + 0x18bc]
movss xmm0, dword [ebp - 0x12c]
mov byte [eax + 0x78], 1
addss xmm0, xmm5
mov eax, dword [ebx + 0x199c]
cmp byte [eax + 0x7b], 0
jne 0x10029f4c
movss xmm3, dword [eax + 0xc4]
lea ecx, [ebp - 0x38]
movss xmm1, dword [eax + 0xc8]
movaps xmm2, xmm3
addss xmm2, xmm0
movss dword [ebp - 0x24], xmm1
movaps xmm0, xmm1
movss dword [ebp - 0x28], xmm3
addss xmm0, xmm4
movss dword [ebp - 0x20], xmm2
subss xmm2, xmm3
movss dword [ebp - 0x1c], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x38], xmm2
movss dword [ebp - 0x34], xmm0
call fcn.10004c00
push 0
xor edx, edx
lea ecx, [ebp - 0x28]
call fcn.10004d20
add esp, 4
call fcn.10007a80
call fcn.1000cc00
mov ebx, dword [0x1006bc38]
mov edi, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x13c]
test cl, cl
je 0x1002ab40
mov esi, ebx
mov eax, dword [esi + 0x199c]
mov ecx, dword [eax + 0x270]
dec dword [ecx + 0x48]
call fcn.1001a740
mov edx, dword [esi + 0x1a18]
mov ebx, dword [0x1006bc38]
sub edx, 1
mov dword [esi + 0x1a18], edx
jne 0x1002aacf
mov edx, dword [ebx + 0xa0]
test edx, edx
jne 0x1002aad9
mov eax, dword [ebx + 0x94]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
jmp 0x1002aad9
movss xmm0, dword [esi + 0x18]
xorps xmm7, xmm7
mov esi, dword [edi + 0xc]
mov ecx, 1
mov eax, dword [edi + 0x38]
addss xmm0, dword [edi + 0xe5c]
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0xe8], esi
lea eax, [esi + eax*2]
movss dword [ebp - 0x138], xmm6
mov dword [ebp - 0x104], eax
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x3c]
movss dword [edi + 0xe5c], xmm0
or edi, 0xffffffff
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xcc], 0xfffffc19
cmp edx, eax
je 0x1002a037
cmovl eax, edx
mov dword [ebp - 0xcc], edi
mov ecx, 2
lea eax, [esi + eax*2]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xd0]
xor esi, esi
movzx eax, al
add ecx, eax
mov dword [ebp - 0xf4], esi
mov eax, dword [ebp - 0xe8]
mov edx, eax
movzx eax, word [eax]
test ax, ax
je 0x1002a0bf
mov ebx, dword [ebp - 0x104]
mov esi, eax
cmp si, 0xa
jne 0x1002a0a5
mov esi, dword [ebp - 0xf4]
inc esi
mov dword [ebp - 0xf4], esi
cmp edi, 0xffffffff
jne 0x1002a089
cmp edx, ebx
jb 0x1002a089
dec ecx
mov edi, esi
test ecx, ecx
jle 0x1002a0b9
cmp dword [ebp - 0xcc], 0xffffffff
jne 0x1002a0a5
cmp edx, dword [ebp - 0xfc]
jb 0x1002a0a5
dec ecx
mov dword [ebp - 0xcc], esi
test ecx, ecx
jle 0x1002a0b9
movzx eax, word [edx + 2]
add edx, 2
mov esi, eax
test ax, ax
jne 0x1002a066
mov esi, dword [ebp - 0xf4]
mov ebx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xe8]
inc esi
cmp edi, 0xffffffff
mov dword [ebp - 0xf4], esi
mov eax, esi
cmovne eax, edi
mov edi, dword [ebp - 0x104]
mov dword [ebp - 0x130], eax
mov ecx, edi
mov eax, dword [ebp - 0xcc]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp - 0xcc], eax
cmp edi, edx
jbe 0x1002a106
cmp word [ecx - 2], 0xa
je 0x1002a106
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1002a0f8
mov esi, dword [ebx + 0x18b8]
movaps xmm4, xmm6
movss xmm2, dword [ebx + 0x18bc]
movaps xmm1, xmm6
movss dword [ebp - 0xb8], xmm4
divss xmm2, dword [esi]
cmp ecx, edi
jae 0x1002a18b
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1002a146
maxss xmm4, xmm1
movaps xmm1, xmm6
jmp 0x1002a169
cmp edx, 0xd
je 0x1002a169
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x1002a15c
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x1002a161
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x1002a130
comiss xmm1, xmm4
mov edx, dword [ebp - 0xe8]
movss dword [ebp - 0xb8], xmm4
jbe 0x1002a18b
movaps xmm4, xmm1
movss dword [ebp - 0xb8], xmm4
cmp dword [ebp - 0xcc], 0
movd xmm3, dword [ebp - 0x130]
mov ecx, dword [ebp - 0xb0]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x18bc]
mulss xmm3, xmm0
movss dword [ebp - 0x130], xmm3
jl 0x1002a266
mov edi, dword [ebp - 0xfc]
mov ecx, edi
cmp edi, edx
jbe 0x1002a1de
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x1002a1de
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x1002a1d0
movss xmm2, dword [ebx + 0x18bc]
movaps xmm7, xmm6
movaps xmm1, xmm6
divss xmm2, dword [esi]
cmp ecx, edi
jae 0x1002a239
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1002a20a
maxss xmm7, xmm1
movaps xmm1, xmm6
jmp 0x1002a22d
cmp edx, 0xd
je 0x1002a22d
mov edx, eax
cmp edx, dword [esi + 0x1c]
jge 0x1002a220
mov eax, dword [esi + 0x24]
movss xmm0, dword [eax + edx*4]
jmp 0x1002a225
movss xmm0, dword [esi + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x1002a1f4
comiss xmm1, xmm7
jbe 0x1002a239
movaps xmm7, xmm1
movd xmm3, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xb0]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x18bc]
mulss xmm3, xmm0
movss dword [ebp - 0x138], xmm3
movss xmm3, dword [ebp - 0x130]
cmp byte [ebp - 0xd0], 0
je 0x1002a296
movd xmm5, dword [ebp - 0xf4]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movss dword [ebp - 0xc0], xmm5
movss xmm5, dword [ebp - 0x110]
movss dword [ebp - 0x12c], xmm5
mov edx, dword [ebp - 0xc4]
cmp byte [edx + 0xe60], 0
je 0x1002a365
test dword [ebp + 0x10], 0x1000
jne 0x1002a2f6
movss xmm2, dword [edx + 0x34]
movaps xmm0, xmm5
comiss xmm2, xmm4
mulss xmm0, dword [0x10068418]
movaps xmm1, xmm4
jbe 0x1002a2d7
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x1002a2e4
subss xmm1, xmm5
comiss xmm1, xmm2
jb 0x1002a2fd
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x34], xmm0
jmp 0x1002a2fd
mov dword [edx + 0x34], 0
cmp byte [ebp - 0xd0], 0
je 0x1002a365
mov eax, dword [ebp - 0xec]
movaps xmm1, xmm3
subss xmm1, dword [ecx + 0x18bc]
movss xmm6, dword [eax + 0x58]
comiss xmm6, xmm1
jbe 0x1002a32a
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x1002a339
movaps xmm0, xmm3
subss xmm0, dword [ebp - 0xf8]
maxss xmm0, xmm6
subss xmm6, xmm0
movss dword [eax + 0x58], xmm0
addss xmm6, dword [eax + 0xc8]
movss dword [ebp - 0xdc], xmm6
movss dword [eax + 0xc8], xmm6
movss dword [ebp - 0x108], xmm6
xorps xmm6, xmm6
movss xmm5, dword [edx + 0x34]
mov ecx, dword [edx + 0x40]
mov byte [edx + 0xe60], 0
mov edx, dword [edx + 0x3c]
movss dword [ebp - 0xf8], xmm5
cmp edx, ecx
je 0x1002a62b
mov edi, dword [ebp - 0xe8]
mov eax, ecx
cmovl eax, edx
cmovge ecx, edx
cmp byte [ebp - 0xd0], 0
lea esi, [edi + eax*2]
lea edi, [edi + ecx*2]
je 0x1002a3b6
movss dword [ebp - 0x150], xmm6
movss dword [ebp - 0x104], xmm6
jmp 0x1002a3c6
movss xmm0, dword [0x1006848c]
movss dword [ebp - 0x104], xmm0
movss xmm1, dword [0x10068464]
mov ecx, 0x2a
call fcn.100034e0
movss xmm6, dword [ebp - 0xdc]
mov ecx, eax
movss xmm0, dword [ebp - 0xd8]
movaps xmm4, xmm6
mov dword [ebp - 0xfc], ecx
movaps xmm5, xmm0
addss xmm5, xmm7
xorps xmm7, xmm7
addss xmm4, dword [ebp - 0x138]
subss xmm5, dword [ebp - 0xf8]
subss xmm4, xmm7
movss dword [ebp - 0x138], xmm4
cmp esi, edi
jae 0x1002a621
movss xmm6, dword [ebp - 0x100]
nop dword [eax]
mov eax, dword [ebp - 0xb0]
movaps xmm0, xmm6
addss xmm0, dword [eax + 0x18bc]
comiss xmm4, xmm0
ja 0x1002a60f
movss xmm0, dword [ebp - 0x44]
comiss xmm0, xmm4
jbe 0x1002a479
cmp esi, edi
jae 0x1002a5ce
nop dword [eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1002a5ce
cmp esi, edi
jb 0x1002a460
jmp 0x1002a5ce
mov edx, dword [ebx + 0x18b8]
movaps xmm3, xmm7
movss xmm2, dword [ebx + 0x18bc]
movaps xmm1, xmm7
divss xmm2, dword [edx]
cmp esi, edi
jae 0x1002a4df
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x1002a4c9
cmp ecx, 0xd
je 0x1002a4c3
cmp ecx, dword [edx + 0x1c]
jge 0x1002a4b6
mov eax, dword [edx + 0x24]
movss xmm0, dword [eax + ecx*4]
jmp 0x1002a4bb
movss xmm0, dword [edx + 0x38]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x1002a495
jmp 0x1002a4d3
movaps xmm3, xmm7
maxss xmm3, xmm1
movaps xmm1, xmm7
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xfc]
maxss xmm1, xmm3
comiss xmm7, xmm1
jb 0x1002a519
mov eax, dword [eax + 0x18b8]
cmp dword [eax + 0x1c], 0x20
jle 0x1002a501
mov eax, dword [eax + 0x24]
movss xmm0, dword [eax + 0x80]
jmp 0x1002a506
movss xmm0, dword [eax + 0x38]
mulss xmm0, dword [0x1006842c]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov edx, dword [ebp - 0xb0]
addss xmm1, xmm5
movss xmm2, dword [ebp - 0x150]
movaps xmm3, xmm5
movss xmm0, dword [ebp - 0x104]
addss xmm3, xmm7
movss xmm5, dword [ebp - 0x148]
addss xmm0, xmm4
subss xmm2, dword [edx + 0x18bc]
minss xmm1, xmm5
maxss xmm3, dword [ebp - 0x48]
minss xmm0, xmm6
addss xmm2, xmm4
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x28], xmm3
comiss xmm0, dword [ebp - 0x118]
maxss xmm2, dword [ebp - 0x44]
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0x24], xmm2
jbe 0x1002a5ce
comiss xmm6, xmm2
jbe 0x1002a5ce
comiss xmm1, dword [ebp - 0x48]
jbe 0x1002a5ce
comiss xmm5, xmm3
jbe 0x1002a5ce
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x270]
call fcn.1001c300
mov ebx, dword [0x1006bc38]
xorps xmm7, xmm7
movss xmm4, dword [ebp - 0x138]
movss xmm6, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xb0]
movss xmm0, dword [ebp - 0xd8]
movaps xmm5, xmm0
subss xmm5, dword [ebp - 0xf8]
addss xmm4, dword [ecx + 0x18bc]
mov ecx, dword [ebp - 0xfc]
movss dword [ebp - 0x138], xmm4
cmp esi, edi
jb 0x1002a430
movss xmm5, dword [ebp - 0xf8]
jmp 0x1002a633
movss xmm0, dword [ebp - 0xd8]
movss xmm5, dword [ebp - 0xf8]
jmp 0x1002a633
movss xmm5, dword [ebp - 0xf8]
jmp 0x1002a63b
movss xmm0, dword [ebp - 0xd8]
movss xmm6, dword [ebp - 0xdc]
cmp byte [ebp - 0xd0], 0
mov eax, dword [ebp - 0xc4]
movss xmm3, dword [0x10068550]
mov edx, dword [eax + 0x28]
jne 0x1002a661
cmp edx, 0x200000
jge 0x1002a881
movups xmm1, xmmword [ebx + 0x15b8]
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xb0]
subss xmm0, xmm5
movss xmm7, dword [0x10068464]
xorps xmm5, xmm5
comiss xmm5, xmm1
mov eax, dword [eax + 0x270]
mov dword [ebp - 0x118], eax
mov eax, dword [ecx + 0x18b8]
mov dword [ebp - 0x100], eax
movss xmm4, dword [ecx + 0x18bc]
movaps xmm2, xmm1
movss dword [ebp - 0x14c], xmm0
movaps xmm0, xmm6
subss xmm0, xmm5
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [ebx + 0x1518]
movups xmmword [ebp - 0x28], xmm1
movss dword [ebp - 0x148], xmm0
jbe 0x1002a6d7
xorps xmm0, xmm0
jmp 0x1002a6de
movaps xmm0, xmm7
minss xmm0, xmm1
movss xmm6, dword [0x1006842c]
movss xmm1, dword [ebp - 0x24]
comiss xmm5, xmm1
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x1002a701
xorps xmm0, xmm0
jmp 0x1002a708
movaps xmm0, xmm7
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x20]
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm1
jbe 0x1002a728
xorps xmm0, xmm0
jmp 0x1002a72f
movaps xmm0, xmm7
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x1002a74a
xorps xmm0, xmm0
jmp 0x1002a751
movaps xmm0, xmm7
minss xmm0, xmm2
mov eax, dword [ebp - 0xd4]
mulss xmm0, xmm3
lea esi, [edx + eax]
addss xmm0, xmm6
lea edx, [ebp - 0x18]
cvttss2si edi, xmm0
shl edi, 0x18
or edi, ecx
xor ecx, ecx
cmp byte [ebp - 0xd0], cl
cmovne edx, ecx
test edi, 0xff000000
je 0x1002a884
test esi, esi
jne 0x1002a7a2
mov ecx, eax
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002a790
mov eax, dword [ebp - 0xd4]
sub ecx, esi
lea esi, [ecx + eax]
cmp eax, esi
je 0x1002a884
cmp dword [ebp - 0x100], 0
mov ebx, dword [ebp - 0x118]
jne 0x1002a7c5
mov eax, dword [ebx + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x100], eax
ucomiss xmm4, xmm5
lahf
test ah, 0x44
jp 0x1002a7d6
mov eax, dword [ebx + 0x28]
movss xmm4, dword [eax + 0xc]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x124], xmm0
test edx, edx
je 0x1002a842
movss xmm0, dword [ebp - 0x124]
maxss xmm0, dword [edx]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x120]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x11c]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x118]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x118], xmm0
setne al
movaps xmm2, xmm4
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x124]
mov dword [esp], 0
push esi
push dword [ebp - 0xd4]
push eax
push edi
push dword [ebp - 0x148]
push dword [ebp - 0x14c]
push ebx
call fcn.1001ec40
mov ebx, dword [0x1006bc38]
xorps xmm5, xmm5
mov esi, dword [ebp - 0xb0]
cmp byte [esi + 0xbe], 0
je 0x1002a8df
movss xmm0, dword [esi + 0x2b70]
comiss xmm5, xmm0
jae 0x1002a8df
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x11c], xmm0
fld qword [ebp - 0x11c]
fld qword [0x10068480]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10068448]
fstp qword [ebp - 0x11c]
movsd xmm1, qword [ebp - 0x11c]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x1002a8df
xor al, al
jmp 0x1002a8e1
mov al, 1
movss xmm3, dword [ebp - 0xdc]
xorps xmm6, xmm6
movss xmm4, dword [ebp - 0xd8]
movss xmm7, dword [0x1006842c]
movss xmm5, dword [0x10068464]
addss xmm3, dword [ebp - 0x130]
addss xmm4, dword [ebp - 0xb8]
subss xmm3, xmm6
subss xmm4, dword [ebp - 0xf8]
movss dword [ebp - 0xdc], xmm3
movaps xmm0, xmm3
movss dword [ebp - 0xd8], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0x28], xmm4
movaps xmm1, xmm3
addss xmm2, xmm5
subss xmm0, dword [esi + 0x18bc]
subss xmm1, dword [0x10068470]
movss dword [ebp - 0x20], xmm2
addss xmm0, xmm7
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x24], xmm0
test al, al
je 0x1002aaa1
comiss xmm1, dword [ebp - 0x44]
jbe 0x1002aaa1
movss xmm5, dword [ebp - 0x128]
comiss xmm5, xmm0
jbe 0x1002aa99
comiss xmm2, dword [ebp - 0x48]
jbe 0x1002aa99
movss xmm0, dword [ebp - 0x34]
comiss xmm0, xmm4
jbe 0x1002aa99
movups xmm2, xmmword [ebx + 0x15b8]
movss dword [ebp - 0x34], xmm1
comiss xmm6, xmm2
movaps xmm1, xmm2
movss dword [ebp - 0x38], xmm4
movss xmm4, dword [0x10068464]
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [ebx + 0x1518]
movups xmmword [ebp - 0x18], xmm2
jbe 0x1002a9d6
xorps xmm0, xmm0
jmp 0x1002a9dd
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm3, dword [0x10068550]
movss xmm2, dword [ebp - 0x14]
comiss xmm6, xmm2
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1002aa00
xorps xmm0, xmm0
jmp 0x1002aa07
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x10]
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm6, xmm2
jbe 0x1002aa27
xorps xmm0, xmm0
jmp 0x1002aa2e
movaps xmm0, xmm4
minss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm6, xmm1
jbe 0x1002aa49
xorps xmm0, xmm0
jmp 0x1002aa50
movaps xmm0, xmm4
minss xmm0, xmm1
mulss xmm0, xmm3
push ecx
mov dword [esp], 0x3f800000
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x270]
call fcn.1001c0c0
mov ebx, dword [0x1006bc38]
movss xmm3, dword [ebp - 0xdc]
movss xmm4, dword [ebp - 0xd8]
movss xmm5, dword [0x10068464]
cmp byte [ebp - 0xe4], 0
je 0x10029eac
subss xmm3, dword [esi + 0x18bc]
subss xmm4, xmm5
movss dword [esi + 0x2c1c], xmm3
movss dword [esi + 0x2c18], xmm4
jmp 0x10029eac
mov eax, dword [esi + 0x1a20]
mov edx, dword [eax + edx*4 - 4]
movss xmm0, dword [ebx + 0x98]
mov eax, dword [ebx + 0x199c]
mov dword [ebx + 0x18b8], edx
mulss xmm0, dword [edx]
mulss xmm0, dword [edx + 4]
movss dword [ebx + 0x18c0], xmm0
test eax, eax
je 0x1002ab0c
mulss xmm0, dword [eax + 0x268]
jmp 0x1002ab0f
xorps xmm0, xmm0
movss dword [ebx + 0x18bc], xmm0
mov eax, dword [edx + 0x44]
mov ecx, dword [eax + 0x2c]
mov eax, dword [eax + 0x30]
mov dword [ebx + 0x18c4], ecx
mov ecx, dword [ebp - 0x13c]
mov dword [ebx + 0x18c8], eax
mov dword [ebx + 0x18cc], edx
movss dword [ebx + 0x18d0], xmm0
mov eax, dword [ebp - 0xb0]
cmp byte [eax + 0x2c54], 0
je 0x1002ab71
test cl, cl
jne 0x1002ab71
push 0
mov edx, edi
lea ecx, [ebp - 0x10c]
call fcn.100115c0
mov ebx, dword [0x1006bc38]
add esp, 4
mov eax, dword [ebp - 0xb0]
movss xmm0, dword [ebp - 0x144]
comiss xmm0, dword [0x100683c4]
jbe 0x1002abd0
movss xmm0, dword [ebp - 0x40]
xor edx, edx
addss xmm0, dword [eax + 0x1564]
mov ecx, dword [ebp - 0x154]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [eax + 0x1550]
movss dword [ebp - 0x108], xmm0
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
push 1
call fcn.10003770
mov ebx, dword [0x1006bc38]
add esp, 0xc
mov cl, byte [ebp - 0xdd]
test cl, cl
je 0x1002abee
mov eax, dword [ebx + 0x199c]
mov byte [ebx + 0x19ce], 1
or dword [eax + 0x10c], 4
test byte [ebp + 0x10], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 0xa9]
cmovne eax, ecx
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1003f8a4
mov esp, ebp
pop ebp
ret