Function at 0x180062ea0
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 0x18006336c
mov rcx, rdx
call fcn.180086a20
test al, al
je 0x18006336c
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 0x180062f53
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020de28]
test r8, r8
je 0x180062f7b
lea rdx, [0x18020de18]
cmp qword [0x18020de30], 8
cmovae rdx, qword [0x18020de18]
jmp 0x18006303f
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x60]
call fcn.18013d240
lea rdx, [rbp + 0x60]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1800631d7
mov word [rbp + 0x26a], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x270]
call fcn.18013d240
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 0x180063024
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x180063395
mov word [rbp + rax + 0x270], r12w
lea rax, [rbp + 0x270]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180063010
lea rdx, [rbp + 0x270]
jmp 0x18006303f
lea rax, [rbp + 0x60]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180063030
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.180003950
nop
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x18006305b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1800875a0
nop
mov r8, rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x38]
call fcn.180082bc0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x1800630c0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800630bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006339b
call fcn.18011e774
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.18006dfc0
mov rbx, rax
lea rax, [rbp - 8]
cmp rax, rbx
je 0x180063116
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 0x180063158
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063153
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633a1
call fcn.18011e774
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
cmp qword [rbp + 8], 0
je 0x180063183
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.1800a5850
movzx r14d, al
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x1800631c3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800631be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633a7
call fcn.18011e774
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r12w
jmp 0x1800631ed
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x1800631e9
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
xor bl, bl
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180061d70
nop
lea rdx, [rsi + 0x38]
lea rcx, [rbp - 0x58]
call fcn.180061d70
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 0x180063237
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180064390
jmp 0x18006324c
cmp eax, 2
jne 0x18006328b
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180065180
movzx ebx, al
test al, al
je 0x18006328b
mov eax, dword [rbp - 0x18]
add eax, 0xfffffffd
cmp eax, 1
ja 0x18006328b
test r14b, r14b
je 0x180063360
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1800633f0
lea r9, [rsp + 0x70]
lea r8, [rbp - 8]
mov rdx, rdi
mov rcx, r15
call fcn.180063490
movzx ebx, al
test r14b, r14b
je 0x180063299
lea rcx, [rbp - 8]
call fcn.1800a5a20
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.1800633f0
nop
lea rcx, [rbp - 0x58]
call fcn.18005c1b0
nop
lea rcx, [rsp + 0x70]
call fcn.18005c1b0
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x1800632fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800632f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800633ad
call fcn.18011e774
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r12w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x180063349
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063344
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006338f
call fcn.18011e774
movdqa xmm0, xmmword [0x1801b2840]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
movzx eax, bl
jmp 0x18006336e
mov dword [rbp - 0x18], 6
jmp 0x180063299
xor al, al
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.18011e330
add rsp, 0x7a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180146944
nop
call fcn.18011ec48
nop
call fcn.180146944
int3
call fcn.180146944
nop
call fcn.180146944
nop
call fcn.180146944
int3