Function at 0x1800611a0
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 [0x18020b020]
xor rax, rsp
mov qword [rbp + 0x690], rax
mov rsi, r8
mov rdi, rdx
mov r15, rcx
cmp qword [rdx + 0x10], 0
je 0x18006166c
mov rcx, rdx
call fcn.180084d20
test al, al
je 0x18006166c
xor r14b, r14b
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x28], xmm0
movdqa xmm1, xmmword [0x1801b12f0]
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, [0x180211d38]
mov qword [rbp - 0x10], rax
mov rcx, qword [0x180211d38]
test rcx, rcx
je 0x180061253
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x18020be28]
test r8, r8
je 0x18006127b
lea rdx, [0x18020be18]
cmp qword [0x18020be30], 8
cmovae rdx, qword [0x18020be18]
jmp 0x18006133f
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp + 0x60]
call fcn.18013b560
lea rdx, [rbp + 0x60]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1800614d7
mov word [rbp + 0x26a], r12w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x270]
call fcn.18013b560
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 0x180061324
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x180061695
mov word [rbp + rax + 0x270], r12w
lea rax, [rbp + 0x270]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180061310
lea rdx, [rbp + 0x270]
jmp 0x18006133f
lea rax, [rbp + 0x60]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180061330
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x18]
call fcn.180003950
nop
mov rcx, qword [0x180211d38]
test rcx, rcx
je 0x18006135b
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.1800858a0
nop
mov r8, rax
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x38]
call fcn.180080ec0
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x1800613c0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800613bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006169b
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rsp + 0x30], xmm0
mov word [rsp + 0x20], r12w
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x40]
call fcn.18006c2c0
mov rbx, rax
lea rax, [rbp - 8]
cmp rax, rbx
je 0x180061416
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 0x180061458
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061453
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800616a1
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
cmp qword [rbp + 8], 0
je 0x180061483
lea rdx, [rbp - 8]
mov rcx, rdi
call fcn.1800a3b50
movzx r14d, al
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x1800614c3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800614be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800616a7
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r12w
jmp 0x1800614ed
mov rcx, qword [0x180211d38]
test rcx, rcx
je 0x1800614e9
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x10], r12
xor bl, bl
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.180060070
nop
lea rdx, [rsi + 0x38]
lea rcx, [rbp - 0x58]
call fcn.180060070
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 0x180061537
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180062690
jmp 0x18006154c
cmp eax, 2
jne 0x18006158b
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.180063480
movzx ebx, al
test al, al
je 0x18006158b
mov eax, dword [rbp - 0x18]
add eax, 0xfffffffd
cmp eax, 1
ja 0x18006158b
test r14b, r14b
je 0x180061660
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1800616f0
lea r9, [rsp + 0x70]
lea r8, [rbp - 8]
mov rdx, rdi
mov rcx, r15
call fcn.180061790
movzx ebx, al
test r14b, r14b
je 0x180061599
lea rcx, [rbp - 8]
call fcn.1800a3d20
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.1800616f0
nop
lea rcx, [rbp - 0x58]
call fcn.18005a4b0
nop
lea rcx, [rsp + 0x70]
call fcn.18005a4b0
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x1800615fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800615f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800616ad
call fcn.18011ca94
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r12w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x180061649
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180061644
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006168f
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
movzx eax, bl
jmp 0x18006166e
mov dword [rbp - 0x18], 6
jmp 0x180061599
xor al, al
mov rcx, qword [rbp + 0x690]
xor rcx, rsp
call fcn.18011c650
add rsp, 0x7a0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180144c64
nop
call fcn.18011cf48
nop
call fcn.180144c64
int3
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
int3