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

Disassembly:
push rbx
sub rsp, 0xc0
mov rax, qword [0x1400ce180]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, qword [0x1400d5cc0]
test rbx, rbx
je 0x140045ac6
lea rcx, [rbx + 0x2e8]
movaps xmmword [rsp + 0xb0], xmm6
call fcn.140050c10
lea rcx, [rbx + 0x2f0]
movaps xmm6, xmm0
call fcn.140050c10
addss xmm0, dword [0x1400b4ee0]
comiss xmm0, xmm6
jb 0x140045abe
mov r8d, dword [0x1400ce4d4]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0xa0], xmm7
mov rdx, rbx
movaps xmmword [rsp + 0x90], xmm8
call fcn.140043e20
cmp byte [0x1400d5c8f], 0
je 0x1400458e1
mov rcx, qword [0x1400d5cf0]
add rcx, 0x1a69
movaps xmmword [rsp + 0x80], xmm9
call fcn.140050c10
mov rcx, qword [0x1400d5cf0]
movaps xmm9, xmm0
add rcx, 0x1ccc
call fcn.140050c10
xorps xmm1, xmm1
movaps xmm8, xmm0
comiss xmm9, xmm1
jbe 0x1400458d8
movsd xmm0, qword [rsp + 0x20]
subsd xmm0, qword [0x1400ce518]
movsd xmm1, qword [0x1400b4f80]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x1400b4f80]
movaps xmm7, xmm0
movsd xmm0, qword [rsp + 0x28]
subsd xmm0, qword [0x1400ce520]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
mulsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x140045861
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x140045869
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd xmm7, qword [rsp + 0x30]
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm0, xmm7
subsd xmm0, qword [0x1400ce528]
cvtps2pd xmm1, xmm6
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
cvtps2pd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mulss xmm8, dword [0x1400b4f14]
xorps xmm1, xmm1
cvtss2sd xmm1, xmm9
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
divss xmm6, xmm0
xorps xmm0, xmm0
mulss xmm8, xmm6
mulss xmm8, xmm6
cvtss2sd xmm0, xmm8
addsd xmm7, xmm0
movsd qword [rsp + 0x30], xmm7
movaps xmm9, xmmword [rsp + 0x80]
movups xmm0, xmmword [rsp + 0x20]
lea rdx, [rsp + 0x40]
movsd xmm1, qword [rsp + 0x30]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x40], xmm0
movsd qword [rsp + 0x50], xmm1
call fcn.1400439f0
movsd xmm6, qword [rsp + 0x20]
xorps xmm4, xmm4
ucomisd xmm6, xmm4
movss xmm7, dword [0x1400ce218]
xorps xmm3, xmm3
movsd xmm8, qword [0x1400b5540]
xorps xmm2, xmm2
jp 0x14004592e
je 0x140045992
mov eax, dword [0x1400d5d28]
movd xmm5, eax
cvtdq2pd xmm5, xmm5
comisd xmm6, xmm5
jbe 0x14004596e
movaps xmm3, xmm5
add eax, eax
subsd xmm3, xmm6
cvtps2pd xmm0, xmm7
xorps xmm3, xmm8
divsd xmm3, xmm0
movd xmm0, eax
movaps xmm1, xmm3
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm5
comisd xmm1, xmm0
jbe 0x14004596e
xorps xmm3, xmm3
comisd xmm5, xmm6
jbe 0x140045992
movaps xmm3, xmm6
cvtps2pd xmm0, xmm7
subsd xmm3, xmm5
divsd xmm3, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm5
comisd xmm4, xmm0
jbe 0x140045992
xorps xmm3, xmm3
movsd xmm6, qword [rsp + 0x28]
ucomisd xmm6, xmm4
jp 0x1400459a0
je 0x140045a04
mov eax, dword [0x1400d5d48]
movd xmm5, eax
cvtdq2pd xmm5, xmm5
comisd xmm6, xmm5
jbe 0x1400459e0
movaps xmm2, xmm5
add eax, eax
subsd xmm2, xmm6
cvtps2pd xmm0, xmm7
xorps xmm2, xmm8
divsd xmm2, xmm0
movd xmm0, eax
movaps xmm1, xmm2
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm5
comisd xmm1, xmm0
jbe 0x1400459e0
xorps xmm2, xmm2
comisd xmm5, xmm6
jbe 0x140045a04
movaps xmm2, xmm6
cvtps2pd xmm0, xmm7
subsd xmm2, xmm5
divsd xmm2, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm5
comisd xmm4, xmm0
jbe 0x140045a04
xorps xmm2, xmm2
xor eax, eax
mov qword [rsp + 0x54], 0x4001
mov qword [rsp + 0x40], rax
mov edx, 0x1000
mov qword [rsp + 0x5c], rax
xor ecx, ecx
mov dword [rsp + 0x64], eax
mov r9d, 0x40
mov dword [rsp + 0x50], eax
mov r8d, edx
cvttsd2si eax, xmm3
mov dword [rsp + 0x48], eax
cvttsd2si eax, xmm2
mov dword [rsp + 0x4c], eax
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
movaps xmm8, xmmword [rsp + 0x90]
mov rbx, rax
movaps xmm7, xmmword [rsp + 0xa0]
test rax, rax
je 0x140045abe
movups xmm0, xmmword [0x1400d5c28]
mov r8d, 0x28
lea rdx, [rsp + 0x40]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x1400d5c38]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x1400d5c40]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x1400d5c44]
mov word [rax + 0x1c], cx
mov ecx, 1
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]
movaps xmm6, xmmword [rsp + 0xb0]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14009fd20
add rsp, 0xc0
pop rbx
ret