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

Disassembly:
push rdi
sub rsp, 0x70
mov r8, rcx
movaps xmmword [rsp + 0x50], xmm7
movzx ecx, word [rsp + 0xa8]
movaps xmm7, xmm2
mov qword [rsp + 0x20], r9
mov rdi, rdx
cmp ecx, 0x20
ja 0x1800123aa
movabs rdx, 0x100002600
bt rdx, rcx
jb 0x180012601
mov qword [rsp + 0x88], rsi
cmp ecx, dword [r8 + 0x18]
jl 0x1800123be
mov rsi, qword [r8 + 0x38]
jmp 0x1800123e2
mov rax, qword [r8 + 0x20]
movzx edx, word [rax + rcx*2]
mov eax, 0xffff
cmp dx, ax
jne 0x1800123d6
mov rsi, qword [r8 + 0x38]
jmp 0x1800123e2
mov rax, qword [r8 + 0x30]
lea rcx, [rdx + rdx*4]
lea rsi, [rax + rcx*8]
test rsi, rsi
je 0x1800125f9
mov qword [rsp + 0x80], rbx
xorps xmm0, xmm0
comiss xmm7, xmm0
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
jb 0x180012414
divss xmm7, dword [r8 + 0x14]
jmp 0x18001241c
movss xmm7, dword [0x180021e94]
movss xmm0, dword [rsp + 0x20]
addss xmm0, dword [r8 + 0x40]
cvttss2si eax, xmm0
movss xmm0, dword [rsp + 0x24]
addss xmm0, dword [r8 + 0x44]
movd xmm8, eax
cvtdq2ps xmm8, xmm8
cvttss2si eax, xmm0
movd xmm9, eax
mov eax, dword [rdi + 0x44]
add eax, 4
cvtdq2ps xmm9, xmm9
cmp eax, 0x10000
jb 0x180012476
test byte [rdi + 0x30], 4
je 0x180012476
mov eax, dword [rdi + 0x20]
mov rcx, rdi
mov dword [rdi + 0x40], eax
mov dword [rdi + 0x44], 0
call fcn.18000e7d0
movsxd rax, dword [rdi]
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 8]
add dword [rax + rcx*8 - 0x28], 6
lea rcx, [rdi + 0x20]
movsxd rbx, dword [rcx]
lea edx, [rbx + 4]
call fcn.180013130
mov rax, qword [rdi + 0x28]
lea rcx, [rbx + rbx*4]
movsxd rbx, dword [rdi + 0x10]
lea rcx, [rax + rcx*4]
mov qword [rdi + 0x48], rcx
lea edx, [rbx + 6]
lea rcx, [rdi + 0x10]
call fcn.180006ee0
movzx edx, word [rdi + 0x44]
movaps xmm1, xmm7
mov rax, qword [rdi + 0x18]
movaps xmm3, xmm7
movaps xmm2, xmm7
lea ecx, [rdx + 1]
lea r8, [rax + rbx*2]
mov qword [rdi + 0x50], r8
mulss xmm1, dword [rsi + 0x10]
mulss xmm3, dword [rsi + 0x14]
mulss xmm2, dword [rsi + 8]
addss xmm1, xmm8
mulss xmm7, dword [rsi + 0xc]
addss xmm3, xmm9
movss xmm4, dword [rsi + 0x20]
addss xmm2, xmm8
movss xmm6, dword [rsi + 0x24]
movss xmm5, dword [rsi + 0x18]
addss xmm7, xmm9
movss xmm0, dword [rsi + 0x1c]
mov word [r8], dx
mov rax, qword [rdi + 0x50]
mov word [rax + 2], cx
lea ecx, [rdx + 2]
mov rax, qword [rdi + 0x50]
mov word [rax + 4], cx
mov rax, qword [rdi + 0x50]
mov word [rax + 6], dx
add dx, 3
mov rax, qword [rdi + 0x50]
mov word [rax + 8], cx
mov rax, qword [rdi + 0x50]
mov ecx, dword [rsp + 0xa0]
mov word [rax + 0xa], dx
mov rax, qword [rdi + 0x48]
movss dword [rax], xmm2
movss dword [rax + 4], xmm7
mov rax, qword [rdi + 0x48]
movss dword [rax + 8], xmm5
movss dword [rax + 0xc], xmm0
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x10], ecx
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x14], xmm1
movss dword [rax + 0x18], xmm7
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x1c], xmm4
movss dword [rax + 0x20], xmm0
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x24], ecx
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x28], xmm1
movss dword [rax + 0x2c], xmm3
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x30], xmm4
movss dword [rax + 0x34], xmm6
mov rax, qword [rdi + 0x48]
mov dword [rax + 0x38], ecx
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x3c], xmm2
movss dword [rax + 0x40], xmm3
mov rax, qword [rdi + 0x48]
movss dword [rax + 0x44], xmm5
movss dword [rax + 0x48], xmm6
mov rax, qword [rdi + 0x48]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x60]
mov rbx, qword [rsp + 0x80]
mov dword [rax + 0x4c], ecx
add qword [rdi + 0x48], 0x50
add dword [rdi + 0x44], 4
add qword [rdi + 0x50], 0xc
mov rsi, qword [rsp + 0x88]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x70
pop rdi
ret