Function at 0x180011c90
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 [0x180146748]
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.1800bbd80
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.18000a3f0
mov rcx, rax
test rax, rax
je 0x180012038
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 0x180011d4b
mov edx, 0x104
lea rcx, [rsp + 0x38]
call fcn.18000b0d0
mov rbx, qword [rsp + 0x38]
cmp dword [rbx - 0xc], 0x104
jl 0x180012043
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.1800bf270
test eax, eax
js 0x18001202d
cmp eax, dword [rbx - 0xc]
jg 0x18001202d
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 0x180011fbc
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x180011fbc
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x260]
call fcn.1800bbd80
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x260]
lea rsi, [0x1800f2fd8]
mov r8, rsi
lea rdx, str.Path
lea rcx, str.Profile0
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [rsp + 0x260], bp
jne 0x180011e8c
call fcn.18000a3f0
mov rcx, rax
test rax, rax
je 0x18001204e
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
lea rdi, [rbp - 1]
cmp rsi, 0x10000
jae 0x180011e4f
movzx edx, si
mov rcx, r14
call fcn.18000af40
jmp 0x180011e6b
mov rax, rdi
inc rax
cmp word [rsi + rax*2], 0
jne 0x180011e52
mov r8d, eax
mov rdx, rsi
mov rcx, r14
call fcn.18000b310
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x180011f91
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
jmp 0x180011f91
call fcn.18000a3f0
mov rcx, rax
test rax, rax
je 0x180012059
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 0x180011ecf
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.18000b0d0
mov rbx, qword [rsp + 0x30]
cmp dword [rbx - 0xc], 0x104
jl 0x180012064
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.1800bf270
test eax, eax
js 0x18001206f
cmp eax, dword [rbx - 0xc]
jg 0x18001206f
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], bp
lea r8, [0x1800f5bf8]
lea rdx, [0x1800f5e7c]
lea rcx, [rsp + 0x30]
call fcn.180012aa0
mov rbx, qword [rsp + 0x30]
lea rcx, [rbx - 0x18]
call fcn.1800099e0
add rax, 0x18
mov qword [r14], rax
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x180011f75
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 0x180011f91
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.18008c720
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.18000a3f0
nop
mov rcx, rax
test rax, rax
je 0x180012022
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [r14], rax
lea rsi, [0x1800f2fd8]
mov rdi, 0xffffffffffffffff
cmp rsi, 0x10000
jae 0x180011ffb
movzx edx, si
mov rcx, r14
call fcn.18000af40
jmp 0x180012019
mov rax, rdi
nop
inc rax
cmp word [rsi + rax*2], 0
jne 0x180012000
mov r8d, eax
mov rdx, rsi
mov rcx, r14
call fcn.18000b310
nop
lea rdx, [rbx - 0x18]
jmp 0x180011f7e
mov ecx, 0x80004005
call fcn.180009990
int3
mov ecx, 0x80070057
call fcn.180009990
nop
mov ecx, 0x80004005
call fcn.180009990
nop
mov ecx, 0x80070057
call fcn.180009990
int3
mov ecx, 0x80004005
call fcn.180009990
int3
mov ecx, 0x80004005
call fcn.180009990
nop
mov ecx, 0x80070057
call fcn.180009990
int3
mov ecx, 0x80070057
call fcn.180009990
int3