Function at 0x1800bba50
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x360
mov rax, qword [0x1801fdc38]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov r9, qword [0x1802059a0]
xor esi, esi
mov rbp, rdx
mov r13d, ecx
test r9, r9
je 0x1800bbaa4
lea r8, [0x18018995c]
lea rdx, [rsp + 0x30]
mov ecx, 0xe6
call fcn.1800bb7f0
jmp 0x1800bbbdc
call fcn.1800a5cd0
mov ecx, 0xe6
test eax, eax
je 0x1800bbafa
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [rsp + 0x140]
call fcn.1800a5de0
mov rbx, rax
test rax, rax
je 0x1800bbb7a
lea r8, [0x18018995c]
lea rdx, [rsp + 0x30]
mov r9, rax
mov ecx, 0xe6
call fcn.1800bb7f0
mov rcx, rbx
jmp 0x1800bbbd7
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov r12d, esi
test eax, eax
lea r8, [rsp + 0x140]
mov dword [rsp + 0x28], esi
sete r12b
or r9d, 0xffffffff
xor edx, edx
mov ecx, r12d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
add edi, edi
movsxd rcx, edi
add rcx, rcx
call fcn.18011a114
mov rbx, rax
test rax, rax
je 0x1800bbb7a
lea r8, [rsp + 0x140]
or r9d, 0xffffffff
xor edx, edx
mov ecx, r12d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, rbx
test eax, eax
jne 0x1800bbba6
call fcn.18011a0d4
mov eax, 7
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.180119820
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x360
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800a5de0
mov rcx, rbx
mov rdi, rax
call fcn.18011a0d4
test rdi, rdi
je 0x1800bbb7a
lea r8, [0x18018995c]
lea rdx, [rsp + 0x30]
mov r9, rdi
mov ecx, 0xe6
call fcn.1800bb7f0
mov rcx, rdi
call fcn.18011a0d4
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x1800bbbf8
nop
inc rax
cmp byte [rax], sil
jne 0x1800bbbf0
sub eax, ecx
lea r8, str.etilqs_
mov rcx, r8
and eax, 0x3fffffff
nop dword [rax]
inc rcx
cmp byte [rcx], sil
jne 0x1800bbc10
sub ecx, r8d
and ecx, 0x3fffffff
lea eax, [rcx + rax + 0x11]
cmp eax, r13d
jl 0x1800bbc34
mov eax, 1
jmp 0x1800bbb7f
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x1800bbc4a
inc rax
cmp byte [rax], sil
jne 0x1800bbc42
sub eax, ecx
and eax, 0x3fffffff
movsxd rcx, eax
je 0x1800bbc6d
lea rax, [rsp + 0x30]
nop dword [rax + rax]
cmp byte [rax + rcx - 1], 0x5c
jne 0x1800bbc6d
sub rcx, 1
jne 0x1800bbc60
mov byte [rsp + rcx + 0x30], sil
lea r9, [rsp + 0x30]
lea r8, str._setilqs_
lea ecx, [r13 - 0x11]
mov rdx, rbp
call fcn.1800bb7f0
mov r11, rbp
test rbp, rbp
jne 0x1800bbc97
mov r11d, esi
jmp 0x1800bbcb2
cmp byte [rbp], sil
je 0x1800bbca8
nop dword [rax]
inc r11
cmp byte [r11], sil
jne 0x1800bbca0
sub r11d, ebp
and r11d, 0x3fffffff
movsxd r12, r11d
mov ebx, 0xf
lea rdi, [r12 + rbp]
cmp dword [0x1801fc854], esi
je 0x1800bbce0
lea ecx, [rbx - 0xa]
call qword [0x1801fc8b8]
mov rsi, rax
test rax, rax
je 0x1800bbce0
mov rcx, rax
call qword [0x1801fc8c8]
call fcn.1800b25e0
inc rdi
sub ebx, 1
mov byte [rdi - 1], al
jne 0x1800bbce0
test rsi, rsi
je 0x1800bbcfe
mov rcx, rsi
call qword [0x1801fc8d8]
mov r8d, 3
movabs r9, 0x842108421084211
lea r10, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
nop word [rax + rax]
movzx ecx, byte [r12 + rbp]
mov rax, r9
add r12, 5
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 4]
mov byte [r12 + rbp - 5], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 3]
mov byte [r12 + rbp - 4], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 2]
mov byte [r12 + rbp - 3], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 1]
mov byte [r12 + rbp - 2], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
sub r8, 1
movzx eax, byte [rcx + r10]
mov byte [r12 + rbp - 1], al
jne 0x1800bbd20
mov byte [r12 + rbp], r8b
xor eax, eax
jmp 0x1800bbb7f