Function at 0x1400f3480
Capabilities:
Create process on windows

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x320
mov rax, qword [0x1401ce8a8]
xor rax, rsp
mov qword [rsp + 0x2f0], rax
mov rax, qword gs:[0x58]
mov rbx, rcx
mov ecx, dword [0x14022e720]
mov rsi, r8
movsxd rdi, edx
mov edx, 4
mov qword [rsp + 0x50], r8
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x1402281f8], eax
jg 0x1400f380d
lea rax, [rsp + 0xe0]
mov dword [rsp + 0x28], 0x104
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
mov r8, rbx
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x1400f37f2
mov qword [rsp + 0x348], rbp
lea rcx, [0x1402281d0]
mov qword [rsp + 0x318], r12
mov qword [rsp + 0x310], r13
mov qword [rsp + 0x308], r14
mov qword [rsp + 0x300], r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
lea rbp, [0x140228200]
mov word [0x140228200], bx
mov r14, rbp
mov r13, rdi
test edi, edi
jle 0x1400f370b
mov r15d, ebx
lea edx, [rbx + 0x20]
nop
test r15, r15
je 0x1400f3582
mov rax, r14
sub rax, rbp
sar rax, 1
cmp rax, 0x1fff
jae 0x1400f37bb
mov word [r14], dx
add r14, 2
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, qword [rsi + r15*8]
mov eax, 0x2000
mov r12, r14
mov r9d, 0xffffffff
sub r12, rbp
xor edx, edx
sar r12, 1
mov ecx, 0xfde9
sub eax, r12d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x1400f35cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1400f37bb
movzx eax, word [r14]
xor bpl, bpl
mov rdi, r14
test ax, ax
je 0x1400f3696
cmp ax, 0x20
je 0x1400f367d
cmp ax, 9
je 0x1400f367d
mov ecx, ebx
cmp ax, 0x5c
jne 0x1400f3610
nop dword [rax]
movzx eax, word [rdi + 2]
add rdi, 2
inc ecx
cmp ax, 0x5c
je 0x1400f3600
cmp ax, 0x22
jne 0x1400f3680
inc ecx
mov r9, 0xffffffffffffffff
nop
inc r9
cmp word [rdi + r9*2], 0
jne 0x1400f3620
lea rdx, [0x140228200]
mov ebx, ecx
mov rax, rdi
sub rax, rdx
mov edx, 0x2000
sar rax, 1
sub rdx, rax
lea rax, [rcx + r9]
cmp rax, rdx
jae 0x1400f37bb
lea rsi, [rdi + rcx*2]
sub rdx, rbx
mov rcx, rsi
mov r8, rdi
call fcn.1401492cc
test rbx, rbx
je 0x1400f3676
mov eax, 0x5c
mov ecx, ebx
movzx eax, ax
rep stosw word [rdi], ax
mov rdi, rsi
xor ebx, ebx
jmp 0x1400f3680
mov bpl, 1
movzx eax, word [rdi + 2]
add rdi, 2
test ax, ax
jne 0x1400f35e0
mov rsi, qword [rsp + 0x50]
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x1400f36a0
test bpl, bpl
je 0x1400f36ef
mov edx, 0x2000
lea rax, [rdi + 2]
sub rdx, r12
cmp rax, rdx
jae 0x1400f37bb
dec rdx
lea rcx, [r14 + 2]
mov r9, rdi
mov r8, r14
call fcn.1401492cc
mov eax, 0x22
mov word [r14], ax
lea r14, [r14 + rdi*2]
mov word [r14 + 2], ax
add r14, 4
jmp 0x1400f36f3
lea r14, [r14 + rdi*2]
inc r15
lea rbp, [0x140228200]
mov edx, 0x20
cmp r15, r13
jl 0x1400f3560
mov word [r14], bx
lea rcx, [rsp + 0xe0]
xorps xmm0, xmm0
mov dword [rsp + 0x70], 0x68
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x68], rax
xor r8d, r8d
lea rax, [rsp + 0x58]
mov rdx, rbp
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0x58], xmm0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x1400f37bb
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x1402281d0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
jmp 0x1400f37ca
lea rcx, [0x1402281d0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
mov r14, qword [rsp + 0x308]
mov r13, qword [rsp + 0x310]
mov r12, qword [rsp + 0x318]
mov rbp, qword [rsp + 0x348]
mov r15, qword [rsp + 0x300]
mov rcx, qword [rsp + 0x2f0]
xor rcx, rsp
call fcn.140128f20
add rsp, 0x320
pop rdi
pop rsi
pop rbx
ret
lea rcx, [0x1402281f8]
call fcn.1401295b8
cmp dword [0x1402281f8], 0xffffffff
jne 0x1400f34d2
lea rcx, [0x1402281d0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x1401632b0]
call fcn.140129418
lea rcx, [0x1402281f8]
call fcn.140129558
jmp 0x1400f34d2