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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x140062040]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r15, rcx
xor r13d, r13d
movsxd r14, dword [rcx + 0x3c]
add r14, rcx
mov edx, dword [r14 + 0x50]
lea r9d, [r13 + 4]
mov r12d, 0x3000
mov r8d, r12d
mov rcx, qword [r14 + 0x30]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x140003949
mov edx, dword [r14 + 0x50]
lea r9d, [r13 + 4]
mov r8d, r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x140003949
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, [rbp + 0x2c]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea eax, [rcx + rdx]
add al, al
sub r8b, al
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1400037e2
lea r8, [rbp + 0x2c]
mov rdx, r9
lea rcx, [rbp - 0x51]
call fcn.140005230
nop
mov r8, qword [rbp - 0x41]
mov rcx, qword [rbp - 0x39]
mov rax, rcx
sub rax, r8
mov r14d, 0x15
lea rdi, str.VirtualAlloc_failed:
cmp rax, r14
jb 0x1400038b5
lea rax, [r8 + 0x15]
mov qword [rbp - 0x41], rax
lea rbx, [rbp - 0x51]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x51]
lea rax, [0x140050f15]
cmp rax, rbx
jbe 0x140003879
lea rax, [rbx + r8]
cmp rdi, rax
ja 0x140003879
cmp rbx, rdi
ja 0x140003871
mov rsi, r13
jmp 0x14000387c
mov rsi, rbx
sub rsi, rdi
jmp 0x14000387c
mov rsi, r14
inc r8
lea rcx, [rbx + 0x15]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
sub r14, rsi
lea rdx, [rdi + 0x15]
add rdx, rsi
lea rcx, [rbx + rsi]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x51]
jmp 0x1400038cb
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
mov rdx, r14
lea rcx, [rbp - 0x51]
call fcn.140005360
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], r13
mov qword [rbp + 7], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x11], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 1], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp - 0x11]
call fcn.140020b80
nop
mov rdx, qword [rbp - 0x39]
cmp rdx, 0xf
jbe 0x140003bd0
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000393f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000393f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002fd40
jmp 0x140003bd0
mov r8d, dword [r14 + 0x54]
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx edi, word [r14 + 0x14]
add rdi, 0x2c
mov esi, r13d
cmp r13w, word [r14 + 6]
jae 0x140003993
add rdi, r14
nop
mov r8d, dword [rdi - 4]
mov edx, dword [rdi]
add rdx, r15
mov ecx, dword [rdi - 8]
add rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
inc esi
lea rdi, [rdi + 0x28]
movzx eax, word [r14 + 6]
cmp esi, eax
jl 0x140003970
mov rdx, rbx
call fcn.1400033d0
test al, al
je 0x140003bbf
cmp dword [r14 + 0xb4], r13d
je 0x140003a35
mov r11d, ebx
sub r11d, dword [r14 + 0x30]
je 0x140003a35
mov r8d, dword [r14 + 0xb0]
add r8, rbx
cmp dword [r8], r13d
je 0x140003a35
mov edi, 0xf000
lea r9, [r8 + 8]
mov r10d, r13d
mov edx, dword [r8 + 4]
lea rax, [rdx - 8]
test rax, 0xfffffffffffffffe
jbe 0x140003a2b
nop dword [rax + rax]
movzx edx, word [r9]
movzx eax, dx
and ax, di
cmp ax, r12w
jne 0x140003a11
and edx, 0xfff
mov ecx, dword [r8]
lea rax, [rbx + rdx]
add dword [rcx + rax], r11d
inc r10d
add r9, 2
mov edx, dword [r8 + 4]
lea rcx, [rdx - 8]
shr rcx, 1
mov eax, r10d
cmp rax, rcx
jb 0x1400039f0
mov eax, edx
add r8, rax
cmp dword [r8], r13d
jne 0x1400039d1
mov edx, dword [r14 + 0x50]
lea r9, [rbp + 0xf]
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140003bff
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, [rbp + 0x2c]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea eax, [rcx + rdx]
add al, al
sub r8b, al
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x140003a61
lea r8, [rbp + 0x2c]
mov rdx, r9
lea rcx, [rbp - 0x31]
call fcn.140005230
nop
mov r8, qword [rbp - 0x21]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
sub rax, r8
mov r15d, 0x17
lea rsi, str.VirtualProtect_failed:
cmp rax, r15
jb 0x140003b34
lea rax, [r8 + 0x17]
mov qword [rbp - 0x21], rax
lea rdi, [rbp - 0x31]
cmp rcx, 0xf
cmova rdi, qword [rbp - 0x31]
lea rax, [0x140050f2f]
cmp rax, rdi
jbe 0x140003af8
lea rax, [rdi + r8]
cmp rsi, rax
ja 0x140003af8
cmp rdi, rsi
ja 0x140003af0
mov r14, r13
jmp 0x140003afb
mov r14, rdi
sub r14, rsi
jmp 0x140003afb
mov r14, r15
inc r8
lea rcx, [rdi + 0x17]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
sub r15, r14
lea rdx, [rsi + 0x17]
add rdx, r14
lea rcx, [rdi + r14]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x31]
jmp 0x140003b4a
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
mov rdx, r15
lea rcx, [rbp - 0x31]
call fcn.140005360
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
mov qword [rbp - 0x69], r13
mov qword [rbp - 0x61], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x79], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x69], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp - 0x79]
call fcn.140020b80
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 0xf
jbe 0x140003bbf
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003bba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003bba
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14002fd40
mov r8d, 0x8000
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14002f800
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov eax, dword [r14 + 0x28]
add rax, rbx
je 0x140003c49
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call rax
test eax, eax
jne 0x140003c49
xorps xmm0, xmm0
movups xmmword [rbp - 0x79], xmm0
mov qword [rbp - 0x69], r13
mov qword [rbp - 0x61], r13
lea r8d, [rax + 0x16]
lea rdx, str.DLL_entry_point_failed
lea rcx, [rbp - 0x79]
call fcn.140004e10
lea rcx, [rbp - 0x79]
call fcn.140020b80
jmp 0x140003bbf
mov rax, rbx
jmp 0x140003bd2