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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rdi
push r12
sub rsp, 0x50
and dword [rsp + 0x78], 0
mov rbx, rdx
mov rbp, rcx
test rdx, rdx
jne 0x1000b8c3b
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8c31
test byte [rcx + 0x1c], 1
je 0x1000b8c31
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0x21]
lea r8, [0x100002ed8]
call fcn.100020584
mov eax, 0x80070057
jmp 0x1000b8f2b
and qword [rsp + 0x30], 0
xor r9d, r9d
mov edx, 0x80010000
lea r8d, [r9 + 1]
mov rcx, rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x1000b8cc4
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8c9e
test byte [rcx + 0x1c], 1
je 0x1000b8c9e
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x23]
lea r8, [0x100002ed8]
mov r9, rbx
call fcn.100020614
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1000b8f12
mov ebx, 0x80004005
jmp 0x1000b8f12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rbp + 0x10], eax
cmp eax, 0x78
jae 0x1000b8d12
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8d08
test byte [rcx + 0x1c], 1
je 0x1000b8d08
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x23
mov r9, rbx
call fcn.100020614
mov ebx, 0x8007000b
jmp 0x1000b8f05
mov ecx, eax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new___unsigned_long_long_unsigned___int64__
mov qword [rbp + 8], rax
test rax, rax
jne 0x1000b8d5c
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8d52
test byte [rcx + 0x1c], 1
je 0x1000b8d52
mov r9d, dword [rbp + 0x10]
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x24]
lea r8, [0x100002ed8]
call fcn.100020d8c
mov ebx, 0x8007000e
jmp 0x1000b8f05
mov r8d, dword [rbp + 0x10]
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x78]
mov rdx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1000b8dcc
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8da7
test byte [rcx + 0x1c], 1
je 0x1000b8da7
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x25]
lea r8, [0x100002ed8]
call fcn.100020584
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0x80004005
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
cmovns ecx, ebx
mov ebx, ecx
jmp 0x1000b8f05
mov eax, dword [rbp + 0x10]
cmp dword [rsp + 0x78], eax
je 0x1000b8e0d
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8e03
test byte [rcx + 0x1c], 1
je 0x1000b8e03
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x26
call fcn.100020584
mov ebx, 0x80004005
jmp 0x1000b8f05
mov rbx, qword [rbp + 8]
test rbx, rbx
jne 0x1000b8e50
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8e49
test byte [rcx + 0x1c], 1
je 0x1000b8e49
mov rcx, qword [rcx + 0x10]
lea edx, [rbx + 0x36]
lea r8, [0x100002ff8]
call fcn.100020584
mov rcx, qword [0x1000dedd8]
mov ebx, 0x80070057
jmp 0x1000b8eb7
cmp eax, 0x78
jae 0x1000b8e75
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8eb2
test byte [rcx + 0x1c], 1
je 0x1000b8eb2
mov edx, 0x37
jmp 0x1000b8e9b
cmp dword [rbx], 0x4d51534d
je 0x1000b8ed9
mov rcx, qword [0x1000dedd8]
lea rdi, [0x1000dedd8]
cmp rcx, rdi
je 0x1000b8eb2
test byte [rcx + 0x1c], 1
je 0x1000b8eb2
mov edx, 0x38
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ff8]
call fcn.100020584
mov rcx, qword [0x1000dedd8]
mov ebx, 0x8007000b
cmp rcx, rdi
je 0x1000b8f05
test byte [rcx + 0x1c], 1
je 0x1000b8f05
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002ed8]
mov edx, 0x27
call fcn.100020584
jmp 0x1000b8f05
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov r11, qword [rsp + 0x80]
mov qword [rbx + 0x28], r11
xor ebx, ebx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jns 0x1000b8f29
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x1000b8f29
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
and qword [rbp + 8], 0
and dword [rbp + 0x10], 0
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x50
pop r12
pop rdi
pop rbp
ret