Function at 0x14001622c
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
xor edi, edi
mov ebp, ecx
cmp ecx, edi
lea r12d, [rdi + 3]
mov r14d, edi
mov r13b, dil
je 0x14001626e
cmp ecx, 1
je 0x14001626e
jle 0x140016273
cmp ecx, r12d
jle 0x14001626e
cmp ecx, 4
jne 0x140016273
mov r13b, 1
mov r15, r8
jmp 0x1400162b5
call fcn.140013f44
mov dword [rax], edi
call fcn.140013f24
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov dword [rax], 0x16
mov qword [rsp + 0x20], rdi
call fcn.14001345c
jmp 0x1400164e5
add r8, 1
cmp byte [r8], dil
jne 0x14001629e
cmp byte [r8 + 1], dil
je 0x1400162b5
mov byte [r8], 0x20
add r8, 1
cmp byte [r8], dil
jne 0x14001629e
mov ebx, 0x68
lea rcx, [rsp + 0x70]
xor edx, edx
mov r8, rbx
call fcn.140018360
mov dword [rsp + 0x70], ebx
mov ebx, dword [0x14001fec8]
cmp ebx, edi
lea r9, [0x14001fee0]
je 0x140016318
lea r8d, [rbx - 1]
movsxd rax, r8d
mov cl, al
mov rdx, rax
sar rdx, 5
and ecx, 0x1f
mov rax, qword [r9 + rdx*8]
imul rcx, rcx, 0x38
cmp byte [rax + rcx + 8], dil
jne 0x140016310
sub ebx, 1
sub r8d, 1
cmp ebx, edi
jne 0x1400162e7
cmp ebx, edi
jl 0x1400164da
cmp ebx, 0x1c71
jae 0x1400164da
movzx eax, bx
mov edx, 1
shl ax, 3
lea ecx, [rax + rbx + 4]
mov word [rsp + 0xb2], cx
movzx ecx, cx
call fcn.140015838
cmp rax, rdi
mov qword [rsp + 0xb8], rax
je 0x1400164da
cmp ebx, edi
mov dword [rax], ebx
mov rax, qword [rsp + 0xb8]
movsxd r11, ebx
lea rcx, [rax + 4]
lea rdx, [r11 + rax + 4]
jle 0x1400163c8
mov r8, rdi
mov r9d, ebx
lea r11, [0x14001fee0]
mov r10b, r8b
mov rax, r8
and r10d, 0x1f
sar rax, 5
imul r10, r10, 0x38
add r10, qword [r11 + rax*8]
mov al, byte [r10 + 8]
test al, 0x10
jne 0x1400163a4
mov byte [rcx], al
mov rax, qword [r10]
mov qword [rdx], rax
jmp 0x1400163ab
mov byte [rcx], dil
or qword [rdx], 0xffffffffffffffff
add r8, 1
add rcx, 1
add rdx, 8
sub r9, 1
jne 0x14001637c
mov rax, qword [rsp + 0xb8]
movsxd r11, ebx
cmp r13b, dil
je 0x140016400
cmp ebx, r12d
lea rcx, [rax + 4]
lea rdx, [r11 + rax + 4]
cmovl r12d, ebx
cmp r12d, edi
jle 0x1400163fa
mov eax, r12d
mov byte [rcx], dil
or qword [rdx], 0xffffffffffffffff
add rdx, 8
add rcx, 1
sub rax, 1
jne 0x1400163e5
mov r14d, 8
call fcn.140013f44
mov rcx, qword [rsp + 0x128]
xor r9d, r9d
mov dword [rax], edi
lea rax, [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
mov rdx, r15
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0xb8]
mov r12d, eax
call fcn.140013474
cmp ebx, edi
jne 0x140016477
mov ecx, r12d
call fcn.140013f64
jmp 0x1400164e5
cmp ebp, 2
jne 0x140016484
xor ecx, ecx
call fcn.140013b18
int3
cmp ebp, edi
jne 0x1400164b3
mov rcx, qword [rsp + 0x50]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
movsxd rdi, dword [rsp + 0x120]
jmp 0x1400164b8
cmp ebp, 4
jne 0x1400164c5
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400164ca
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, rdi
jmp 0x1400164e9
call fcn.140013f24
mov dword [rax], 0xc
or rax, 0xffffffffffffffff
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret