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

Disassembly:
push rbx
push rsi
push r13
push r14
sub rsp, 0xe08
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xde0], rax
mov rbx, rcx
mov qword [rsp + 0x40], rdx
add rcx, 0x30
mov r13, rdx
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x14000adf3
mov qword [rdx], r13
add qword [rcx + 8], 8
jmp 0x14000adfd
lea r8, [rsp + 0x40]
call fcn.140003260
xor r14d, r14d
mov esi, r14d
cmp qword [rbx + 0x60], r14
jbe 0x14000ae67
cmp qword [rbx + 0x68], 0xf
lea r8, [rbx + 0x50]
jbe 0x14000ae17
mov r8, qword [r8]
lea r9, [r13 + 0x20]
lea rdx, str._s_s
lea rcx, [rsp + 0xcd0]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
lea rcx, [rsp + 0xcd0]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
test rax, rax
jne 0x14000aec1
cmp qword [rbx + 0x60], r14
jne 0x14000aec1
lea r8, [r13 + 0x20]
lea rdx, [0x1400316d4]
lea rcx, [rsp + 0xcd0]
call qword [sym.imp.USER32.dll_wsprintfA]
xor r9d, r9d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
lea rcx, [rsp + 0xcd0]
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rsi, rax
test rax, rax
je 0x14000b1f0
xor edx, edx
mov qword [rsp + 0xdf8], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r12d, eax
cmp eax, 0xffffffff
jne 0x14000aeec
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14000b1e8
mov qword [rsp + 0xe40], rbp
mov eax, r12d
and eax, 0x1f
mov qword [rsp + 0xe00], rdi
mov qword [rsp + 0xdf0], r15
mov r15d, 0x20
sub r15d, eax
test eax, eax
cmove r15d, r14d
add r15d, r12d
mov ecx, r15d
call fcn.14002ea50
mov r8d, r15d
xor edx, edx
mov rcx, rax
mov rbp, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], r14
mov r8d, r12d
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14000af69
mov rcx, rbp
call fcn.14002ea1c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14000b1d0
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0xc78
call sub.VCRUNTIME140.dll_memset
mov r8d, dword [rsp + 0x48]
lea rcx, [rsp + 0x50]
mov rdx, rbp
call fcn.140027c80
test eax, eax
jne 0x14000afa7
mov rcx, rbp
call fcn.14002ea1c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000b1cd
cmp dword [r13 + 0xc], r14d
lea r9, [rsp + 0x40]
mov eax, 0x7d00
mov qword [rsp + 0x28], 0x20
mov ecx, 0x3e80
mov r8, r12
cmove eax, ecx
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.140027470
mov rdi, rax
test rax, rax
je 0x14000afef
mov rcx, rbp
call fcn.14002ea1c
mov r15d, dword [rsp + 0x40]
mov rbp, rdi
mov rcx, qword [rbx + 0x30]
mov edx, r15d
mov rax, qword [rbx + 0x38]
mov r8, r13
sub rax, rcx
shr edx, 2
sar rax, 3
cmp rax, 1
jne 0x14000b011
dec edx
jmp 0x14000b022
mov rax, qword [rcx + rax*8 - 0x10]
dec edx
mov ecx, dword [rax + 0x18]
inc ecx
add edx, ecx
mov r14d, ecx
lea rcx, [r13 + 0x14]
mov eax, 0x18
mov dword [rcx], r14d
mov dword [r8 + rax], edx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000b18d
cmp dword [rbx + 0x70], 0
jne 0x14000b18d
mov rax, qword [rcx]
xor r9d, r9d
lea edx, [r9 + 7]
lea r8d, [r9 + 1]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r9 + 7]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r9 + 4]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov rax, qword [rcx]
lea edx, [r9 + 4]
lea r8d, [rdx + 0x7c]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov rax, qword [rcx]
lea edx, [r9 + 7]
lea r8d, [r9 + 0x60]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r9 + 8]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x14]
mov rax, qword [rcx]
lea edx, [r9 + 9]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [r13 + 0x15]
mov rax, qword [rcx]
lea edx, [r9 + 0xa]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8d, 0xff
mov rax, qword [rcx]
lea edx, [r9 + 0xb]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov r8d, 0xff
mov rax, qword [rcx]
lea edx, [r9 + 0xc]
call qword [rax + InitCommonControls]
test r15d, r15d
je 0x14000b164
mov rdi, rbp
mov r14d, r15d
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
movzx r8d, byte [rdi]
mov rax, qword [rcx]
lea edx, [r9 + 0xf]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov rax, qword [rcx]
lea edx, [r9 + 4]
lea r8d, [r9 + 0x1b]
call qword [rax + InitCommonControls]
lea rdi, [rdi + 1]
sub r14, 1
jne 0x14000b130
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
mov rax, qword [rcx]
lea edx, [r9 + 4]
lea r8d, [rdx + 0x7c]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r9 + 7]
call qword [rax + InitCommonControls]
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x14000b1b6
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
jne 0x14000b1b6
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
je 0x14000b1a0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call fcn.14002ea1c
mov r14d, 1
mov eax, r14d
mov rbp, qword [rsp + 0xe40]
mov rdi, qword [rsp + 0xe00]
mov r15, qword [rsp + 0xdf0]
mov r12, qword [rsp + 0xdf8]
mov rcx, qword [rsp + 0xde0]
xor rcx, rsp
call fcn.14002e9c0
add rsp, 0xe08
pop r14
pop r13
pop rsi
pop rbx
ret