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

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx]
mov rbx, rcx
call qword [rax + 0x70]
test al, al
je 0x1800c72cb
mov al, 1
add rsp, 0x20
pop rbx
ret
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp 0x1800c74d0
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r12, rcx
mov qword [rsp + 0x38], rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea rdx, [rcx + 0x18]
lea rcx, [rbp - 0x10]
call fcn.180037a20
nop
cmp qword [rbp], r14
jne 0x1800c75c9
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r14w
lea r8d, [r14 + 0x11]
lea rdx, str.dict_sysmodel.dat
lea rcx, [rsp + 0x48]
call fcn.180033930
nop
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.18016f7d0
mov rbx, rax
lea rax, [rbp - 0x10]
cmp rax, rbx
je 0x1800c75a9
lea rcx, [rbp - 0x10]
call fcn.1800338a0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rsp + 0x78]
call fcn.1800338a0
nop
lea rcx, [rsp + 0x48]
call fcn.1800338a0
cmp qword [rbp], 0
je 0x1800c76d0
lea rcx, [rbp - 0x10]
call fcn.1801dbd90
mov esi, 1
test al, al
jne 0x1800c76d8
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x48]
call fcn.1801dcc70
mov rbx, rax
mov dword [rsp + 0x30], esi
lea rcx, [rbp - 0x68]
call fcn.18016fd60
nop
lea r8d, [rsi + 4]
lea rdx, str.dict_
mov rcx, rax
call fcn.180033c20
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x58], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov dword [rsp + 0x30], 3
mov r8, rbx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x78]
call fcn.1800804c0
mov rbx, rax
lea rax, [rbp - 0x10]
cmp rax, rbx
je 0x1800c7689
lea rcx, [rbp - 0x10]
call fcn.1800338a0
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
lea rcx, [rsp + 0x78]
call fcn.1800338a0
mov ebx, 3
and ebx, 0xfffffffd
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x48]
call fcn.1800338a0
nop
lea rcx, [rbp - 0x68]
call fcn.1800338a0
and ebx, 0xfffffffe
mov dword [rsp + 0x30], ebx
lea rcx, [rbp - 0x48]
call fcn.1800338a0
lea rcx, [rbp - 0x10]
call fcn.1801dbd90
test al, al
jne 0x1800c76d8
xor dil, dil
jmp 0x1800c781d
mov qword [rsp + 0x40], r14
mov ecx, 8
call fcn.1802994e4
mov qword [rsp + 0x68], rax
mov qword [rax], 0xffffffffffffffff
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x20], 3
mov r9d, esi
mov r8d, 0x80000000
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.18016bb70
mov rbx, qword [rsp + 0x40]
test al, al
je 0x1800c77e5
test rbx, rbx
je 0x1800c77e5
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1800c77e5
lea rdx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp eax, 0xffffffff
jne 0x1800c7759
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c77e5
mov r15d, dword [rbp - 0x20]
shl r15, 0x20
add r15, rdi
mov qword [rbp - 0x20], r15
cmp r15, 0x400
jb 0x1800c77e5
mov dword [rbp - 0x28], r14d
lea rdx, [0x180488a90]
mov ecx, 0x400
call fcn.180299938
mov r13, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1800c77e5
cmp qword [rbx], 0xffffffffffffffff
je 0x1800c77e5
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x28]
mov r8d, 0x400
mov rdx, rax
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800c77e5
cmp dword [rbp - 0x28], 0x400
jne 0x1800c77e5
cmp dword [r13 + 0x2d], 0
jne 0x1800c7857
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1800c77e5
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x1800c77e5
mov qword [rbx], 0xffffffffffffffff
xor dil, dil
test rbx, rbx
je 0x1800c781d
mov rcx, qword [rbx]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1800c7807
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], 0
mov edx, 8
mov rcx, rbx
call fcn.180299904
mov qword [rsp + 0x40], 0
lea rcx, [rbp - 0x10]
call fcn.1800338a0
movzx eax, dil
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1802994c0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea r14, [r12 + 0x48]
mov rdx, qword [r14 + 8]
cmp qword [r14 + 0x10], rdx
je 0x1800c7870
mov qword [rdx], r13
add qword [r14 + 8], 8
jmp 0x1800c787c
lea r8, [rbp - 0x18]
mov rcx, r14
call fcn.18009c2f0
mov ecx, dword [r13 + 0x2d]
cmp ecx, 1
jbe 0x1800c7977
nop dword [rax]
mov eax, esi
mov r12d, dword [r13 + rax*4 + 0x31]
lea eax, [rcx - 1]
cmp esi, eax
jne 0x1800c78a3
mov edi, r15d
jmp 0x1800c78ab
lea eax, [rsi + 1]
mov edi, dword [r13 + rax*4 + 0x31]
sub edi, r12d
mov ecx, edi
lea rdx, [0x180488a90]
call fcn.180299938
mov r15, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1800c796e
cmp qword [rbx], 0xffffffffffffffff
je 0x1800c7966
mov qword [rbp - 0x18], r12
xor r9d, r9d
lea r8, [rbp - 0x14]
mov edx, r12d
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp - 0x18], eax
cmp eax, 0xffffffff
jne 0x1800c7900
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1800c7966
cmp qword [rbp - 0x18], r12
jne 0x1800c7966
xor eax, eax
mov dword [rbp - 0x28], eax
cmp qword [rbx], 0xffffffffffffffff
je 0x1800c7966
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x28]
mov r8d, edi
mov rdx, r15
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800c7966
cmp dword [rbp - 0x28], edi
jne 0x1800c7966
mov rdx, qword [r14 + 8]
cmp qword [r14 + 0x10], rdx
je 0x1800c7946
mov qword [rdx], r15
add qword [r14 + 8], 8
jmp 0x1800c7953
lea r8, [rsp + 0x68]
mov rcx, r14
call fcn.18009c2f0
inc esi
mov ecx, dword [r13 + 0x2d]
mov r15, qword [rbp - 0x20]
cmp esi, ecx
jae 0x1800c7972
jmp 0x1800c7890
mov rcx, r15
call fcn.180299904
mov r15, qword [rbp - 0x20]
mov r12, qword [rsp + 0x38]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1800c7991
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x1800c7991
mov qword [rbx], 0xffffffffffffffff
cmp esi, dword [r13 + 0x2d]
je 0x1800c79a4
mov rcx, r12
call fcn.1800c79c0
jmp 0x1800c77e5
mov dword [r12 + 0x38], r15d
mov qword [r12 + 0x40], r13
mov dil, 1
jmp 0x1800c77e8