Function at 0x140097670
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov r12, r9
mov r14, r8
mov rsi, rdx
mov rdi, rcx
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rbx, rax
xor edx, edx
mov r8d, 0x220
lea rcx, [rbp - 0x60]
call fcn.140069420
test rbx, rbx
je 0x1400979b8
lea rdx, [0x1400adf60]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x80], rax
lea rdx, [0x1400adf70]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x78], rax
lea rdx, [0x1400adf80]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x70], rax
cmp qword [rbp - 0x80], 0
je 0x14009797a
cmp qword [rbp - 0x78], 0
je 0x14009797a
test rax, rax
je 0x14009797a
mov rbx, qword [rbp + 0x530]
mov qword [rbp - 0x68], rbx
test r14, r14
je 0x140097754
mov r9d, 0x14
mov r8, r14
mov edx, r9d
lea rcx, [rbp - 0x60]
call fcn.140088560
mov byte [rbp - 0x4c], 0
jmp 0x140097758
mov byte [rbp - 0x60], 0
mov r9d, 0x103
mov r8, rsi
lea edx, [r9 + 1]
lea rcx, [rbp - 0x4a]
call fcn.14008febc
xor eax, eax
mov word [rbp + 0x1bc], ax
mov rsi, qword [rbp + 0x520]
lea r8, [rsi + 0x240]
mov dword [rsp + 0x20], 4
xor edx, edx
mov r9d, 0x3000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r15, rax
test rax, rax
je 0x1400979f6
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x240
lea r8, [rbp - 0x80]
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140097a34
cmp qword [rsp + 0x30], 0x240
jne 0x140097a72
test r12, r12
je 0x140097819
lea rdx, [r15 + 0x240]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, rsi
mov r8, r12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140097ab0
cmp qword [rsp + 0x30], rsi
jne 0x140097aee
lea rcx, [rbp + 0x3a0]
call fcn.140008940
nop
mov r8d, 2
lea rdx, [rbp + 0x3a0]
lea rcx, [rbp + 0x1c0]
call fcn.1400097d0
nop
test rbx, rbx
je 0x140097892
movabs rax, 0xffffffff00000004
mov qword [rsp + 0x38], rax
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x38]
mov r8, qword [0x1400cbc60]
mov edx, 0x12f
lea rcx, [rbp + 0x1c0]
call fcn.140009730
mov r8, qword [0x1400cbc60]
mov edx, 0x202
lea rcx, [rbp + 0x1c0]
call fcn.140009710
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x80]
movzx r8d, byte [rbp + 0x528]
lea rdx, [rbp + 0x1c0]
mov rcx, rsi
call fcn.140097bb0
xor r8d, r8d
mov edx, 0x22c
lea rcx, [rbp + 0x1c0]
call fcn.140009750
mov rcx, qword [rbp + 0x220]
sub rcx, qword [rbp + 0x210]
mov ebx, dword [rbp + 0x228]
add rbx, rcx
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8, rbx
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, rax
test rax, rax
je 0x140097b2c
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, qword [rbp + 0x210]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140097b6a
cmp qword [rsp + 0x30], rbx
jne 0x140097b6a
lea rcx, [rbp + 0x1c0]
call fcn.140009950
nop
lea rcx, [rbp + 0x3a0]
call fcn.140008b30
mov rax, rsi
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_determine_address_for_required_functions
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.kernel32.dll_not_loaded_
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_allocate_memory_in_target_process
lea rcx, [rsp + 0x38]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x58]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_write_control_data_to_target_process
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_write_whole_control_data_to_target_process
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_write_user_data_to_target_process
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_write_whole_user_data_to_target_process
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_allocate_memory_for_stub
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.failed_to_write_stub_to_target_process
lea rcx, [rsp + 0x58]
call fcn.140016690
nop
mov r8d, ebx
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.140018560
lea rdx, [0x1400c7df0]
lea rcx, [rsp + 0x38]
call fcn.140067efc
int3