Function at 0x403126
Capabilities:
Create process on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rbp + 0x10], rcx
mov dword [rbp + 0x18], edx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov qword [rbp - 0x10], 0
mov qword [rbp - 0x30], 0
mov qword [rbp - 8], 0
cmp qword [rbp + 0x28], 0
je 0x4032b3
mov dword [rbp - 0x14], 0
jmp 0x403170
add dword [rbp - 0x14], 1
mov eax, dword [rbp - 0x14]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x28]
add rax, rdx
mov rax, qword [rax]
test rax, rax
jne 0x40316c
cmp dword [rbp - 0x14], 0
jle 0x4032b3
mov dword [rbp - 0x1c], 1
mov eax, dword [rbp - 0x14]
cdqe
shl rax, 3
add rax, 0xf
add rax, 0xf
shr rax, 4
shl rax, 4
call fcn.00407220
sub rsp, rax
lea rax, [rsp + 0x50]
add rax, 0xf
shr rax, 4
shl rax, 4
mov qword [rbp - 0x38], rax
mov eax, dword [rbp - 0x14]
cdqe
lea rcx, [rax*8]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x38]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0x14]
movsxd rdx, eax
mov rax, qword [rbp - 0x38]
lea r9, [0x0040308b]
mov r8d, 8
mov rcx, rax
call sub.msvcrt.dll_qsort
mov dword [rbp - 0x18], 0
jmp 0x40324b
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp + 0x28]
add rax, rdx
mov rax, qword [rax]
mov rcx, rax
call sub.msvcrt.dll_strlen
mov edx, eax
mov eax, dword [rbp - 0x1c]
add eax, edx
add eax, 1
mov dword [rbp - 0x1c], eax
add dword [rbp - 0x18], 1
mov eax, dword [rbp - 0x18]
cmp eax, dword [rbp - 0x14]
jl 0x40321b
mov eax, dword [rbp - 0x1c]
cdqe
mov rcx, rax
call fcn.00404136
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x18], 0
jmp 0x4032a4
mov eax, dword [rbp - 0x18]
cdqe
lea rdx, [rax*8]
mov rax, qword [rbp - 0x38]
add rax, rdx
mov rdx, qword [rax]
mov rax, qword [rbp - 0x28]
mov rcx, rax
call fcn.00404290
add rax, 1
mov qword [rbp - 0x28], rax
add dword [rbp - 0x18], 1
mov eax, dword [rbp - 0x18]
cmp eax, dword [rbp - 0x14]
jl 0x403275
mov rax, qword [rbp - 0x28]
mov byte [rax], 0
mov eax, dword [rbp + 0x18]
mov edx, eax
mov rcx, qword [rbp + 0x10]
call fcn.00402dbf
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
je 0x403398
mov rax, qword [rbp + 0x20]
mov rcx, rax
call fcn.0040295c
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
je 0x40339b
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x40]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rbp + 0x38]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], 0
mov rcx, qword [rbp - 0x10]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rbp + 0x30]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], 1
mov r9d, 0
mov r8d, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessA]
call rax
test eax, eax
jne 0x403363
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, 0xffffffffffffffff
jmp 0x4033c7
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
jmp 0x4033c7
nop
jmp 0x40339c
nop
mov rax, qword [rbp - 0x10]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp - 8]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp - 0x30]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, 0xffffffffffffffff
mov rsp, rbp
pop rbp
ret