Function at 0x140078d40
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x4a0
mov rax, qword [0x14009e140]
xor rax, rsp
mov qword [rsp + 0x490], rax
mov r14, qword [rsp + 0x500]
xor r13d, r13d
mov rdi, r8
mov rbp, rdx
lea rcx, [rsp + 0x5a]
lea r8d, [r13 + 0x26]
xor edx, edx
mov rsi, r9
mov word [rsp + 0x58], r13w
call sub.msvcrt.dll_memset
mov rbx, r13
mov rcx, qword [str.P5_n_]
lea r12, str.P5_n_
cmp rcx, r12
je 0x140078dc4
test byte [rcx + 0x1c], 2
je 0x140078dc4
cmp byte [rcx + 0x19], 5
jb 0x140078dc4
mov rcx, qword [rcx + 0x10]
lea edx, [r13 + 0x11]
lea r8, [0x140008e18]
call fcn.14000ffa8
cmp rbp, r13
jne 0x140078e37
lea rdx, [rsp + 0x80]
mov ecx, 0x208
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, r13d
jne 0x140078e2f
mov rax, qword [str.P5_n_]
cmp rax, r12
je 0x1400790a5
test byte [rax + 0x1c], 2
je 0x1400790a5
cmp byte [rax + 0x19], 2
jb 0x1400790a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.P5_n_]
lea r8, [0x140008e18]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov edx, 0x12
call fcn.1400100e0
jmp 0x1400790a5
lea rbp, [rsp + 0x80]
mov edx, 0x5c
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_wcsrchr]
cmp rax, r13
je 0x140078e60
cmp word [rax + 2], r13w
jne 0x140078e60
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 1]
call qword [sym.imp.msvcrt.dll__wcsnset]
cmp rsi, r13
lea r12, [0x140009df8]
lea r13, [0x140009d60]
cmovne r12, rsi
test rdi, rdi
cmovne r13, rdi
xor edi, edi
test edi, edi
jne 0x140078eb8
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
je 0x140078f55
mov ebx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x40]
shl rbx, 0x18
shr rax, 8
or rbx, rax
mov qword [rsp + 0x38], r12
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
lea r8, [0x14000d038]
mov r9, rbp
mov edx, 0x104
mov rcx, r14
mov qword [rsp + 0x20], r13
call fcn.1400118ac
mov esi, eax
test eax, eax
js 0x140079064
mov dword [rsp + 0x38], 2
and qword [rsp + 0x30], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 1
call fcn.140079cec
cmp rax, 0xffffffffffffffff
jne 0x140079003
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140078f3f
cmp eax, 0x50
jne 0x140078faa
inc edi
inc rbx
cmp edi, 0x100
jae 0x140079012
jmp 0x140078e7e
mov rax, qword [str.P5_n_]
lea rdx, str.P5_n_
cmp rax, rdx
je 0x1400790a5
test byte [rax + 0x1c], 2
je 0x1400790a5
cmp byte [rax + 0x19], 2
jb 0x1400790a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.P5_n_]
lea r8, [0x140008e18]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov edx, 0x14
call fcn.1400100e0
jmp 0x1400790a5
mov rax, qword [str.P5_n_]
lea rdx, str.P5_n_
cmp rax, rdx
je 0x1400790a5
test byte [rax + 0x1c], 2
je 0x1400790a5
cmp byte [rax + 0x19], 2
jb 0x1400790a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.P5_n_]
lea r8, [0x140008e18]
mov rcx, qword [rcx + 0x10]
mov edx, 0x16
mov r9, r14
mov dword [rsp + 0x20], eax
call fcn.140011a18
jmp 0x1400790a5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, 0x100
jne 0x14007905f
mov rcx, qword [str.P5_n_]
lea rdx, str.P5_n_
cmp rcx, rdx
je 0x140079058
test byte [rcx + 0x1c], 2
je 0x140079058
cmp byte [rcx + 0x19], 2
jb 0x140079058
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008e18]
mov edx, 0x17
mov r9d, 0x100
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
call fcn.140078c7c
mov ecx, 4
jmp 0x14007909f
mov rax, rbx
jmp 0x1400790a7
mov rcx, qword [str.P5_n_]
lea rdx, str.P5_n_
cmp rcx, rdx
je 0x14007909c
test byte [rcx + 0x1c], 2
je 0x14007909c
cmp byte [rcx + 0x19], 2
jb 0x14007909c
mov rcx, qword [rcx + 0x10]
lea r8, [0x140008e18]
movzx r9d, ax
mov edx, 0x15
call fcn.1400100e0
movzx ecx, si
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rsp + 0x490]
xor rcx, rsp
call fcn.14008c5b0
add rsp, 0x4a0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret