Function at 0x140003190
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
sub rsp, 0xa8
mov rax, qword [0x140046010]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov eax, dword [0x140046044]
movaps xmm5, xmm1
movaps xmmword [rsp + 0x90], xmm6
xorps xmm3, xmm3
movaps xmmword [rsp + 0x70], xmm8
movaps xmm6, xmm0
movd xmm8, dword [0x140046c54]
xorps xmm4, xmm4
movaps xmmword [rsp + 0x60], xmm9
xorps xmm2, xmm2
movd xmm9, dword [0x140046c50]
movaps xmmword [rsp + 0x50], xmm10
xorps xmm10, xmm10
ucomisd xmm0, xmm10
cvtdq2ps xmm9, xmm9
cvtdq2ps xmm8, xmm8
jp 0x1400031fc
je 0x14000327b
movaps xmmword [rsp + 0x80], xmm7
cvtps2pd xmm7, xmm9
comisd xmm6, xmm7
jbe 0x140003247
xorps xmm4, xmm4
movaps xmm0, xmm7
subsd xmm0, xmm6
xorps xmm0, xmmword [0x14003ecc0]
cvtsd2ss xmm4, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm4, xmm0
movaps xmm0, xmm9
movaps xmm1, xmm4
addss xmm0, xmm9
addss xmm1, xmm9
comiss xmm1, xmm0
jbe 0x140003247
xorps xmm4, xmm4
comisd xmm7, xmm6
jbe 0x140003273
xorps xmm4, xmm4
movd xmm0, eax
subsd xmm6, xmm7
cvtdq2ps xmm0, xmm0
cvtsd2ss xmm4, xmm6
divss xmm4, xmm0
movaps xmm1, xmm4
addss xmm1, xmm9
comiss xmm3, xmm1
jbe 0x140003273
xorps xmm4, xmm4
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x60]
ucomisd xmm5, xmm10
movaps xmm10, xmmword [rsp + 0x50]
jp 0x140003290
je 0x1400032ff
cvtps2pd xmm6, xmm8
comisd xmm5, xmm6
jbe 0x1400032d3
xorps xmm2, xmm2
movaps xmm0, xmm6
subsd xmm0, xmm5
xorps xmm0, xmmword [0x14003ecc0]
cvtsd2ss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movaps xmm0, xmm8
movaps xmm1, xmm2
addss xmm0, xmm8
addss xmm1, xmm8
comiss xmm1, xmm0
jbe 0x1400032d3
xorps xmm2, xmm2
comisd xmm6, xmm5
jbe 0x1400032ff
xorps xmm2, xmm2
movd xmm0, eax
subsd xmm5, xmm6
cvtdq2ps xmm0, xmm0
cvtsd2ss xmm2, xmm5
divss xmm2, xmm0
movaps xmm1, xmm2
addss xmm1, xmm8
comiss xmm3, xmm1
jbe 0x1400032ff
xorps xmm2, xmm2
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x90]
cvttss2si ecx, xmm4
cvttss2si eax, xmm2
test ecx, ecx
jne 0x140003321
test eax, eax
je 0x140003423
mov dword [rsp + 0x20], ecx
mov edx, 0x1000
xor ecx, ecx
mov qword [rsp + 0xa0], rbx
xorps xmm0, xmm0
mov qword [rsp + 0x38], 0
mov r8d, edx
mov dword [rsp + 0x24], eax
movdqu xmmword [rsp + 0x28], xmm0
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x14000341b
movdqu xmm0, xmmword [0x140046b58]
lea r9, [0x140046b58]
mov ecx, 0x10
movdqa xmm2, xmmword [0x14003ed00]
mov edx, ecx
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [0x140046b58], xmm1
xor byte [rdx + r9], 0xfa
inc rdx
cmp rdx, 0x1e
jb 0x140003390
movups xmm0, xmmword [0x140046b58]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140046b68]
movsd qword [rax + 0x10], xmm1
mov eax, dword [0x140046b70]
mov dword [rbx + 0x18], eax
movzx eax, word [0x140046b74]
mov word [rbx + 0x1c], ax
movdqu xmm0, xmmword [0x140046b58]
xorps xmm2, xmm0
movdqu xmmword [0x140046b58], xmm2
nop dword [rax]
xor byte [rcx + r9], 0xfa
inc rcx
cmp rcx, 0x1e
jb 0x1400033e0
mov edx, 1
lea rcx, [rsp + 0x20]
call rbx
xor edx, edx
mov r8d, 0x1000
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1400373e0
add rsp, 0xa8
ret