Function at 0x180053ae0
Capabilities:
Check if file exists
Get common file path
Read .ini file

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0x480
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x180168908]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov r14, rdx
mov qword [rsp + 0x30], rdx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.1800d4600
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea rdx, str.MozillaFirefox
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x180053e88
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
mov edi, 1
mov ecx, edi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, ecx
jge 0x180053b9b
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.180009160
mov rbx, qword [rsp + 0x38]
cmp dword [rbx - 0xc], 0x104
jl 0x180053e93
mov dword [rbx - 0x10], 0x104
xor ebp, ebp
mov word [rbx + 0x208], bp
lea r8, str.profiles.ini
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathCombineW]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1800d7f80
test eax, eax
js 0x180053e7d
cmp eax, dword [rbx - 0xc]
jg 0x180053e7d
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], bp
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x180053e0c
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x180053e0c
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x260]
call fcn.1800d4600
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x260]
lea rsi, [0x18010e038]
mov r8, rsi
lea rdx, str.Path
lea rcx, str.Profile0
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [rsp + 0x260], bp
jne 0x180053cdc
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x180053e9e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
lea rdi, [rbp - 1]
cmp rsi, 0x10000
jae 0x180053c9f
movzx edx, si
mov rcx, r14
call fcn.180012580
jmp 0x180053cbb
mov rax, rdi
inc rax
cmp word [rsi + rax*2], 0
jne 0x180053ca2
mov r8d, eax
mov rdx, rsi
mov rcx, r14
call fcn.180009210
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x180053de1
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
jmp 0x180053de1
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x180053ea9
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
sub edi, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or eax, edi
jge 0x180053d1f
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.180009160
mov rbx, qword [rsp + 0x30]
cmp dword [rbx - 0xc], 0x104
jl 0x180053eb4
mov dword [rbx - 0x10], 0x104
mov word [rbx + 0x208], bp
lea r8, [rsp + 0x260]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathCombineW]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1800d7f80
test eax, eax
js 0x180053ebf
cmp eax, dword [rbx - 0xc]
jg 0x180053ebf
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], bp
lea r8, [0x180112568]
lea rdx, [0x1801193ac]
lea rcx, [rsp + 0x30]
call fcn.180040030
mov rbx, qword [rsp + 0x30]
lea rcx, [rbx - 0x18]
call fcn.180008df0
add rax, 0x18
mov qword [r14], rax
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x180053dc5
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x180053de1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, r14
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.1800a5130
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
call fcn.180009090
nop
mov rcx, rax
test rax, rax
je 0x180053e72
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
lea rsi, [0x18010e038]
mov rdi, 0xffffffffffffffff
cmp rsi, 0x10000
jae 0x180053e4b
movzx edx, si
mov rcx, r14
call fcn.180012580
jmp 0x180053e69
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x180053e50
mov r8d, eax
mov rdx, rsi
mov rcx, r14
call fcn.180009210
nop
lea rdx, [rbx - 0x18]
jmp 0x180053dce
mov ecx, 0x80004005
call fcn.180008c20
int3
mov ecx, 0x80070057
call fcn.180008c20
nop
mov ecx, 0x80004005
call fcn.180008c20
nop
mov ecx, 0x80070057
call fcn.180008c20
int3
mov ecx, 0x80004005
call fcn.180008c20
int3
mov ecx, 0x80004005
call fcn.180008c20
nop
mov ecx, 0x80070057
call fcn.180008c20
int3
mov ecx, 0x80070057
call fcn.180008c20
int3