Function at 0x1800cb230
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc60]
sub rsp, 0xd60
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xdb8], rbx
mov rax, qword [0x18020d140]
xor rax, rsp
mov qword [rbp + 0xc50], rax
mov r12, r9
mov rbx, r8
mov r15, rdx
mov r13, rcx
cmp qword [rdx + 0x10], 0
je 0x1800cbaa8
cmp qword [r8 + 0x50], 0
je 0x1800cbaa8
mov r14, qword [r8 + 0x10]
test r14, r14
je 0x1800cbaa8
cmp qword [r8 + 0x30], 0
je 0x1800cbaa8
cmp qword [r8 + 0x70], 0
je 0x1800cbaa8
cmp qword [r8 + 0x90], 0
je 0x1800cbaa8
lea rsi, [r8 + 0x60]
mov r9, rsi
mov r10, qword [rsi + 0x18]
cmp r10, 8
jb 0x1800cb2d3
mov r9, qword [rsi]
mov r11, qword [rsi + 0x10]
mov edx, 1
cmp r11, rdx
jne 0x1800cb305
mov r8d, edx
lea rcx, [0x1801b94d0]
sub r9, rcx
nop
movzx eax, word [rcx]
cmp word [rcx + r9], ax
jne 0x1800cb305
add rcx, 2
sub r8, rdx
jne 0x1800cb2f0
jmp 0x1800cb348
mov r8, rsi
cmp r10, 8
jb 0x1800cb311
mov r8, qword [rsi]
cmp r11, rdx
jne 0x1800cbaa8
lea rcx, [0x1801b096c]
sub r8, rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1800cbaa8
add rcx, 2
sub rdx, 1
jne 0x1800cb330
mov rdi, qword [r13]
add rdi, 8
cmp rdi, rbx
je 0x1800cb36d
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800cb362
mov rdx, qword [rbx]
mov r8, r14
mov rcx, rdi
call fcn.180005390
lea r8, [rbx + 0x20]
lea rcx, [rdi + 0x20]
cmp rcx, r8
je 0x1800cb390
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1800cb387
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.180005390
lea r14, [rbx + 0x40]
lea rcx, [rdi + 0x40]
cmp rcx, r14
je 0x1800cb3b3
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x1800cb3aa
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
call fcn.180005390
lea rcx, [rdi + 0x60]
cmp rcx, rsi
je 0x1800cb3d2
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1800cb3c9
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
call fcn.180005390
lea r8, [rbx + 0x80]
lea rcx, [rdi + 0x80]
cmp rcx, r8
je 0x1800cb3fb
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1800cb3f2
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.180005390
lea r8, [rbx + 0xa0]
lea rcx, [rdi + 0xa0]
cmp rcx, r8
je 0x1800cb424
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1800cb41b
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
call fcn.180005390
lea rdx, [rbx + 0xc0]
lea rcx, [rdi + 0xc0]
cmp rcx, rdx
je 0x1800cb443
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
call fcn.1800cbc40
mov rax, qword [r13]
mov qword [rax + 0x128], r12
mov rdx, r15
lea rcx, [rbp - 0x48]
call fcn.1800051e0
nop
lea rcx, [rbp - 0x48]
call fcn.18000f2e0
test al, al
jne 0x1800cb471
lea rcx, [rbp - 0x48]
call fcn.180010080
lea rcx, [rbp - 0x48]
call fcn.18000f2e0
mov rbx, 0xffffffffffffffff
lea r15, [0x18020e840]
xor r12d, r12d
lea rcx, [0x180213a90]
test al, al
jne 0x1800cb5bf
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x28], rcx
mov rcx, qword [0x180213a90]
test rcx, rcx
je 0x1800cb4b5
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020e850]
test r8, r8
je 0x1800cb4d9
mov rdx, r15
cmp qword [0x18020e858], 8
cmovae rdx, qword [0x18020e840]
jmp 0x1800cb59f
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x10]
call fcn.18014be70
lea rdx, [rbp - 0x10]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1800cb5a9
mov word [rbp + 0x1fa], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x410]
call fcn.18014be70
mov r8d, 0x208
lea rdx, [rbp + 0x410]
lea rcx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea ecx, [rax - 1]
cmp ecx, 0x207
ja 0x1800cb584
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1800cbad8
mov word [rbp + rax + 0x410], r12w
lea rax, [rbp + 0x410]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800cb570
lea rdx, [rbp + 0x410]
jmp 0x1800cb59f
lea rax, [rbp - 0x10]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1800cb590
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x48]
call fcn.180005390
nop
mov rcx, qword [0x180213a90]
test rcx, rcx
je 0x1800cb5bb
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x28], r12
mov rcx, qword [r13]
add rcx, 0x138
lea rax, [rbp - 0x48]
cmp rcx, rax
je 0x1800cb5ea
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
call fcn.180005390
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1801bc8a0]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r12w
mov r8d, 8
lea rdx, str.download
lea rcx, [rsp + 0x30]
call fcn.180005390
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x50]
call fcn.180012c40
mov rdi, rax
lea rax, [rbp - 0x48]
cmp rax, rdi
je 0x1800cb666
lea rcx, [rbp - 0x48]
call fcn.180005300
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], 7
mov word [rdi], r12w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1800cb6a8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800cb6a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cbade
call fcn.180148104
movdqa xmm0, xmmword [0x1801bc8a0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x1800cb6fe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800cb6f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cbae4
call fcn.180148104
movdqa xmm0, xmmword [0x1801bc8a0]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r12w
mov r8, rsi
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x70]
call fcn.180012c40
mov rdi, rax
lea rax, [rbp - 0x48]
cmp rax, rdi
je 0x1800cb757
lea rcx, [rbp - 0x48]
call fcn.180005300
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], 7
mov word [rdi], r12w
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1800cb798
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800cb793
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cbaea
call fcn.180148104
movdqa xmm0, xmmword [0x1801bc8a0]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
lea rcx, [rbp - 0x48]
call fcn.18000f2e0
test al, al
jne 0x1800cb7c1
lea rcx, [rbp - 0x48]
call fcn.180010080
lea rcx, [rbp - 0x48]
call fcn.18000f2e0
test al, al
jne 0x1800cb904
mov qword [rbp - 0x20], r12
lea rax, [0x180213a90]
mov qword [rbp - 0x20], rax
mov rcx, qword [0x180213a90]
test rcx, rcx
je 0x1800cb7f4
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020e850]
test r8, r8
je 0x1800cb818
cmp qword [0x18020e858], 8
cmovae r15, qword [0x18020e840]
mov rdx, r15
jmp 0x1800cb8e4
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x200]
call fcn.18014be70
lea rdx, [rbp + 0x200]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1800cb8ee
mov word [rbp + 0x40a], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x830]
call fcn.18014be70
mov r8d, 0x208
lea rdx, [rbp + 0x830]
lea rcx, [rbp + 0x200]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea ecx, [rax - 1]
cmp ecx, 0x207
ja 0x1800cb8c3
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1800cbaf0
mov word [rbp + rax + 0x830], r12w
lea rax, [rbp + 0x830]
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1800cb8b0
lea rdx, [rbp + 0x830]
jmp 0x1800cb8e1
lea rax, [rbp + 0x200]
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1800cb8d0
lea rdx, [rbp + 0x200]
mov r8, rbx
lea rcx, [rbp - 0x48]
call fcn.180005390
nop
mov rcx, qword [0x180213a90]
test rcx, rcx
je 0x1800cb900
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x20], r12
mov rcx, qword [r13]
add rcx, 0x158
lea rax, [rbp - 0x48]
cmp rcx, rax
je 0x1800cb92f
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
call fcn.180005390
mov r8, r14
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x70]
call fcn.180012c40
mov rbx, rax
lea rax, [rbp - 0x48]
cmp rax, rbx
je 0x1800cb973
lea rcx, [rbp - 0x48]
call fcn.180005300
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x1800cb9b3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800cb9ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cbaf6
call fcn.180148104
movdqa xmm0, xmmword [0x1801bc8a0]
movdqu xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x70], r12w
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x30]
mov rax, rdx
sub rax, rcx
cmp rax, 0x10
jb 0x1800cba0b
lea rdi, [rcx + 0x10]
mov qword [rbp - 0x38], rdi
lea rbx, [rbp - 0x48]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x48]
lea rcx, [rbx + rcx*2]
mov r8d, 0x20
lea rdx, str..NewVersion.data
call fcn.18014ba10
mov word [rbx + rdi*2], r12w
jmp 0x1800cba29
mov qword [rsp + 0x20], InitCommonControls
lea r9, str..NewVersion.data
mov edx, InitCommonControls
lea rcx, [rbp - 0x48]
call fcn.180008fd0
mov rcx, qword [r13]
add rcx, 0x100
mov r8b, 1
lea rdx, [rbp - 0x48]
call fcn.1800afde0
mov rcx, qword [r13]
mov byte [rcx], al
mov rax, qword [r13]
mov rcx, qword [rax + 0x130]
test rcx, rcx
je 0x1800cba5a
mov byte [rcx + 8], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1800cba96
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800cba91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cbad2
call fcn.180148104
movdqa xmm0, xmmword [0x1801bc8a0]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r12w
mov rcx, qword [rbp + 0xc50]
xor rcx, rsp
call fcn.180147bf0
mov rbx, qword [rsp + 0xdb8]
add rsp, 0xd60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18014ebe4
nop
call fcn.1801485b8
nop
call fcn.18014ebe4
nop
call fcn.18014ebe4
int3
call fcn.18014ebe4
nop
call fcn.1801485b8
nop
call fcn.18014ebe4
int3