Function at 0x140022e20
Capabilities:
Create process on windows

Disassembly:
push rsi
push rdi
push r12
mov eax, 0x1b10
call fcn.1400a7480
sub rsp, rax
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x1b30], rbx
mov qword [rsp + 0x1b48], rbp
mov rax, qword [0x1400e2e38]
xor rax, rsp
mov qword [rsp + 0x1b00], rax
mov rbp, r8
mov rsi, rdx
mov word [rsp + 0xf0], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xf2]
call fcn.140082240
xor r12d, r12d
mov dword [rsp + 0x50], r12d
mov r8, rsi
mov edx, 0x104
lea rcx, [rsp + 0xf0]
call fcn.14007dab0
lea rbx, [rsp + 0xf0]
cmp word [rsi], 0x22
jne 0x140022edc
lea rbx, [rsp + 0xf2]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xf0]
repne scasw ax, word [rdi]
not rcx
cmp word [rsp + rcx*2 + 0xec], 0x22
jne 0x140022edc
mov word [rsp + rcx*2 + 0xec], ax
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rsp + 0x80]
call fcn.140082240
mov dword [rsp + 0x80], WSAGetLastError
mov word [rsp + 0xb00], r12w
xor edx, edx
mov r8d, 0xffe
lea rcx, [rsp + 0xb02]
call fcn.140082240
mov qword [rsp + 0x20], rbp
mov r9, rbx
lea r8, str._s__s
mov edx, 0x800
lea rcx, [rsp + 0xb00]
call fcn.14007d810
mov word [rsp + 0x300], r12w
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rsp + 0x302]
call fcn.140082240
mov r9, rsi
lea r8, str.__s_
mov edx, 0x400
lea rcx, [rsp + 0x300]
call fcn.14007d810
mov rax, qword [0x1400ec150]
test rax, rax
jne 0x140022fa7
mov ecx, 0x310
call fcn.140051b7c
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140022f9d
mov rcx, rax
call fcn.140023810
jmp 0x140022fa0
mov rax, r12
mov qword [0x1400ec150], rax
lea r8, [rsp + 0xb00]
lea rdx, str.CreateProcess__s
mov rcx, rax
call fcn.140023be0
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x48], rdx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 8
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0xb00]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x140023162
mov rdi, qword [0x1400ec150]
test rdi, rdi
jne 0x140023041
mov ecx, 0x310
call fcn.140051b7c
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140023037
mov rcx, rax
call fcn.140023810
mov rdi, rax
jmp 0x14002303a
mov rdi, r12
mov qword [0x1400ec150], rdi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea r8, str.CreateProcess_failed
mov rcx, rdi
call fcn.140023e20
mov rax, qword [0x1400ec150]
test rax, rax
jne 0x14002308c
mov ecx, 0x310
call fcn.140051b7c
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140023082
mov rcx, rax
call fcn.140023810
jmp 0x140023085
mov rax, r12
mov qword [0x1400ec150], rax
lea rdx, str.Attempt_spawn_before_giving_up...
mov rcx, rax
call fcn.140023be0
mov rax, qword [0x1400ec150]
test rax, rax
jne 0x1400230cf
mov ecx, 0x310
call fcn.140051b7c
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400230c5
mov rcx, rax
call fcn.140023810
jmp 0x1400230c8
mov rax, r12
mov qword [0x1400ec150], rax
mov r9, rbp
lea r8, [rsp + 0x300]
lea rdx, str._tspawnl__s__s
mov rcx, rax
call fcn.140023be0
mov qword [rsp + 0x20], r12
mov r9, rbp
lea r8, [rsp + 0x300]
mov rdx, rsi
mov ecx, 1
call fcn.14007dd30
mov dword [rsp + 0x50], eax
cmp eax, 0xffffffff
jne 0x140023184
mov rdi, qword [0x1400ec150]
test rdi, rdi
jne 0x140023146
mov ecx, 0x310
call fcn.140051b7c
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14002313c
mov rcx, rax
call fcn.140023810
mov rdi, rax
jmp 0x14002313f
mov rdi, r12
mov qword [0x1400ec150], rdi
call fcn.14007f4d0
lea r8, str.tspawn_failed
mov edx, dword [rax]
mov rcx, rdi
call fcn.140023e20
mov eax, dword [rsp + 0x50]
jmp 0x140023184
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x50], eax
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x1b00]
xor rcx, rsp
call fcn.14007d3d0
lea r11, [rsp + 0x1b10]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret