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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0xa0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x140092010]
xor rax, rsp
mov qword [rsp + 0x58], rax
movaps xmm8, xmm2
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea rsi, [rsp + 0xb8]
movabs rbp, 0x7a5db90d33787107
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x30], rsi
mov rdi, qword [rsi]
xor rdi, rbp
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov qword [rsi], r8
mov rcx, qword [0x14013f418]
mov eax, dword [rcx + 0xc]
cdq
sub eax, edx
sar eax, 1
movd xmm5, eax
cvtdq2pd xmm5, xmm5
mov eax, dword [rcx + 8]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2pd xmm6, xmm6
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm2, xmm2
xorps xmm10, xmm10
ucomiss xmm1, xmm10
jp 0x140037397
je 0x1400373fe
xorps xmm7, xmm7
cvtss2sd xmm7, xmm1
comisd xmm7, xmm6
jbe 0x1400373d5
movaps xmm3, xmm6
subsd xmm3, xmm7
xorps xmm3, xmmword [0x14008b660]
movss xmm0, dword [rcx + 0x20]
cvtps2pd xmm0, xmm0
divsd xmm3, xmm0
movaps xmm1, xmm3
addsd xmm1, xmm6
movaps xmm0, xmm6
addsd xmm0, xmm6
comisd xmm1, xmm0
jbe 0x1400373d5
xorps xmm3, xmm3
comisd xmm6, xmm7
jbe 0x1400373fe
movaps xmm3, xmm7
subsd xmm3, xmm6
movss xmm0, dword [rcx + 0x20]
cvtps2pd xmm0, xmm0
divsd xmm3, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm6
comisd xmm4, xmm0
jbe 0x1400373fe
xorps xmm3, xmm3
ucomiss xmm8, xmm10
jp 0x140037406
je 0x14003746e
xorps xmm6, xmm6
cvtss2sd xmm6, xmm8
comisd xmm6, xmm5
jbe 0x140037445
movaps xmm2, xmm5
subsd xmm2, xmm6
xorps xmm2, xmmword [0x14008b660]
movss xmm0, dword [rcx + 0x20]
cvtps2pd xmm0, xmm0
divsd xmm2, xmm0
movaps xmm1, xmm2
addsd xmm1, xmm5
movaps xmm0, xmm5
addsd xmm0, xmm5
comisd xmm1, xmm0
jbe 0x140037445
xorps xmm2, xmm2
comisd xmm5, xmm6
jbe 0x14003746e
movaps xmm2, xmm6
subsd xmm2, xmm5
movss xmm0, dword [rcx + 0x20]
cvtps2pd xmm0, xmm0
divsd xmm2, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm5
comisd xmm4, xmm0
jbe 0x14003746e
xorps xmm2, xmm2
movaps xmm0, xmm3
movsd xmm1, qword [0x14008b650]
andps xmm0, xmm1
movsd xmm5, qword [0x14008b300]
comisd xmm5, xmm0
jbe 0x14003748d
xorps xmm3, xmm3
movaps xmm0, xmm2
andps xmm0, xmm1
comisd xmm5, xmm0
jbe 0x14003749c
xorps xmm2, xmm2
cvttsd2si ecx, xmm2
cvttsd2si eax, xmm3
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r8
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], ecx
mov edx, 0x1000
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x14003759c
movdqa xmm2, xmmword [0x14008b730]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [0x14013f478]
xorps xmm1, xmm0
movdqu xmmword [0x14013f478], xmm1
mov ecx, 0x10
mov edx, ecx
lea r9, [0x14013f478]
nop word [rax + rax]
xor byte [rdx + r9], 0xfa
inc rdx
cmp rdx, 0x1e
jb 0x140037510
movups xmm0, xmmword [0x14013f478]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x14013f488]
movsd qword [rax + 0x10], xmm1
mov eax, dword [0x14013f490]
mov dword [rbx + 0x18], eax
movzx eax, word [0x14013f494]
mov word [rbx + 0x1c], ax
movdqu xmm0, xmmword [0x14013f478]
xorps xmm2, xmm0
movdqu xmmword [0x14013f478], xmm2
nop dword [rax]
xor byte [rcx + r9], 0xfa
inc rcx
cmp rcx, 0x1e
jb 0x140037560
mov edx, 1
lea rcx, [rsp + 0x38]
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]
nop
xor rdi, rbp
mov qword [rsi], rdi
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14003fe60
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret