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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
lea rbp, [rsp - 0xf40]
mov eax, 0x1040
call fcn.140017d00
sub rsp, rax
xor ebx, ebx
lea rax, [0x14001a948]
mov qword [rsp + 0x1068], rsi
mov rsi, rcx
mov ecx, 1
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0xf78]
mov dword [0x14001e7a8], ecx
mov dword [rbp - 0x68], ecx
mov r8d, ecx
mov qword [rsp + 0x1038], r12
mov r12, rdx
lea r9, [0x14001a950]
lea rcx, [0x14001a960]
xor edx, edx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x70], rbx
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1400138b1
mov rcx, qword [rbp + 0xf78]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x1f8]
mov rcx, qword [rbp + 0xf78]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x220]
mov rcx, qword [rbp + 0xf78]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x230]
mov rdi, qword [rbp + 0xf78]
mov qword [rbp - 0x78], rdi
jmp 0x1400138b8
mov rdi, rbx
mov qword [rbp - 0x78], rbx
mov rcx, qword [str.GEjO9EtpNRI]
lea rdx, [rbp + 0x70]
call fcn.14000deb0
movzx eax, byte [rbp + 0x70]
lea r11, [rbp + 0x70]
lea rcx, [rbp - 0x60]
test al, al
je 0x1400138f6
nop dword [rax + rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x1400138e0
mov word [rcx], bx
lea r8, [rbp + 0x700]
lea rcx, [rbp - 0x60]
xor r9d, r9d
mov edx, 0x105
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x140013c43
mov rcx, qword [str.QLrpNRjBihFJ5E9MLP]
lea rdx, [rbp + 0x70]
call fcn.14000deb0
movzx eax, byte [rbp + 0x70]
lea r11, [rbp + 0x70]
lea rcx, [rbp - 0x60]
test al, al
je 0x140013956
nop word [rax + rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x140013940
mov rax, qword [rsi + 0x20]
mov word [rcx], bx
lea r9, [rbp + 0x700]
lea r8, [rbp - 0x60]
lea rcx, [rbp + 0x910]
mov edx, 0x105
mov qword [rsp + 0x20], rax
call fcn.140002880
test eax, eax
js 0x140013c43
mov rcx, qword [str.QLrpNI]
lea rdx, [rbp + 0x70]
call fcn.14000deb0
movzx eax, byte [rbp + 0x70]
lea r11, [rbp + 0x70]
lea rcx, [rbp - 0x60]
test al, al
je 0x1400139c6
nop word [rax + rax]
movsx eax, al
inc r11
add rcx, 2
mov word [rcx - 2], ax
movzx eax, byte [r11]
test al, al
jne 0x1400139b0
mov word [rcx], bx
lea r9, [rbp + 0x910]
lea r8, [rbp - 0x60]
lea rcx, [rbp + 0x4f0]
mov edx, 0x105
mov qword [rsp + 0x20], r12
call fcn.140002880
test eax, eax
js 0x140013c43
lea rcx, [rbp + 0x4f0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140013c43
mov rax, qword [rsi + 0x68]
mov qword [rsp + 0x1030], r13
xor r9d, r9d
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x1028], r14
mov qword [rsp + 0x30], rbx
mov rax, qword [rcx]
lea r8d, [r9 + 1]
lea rcx, [rbp + 0x4f0]
mov edx, 0x80000000
mov qword [rsp + 0x1020], r15
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x78], rax
mov r13, rbx
mov qword [rsp + 0x68], rbx
mov r14d, ebx
mov dword [rsp + 0x50], ebx
mov r12, rbx
mov dword [rbp + 0xf78], ebx
mov r15d, ebx
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x140013b2e
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
mov dword [rbp + 0xf78], eax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [rbp + 0xf78]
xor edx, edx
call fcn.14000e210
mov r12, rax
test rax, rax
je 0x140013b2e
mov r8d, dword [rbp + 0xf78]
lea r9, [rbp + 0xf78]
mov rdx, rax
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140013b2e
mov r9d, dword [rbp + 0xf78]
mov rdx, qword [rsp + 0x78]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x68]
lea rcx, [rbp - 0x80]
mov r8, r12
mov qword [rsp + 0x20], rax
call fcn.140002660
mov rdi, qword [rbp - 0x78]
mov r13, qword [rsp + 0x68]
mov r14d, dword [rsp + 0x50]
test eax, eax
mov eax, 1
cmovne r15d, eax
test rsi, rsi
je 0x140013b3c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r12, r12
je 0x140013b56
mov rcx, qword [0x14001e780]
mov r8, r12
mov edx, 8
call qword [0x14001e798]
test r15d, r15d
mov r15, qword [rsp + 0x1020]
je 0x140013c33
test r13, r13
je 0x140013c33
cmp r14d, 0x800000
ja 0x140013bff
mov rcx, qword [rbp + 0xf70]
lea r8, [rsp + 0x58]
xor edx, edx
call fcn.14000bec0
mov rsi, qword [rsp + 0x58]
test eax, eax
je 0x140013c04
mov r12, qword [rbp + 0xf60]
lea rcx, [rbp + 0x470]
mov eax, r14d
mov rdx, qword [r12 + 0x60]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x70]
mov r9, r13
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xb20]
mov r8, rsi
mov qword [rsp + 0x28], rcx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.140011a60
test eax, eax
je 0x140013c04
mov rdx, qword [rsp + 0x70]
mov rcx, r12
call fcn.140011e00
mov ebx, 1
jmp 0x140013c04
mov rsi, qword [rsp + 0x58]
mov rcx, qword [0x14001e780]
mov r8, r13
mov edx, 8
call qword [0x14001e798]
test rsi, rsi
je 0x140013c33
mov rcx, qword [0x14001e780]
mov r8, rsi
mov edx, 8
call qword [0x14001e798]
mov r13, qword [rsp + 0x1030]
mov r14, qword [rsp + 0x1028]
mov r12, qword [rsp + 0x1038]
mov rsi, qword [rsp + 0x1068]
test rdi, rdi
je 0x140013c61
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x10]
mov eax, ebx
add rsp, 0x1040
pop rdi
pop rbx
pop rbp
ret