Function at 0x1400022d0
Capabilities:
Create process on windows

Disassembly:
push rbp
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
lea rdx, str.Console_initialized.
mov r15, r8
call fcn.140005320
mov rcx, rax
call fcn.140005590
call fcn.140006cc0
mov rcx, rax
test rax, rax
je 0x14000285d
mov rax, qword [rax]
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0xf8], r13
mov qword [rsp + 0xf0], r14
call qword [rax + 0x18]
or r13, 0xffffffffffffffff
xor r14d, r14d
add rax, 0x18
mov qword [rsp + 0x58], rax
test r15, r15
je 0x14000236c
cmp r15, 0x10000
jae 0x140002354
movzx edx, r15w
lea rcx, [rsp + 0x58]
call fcn.140004f70
jmp 0x14000237f
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [r15 + rax*2], r14w
jne 0x140002360
jmp 0x14000236f
mov eax, r14d
mov r8d, eax
lea rcx, [rsp + 0x58]
mov rdx, r15
call fcn.1400068b0
mov rbx, qword [rsp + 0x58]
mov edx, dword [rbx - 0x10]
test edx, edx
js 0x140002868
mov eax, dword [rbx - 0xc]
mov qword [rsp + 0x128], rsi
sub eax, edx
mov esi, 1
mov ecx, esi
sub ecx, dword [rbx - 8]
or ecx, eax
jge 0x1400023b9
lea rcx, [rsp + 0x58]
call fcn.140006ed0
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathRemoveArgsW]
test rbx, rbx
jne 0x1400023cc
mov eax, r14d
jmp 0x1400023e0
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400126a8
test eax, eax
js 0x1400028c8
cmp eax, dword [rbx - 0xc]
jg 0x1400028c8
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r14w
mov edx, dword [rbx - 0x10]
test edx, edx
js 0x140002873
mov eax, dword [rbx - 0xc]
mov ecx, esi
sub ecx, dword [rbx - 8]
sub eax, edx
or ecx, eax
jge 0x14000241b
lea rcx, [rsp + 0x58]
call fcn.140006ed0
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test rbx, rbx
jne 0x14000242e
mov eax, r14d
jmp 0x140002442
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400126a8
test eax, eax
js 0x1400028bd
cmp eax, dword [rbx - 0xc]
jg 0x1400028bd
mov dword [rbx - 0x10], eax
cdqe
mov qword [rsp + 0x130], rdi
mov qword [rsp + 0x100], r12
mov word [rbx + rax*2], r14w
cmp word [rbx], 0x22
jne 0x140002523
mov rdi, rbx
mov r12d, 0x22
nop dword [rax + rax]
add rdi, 2
cmp r12w, word [rdi]
je 0x140002480
cmp rdi, rbx
je 0x140002523
mov edx, dword [rbx - 0x10]
sub rdi, rbx
sar rdi, 1
test edx, edx
js 0x14000287e
mov eax, dword [rbx - 0xc]
sub esi, dword [rbx - 8]
sub eax, edx
or esi, eax
jge 0x1400024bf
lea rcx, [rsp + 0x58]
call fcn.140006ed0
mov rbx, qword [rsp + 0x58]
mov ecx, dword [rbx - 0x10]
mov esi, ecx
movsxd rax, edi
sub esi, edi
lea rdx, [rbx + rax*2]
lea eax, [rsi + 1]
movsxd r8, eax
add r8, r8
je 0x140002507
test rdx, rdx
jne 0x1400024ed
call fcn.140010498
mov dword [rax], 0x16
jmp 0x140002891
lea eax, [rcx + 1]
movsxd rcx, eax
add rcx, rcx
cmp rcx, r8
jb 0x140002889
mov rcx, rbx
call fcn.14000d880
test esi, esi
js 0x1400028a1
cmp esi, dword [rbx - 0xc]
jg 0x1400028a1
movsxd rax, esi
mov dword [rbx - 0x10], esi
mov word [rbx + rax*2], r14w
xor eax, eax
lea rcx, [rbp - 0x80]
xor edx, edx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
lea r8d, [rax + 0x68]
call fcn.14000dd10
mov dword [rbp - 0x80], 0x68
lea r12, [rbx - 0x18]
mov dword [rsp + 0x50], 0x80004005
mov rcx, qword [r12]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r12 + 0x10], r14d
jl 0x140002580
cmp rax, qword [r12]
jne 0x140002580
mov rdi, r12
lock inc dword [r12 + 0x10]
mov rbx, qword [rsp + 0x58]
jmp 0x1400025bd
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12 + 8]
call qword [rax]
mov rdi, rax
test rax, rax
je 0x1400028ac
mov eax, dword [r12 + 8]
lea r8, [r12 + 0x18]
mov dword [rdi + 8], eax
lea rcx, [rdi + 0x18]
mov r9d, dword [r12 + 8]
inc r9d
movsxd rdx, r9d
call fcn.140006f80
call fcn.140006cc0
mov rcx, rax
test rax, rax
je 0x1400028b2
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x60], rax
test r15, r15
je 0x14000260c
cmp r15, 0x10000
jae 0x1400025fb
movzx edx, r15w
lea rcx, [rsp + 0x60]
call fcn.140004f70
jmp 0x14000261f
mov rax, r13
nop
inc rax
cmp word [r15 + rax*2], r14w
jne 0x140002600
jmp 0x14000260f
mov eax, r14d
mov r8d, eax
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.1400068b0
lea rdx, str.Working_directory:
lea rcx, [0x140042730]
call fcn.140005630
mov rcx, rax
lea rdx, [rdi + 0x18]
call fcn.140005630
mov rsi, rax
mov rdx, qword [rax]
movsxd rcx, dword [rdx + 4]
mov dl, 0xa
add rcx, rax
call fcn.140006250
movzx edx, ax
mov rcx, rsi
call fcn.140006100
mov rcx, rsi
call fcn.140004e50
lea rdx, str.Command_line:
lea rcx, [0x140042730]
call fcn.140005630
mov rsi, qword [rsp + 0x60]
mov rcx, rax
mov rdx, rsi
call fcn.140005630
mov dl, 0xa
mov r14, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call fcn.140006250
movzx edx, ax
mov rcx, r14
call fcn.140006100
mov rcx, r14
call fcn.140004e50
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rbp - 0x80]
mov rdx, r15
mov qword [rsp + 0x40], rax
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x8000020
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000278d
lea rdx, str.Process_Created.
call fcn.140005320
mov rcx, rax
call fcn.140005590
mov rcx, qword [rsp + 0x68]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x80
je 0x140002759
cmp eax, 0x102
je 0x140002759
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x140002775
lea rdx, str.Process_exit_code:
call fcn.140005320
mov edx, dword [rsp + 0x50]
mov rcx, rax
call fcn.140002b50
mov rcx, rax
call fcn.140005590
jmp 0x140002775
lea rdx, str.Operation_timed_out
call fcn.140005320
mov rcx, rax
call fcn.140005590
mov dword [rsp + 0x50], 0x102
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400027b6
lea rdx, str.Failed_to_create_process.
call fcn.140005320
mov rcx, rax
mov rdx, rbx
call fcn.1400029b0
mov rcx, rax
call fcn.140005590
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
lea rdx, str.Return_code:
call fcn.140005320
mov edx, dword [rsp + 0x50]
mov rcx, rax
call fcn.140002b50
mov ebx, dword [rsp + 0x50]
lea rdx, [rsi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400027ec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, rdi
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x140002805
mov rcx, qword [rdi]
mov rax, qword [rcx]
call qword [rax + 8]
lock xadd dword [r12 + 0x10], r13d
sub r13d, 1
jg 0x140002820
mov rcx, qword [r12]
mov rdx, r12
mov r8, qword [rcx]
call qword [r8 + 8]
mov rdi, qword [rsp + 0x130]
mov eax, ebx
mov rbx, qword [rsp + 0x120]
mov r12, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x128]
mov r13, qword [rsp + 0xf8]
mov r14, qword [rsp + 0xf0]
add rsp, 0x108
pop r15
pop rbp
ret
mov ecx, 0x80004005
call fcn.140006f40
int3
mov ecx, 0x80070057
call fcn.140006f40
int3
mov ecx, 0x80070057
call fcn.140006f40
int3
mov ecx, 0x80070057
call fcn.140006f40
int3
call fcn.140010498
mov dword [rax], r12d
call fcn.140010348
mov ecx, 0x80070057
call fcn.140006f40
int3
mov ecx, 0x80070057
call fcn.140006f40
int3
call fcn.140006f70
int3
mov ecx, 0x80004005
call fcn.140006f40
int3
mov ecx, 0x80070057
call fcn.140006f40
int3
mov ecx, 0x80070057
call fcn.140006f40
int3