Function at 0x140001820
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x140013040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rsi, rcx
xor r12d, r12d
mov dword [rbp - 0x50], 0x68
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
mov dword [rbp - 0x14], 1
mov word [rbp - 0x10], r12w
mov r15, qword [rcx + 0x10]
movabs r13, 0x7fffffffffffffff
mov rax, r13
sub rax, r15
cmp rax, 0xb
jb 0x140001bbf
cmp qword [rcx + 0x18], 0xf
jbe 0x1400018ae
mov rsi, qword [rcx]
movups xmmword [rbp - 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x68], xmm1
lea r14, [r15 + 0xb]
mov ebx, 0xf
lea rdi, [rbp - 0x78]
cmp r14, rbx
jbe 0x140001946
mov rbx, r14
or rbx, 0xf
cmp rbx, r13
jbe 0x140001908
mov rbx, r13
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140009800
test rax, rax
je 0x140001b77
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140001942
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140001922
mov rdi, r12
jmp 0x140001942
cmp rcx, 0x1000
jb 0x14000193a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001bb9
jmp 0x1400018e9
call fcn.140009800
mov rdi, rax
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], rbx
movsd xmm0, qword [str.cmd.exe__c]
movsd qword [rdi], xmm0
movzx ecx, word [0x14000b4e8]
mov word [rdi + 8], cx
movzx eax, byte [0x14000b4ea]
mov byte [rdi + 0xa], al
lea rcx, [rdi + 0xb]
mov r8, r15
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r14], r12b
xorps xmm0, xmm0
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rdx, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x68]
add rbx, rdx
lea rsi, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rsi, qword [rbp - 0x78]
movdqu xmmword [rsp + 0x70], xmm0
mov rax, r12
mov qword [rbp - 0x80], rax
sub rbx, rsi
je 0x140001a2b
cmp rbx, r13
ja 0x140001bc5
cmp rbx, 0x1000
jb 0x1400019f8
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140001bb3
call fcn.140009800
mov rcx, rax
test rax, rax
je 0x140001b2c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140001a00
mov rcx, rbx
call fcn.140009800
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
lea rdi, [rax + rbx]
mov qword [rbp - 0x80], rdi
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x78], rdi
mov rax, qword [rbp - 0x80]
jmp 0x140001a30
mov rdi, qword [rsp + 0x78]
mov byte [rsp + 0x50], 0
cmp rdi, rax
je 0x140001a44
mov byte [rdi], 0
inc qword [rsp + 0x78]
jmp 0x140001a56
lea r8, [rsp + 0x50]
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140009020
lea rax, [rsp + 0x58]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x140001ac1
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov bl, 1
jmp 0x140001afa
lea rdx, str.Error_creating_process:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140008420
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
lea rdx, [0x1400087d0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor bl, bl
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140001b45
mov rdx, qword [rbp - 0x80]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001b33
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009b10
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140001b83
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b7e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001b7e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009b10
movzx eax, bl
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400097e0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001170
nop
call fcn.140001170
int3
call fcn.140001210
nop
call fcn.140009340
int3