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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1220
call fcn.1019e0f0
mov eax, dword [0x1020a0c0]
xor eax, esp
mov dword [esp + 0x121c], eax
mov eax, dword [0x10227c48]
push esi
push edi
mov edi, edx
mov dword [esp + 0x3c], ecx
mov esi, dword [eax + 0x10]
lea ecx, [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [esp + 0x50]
push ecx
push eax
mov ecx, esi
call edx
test al, al
je 0x100a96d9
cmp byte [esp + 0x18c], 0
jne 0x100aa9e6
mov eax, dword [0x10229e7c]
cmp dword [eax], 0
je 0x100aa9e6
test edi, edi
je 0x100aa9e6
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100aa9e6
mov eax, dword [0x10227c48]
lea ecx, [edi + 8]
mov esi, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
lea ecx, [esp + 0x50]
push ecx
push eax
mov ecx, esi
call edx
test al, al
je 0x100a9736
cmp byte [esp + 0x18c], 0
jne 0x100aa9e6
mov eax, dword [0x10229e7c]
mov ecx, dword [eax]
call fcn.100a6b30
mov ecx, edi
mov esi, eax
call fcn.100a6b30
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x100aa9e6
mov ecx, edi
call fcn.10091aa0
cmp dword [eax], 8
je 0x100aa9e6
mov ecx, edi
call fcn.10091aa0
cmp dword [eax], 9
je 0x100aa9e6
mov ecx, edi
call fcn.1007dd90
cmp dword [eax], 0
je 0x100aa9e6
mov ecx, edi
call fcn.100a91a0
cmp eax, 0xffffffff
je 0x100aa9e6
mov ecx, edi
call fcn.100a91a0
cmp eax, 1
je 0x100aa9e6
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x11d0
mov ecx, edi
mov dword [esp + 0x28], eax
mov byte [eax + 0x10499b2c], 0
call fcn.1007dd90
lea ecx, [edi + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x28]
call eax
lea eax, [eax + eax*2]
mov edx, dword [eax*4 + 0x10227c88]
cmp edx, dword [eax*4 + 0x10227c8c]
je 0x100a9820
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x1049a980], 1
mov eax, dword [edx + 0xbd4]
mov dword [ecx + 0x1049a3bc], eax
mov eax, dword [edx + 0x119c]
mov dword [ecx + 0x1049a984], eax
mov eax, dword [edx + 0xbd0]
mov dword [ecx + 0x1049a3b8], eax
jmp 0x100aa9e6
mov ecx, dword [0x102296ac]
mov eax, dword fs:[0x2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x34], eax
mov ecx, eax
mov eax, dword [0x1022a01c]
cmp eax, dword [ecx + 4]
jle 0x100a9884
push 0x1022a01c
call fcn.1019d7b4
add esp, 4
cmp dword [0x1022a01c], 0xffffffff
jne 0x100a9880
mov edx, 0xc60bf9f2
mov ecx, 0x101eeeb9
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x1022a01c
mov dword [0x10229ef4], eax
call fcn.1019d76a
add esp, 4
mov ecx, dword [esp + 0x34]
mov eax, dword [0x10229ef4]
mov dword [esp + 0x28], eax
mov eax, dword [0x10451200]
cmp eax, dword [ecx + 4]
jle 0x100a98d8
push 0x10451200
call fcn.1019d7b4
add esp, 4
cmp dword [0x10451200], 0xffffffff
jne 0x100a98d8
mov edx, 0xc60bf9f2
mov ecx, 0x101eeeb9
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x10451200
mov dword [0x1045120c], eax
call fcn.1019d76a
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [edi + 8]
movss xmm0, dword [edi + eax]
mov eax, dword [0x1045120c]
subss xmm0, dword [edi + eax + 4]
mov eax, dword [0x10227c3c]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x101ff0d4]
cvttss2si eax, xmm0
dec eax
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ecx + 0x28]
lea ecx, [edi + 8]
mov dword [esp + 0x18], eax
call edx
imul eax, eax, 0x11d0
push 0x11d0
add eax, 0x104997e8
push eax
lea eax, [esp + 0x58]
push eax
call fcn.1019ead0
add esp, 0xc
cmp byte [esp + 0x394], 0
jne 0x100a9a63
mov ecx, dword [0x10229e80]
call fcn.1007dd90
mov eax, dword [eax]
mov dword [esp + 0x44], eax
test eax, eax
je 0x100a9a63
mov ecx, edi
call fcn.1007e170
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0xc24]
mulss xmm0, dword [esp + 0xc20]
addss xmm0, dword [eax + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fld qword [0x101ff298]
call fcn.101c4560
movss xmm0, dword [0x101ff484]
fstp dword [esp + 0x28]
movss xmm1, dword [esp + 0x28]
comiss xmm1, dword [0x101ff40c]
jbe 0x100a99b7
subss xmm1, xmm0
movss xmm2, dword [0x101ff5b0]
comiss xmm2, xmm1
jbe 0x100a99c8
addss xmm1, xmm0
cmp byte [esp + 0xc28], 0
mov eax, dword [esp + 0x44]
movss dword [eax + 0x78], xmm1
je 0x100a9a63
mov eax, dword [esp + 0xc24]
neg eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101ff384]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fld qword [0x101ff298]
call fcn.101c4560
movss xmm0, dword [0x101ff484]
fstp dword [esp + 0x28]
movss xmm1, dword [esp + 0x28]
comiss xmm1, dword [0x101ff40c]
movss dword [esp + 0x38], xmm1
jbe 0x100a9a3a
subss xmm1, xmm0
movss dword [esp + 0x38], xmm1
movss xmm2, dword [0x101ff5b0]
comiss xmm2, xmm1
jbe 0x100a9a51
addss xmm1, xmm0
movss dword [esp + 0x38], xmm1
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [esp + 0x38]
movss dword [eax + 8], xmm0
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x34]
mov eax, dword [0x10451164]
cmp eax, dword [ecx + 4]
jle 0x100a9ac1
push 0x10451164
call fcn.1019d7b4
add esp, 4
cmp dword [0x10451164], 0xffffffff
jne 0x100a9abd
mov edx, 0xc60bf9f2
mov ecx, 0x101eef55
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x10451164
mov dword [0x104511b4], eax
call fcn.1019d76a
add esp, 4
mov ecx, dword [esp + 0x34]
mov eax, dword [0x1022a00c]
cmp eax, dword [ecx + 4]
jle 0x100a9b0c
push 0x1022a00c
call fcn.1019d7b4
add esp, 4
cmp dword [0x1022a00c], 0xffffffff
jne 0x100a9b0c
mov edx, 0xc60bf9f2
mov ecx, 0x101eef55
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x1022a00c
mov dword [0x10229f60], eax
call fcn.1019d76a
add esp, 4
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x28], eax
movss xmm1, dword [ecx + 0x80]
comiss xmm1, dword [0x101ff02c]
jb 0x100a9b60
movss xmm0, dword [0x101ff110]
comiss xmm0, xmm1
jb 0x100a9b60
ucomiss xmm1, xmm1
lahf
test ah, 0x44
jnp 0x100a9b60
movzx eax, byte [0x10229e8c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ecx + 0x80], xmm0
mov ecx, edi
call fcn.100a6a50
mov ecx, edi
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x40], 0
call fcn.1007dd90
mov ecx, edi
mov eax, dword [eax]
movss xmm0, dword [eax + 0x78]
movss dword [esp + 0x44], xmm0
call fcn.1007e090
test byte [eax], 1
je 0x100a9b9c
mov ecx, edi
call fcn.1007dd90
mov ecx, edi
call fcn.1007dd90
mov eax, dword [eax]
movss xmm0, dword [eax + 0xa4]
ucomiss xmm0, dword [0x101fefe0]
lahf
test ah, 0x44
jnp 0x100a9bcd
mov ecx, edi
call fcn.1007e090
test byte [eax], 1
je 0x100a9bcd
mov ecx, edi
call fcn.1007dd90
mov ecx, dword [esp + 0x34]
mov eax, dword [0x1022a00c]
cmp eax, dword [ecx + 4]
jle 0x100a9c20
push 0x1022a00c
call fcn.1019d7b4
add esp, 4
cmp dword [0x1022a00c], 0xffffffff
jne 0x100a9c1c
mov edx, 0xc60bf9f2
mov ecx, 0x101eef55
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x1022a00c
mov dword [0x10229f60], eax
call fcn.1019d76a
add esp, 4
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x18], 0
je 0x100aa9e6
mov eax, dword [0x104e1db8]
cmp eax, dword [ecx + 4]
jle 0x100a9c76
push 0x104e1db8
call fcn.1019d7b4
add esp, 4
cmp dword [0x104e1db8], 0xffffffff
jne 0x100a9c76
mov edx, 0xc60bf9f2
mov ecx, 0x101f0b0d
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x104e1db8
mov dword [0x104e1dc4], eax
call fcn.1019d76a
add esp, 4
mov eax, dword [0x104e1dc4]
mov ecx, edi
movss xmm0, dword [eax + edi]
movss dword [esp + 0x14], xmm0
call fcn.1007e090
test byte [eax], 1
je 0x100a9d86
mov ecx, edi
call fcn.1007dd90
mov eax, dword [eax]
cmp byte [eax + 0x120], 0
jne 0x100a9d86
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [esp + 0x14]
push ecx
addss xmm0, dword [eax + 4]
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fstp dword [esp]
movss dword [esp + 0x18], xmm0
call fcn.101a98e0
add esp, 4
test ax, ax
jle 0x100a9ced
xorps xmm0, xmm0
movss dword [esp + 0x14], xmm0
jmp 0x100a9d6f
movss xmm0, dword [esp + 0x14]
comiss xmm0, dword [0x101ff5b0]
jb 0x100a9d09
movss xmm1, dword [0x101ff40c]
comiss xmm1, xmm0
jae 0x100a9d6f
divss xmm0, dword [0x101ff484]
push ecx
andps xmm0, xmmword [0x101ffbc0]
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.101adcf6
movss xmm1, dword [esp + 0x18]
xorps xmm0, xmm0
add esp, 4
comiss xmm0, xmm1
fstp dword [esp + 0x10]
jbe 0x100a9d54
movss xmm2, dword [esp + 0x10]
mulss xmm2, dword [0x101ff484]
addss xmm2, xmm1
jmp 0x100a9d69
movss xmm0, dword [esp + 0x10]
movaps xmm2, xmm1
mulss xmm0, dword [0x101ff484]
subss xmm2, xmm0
movss dword [esp + 0x14], xmm2
mov ecx, edi
call fcn.1007dd90
movss xmm0, dword [esp + 0x14]
mov eax, dword [eax]
movss dword [eax + 0x80], xmm0
mov ecx, dword [0x10229e80]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul ecx, eax, 0x11d0
mov eax, dword [edi]
mov eax, dword [eax + 0x270]
mov dword [esp + 0x10], ecx
mov ecx, edi
call eax
test al, al
je 0x100a9e2f
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x104523e0], 0
je 0x100a9e2f
cmp dword [eax + 0x10451538], 2
je 0x100a9e2f
mov ecx, dword [0x10229e80]
call fcn.1007dd90
mov eax, dword [eax]
mov dword [esp + 0x14], eax
test eax, eax
je 0x100a9e2f
cmp dword [esp + 0x18], 3
jle 0x100a9dec
movss xmm0, dword [0x101ff3dc]
jmp 0x100a9df3
mov ecx, edi
call fcn.100a6a50
mov ecx, dword [0x10229e80]
movss dword [esp + 0x18], xmm0
call fcn.1007e170
mov ecx, dword [esp + 0x10]
movd xmm0, dword [ecx + 0x10451538]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
addss xmm0, dword [eax + 4]
call fcn.100bd700
mov eax, dword [esp + 0x14]
movss dword [eax + 0x80], xmm0
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov esi, dword [esp + 0x3c]
mov ecx, edi
lea edx, [esi + 0x3ecc]
call fcn.100a8410
mov edx, edi
mov ecx, esi
call fcn.100ab210
mov ecx, edi
call fcn.1007e170
mov eax, dword [0x10229e7c]
mov ecx, dword [eax]
test ecx, ecx
je 0x100a9ea2
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
jne 0x100a9ea2
mov ecx, 0x1023726c
call fcn.100acaf0
mov ecx, 0x10342cac
call fcn.100acaf0
mov esi, 0x10342770
nop dword [eax]
mov ecx, esi
call fcn.100aca50
add esi, 0x14
cmp esi, 0x10342c84
jne 0x100a9e90
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [eax + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fld qword [0x101ff298]
call fcn.101c4560
movss xmm1, dword [0x101ff484]
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
comiss xmm0, dword [0x101ff40c]
movss dword [esp + 0x14], xmm0
jbe 0x100a9ef1
subss xmm0, xmm1
movss dword [esp + 0x14], xmm0
movss xmm2, dword [0x101ff5b0]
comiss xmm2, xmm0
jbe 0x100a9f08
addss xmm0, xmm1
movss dword [esp + 0x14], xmm0
mov ecx, edi
call fcn.100a8940
test al, al
je 0x100aa06b
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [0x101ff374]
comiss xmm0, dword [eax]
jbe 0x100aa06b
mov eax, dword [esp + 0x28]
mov eax, dword [eax*4 + 0x10233ba0]
and eax, 0x80000001
jns 0x100a9f46
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x100a9fc3
sub eax, 1
jne 0x100aa06b
movss xmm0, dword [esp + 0x14]
subss xmm0, dword [0x101fefe0]
push ecx
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.101a98e0
add esp, 4
test ax, ax
jle 0x100a9f85
xorps xmm1, xmm1
jmp 0x100aa05f
movss xmm1, dword [esp + 0x10]
comiss xmm1, dword [0x101ff5b0]
jb 0x100a9fa5
movss xmm0, dword [0x101ff40c]
comiss xmm0, xmm1
jae 0x100aa05f
movaps xmm0, xmm1
divss xmm0, dword [0x101ff484]
andps xmm0, xmmword [0x101ffbc0]
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
jmp 0x100aa029
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x101fefe0]
push ecx
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.101a98e0
add esp, 4
test ax, ax
jle 0x100a9ff1
xorps xmm1, xmm1
jmp 0x100aa05f
movss xmm1, dword [esp + 0x10]
comiss xmm1, dword [0x101ff5b0]
jb 0x100aa00d
movss xmm0, dword [0x101ff40c]
comiss xmm0, xmm1
jae 0x100aa05f
movaps xmm0, xmm1
divss xmm0, dword [0x101ff484]
andps xmm0, xmmword [0x101ffbc0]
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
push ecx
fstp dword [esp]
call fcn.101adcf6
movss xmm1, dword [esp + 0x14]
xorps xmm0, xmm0
add esp, 4
comiss xmm0, xmm1
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x101ff484]
jbe 0x100aa05b
addss xmm1, xmm0
jmp 0x100aa05f
subss xmm1, xmm0
mov eax, dword [esp + 0x48]
movss dword [eax + 0x80], xmm1
mov ecx, edi
call fcn.1007dd90
mov ecx, edi
mov esi, dword [eax]
call fcn.1007e170
movss xmm0, dword [esi + 0x80]
sub esp, 8
movss xmm1, dword [eax + 4]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.101aab38
movss xmm0, dword [0x101ff598]
lea eax, [esp + 0x20]
fstp dword [esp + 0x20]
movss xmm1, dword [esp + 0x20]
lea ecx, [esp + 0x54]
add esp, 8
mov dword [esp + 0x10], 0x42700000
comiss xmm0, xmm1
mov dword [esp + 0x4c], 0xc2700000
movss xmm0, dword [0x101ff340]
cmovbe ecx, eax
lea eax, [esp + 0x10]
comiss xmm1, dword [0x101ff398]
cmovbe eax, ecx
mov ecx, edi
movss xmm1, dword [eax]
andps xmm1, xmmword [0x101ffbc0]
comiss xmm0, xmm1
seta byte [esp + 0x33]
call fcn.1007df40
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
mov eax, dword [0x10229e7c]
movq qword [esp + 0x18], xmm0
mov ecx, dword [eax]
call fcn.1007df40
movss xmm3, dword [esp + 0x18]
movss xmm4, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x20]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
call fcn.100a78b0
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm1
subss xmm0, dword [0x101ff3bc]
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x1c], xmm1
call fcn.100bd700
movss xmm1, dword [esp + 0x14]
subss xmm1, xmm0
push ecx
movss dword [esp + 0x14], xmm1
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.101a98e0
add esp, 4
test ax, ax
jg 0x100aa329
movss xmm1, dword [esp + 0x10]
comiss xmm1, dword [0x101ff5b0]
jb 0x100aa1a7
movss xmm0, dword [0x101ff40c]
comiss xmm0, xmm1
jae 0x100aa1f9
movaps xmm0, xmm1
divss xmm0, dword [0x101ff484]
push ecx
andps xmm0, xmmword [0x101ffbc0]
movss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.101adcf6
movss xmm1, dword [esp + 0x14]
xorps xmm0, xmm0
add esp, 4
comiss xmm0, xmm1
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x101ff484]
jbe 0x100aa1f5
addss xmm1, xmm0
jmp 0x100aa1f9
subss xmm1, xmm0
movss xmm0, dword [0x101ff374]
comiss xmm0, xmm1
ja 0x100aa329
mov ecx, edi
call fcn.1007df40
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
mov eax, dword [0x10229e7c]
movq qword [esp + 0x18], xmm0
mov ecx, dword [eax]
call fcn.1007df40
movss xmm3, dword [esp + 0x18]
movss xmm4, dword [esp + 0x1c]
movss xmm5, dword [esp + 0x20]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
call fcn.100a78b0
movss dword [esp + 0x18], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x101ff3bc]
movss dword [esp + 0x1c], xmm1
call fcn.100bd700
movss xmm1, dword [esp + 0x14]
subss xmm1, xmm0
push ecx
movss dword [esp + 0x1c], xmm1
fld dword [esp + 0x1c]
fstp dword [esp]
movss dword [esp + 0x18], xmm1
call fcn.101a98e0
add esp, 4
test ax, ax
jle 0x100aa29f
xorps xmm1, xmm1
jmp 0x100aa30d
movss xmm1, dword [esp + 0x14]
comiss xmm1, dword [0x101ff5b0]
jb 0x100aa2bb
movss xmm0, dword [0x101ff40c]
comiss xmm0, xmm1
jae 0x100aa30d
movaps xmm0, xmm1
divss xmm0, dword [0x101ff484]
push ecx
andps xmm0, xmmword [0x101ffbc0]
movss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.101adcf6
movss xmm1, dword [esp + 0x18]
xorps xmm0, xmm0
add esp, 4
comiss xmm0, xmm1
fstp dword [esp + 0x18]
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x101ff484]
jbe 0x100aa309
addss xmm1, xmm0
jmp 0x100aa30d
subss xmm1, xmm0
movss xmm2, dword [0x101ffbc0]
movss xmm0, dword [0x101ff374]
andps xmm1, xmm2
comiss xmm0, xmm1
ja 0x100aa331
xor eax, eax
jmp 0x100aa336
movss xmm2, dword [0x101ffbc0]
mov eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov byte [esp + 0xf], 1
andps xmm0, xmm2
ucomiss xmm0, dword [0x101fefe0]
lahf
test ah, 0x44
jp 0x100aa357
mov byte [esp + 0xf], 0
mov eax, dword [esp + 0x28]
mov esi, dword [eax*4 + 0x10233ba0]
cmp esi, 8
je 0x100aa9e6
cmp esi, 7
jg 0x100aa9e6
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [eax]
comiss xmm0, dword [0x101fefe0]
jbe 0x100aa3a0
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [0x101ff3b4]
comiss xmm0, dword [eax]
ja 0x100aa473
mov ecx, edi
call fcn.1007e170
xorps xmm0, xmm0
comiss xmm0, dword [eax]
jbe 0x100aa3c7
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [eax]
comiss xmm0, dword [0x101ff59c]
ja 0x100aa473
cmp byte [esp + 0x33], 0
je 0x100aa473
cmp esi, 2
jg 0x100aa3ff
je 0x100aa3ff
cmp byte [esp + 0xf], 0
jne 0x100aa4db
cmp byte [esp + 0x33], 0
mov eax, 0x1d
mov ecx, 0x3a
cmove eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
jmp 0x100aa46b
mov ecx, dword [0x10229e80]
call fcn.1007dd90
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [eax*4 + 0x10233ba0]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
add eax, eax
sub ecx, eax
add ecx, 0xfffffffd
cmp ecx, 4
ja case.0x100aa439.3
jmp dword [ecx*4 + 0x100aaa30]
movss xmm0, dword [0x101ff394]
jmp 0x100aa46b
movss xmm0, dword [0x101ff594]
jmp 0x100aa46b
movss xmm0, dword [0x101ff33c]
jmp 0x100aa46b
movss xmm0, dword [0x101ff588]
jmp 0x100aa46b
xorps xmm0, xmm0
movss dword [0x10229e84], xmm0
mov ecx, edi
call fcn.1007e170
movss xmm0, dword [eax + 4]
addss xmm0, dword [0x10229e84]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fld qword [0x101ff298]
call fcn.101c4560
movss xmm0, dword [0x101ff484]
fstp dword [esp + 0x28]
movss xmm1, dword [esp + 0x28]
comiss xmm1, dword [0x101ff40c]
jbe 0x100aa4be
subss xmm1, xmm0
movss xmm2, dword [0x101ff5b0]
comiss xmm2, xmm1
jbe 0x100aa4cf
addss xmm1, xmm0
mov eax, dword [esp + 0x48]
movss dword [eax + 0x80], xmm1
movss xmm0, dword [0x10229e88]
mov ecx, edi
movss dword [esp + 0x28], xmm0
call fcn.1007e170
movss xmm0, dword [esp + 0x28]
mov ecx, edi
movss dword [eax], xmm0
mov eax, dword [edi]
mov eax, dword [eax + 0x380]
call eax
mov ecx, edi
call fcn.1007e170
mov esi, dword [esp + 0x3c]
cmp byte [esi + 0x3ec6], 0
jne 0x100aa541
movss xmm1, dword [esp + 0x38]
movaps xmm0, xmm1
andps xmm0, xmmword [0x101ffbc0]
comiss xmm0, dword [0x101ff394]
jbe 0x100aa541
divss xmm1, dword [0x101ff1e0]
movss dword [esp + 0x38], xmm1
cmp byte [esi + 0x3ec5], 0
je 0x100aa57b
mov edx, edi
mov ecx, esi
call fcn.100aaa50
addss xmm0, dword [esp + 0x44]
mov ecx, edi
movss dword [esp + 0x28], xmm0
call fcn.1007dd90
movss xmm0, dword [esp + 0x28]
mov eax, dword [eax]
movss dword [eax + 0x80], xmm0
jmp 0x100aa9e6
mov ecx, dword [esp + 0x34]
mov eax, dword [0x1022a00c]
cmp eax, dword [ecx + 4]
jle 0x100aa5ca
push 0x1022a00c
call fcn.1019d7b4
add esp, 4
cmp dword [0x1022a00c], 0xffffffff
jne 0x100aa5ca
mov edx, 0xc60bf9f2
mov ecx, 0x101eef55
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x1022a00c
mov dword [0x10229f60], eax
call fcn.1019d76a
add esp, 4
mov eax, dword [0x10229f60]
movss xmm1, dword [edi + eax + 4]
movss xmm0, dword [edi + eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x100aa5f8
sqrtsd xmm0, xmm0
jmp 0x100aa5fd
call fcn.101c6320
movss xmm1, dword [0x101ff05c]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jb 0x100aa6a5
mov ecx, edi
call fcn.1007dd90
movss xmm0, dword [esp + 0x44]
mov esi, dword [eax]
subss xmm0, dword [esi + 0x80]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fld qword [0x101ff298]
call fcn.101c4560
movss xmm0, dword [esp + 0x44]
comiss xmm0, dword [esi + 0x80]
fstp dword [esp + 0x28]
movss xmm1, dword [esp + 0x28]
jbe 0x100aa66d
comiss xmm1, dword [0x101ff40c]
jb 0x100aa682
subss xmm1, dword [0x101ff484]
jmp 0x100aa682
movss xmm0, dword [0x101ff5b0]
comiss xmm0, xmm1
jb 0x100aa682
addss xmm1, dword [0x101ff484]
mov esi, dword [esp + 0x3c]
addss xmm1, xmm1
xor eax, eax
xorps xmm0, xmm0
comiss xmm0, xmm1
setae al
lea eax, [eax*2 - 1]
mov dword [esp + 0x40], eax
jmp 0x100aa7c8
cvttss2si eax, dword [esi + 0x3b5c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101ff4c4]
ucomiss xmm0, dword [0x101fefe0]
lahf
test ah, 0x44
jp 0x100aa7c8
mov ecx, dword [esp + 0x34]
mov eax, dword [0x1022a00c]
cmp eax, dword [ecx + 4]
jle 0x100aa71c
push 0x1022a00c
call fcn.1019d7b4
add esp, 4
cmp dword [0x1022a00c], 0xffffffff
jne 0x100aa71c
mov edx, 0xc60bf9f2
mov ecx, 0x101eef55
call fcn.1007dc50
mov ecx, eax
call fcn.100d0970
push 0x1022a00c
mov dword [0x10229f60], eax
call fcn.1019d76a
add esp, 4
mov eax, dword [0x10229f60]
movss xmm1, dword [edi + eax + 4]
movss xmm0, dword [edi + eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x100aa74a
sqrtsd xmm0, xmm0
jmp 0x100aa74f
call fcn.101c6320
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x101ff188]
jbe 0x100aa7c8
movss xmm1, dword [esi + 0x3a14]
subss xmm1, dword [esi + 0x3cec]
movsd xmm2, qword [0x101ff2a8]
andps xmm1, xmmword [0x101ffbc0]
comiss xmm1, xmm1
jae 0x100aa7a7
cvtps2pd xmm0, xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
test eax, eax
jne 0x100aa7a2
mov dword [esp + 0x40], 0xffffffff
jmp 0x100aa7c8
comiss xmm1, xmm1
jb 0x100aa7c8
jbe 0x100aa7c8
cvtps2pd xmm0, xmm1
xor ecx, ecx
mov edx, 1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvttss2si eax, xmm0
test eax, eax
cmove ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, edi
call fcn.1007dd90
mov eax, dword [eax]
movss xmm0, dword [eax + 0xec]
comiss xmm0, dword [0x101ff05c]
jbe 0x100aa9df
mov ecx, edi
call fcn.1007dd90
mov eax, dword [eax]
movss xmm0, dword [eax + 0xf0]
andps xmm0, xmmword [0x101ffbc0]
comiss xmm0, dword [0x101ff3c8]
jbe 0x100aa9df
movss xmm3, dword [0x101ff4c4]
xorps xmm1, xmm1
mov byte [esi + 0x3ee0], 0
mov edx, 3
movss xmm4, dword [esi + 0x3a0c]
movaps xmm2, xmm4
mov dword [esp + 0x3c], 0
mulss xmm2, xmm3
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100aa8c9
movss xmm0, dword [ebp + 0x3a14]
mulss xmm0, xmm3
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100aa8c2
movss xmm0, dword [esi + 0x3a14]
movaps xmm2, xmm0
mulss xmm2, xmm3
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100aa87e
comiss xmm0, xmm0
ja 0x100aa87e
mov dword [esi + 0x3edc], edx
ucomiss xmm4, xmm1
lahf
test ah, 0x44
jp 0x100aa88d
mov dword [esi + 0x3edc], edx
ucomiss xmm2, xmm1
mov ecx, 2
mov dword [esp + 0x3c], ecx
lahf
test ah, 0x44
jp 0x100aa8a9
comiss xmm0, xmm0
cmovae ecx, edx
mov dword [esp + 0x3c], ecx
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100aa8bb
comiss xmm0, xmm0
jae 0x100aa9e6
mov byte [esp + 0xf], 1
jmp 0x100aa8d1
mov byte [esp + 0xf], 0
jmp 0x100aa8d1
mov al, byte [esp + 0x33]
mov byte [esp + 0xf], al
mov ecx, edi
call fcn.1007dd90
mov ecx, dword [eax]
call fcn.1018c150
mov edx, edi
mov ecx, esi
call fcn.100aaa50
mov eax, 0x3ef0
call fcn.1019e0f0
mov ecx, esp
push esi
call fcn.10090e10
mov ecx, edi
call fcn.100a8c90
mov ecx, edi
call fcn.100a8ef0
mov al, byte [esp + 0xf]
mov ecx, 3
mov byte [esi + 0x3ee0], al
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x3ed4], eax
mov eax, dword [esi + 0x3ec0]
cdq
idiv ecx
sub edx, 0
je 0x100aa9a0
sub edx, 1
je 0x100aa965
sub edx, 1
jne 0x100aa9df
mov ecx, edi
call fcn.1007e170
mov ecx, edi
movss xmm0, dword [eax + 4]
call fcn.100a7a80
mov ecx, edi
movss dword [esp + 0x28], xmm0
call fcn.1007dd90
movss xmm0, dword [esp + 0x28]
jmp 0x100aa9d5
mov ecx, edi
call fcn.1007e170
movd xmm1, dword [esp + 0x40]
mov ecx, edi
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax + 4]
mulss xmm1, dword [esp + 0x38]
subss xmm0, xmm1
call fcn.100a7a80
mov ecx, edi
movss dword [esp + 0x28], xmm0
call fcn.1007dd90
movss xmm0, dword [esp + 0x28]
jmp 0x100aa9d5
mov ecx, edi
call fcn.1007e170
movd xmm0, dword [esp + 0x40]
mov ecx, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x38]
addss xmm0, dword [eax + 4]
call fcn.100a7a80
mov ecx, edi
movss dword [esp + 0x28], xmm0
call fcn.1007dd90
movss xmm0, dword [esp + 0x28]
mov eax, dword [eax]
movss dword [eax + 0x80], xmm0
mov ecx, edi
call fcn.1007e170
lea ecx, [ebp + 0x3e54]
call fcn.1002bef0
lea ecx, [ebp + 0x890]
call fcn.10091190
mov eax, dword [ebp + 0x890]
push 8
push eax
mov dword [ebp + 0x890], 0
call fcn.1019d45c
mov ecx, dword [esp + 0x122c]
add esp, 8
pop edi
pop esi
xor ecx, esp
call fcn.1019d163
mov esp, ebp
pop ebp
ret 0x3ef0