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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x118
push esi
mov esi, dword [0x101da090]
mov eax, ecx
push edi
push 0
xor edx, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x34], esi
call fcn.10007350
add esp, 4
lea ecx, [esi + 0x3e18]
push eax
call fcn.10007820
mov edi, eax
test edi, edi
mov dword [esp + 0x4c], edi
sete al
mov byte [esp + 8], al
test al, al
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
je 0x1000e943
mov ecx, dword [esp + 0x64]
mov edx, eax
call fcn.1000c410
mov edi, eax
mov dword [esp + 0x4c], edi
jmp 0x1000e950
push eax
xor dl, dl
mov ecx, edi
call fcn.1000c300
add esp, 4
mov edx, dword [ebp + 8]
mov eax, edx
and eax, 0xc0200
cmp eax, 0xc0200
jne 0x1000e968
or edx, 6
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x3dd0]
lea ecx, [esi + 0x3e0c]
cmp dword [edi + 0x220], eax
mov dword [esp + 0x40], eax
setne byte [esp + 0xf]
mov dword [esp + 0x1c], ecx
cmp dword [ecx], 0
jne 0x1000e99d
cmp byte [esi + 0x3ddd], 0
mov dword [esp + 0x18], 1
jne 0x1000e9a5
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x18]
dec eax
cmp dword [edi + 0x220], eax
mov byte [edi + 0x96], dl
mov edx, dword [esp + 0x10]
setl al
mov byte [esp + 0xe], al
test edx, 0x4000000
je 0x1000ea07
mov eax, dword [esi + 0x3fc8]
lea esi, [eax + eax*8]
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x3fc4]
mov eax, dword [edi + 0xa4]
cmp edi, dword [edx + esi*4 + 4]
setne cl
cmp eax, dword [edx + esi*4]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
setne al
or cl, al
mov al, byte [esp + 0xe]
or al, cl
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xe], al
mov byte [edi + 0x94], al
test al, al
je 0x1000ea26
or byte [edi + 0xb4], 8
or byte [edi + 0xb5], 8
or byte [edi + 0xb6], 8
cmp byte [esp + 0xf], 0
je 0x1000ea6d
mov eax, dword [esp + 0x40]
mov dword [edi + 0x220], eax
xor eax, eax
mov dword [edi + 8], edx
movsd xmm0, qword [esi + 0x3dc8]
cvtpd2ps xmm0, xmm0
mov word [edi + 0x9c], ax
movss dword [edi + 0x224], xmm0
mov ax, word [esi + 0x3e24]
mov word [edi + 0x9e], ax
inc dword [esi + 0x3e24]
jmp 0x1000ea74
mov edx, dword [edi + 8]
mov dword [esp + 0x10], edx
cmp dword [ecx], 0
jne 0x1000ea7d
xor eax, eax
jmp 0x1000ea8a
imul ecx, dword [ecx], 0x54
mov eax, dword [esi + 0x3e14]
mov eax, dword [ecx + eax - 0x54]
cmp byte [esp + 0xf], 0
mov dword [esp + 0x18], eax
je 0x1000eaa9
mov ecx, edx
and ecx, 0x5000000
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x3c], ecx
jmp 0x1000eab3
mov eax, dword [edi + 0x2e0]
mov dword [esp + 0x3c], eax
cmp dword [edi + 0xc8], 0
lea eax, [edi + 0xc8]
jne 0x1000eb10
mov edx, dword [eax]
mov ecx, dword [eax + 4]
cmp edx, ecx
jne 0x1000eaff
inc edx
mov dword [esp + 0x1c], edx
test ecx, ecx
je 0x1000eae3
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
add eax, ecx
jmp 0x1000eae8
mov eax, 8
cmp eax, edx
lea ecx, [edi + 0xc8]
cmovg edx, eax
push edx
call fcn.10018170
lea eax, [edi + 0xc8]
mov edx, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [edi + 4]
mov dword [ecx + edx*4], eax
inc dword [edi + 0xc8]
lea ecx, [esp + 0xbc]
mov dword [esi + 0x3e30], edi
call fcn.10005440
mov eax, dword [esi + 0x3f10]
lea ecx, [esp + 0xf8]
xorps xmm0, xmm0
mov word [esp + 0x108], 0
movups xmmword [esp + 0xf8], xmm0
mov dword [esp + 0xb8], edi
movups xmm0, xmmword [esi + 0x3ed8]
mov dword [esp + 0xf4], eax
movups xmmword [esp + 0xbc], xmm0
movups xmm0, xmmword [esi + 0x3ee8]
movups xmmword [esp + 0xcc], xmm0
movups xmm0, xmmword [esi + 0x3ef8]
movups xmmword [esp + 0xdc], xmm0
movq xmm0, qword [esi + 0x3f08]
movq qword [esp + 0xec], xmm0
call fcn.10011b90
lea eax, [esp + 0xb8]
push eax
lea ecx, [esi + 0x3e0c]
call fcn.10018100
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 0x10000000
mov dword [esi + 0x3e30], 0
mov dword [esp + 0x1c], ecx
je 0x1000ebca
inc dword [esi + 0x3fd4]
mov ecx, eax
and ecx, 0x4000000
mov dword [esp + 0x48], ecx
je 0x1000ec0a
mov eax, dword [esi + 0x3fc8]
lea ecx, [esi + 0x3fc8]
lea edx, [eax + eax*8]
mov eax, dword [esi + 0x3fc4]
mov dword [eax + edx*4 + 4], edi
lea esi, [eax + edx*4]
push esi
call fcn.10018040
mov eax, dword [esi]
mov esi, dword [esp + 0x30]
mov dword [edi + 0xa4], eax
mov eax, dword [esp + 0x10]
cmp byte [esp + 0xf], 0
je 0x1000ec2b
push dword [esp + 0x3c]
mov edx, eax
mov ecx, edi
call fcn.1000e760
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [edi + 0x2e4], eax
test byte [esi + 0x3f14], 1
mov byte [esp + 0xa], 0
mov byte [esp + 0xc], 0
mov byte [esp + 9], 0
je 0x1000ece7
mov dl, byte [edi + 0xb4]
mov ecx, dword [esi + 0x3f18]
movsx eax, dl
test ecx, eax
setne dh
mov byte [esp + 0xa], dh
test dh, dh
je 0x1000ecd6
movss xmm1, dword [esi + 0x3f30]
movss xmm0, dword [esi + 0x3f2c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x100acffc]
jbe 0x1000ecd6
mov eax, dword [esi + 0x3f24]
mov dword [edi + 0xb8], eax
mov eax, dword [esi + 0x3f28]
mov dword [edi + 0xbc], eax
mov eax, dword [esi + 0x3f2c]
mov dword [edi + 0xc0], eax
mov eax, dword [esi + 0x3f30]
mov dword [edi + 0xc4], eax
mov eax, dword [edi + 0xb4]
movzx ecx, dl
and eax, 0xffffff00
and ecx, 0xf1
or ecx, eax
mov dword [edi + 0xb4], ecx
jmp 0x1000ece7
push ecx
lea edx, [esi + 0x3f24]
mov ecx, edi
call fcn.10010fb0
add esp, 4
test byte [esi + 0x3f14], 2
je 0x1000ed4a
movsx eax, byte [edi + 0xb5]
xorps xmm1, xmm1
mov ecx, dword [esi + 0x3f1c]
and eax, ecx
je 0x1000ed18
movss xmm0, dword [esi + 0x3f34]
comiss xmm0, xmm1
jbe 0x1000ed18
mov byte [esp + 0xc], 1
jmp 0x1000ed1e
xor dl, dl
mov byte [esp + 0xc], dl
test eax, eax
je 0x1000ed34
movss xmm0, dword [esi + 0x3f38]
comiss xmm0, xmm1
mov byte [esp + 9], 1
ja 0x1000ed39
mov byte [esp + 9], 0
push ecx
lea edx, [esi + 0x3f34]
mov ecx, edi
call fcn.10011110
add esp, 4
test byte [esi + 0x3f14], 0x80
je 0x1000ed88
movss xmm0, dword [esi + 0x3f44]
xorps xmm1, xmm1
comiss xmm0, xmm1
jb 0x1000ed6f
movss dword [edi + 0x6c], xmm0
mov dword [edi + 0x74], 0
movss xmm0, dword [esi + 0x3f48]
comiss xmm0, xmm1
jb 0x1000ed88
movss dword [edi + 0x70], xmm0
mov dword [edi + 0x78], 0
test byte [esi + 0x3f14], 4
je 0x1000eda2
mov eax, dword [esi + 0x3f3c]
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x3f40]
jmp 0x1000edc4
cmp byte [esp + 0xf], 0
je 0x1000edc7
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], 0
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x3c], eax
test byte [esi + 0x3f14], 8
je 0x1000ee14
mov ecx, dword [esi + 0x3f20]
mov dl, byte [esi + 0x3f4c]
test ecx, ecx
je 0x1000edeb
movsx eax, byte [edi + 0xb6]
test ecx, eax
je 0x1000ee14
movzx ecx, byte [edi + 0xb6]
mov eax, dword [edi + 0xb4]
and ecx, 0xf1
shl ecx, 0x10
and eax, 0xff00ffff
or ecx, eax
mov byte [edi + 0x91], dl
mov dword [edi + 0xb4], ecx
test byte [esi + 0x3f14], 0x20
je 0x1000ee24
mov ecx, edi
call fcn.10010b00
cmp byte [edi + 0x94], 0
je 0x1000ee42
and byte [edi + 0xb4], 0xf7
and byte [edi + 0xb5], 0xf7
and byte [edi + 0xb6], 0xf7
cmp byte [esp + 0xf], 0
je 0x10010593
mov eax, dword [esp + 0x10]
movaps xmm0, xmmword [0x100ad720]
and eax, 0x3000000
cmp eax, 0x3000000
mov dword [esp + 0x20], eax
mov byte [edi + 0x8e], 1
sete byte [esp + 0xd]
mov byte [edi + 0x98], 0
cmp byte [edi + 0xb1], 0
movups xmmword [edi + 0x1f8], xmm0
mov eax, dword [edi + 0xcc]
setg byte [esp + 0x47]
cmp eax, 1
jge 0x1000eec5
test eax, eax
je 0x1000eeaa
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0xcc]
jmp 0x1000eeaf
mov ecx, 8
mov eax, 1
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc8]
push eax
call fcn.10018170
mov dword [edi + 0xc8], 1
mov ecx, dword [edi + 0x24c]
call fcn.1001ff70
cmp byte [edi + 0x32c], 0
mov dword [edi + 0x17c], 0xffffffff
je 0x1000eef4
mov ecx, edi
call fcn.10008e40
cmp dword [esi + 0x413c], 0
je 0x1000ef5e
test dword [edi + 8], 0x80000
jne 0x1000ef5e
cmp byte [esp + 8], 0
jne 0x1000ef5e
mov ecx, dword [edi]
mov eax, dword [esp + 0x64]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000ef33
test dl, dl
je 0x1000ef2f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000ef33
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000ef13
xor eax, eax
jmp 0x1000ef38
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000ef5e
mov eax, dword [edi + 0x50]
lea edx, [esp + 0x18]
push dword [esp + 0x64]
mov ecx, dword [edi]
mov dword [esp + 0x1c], eax
call fcn.10007280
mov dword [edi], eax
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [edi + 0x50], eax
lea eax, [edi + 0x30]
mov ecx, edi
lea edx, [edi + 0x28]
push eax
call fcn.1000c830
mov al, byte [edi + 0xb0]
add esp, 4
test al, al
jle 0x1000ef81
sub al, 1
mov byte [edi + 0xb0], al
mov al, byte [edi + 0xb1]
test al, al
jle 0x1000ef93
sub al, 1
mov byte [edi + 0xb1], al
mov al, byte [edi + 0xb2]
test al, al
jle 0x1000efa5
dec al
mov byte [edi + 0xb2], al
cmp byte [esp + 8], 0
mov cl, byte [esp + 0xc]
mov dl, byte [esp + 9]
je 0x1000efc3
test cl, cl
je 0x1000efbc
test dl, dl
jne 0x1000efc3
mov byte [edi + 0xb1], 1
cmp byte [esp + 0xe], 0
je 0x1000f028
mov eax, dword [esp + 0x10]
test eax, 0x6000000
je 0x1000f028
mov byte [edi + 0xb1], 1
test al, 0x40
je 0x1000f028
test cl, cl
jne 0x1000eff2
mov dword [edi + 0x20], 0
mov dword [edi + 0x18], 0
test dl, dl
jne 0x1000f004
mov dword [edi + 0x24], 0
mov dword [edi + 0x1c], 0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], eax
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], eax
mov eax, dword [0x101da090]
mov ecx, edi
mov eax, dword [eax + 0x3fe0]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov dword [edi + 0xc], eax
call fcn.10008ca0
mov ecx, dword [esp + 0x10]
mov edx, ecx
and edx, 0x1000000
mov dword [esp + 0x60], edx
je 0x1000f060
mov eax, dword [esi + 0x37e0]
mov dword [edi + 0x4c], eax
jmp 0x1000f087
test ecx, 0x6000000
je 0x1000f07a
test ecx, 0x8000000
jne 0x1000f07a
movss xmm0, dword [esi + 0x37e8]
jmp 0x1000f082
movss xmm0, dword [esi + 0x37c4]
movss dword [edi + 0x4c], xmm0
mov eax, dword [esi + 0x37b8]
mov dword [edi + 0x40], eax
mov eax, dword [esi + 0x37bc]
mov dword [edi + 0x44], eax
test edx, edx
je 0x1000f0e7
test ecx, 0x4010000
jne 0x1000f0e7
movss xmm0, dword [edi + 0x4c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000f0e7
test ecx, 0x400
je 0x1000f0c8
movss xmm0, dword [esi + 0x37bc]
jmp 0x1000f0cb
movaps xmm0, xmm1
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
movss dword [esp + 0x2c], xmm0
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x44], eax
movss xmm0, dword [edi + 0x40]
movss xmm1, dword [esi + 0x37fc]
comiss xmm0, xmm1
jae 0x1000f0fc
movaps xmm0, xmm1
movss xmm1, dword [esi + 0x3f6c]
comiss xmm0, xmm1
jae 0x1000f10c
movaps xmm0, xmm1
movss dword [edi + 0x13c], xmm0
mov eax, dword [esi + 0x3f70]
mov dword [edi + 0x140], eax
test cl, 0x21
jne 0x1000f194
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.10006510
cmp dword [esi + 0x3e34], edi
jne 0x1000f172
cmp dword [esi + 0x3e54], 0
jne 0x1000f172
cmp dword [esi + 0x3e58], 0
jne 0x1000f172
push 1
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x54]
call fcn.10011270
add esp, 4
test al, al
je 0x1000f172
cmp word [esi + 0x367a], 2
jne 0x1000f172
mov byte [edi + 0x92], 1
cmp byte [edi + 0x92], 0
je 0x1000f19b
cmp byte [edi + 0x91], 0
mov ecx, edi
sete al
mov byte [edi + 0x91], al
call fcn.10017000
jmp 0x1000f19b
mov byte [edi + 0x91], 0
lea eax, [edi + 0x30]
mov byte [edi + 0x92], 0
push eax
mov edx, edi
lea ecx, [esp + 0x2c]
call fcn.1000c970
mov al, byte [esp + 0xc]
add esp, 4
test byte [esp + 0x10], 0x40
mov byte [esp + 0x17], al
mov byte [esp + 0xb], al
je 0x1000f208
cmp byte [edi + 0x91], 0
jne 0x1000f208
mov dl, byte [esp + 0xc]
test dl, dl
jne 0x1000f1e8
movss xmm0, dword [esp + 0x28]
movss dword [edi + 0x20], xmm0
mov byte [esp + 0x17], 1
cmp byte [esp + 9], 0
jne 0x1000f2c3
movss xmm0, dword [esp + 0x2c]
movss dword [edi + 0x24], xmm0
mov byte [esp + 0xb], 1
jmp 0x1000f2c3
mov al, byte [edi + 0xa8]
test al, al
jg 0x1000f21f
cmp byte [edi + 0xa9], 0
jle 0x1000f2c3
mov dl, byte [esp + 0xc]
test dl, dl
jne 0x1000f258
test al, al
jle 0x1000f258
cmp byte [edi + 0xab], dl
je 0x1000f248
movss xmm0, dword [edi + 0x20]
movss xmm1, dword [esp + 0x28]
comiss xmm0, xmm1
jae 0x1000f24e
movaps xmm0, xmm1
jmp 0x1000f24e
movss xmm0, dword [esp + 0x28]
movss dword [edi + 0x20], xmm0
mov byte [esp + 0x17], 1
cmp byte [esp + 9], 0
jne 0x1000f296
cmp byte [edi + 0xa9], 0
jle 0x1000f296
cmp byte [edi + 0xab], 0
je 0x1000f286
movss xmm0, dword [edi + 0x24]
movss xmm1, dword [esp + 0x2c]
comiss xmm0, xmm1
jae 0x1000f28c
movaps xmm0, xmm1
jmp 0x1000f28c
movss xmm0, dword [esp + 0x2c]
movss dword [edi + 0x24], xmm0
mov byte [esp + 0xb], 1
cmp byte [edi + 0x91], 0
jne 0x1000f2c3
test dword [edi + 8], 0x100
mov ecx, dword [0x101da090]
jne 0x1000f2c3
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x5200]
jb 0x1000f2c3
mov eax, dword [ecx + 0x1c]
mov dword [ecx + 0x5200], eax
lea eax, [edi + 0x20]
mov edx, edi
push eax
lea ecx, [esp + 0x84]
call fcn.1000c5f0
mov edx, eax
add esp, 4
cmp byte [edi + 0x91], 0
mov ecx, dword [edx]
mov dword [edi + 0x20], ecx
mov ecx, dword [edx + 4]
mov dword [edi + 0x24], ecx
je 0x1000f325
cmp dword [esp + 0x60], 0
jne 0x1000f325
lea eax, [esp + 0x110]
mov ecx, edi
push eax
call fcn.10006510
movss xmm0, dword [eax + 8]
subss xmm0, dword [eax]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 0xc]
subss xmm0, dword [eax + 4]
movss dword [esp + 0x38], xmm0
jmp 0x1000f332
mov eax, dword [edx]
mov dword [esp + 0x34], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x38], eax
movss xmm4, dword [0x100ad090]
lea ecx, [esp + 0x34]
mov eax, dword [ecx]
mov edx, dword [0x101da090]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 4]
mov ecx, dword [edi + 8]
mov dword [edi + 0x1c], eax
test cl, 1
je 0x1000f35f
xorps xmm0, xmm0
movaps xmm1, xmm0
jmp 0x1000f394
movss xmm2, dword [edx + 0x3bd0]
mov eax, dword [edi + 0x2e0]
mulss xmm2, dword [edi + 0x244]
test eax, eax
je 0x1000f381
mulss xmm2, dword [eax + 0x244]
movss xmm1, dword [edx + 0x37f0]
xorps xmm0, xmm0
mulss xmm1, xmm4
addss xmm1, xmm2
test ecx, 0x400
je 0x1000f3dc
movss xmm2, dword [edx + 0x3bd0]
mov eax, dword [edi + 0x2e0]
mulss xmm2, dword [edi + 0x244]
test eax, eax
je 0x1000f3be
mulss xmm2, dword [eax + 0x244]
movss xmm3, dword [edi + 0x140]
movss xmm0, dword [edx + 0x37f0]
addss xmm3, xmm2
mulss xmm0, xmm4
addss xmm3, xmm0
jmp 0x1000f3df
movaps xmm3, xmm0
cmp byte [esp + 0xe], 0
addss xmm3, xmm1
movss dword [esp + 0x40], xmm3
je 0x1000f42f
cmp dword [esp + 0x48], 0
mov dword [edi + 0xac], 0xffffffff
je 0x1000f42f
test dword [esp + 0x10], 0x8000000
jne 0x1000f42f
cmp byte [esp + 0xa], 0
jne 0x1000f42f
mov eax, dword [esi + 0x3fc8]
mov ecx, dword [esi + 0x3fd0]
lea edx, [eax + eax*8]
mov eax, dword [ecx + edx*4 - 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + edx*4 - 0xc]
mov dword [edi + 0x14], eax
cmp dword [esp + 0x60], 0
je 0x1000f4c3
mov edx, dword [esp + 0x3c]
add edx, 0x168
mov dword [esp + 0x18], edx
mov ax, word [edx]
mov word [edi + 0x9c], ax
mov ecx, dword [edx + 4]
cmp dword [edx], ecx
jne 0x1000f489
test ecx, ecx
je 0x1000f46c
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
sar eax, 1
add eax, ecx
jmp 0x1000f471
mov eax, 8
mov ecx, dword [edx]
inc ecx
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edx
call fcn.10018170
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx]
mov eax, dword [edx + 8]
mov dword [eax + ecx*4], edi
inc dword [edx]
mov ecx, dword [esp + 0x48]
mov al, byte [esp + 0xa]
mov dl, byte [esp + 0xd]
test ecx, ecx
jne 0x1000f4cf
test al, al
jne 0x1000f4cf
test dl, dl
jne 0x1000f4cf
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0xd4]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0xd8]
mov dword [edi + 0x14], eax
jmp 0x1000f4c7
mov dl, byte [esp + 0xd]
mov ecx, dword [esp + 0x48]
mov al, byte [esp + 0xa]
movss xmm0, dword [edi + 0xb8]
ucomiss xmm0, dword [0x100ad138]
lahf
test ah, 0x44
jnp 0x1000f535
cmp byte [edi + 0xb1], 0
jne 0x1000f535
movss xmm1, dword [edi + 0xc0]
lea edx, [esp + 0x34]
mulss xmm1, dword [edi + 0x18]
mov ecx, edi
push 0
movss xmm2, dword [edi + 0x1c]
mulss xmm2, dword [edi + 0xc4]
subss xmm0, xmm1
movss dword [esp + 0x38], xmm0
movss xmm0, dword [edi + 0xbc]
subss xmm0, xmm2
movss dword [esp + 0x3c], xmm0
call fcn.10010fb0
add esp, 4
jmp 0x1000f575
cmp dword [esp + 0x1c], 0
jne 0x1000f55c
test ecx, ecx
je 0x1000f54a
test al, al
jne 0x1000f54a
cmp byte [esp + 0x47], al
jne 0x1000f55c
test dword [esp + 0x10], 0x2000000
je 0x1000f575
test al, al
jne 0x1000f575
test dl, dl
jne 0x1000f575
mov edx, edi
lea ecx, [esp + 0x98]
call fcn.100131b0
mov ecx, dword [eax]
mov dword [edi + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0x68]
movss xmm5, dword [esi + 0x385c]
movss xmm0, dword [ecx + 4]
movss xmm1, dword [ecx + 0xc]
movss xmm2, dword [ecx + 8]
addss xmm1, xmm0
movss xmm6, dword [ecx + 0x14]
movss xmm7, dword [ecx + 0x18]
movss xmm3, dword [ecx + 0x1c]
movss xmm4, dword [ecx + 0x20]
addss xmm3, xmm6
movss dword [esp + 0x50], xmm0
addss xmm4, xmm7
movss xmm0, dword [ecx + 0x10]
addss xmm0, xmm2
movss dword [esp + 0x54], xmm2
movss xmm2, dword [esi + 0x3864]
comiss xmm5, xmm2
movss dword [esp + 0x58], xmm1
movss dword [esp + 0x5c], xmm0
jae 0x1000f5e1
movaps xmm5, xmm2
movss xmm2, dword [esi + 0x3858]
comiss xmm2, dword [esi + 0x3860]
jae 0x1000f5fa
movss xmm2, dword [esi + 0x3860]
cmp byte [esp + 0xa], 0
addss xmm6, xmm2
addss xmm7, xmm5
subss xmm3, xmm2
subss xmm4, xmm5
movss dword [esp + 0x34], xmm6
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], eax
movss dword [esp + 0x38], xmm7
mov eax, dword [esp + 0x38]
mov dword [esp + 0x74], eax
movss dword [esp + 0x68], xmm3
mov eax, dword [esp + 0x68]
movss dword [esp + 0x6c], xmm4
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x7c], eax
jne 0x1000f684
cmp dword [esp + 0x60], 0
jne 0x1000f684
cmp byte [edi + 0xa8], 0
jg 0x1000f684
cmp byte [edi + 0xa9], 0
jg 0x1000f684
subss xmm1, dword [ecx + 4]
xorps xmm2, xmm2
comiss xmm1, xmm2
jbe 0x1000f684
subss xmm0, dword [ecx + 8]
comiss xmm0, xmm2
jbe 0x1000f684
lea edx, [esp + 0x70]
mov ecx, edi
call fcn.1000d890
cmp dword [esp + 0x60], 0
cvttss2si eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x10]
movd xmm0, eax
cvttss2si eax, dword [edi + 0x14]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
movd xmm0, eax
mov eax, dword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mov dword [edi + 0x10], eax
movss dword [esp + 0x38], xmm0
mov eax, dword [esp + 0x38]
mov dword [edi + 0x14], eax
je 0x1000f6cb
movss xmm0, dword [esi + 0x37dc]
jmp 0x1000f6eb
mov eax, ecx
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1000f6e3
movss xmm0, dword [esi + 0x37e4]
jmp 0x1000f6eb
movss xmm0, dword [esi + 0x37c0]
xor dl, dl
movss dword [edi + 0x48], xmm0
mov dword [esp + 0x18], edx
cmp byte [esp + 0xe], dl
je 0x1000f758
test ecx, 0x1000
jne 0x1000f758
cmp dword [esp + 0x48], 0
je 0x1000f712
mov byte [esp + 0x18], 1
jmp 0x1000f726
cmp dword [esp + 0x20], 0
mov eax, 1
movzx edx, dl
cmove edx, eax
mov dword [esp + 0x18], edx
call fcn.10012cb0
test eax, eax
je 0x1000f758
mov edx, eax
mov ecx, edi
call fcn.10010f30
test al, al
jne 0x1000f758
mov byte [esp + 0x18], al
cmp edi, dword [edi + 0x2e8]
jne 0x1000f758
mov ecx, edi
call fcn.1000e800
mov edx, eax
mov ecx, edi
call fcn.10010a40
movss xmm1, dword [esi + 0x3bcc]
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmm2, xmm1
movss xmm0, dword [edi + 0x48]
xor eax, eax
addss xmm0, dword [0x100ad068]
mulss xmm1, dword [0x100ad01c]
cmp byte [esi + 0x5d], al
mulss xmm2, dword [0x100ad06c]
setne al
mov dword [esp + 0x1c], 0xffffffff
addss xmm1, xmm0
inc eax
mov dword [esp + 0x68], eax
comiss xmm2, xmm1
jae 0x1000f7ac
movaps xmm2, xmm1
cmp byte [edi + 0x91], 0
cvttss2si esi, xmm2
jne 0x1000f7e4
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0xa4]
push ecx
push eax
lea eax, [esp + 0x28]
mov ecx, edi
push eax
lea edx, [esp + 0x38]
call fcn.1000cd30
add esp, 0x10
test al, al
je 0x1000f7e4
mov dh, 1
mov dl, dh
jmp 0x1000f7ec
mov dh, byte [esp + 0xb]
mov dl, byte [esp + 0x17]
cmp byte [edi + 0x91], 0
mov al, byte [esp + 0x1c]
movss xmm7, dword [esp + 0x40]
mov byte [edi + 0x99], al
jne 0x1000f99e
cmp byte [esp + 8], 0
lea ecx, [esp + 0x34]
movss xmm3, dword [edi + 0x1c0]
movss xmm0, dword [edi + 0x1c4]
subss xmm3, dword [edi + 0x1b8]
subss xmm0, dword [edi + 0x1bc]
movss xmm4, dword [edi + 0x24]
movss xmm6, dword [edi + 0x88]
subss xmm4, xmm7
movss xmm5, dword [edi + 0x20]
addss xmm3, dword [edi + 0x84]
addss xmm6, xmm0
je 0x1000f868
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jmp 0x1000f8a0
movss xmm1, dword [edi + 0x40]
mulss xmm1, dword [0x100ad090]
movss xmm0, dword [edi + 0x28]
movss xmm2, dword [edi + 0x44]
mulss xmm2, dword [0x100ad090]
addss xmm0, xmm1
movss dword [esp + 0x34], xmm0
movss xmm0, dword [edi + 0x2c]
addss xmm0, xmm2
movss dword [esp + 0x38], xmm0
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x2c], eax
test dl, dl
jne 0x1000f8b4
movaps xmm5, xmm3
test dh, dh
jne 0x1000f8bb
movaps xmm4, xmm6
mov ecx, dword [esp + 0x10]
movss xmm1, dword [esp + 0x2c]
test ecx, 0x4000
jne 0x1000f8db
comiss xmm1, xmm4
jbe 0x1000f8d7
test cl, 8
je 0x1000f8db
xor edx, edx
jmp 0x1000f8e0
mov edx, 1
mov byte [edi + 0x8d], dl
test ecx, 0x8000
jne 0x1000f924
test dl, dl
je 0x1000f900
mov eax, dword [esp + 0x30]
movss xmm0, dword [eax + 0x3824]
jmp 0x1000f903
xorps xmm0, xmm0
subss xmm5, xmm0
movss xmm0, dword [esp + 0x28]
comiss xmm0, xmm5
jbe 0x1000f920
mov eax, ecx
and eax, 0x808
cmp eax, 0x800
je 0x1000f924
xor eax, eax
jmp 0x1000f929
mov eax, 1
mov byte [edi + 0x8c], al
test al, al
je 0x1000f961
test dl, dl
jne 0x1000f950
comiss xmm1, xmm4
jbe 0x1000f948
test cl, 8
jne 0x1000f948
mov eax, 1
jmp 0x1000f94a
xor eax, eax
mov byte [edi + 0x8d], al
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x3824]
jmp 0x1000f96b
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movaps xmm1, xmm0
cmp byte [edi + 0x8d], 0
je 0x1000f97c
movss xmm0, dword [eax + 0x3824]
movss dword [esp + 0x28], xmm0
mov eax, dword [esp + 0x28]
movss dword [esp + 0x2c], xmm1
mov dword [edi + 0x84], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0x88], eax
jmp 0x1000f9a2
mov ecx, dword [esp + 0x10]
mov eax, ecx
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1000f9c2
cmp byte [esp + 0xd], 0
jne 0x1000f9c2
mov eax, dword [esp + 0x3c]
add eax, 0x1f8
jmp 0x1000f9c6
lea eax, [esp + 0x50]
test byte [edi + 8], 1
movups xmm0, xmmword [eax]
movss xmm2, dword [edi + 0x10]
movss xmm3, dword [edi + 0x14]
movups xmmword [esp + 0x70], xmm0
movaps xmm0, xmm2
movss dword [esp + 0x50], xmm2
addss xmm0, dword [edi + 0x18]
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x58], xmm0
movaps xmm0, xmm3
addss xmm0, dword [edi + 0x1c]
movss dword [esp + 0x5c], xmm0
je 0x1000fa0b
xorps xmm0, xmm0
jmp 0x1000fa47
mov edx, dword [0x101da090]
mov eax, dword [edi + 0x2e0]
movss xmm1, dword [edx + 0x3bd0]
mulss xmm1, dword [edi + 0x244]
test eax, eax
je 0x1000fa33
mulss xmm1, dword [eax + 0x244]
movss xmm0, dword [edx + 0x37f0]
mulss xmm0, dword [0x100ad090]
addss xmm0, xmm1
addss xmm2, dword [edi + 0x20]
mov eax, dword [edi + 0x10]
addss xmm3, xmm0
movups xmm0, xmmword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x84], eax
movups xmmword [edi + 0x1a8], xmm0
movss xmm1, dword [edi + 0x1ac]
movss xmm0, dword [esp + 0x74]
comiss xmm1, xmm0
movss dword [esp + 0x20], xmm2
mov eax, dword [esp + 0x20]
movss dword [esp + 0x24], xmm3
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x24]
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x28], xmm3
mov dword [esp + 0x8c], eax
jae 0x1000fab4
movaps xmm1, xmm0
movss xmm0, dword [edi + 0x1a8]
movss xmm2, dword [esp + 0x70]
comiss xmm0, xmm2
jae 0x1000faca
movaps xmm0, xmm2
movss dword [esp + 0x20], xmm0
mov eax, dword [esp + 0x20]
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x24], xmm1
mov dword [edi + 0x1a8], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x1ac], eax
movss xmm1, dword [edi + 0x1b4]
comiss xmm0, xmm1
ja 0x1000fb00
movaps xmm1, xmm0
movss xmm0, dword [edi + 0x1b0]
movss xmm2, dword [esp + 0x78]
comiss xmm2, xmm0
ja 0x1000fb16
movaps xmm0, xmm2
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x20], xmm0
mov eax, dword [esp + 0x20]
mov dword [edi + 0x1b0], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x1b4], eax
mov eax, ecx
movss xmm4, dword [edi + 0x10]
and eax, 0x401
movss xmm1, dword [edi + 0x14]
movaps xmm2, xmm4
movss dword [edi + 0x1b8], xmm4
movaps xmm3, xmm1
addss xmm3, xmm7
addss xmm2, dword [edi + 0x18]
addss xmm1, dword [edi + 0x1c]
movss dword [edi + 0x1bc], xmm3
subss xmm2, dword [edi + 0x84]
subss xmm1, dword [edi + 0x88]
movss dword [edi + 0x1c0], xmm2
movss dword [edi + 0x1c4], xmm1
cmp eax, 1
jne 0x1000fb97
movss xmm0, dword [edi + 0x4c]
jmp 0x1000fba3
mov eax, dword [esp + 0x30]
movss xmm0, dword [eax + 0x37f8]
movss xmm7, dword [0x100ad034]
movss xmm6, dword [edi + 0x4c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 0x40]
mulss xmm0, xmm7
cvttss2si eax, xmm0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
comiss xmm5, xmm6
jb 0x1000fbd4
movaps xmm0, xmm5
jmp 0x1000fbd7
movaps xmm0, xmm6
comiss xmm5, xmm6
lea ecx, [edi + 0x1c8]
addss xmm4, xmm7
addss xmm3, xmm7
addss xmm4, xmm0
addss xmm3, dword [esp + 0x1c]
cvttss2si eax, xmm4
movd xmm0, eax
cvttss2si eax, xmm3
cvtdq2ps xmm0, xmm0
movss dword [ecx], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1cc], xmm0
jae 0x1000fc19
movaps xmm5, xmm6
addss xmm2, xmm7
addss xmm1, xmm7
subss xmm2, xmm5
subss xmm1, xmm6
cvttss2si eax, xmm2
movd xmm0, eax
cvttss2si eax, xmm1
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1d0], xmm0
movd xmm0, eax
lea eax, [esp + 0x70]
cvtdq2ps xmm0, xmm0
push eax
movss dword [edi + 0x1d4], xmm0
call fcn.100052a0
movss xmm0, dword [edi + 0x18]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x1000fc7a
test dword [esp + 0x10], 0x2000040
jne 0x1000fc7a
mulss xmm0, dword [0x100ad03c]
jmp 0x1000fc8e
mov eax, dword [esp + 0x30]
movss xmm0, dword [eax + 0x3bcc]
mulss xmm0, dword [0x100ad0d4]
movss xmm1, dword [edi + 0x40]
movss xmm3, dword [0x100ad090]
cvttss2si eax, xmm0
mulss xmm1, xmm3
addss xmm1, dword [edi + 0x28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x228], xmm0
movss xmm0, dword [edi + 0x1c0]
subss xmm0, dword [edi + 0x1b8]
subss xmm1, xmm0
comiss xmm2, xmm1
jb 0x1000fcd3
movaps xmm1, xmm2
movss dword [edi + 0x64], xmm1
movss xmm1, dword [edi + 0x44]
movss xmm0, dword [edi + 0x1c4]
subss xmm0, dword [edi + 0x1bc]
mulss xmm1, xmm3
addss xmm1, dword [edi + 0x2c]
subss xmm1, xmm0
comiss xmm2, xmm1
jb 0x1000fd02
movaps xmm1, xmm2
mov edx, edi
movss dword [edi + 0x68], xmm1
lea ecx, [esp + 0x98]
call fcn.100124a0
mov dword [esp + 0x20], 0x7f7fffff
mov dword [esp + 0x24], 0x7f7fffff
mov ecx, dword [eax]
mov dword [edi + 0x5c], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x6c], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x3bc8]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x24c]
mov ecx, dword [eax + 0x48]
lea edi, [eax + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 4]
cmp ecx, eax
jne 0x1000fd8a
inc ecx
test eax, eax
je 0x1000fd78
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 4]
jmp 0x1000fd7d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10018170
mov edx, dword [edi]
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
mov ecx, dword [esp + 0x20]
inc dword [edi]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x70], eax
call fcn.100203c0
mov ecx, dword [0x101da090]
push 0
mov eax, dword [ecx + 0x3e30]
mov byte [eax + 0x90], 1
lea eax, [esp + 0x7c]
mov edi, dword [ecx + 0x3e30]
push eax
lea eax, [esp + 0x78]
push eax
mov ecx, dword [edi + 0x24c]
call fcn.100204f0
mov eax, dword [edi + 0x24c]
mov byte [esp + 0xb], 0
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
cmp dword [esp + 0x60], 0
movups xmm0, xmmword [eax + ecx*8 - 0x10]
movaps xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [esp + 0x50]
movups xmmword [edi + 0x1f8], xmm0
je 0x1000fed6
cmp dword [esp + 0x48], 0
jne 0x1000fed6
cmp byte [esp + 0xd], 0
jne 0x1000fed6
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x168]
cmp ecx, 2
jl 0x1000fe94
mov eax, dword [eax + 0x170]
mov eax, dword [eax + ecx*4 - 8]
test eax, eax
je 0x1000fe94
mov edi, dword [esp + 0x4c]
movss xmm5, dword [eax + 0x14]
movss xmm0, dword [eax + 0x1c]
movss xmm7, dword [eax + 0x10]
addss xmm0, xmm5
movss xmm1, dword [edi + 0x14]
movss xmm6, dword [edi + 0x10]
movaps xmm2, xmm1
movss xmm3, dword [eax + 0x18]
movaps xmm4, xmm6
addss xmm4, dword [edi + 0x18]
comiss xmm0, xmm1
addss xmm2, dword [edi + 0x1c]
addss xmm3, xmm7
jbe 0x1000fe98
comiss xmm2, xmm5
jbe 0x1000fe98
comiss xmm3, xmm6
jbe 0x1000fe98
comiss xmm4, xmm7
jbe 0x1000fe98
mov byte [esp + 8], 1
jmp 0x1000fe9d
mov edi, dword [esp + 0x4c]
mov byte [esp + 8], 0
mov edx, dword [edi + 0x24c]
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x1000feda
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x24c]
cmp dword [eax + 0x18], 0
jle 0x1000feda
cmp byte [esp + 8], 0
jne 0x1000feda
mov byte [esp + 0xb], 1
mov dword [edi + 0x24c], eax
jmp 0x1000feda
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4134]
test ecx, ecx
jne 0x1000feee
mov ecx, dword [eax + 0x3fe4]
cmp byte [esp + 0x18], 0
jne 0x1000ff0e
test ecx, ecx
je 0x1000ff07
mov eax, dword [edi + 0x2f0]
cmp eax, dword [ecx + 0x2f0]
je 0x1000ff0e
mov byte [esp + 0x1c], 0
jmp 0x1000ff13
mov byte [esp + 0x1c], 1
movd xmm0, esi
lea eax, [esp + 0xa0]
cvtdq2ps xmm0, xmm0
push ecx
lea edx, [esp + 0x84]
mov ecx, edi
movss dword [esp], xmm0
push eax
push dword [esp + 0x70]
push dword [esp + 0x28]
call fcn.1000dcc0
add esp, 0x10
cmp byte [esp + 0xb], 0
je 0x1000ff54
lea eax, [edi + 0x250]
mov dword [edi + 0x24c], eax
mov ecx, dword [esp + 0x10]
xorps xmm4, xmm4
movss xmm3, dword [edi + 0x38]
mov eax, ecx
and eax, 0x808
cmp eax, 0x800
sete al
shr ecx, 3
not cl
and cl, 1
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jnp 0x1000ff8d
movss xmm5, dword [0x100ad090]
movaps xmm6, xmm3
jmp 0x1000ffc5
test al, al
je 0x1000ff98
movss xmm6, dword [edi + 0x28]
jmp 0x1000ff9b
movaps xmm6, xmm4
movss xmm0, dword [edi + 0x40]
movss xmm5, dword [0x100ad090]
movss xmm1, dword [edi + 0x18]
mulss xmm0, xmm5
subss xmm1, xmm0
subss xmm1, dword [edi + 0x84]
comiss xmm6, xmm1
jae 0x1000ffc5
movaps xmm6, xmm1
movss xmm2, dword [edi + 0x3c]
ucomiss xmm2, xmm4
lahf
test ah, 0x44
jnp 0x1000ffd8
movaps xmm4, xmm2
jmp 0x10010009
test cl, cl
je 0x1000ffe1
movss xmm4, dword [edi + 0x2c]
movss xmm0, dword [edi + 0x44]
movss xmm1, dword [edi + 0x1c]
mulss xmm0, xmm5
subss xmm1, xmm0
subss xmm1, dword [esp + 0x40]
subss xmm1, dword [edi + 0x88]
comiss xmm4, xmm1
jae 0x10010009
movaps xmm4, xmm1
movss xmm0, dword [edi + 0x40]
movss xmm7, dword [edi + 0x4c]
comiss xmm0, xmm7
movss dword [esp + 0x20], xmm0
jb 0x10010023
movaps xmm1, xmm0
jmp 0x10010026
movaps xmm1, xmm7
movss xmm5, dword [edi + 0x5c]
movss xmm0, dword [edi + 0x1b8]
subss xmm0, xmm5
movss dword [esp + 0x68], xmm5
movss xmm5, dword [edi + 0x44]
comiss xmm5, xmm7
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1d8], xmm0
jb 0x10010061
movaps xmm7, xmm5
movss xmm0, dword [edi + 0x1bc]
subss xmm0, dword [edi + 0x60]
movss xmm1, dword [esp + 0x40]
addss xmm0, xmm7
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cvttss2si ecx, xmm0
addss xmm6, xmm7
xorps xmm7, xmm7
ucomiss xmm3, xmm7
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1e0], xmm6
movss xmm6, dword [edi + 0x14]
addss xmm4, xmm0
subss xmm6, dword [edi + 0x60]
movss dword [edi + 0x1dc], xmm0
lahf
movss dword [edi + 0x1e4], xmm4
movss xmm4, dword [edi + 0x10]
addss xmm6, xmm5
movups xmm0, xmmword [edi + 0x1d8]
subss xmm4, dword [edi + 0x5c]
movups xmmword [edi + 0x1e8], xmm0
movss xmm0, dword [edi + 0x40]
addss xmm6, xmm1
addss xmm4, xmm0
movss dword [edi + 0x20c], xmm6
movss dword [edi + 0x208], xmm4
test ah, 0x44
jp 0x10010118
mulss xmm0, dword [0x100ad090]
movss xmm3, dword [edi + 0x18]
subss xmm3, xmm0
movss xmm0, dword [esp + 0x20]
subss xmm3, dword [edi + 0x84]
ucomiss xmm2, xmm7
addss xmm3, xmm4
lahf
movss dword [edi + 0x210], xmm3
test ah, 0x44
jp 0x1001014a
mulss xmm5, dword [0x100ad090]
movss xmm2, dword [edi + 0x1c]
subss xmm2, xmm5
subss xmm2, xmm1
subss xmm2, dword [edi + 0x88]
addss xmm0, xmm7
addss xmm2, xmm6
subss xmm0, dword [esp + 0x68]
movss dword [edi + 0x214], xmm2
movss dword [edi + 0x118], xmm0
mov dword [edi + 0x120], 0
mov dword [edi + 0x11c], 0
movss xmm2, dword [edi + 0x40]
movss xmm0, dword [edi + 0x10]
movss xmm1, dword [edi + 0x44]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [edi + 0x5c]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
movss xmm0, dword [edi + 0x14]
cvtps2pd xmm0, xmm0
addsd xmm2, qword [0x100acff0]
addsd xmm1, xmm0
movss xmm0, dword [edi + 0x60]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [esp + 0x40]
cvtps2pd xmm0, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm2
movss dword [esp + 0x20], xmm0
mov eax, dword [esp + 0x20]
mov dword [edi + 0xe4], eax
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x24], xmm0
mov eax, dword [esp + 0x24]
mov dword [edi + 0xe8], eax
movss xmm0, dword [edi + 0xe4]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [esp + 0x20], xmm0
movss xmm0, dword [edi + 0xe8]
mov eax, dword [esp + 0x20]
mov dword [edi + 0x124], eax
cvtps2pd xmm0, xmm0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x20]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x24], xmm0
mov eax, dword [esp + 0x24]
mov dword [edi + 0x128], eax
mov eax, dword [edi + 0xe4]
mov dword [edi + 0xd4], eax
mov eax, dword [edi + 0xe8]
mov dword [edi + 0xd8], eax
mov eax, dword [edi + 0xe4]
mov dword [edi + 0xdc], eax
mov eax, dword [edi + 0xe8]
mov dword [edi + 0xe0], eax
mov eax, dword [edi + 0xe4]
mov dword [edi + 0xec], eax
mov eax, dword [edi + 0xe8]
mov dword [edi + 0xf0], eax
mov eax, dword [edi + 0xe4]
mov dword [edi + 0xf4], eax
mov eax, dword [edi + 0xe8]
mov dword [edi + 0xf8], eax
mov dword [edi + 0x104], ecx
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
mov dword [edi + 0x108], eax
mov dword [edi + 0xfc], ecx
mov dword [edi + 0x100], eax
mov dword [edi + 0x110], 0
mov dword [edi + 0x10c], 0
mov byte [edi + 0x114], 0
mov dword [edi + 0x12c], 0
mov ax, word [edi + 0x132]
mov word [edi + 0x130], ax
xor eax, eax
mov word [edi + 0x132], ax
mov esi, dword [esp + 0x30]
lea ecx, [edi + 0x144]
mov byte [edi + 0x138], al
movss xmm0, dword [edi + 0x68]
comiss xmm0, xmm7
seta al
cmp byte [esp + 0xe], 0
mov byte [edi + 0x139], al
mov byte [edi + 0x13a], 0
movss xmm1, dword [esi + 0x37fc]
je 0x1001034a
xorps xmm0, xmm0
movq qword [ecx + 0x12], xmm0
cvttss2si eax, xmm1
push ecx
mov word [ecx + 8], ax
call fcn.1002c270
xorps xmm0, xmm0
movq qword [edi + 0x156], xmm0
mov eax, dword [edi + 0x148]
mov dword [edi + 0x144], eax
mov dword [edi + 0x148], 0
mov dword [edi + 0x160], 0
mov dword [edi + 0x164], 0
mov eax, dword [edi + 0x16c]
test eax, eax
jns 0x100103c5
je 0x100103ab
cdq
sub eax, edx
lea edx, [edi + 0x168]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100103b6
mov ecx, 8
lea edx, [edi + 0x168]
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10018170
mov dword [edi + 0x168], 0
lea eax, [edi + 0x22c]
mov dword [edi + 0x174], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x178], 0
mov dword [edi + 0x180], 1
test eax, eax
je 0x100103ff
mov eax, dword [eax + 0x180]
jmp 0x10010404
mov eax, 1
mov dword [edi + 0x184], eax
mov eax, dword [edi + 0x228]
mov dword [edi + 0x188], eax
mov dword [edi + 0x18c], 0xbf800000
mov eax, dword [edi + 0x194]
test eax, eax
jns 0x10010458
je 0x1001043e
cdq
sub eax, edx
lea edx, [edi + 0x190]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10010449
mov ecx, 8
lea edx, [edi + 0x190]
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10018170
mov dword [edi + 0x190], 0
mov eax, dword [edi + 0x1a0]
test eax, eax
jns 0x1001049a
je 0x10010480
cdq
sub eax, edx
lea edx, [edi + 0x19c]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1001048b
mov ecx, 8
lea edx, [edi + 0x19c]
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10018170
lea eax, [edi + 0x19c]
mov dword [eax], 0
mov al, byte [edi + 0xa8]
test al, al
jle 0x100104b8
sub al, 1
mov byte [edi + 0xa8], al
mov al, byte [edi + 0xa9]
test al, al
jle 0x100104ca
dec al
mov byte [edi + 0xa9], al
cmp byte [esp + 0x18], 0
je 0x100104e1
mov ecx, edi
call fcn.10010b00
xor dl, dl
mov ecx, edi
call fcn.100141e0
test byte [esp + 0x10], 1
jne 0x1001053b
movss xmm0, dword [esp + 0x80]
lea edx, [esp + 0x50]
addss xmm0, dword [edi + 0x4c]
push ecx
push dword [esp + 0x68]
mov ecx, edi
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x8c]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x3c]
subss xmm0, dword [edi + 0x4c]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x64], xmm0
call fcn.1000e330
add esp, 8
xor eax, eax
lea edx, [esp + 0x88]
push eax
lea ecx, [esp + 0x84]
mov dword [edi + 0x218], eax
call fcn.10011270
mov ecx, dword [esi + 0x3ec0]
xor edx, edx
mov esi, dword [0x101da090]
add esp, 4
movups xmm0, xmmword [esp + 0x80]
test al, al
mov eax, dword [edi + 0x54]
setne dl
mov dword [esi + 0x3ed8], eax
mov dword [esi + 0x3edc], ecx
mov dword [esi + 0x3ee0], edx
movups xmmword [esi + 0x3ee4], xmm0
jmp 0x100105a0
mov ecx, edi
call fcn.10008ca0
mov esi, dword [0x101da090]
mov eax, dword [esp + 0x10]
and eax, 0x1000000
mov dword [esp + 0x34], eax
je 0x100105bb
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x134]
jmp 0x10010605
mov ecx, dword [edi + 0xc8]
xor edx, edx
mov eax, dword [edi + 0xd0]
push dword [eax + ecx*4 - 4]
mov ecx, str.FOCUSSCOPE
call fcn.10007350
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [esi + 0x3e50], eax
jne 0x10010605
push ecx
push str.FOCUSSCOPE
mov edx, 0xb
mov ecx, eax
call fcn.10017ec0
mov esi, dword [0x101da090]
add esp, 8
mov eax, dword [esp + 0x28]
mov dword [edi + 0x134], eax
mov eax, dword [esi + 0x3e30]
push 1
mov byte [eax + 0x90], 1
lea eax, [edi + 0x1d0]
mov esi, dword [esi + 0x3e30]
push eax
lea eax, [edi + 0x1c8]
push eax
mov ecx, dword [esi + 0x24c]
call fcn.100204f0
mov eax, dword [esi + 0x24c]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 - 0x10]
mov ecx, dword [esp + 0x30]
movaps xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [esp + 0x50]
movups xmmword [esi + 0x1f8], xmm0
mov byte [edi + 0x90], 0
inc word [edi + 0x9a]
cmp byte [esp + 0xf], 0
mov dword [ecx + 0x3f14], 0
je 0x100107e0
cmp dword [esp + 0x34], 0
je 0x10010747
mov eax, dword [esp + 0x10]
test al, 0x40
jne 0x1001070d
cmp byte [edi + 0xa8], 0
jg 0x1001070d
cmp byte [edi + 0xa9], 0
jg 0x1001070d
test eax, 0x800000
je 0x100106d5
cmp byte [ecx + 0x4024], 0
je 0x100106d5
mov eax, dword [ecx + 0x3fe4]
test eax, eax
je 0x100106d5
mov eax, dword [eax + 0x2f4]
cmp eax, dword [edi + 0x2f4]
jne 0x100106d5
mov al, 1
jmp 0x100106d7
xor al, al
cmp byte [ecx + 0x5244], 0
jne 0x1001070d
test al, al
jne 0x1001070d
movss xmm0, dword [edi + 0x1a8]
comiss xmm0, dword [edi + 0x1b0]
jae 0x10010706
movss xmm0, dword [edi + 0x1ac]
comiss xmm0, dword [edi + 0x1b4]
jb 0x1001070d
mov byte [edi + 0xb0], 1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10010747
cmp byte [eax + 0x91], 0
jne 0x10010727
cmp byte [eax + 0xb0], 0
jle 0x1001072e
mov byte [edi + 0xb0], 1
cmp byte [eax + 0x91], 0
jne 0x10010740
cmp byte [eax + 0xb1], 0
jle 0x10010747
mov byte [edi + 0xb1], 1
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 0x37b0]
jb 0x1001075a
mov byte [edi + 0xb0], 1
cmp byte [edi + 0xb0], 0
jg 0x1001077a
cmp byte [edi + 0xb1], 0
jg 0x1001077a
xor cl, cl
cmp byte [edi + 0xb2], cl
jg 0x1001077c
xor eax, eax
jmp 0x10010781
mov cl, 1
mov eax, 1
mov byte [edi + 0x95], al
mov al, byte [edi + 0xb3]
test al, al
jle 0x100107a0
sub al, 1
mov byte [edi + 0xb3], al
or dword [edi + 8], 0xc0200
xor al, al
cmp byte [edi + 0x91], al
jne 0x100107b6
cmp byte [edi + 0x8e], al
je 0x100107b6
test cl, cl
je 0x100107da
cmp byte [edi + 0xa8], 0
jg 0x100107da
cmp byte [edi + 0xa9], 0
jg 0x100107da
cmp byte [edi + 0xb1], 0
mov ecx, 1
movzx eax, al
cmovle eax, ecx
mov byte [edi + 0x93], al
xor eax, eax
cmp byte [edi + 0x93], al
pop edi
sete al
pop esi
mov esp, ebp
pop ebp
ret