Function at 0x140001000
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1b28]
mov eax, 0x1c00
call fcn.1400029b0
sub rsp, rax
mov rax, qword [0x14000c030]
xor rax, rsp
mov qword [rbp + 0x1af0], rax
lea rcx, str.kernel32.dll
xor r15d, r15d
mov rbx, r8
xor r14d, r14d
xor r13d, r13d
xor r12d, r12d
mov dword [rsp + 0x30], r15d
xor esi, esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea edi, [rsi + 1]
test rax, rax
je 0x140001094
lea rdx, str.SetDefaultDllDirectories
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140001094
mov ecx, 0x800
call rax
test eax, eax
je 0x140001094
mov r15d, edi
mov dword [rsp + 0x30], edi
jmp 0x14000122a
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x1400010c4
lea rdx, str.SetDllDirectoryA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400010c4
lea rcx, [0x1400083d6]
call rax
mov edi, 0x104
lea rcx, [rbp + 0x1490]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea rcx, [rbp + 0x1490]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
cmp byte [rbp + rcx + 0x148f], 0x5c
je 0x140001106
lea rdx, [0x1400083d4]
lea rcx, [rbp + 0x1490]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rbp + 0x16b0]
mov r8, rdi
xor edx, edx
call fcn.140002880
lea rdx, [rbp + 0x1490]
lea rcx, [rbp + 0x16b0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.ntmarta.dll
lea rcx, [rbp + 0x16b0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rbp + 0x16b0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [rbp + 0x19e0]
mov r8, rdi
xor edx, edx
mov r14, rax
call fcn.140002880
lea rdx, [rbp + 0x1490]
lea rcx, [rbp + 0x19e0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.PROPSYS.dll
lea rcx, [rbp + 0x19e0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rbp + 0x19e0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [rbp + 0x18d0]
mov r8, rdi
xor edx, edx
mov r13, rax
call fcn.140002880
lea rdx, [rbp + 0x1490]
lea rcx, [rbp + 0x18d0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.Secur32.dll
lea rcx, [rbp + 0x18d0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rbp + 0x18d0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, [rbp + 0x17c0]
mov r8, rdi
xor edx, edx
mov r12, rax
call fcn.140002880
lea rdx, [rbp + 0x1490]
lea rcx, [rbp + 0x17c0]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, str.api_ms_win_downlevel_advapi32_l2_1_0.dll
lea rcx, [rbp + 0x17c0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rbp + 0x17c0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
and dword [0x14000cf20], 0
mov edx, 0x7f02
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorA]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
lea rcx, [rsp + 0x40]
call fcn.14000146c
mov edi, 0x800
lea rcx, [rbp + 0x748]
mov r8d, edi
xor edx, edx
call fcn.140002880
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, edi
jge 0x140001284
lea rcx, [rbp + 0x748]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
and dword [rbp + 0x104c], 0
lea rcx, [rbp + 0xf48]
xor edx, edx
mov r8d, 0x104
call fcn.140002880
xor edi, edi
cmp dword [0x14000cf2c], edi
jle 0x140001396
xor ebx, ebx
lea r15d, [rdi + 1]
mov rdx, qword [0x14000cf30]
lea rcx, [rbp + 0x15a0]
mov rdx, qword [rbx + rdx]
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp byte [rbp + 0x15a0], 0x2f
jne 0x140001340
mov al, byte [rbp + 0x15a1]
cmp al, 0x54
je 0x140001305
cmp al, 0x57
je 0x1400012ea
cmp al, 0x74
je 0x140001305
cmp al, 0x77
jne 0x140001340
lea rcx, [rbp + 0x15a0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 2
jne 0x140001340
mov dword [rbp + 0x104c], r15d
jmp 0x140001340
lea rcx, [rbp + 0x15a0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 3
jle 0x140001340
cmp byte [rbp + 0x15a2], 0x3a
jne 0x140001340
movsxd r8, eax
cmp r8, 3
jle 0x140001340
lea rdx, [rbp + 0x15a3]
lea rcx, [rbp + 0xf48]
add r8, 0xfffffffffffffffd
call fcn.140002a10
or ecx, 0xffffffff
lea rax, str._DBG
lea r8, [rbp + 0x15a0]
mov dword [rsp + 0x28], ecx
mov r9d, ecx
mov ecx, 0x7f
mov edx, r15d
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_CompareStringA]
mov ecx, dword [0x14000cf20]
cmp eax, 2
cmove ecx, r15d
add edi, r15d
add rbx, 8
cmp edi, dword [0x14000cf2c]
mov dword [0x14000cf20], ecx
jl 0x1400012b3
mov r15d, dword [rsp + 0x30]
xor edi, edi
lea rcx, [rsp + 0x40]
call fcn.140002348
mov ebx, eax
lea ecx, [rax - 0x32]
cmp ecx, 0x31
ja 0x1400013c7
cmp dword [rbp + 0x1050], 0
jne 0x1400013c7
mov ecx, 0xfa
inc edi
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 5
jb 0x140001398
test r15d, r15d
jne 0x140001404
test r14, r14
je 0x1400013da
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r13, r13
je 0x1400013e8
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r12, r12
je 0x1400013f6
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rsi, rsi
je 0x140001404
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [rbx - 0x32]
cmp eax, 0x31
ja 0x14000142f
cmp dword [rbp + 0x1050], 0
jne 0x14000142f
lea r8, str.Launcher_Error
lea rdx, [rsp + 0x48]
mov r9d, 0x10
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rsp + 0x40]
call fcn.1400014d0
mov eax, ebx
mov rcx, qword [rbp + 0x1af0]
xor rcx, rsp
call fcn.140002980
lea r11, [rsp + 0x1c00]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret