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

Disassembly:
push rbp
push rdi
push r14
sub rsp, 0x60
mov rax, qword [0x140008010]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rbp, rcx
mov rdi, rdx
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, [0x140005520]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
jne 0x140001fda
lea rcx, str.Could_note_get_real_address_of_LoadLibraryA_from_kernel32.dll__n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.LastError_:_0X_x_n
call fcn.140001020
xor al, al
jmp 0x140002269
mov qword [rsp + 0x90], rbx
lea rcx, str.LoadLibraryA_is_located_at_real_address:_0X_p_n
mov rdx, r14
mov qword [rsp + 0x98], rsi
call fcn.140001020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rdi + r8], 0
jne 0x140002010
xor edx, edx
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, rax
test rax, rax
jne 0x140002062
lea rcx, str.Could_not_allocate_Memory_in_target_process_n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.LastError_:_0X_x_n
call fcn.140001020
xor al, al
jmp 0x140002259
mov rdx, rsi
lea rcx, str.Dll_path_memory_allocated_at:_0X_p_n
call fcn.140001020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140002080
mov r9, rbx
mov r8, rdi
xor ebx, ebx
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x1400020cd
lea rcx, str.Could_not_write_into_the_allocated_memory_n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.LastError_:_0X_x_n
call fcn.140001020
xor al, al
jmp 0x140002259
mov rdx, rsi
lea rcx, str.Dll_path_memory_was_written_at_address_:_0x_p_n
call fcn.140001020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x140002120
lea rcx, str.Failed_to_get_module_handle_for_ntdll.dll_n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.LastError_:_0X_x_n
call fcn.140001020
xor al, al
jmp 0x140002259
lea rdx, str.RtlCreateUserThread
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x14000215c
lea rcx, str.Failed_to_get_RtlCreateThreadEx_function_address_from_ntdll.dll_n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.LastError:_0X_x_n
call fcn.140001020
xor al, al
jmp 0x140002259
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], rcx
xor r9d, r9d
mov qword [rsp + 0x38], rsi
xor r8d, r8d
mov qword [rsp + 0x30], r14
xor edx, edx
mov qword [rsp + 0x28], rbx
mov rcx, rbp
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x50], rbx
call rax
cmp qword [rsp + 0x50], rbx
jne 0x1400021ec
lea rcx, str._nRtlCreateUserThreadEx_failed_n
call fcn.140001020
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.LastError:_0X_x_n
call fcn.140001020
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test eax, eax
je 0x1400021e8
lea rcx, str.Memory_was_freed_in_target_process_n
call fcn.140001020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor al, al
jmp 0x140002259
lea rcx, str.Thread_started_with_RtlCreateUserThread_n
call fcn.140001020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x50]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test eax, eax
je 0x140002243
lea rcx, str.Memory_was_freed_in_target_process_n
call fcn.140001020
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400031b0
add rsp, 0x60
pop r14
pop rdi
pop rbp
ret