Function at 0x140001830
Capabilities:
Create process on windows
Get common file path
Get program files directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x32d0]
mov eax, 0x33d0
call fcn.14001b360
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x32c0], rax
mov ebx, edx
lea rcx, [rbp + 0x3f0]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea r8, [0x140025b40]
mov edx, 0x104
lea rcx, [rbp + 0x3f0]
call fcn.14000ebb0
mov edx, 0x104
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea r8, [0x140025b58]
mov edx, 0x104
lea rcx, [rbp - 0x30]
call fcn.14000ebb0
xor r9d, r9d
lea rax, [rbp + 0x1e0]
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r9 + 0x26]
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea r8, [0x140025b68]
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.14000ebb0
lea r8, [0x140025b90]
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.14000ebb0
mov edx, 0x104
lea rcx, [rbp + 0x600]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea r8, [0x140025ba8]
mov edx, 0x104
lea rcx, [rbp + 0x600]
call fcn.14000ebb0
mov edx, 0x104
lea rcx, [rbp + 0x810]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea r8, [0x140025bc0]
mov edx, 0x104
lea rcx, [rbp + 0x810]
call fcn.14000ebb0
lea rcx, [0x140025be0]
cmp ebx, 3
lea rax, str.query
mov edx, 0xa28
cmove rax, rcx
lea r9, [rbp - 0x30]
mov qword [rsp + 0x40], rax
lea r8, [0x140025cd0]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rax
lea rcx, [rbp + 0xa20]
lea rax, [rbp - 0x30]
mov qword [rsp + 0x30], rax
lea rax, [0x140025c00]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1e0]
mov qword [rsp + 0x20], rax
call fcn.140001070
lea rax, [rbp - 0x30]
mov edx, 0xa28
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r8, [0x140025f80]
lea rcx, [rbp + 0x1e70]
call fcn.140001070
lea rdx, [rbp + 0xa20]
lea rcx, [0x140026070]
call fcn.140001010
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x50], 0x70
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
xor edi, edi
mov dword [rsp + 0x54], 0x40
lea rax, [0x140026078]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], rax
lea rcx, [rbp + 0x1e70]
lea rax, [rbp + 0x3f0]
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x68], rax
cmp ebx, 1
lea rax, [rbp + 0xa20]
mov dword [rbp - 0x80], edi
cmove rax, rcx
mov qword [rbp - 0x78], rdi
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x70], rax
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x140001aa0
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140001aa0
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp - 0x48]
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rcx, qword [rbp + 0x32c0]
xor rcx, rsp
call fcn.140004e70
lea r11, [rsp + 0x33d0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret