Function at 0x18009bca0
Capabilities:
Create process on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x250], rbx
mov rax, qword [0x1801b8080]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r14, r9
mov r15, rdx
mov rsi, rcx
xor r12d, r12d
test r9, r9
je 0x18009bcf1
mov qword [r9], r12
cmp qword [rcx + 0x10], r12
jne 0x18009bcfe
xor al, al
jmp 0x18009c390
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 7
mov word [rbp], r12w
lea rdx, [rbp]
call fcn.18009efb0
mov rdx, rsi
lea rcx, [rbp + 0x60]
call fcn.18009e800
nop
lea rcx, [rbp + 0x60]
cmp qword [rbp + 0x78], 8
cmovae rcx, qword [rbp + 0x60]
lea rdx, [0x18016a9f8]
call fcn.18009d0f0
mov r13d, 1
test al, al
je 0x18009c0b3
xor edx, edx
lea r8d, [r13 + 0x67]
lea rcx, [rbp + 0x80]
call fcn.18010bfb0
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x80], 0x68
mov word [rbp + 0xc0], r13w
mov dword [rbp + 0xbc], 0x81
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
mov rbx, qword [rbp - 0x10]
mov edx, 0x104
sub rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.18000d7d0
mov qword [rbp - 0x10], rbx
mov r8d, r13d
lea rdx, [0x1801637c0]
lea rcx, [rbp - 0x20]
call fcn.1800049a0
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x18009bde6
mov r9, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18009be29
lea rdi, [rcx + rdx]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp r8, 8
cmovae rbx, qword [rbp - 0x20]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.18010bb50
mov word [rbx + rdi*2], r12w
jmp 0x18009be37
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x20]
call fcn.18000d530
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rax, r8
sub rax, rcx
cmp rax, 1
jb 0x18009be7d
lea rdi, [rcx + 1]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp r8, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, [0x1801637c0]
call fcn.18010bb50
mov word [rbx + rdi*2], r12w
jmp 0x18009be95
mov qword [rsp + 0x20], r13
lea r9, [0x1801637c0]
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.18000d530
cmp qword [r15 + 0x10], 0
je 0x18009bf5c
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18009bee6
lea rdi, [rcx + 1]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, [0x18016164c]
call fcn.18010bb50
mov word [rbx + rdi*2], r12w
jmp 0x18009befe
mov qword [rsp + 0x20], r13
lea r9, [0x18016164c]
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.18000d530
mov r9, r15
cmp qword [r15 + 0x18], 8
jb 0x18009bf0b
mov r9, qword [r15]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18009bf4e
lea rdi, [rcx + rdx]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp r8, 8
cmovae rbx, qword [rbp - 0x20]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.18010bb50
mov word [rbx + rdi*2], r12w
jmp 0x18009bf5c
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x20]
call fcn.18000d530
cmp qword [rbp + 0x10], 0
jne 0x18009bf68
mov rax, r12
jmp 0x18009bf76
lea rax, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rax, qword [rbp]
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rdx, qword [rbp - 0x20]
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x18009bf91
mov rcx, qword [rsi]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x48], r8
lea r8, [rbp + 0x80]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x18009c062
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18009bfe7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x60], r12
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x18009bff5
xor bl, bl
jmp 0x18009c00c
test r14, r14
je 0x18009bfff
mov qword [r14], rcx
jmp 0x18009c00a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x58], r12
mov bl, 1
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18009c04c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c047
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3c0
call fcn.1800ece80
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
jmp 0x18009c2ef
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18009c0a2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c09d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3c6
call fcn.1800ece80
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r12w
mov r8d, 4
lea rdx, str.open
lea rcx, [rbp + 0x20]
call fcn.1800049a0
nop
mov rdx, r15
lea rcx, [rbp + 0x40]
call fcn.18000cb60
nop
xor eax, eax
mov qword [rbp - 0x5c], rax
mov qword [rbp - 0x54], rax
mov qword [rbp - 0x4c], rax
mov qword [rbp - 0x44], rax
mov qword [rbp - 0x3c], rax
mov qword [rbp - 0x34], rax
mov qword [rbp - 0x2c], rax
mov dword [rbp - 0x24], eax
mov dword [rsp + 0x70], 0x70
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x74], 0x100540
lea rax, [rbp + 0x20]
cmp qword [rbp + 0x38], 8
cmovae rax, qword [rbp + 0x20]
mov qword [rbp - 0x80], rax
cmp qword [rsi + 0x18], 8
jb 0x18009c142
mov rsi, qword [rsi]
mov qword [rbp - 0x78], rsi
lea rax, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rax, qword [rbp]
mov qword [rbp - 0x68], rax
lea rax, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rax, qword [rbp + 0x40]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x60], r13d
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
mov r8d, 0xb
lea rdx, str.Shell32.dll
lea rcx, [rbp - 0x20]
call fcn.1800049a0
nop
call fcn.1800af9b0
mov rcx, rax
lea rdx, [rbp - 0x20]
call fcn.1800afa50
mov rbx, rax
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18009c1f2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c1ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3cc
call fcn.1800ece80
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
test rbx, rbx
je 0x18009c24b
lea rdx, [0x18016acd0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18009c24b
lea rcx, [rsp + 0x70]
call rax
test eax, eax
je 0x18009c24b
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18009c24b
test r14, r14
je 0x18009c23d
mov qword [r14], rcx
mov bl, 1
jmp 0x18009c24d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x28], r12
mov bl, 1
jmp 0x18009c24d
xor bl, bl
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x18009c28d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c288
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3d2
call fcn.1800ece80
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], r12w
mov rdx, qword [rbp + 0x38]
cmp rdx, 8
jb 0x18009c2de
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c2d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3d8
call fcn.1800ece80
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r12w
mov rdx, qword [rbp + 0x78]
cmp rdx, 8
jb 0x18009c32f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c32a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3de
call fcn.1800ece80
mov qword [rbp + 0x70], r12
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r12w
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x18009c37c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009c377
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009c3ba
call fcn.1800ece80
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 7
mov word [rbp], r12w
movzx eax, bl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1800ece20
mov rbx, qword [rsp + 0x250]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18010e944
nop
call fcn.18010e944
nop
call fcn.18010e944
nop
call fcn.18010e944
nop
call fcn.18010e944
nop
call fcn.18010e944
nop
call fcn.18010e944
int3