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

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
lea rbp, [rsp + 0x20]
movsxd r12, dword [rcx + 4]
mov qword [rbp + 0xa0], rbx
movaps xmmword [rbp + 0x40], xmm6
movss xmm6, dword [rcx + 0xc]
lea rax, [r12*4]
movaps xmmword [rbp + 0x30], xmm7
mov rdi, rcx
mov rsi, r8
xor r8d, r8d
movaps xmmword [rbp + 0x20], xmm8
movaps xmmword [rbp + 0x10], xmm9
lea rcx, [rax + 0xf]
mov r14, r9
mov r13, rdx
mov dword [rbp + 0x90], r8d
mov rbx, r12
cmp rcx, rax
ja 0x140051f3f
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14001f2e0
mov eax, dword [rdi + 0xe8]
sub rsp, rcx
movss xmm1, dword [r13 + 0x3c]
xorps xmm9, xmm9
cdq
lea r15, [rsp + 0x20]
movaps xmm8, xmm1
sub eax, edx
mov edx, 2
mov qword [rbp], r15
sar eax, 1
cmp eax, edx
mov ecx, eax
cmovl ecx, edx
add eax, 0xfffffffe
mov dword [rbp + 0x98], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm8, xmm0
comiss xmm9, xmm8
jbe 0x140051f9b
movaps xmm8, xmm9
comiss xmm8, xmm1
jbe 0x140051fa5
movaps xmm8, xmm1
mov r10, r8
cmp rbx, 4
jl 0x140052063
lea rdx, [r15 + 4]
mov r8, rsi
mov r11d, 4
sub r8, r15
sub r11, r15
mov r14d, 8
sub r14, r15
lea r9, [r12 - 4]
mov r15, 0xfffffffffffffffc
sub r15, qword [rbp]
shr r9, 2
inc r9
lea r10, [r9*4]
nop dword [rax]
mov rax, qword [rdi + 0x30]
lea rcx, [r15 + rdx]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [r8 + rdx - 4]
movss dword [rdx - 4], xmm0
mov rax, qword [rdi + 0x30]
movss xmm1, dword [rcx + rax + 4]
lea rcx, [r11 + rdx]
mulss xmm1, dword [r8 + rdx]
movss dword [rdx], xmm1
mov rax, qword [rdi + 0x30]
movss xmm0, dword [rcx + rax]
lea rcx, [r14 + rdx]
lea rdx, [rdx + 0x10]
mulss xmm0, dword [r8 + rdx - 0xc]
movss dword [rdx - 0xc], xmm0
mov rax, qword [rdi + 0x30]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [r8 + rdx - 8]
movss dword [rdx - 8], xmm0
dec r9
jne 0x140051ff0
mov r14, qword [rbp + 0xa8]
mov r15, qword [rbp]
cmp r10, rbx
jge 0x140052099
mov r8, r15
sub rsi, r15
lea rdx, [r15 + r10*4]
neg r8
sub rbx, r10
mov rax, qword [rdi + 0x30]
lea rcx, [r8 + rdx]
lea rdx, [rdx + 4]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [rdx + rsi - 4]
movss dword [rdx - 4], xmm0
dec rbx
jne 0x140052078
lea rcx, [rdi + 0x10]
mov r8, r15
mov rdx, r15
call fcn.1400454b0
mov rbx, qword [rbp + 0xb0]
movss xmm1, dword [r15]
movss xmm2, dword [r15 + 8]
movss xmm0, dword [r15 + 4]
movsxd rax, dword [rbx + 0x8c]
mulss xmm1, xmm1
cvtps2pd xmm3, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm3, qword [0x14009a170]
mulsd xmm3, xmm0
cvtps2pd xmm0, xmm1
cvtps2pd xmm1, xmm2
mulsd xmm1, qword [0x14009a168]
addsd xmm3, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm3, xmm1
cvtpd2ps xmm2, xmm3
movaps xmm1, xmm2
test eax, eax
jne 0x140052117
addss xmm1, dword [rbx + 0x88]
movss dword [rbx + 0x88], xmm2
jmp 0x140052132
addss xmm1, dword [rbx + 0x84]
movaps xmm0, xmm2
addss xmm0, dword [rbx + 0x88]
movss dword [rbx + 0x88], xmm0
movss xmm5, dword [0x140099fe8]
movss xmm7, dword [0x14009a028]
movss dword [rbx + 0x84], xmm1
mov r9d, 0
movss xmm0, xmm1
cvtps2pd xmm1, xmm1
subss xmm0, dword [rbx + rax*4 + 0x48]
mulsd xmm1, qword [0x14009a160]
movss dword [rbx + 0x84], xmm0
movss dword [rbx + rax*4 + 0x48], xmm2
cvtpd2ps xmm0, xmm1
inc dword [rbx + 0x8c]
mov eax, dword [rbx + 0x8c]
cmp eax, 0xf
cmovge eax, r9d
mov dword [rbx + 0x8c], eax
mov eax, r12d
movss dword [rbp + 0xb0], xmm0
mov ecx, dword [rbp + 0xb0]
cdq
xorps xmm0, xmm0
btr ecx, 0x1f
sub eax, edx
sar eax, 1
cvtsi2ss xmm0, rcx
mulss xmm0, xmm5
subss xmm0, xmm7
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x140099e28]
subsd xmm0, qword [0x14009a180]
cvtpd2ps xmm2, xmm0
test eax, eax
jle 0x14005226f
movss xmm4, dword [0x140099f64]
movsd xmm3, qword [0x140099e48]
lea r8d, [rax - 1]
shr r8d, 1
mov edx, r9d
mov rcx, r15
inc r8d
nop dword [rax]
movss xmm0, dword [rcx + 4]
movss xmm1, dword [rcx]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
xorps xmm0, xmm0
movss dword [rbp + 0xb0], xmm1
mov eax, dword [rbp + 0xb0]
btr eax, 0x1f
cvtsi2ss xmm0, rax
mulss xmm0, xmm5
subss xmm0, xmm7
mulss xmm0, xmm4
comiss xmm2, xmm0
jbe 0x140052243
movaps xmm0, xmm2
comiss xmm6, xmm0
jbe 0x14005224b
movaps xmm0, xmm6
mov rax, rdx
add rcx, 8
add rdx, 2
sar rax, 1
movss dword [r15 + rax*4], xmm0
cvtps2pd xmm0, xmm2
subsd xmm0, xmm3
cvtpd2ps xmm2, xmm0
dec r8
jne 0x140052200
movss xmm6, dword [0x14009a194]
movss xmm7, dword [0x14009a190]
mov r12d, dword [rbp + 0x98]
add r13, 0x20
mov r11, r9
lea rdi, [rbx + 0x44]
add r14, 8
mov esi, 7
nop word [rax + rax]
movsxd r8, dword [r14 - 4]
movaps xmm3, xmm9
cmp r8, 4
jl 0x140052313
mov rcx, qword [r14]
movsxd rdx, dword [r14 - 8]
lea r10, [r8 - 3]
add rcx, 8
nop dword [rax]
movss xmm0, dword [rcx - 8]
lea rax, [rdx + r9]
add r9, 4
add rcx, 0x10
movss xmm1, dword [r15 + rax*4 + 4]
mulss xmm0, dword [r15 + rax*4]
mulss xmm1, dword [rcx - 0x14]
addss xmm0, xmm3
movaps xmm3, xmm1
movss xmm1, dword [r15 + rax*4 + 0xc]
addss xmm3, xmm0
movss xmm0, dword [r15 + rax*4 + 8]
mulss xmm1, dword [rcx - 0xc]
mulss xmm0, dword [rcx - 0x10]
addss xmm3, xmm0
addss xmm3, xmm1
cmp r9, r10
jl 0x1400522c0
cmp r9, r8
jge 0x14005234c
mov rcx, qword [r14]
movsxd rax, dword [r14 - 8]
lea rax, [rax*4]
lea rdx, [rcx + r9*4]
sub rax, rcx
sub r8, r9
lea rcx, [rax + r15]
movss xmm0, dword [rcx + rdx]
add rdx, 4
mulss xmm0, dword [rdx - 4]
addss xmm3, xmm0
dec r8
jne 0x140052335
movsxd r10, dword [rdi]
mulss xmm3, dword [r14 + 8]
movaps xmm1, xmm6
movaps xmm0, xmm7
lea edx, [r10 - 1]
test edx, edx
jns 0x140052366
add edx, 0x11
movsxd rcx, edx
add rcx, r11
movss xmm4, dword [rbx + rcx*4]
comiss xmm3, xmm4
jbe 0x14005237b
movaps xmm5, xmm3
jmp 0x14005237e
movaps xmm5, xmm4
comiss xmm4, xmm3
jbe 0x140052386
movaps xmm4, xmm3
xor r8d, r8d
mov r9d, r8d
cmp r12d, 4
jl 0x140052458
lea eax, [r12 - 4]
shr eax, 2
inc eax
mov r8d, eax
lea r9d, [rax*4]
nop dword [rax + rax]
movsxd rcx, edx
dec rcx
dec edx
jns 0x1400523c1
add edx, 0x11
add rcx, 0x11
lea rax, [r11 + rcx]
movss xmm2, dword [rbx + rax*4]
comiss xmm1, xmm2
ja 0x1400523d2
movaps xmm1, xmm2
comiss xmm2, xmm0
ja 0x1400523da
movaps xmm0, xmm2
dec rcx
dec edx
jns 0x1400523e8
add edx, 0x11
add rcx, 0x11
lea rax, [r11 + rcx]
movss xmm2, dword [rbx + rax*4]
comiss xmm1, xmm2
ja 0x1400523f9
movaps xmm1, xmm2
comiss xmm2, xmm0
ja 0x140052401
movaps xmm0, xmm2
dec rcx
dec edx
jns 0x14005240f
add edx, 0x11
add rcx, 0x11
lea rax, [r11 + rcx]
movss xmm2, dword [rbx + rax*4]
comiss xmm1, xmm2
ja 0x140052420
movaps xmm1, xmm2
comiss xmm2, xmm0
ja 0x140052428
movaps xmm0, xmm2
dec rcx
dec edx
jns 0x140052436
add edx, 0x11
add rcx, 0x11
lea rax, [r11 + rcx]
movss xmm2, dword [rbx + rax*4]
comiss xmm1, xmm2
ja 0x140052447
movaps xmm1, xmm2
comiss xmm2, xmm0
ja 0x14005244f
movaps xmm0, xmm2
dec r8
jne 0x1400523b0
cmp r9d, r12d
jge 0x140052496
movsxd rcx, edx
add rcx, r11
lea r8, [rbx + rcx*4]
mov ecx, r12d
sub ecx, r9d
sub r8, 4
dec edx
jns 0x14005247c
add edx, 0x11
add r8, 0x44
movss xmm2, dword [r8]
comiss xmm1, xmm2
ja 0x140052489
movaps xmm1, xmm2
comiss xmm2, xmm0
ja 0x140052491
movaps xmm0, xmm2
dec rcx
jne 0x14005246d
lea rax, [r11 + r10]
subss xmm4, xmm0
mov r9d, 0
movss dword [rbx + rax*4], xmm3
inc dword [rdi]
mov eax, dword [rdi]
movaps xmm0, xmm8
subss xmm5, xmm1
cmp eax, 0x11
cmovge eax, r9d
mov dword [rdi], eax
mov eax, dword [rbp + 0x90]
addss xmm0, dword [r13 - 0x1c]
comiss xmm5, xmm0
jbe 0x1400524d8
or eax, 5
mov dword [rbp + 0x90], eax
movss xmm0, dword [r13]
subss xmm0, xmm8
comiss xmm0, xmm4
jbe 0x1400524f1
or eax, 2
mov dword [rbp + 0x90], eax
add r14, 0x18
add r11, 0x24
add rdi, 0x90
add r13, 4
dec rsi
jne 0x1400522a0
mov rbx, qword [rbp + 0xa0]
movaps xmm6, xmmword [rbp + 0x40]
movaps xmm7, xmmword [rbp + 0x30]
movaps xmm8, xmmword [rbp + 0x20]
movaps xmm9, xmmword [rbp + 0x10]
lea rsp, [rbp + 0x50]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret