Function at 0x1400d2050
Capabilities:
Check if file exists
Get file attributes
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1405a9ae8]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov ebx, edx
mov r15d, edx
shr r15d, 0x18
mov edi, edx
shr edi, 0x18
mov r12d, edx
shr r12d, 0x10
mov esi, edx
shr esi, 0x10
mov r13d, edx
shr r13d, 8
mov r14d, edx
shr r14d, 8
mov r8d, edx
shr r8d, 8
mov r9d, edx
shr r9d, 0x10
mov r10d, edx
shr r10d, 0x18
mov ecx, dword [0x1405ba140]
mov rax, qword gs:[0x58]
mov r11d, 4
mov rdx, qword [rax + rcx*8]
mov eax, dword [r11 + rdx]
cmp dword [0x1405b8750], eax
jg 0x1400d2446
xor esi, esi
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, r8b
xor rcx, rax
imul rcx, rdx
movzx eax, r9b
xor rcx, rax
imul rcx, rdx
movzx eax, r10b
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x1405b8740]
add rcx, rcx
mov rax, qword [0x1405b8728]
mov rdx, qword [rax + rcx*8 + 8]
mov r8, qword [0x1405b8718]
cmp rdx, r8
je 0x1400d2419
mov rax, qword [rax + rcx*8]
cmp ebx, dword [rdx + 0x10]
je 0x1400d2172
nop dword [rax + rax]
cmp rdx, rax
je 0x1400d2419
mov rdx, qword [rdx + 8]
cmp ebx, dword [rdx + 0x10]
jne 0x1400d2160
test rdx, rdx
je 0x1400d2419
cmp rdx, r8
je 0x1400d2419
mov edi, 0xffffffff
mov r8d, edi
mov rdx, qword [rdx + 0x18]
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLatin1_char_const____ptr64__int_]
nop
mov edx, ebx
lea rcx, [rbp - 0x10]
call fcn.140046880
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromStdString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64_]
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x1400d21f5
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d21f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400d21f0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140322dc0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
je 0x1400d2402
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_QString::toStdWString_void____ptr64]
nop
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400d6020
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1400d2273
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d226e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400d226e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140322dc0
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], si
cmp qword [rsp + 0x60], 0
je 0x1400d22d3
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400d22d3
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromStdWString_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
mov rdx, rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::operator_class_QString____ptr64____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
jmp 0x1400d22e3
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::operator_class_QString_const____ptr64____ptr64]
mov rax, qword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov qword [rsp + 0x20], rax
mov edx, 5
lea rcx, [0x140498bdc]
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.140004f60
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x20]
call fcn.140004f60
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_static_bool___cdecl_QProcess::startDetached_class_QString_const____ptr64__class_QStringList_const____ptr64_]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
test ecx, ecx
je 0x1400d235f
cmp ecx, 0xffffffff
je 0x1400d239e
mov rax, qword [rsp + 0x20]
lock xadd dword [rax], edi
cmp edi, 1
jne 0x1400d239e
mov rsi, qword [rsp + 0x20]
movsxd rdi, dword [rsi + 8]
add rdi, 2
lea rdi, [rsi + rdi*8]
movsxd rbx, dword [rsi + 0xc]
add rbx, 2
lea rbx, [rsi + rbx*8]
cmp rbx, rdi
je 0x1400d2393
sub rbx, 8
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
cmp rbx, rdi
jne 0x1400d2381
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data____ptr64_]
xor esi, esi
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400d23e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d23de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400d23de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140322dc0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], si
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1403230f0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1405b8750]
call fcn.140322f50
movzx r8d, r14b
movzx r9d, sil
movzx r10d, dil
cmp dword [0x1405b8750], 0xffffffff
jne 0x1400d20e8
mov dword [rbp - 0x70], 1
lea rax, str.https:__addons.mozilla.org_en_US_firefox_addon_free_download_manager_addon_
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], 2
lea rax, str.https:__chrome.google.com_webstore_detail_free_download_manager_chr_ahmpjcflkgiildlgicmcieglgoilbfdp
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], 6
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], 7
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], 4
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], 8
mov qword [rbp - 0x18], rax
mov ecx, 0x20
call fcn.140322d7c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1405b8718], rax
xor esi, esi
mov qword [0x1405b8728], rsi
xorps xmm0, xmm0
movdqa xmmword [0x1405b8730], xmm0
mov qword [0x1405b8740], 7
mov qword [0x1405b8748], 8
movss xmm0, dword [0x140498c94]
movss dword [0x1405b8710], xmm0
mov r8, rax
lea edx, [rsi + 0x10]
lea rcx, [0x1405b8728]
call fcn.1400cfe10
nop
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x70]
lea rcx, [0x1405b8710]
call fcn.1400cdbd0
nop
lea rcx, [0x14034d1f0]
call fcn.140323374
nop
lea rcx, [0x1405b8750]
call fcn.140322ef0
movzx r8d, r13b
movzx r9d, r12b
movzx r10d, r15b
jmp 0x1400d20ea