Function at 0x140177880
Capabilities:
Get common file path

Disassembly:
push rdi
sub rsp, 0x2a0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rsp + 0x2b8], rbx
mov rax, qword [0x140462840]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rbx, rcx
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rdx, [0x14032eae0]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_13477]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_7775]
test al, al
jne 0x140177b75
lea rcx, [rsp + 0x58]
call sub.mfc120u.dll_Ordinal_320
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCR120.dll__ftime64_s]
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
movzx r11d, word [rsp + 0x78]
mov r8, qword [rsp + 0x70]
movabs rdi, 0x8888888888888889
mov rax, rdi
imul r8
lea r10, [r8 + rdx]
sar r10, 5
mov rcx, r10
shr rcx, 0x3f
add r10, rcx
imul ecx, r10d, 0x3c
mov r9d, r8d
sub r9d, ecx
mov rax, rdi
imul r10
add rdx, r10
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x3c
sub r10, rax
movabs rax, 0x48d159e26af37c05
imul r8
mov rcx, rdx
sar rcx, 0xa
mov rax, rcx
shr rax, 0x3f
add rcx, rax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
shl rax, 3
sub rcx, rax
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov r8d, ecx
lea rdx, str._d:_d:_d:_d
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_4612]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_296]
nop
lea rax, [rsp + 0x88]
mov qword [rsp + 0x80], rax
mov r8d, 3
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.140002800
nop
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
lea rdx, str._s_t_s_t_s_r_n
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_4612]
nop
lea rax, [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
cmp rcx, rax
je 0x140177a35
call qword [sym.imp.MSVCR120.dll_free]
cmp qword [0x14046c4e0], 0
jne 0x140177ac8
xor edx, edx
mov r8d, Ordinal_521
lea rcx, [rsp + 0x80]
call sub.MSVCR120.dll_memset
lea rdx, [rsp + 0x80]
mov ecx, Ordinal_261
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x140177a84
lea rdx, str.NitroUpdateService.nlog
lea rcx, [rsp + 0x80]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, 0x28
call sub.mfc120u.dll_Ordinal_1484
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140177ab3
mov r8d, 0x3021
lea rdx, [rsp + 0x80]
mov rcx, rax
call sub.mfc120u.dll_Ordinal_486
mov rcx, rax
jmp 0x140177ab5
xor ecx, ecx
mov qword [0x14046c4e0], rcx
mov rax, qword [rcx]
xor edx, edx
lea r8d, [rdx + 2]
call qword [rax + 0x68]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_1636]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x80], rcx
mov r8d, 3
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.140002910
nop
mov rbx, qword [rsp + 0x80]
mov rax, qword [0x14046c4e0]
mov rdi, qword [rax]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_5576]
mov r8d, eax
mov rdx, rbx
mov rcx, qword [0x14046c4e0]
call qword [rdi + 0x88]
nop
lea rax, [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
cmp rcx, rax
je 0x140177b46
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, qword [0x14046c4e0]
mov rax, qword [rcx]
call qword [rax + 0xa8]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
nop
call sub.mfc120u.dll_Ordinal_2315
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc120u.dll_Ordinal_1030]
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140289bf0
mov rbx, qword [rsp + 0x2b8]
add rsp, 0x2a0
pop rdi
ret