Function at 0x14003965c
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rdi
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
xorps xmm3, xmm3
movaps xmmword [rax - 0x28], xmm7
movaps xmm6, xmm1
movaps xmmword [rax - 0x38], xmm8
xorps xmm2, xmm2
mov eax, dword [0x1401108dc]
movaps xmm8, xmm0
cdq
xorps xmm7, xmm7
sub eax, edx
sar eax, 1
movd xmm5, eax
mov eax, dword [0x140110930]
cdq
sub eax, edx
sar eax, 1
ucomiss xmm8, xmm3
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cvtdq2ps xmm5, xmm5
jp 0x1400396b4
je 0x1400396fc
comiss xmm8, xmm5
jbe 0x1400396df
movaps xmm2, xmm5
movaps xmm0, xmm5
subss xmm2, xmm8
addss xmm0, xmm5
xorps xmm2, xmmword [0x140040bd0]
movaps xmm1, xmm2
addss xmm1, xmm5
comiss xmm1, xmm0
jbe 0x1400396df
xorps xmm2, xmm2
comiss xmm5, xmm8
jbe 0x1400396fc
movaps xmm2, xmm8
subss xmm2, xmm5
movaps xmm0, xmm2
addss xmm0, xmm5
comiss xmm3, xmm0
jbe 0x1400396fc
xorps xmm2, xmm2
ucomiss xmm6, xmm3
jp 0x140039703
je 0x140039747
comiss xmm6, xmm4
jbe 0x14003972c
movaps xmm7, xmm4
movaps xmm0, xmm4
subss xmm7, xmm6
addss xmm0, xmm4
xorps xmm7, xmmword [0x140040bd0]
movaps xmm1, xmm7
addss xmm1, xmm4
comiss xmm1, xmm0
jbe 0x14003972c
xorps xmm7, xmm7
comiss xmm4, xmm6
jbe 0x140039747
movaps xmm7, xmm6
subss xmm7, xmm4
movaps xmm1, xmm7
addss xmm1, xmm4
comiss xmm3, xmm1
jbe 0x140039747
xorps xmm7, xmm7
divss xmm2, dword [0x14010e3fc]
and dword [rsp + 0x30], 0
and dword [rsp + 0x40], 0
and dword [rsp + 0x48], 0
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
divss xmm7, dword [0x14010e3fc]
cvttss2si eax, xmm0
movaps xmm0, xmm7
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [0x140110950]
cvttsd2si eax, xmm1
mov dword [rsp + 0x38], eax
call sub.api_ms_win_crt_math_l1_1_0.dll_floorf
cvttss2si eax, xmm0
mov edi, 0x1000
mov dword [rsp + 0x44], 0x4001
mov r9d, 0x40
mov r8d, edi
mov edx, edi
xor ecx, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, qword [0x140110958]
cvttsd2si eax, xmm1
mov dword [rsp + 0x3c], eax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x140039830
movups xmm0, xmmword [0x1401109d8]
mov r8d, 0x28
lea rdx, [rsp + 0x30]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1401109e8]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x1401109f0]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x1401109f4]
mov word [rax + 0x1c], cx
lea ecx, [r8 - 0x27]
call rbx
mov r8d, edi
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
cmp byte [0x1401107cc], 0
je 0x140039899
and qword [rsp + 0x20], 0
mov edi, 2
mov r9d, edi
mov ecx, edi
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_mouse_event]
and qword [rsp + 0x20], 0
lea ebx, [rdi + 2]
mov r9d, ebx
mov ecx, ebx
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_mouse_event]
and qword [rsp + 0x20], 0
mov r9d, edi
xor r8d, r8d
xor edx, edx
mov ecx, edi
call qword [sym.imp.USER32.dll_mouse_event]
and qword [rsp + 0x20], 0
mov r9d, ebx
xor r8d, r8d
xor edx, edx
mov ecx, ebx
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rdi
ret