Function at 0x438de0
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
sub rsp, 0xa8
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x68], 0
nop
lea rax, [0x00467068]
mov qword [0x00467090], rax
lea rcx, [0x00467068]
call sub.kernel32.dll_InitializeCriticalSection_1
call fcn.00439e00
lea rcx, [0x00438da0]
or edx, 0xffffffff
call sub.kernel32.dll_SetConsoleCtrlHandler
call fcn.0043ca80
call fcn.00425e60
call fcn.004391e0
lea rcx, [rbp + 0x70]
call fcn.00423420
lea rcx, [rbp + 0x68]
mov rax, qword [0x00449c80]
mov rdx, qword [rax]
call fcn.0040afd0
lea rcx, [rbp + 0x78]
mov edx, 3
mov r8, qword [rbp + 0x70]
lea r9, [0x00439194]
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.0040b3c0
mov rcx, qword [rbp + 0x78]
call fcn.0040af50
mov rcx, qword [0x00449ba0]
mov rdx, rax
call fcn.004235e0
mov rcx, qword [0x00449ba0]
call fcn.004235c0
mov rcx, qword [0x00449ba0]
mov rdx, qword [0x00449ba0]
mov r8d, eax
call fcn.0042abf0
lea rcx, [0x00466e14]
xor rdx, rdx
call fcn.004285e0
call fcn.00439ac0
mov rcx, qword [0x00449ba0]
call fcn.00439540
mov rbx, rax
cmp word [0x00466e14], 0x5c
jne 0x438f70
cmp word [0x00466e16], 0x5c
jne 0x438f70
cmp byte [0x00448c96], 0
jne 0x438f70
lea rcx, [rbp + 0x60]
mov rdx, qword [0x00449fb8]
call fcn.0040e3a0
lea rax, [0x00466e14]
mov qword [rbp + 0x50], rax
mov byte [rbp + 0x58], 0xa
mov rcx, qword [rbp + 0x60]
mov edx, 1
lea r8, [rbp + 0x50]
xor r9, r9
call fcn.0043b800
lea rcx, [0x00466e14]
mov edx, 0x105
call sub.kernel32.dll_GetWindowsDirectoryW
lea rcx, [0x00466e14]
mov dl, 1
call fcn.00428b00
call sub.kernel32.dll_GetConsoleOutputCP_1
mov dword [0x00467034], eax
mov ecx, dword [0x00467034]
lea rdx, [0x00467020]
call sub.kernel32.dll_GetCPInfo
call fcn.00424120
mov ecx, 0x20c
call fcn.00404ae0
mov qword [0x00467058], rax
mov ecx, 0x20c
call fcn.00404ae0
mov qword [0x00467060], rax
cmp qword [0x00467058], 0
je 0x438fef
cmp qword [0x00467060], 0
je 0x438fef
mov rcx, qword [0x00467060]
mov edx, 0x104
call sub.kernel32.dll_GetConsoleTitleW
mov rcx, qword [0x00467058]
mov rdx, qword [0x00467060]
call fcn.004235e0
cmp byte [0x00448c95], 0
jne 0x439055
mov ecx, 1
call fcn.00428550
test eax, eax
je 0x439055
cmp word [0x00448cb4], 0
je 0x43903e
mov ecx, 0xfffffff5
call sub.kernel32.dll_GetStdHandle_1
mov rcx, rax
lea rdx, [rbp + 0x8a]
call sub.kernel32.dll_GetConsoleScreenBufferInfo
test eax, eax
je 0x43903e
movzx rax, word [rbp + 0x92]
mov word [0x00448cb4], ax
cmp word [0x00448cb4], 0
je 0x439055
movzx rcx, word [0x00448cb4]
call fcn.0042eff0
test rbx, rbx
jne 0x4390de
lea rcx, [rbp + 0x48]
mov rdx, qword [0x00449890]
call fcn.0040e3a0
mov rcx, qword [rbp + 0x48]
xor rdx, rdx
lea r8, [rbp + 0x48]
or r9d, 0xffffffff
call fcn.0043b740
cmp byte [0x00448cae], 0
je 0x4390b1
lea rcx, [rbp + 0x40]
mov rdx, qword [0x00449bb0]
call fcn.0040e3a0
mov rcx, qword [rbp + 0x40]
xor rdx, rdx
lea r8, [rbp + 0x48]
or r9d, 0xffffffff
call fcn.0043b740
jmp 0x4390de
cmp byte [0x00448cac], 0
je 0x4390de
lea rcx, [rbp + 0x38]
mov rdx, qword [0x00449898]
call fcn.0040e3a0
mov rcx, qword [rbp + 0x38]
xor rdx, rdx
lea r8, [rbp + 0x48]
or r9d, 0xffffffff
call fcn.0043b740
lea rcx, [0x0043919e]
call sub.kernel32.dll_GetModuleHandleW_2
mov rcx, rax
lea rdx, [0x004391b8]
call fcn.0040fe60
mov rcx, qword [0x00449e00]
mov qword [rcx], rax
mov qword [rbp + 0x30], rbx
nop
lea rcx, [rbp + 0x38]
mov edx, 3
call fcn.0040a1f0
lea rcx, [rbp + 0x60]
mov edx, 4
call fcn.0040a1f0
mov rax, qword [rbp + 0x30]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret