Function at 0x140001b14
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rax, qword [0x140009110]
xor rax, rsp
mov qword [rsp + 0x80], rax
xor r15d, r15d
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x30], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x28], 0x80
mov edi, 0x80004005
mov r12, r15
mov r14, r15
mov dword [rsp + 0x20], 3
mov r13d, r15d
mov dword [rsp + 0x44], r15d
call qword [entry0]
mov rbx, rax
or rax, 0xffffffffffffffff
cmp rbx, rax
jne 0x140001ba0
mov ecx, 0x2714
call fcn.140002fc8
jmp 0x140001ecd
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp dword [rsp + 0x48], r15d
je 0x140001bc1
mov ecx, 0x2716
jmp 0x140001e95
cmp eax, 2
jae 0x140001bd0
mov ecx, 0x2715
jmp 0x140001e95
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x44]
mov r8d, 2
mov rcx, rbx
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, r15d
je 0x140001e7b
cmp dword [rsp + 0x40], 2
jne 0x140001e7b
cmp dword [rsp + 0x44], 0xfeff
jne 0x140001e7b
add esi, 0xfffffffe
mov eax, 2
mov ebp, esi
shr ebp, 1
lea ecx, [rbp + 1]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__
mov r12, rax
cmp rax, r15
jne 0x140001c51
mov ecx, 0x2716
call fcn.140002fc8
mov edi, 0x8007000e
jmp 0x140001e9a
lea r9, [rsp + 0x40]
mov r8d, esi
mov rdx, rax
mov rcx, rbx
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, r15d
je 0x140001e6e
cmp dword [rsp + 0x40], esi
jne 0x140001e6e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [rbp - 1]
mov word [r12 + rbp*2], r15w
lea r15, [r12 + rax*2]
mov rcx, r12
mov ebp, 1
cmp r12, r15
jae 0x140001cc2
lea edi, [rbp + 9]
mov edx, edi
call qword [sym.imp.msvcrt.dll_wcschr]
mov rcx, rax
test rax, rax
je 0x140001cbd
add rcx, 2
inc ebp
cmp rcx, r15
jb 0x140001ca2
mov edi, 0x80004005
mov ecx, ebp
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__
xor r8d, r8d
mov r14, rax
cmp rax, r8
jne 0x140001d01
mov ecx, 0x2716
call fcn.140002fc8
mov edi, 0x8007000e
xor r15d, r15d
jmp 0x140001ead
mov rbx, r12
cmp r12, r15
jae 0x140001e69
mov rsi, rax
cmp word [rbx], r8w
je 0x140001e06
cmp r13d, ebp
jae 0x140001e06
xor edi, edi
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswspace]
cmp eax, edi
jne 0x140001d3f
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswcntrl]
cmp eax, edi
je 0x140001d4b
mov word [rbx], di
add rbx, 2
cmp word [rbx], di
jne 0x140001d25
mov qword [rsi], rbx
cmp word [rbx], di
mov edi, 0x80004005
jne 0x140001d9e
xor r8d, r8d
mov r10d, 0xa
mov rax, qword [rsi]
cmp rax, r8
je 0x140001dfd
mov r9d, 0x80
mov edx, r8d
mov rcx, r9
cmp word [rax], r8w
je 0x140001d89
add rax, 2
sub rcx, 1
jne 0x140001d79
cmp rcx, r8
jne 0x140001de1
mov edx, 0x80070057
mov rax, r8
jmp 0x140001de7
cmp word [rbx], r8w
je 0x140001d5b
add rbx, 2
movzx ecx, word [rbx]
call qword [sym.imp.msvcrt.dll_iswcntrl]
xor r8d, r8d
cmp eax, r8d
je 0x140001d98
cmp word [rbx], r8w
je 0x140001d5b
lea r10d, [r8 + 0xa]
cmp word [rbx], r10w
je 0x140001dd1
mov word [rbx], r8w
add rbx, 2
cmp word [rbx], r8w
jne 0x140001dbd
cmp word [rbx], r8w
je 0x140001d61
mov word [rbx], r8w
add rbx, 2
jmp 0x140001d61
mov rax, r9
sub rax, rcx
cmp edx, r8d
jl 0x140001e36
cmp rax, r9
jae 0x140001e36
cmp rax, r8
jbe 0x140001dfd
inc r13d
add rsi, 8
cmp rbx, r15
jb 0x140001d10
mov r9d, 0x2dc6c0
cmp r13d, r9d
jbe 0x140001e69
lea r8, [0x1400016a8]
lea rcx, [rsp + 0x68]
mov edx, 0xa
call fcn.140001938
xor r15d, r15d
cmp eax, r15d
jne 0x140001ead
mov ecx, 0x271f
jmp 0x140001e5d
lea r8, [0x1400016a8]
lea rcx, [rsp + 0x68]
mov r9d, 0x7f
mov rdx, r10
call fcn.140001938
xor r15d, r15d
cmp eax, r15d
jne 0x140001ead
mov ecx, 0x271e
lea rdx, [rsp + 0x68]
call fcn.140002fc8
jmp 0x140001ead
mov edi, r8d
jmp 0x140001ed0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x271d
jmp 0x140001e86
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x2719
movzx edi, ax
or edi, 0x80070000
cmp eax, r15d
cmovle edi, eax
call fcn.140002fc8
cmp rbx, r15
je 0x140001ea8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, r15d
jge 0x140001ed0
cmp r12, r15
je 0x140001ebd
mov rcx, r12
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov r12, r15
cmp r14, r15
je 0x140001ecd
mov rcx, r14
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov r14, r15
mov r13d, r15d
mov rax, qword [rsp + 0x50]
mov qword [rax], r12
mov rax, qword [rsp + 0x60]
mov qword [rax], r14
mov rax, qword [rsp + 0x58]
mov dword [rax], r13d
mov eax, edi
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140007e60
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret