Function at 0x14002ab20
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5e0]
sub rsp, 0x6e0
mov rax, qword [0x1400e9070]
xor rax, rsp
mov qword [rbp + 0x5d0], rax
mov rsi, r8
mov r14, rdx
xor r15d, r15d
lea rcx, [rbp - 0x50]
call fcn.14000f930
nop
lea rax, [rbp - 0x50]
cmp rax, r14
je 0x14002abb9
mov r9, r14
cmp qword [r14 + 0x18], 8
jb 0x14002ab79
mov r9, qword [r14]
mov rdx, qword [r14 + 0x10]
mov rax, qword [rbp - 0x38]
cmp rdx, rax
ja 0x14002abb0
lea rdi, [rbp - 0x50]
cmp rax, 8
cmovae rdi, qword [rbp - 0x50]
mov qword [rbp - 0x40], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.14007c470
mov word [rbx + rdi], r15w
jmp 0x14002abb9
lea rcx, [rbp - 0x50]
call fcn.140003380
mov byte [rbp + 0x158], 1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, eax
mov r13, 0xffffffffffffffff
test eax, eax
je 0x14002ac1b
lea ecx, [rax + 1]
movsxd rdx, ecx
mov eax, 2
mul rdx
cmovo rax, r13
mov rcx, rax
call fcn.140080e28
mov rbx, rax
test rax, rax
je 0x14002ac1b
mov rdx, rax
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x14002ac13
mov rdx, rbx
mov rcx, rsi
call fcn.140002cb0
mov rcx, rbx
call fcn.140080e14
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
mov ecx, 0x10
call fcn.140079b80
mov rdi, rax
mov rcx, rax
call qword [sym.imp.ole32.dll_CoCreateGuid]
mov r8d, 0x104
lea rdx, [rbp + 0x3c0]
mov rcx, rdi
call qword [sym.imp.ole32.dll_StringFromGUID2]
mov ebx, eax
mov edx, 0x10
mov rcx, rdi
call fcn.140079b70
test ebx, ebx
js 0x14002ac7f
lea rdx, [rbp + 0x3c0]
lea rcx, [rbp - 0x78]
call fcn.140002cb0
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14002acf6
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x14002acf6
lea rdi, [rax + 0xb]
add rdi, rcx
mov eax, 2
mul rdi
cmovo rax, r13
mov rcx, rax
call fcn.140080e28
mov rbx, rax
test rax, rax
je 0x14002acf6
mov r8, rsi
cmp qword [rsi + 0x18], 8
jb 0x14002acc1
mov r8, qword [rsi]
mov rdx, rdi
mov rcx, rbx
call fcn.140080dac
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rdx, qword [rbp - 0x78]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov rdx, rbx
mov rcx, rsi
call fcn.140002cb0
mov rcx, rbx
call fcn.140080e14
lea rax, [rbp - 0x10]
cmp rax, rsi
je 0x14002ad4c
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x14002ad0c
mov r9, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rax, qword [rbp + 8]
cmp rdx, rax
ja 0x14002ad43
lea rdi, [rbp - 0x10]
cmp rax, 8
cmovae rdi, qword [rbp - 0x10]
mov qword [rbp], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.14007c470
mov word [rdi + rbx], r15w
jmp 0x14002ad4c
lea rcx, [rbp - 0x10]
call fcn.140003380
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
cmp qword [r14 + 0x18], 8
jb 0x14002ad6e
mov r14, qword [r14]
mov rcx, r14
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.140002cb0
lea r9, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r9, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
mov rax, qword [rbp + 0x28]
cmp rdi, rax
ja 0x14002adc9
lea rbx, [rbp + 0x10]
cmp rax, 8
cmovae rbx, qword [rbp + 0x10]
mov qword [rbp + 0x20], rdi
lea r8, [rdi + rdi]
mov rdx, r9
mov rcx, rbx
call fcn.14007c470
mov word [rbx + rdi*2], r15w
jmp 0x14002add5
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.140003380
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
setae r14b
mov rdi, qword [rsp + 0x68]
cmovae rcx, rdi
mov qword [rsp + 0x20], 1
lea r9, [0x1400cabac]
xor r8d, r8d
mov rbx, qword [rsp + 0x78]
mov rdx, rbx
call fcn.140011af0
cmp rax, 0xffffffffffffffff
je 0x14002ae97
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
cmp rbx, rax
cmovb rax, rbx
lea rdx, [rsp + 0x68]
test r14b, r14b
cmovne rdx, rdi
mov r8, rax
lea rcx, [rsp + 0x48]
call fcn.140003250
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x14002ae85
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002ae80
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002b25c
call fcn.140079b70
movups xmm0, xmmword [rsp + 0x48]
movaps xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rsp + 0x58]
movaps xmmword [rbp + 0x20], xmm1
lea rax, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rax, qword [rbp + 0x10]
mov qword [rsp + 0x30], rax
lea rax, str.NotificationManager::Final_FileName_is:__s
mov qword [rsp + 0x28], rax
lea r12, [0x1400c3148]
mov qword [rsp + 0x20], r12
mov r9, r12
lea r8, str.NotificationManager
lea rdx, str.CCDApp
mov ecx, 0xa
call fcn.140004c20
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x14002af54
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x14002af54
lea rdi, [rcx + 0xb]
add rdi, rdx
mov eax, 2
mul rdi
cmovo rax, r13
mov rcx, rax
call fcn.140080e28
mov rbx, rax
test rax, rax
je 0x14002af54
mov r8, rsi
cmp qword [rsi + 0x18], 8
jb 0x14002af1f
mov r8, qword [rsi]
mov rdx, rdi
mov rcx, rbx
call fcn.140080dac
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rdx, qword [rbp + 0x10]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
mov rdx, rbx
mov rcx, rsi
call fcn.140002cb0
mov rcx, rbx
call fcn.140080e14
xor edx, edx
mov r8d, 0x230
lea rcx, [rbp + 0x190]
call fcn.14007cb40
lea rcx, [rbp + 0x190]
call fcn.14000f930
nop
mov qword [rbp + 0x368], r15
mov byte [rbp + 0x370], 0
mov qword [rbp + 0x378], r15
mov qword [rbp + 0x380], r15
mov qword [rbp + 0x388], r15
mov qword [rbp + 0x390], r15
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], r15
xor r8d, r8d
mov rdx, r12
lea rcx, [rbp + 0x390]
call fcn.140003250
mov byte [rbp + 0x3b4], 1
mov dword [rbp + 0x3b8], r15d
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x190]
call fcn.14000ff80
test eax, eax
jne 0x14002b004
mov qword [rbp + 0x378], r15
mov qword [rbp + 0x380], r15
lea rcx, [rbp + 0x190]
call fcn.1400101d0
test eax, eax
jne 0x14002b004
mov r14b, 1
jmp 0x14002b007
xor r14b, r14b
mov rbx, qword [rbp + 0x368]
test rbx, rbx
je 0x14002b111
mov rbx, qword [rbx]
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rbx
call fcn.14005eca0
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rbp + 0x368]
test rbx, rbx
jne 0x14002b07e
mov rcx, qword [0x1400ed828]
test rcx, rcx
je 0x14002b056
cmp byte [0x1400ed7fd], bl
jne 0x14002b062
call fcn.14005c3a0
mov rcx, qword [0x1400ed828]
mov rax, qword [rcx]
lea r8, str.closeFileDownloader:_invalid_param
mov rdx, r12
mov rax, qword [rax + 0x38]
call qword [case.0x140049d6d.0]
jmp 0x14002b10a
mov rbx, qword [rbx]
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rbx
call fcn.14005eca0
lea rcx, [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rbp + 0x368]
test rsi, rsi
je 0x14002b10a
mov rdi, qword [rsi]
test rdi, rdi
je 0x14002b0fd
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rdi
call fcn.14005eca0
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [rdi + 0x18]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [rdi + 0xb0]
call fcn.14006b2a0
lea rcx, [rdi + 0x50]
call fcn.140066ff0
nop
mov edx, 0x848
mov rcx, rdi
call fcn.140079b70
mov qword [rsi], r15
mov edx, 0x10
mov rcx, rsi
call fcn.140079b70
mov qword [rbp + 0x368], r15
mov rdx, qword [rbp + 0x3a8]
cmp rdx, 8
jb 0x14002b157
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x390]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b152
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002b262
call fcn.140079b70
mov qword [rbp + 0x3a0], r15
mov qword [rbp + 0x3a8], 7
mov word [rbp + 0x390], r15w
lea rcx, [rbp + 0x190]
call fcn.14000fbb0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14002b1bf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b1ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002b268
call fcn.140079b70
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 7
mov word [rsp + 0x68], r15w
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14002b20e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b209
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002b256
call fcn.140079b70
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
lea rcx, [rbp - 0x50]
call fcn.14000fbb0
movzx eax, r14b
mov rcx, qword [rbp + 0x5d0]
xor rcx, rsp
call fcn.140079b50
mov rbx, qword [rsp + 0x720]
add rsp, 0x6e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
nop
call fcn.140080d34
int3