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

Disassembly:
mov rax, rsp
push rbx
push rdi
sub rsp, 0x138
mov rbx, qword [rcx]
mov rdi, rcx
test rbx, rbx
je 0x1400812d3
vmovaps xmmword [rax - 0x98], xmm11
vxorps xmm11, xmm11, xmm11
vcomiss xmm11, dword [rcx + 0x58]
jae 0x1400812ca
cmp byte [rcx + 0x48], 0
je 0x1400812aa
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], r12
xor r12d, r12d
mov qword [rax - 0x38], r15
cmp byte [rcx + 8], r12b
je 0x140080d44
add rcx, 0xc
call fcn.140035ee0
mov esi, eax
vmovss xmm0, dword [rdi + 0x50]
vmovss xmm1, dword [rdi + 0x54]
vmovss dword [rsp + 0x150], xmm0
vmovss dword [rsp + 0x154], xmm1
test eax, 0xff000000
je 0x140080d44
vmovss xmm2, dword [0x140111448]
xor r9d, r9d
mov dword [rsp + 0x20], Ordinal_50
lea rdx, [rsp + 0x150]
mov rcx, rbx
call fcn.140057c00
mov r8d, dword [rbx + 0x78]
mov r9d, esi
mov rdx, qword [rbx + 0x80]
dec r8d
mov rcx, rbx
mov dword [rbx + 0x78], r8d
call fcn.140057640
mov dword [rbx + 0x78], r12d
mov r15, qword [rdi + 0x68]
mov rsi, qword [rdi + 0x60]
cmp rsi, r15
je 0x140081292
mov qword [rsp + 0x120], r13
lea rbx, [0x140107e34]
vmovaps xmmword [rsp + 0x100], xmm6
vmovaps xmmword [rsp + 0xf0], xmm7
vmovsd xmm7, qword [0x140111390]
vmovaps xmmword [rsp + 0xe0], xmm8
vmovaps xmmword [rsp + 0xc0], xmm10
vmovss xmm10, dword [0x14011132c]
vmovaps xmmword [rsp + 0x90], xmm13
vmovdqu xmm13, xmmword [0x1401117f0]
vmovaps xmmword [rsp + 0x80], xmm14
vmovdqu xmm14, xmmword [0x1401117b0]
vmovaps xmmword [rsp + 0x70], xmm15
vmovss xmm15, dword [0x140111360]
mov qword [rsp + 0x118], r14
lea r13, [0x140107e35]
vmovaps xmmword [rsp + 0xd0], xmm9
vmovaps xmmword [rsp + 0xa0], xmm12
nop dword [rax]
mov eax, dword [rsi + 4]
vmovss xmm6, dword [rsi + 0x18]
vmovss xmm8, dword [rsi + 0x1c]
test eax, eax
jne 0x14008116c
vmovss xmm0, dword [rdi + 0x44]
vsubss xmm1, xmm0, dword [rsi]
vsubss xmm12, xmm1, dword [0x140111500]
mov rbx, qword [rdi]
lea rcx, [rdi + 0x1c]
call fcn.140035ee0
mov r14d, eax
vmovss xmm0, dword [rdi + 0x3c]
vmulss xmm2, xmm0, dword [0x140111358]
vmovss dword [rsp + 0x150], xmm6
vmovss dword [rsp + 0x154], xmm8
test eax, 0xff000000
je 0x140080e97
vcomiss xmm2, xmm10
jb 0x140080e97
vmovss xmm0, dword [0x140111458]
mov dword [rsp + 0x28], Ordinal_33
lea rdx, [rsp + 0x150]
vmovaps xmm3, xmm11
mov rcx, rbx
vmovss dword [rsp + 0x20], xmm0
call fcn.140058120
mov r8d, dword [rbx + 0x78]
mov r9d, r14d
mov rdx, qword [rbx + 0x80]
mov rcx, rbx
call fcn.140057640
mov dword [rbx + 0x78], r12d
mov rbx, qword [rdi]
lea rcx, [rsp + 0x60]
vmovups xmmword [rsp + 0x60], xmm14
call fcn.140035ee0
mov r14d, eax
vmulss xmm1, xmm15, dword [rdi + 0x3c]
vmovss dword [rsp + 0x158], xmm6
vmovss dword [rsp + 0x15c], xmm8
test eax, 0xff000000
je 0x140080f29
vcomiss xmm1, xmm10
jb 0x140080f29
vsubss xmm2, xmm1, xmm10
xor r9d, r9d
mov dword [rsp + 0x20], Ordinal_50
lea rdx, [rsp + 0x158]
mov rcx, rbx
call fcn.140057c00
mov r8d, dword [rbx + 0x78]
mov r9d, r14d
vmovss xmm0, dword [0x1401112e0]
mov rdx, qword [rbx + 0x80]
dec r8d
vmovss dword [rsp + 0x28], xmm0
mov rcx, rbx
mov dword [rbx + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.140056760
mov dword [rbx + 0x78], r12d
vxorps xmm0, xmm12, xmmword [0x140111970]
vcvtss2sd xmm1, xmm0, xmm0
vmulsd xmm3, xmm1, xmm7
vmovss xmm1, dword [0x1401114d4]
vxorpd xmm2, xmm2, xmm2
vsubss xmm1, xmm1, xmm12
vmovsd xmm0, xmm2, xmm3
vcvtss2sd xmm2, xmm1, xmm1
vmulsd xmm1, xmm2, xmm7
call fcn.1400ea342
vmovss xmm4, dword [rdi + 0x3c]
vmulss xmm1, xmm4, dword [0x1401113a0]
vperm2f128 ymm7, ymm0, ymm0, 1
vmovupd ymm5, ymm0
vcvtss2sd xmm3, xmm1, xmm1
vcvtss2sd xmm9, xmm6, xmm6
vmovaps xmm1, xmm9
vcvtss2sd xmm8, xmm8, xmm8
vcvtss2sd xmm6, xmm4, xmm4
vpermilpd xmm2, xmm5, 1
vfmadd231sd xmm1, xmm3, xmm2
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [rsp + 0x160], xmm0
vpermilpd xmm1, xmm7, 1
vmovaps xmm0, xmm8
vfnmadd231sd xmm0, xmm3, xmm5
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [rsp + 0x164], xmm0
vmovaps xmm0, xmm9
vfmadd231sd xmm0, xmm6, xmm1
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [rsp + 0x168], xmm0
vmovaps xmm1, xmm8
vfnmadd231sd xmm1, xmm6, xmm7
vmovsd xmm7, qword [0x140111390]
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [rsp + 0x16c], xmm0
vmovss xmm0, dword [0x1401115d8]
vsubss xmm1, xmm0, xmm12
vcvtss2sd xmm0, xmm1, xmm1
vmulsd xmm0, xmm0, xmm7
vzeroupper
call fcn.1400ea380
mov rbx, qword [rdi]
vpermilpd xmm1, xmm0, 1
vmovaps xmm2, xmm9
vfmadd231sd xmm2, xmm6, xmm1
mov ecx, dword [rbx + 0x78]
mov r8d, dword [rbx + 0x7c]
vcvtsd2ss xmm1, xmm2, xmm2
vmovaps xmm2, xmm8
vfnmadd231sd xmm2, xmm6, xmm0
vcvtsd2ss xmm0, xmm2, xmm2
vmovss dword [rsp + 0x54], xmm0
vmovss dword [rsp + 0x50], xmm1
cmp ecx, r8d
jne 0x140081076
inc ecx
test r8d, r8d
je 0x140081061
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140081066
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
lea rcx, [rbx + 0x78]
call fcn.14004de50
movsxd rdx, dword [rbx + 0x78]
mov rcx, qword [rbx + 0x80]
mov rax, qword [rsp + 0x160]
mov qword [rcx + rdx*8], rax
inc dword [rbx + 0x78]
mov rbx, qword [rdi]
mov r8d, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x7c]
cmp r8d, ecx
jne 0x1400810c9
inc r8d
test ecx, ecx
je 0x1400810b1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400810b6
mov eax, 8
cmp eax, r8d
lea rcx, [rbx + 0x78]
cmovg r8d, eax
mov edx, r8d
call fcn.14004de50
movsxd rdx, dword [rbx + 0x78]
mov rcx, qword [rbx + 0x80]
mov rax, qword [rsp + 0x168]
mov qword [rcx + rdx*8], rax
inc dword [rbx + 0x78]
mov rbx, qword [rdi]
mov r8d, dword [rbx + 0x78]
mov ecx, dword [rbx + 0x7c]
cmp r8d, ecx
jne 0x14008111c
inc r8d
test ecx, ecx
je 0x140081104
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140081109
mov eax, 8
cmp eax, r8d
lea rcx, [rbx + 0x78]
cmovg r8d, eax
mov edx, r8d
call fcn.14004de50
movsxd rdx, dword [rbx + 0x78]
mov rcx, qword [rbx + 0x80]
mov rax, qword [rsp + 0x50]
vmovups xmmword [rsp + 0x60], xmm13
mov qword [rcx + rdx*8], rax
lea rcx, [rsp + 0x60]
inc dword [rbx + 0x78]
mov rbx, qword [rdi]
call fcn.140035ee0
mov rdx, qword [rbx + 0x80]
mov r9d, eax
mov r8d, dword [rbx + 0x78]
mov rcx, rbx
call fcn.140057640
mov dword [rbx + 0x78], r12d
lea rbx, [0x140107e34]
jmp 0x140081227
cmp eax, 1
jne 0x140081227
mov rcx, qword [0x140157108]
vmovss xmm0, dword [rdi + 0x3c]
vmulss xmm1, xmm0, dword [0x1401112f8]
mov rax, qword [rcx + 0x3c28]
vmovss dword [rax + 0x64], xmm1
mov rcx, qword [rcx + 0x3c28]
call fcn.140042370
mov r10, qword [rdi]
lea rcx, [rdi + 0x1c]
call fcn.140035ee0
vmovss dword [rsp + 0x58], xmm6
vmovss dword [rsp + 0x5c], xmm8
test eax, 0xff000000
je 0x14008120d
mov r8, qword [r10 + 0x38]
lea rcx, [rsp + 0x60]
vmovups xmm0, xmmword [r10 + 0x88]
mov byte [rsp + 0x48], r12b
lea r9, [rsp + 0x58]
vmovss dword [rsp + 0x40], xmm11
vmovss xmm2, dword [r8 + 0x10]
mov qword [rsp + 0x38], r13
mov rdx, r10
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rcx
mov rcx, qword [r8 + 8]
vmovups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x20], eax
call fcn.14005d9c0
call fcn.140042410
mov rax, qword [0x140157108]
mov rcx, qword [rax + 0x3c28]
mov dword [rcx + 0x64], 0x3f800000
add rsi, 0x20
cmp rsi, r15
jne 0x140080df0
vmovaps xmm15, xmmword [rsp + 0x70]
vmovaps xmm14, xmmword [rsp + 0x80]
vmovaps xmm13, xmmword [rsp + 0x90]
vmovaps xmm12, xmmword [rsp + 0xa0]
vmovaps xmm10, xmmword [rsp + 0xc0]
vmovaps xmm9, xmmword [rsp + 0xd0]
vmovaps xmm8, xmmword [rsp + 0xe0]
vmovaps xmm7, xmmword [rsp + 0xf0]
vmovaps xmm6, xmmword [rsp + 0x100]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
mov r15, qword [rsp + 0x110]
mov r12, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
mov rdx, qword [rdi + 0x68]
mov rcx, qword [rdi + 0x60]
mov rax, rdx
sub rax, rcx
sar rax, 5
test rax, rax
je 0x1400812ca
cmp rcx, rdx
je 0x1400812ca
mov qword [rdi + 0x68], rcx
vmovaps xmm11, xmmword [rsp + 0xb0]
add rsp, 0x138
pop rdi
pop rbx
ret