Function at 0x46d3c0
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, [0x004a6260]
mov qword [0x004a6288], rax
lea rcx, [0x004a6260]
call sub.kernel32.dll_InitializeCriticalSection_1
call fcn.0046e3e0
lea rcx, [0x0046d380]
or edx, 0xffffffff
call sub.kernel32.dll_SetConsoleCtrlHandler
call fcn.004713b0
call fcn.0042ca50
call fcn.0046d7c0
lea rcx, [rbp + 0x70]
call fcn.00429e20
lea rcx, [rbp + 0x68]
mov rax, qword [0x00488b28]
mov rdx, qword [rax]
call fcn.0040b760
lea rcx, [rbp + 0x78]
mov edx, 3
mov r8, qword [rbp + 0x70]
lea r9, [0x0046d774]
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.0040bb80
mov rcx, qword [rbp + 0x78]
call fcn.0040b6c0
mov rcx, qword [0x00488a28]
mov rdx, rax
call fcn.00429fe0
mov rcx, qword [0x00488a28]
call fcn.00429fc0
mov rcx, qword [0x00488a28]
mov rdx, qword [0x00488a28]
mov r8d, eax
call fcn.004317e0
lea rcx, [0x004a6008]
xor rdx, rdx
call fcn.0042f1d0
call fcn.0046e0a0
mov rcx, qword [0x00488a28]
call fcn.0046db20
mov rbx, rax
cmp word [0x004a6008], 0x5c
jne 0x46d550
cmp word [0x004a600a], 0x5c
jne 0x46d550
cmp byte [0x00487de6], 0
jne 0x46d550
lea rcx, [rbp + 0x60]
mov rdx, qword [0x00488ee0]
call fcn.0040eed0
lea rax, [0x004a6008]
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.00470130
lea rcx, [0x004a6008]
mov edx, 0x105
call sub.kernel32.dll_GetWindowsDirectoryW
lea rcx, [0x004a6008]
mov dl, 1
call fcn.0042f6f0
call sub.kernel32.dll_GetConsoleOutputCP_1
mov dword [0x004a6228], eax
mov ecx, dword [0x004a6228]
lea rdx, [0x004a6214]
call sub.kernel32.dll_GetCPInfo
call fcn.0042ad10
mov ecx, 0x20c
call fcn.00405270
mov qword [0x004a6250], rax
mov ecx, 0x20c
call fcn.00405270
mov qword [0x004a6258], rax
cmp qword [0x004a6250], 0
je 0x46d5cf
cmp qword [0x004a6258], 0
je 0x46d5cf
mov rcx, qword [0x004a6258]
mov edx, 0x104
call sub.kernel32.dll_GetConsoleTitleW
mov rcx, qword [0x004a6250]
mov rdx, qword [0x004a6258]
call fcn.00429fe0
cmp byte [0x00487de5], 0
jne 0x46d635
mov ecx, 1
call fcn.0042f140
test eax, eax
je 0x46d635
cmp word [0x00487e04], 0
je 0x46d61e
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 0x46d61e
movzx rax, word [rbp + 0x92]
mov word [0x00487e04], ax
cmp word [0x00487e04], 0
je 0x46d635
movzx rcx, word [0x00487e04]
call fcn.00435be0
test rbx, rbx
jne 0x46d6be
lea rcx, [rbp + 0x48]
mov rdx, qword [0x004886d0]
call fcn.0040eed0
mov rcx, qword [rbp + 0x48]
xor rdx, rdx
lea r8, [rbp + 0x48]
or r9d, 0xffffffff
call fcn.00470070
cmp byte [0x00487dfe], 0
je 0x46d691
lea rcx, [rbp + 0x40]
mov rdx, qword [0x00488a40]
call fcn.0040eed0
mov rcx, qword [rbp + 0x40]
xor rdx, rdx
lea r8, [rbp + 0x48]
or r9d, 0xffffffff
call fcn.00470070
jmp 0x46d6be
cmp byte [0x00487dfc], 0
je 0x46d6be
lea rcx, [rbp + 0x38]
mov rdx, qword [0x004886d8]
call fcn.0040eed0
mov rcx, qword [rbp + 0x38]
xor rdx, rdx
lea r8, [rbp + 0x48]
or r9d, 0xffffffff
call fcn.00470070
lea rcx, [0x0046d77e]
call sub.kernel32.dll_GetModuleHandleW_2
mov rcx, rax
lea rdx, [0x0046d798]
call fcn.004109e0
mov rcx, qword [0x00488cc0]
mov qword [rcx], rax
mov qword [rbp + 0x30], rbx
nop
lea rcx, [rbp + 0x38]
mov edx, 3
call fcn.0040a350
lea rcx, [rbp + 0x60]
mov edx, 4
call fcn.0040a350
mov rax, qword [rbp + 0x30]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret