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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0xf0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x180042010]
xor rax, rsp
mov qword [rbp - 0x69], rax
cmp byte [rcx + 0x81], 0
mov r13d, r9d
mov rbx, qword [0x180042ad0]
mov r15, rdx
mov r14d, dword [rcx + 0xc]
mov rdi, rcx
movss xmm12, dword [rcx + 0x40]
movss xmm6, dword [rcx + 0x44]
movzx r12d, r8b
mov byte [rcx + 0x83], 0
je 0x180009a07
movss xmm7, dword [rbx + 0x159c]
movss dword [rbx + 0x159c], xmm6
test r8b, r8b
je 0x1800099cd
cmp byte [rbx + 0x1bf6], 0
mov eax, 0xb
je 0x1800099d2
mov eax, 0xc
movss xmm1, dword [0x18003b098]
mov ecx, eax
call fcn.180002d50
mov rdx, qword [r15 + 8]
mov r8d, eax
mov rcx, qword [r15]
mov r9b, 1
movss dword [rsp + 0x20], xmm12
call fcn.1800035d0
movss dword [rbx + 0x159c], xmm7
jmp 0x180009f89
mov qword [rsp + 0x148], rsi
xorps xmm7, xmm7
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x18003b098]
test r14b, r14b
js 0x180009b5f
mov ecx, r14d
mov eax, 4
and ecx, 0x1000000
movaps xmm1, xmm8
bts ecx, 0x19
shr ecx, 0x18
test r14d, 0x6000000
cmovne ecx, eax
call fcn.180002d50
test byte [rbx + 0x1ab8], 0x40
mov r9d, eax
movaps xmm1, xmm8
je 0x180009a6d
movss xmm1, dword [rbx + 0x1b10]
ucomiss xmm1, xmm8
mov eax, r14d
jp 0x180009a78
je 0x180009ab2
comiss xmm7, xmm1
jbe 0x180009a82
xorps xmm0, xmm0
jmp 0x180009a8a
movaps xmm0, xmm8
minss xmm0, xmm1
mulss xmm0, dword [0x18003b0f8]
mov eax, r9d
and eax, 0xffffff
addss xmm0, dword [0x18003b06c]
cvttss2si ecx, xmm0
shl ecx, 0x18
mov r9d, ecx
or r9d, eax
mov eax, r14d
movss xmm2, dword [rdi + 0x10]
movss xmm3, dword [rdi + 0x14]
movaps xmm0, xmm2
movaps xmm1, xmm3
addss xmm0, dword [rdi + 0x18]
addss xmm1, dword [rdi + 0x1c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm1
test al, 1
je 0x180009ae1
xorps xmm0, xmm0
jmp 0x180009b15
mov rax, qword [rdi + 0x358]
movss xmm1, dword [rdi + 0x2a0]
mulss xmm1, dword [rbx + 0x1914]
test rax, rax
je 0x180009b05
mulss xmm1, dword [rax + 0x2a0]
movss xmm0, dword [rbx + 0x1594]
addss xmm0, xmm0
addss xmm0, xmm1
addss xmm2, xmm7
mov eax, 0xc
addss xmm0, xmm3
mov ecx, 0xf
mov esi, r14d
lea r8, [rsp + 0x38]
and esi, 1
lea rdx, [rsp + 0x30]
cmovne eax, ecx
movss dword [rsp + 0x30], xmm2
mov rcx, qword [rdi + 0x2a8]
mov dword [rsp + 0x28], eax
movss dword [rsp + 0x20], xmm12
movss dword [rsp + 0x34], xmm0
call fcn.18001df00
jmp 0x180009b65
mov esi, r14d
and esi, 1
test esi, esi
jne 0x180009b9c
lea ecx, [r12 + 0xa]
movaps xmm1, xmm8
call fcn.180002d50
mov rcx, qword [rdi + 0x2a8]
lea r8, [r15 + 8]
mov r9d, eax
mov dword [rsp + 0x28], 3
mov rdx, r15
movss dword [rsp + 0x20], xmm12
call fcn.18001df00
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm10
bt r14d, 0xa
jae 0x180009cf6
lea rdx, [rbp - 0x79]
movaps xmmword [rsp + 0x90], xmm11
mov rcx, rdi
call fcn.180001df0
movss xmm5, dword [rdi + 0x10]
movss xmm4, dword [rdi + 0x14]
movss xmm9, dword [rbp - 0x6d]
movss xmm0, dword [rbp - 0x71]
movss xmm1, dword [rbp - 0x75]
movss xmm10, dword [rbp - 0x79]
maxss xmm1, xmm4
maxss xmm10, xmm5
addss xmm4, dword [rdi + 0x1c]
addss xmm5, dword [rdi + 0x18]
minss xmm9, xmm4
minss xmm0, xmm5
movss dword [rbp - 0x6d], xmm9
movss dword [rbp - 0x71], xmm0
test esi, esi
je 0x180009c1f
movaps xmm11, xmm12
jmp 0x180009c23
xorps xmm11, xmm11
subss xmm0, xmm6
mov ecx, 0xd
addss xmm1, xmm7
movss dword [rsp + 0x30], xmm0
movaps xmm0, xmm9
subss xmm0, xmm7
movss dword [rsp + 0x3c], xmm1
movaps xmm1, xmm8
movss dword [rsp + 0x34], xmm0
movaps xmm0, xmm10
addss xmm0, xmm6
movss dword [rsp + 0x38], xmm0
call fcn.180002d50
mov rcx, qword [rdi + 0x2a8]
lea rdx, [rsp + 0x38]
mov r9d, eax
mov dword [rsp + 0x28], 3
lea r8, [rsp + 0x30]
movss dword [rsp + 0x20], xmm11
call fcn.18001df00
movss xmm11, dword [rbx + 0x159c]
comiss xmm11, xmm7
jbe 0x180009ced
movss xmm0, dword [rdi + 0x1c]
addss xmm0, dword [rdi + 0x14]
comiss xmm0, xmm9
jbe 0x180009ced
movsd xmm0, qword [rbp - 0x71]
movaps xmm1, xmm8
mov ecx, 5
movsd qword [rbp - 0x79], xmm0
movss dword [rsp + 0x30], xmm10
movss dword [rsp + 0x34], xmm9
call fcn.180002d50
mov rcx, qword [rdi + 0x2a8]
lea rdx, [rsp + 0x30]
mov r9d, eax
movss dword [rsp + 0x20], xmm11
lea r8, [rbp - 0x79]
call fcn.18001dca0
movaps xmm11, xmmword [rsp + 0x90]
cmp byte [rdi + 0x7c], 0
je 0x180009d03
xor ecx, ecx
call fcn.180027280
cmp byte [rdi + 0x7d], 0
je 0x180009d13
mov ecx, 1
call fcn.180027280
test r14b, 2
jne 0x180009f5e
xor r15d, r15d
test r13d, r13d
jle 0x180009f5e
mov r12, qword [rbp + 0x77]
lea rsi, [0x18004226c]
movss xmm7, dword [rbp + 0x7f]
movaps xmm10, xmm6
addss xmm10, xmm12
movss xmm0, dword [rdi + 0x10]
mov r14d, r15d
movss xmm1, dword [rdi + 0x14]
movaps xmm8, xmm0
mov rbx, qword [rdi + 0x2a8]
movaps xmm9, xmm1
addss xmm8, dword [rdi + 0x18]
addss xmm9, dword [rdi + 0x1c]
subss xmm8, xmm0
subss xmm9, xmm1
mulss xmm8, dword [rsi - 0xc]
mulss xmm9, dword [rsi - 8]
addss xmm8, xmm0
addss xmm9, xmm1
and r14d, 1
je 0x180009da1
movss dword [rsp + 0x38], xmm6
movaps xmm0, xmm6
movss dword [rsp + 0x3c], xmm7
jmp 0x180009db0
movss dword [rsp + 0x30], xmm7
movaps xmm0, xmm7
movss dword [rsp + 0x34], xmm6
mulss xmm0, dword [rsi - 4]
lea rax, [rsp + 0x34]
test r14d, r14d
lea rcx, [rsp + 0x3c]
cmovne rax, rcx
sub rbx, 0xffffffffffffff80
addss xmm0, xmm8
mov r8d, dword [rbx + 4]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [rax]
mulss xmm0, dword [rsi]
mov eax, dword [rbx]
addss xmm0, xmm9
movss dword [rsp + 0x44], xmm0
cmp eax, r8d
jne 0x180009e1e
lea ecx, [rax + 1]
test r8d, r8d
je 0x180009e08
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180009e0d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1800138a0
mov eax, dword [rbx]
mov rcx, qword [rbx + 8]
movsxd rdx, eax
mov rax, qword [rsp + 0x40]
mov qword [rcx + rdx*8], rax
inc dword [rbx]
mov rbx, qword [rdi + 0x2a8]
test r14d, r14d
je 0x180009e4d
movss dword [rsp + 0x50], xmm7
movaps xmm0, xmm7
movss dword [rsp + 0x54], xmm6
jmp 0x180009e5c
movss dword [rsp + 0x48], xmm6
movaps xmm0, xmm6
movss dword [rsp + 0x4c], xmm7
mulss xmm0, dword [rsi - 4]
lea rax, [rsp + 0x4c]
test r14d, r14d
lea rcx, [rsp + 0x54]
cmovne rax, rcx
sub rbx, 0xffffffffffffff80
addss xmm0, xmm8
mov r8d, dword [rbx + 4]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [rax]
mulss xmm0, dword [rsi]
mov eax, dword [rbx]
addss xmm0, xmm9
movss dword [rbp - 0x7d], xmm0
cmp eax, r8d
jne 0x180009ec9
lea ecx, [rax + 1]
test r8d, r8d
je 0x180009eb3
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x180009eb8
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1800138a0
mov eax, dword [rbx]
mov rcx, qword [rbx + 8]
movaps xmm0, xmm10
movsxd rdx, eax
movaps xmm1, xmm10
mov rax, qword [rsp + 0x58]
movaps xmm2, xmm12
mov qword [rcx + rdx*8], rax
lea rdx, [rbp - 0x79]
inc dword [rbx]
mulss xmm0, dword [rsi - 4]
mov eax, dword [rsi + 8]
mulss xmm1, dword [rsi]
mov r9d, dword [rsi + 4]
mov rcx, qword [rdi + 0x2a8]
addss xmm0, xmm8
mov dword [rsp + 0x20], eax
addss xmm1, xmm9
movss dword [rbp - 0x79], xmm0
movss dword [rbp - 0x75], xmm1
call fcn.18001d5f0
mov rbx, qword [rdi + 0x2a8]
mov r9d, dword [r12]
mov rcx, rbx
mov r8d, dword [rbx + 0x80]
mov rdx, qword [rbx + 0x88]
call fcn.18001cf80
inc r15d
mov dword [rbx + 0x80], 0
add rsi, 0x18
add r12, 4
cmp r15d, r13d
jl 0x180009d42
mov rcx, rdi
call fcn.1800094c0
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
mov rsi, qword [rsp + 0x148]
mov rcx, qword [rbp - 0x69]
xor rcx, rsp
call fcn.18002e350
lea r11, [rsp + 0xf0]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret