Function at 0x140001bc0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rdx, [0x14001612c]
mov rbp, rcx
call fcn.1400046d0
mov rbx, rax
test rax, rax
je 0x140001e40
mov rax, qword [0x14001bf60]
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.140007c20
mov rdi, rax
test rax, rax
jne 0x140001c40
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.14000edb0
test eax, eax
js 0x140001e58
mov r9, rbx
mov r8d, 1
mov edx, 0x58
mov rcx, rsi
call sub.msvcrt.dll_fread
test rax, rax
je 0x140001e80
mov edx, 0x1070
mov ecx, 1
call sub.msvcrt.dll_calloc
mov rsi, rax
test rax, rax
je 0x140001eb1
mov r9, rbp
lea r8, [0x140016129]
mov edx, 0x1000
mov rcx, rax
call fcn.140001790
mov eax, dword [rsp + 0x28]
mov edx, dword [rsp + 0x34]
lea r9, [rsp + 0x38]
lea r8, [0x140016129]
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]
bswap eax
movd xmm1, eax
punpckldq xmm0, xmm5
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x28], xmm0
call fcn.140001790
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.14000edb0
mov edi, dword [rsp + 0x30]
mov rcx, rdi
call sub.msvcrt.dll_malloc
mov qword [rsi + 0x1008], rax
mov rcx, rax
test rax, rax
je 0x140001ed1
mov r9, rbx
mov r8d, 1
mov rdx, rdi
call sub.msvcrt.dll_fread
test rax, rax
je 0x140001e18
mov eax, dword [rsp + 0x30]
add rax, qword [rsi + 0x1008]
mov rcx, rbx
mov qword [rsi + 0x1010], rax
call sub.msvcrt.dll_ferror
test eax, eax
jne 0x140001ea0
mov rax, qword [rsi + 0x1008]
mov r10, qword [rsi + 0x1010]
cmp rax, r10
jae 0x140001c20
mov r11d, 0x40100501
jmp 0x140001db5
mov byte [rsi + 0x1018], 1
mov edx, edx
add rax, rdx
cmp rax, r10
jae 0x140001c20
mov ecx, dword [rax + 4]
mov edx, dword [rax]
mov r9d, dword [rax + 0xc]
bswap ecx
mov r8d, ecx
mov ecx, dword [rax + 8]
bswap edx
movd xmm3, r8d
movd xmm1, edx
movzx r8d, byte [rax + 0x11]
bswap r9d
bswap ecx
movd xmm2, r9d
movd xmm0, ecx
punpckldq xmm1, xmm3
punpckldq xmm0, xmm2
lea ecx, [r8 - 0x5a]
punpcklqdq xmm1, xmm0
movups xmmword [rax], xmm1
cmp cl, 0x1e
ja 0x140001da7
bt r11, rcx
jb 0x140001da0
cmp r8b, 0x6c
jne 0x140001da7
mov qword [rsi + 0x1020], rax
jmp 0x140001da7
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Could_not_read_full_TOC__n
lea rcx, str.fread
mov edx, dword [rax]
call fcn.140002a60
jmp 0x140001c20
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
lea rcx, str.fseek
mov edx, dword [rax]
call fcn.140002a60
jmp 0x140001c1e
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Failed_to_read_cookie__n
lea rcx, str.fread
mov edx, dword [rax]
call fcn.140002a60
jmp 0x140001c1e
lea rcx, str.Error_on_file._n
call fcn.140002950
jmp 0x140001c20
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Could_not_allocate_memory_for_archive_structure__n
lea rcx, [0x14001638a]
mov edx, dword [rax]
call fcn.140002a60
jmp 0x140001c1e
call qword [sym.imp.msvcrt.dll__errno]
lea r8, str.Could_not_allocate_buffer_for_TOC__n
lea rcx, str.malloc
mov edx, dword [rax]
call fcn.140002a60
jmp 0x140001c20