Function at 0x140095bc8
Capabilities:
Create process on windows
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov byte [rax + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov r15, rcx
mov r14b, r8b
mov edi, 0x68
lea rcx, [rbp - 0x10]
xor edx, edx
mov r8d, edi
movaps xmmword [rax - 0x48], xmm6
mov rbx, r9
call fcn.140026d50
xor esi, esi
lea eax, [rdi - 0x67]
mov dword [rbp - 0x10], edi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x68], rsi
mov dword [rbp + 0xc0], esi
mov dword [rbp + 0x2c], eax
mov word [rbp + 0x30], ax
mov edi, esi
mov r13d, esi
test r14b, r14b
je 0x140095c6a
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x18]
call fcn.140006c9c
cmp qword [rbx + 0x10], 7
mov dword [rbp + 0xc0], eax
jbe 0x140095c9c
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x38]
call fcn.140006c9c
mov edi, eax
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x38]
jmp 0x140095c88
cmp qword [rbx + 0x10], 3
jbe 0x140095cb2
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x18]
call fcn.140006c9c
mov edi, eax
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x18]
and edi, 0xffff0000
call fcn.140006c9c
movzx r13d, ax
test r14b, r14b
je 0x140095cb2
cmp qword [rbx + 0x10], 6
jbe 0x140095cad
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x30]
jmp 0x140095cc1
test r14b, r14b
jne 0x140095cca
cmp qword [rbx + 0x10], 2
jbe 0x140095cca
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 0x10]
call fcn.140006c9c
mov word [rbp + 0x30], ax
mov eax, reloc.WSOCK32.dll_recv
bt edi, 0x10
mov r12d, esi
cmovb r12d, eax
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
call fcn.140006dd4
mov rcx, rax
call fcn.14001ba54
test r14b, r14b
je 0x140095dbc
mov rcx, qword [rbx + 8]
mov qword [rsp + 0x70], rax
mov rcx, qword [rcx + 8]
call fcn.140006dd4
mov rcx, rax
call fcn.14001ba54
mov rcx, qword [rbx + 8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x78], rax
call fcn.140006dd4
mov rcx, rax
call fcn.14001ba54
mov rcx, qword [rbx + 8]
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x68], rax
call fcn.140006dd4
mov rcx, rax
call fcn.14001ba54
cmp qword [rbx + 0x10], 5
mov rdi, rax
mov qword [rsp + 0x60], rax
jbe 0x140095d82
mov rcx, qword [rbx + 8]
mov rcx, qword [rcx + 0x28]
call fcn.140006dd4
mov rcx, rax
call fcn.14001ba54
mov rsi, rax
test rax, rax
je 0x140095d82
mov rcx, rax
call fcn.140026b28
test rax, rax
jne 0x140095e36
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
mov rcx, 0xffffffffffffffff
lea edx, [rax + 1]
mov edi, eax
mov eax, 2
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.14002641c
mov edx, edi
mov rcx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
jmp 0x140095e31
mov rdi, rax
mov qword [rsp + 0x60], rax
mov eax, 1
cmp qword [rbx + 0x10], rax
jbe 0x140095df9
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 8]
call fcn.140006dd4
mov rcx, rax
call fcn.14001ba54
mov rsi, rax
test rax, rax
je 0x140095df9
mov rcx, rax
call fcn.140026b28
test rax, rax
jne 0x140095e76
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
mov rcx, 0xffffffffffffffff
lea edx, [rax + 1]
mov edi, eax
mov eax, 2
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.14002641c
mov ecx, edi
mov rdx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
mov rdi, qword [rsp + 0x60]
test r14b, r14b
je 0x140095e76
mov rcx, qword [rbx + 8]
lea rdx, [0x1400ab2d0]
mov rcx, qword [rcx]
call fcn.140006af4
mov rcx, qword [rbx + 8]
lea rdx, [0x1400ab2d0]
mov rcx, qword [rcx + 8]
call fcn.140006af4
mov rcx, qword [rbx + 8]
lea rdx, [0x1400ab2d0]
mov rcx, qword [rcx + 0x10]
call fcn.140006af4
lea rcx, [rbp - 0x60]
mov edx, r13d
call fcn.140076f1c
test r13d, r13d
je 0x140095eeb
lea rcx, [rbp - 0x60]
call fcn.140077898
mov ecx, 1
or rbx, 0xffffffffffffffff
lea r13d, [rcx - 1]
movzx edi, cl
cmp rax, rbx
lea rcx, [rbp - 0x60]
cmove edi, r13d
mov qword [rbp + 0x48], rax
call fcn.140077740
lea rcx, [rbp - 0x60]
cmp rax, rbx
mov qword [rbp + 0x50], rax
cmove edi, r13d
call fcn.1400777ec
or rcx, 0xffffffffffffffff
movzx ebx, dil
mov rdi, qword [rsp + 0x60]
cmp rax, rcx
cmove ebx, r13d
mov qword [rbp + 0x40], rax
test bl, bl
je 0x140095ef1
bts dword [rbp + 0x2c], 8
jmp 0x140095ef1
xor r13d, r13d
mov bl, r13b
test r14b, r14b
je 0x140095f9e
mov r13, qword [rsp + 0x78]
mov r9, qword [rsp + 0x68]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x10]
mov r8, r13
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 0xc0]
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], r12d
mov r12, qword [rsp + 0x70]
mov qword [rsp + 0x30], rdi
mov rdx, r12
mov dword [rsp + 0x20], eax
call fcn.140065b10
mov rcx, r12
mov r14b, al
call fcn.140026b28
mov rdi, r12
mov rcx, rax
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r13
call fcn.140026b28
mov rdi, r13
mov rcx, rax
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.140026b28
mov rcx, rax
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r12
call fcn.140024bd4
mov rcx, r13
call fcn.140024bd4
mov rcx, qword [rsp + 0x68]
call fcn.140024bd4
mov rdi, qword [rsp + 0x60]
xor r13d, r13d
jmp 0x140095fdd
lea rcx, [rbp - 0x80]
movzx eax, bl
xor r9d, r9d
mov qword [rsp + 0x48], rcx
lea rcx, [rbp - 0x10]
xor r8d, r8d
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r13
mov rdx, rdi
xor ecx, ecx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.DLL_CreateProcessW]
test eax, eax
setne r14b
mov rcx, rdi
call fcn.140024bd4
mov rcx, rsi
call fcn.140024bd4
test r14b, r14b
jne 0x14009604e
mov rax, qword [r15]
lea rcx, [r15 + 8]
movsxd rdi, dword [rax + 4]
add rcx, rdi
call fcn.140004ed0
lea rcx, [r15 + 8]
mov ebx, 1
add rcx, rdi
mov dword [rax + 0x1c], ebx
call fcn.140004ed0
mov byte [rax + 0x20], r13b
call qword [sym.imp.KERNEL32.DLL_GetLastError]
xor r8d, r8d
mov edx, eax
mov rax, qword [r15]
movsxd rcx, dword [rax + 4]
add rcx, r15
call fcn.140024fe8
mov rdi, qword [rbp + 0xd0]
mov rcx, rdi
call fcn.140006890
mov dword [rdi + 0x10], ebx
mov dword [rdi], r13d
jmp 0x1400960c9
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
test bl, bl
je 0x140096084
lea rcx, [rbp - 0x60]
call fcn.140077270
mov eax, dword [rbp - 0x70]
lea rcx, [rbp - 0x60]
mov dword [rbp - 0x5c], eax
call fcn.140077b24
lea rcx, [r15 + 0x7c0]
lea rdx, [rbp - 0x60]
call fcn.1400960f4
cmp byte [rbp + 0xb8], r13b
je 0x14009609a
mov rax, qword [rbp - 0x80]
mov qword [r15 + 0x790], rax
jmp 0x1400960c9
mov eax, dword [rbp - 0x70]
mov rdi, qword [rbp + 0xd0]
xorps xmm6, xmm6
mov rcx, rdi
cvtsi2sd xmm6, rax
call fcn.140006890
mov rcx, qword [rbp - 0x80]
movsd qword [rdi], xmm6
mov dword [rdi + 0x10], 3
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
lea rcx, [rbp - 0x60]
call fcn.140076fd0
lea r11, [rsp + 0x170]
xor eax, eax
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret