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

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x140
cmp byte [rsp + 0x1d0], 0
mov ecx, 1
mov ebp, dword [rsp + 0x1a0]
mov rsi, r8
movaps xmmword [rax - 0x68], xmm7
mov r13, rdx
movd xmm7, dword [rsp + 0x1d8]
movaps xmmword [rax - 0x78], xmm8
movd xmm8, dword [rsp + 0x1e0]
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
mov eax, 3
movss xmm14, dword [0x14017d548]
cmovne eax, ecx
mov r14d, eax
mov dword [rsp + 0x24], eax
lea eax, [r9 - 1]
shl r14d, 4
movd xmm0, eax
movaps xmm13, xmm14
cvtdq2ps xmm0, xmm0
lea eax, [rbp - 1]
mov dword [rsp + 0x20], r14d
cvtdq2ps xmm7, xmm7
divss xmm13, xmm0
divss xmm7, dword [0x140103cf4]
mulss xmm13, dword [0x14017d544]
movd xmm0, eax
mov eax, r14d
cvtdq2ps xmm0, xmm0
shl eax, 4
mov ecx, eax
shl rcx, 2
mov ebx, eax
cvtdq2ps xmm8, xmm8
divss xmm14, xmm0
divss xmm8, dword [0x140103cf4]
mulss xmm14, dword [0x14017d544]
call qword [0x140101f00]
mov r9, qword [rsp + 0x1c8]
lea ecx, [rbx - 1]
movaps xmm2, xmmword [0x14017d550]
xor r10d, r10d
movsxd rdx, ecx
mov r15, rax
mov r8, rax
lea rcx, [r9 + rdx*4]
lea r11, [rax + rdx*4]
cmp rax, rcx
ja 0x1400378d0
cmp r11, r9
jae 0x140037901
nop dword [rax + rax]
movdqu xmm0, xmmword [r9]
add r10d, 8
cvtdq2ps xmm1, xmm0
mulps xmm1, xmm2
movups xmmword [r8], xmm1
movdqu xmm0, xmmword [r9 + 0x10]
add r9, 0x20
cvtdq2ps xmm1, xmm0
mulps xmm1, xmm2
movups xmmword [r8 + 0x10], xmm1
add r8, 0x20
cmp r10d, ebx
jl 0x1400378d0
cmp r10d, ebx
jge 0x1400379b3
movss xmm2, dword [0x140103aa0]
mov eax, ebx
sub eax, r10d
cmp eax, 4
jl 0x140037988
mov eax, ebx
sub eax, r10d
sub eax, 4
shr eax, 2
inc eax
mov ecx, eax
lea r10d, [r10 + rax*4]
nop
movd xmm0, dword [r9]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [r8], xmm0
movd xmm1, dword [r9 + 4]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
movss dword [r8 + 4], xmm1
movd xmm0, dword [r9 + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [r8 + 8], xmm0
movd xmm1, dword [r9 + 0xc]
add r9, 0x10
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
movss dword [r8 + 0xc], xmm1
add r8, 0x10
sub rcx, 1
jne 0x140037930
cmp r10d, ebx
jge 0x1400379b3
sub r9, r8
sub ebx, r10d
movsxd rax, ebx
movd xmm0, dword [r9 + r8]
lea r8, [r8 + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [r8 - 4], xmm0
sub rax, 1
jne 0x140037996
xor r11d, r11d
mov dword [rsp + 0x3c], r11d
mov edi, r11d
mov r8d, r11d
test ebp, ebp
jle 0x14003810e
mov r10, qword [rsp + 0x180]
mov ecx, r11d
mov edx, dword [rsp + 0x198]
mov r9, r10
movzx ebp, byte [rsp + 0x1b0]
mov qword [rsp + 0x138], r12
mov r12d, dword [rsp + 0x1d0]
movaps xmmword [rsp + 0x120], xmm6
lea eax, [rdx + rdx*2]
movaps xmmword [rsp + 0xf0], xmm9
movss xmm9, dword [0x140103aa4]
movaps xmmword [rsp + 0xe0], xmm10
movaps xmmword [rsp + 0xd0], xmm11
movsd xmm11, qword [0x140102f68]
cdqe
shl rax, 2
sub r13, rsi
movaps xmmword [rsp + 0xc0], xmm12
mov qword [rsp + 0x188], r13
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x80], rax
nop dword [rax]
cmp byte [rsp + 0x1a8], 0
lea rbx, [rsi + r13]
mov qword [rsp + 0x50], rsi
mov rsi, r9
mov qword [rsp + 0x48], rbx
je 0x140037a8c
mov eax, ecx
test ecx, ecx
jns 0x140037a84
lea eax, [rcx + 1]
sar eax, 1
cdqe
lea rdi, [r10 + rax*2]
mov dword [rsp + 0x38], r11d
mov r13d, r11d
test edx, edx
jle 0x140038089
movd xmm10, r8d
cvtdq2ps xmm10, xmm10
mulss xmm10, xmm14
movaps xmm0, xmm10
call fcn.1400fd644
cvttss2si eax, xmm0
mov dword [rsp + 0x60], eax
lea ecx, [rax + 1]
movd xmm0, eax
movd xmm12, ecx
cvtdq2ps xmm12, xmm12
mov dword [rsp + 0x64], ecx
cvtdq2ps xmm0, xmm0
subss xmm12, xmm10
subss xmm10, xmm0
nop dword [rax]
movd xmm6, r13d
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm13
movaps xmm0, xmm6
call fcn.1400fd644
movzx eax, byte [rsp + 0x1d0]
xorps xmm3, xmm3
mov r11d, dword [rsp + 0x24]
cvttss2si r13d, xmm0
mov dword [rsp + 0x88], r13d
movd xmm0, r13d
lea r9d, [r13 + 1]
movd xmm4, r9d
mov dword [rsp + 0x8c], r9d
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm0, xmm0
subss xmm4, xmm6
subss xmm6, xmm0
test al, al
je 0x140037bd6
mov r10, qword [rsp + 0x88]
movaps xmm0, xmm12
mov edx, dword [rsp + 0x60]
mov r8d, r13d
mov r9, qword [rsp + 0x60]
movaps xmm3, xmm12
imul edx, r14d
imul r8d, r11d
shr r10, 0x20
imul r10d, r11d
shr r9, 0x20
imul r9d, r14d
lea eax, [rdx + r10]
movsxd rcx, eax
lea eax, [r8 + rdx]
mulss xmm3, dword [r15 + rcx*4]
movsxd rcx, eax
lea eax, [r8 + r9]
mulss xmm3, xmm6
mulss xmm0, dword [r15 + rcx*4]
movsxd rcx, eax
lea eax, [r9 + r10]
lea r9d, [r13 + 1]
mulss xmm0, xmm4
addss xmm3, xmm0
movaps xmm0, xmm10
mulss xmm0, dword [r15 + rcx*4]
movsxd rcx, eax
movzx eax, byte [rsp + 0x1d0]
mulss xmm0, xmm4
addss xmm3, xmm0
movaps xmm0, xmm10
mulss xmm0, dword [r15 + rcx*4]
mulss xmm0, xmm6
addss xmm3, xmm0
xor edx, edx
mov qword [rsp + 0x78], rsi
mov r8d, edx
mov qword [rsp + 0x70], rdi
lea r14, [0x14045d1b0]
nop dword [rax]
test al, al
jne 0x140037cbc
test bpl, bpl
je 0x140037c02
mov edx, dword [r14]
jmp 0x140037c05
mov edx, r8d
mov ecx, dword [rsp + 0x60]
mov r10d, r13d
imul ecx, dword [rsp + 0x20]
imul r10d, r11d
lea eax, [r10 + rcx]
add eax, edx
cdqe
test bpl, bpl
je 0x140037c27
mov edx, dword [r14]
jmp 0x140037c2a
mov edx, r8d
mov ebx, r9d
imul ebx, r11d
add ecx, ebx
add ecx, edx
movsxd rcx, ecx
test bpl, bpl
je 0x140037c42
mov r11d, dword [r14]
jmp 0x140037c45
mov r11d, r8d
mov r9d, dword [rsp + 0x64]
imul r9d, dword [rsp + 0x20]
lea edx, [r9 + r10]
add edx, r11d
movsxd rdx, edx
test bpl, bpl
je 0x140037c64
mov r10d, dword [r14]
jmp 0x140037c67
mov r10d, r8d
movaps xmm0, xmm12
movaps xmm3, xmm12
mulss xmm0, dword [r15 + rax*4]
movaps xmm1, xmm10
lea eax, [r9 + rbx]
mov rbx, qword [rsp + 0x48]
mulss xmm3, dword [r15 + rcx*4]
add eax, r10d
movsxd rcx, eax
mulss xmm1, dword [r15 + rdx*4]
xor edx, edx
mulss xmm0, xmm4
mulss xmm3, xmm6
mulss xmm1, xmm4
addss xmm3, xmm0
movaps xmm0, xmm10
mulss xmm0, dword [r15 + rcx*4]
addss xmm3, xmm1
mulss xmm0, xmm6
addss xmm3, xmm0
mov rax, qword [rsp + 0x50]
xorps xmm0, xmm0
movd xmm1, dword [rbx]
movaps xmm2, xmm11
cvtss2sd xmm0, xmm3
add rbx, 4
mov qword [rsp + 0x48], rbx
cvtdq2pd xmm1, xmm1
subsd xmm2, xmm0
movd xmm0, dword [rax]
cvtdq2ps xmm0, xmm0
add rax, 4
cmp byte [rsp + 0x1a8], 0
mov qword [rsp + 0x50], rax
mulsd xmm2, xmm1
mulss xmm0, xmm3
cvtps2pd xmm1, xmm0
addsd xmm2, xmm1
cvttsd2si ecx, xmm2
je 0x140037da0
cmp dword [rsp + 0x1d8], 0x64
jge 0x140037d45
movzx eax, word [rdi]
movaps xmm2, xmm9
movd xmm1, ecx
subss xmm2, xmm7
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm7
mulss xmm2, xmm0
addss xmm2, xmm1
cvttss2si ecx, xmm2
test r8d, r8d
jne 0x140037d59
movzx r9d, word [rdi]
mov dword [rsp + 0x34], r9d
mov dword [rsp + 0x2c], ecx
jmp 0x140037d79
cmp r8d, 1
jne 0x140037d6e
movzx r11d, word [rdi]
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], ecx
jmp 0x140037d79
movzx r12d, word [rdi]
mov dword [rsp + 0x1c8], ecx
cmp ecx, 0xffff
jle 0x140037d92
mov ecx, 0xffff
mov word [rdi], cx
add rdi, 2
jmp 0x140037e1c
test ecx, ecx
cmovs ecx, edx
mov word [rdi], cx
add rdi, 2
jmp 0x140037e1c
cmp dword [rsp + 0x1d8], 0x64
jge 0x140037dd3
movzx eax, byte [rsi]
movaps xmm2, xmm9
movd xmm1, ecx
subss xmm2, xmm7
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm7
mulss xmm2, xmm0
addss xmm2, xmm1
cvttss2si ecx, xmm2
test r8d, r8d
jne 0x140037de5
movzx eax, byte [rsi]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x2c], ecx
jmp 0x140037e03
cmp r8d, 1
jne 0x140037df8
movzx eax, byte [rsi]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
jmp 0x140037e03
movzx r12d, byte [rsi]
mov dword [rsp + 0x1c8], ecx
cmp ecx, 0xff
jle 0x140037e12
mov ecx, 0xff
jmp 0x140037e17
test ecx, ecx
cmovs ecx, edx
mov byte [rsi], cl
inc rsi
mov r11d, dword [rsp + 0x24]
lea r9d, [r13 + 1]
movzx eax, byte [rsp + 0x1d0]
inc r8d
add r14, 4
cmp r8d, 3
jl 0x140037bf0
cmp dword [rsp + 0x1e0], 0x64
jge 0x140038031
mov r10d, dword [rsp + 0x2c]
movaps xmm4, xmm11
mov r9d, dword [rsp + 0x34]
mov edx, dword [rsp + 0x1c8]
mov ebx, dword [rsp + 0x28]
mov r11d, dword [rsp + 0x30]
lea ecx, [r10 + 1]
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
lea eax, [rdx + rbx]
add ecx, eax
lea eax, [r12 + r11]
movd xmm3, ecx
lea ecx, [r9 + 1]
add ecx, eax
cmp byte [rsp + 0x1a8], 0
cvtdq2ps xmm3, xmm3
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm3, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm8
mulss xmm1, xmm3
subsd xmm4, xmm0
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
cvtps2pd xmm2, xmm1
mulss xmm0, xmm8
mulsd xmm2, xmm4
cvtps2pd xmm1, xmm0
addsd xmm2, xmm1
cvttsd2si eax, xmm2
je 0x140037f8c
cmp eax, 0xffff
jle 0x140037ee4
mov eax, 0xffff
xor ecx, ecx
jmp 0x140037eee
test eax, eax
mov ecx, 0
cmovs eax, ecx
mov rdi, qword [rsp + 0x70]
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mov word [rdi], ax
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm8
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm2, xmm4
addsd xmm2, xmm0
cvttsd2si eax, xmm2
cmp eax, 0xffff
jle 0x140037f2e
mov eax, 0xffff
jmp 0x140037f33
test eax, eax
cmovs eax, ecx
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
mov word [rdi + 2], ax
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm8
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm2, xmm4
addsd xmm2, xmm0
cvttsd2si eax, xmm2
cmp eax, 0xffff
jle 0x140037f7a
mov eax, 0xffff
mov word [rdi + 4], ax
add rdi, 6
jmp 0x140038031
test eax, eax
cmovs eax, ecx
mov word [rdi + 4], ax
add rdi, 6
jmp 0x140038031
cmp eax, 0xff
jle 0x140037f9c
mov eax, 0xff
xor ecx, ecx
jmp 0x140037fa6
test eax, eax
mov ecx, 0
cmovs eax, ecx
mov rsi, qword [rsp + 0x78]
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
mov byte [rsi], al
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm8
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm2, xmm4
addsd xmm2, xmm0
cvttsd2si eax, xmm2
cmp eax, 0xff
jle 0x140037fe5
mov eax, 0xff
jmp 0x140037fea
test eax, eax
cmovs eax, ecx
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
mov byte [rsi + 1], al
movd xmm1, edx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm8
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm2, xmm4
addsd xmm2, xmm0
cvttsd2si eax, xmm2
cmp eax, 0xff
jle 0x140038025
mov eax, 0xff
jmp 0x14003802a
test eax, eax
cmovs eax, ecx
mov byte [rsi + 2], al
add rsi, 3
cmp byte [rsp + 0x1b8], 0
je 0x140038049
test rdi, rdi
je 0x140038046
add rdi, 2
jmp 0x140038049
inc rsi
mov r13d, dword [rsp + 0x38]
mov edx, dword [rsp + 0x198]
inc r13d
mov rbx, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x20]
mov dword [rsp + 0x38], r13d
cmp r13d, edx
jl 0x140037ae0
mov ecx, dword [rsp + 0x40]
xor r11d, r11d
mov r8d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x190]
inc r8d
add rsi, qword [rsp + 0x80]
add ecx, dword [rsp + 0x1c0]
movsxd rax, dword [rsp + 0x1c0]
mov r13, qword [rsp + 0x188]
add r9, rax
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x190], rsi
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x58], r9
cmp r8d, dword [rsp + 0x1a0]
jl case.default.0x140038140
movaps xmm12, xmmword [rsp + 0xc0]
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x120]
mov r12, qword [rsp + 0x138]
mov rcx, r15
lea r11, [rsp + 0x140]
movaps xmm7, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm13, xmmword [r11 - 0x90]
movaps xmm14, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [0x140101ef8]