Function at 0x180063020
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 0x1800634ec
mov rcx, rdx
call fcn.180086ba0
test al, al
je 0x1800634ec
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 0x1800630d3
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020de28]
test r8, r8
je 0x1800630fb
lea rdx, [0x18020de18]
cmp qword [0x18020de30], 8
cmovae rdx, qword [0x18020de18]
jmp 0x1800631bf
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x60]
call fcn.18013d3e0
lea rdx, [rbp + 0x60]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x180063357
mov word [rbp + 0x26a], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x270]
call fcn.18013d3e0
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 0x1800631a4
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x180063515
mov word [rbp + rax + 0x270], r12w
lea rax, [rbp + 0x270]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180063190
lea rdx, [rbp + 0x270]
jmp 0x1800631bf
lea rax, [rbp + 0x60]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1800631b0
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.180003960
nop
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x1800631db
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.180087720
nop
mov r8, rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x38]
call fcn.180082d40
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x180063240
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006323b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006351b
call fcn.18011e914
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.18006e140
mov rbx, rax
lea rax, [rbp - 8]
cmp rax, rbx
je 0x180063296
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 0x1800632d8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800632d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180063521
call fcn.18011e914
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
cmp qword [rbp + 8], 0
je 0x180063303
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.1800a59d0
movzx r14d, al
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x180063343
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006333e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180063527
call fcn.18011e914
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r12w
jmp 0x18006336d
mov rcx, qword [0x180213e68]
test rcx, rcx
je 0x180063369
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
xor bl, bl
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180061ef0
nop
lea rdx, [rsi + 0x38]
lea rcx, [rbp - 0x58]
call fcn.180061ef0
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 0x1800633b7
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180064510
jmp 0x1800633cc
cmp eax, 2
jne 0x18006340b
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180065300
movzx ebx, al
test al, al
je 0x18006340b
mov eax, dword [rbp - 0x18]
add eax, 0xfffffffd
cmp eax, 1
ja 0x18006340b
test r14b, r14b
je 0x1800634e0
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180063570
lea r9, [rsp + 0x70]
lea r8, [rbp - 8]
mov rdx, rdi
mov rcx, r15
call fcn.180063610
movzx ebx, al
test r14b, r14b
je 0x180063419
lea rcx, [rbp - 8]
call fcn.1800a5ba0
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.180063570
nop
lea rcx, [rbp - 0x58]
call fcn.18005c330
nop
lea rcx, [rsp + 0x70]
call fcn.18005c330
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x18006347c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063477
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006352d
call fcn.18011e914
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r12w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x1800634c9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800634c4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006350f
call fcn.18011e914
movdqa xmm0, xmmword [0x1801b2820]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
movzx eax, bl
jmp 0x1800634ee
mov dword [rbp - 0x18], 6
jmp 0x180063419
xor al, al
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.18011e4d0
add rsp, 0x7a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180146ae4
nop
call fcn.18011ede8
nop
call fcn.180146ae4
int3
call fcn.180146ae4
nop
call fcn.180146ae4
nop
call fcn.180146ae4
int3