Function at 0x140001b90
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rdx, [0x14001812c]
mov rbp, rcx
call fcn.140004670
test rax, rax
mov rbx, rax
je 0x140001e10
mov rax, qword [0x14001df80]
lea rsi, [rsp + 0x20]
mov r8d, 8
mov rcx, rbx
mov rdx, rsi
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
shr rax, 0x18
add eax, 0xc
mov byte [rsp + 0x23], al
call fcn.1400077b0
test rax, rax
mov rdi, rax
jne 0x140001c10
xor esi, esi
mov rcx, rbx
call sub.msvcrt.dll_fclose
mov rax, rsi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
ret
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.14000ed30
test eax, eax
js 0x140001e28
mov r9, rbx
mov r8d, 1
mov edx, 0x58
mov rcx, rsi
call sub.msvcrt.dll_fread
test rax, rax
je 0x140001e50
mov edx, 0x1070
mov ecx, 1
call sub.msvcrt.dll_calloc
test rax, rax
mov rsi, rax
je 0x140001e81
mov r9, rbp
mov edx, 0x1000
mov rcx, rax
lea r8, [0x140018129]
call fcn.140001740
mov eax, dword [rsp + 0x28]
lea r9, [rsp + 0x38]
mov edx, dword [rsp + 0x34]
lea r8, [0x140018129]
bswap eax
movd xmm0, eax
mov eax, dword [rsp + 0x2c]
bswap edx
movd xmm4, edx
mov dword [rsi + 0x1028], edx
mov edx, 0x40
bswap eax
mov ecx, eax
mov eax, dword [rsp + 0x30]
movd xmm5, ecx
lea rcx, [rsi + 0x102c]
punpckldq xmm0, xmm5
bswap eax
movd xmm1, eax
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x28], xmm0
call fcn.140001740
mov eax, dword [rsp + 0x28]
xor r8d, r8d
mov rcx, rbx
sub rdi, rax
lea rdx, [rdi + 0x58]
mov qword [rsi + 0x1000], rdx
add edx, dword [rsp + 0x2c]
call fcn.14000ed30
mov edi, dword [rsp + 0x30]
mov rcx, rdi
call sub.msvcrt.dll_malloc
test rax, rax
mov rcx, rax
mov qword [rsi + 0x1008], rax
je 0x140001ea1
mov r9, rbx
mov r8d, 1
mov rdx, rdi
call sub.msvcrt.dll_fread
test rax, rax
je 0x140001de8
mov eax, dword [rsp + 0x30]
mov rcx, rbx
add rax, qword [rsi + 0x1008]
mov qword [rsi + 0x1010], rax
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x140001e70
mov rax, qword [rsi + 0x1008]
mov r10, qword [rsi + 0x1010]
cmp rax, r10
jae 0x140001bf0
mov r11d, 0x40100501
jmp 0x140001d85
mov byte [rsi + 0x1018], 1
mov edx, edx
add rax, rdx
cmp rax, r10
jae 0x140001bf0
mov ecx, dword [rax + 4]
mov edx, dword [rax]
mov r9d, dword [rax + 0xc]
bswap ecx
mov r8d, ecx
mov ecx, dword [rax + 8]
movd xmm3, r8d
movzx r8d, byte [rax + 0x11]
bswap edx
movd xmm1, edx
bswap r9d
movd xmm2, r9d
punpckldq xmm1, xmm3
bswap ecx
movd xmm0, ecx
lea ecx, [r8 - 0x5a]
punpckldq xmm0, xmm2
punpcklqdq xmm1, xmm0
movups xmmword [rax], xmm1
cmp cl, 0x1e
ja 0x140001d77
bt r11, rcx
jb 0x140001d70
cmp r8b, 0x6c
jne 0x140001d77
mov qword [rsi + 0x1020], rax
jmp 0x140001d77
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Could_not_read_full_TOC__n
mov edx, dword [rax]
lea rcx, str.fread
call fcn.140002a30
jmp 0x140001bf0
xor esi, esi
mov rax, rsi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
ret
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Failed_to_seek_to_cookie_position__n
mov edx, dword [rax]
lea rcx, str.fseek
call fcn.140002a30
jmp 0x140001bee
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Failed_to_read_cookie__n
mov edx, dword [rax]
lea rcx, str.fread
call fcn.140002a30
jmp 0x140001bee
lea rcx, str.Error_on_file._n
call fcn.140002920
jmp 0x140001bf0
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Could_not_allocate_memory_for_archive_structure__n
mov edx, dword [rax]
lea rcx, [0x14001838a]
call fcn.140002a30
jmp 0x140001bee
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Could_not_allocate_buffer_for_TOC__n
mov edx, dword [rax]
lea rcx, str.malloc
call fcn.140002a30
jmp 0x140001bf0