Function at 0x180062eb0
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x6a0]
sub rsp, 0x7a0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov rax, qword [0x18020d020]
xor rax, rsp
mov qword [rbp + 0x690], rax
mov rsi, r8
mov rdi, rdx
mov r15, rcx
cmp qword [rdx + 0x10], 0
je 0x18006337c
mov rcx, rdx
call fcn.180086a30
test al, al
je 0x18006337c
xor r14b, r14b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
movdqa xmm1, xmmword [0x1801b2840]
movdqu xmmword [rbp + 0x28], xmm1
xor r12d, r12d
mov word [rbp + 0x18], r12w
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r12w
mov qword [rbp - 0x10], r12
lea rax, [0x180213e68]
mov qword [rbp - 0x10], rax
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x180062f63
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020de28]
test r8, r8
je 0x180062f8b
lea rdx, [0x18020de18]
cmp qword [0x18020de30], 8
cmovae rdx, qword [0x18020de18]
jmp 0x18006304f
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x60]
call fcn.18013d270
lea rdx, [rbp + 0x60]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1800631e7
mov word [rbp + 0x26a], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x270]
call fcn.18013d270
mov r8d, 0x208
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea ecx, [rax - 1]
cmp ecx, 0x207
ja 0x180063034
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1800633a5
mov word [rbp + rax + 0x270], r12w
lea rax, [rbp + 0x270]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180063020
lea rdx, [rbp + 0x270]
jmp 0x18006304f
lea rax, [rbp + 0x60]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180063040
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.180003950
nop
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x18006306b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1800875b0
nop
mov r8, rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x38]
call fcn.180082bd0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x1800630d0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800630cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633ab
call fcn.18011e7a4
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.18006dfd0
mov rbx, rax
lea rax, [rbp - 8]
cmp rax, rbx
je 0x180063126
lea rcx, [rbp - 8]
call fcn.1800038d0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 8], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180063168
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063163
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633b1
call fcn.18011e7a4
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
cmp qword [rbp + 8], 0
je 0x180063193
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.1800a5860
movzx r14d, al
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x1800631d3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800631ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633b7
call fcn.18011e7a4
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r12w
jmp 0x1800631fd
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x1800631f9
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
xor bl, bl
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180061d80
nop
lea rdx, [rsi + 0x38]
lea rcx, [rbp - 0x58]
call fcn.180061d80
nop
mov eax, dword [rsi + 0x70]
mov dword [rbp - 0x20], eax
mov eax, dword [rsi + 0x74]
mov dword [rbp - 0x1c], eax
mov eax, dword [rsi + 0x78]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x58]
cmp eax, 1
jne 0x180063247
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.1800643a0
jmp 0x18006325c
cmp eax, 2
jne 0x18006329b
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180065190
movzx ebx, al
test al, al
je 0x18006329b
mov eax, dword [rbp - 0x18]
add eax, 0xfffffffd
cmp eax, 1
ja 0x18006329b
test r14b, r14b
je 0x180063370
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180063400
lea r9, [rsp + 0x70]
lea r8, [rbp - 8]
mov rdx, rdi
mov rcx, r15
call fcn.1800634a0
movzx ebx, al
test r14b, r14b
je 0x1800632a9
lea rcx, [rbp - 8]
call fcn.1800a5a30
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.180063400
nop
lea rcx, [rbp - 0x58]
call fcn.18005c1c0
nop
lea rcx, [rsp + 0x70]
call fcn.18005c1c0
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x18006330c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063307
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633bd
call fcn.18011e7a4
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r12w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x180063359
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063354
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006339f
call fcn.18011e7a4
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
movzx eax, bl
jmp 0x18006337e
mov dword [rbp - 0x18], 6
jmp 0x1800632a9
xor al, al
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.18011e360
add rsp, 0x7a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180146974
nop
call fcn.18011ec78
nop
call fcn.180146974
int3
call fcn.180146974
nop
call fcn.180146974
nop
call fcn.180146974
int3