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

Disassembly:
push rbx
sub rsp, 0xc0
mov rax, qword [0x140076140]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, qword [0x140078ad8]
test rbx, rbx
je 0x140045b83
lea rcx, [rbx + 0x2e8]
movaps xmmword [rsp + 0xb0], xmm6
call fcn.14004dec0
lea rcx, [rbx + 0x2f0]
movaps xmm6, xmm0
call fcn.14004dec0
addss xmm0, dword [0x14006a744]
comiss xmm0, xmm6
jb 0x140045b7b
mov r8d, dword [0x140076484]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0xa0], xmm7
mov rdx, rbx
movaps xmmword [rsp + 0x90], xmm8
call fcn.140044900
cmp byte [0x140078ab7], 0
je 0x1400459a1
mov rcx, qword [0x140078b08]
add rcx, 0x1a69
movaps xmmword [rsp + 0x80], xmm9
call fcn.14004dec0
mov rcx, qword [0x140078b08]
movaps xmm9, xmm0
add rcx, 0x1ccc
call fcn.14004dec0
xorps xmm1, xmm1
movaps xmm8, xmm0
comiss xmm9, xmm1
jbe 0x140045998
movsd xmm0, qword [rsp + 0x20]
subsd xmm0, qword [0x1400764c8]
movsd xmm1, qword [0x14006a7e0]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x14006a7e0]
movaps xmm7, xmm0
movsd xmm0, qword [rsp + 0x28]
subsd xmm0, qword [0x1400764d0]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
mulsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x140045921
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x140045929
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 [0x1400764d8]
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 [0x14006a774]
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.1400444b0
movsd xmm6, qword [rsp + 0x20]
xorps xmm4, xmm4
ucomisd xmm6, xmm4
movss xmm7, dword [0x1400761c8]
xorps xmm3, xmm3
movsd xmm8, qword [0x14006ab30]
xorps xmm2, xmm2
jp 0x1400459ee
je 0x140045a52
mov eax, dword [0x140078b38]
movd xmm5, eax
cvtdq2pd xmm5, xmm5
comisd xmm6, xmm5
jbe 0x140045a2e
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 0x140045a2e
xorps xmm3, xmm3
comisd xmm5, xmm6
jbe 0x140045a52
movaps xmm3, xmm6
cvtps2pd xmm0, xmm7
subsd xmm3, xmm5
divsd xmm3, xmm0
movaps xmm0, xmm3
addsd xmm0, xmm5
comisd xmm4, xmm0
jbe 0x140045a52
xorps xmm3, xmm3
movsd xmm6, qword [rsp + 0x28]
ucomisd xmm6, xmm4
jp 0x140045a60
je 0x140045ac4
mov eax, dword [0x140078b48]
movd xmm5, eax
cvtdq2pd xmm5, xmm5
comisd xmm6, xmm5
jbe 0x140045aa0
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 0x140045aa0
xorps xmm2, xmm2
comisd xmm5, xmm6
jbe 0x140045ac4
movaps xmm2, xmm6
cvtps2pd xmm0, xmm7
subsd xmm2, xmm5
divsd xmm2, xmm0
movaps xmm0, xmm2
addsd xmm0, xmm5
comisd xmm4, xmm0
jbe 0x140045ac4
xorps xmm2, xmm2
xor eax, eax
mov qword [rsp + 0x54], 0x4001
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x5c], rax
mov edx, 0x1000
mov dword [rsp + 0x64], eax
mov r8d, edx
mov dword [rsp + 0x50], eax
cvttsd2si eax, xmm3
lea r9d, [rcx + 0x40]
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 0x140045b7b
movups xmm0, xmmword [0x140078a78]
mov r8d, 0x28
lea rdx, [rsp + 0x40]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140078a88]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x140078a90]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x140078a94]
mov word [rax + 0x1c], cx
lea ecx, [r8 - 0x27]
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.14005ed70
add rsp, 0xc0
pop rbx
ret