Function at 0x180063010
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 0x1800634dc
mov rcx, rdx
call fcn.180086b90
test al, al
je 0x1800634dc
xor r14b, r14b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
movdqa xmm1, xmmword [0x1801b2820]
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 0x1800630c3
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020de28]
test r8, r8
je 0x1800630eb
lea rdx, [0x18020de18]
cmp qword [0x18020de30], 8
cmovae rdx, qword [0x18020de18]
jmp 0x1800631af
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x60]
call fcn.18013d3d0
lea rdx, [rbp + 0x60]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x180063347
mov word [rbp + 0x26a], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x270]
call fcn.18013d3d0
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 0x180063194
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x180063505
mov word [rbp + rax + 0x270], r12w
lea rax, [rbp + 0x270]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180063180
lea rdx, [rbp + 0x270]
jmp 0x1800631af
lea rax, [rbp + 0x60]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1800631a0
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.180003960
nop
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x1800631cb
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.180087710
nop
mov r8, rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x38]
call fcn.180082d30
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x180063230
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006322b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006350b
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.18006e130
mov rbx, rax
lea rax, [rbp - 8]
cmp rax, rbx
je 0x180063286
lea rcx, [rbp - 8]
call fcn.1800038e0
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 0x1800632c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800632c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180063511
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
cmp qword [rbp + 8], 0
je 0x1800632f3
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.1800a59c0
movzx r14d, al
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x180063333
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006332e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180063517
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r12w
jmp 0x18006335d
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x180063359
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
xor bl, bl
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180061ee0
nop
lea rdx, [rsi + 0x38]
lea rcx, [rbp - 0x58]
call fcn.180061ee0
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 0x1800633a7
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180064500
jmp 0x1800633bc
cmp eax, 2
jne 0x1800633fb
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.1800652f0
movzx ebx, al
test al, al
je 0x1800633fb
mov eax, dword [rbp - 0x18]
add eax, 0xfffffffd
cmp eax, 1
ja 0x1800633fb
test r14b, r14b
je 0x1800634d0
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180063560
lea r9, [rsp + 0x70]
lea r8, [rbp - 8]
mov rdx, rdi
mov rcx, r15
call fcn.180063600
movzx ebx, al
test r14b, r14b
je 0x180063409
lea rcx, [rbp - 8]
call fcn.1800a5b90
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.180063560
nop
lea rcx, [rbp - 0x58]
call fcn.18005c320
nop
lea rcx, [rsp + 0x70]
call fcn.18005c320
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x18006346c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063467
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006351d
call fcn.18011e904
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r12w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x1800634b9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800634b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800634ff
call fcn.18011e904
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
movzx eax, bl
jmp 0x1800634de
mov dword [rbp - 0x18], 6
jmp 0x180063409
xor al, al
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.18011e4c0
add rsp, 0x7a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180146ad4
nop
call fcn.18011edd8
nop
call fcn.180146ad4
int3
call fcn.180146ad4
nop
call fcn.180146ad4
nop
call fcn.180146ad4
int3