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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x3d0
xor r14d, r14d
mov rax, rdx
mov rdi, rcx
xor edx, edx
mov rcx, rax
mov r13d, r8d
mov esi, r14d
mov r12, r14
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x74], 0x1388
call fcn.1400131dc
cmp rax, 0xffffffffffffffff
mov rbp, rax
je 0x14001d176
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, r14d
mov ebx, eax
jl 0x14001cf03
lea ecx, [rax + 0x1388]
mov eax, 0xd1b71759
mul ecx
lea rcx, [rsp + 0x68]
shr edx, 0xc
imul edx, edx, 0x1388
call fcn.140010ac0
mov r12, qword [rsp + 0x68]
lea r9, [rsp + 0x418]
mov r8d, ebx
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x418], r14d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 4
mov ecx, r14d
cmp ebx, eax
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x418]
cmovae ecx, eax
mov qword [rsp + 0x58], r12
mov dword [rsp + 0x50], ebx
lea eax, [rcx + 0x10]
mov dword [rsp + 0x418], r14d
cmp eax, ebx
cmovbe ecx, eax
mov dword [rsp + 0x60], ecx
lea rcx, [rsp + 0x50]
call fcn.140011310
mov ecx, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x60]
lea eax, [r11 + 8]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x418]
cmp eax, ecx
mov dword [rsp + 0x418], r14d
mov qword [rsp + 0x40], r14
cmovbe r11d, eax
lea eax, [r11 + 4]
cmp eax, ecx
cmovbe r11d, eax
lea eax, [r11 + 4]
cmp eax, ecx
cmovbe r11d, eax
lea eax, [r11 + 0x10]
cmp eax, ecx
cmovbe r11d, eax
lea eax, [r11 + 0x10]
cmp eax, ecx
lea rcx, [rsp + 0x50]
cmovbe r11d, eax
mov dword [rsp + 0x60], r11d
call fcn.140011310
cmp eax, r14d
mov esi, eax
je 0x14001d16a
mov ecx, dword [rsp + 0x418]
cmp ecx, r14d
jbe 0x14001d16a
mov rdx, qword [rsp + 0x40]
cmp rdx, r14
je 0x14001d16a
xor eax, eax
cmp r13d, r14d
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x48], rax
je 0x14001d05d
mov eax, dword [rdi + 0x2cc]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x418]
mov dword [rsp + 0x418], eax
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
xor r8d, r8d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1400097f4
mov esi, eax
jmp 0x14001d110
lea rcx, [rsp + 0x80]
call fcn.1400162f4
lea rdx, [rdi + 0x50]
lea rcx, [rsp + 0x148]
mov r8d, 0x200
call sub.msvcrt.dll_memcpy
lea rdx, [rdi + 0x250]
lea rcx, [rsp + 0x348]
call fcn.140011780
lea rdx, [rdi + 0x280]
lea rcx, [rsp + 0x378]
mov r8d, 0x40
call sub.msvcrt.dll_memcpy
mov r11d, dword [rdi + 0x2c0]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x3b8], r11d
mov qword [rsp + 0x20], r14
call fcn.1400178e4
cmp eax, r14d
mov esi, eax
jne 0x14001d103
mov eax, dword [rsp + 0x3c0]
mov dword [rdi + 0x2c8], eax
lea rcx, [rsp + 0x80]
call fcn.140016514
cmp esi, r14d
je 0x14001d182
mov r12d, dword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rcx, rdi
mov r8d, r12d
mov rdx, rbp
call fcn.14001cda8
cmp eax, r14d
mov esi, eax
jne 0x14001d15f
lea rcx, [rdi + 0x360]
mov edx, r12d
call fcn.140010b70
mov rcx, qword [rdi + 0x360]
mov r8, r12
mov rdx, rbp
call sub.msvcrt.dll_memcpy
mov dword [rdi + 0x2c8], 0xffffffeb
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x14001d182
mov dword [rdi + 0x2c8], 0xffffffec
jmp 0x14001d182
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi + 0x2c8], eax
lea rcx, [rsp + 0x68]
call fcn.140010a80
lea r11, [rsp + 0x3d0]
mov eax, esi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret