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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xd0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xe8], rsi
mov qword [rbp + 0xf0], rdi
movaps xmmword [rbp + 0xa0], xmm6
movaps xmmword [rbp + 0x90], xmm7
movaps xmmword [rbp + 0x80], xmm8
movaps xmmword [rbp + 0x70], xmm9
movaps xmmword [rbp + 0x60], xmm10
movaps xmmword [rbp + 0x50], xmm11
movaps xmmword [rbp + 0x40], xmm12
mov rax, qword [0x18065f280]
xor rax, rbp
mov qword [rbp + 0x30], rax
movsxd rdi, dword [rcx + 4]
mov rbx, rcx
movss xmm7, dword [rcx + 0xc]
mov rsi, r8
mov qword [rbp + 0x18], r9
mov r8, rdx
mov qword [rbp + 0x20], rdx
lea rax, [rdi*4]
mov dword [rbp + 4], 0
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1803497ef
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.18011e9f0
movss xmm9, dword [r8 + 0x3c]
sub rsp, rcx
mov eax, dword [rbx + 0xe8]
movaps xmm2, xmm9
cdq
xorps xmm1, xmm1
sub eax, edx
xorps xmm12, xmm12
sar eax, 1
lea r14, [rsp + 0x20]
mov edx, 2
mov qword [rbp + 0x28], r14
cmp eax, edx
mov ecx, eax
cmovle ecx, edx
add eax, 0xfffffffe
xor r8d, r8d
mov dword [rbp], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
maxss xmm1, xmm2
minss xmm9, xmm1
test edi, edi
jle 0x1803499ba
cmp edi, edx
jb 0x1803499ba
mov rdx, qword [rbx + 0x30]
lea eax, [rdi - 1]
movsxd r9, eax
lea r10, [rbx + 0x30]
lea rax, [rsi + r9*4]
lea rcx, [r14 + r9*4]
cmp r14, rax
ja 0x180349880
cmp rcx, rsi
jae 0x1803499ba
lea rax, [rdx + r9*4]
cmp r14, rax
ja 0x180349892
cmp rcx, rdx
jae 0x1803499ba
cmp r14, r10
ja 0x1803498a0
cmp rcx, r10
jae 0x1803499ba
cmp edi, 0x10
jb 0x180349961
mov ecx, edi
and ecx, 0x8000000f
jge 0x1803498ba
dec ecx
or ecx, 0xfffffff0
inc ecx
mov eax, edi
sub eax, ecx
mov r9, rsi
cdqe
mov r11d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea rcx, [r14 + 0x10]
mov r15d, 0x20
sub r9, r14
sub r11, r14
sub r15, r14
xor r13d, r13d
mov r12, 0xfffffffffffffff0
sub r12, r14
mov r10, rax
nop dword [rax]
movups xmm0, xmmword [r9 + rcx - 0x10]
lea rax, [r12 + rcx]
add r8d, 0x10
movups xmm1, xmmword [rax + rdx]
mov rax, rcx
add r13, 0x10
sub rax, r14
mulps xmm1, xmm0
movups xmm0, xmmword [r9 + rcx]
movups xmmword [rcx - 0x10], xmm1
movups xmm1, xmmword [rax + rdx]
lea rax, [r11 + rcx]
mulps xmm1, xmm0
movups xmm0, xmmword [r9 + rcx + 0x10]
movups xmmword [rcx], xmm1
movups xmm1, xmmword [rax + rdx]
lea rax, [r15 + rcx]
mulps xmm1, xmm0
movups xmm0, xmmword [r9 + rcx + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + rdx]
mulps xmm1, xmm0
movups xmmword [rcx + 0x20], xmm1
add rcx, 0x40
cmp r13, r10
jl 0x1803498f0
mov eax, edi
lea r10, [rbx + 0x30]
and al, 0xf
cmp al, 2
jb 0x1803499ba
mov r11, qword [r10]
mov ecx, edi
and ecx, 0x80000001
jge 0x180349975
dec ecx
or ecx, 0xfffffffe
inc ecx
mov eax, edi
sub eax, ecx
movsxd rdx, r8d
mov r9, rsi
movsxd r10, eax
sub r9, r14
lea rcx, [r14 + rdx*4]
nop dword [rax]
movsd xmm0, qword [rcx + r9]
mov rax, rcx
sub rax, r14
add r8d, 2
add rdx, 2
movsd xmm2, qword [rax + r11]
mulps xmm2, xmm0
movsd qword [rcx], xmm2
add rcx, 8
cmp rdx, r10
jl 0x180349990
movsxd r11, r8d
mov r8, rdi
cmp r11, rdi
jge 0x180349aba
mov rax, rdi
sub rax, r11
cmp rax, 4
jl 0x180349a8e
mov r10, rdi
lea rdx, [r14 + 4]
sub r10, r11
lea rdx, [rdx + r11*4]
sub r10, 4
mov r9, rsi
mov r15d, 4
shr r10, 2
mov r12d, 8
mov r13, 0xfffffffffffffffc
sub r9, r14
sub r15, r14
sub r12, r14
sub r13, r14
inc r10
lea r11, [r11 + r10*4]
nop dword [rax + rax]
mov rax, qword [rbx + 0x30]
lea rcx, [rdx + r13]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [rdx + r9 - 4]
movss dword [rdx - 4], xmm0
mov rax, qword [rbx + 0x30]
movss xmm1, dword [rcx + rax + 4]
lea rcx, [r15 + rdx]
mulss xmm1, dword [rdx + r9]
movss dword [rdx], xmm1
mov rax, qword [rbx + 0x30]
movss xmm0, dword [rcx + rax]
lea rcx, [r12 + rdx]
mulss xmm0, dword [rdx + r9 + 4]
lea rdx, [rdx + 0x10]
movss dword [rdx - 0xc], xmm0
mov rax, qword [rbx + 0x30]
movss xmm0, dword [rcx + rax]
mulss xmm0, dword [rdx + r9 - 8]
movss dword [rdx - 8], xmm0
sub r10, 1
jne 0x180349a20
cmp r11, r8
jge 0x180349aba
sub rsi, r14
lea rcx, [r14 + r11*4]
sub r8, r11
mov rax, qword [rbx + 0x30]
lea rcx, [rcx + 4]
sub rax, r14
movss xmm0, dword [rax + rcx - 4]
mulss xmm0, dword [rsi + rcx - 4]
movss dword [rcx - 4], xmm0
sub r8, 1
jne 0x180349a98
lea rcx, [rbx + 0x10]
mov r8, r14
mov rdx, r14
call fcn.18033fd40
movss xmm0, dword [r14]
movss xmm2, dword [r14 + 4]
movss xmm3, dword [r14 + 8]
mov r10, qword [rbp + 0x100]
mulss xmm0, xmm0
cvtps2pd xmm2, xmm2
movsxd rcx, dword [r10 + 0x8c]
cvtps2pd xmm4, xmm0
movaps xmm1, xmm2
mulsd xmm1, qword [0x1805c9ef8]
cvtps2pd xmm3, xmm3
mulsd xmm1, xmm2
movaps xmm0, xmm3
mulsd xmm0, qword [0x1805c9e88]
addsd xmm4, xmm1
mulsd xmm0, xmm3
addsd xmm4, xmm0
cvtpd2ps xmm2, xmm4
movaps xmm0, xmm2
addss xmm0, dword [r10 + 0x88]
test ecx, ecx
jne 0x180349b40
movss dword [r10 + 0x84], xmm0
movaps xmm1, xmm0
movaps xmm0, xmm2
jmp 0x180349b55
movaps xmm1, xmm2
addss xmm1, dword [r10 + 0x84]
movss dword [r10 + 0x84], xmm1
movss dword [r10 + 0x88], xmm0
movaps xmm0, xmm1
subss xmm0, dword [r10 + rcx*4 + 0x48]
cvtps2pd xmm1, xmm1
movss dword [r10 + 0x84], xmm0
mulsd xmm1, qword [0x1805c9e40]
movss dword [r10 + rcx*4 + 0x48], xmm2
inc dword [r10 + 0x8c]
cmp dword [r10 + 0x8c], 0xf
cvtpd2ps xmm0, xmm1
jl 0x180349ba3
mov dword [r10 + 0x8c], 0
movss xmm3, dword [0x1805c9b60]
mov eax, edi
movss xmm4, dword [0x1805ca350]
cdq
movss dword [rbp + 8], xmm0
sub eax, edx
mov ecx, dword [rbp + 8]
xorps xmm0, xmm0
btr ecx, 0x1f
sar eax, 1
cvtsi2ss xmm0, rcx
mulss xmm0, xmm3
subss xmm0, xmm4
cvtps2pd xmm1, xmm0
mulsd xmm1, qword [0x1805c9ed0]
subsd xmm1, qword [0x1805ca048]
cvtpd2ps xmm2, xmm1
test eax, eax
jle 0x180349c88
movss xmm5, dword [0x1805c9d08]
lea r8d, [rax - 1]
movsd xmm6, qword [0x1805ca010]
xor edx, edx
shr r8d, 1
mov rcx, r14
inc r8d
nop dword [rax]
nop dword [rax + rax]
movss xmm0, dword [rcx + 4]
movss xmm1, dword [rcx]
add rcx, 8
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
movaps xmm0, xmm2
movss dword [rbp + 8], xmm1
xorps xmm1, xmm1
mov eax, dword [rbp + 8]
btr eax, 0x1f
cvtsi2ss xmm1, rax
mov rax, rdx
add rdx, 2
sar rax, 1
mulss xmm1, xmm3
subss xmm1, xmm4
mulss xmm1, xmm5
maxss xmm0, xmm1
movaps xmm1, xmm7
maxss xmm1, xmm0
cvtps2pd xmm0, xmm2
movss dword [r14 + rax*4], xmm1
subsd xmm0, xmm6
cvtpd2ps xmm2, xmm0
sub r8, 1
jne 0x180349c20
mov rax, qword [rbp + 0x20]
lea r13, [r10 + 0x44]
mov r12, qword [rbp + 0x18]
add rax, 0x20
movss xmm10, dword [0x1805ca510]
xor r11d, r11d
movss xmm11, dword [0x1805ca3b8]
add r12, 8
mov r15d, dword [rbp]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], 7
movsxd r8, dword [r12 - 4]
xor esi, esi
movaps xmm2, xmm12
cmp r8, 4
jl 0x180349d70
movsxd r15, dword [r12 - 8]
mov rdi, qword [r12]
mov r9, rdi
mov rbx, rdi
lea rax, [r15*4]
sub r9, rax
lea rcx, [r15*4 + 8]
sub rbx, rcx
lea rax, [r8 - 4]
shr rax, 2
lea rdx, [rcx + r14]
sub r9, r14
sub rbx, r14
inc rax
lea rsi, [rax*4]
nop dword [rax + rax]
movss xmm1, dword [rbx + rdx]
mulss xmm1, dword [rdx - 8]
movss xmm0, dword [r9 + rdx - 4]
mulss xmm0, dword [rdx - 4]
addss xmm1, xmm2
movaps xmm2, xmm1
movss xmm1, dword [r9 + rdx]
mulss xmm1, dword [rdx]
addss xmm2, xmm0
movss xmm0, dword [r9 + rdx + 4]
mulss xmm0, dword [rdx + 4]
add rdx, 0x10
addss xmm2, xmm1
addss xmm2, xmm0
sub rax, 1
jne 0x180349d20
cmp rsi, r8
jl 0x180349d7e
jmp 0x180349daa
test r8, r8
jle 0x180349dae
mov rdi, qword [r12]
movsxd r15, dword [r12 - 8]
lea rcx, [r15*4]
sub rcx, rdi
lea rax, [rdi + rsi*4]
add rcx, r14
sub r8, rsi
movss xmm0, dword [rax + rcx]
mulss xmm0, dword [rax]
add rax, 4
addss xmm2, xmm0
sub r8, 1
jne 0x180349d93
mov r15d, dword [rbp]
mov edx, dword [r13]
xor esi, esi
mulss xmm2, dword [r12 + 8]
movaps xmm4, xmm10
movaps xmm3, xmm11
lea eax, [rdx - 1]
sar eax, 0x1f
and eax, 0x11
dec eax
add edx, eax
movsxd r8, edx
lea rax, [r11 + r8]
movss xmm7, dword [r10 + rax*4]
movaps xmm8, xmm7
minss xmm7, xmm2
maxss xmm8, xmm2
cmp r15d, 4
jl 0x180349ee8
lea eax, [r15 - 4]
mov r14d, 0xfffffffe
shr eax, 2
mov r15d, SafeArrayGetDim
inc eax
mov ebx, eax
lea esi, [rax*4]
mov edi, edx
lea r9, [r8 - 1]
dec edx
mov ecx, r15d
movsxd rax, edx
sar rax, 0x3f
and eax, 0x11
add r9, rax
test edx, edx
cmovns ecx, r14d
add ecx, edi
lea rax, [r11 + r9]
movss xmm5, dword [r10 + rax*4]
lea r8, [r9 - 1]
movaps xmm6, xmm5
minss xmm5, xmm3
maxss xmm6, xmm4
jns 0x180349e5e
test edx, edx
lea r8, [r9 + 0x10]
mov ecx, 0x20
cmovns ecx, r15d
add ecx, edi
lea rax, [r11 + r8]
mov edi, ecx
movss xmm1, dword [r10 + rax*4]
lea r9, [r8 - 1]
dec ecx
movaps xmm0, xmm1
maxss xmm0, xmm6
movsxd rax, ecx
sar rax, 0x3f
minss xmm1, xmm5
and eax, 0x11
mov edx, r15d
add r9, rax
test ecx, ecx
cmovns edx, r14d
add edx, edi
lea rax, [r11 + r9]
movss xmm5, dword [r10 + rax*4]
lea r8, [r9 - 1]
movaps xmm6, xmm5
minss xmm5, xmm1
maxss xmm6, xmm0
jns 0x180349ebf
test ecx, ecx
lea r8, [r9 + 0x10]
mov edx, 0x20
cmovns edx, r15d
add edx, edi
lea rax, [r11 + r8]
movss xmm3, dword [r10 + rax*4]
movaps xmm4, xmm3
minss xmm3, xmm5
maxss xmm4, xmm6
sub rbx, 1
jne 0x180349e12
mov r15d, dword [rbp]
mov r14, qword [rbp + 0x28]
jmp 0x180349f27
test r15d, r15d
jle 0x180349f2c
lea ecx, [rdx - 1]
inc esi
movsxd rax, ecx
dec edx
sar rax, 0x3f
and eax, 0x11
sar ecx, 0x1f
dec rax
and ecx, 0x11
add r8, rax
add edx, ecx
lea rax, [r11 + r8]
movss xmm1, dword [r10 + rax*4]
movaps xmm0, xmm1
minss xmm1, xmm3
maxss xmm0, xmm4
movaps xmm3, xmm1
movaps xmm4, xmm0
cmp esi, r15d
jl 0x180349eed
movsxd rax, dword [r13]
subss xmm7, xmm3
add rax, r11
subss xmm8, xmm4
movss dword [r10 + rax*4], xmm2
inc dword [r13]
cmp dword [r13], 0x11
jl 0x180349f55
mov dword [r13], 0
mov rdx, qword [rbp + 8]
movaps xmm0, xmm9
mov eax, dword [rbp + 4]
addss xmm0, dword [rdx - 0x1c]
comiss xmm8, xmm0
jbe 0x180349f6e
or eax, 5
movss xmm0, dword [rdx]
mov ecx, eax
or ecx, 2
subss xmm0, xmm9
comiss xmm0, xmm7
cmovbe ecx, eax
add rdx, 4
add r12, 0x18
mov dword [rbp + 4], ecx
add r11, 0x24
mov qword [rbp + 8], rdx
add r13, 0x90
mov eax, ecx
sub qword [rbp + 0x10], 1
jne 0x180349cc1
mov rcx, qword [rbp + 0x30]
xor rcx, rbp
call fcn.18011d9a0
mov rbx, qword [rbp + 0xe0]
mov rsi, qword [rbp + 0xe8]
mov rdi, qword [rbp + 0xf0]
movaps xmm6, xmmword [rbp + 0xa0]
movaps xmm7, xmmword [rbp + 0x90]
movaps xmm8, xmmword [rbp + 0x80]
movaps xmm9, xmmword [rbp + 0x70]
movaps xmm10, xmmword [rbp + 0x60]
movaps xmm11, xmmword [rbp + 0x50]
movaps xmm12, xmmword [rbp + 0x40]
lea rsp, [rbp + 0xb0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret