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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x180049028]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r15, r8
mov r13, rdx
mov rdx, qword [r8 + 8]
sub rdx, qword [r8]
lea r9, [rsp + 0x30]
mov r8d, 0x40
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180034ffb
lea rdx, str.VirtualProtect_failed_with_status:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180001e70
xor edx, edx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180002040]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x180035208
mov rdx, qword [r15]
mov r8, qword [r15 + 8]
sub r8, rdx
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov rbx, qword [r15 + 8]
sub rbx, qword [r15]
xor ebp, ebp
mov edi, ebp
mov qword [rsp + 0x38], rbp
mov r14d, ebp
mov qword [rsp + 0x40], rbp
mov esi, ebp
mov qword [rsp + 0x48], rbp
mov ecx, ebp
mov r12d, ebp
add rbx, 0xa
je 0x18003508a
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x18003522d
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.180003f60
mov rdi, qword [rsp + 0x38]
lea r14, [rbx + rdi]
mov r8, rbx
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x40], r14
mov rcx, r14
mov r12, rdi
mov rbx, rdi
mov rsi, qword [rsp + 0x48]
jmp 0x18003508d
mov rbx, rbp
sub rcx, r12
mov qword [rsp + 0x20], rcx
lea rdx, [r13 - 5]
mov r8, rcx
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
lea rdx, str.Bytes_around_patch_area__
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180001e70
lea rdx, [0x180034850]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, r13
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x180034f60]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, rax
lea rdx, [0x1800418cc]
call fcn.180001e70
cmp qword [rsp + 0x20], 0
jbe 0x18003516c
sub r14, rbx
nop dword [rax]
lea rdx, [0x180034850]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rbx, rax
mov edx, 2
lea rcx, [rsp + 0x20]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
mov r8, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call r8
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov byte [rdx + rbx + 0x58], 0x30
movzx edx, byte [r12 + rbp]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x180041188]
call fcn.180001e70
inc rbp
cmp rbp, r14
jb 0x180035100
lea rdx, [0x180002040]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rdx, qword [r15 + 8]
sub rdx, qword [r15]
lea r9, [rsp + 0x30]
mov r8d, dword [rsp + 0x30]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1800351cd
lea rdx, str.Failed_to_restore_memory_protection_with_status:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180001e70
xor edx, edx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
lea rdx, [0x180002040]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
test rdi, rdi
je 0x180035208
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x1800351fd
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800351fd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, rdi
call fcn.180039a60
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.180039920
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180003f40
int3