Function at 0x140001b30
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.140004060
test rax, rax
mov rbx, rax
je 0x140001da0
mov rax, qword [0x14001dc40]
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.1400075c0
test rax, rax
mov rdi, rax
jne 0x140001bb0
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.14000e6d0
test eax, eax
js 0x140001db8
mov r9, rbx
mov r8d, 1
mov edx, 0x58
mov rcx, rsi
call sub.msvcrt.dll_fread
test rax, rax
je 0x140001dd0
mov edx, 0x1060
mov ecx, 1
call sub.msvcrt.dll_calloc
test rax, rax
mov rsi, rax
je 0x140001e01
mov r9, rbp
mov edx, 0x1000
mov rcx, rax
lea r8, [0x140018129]
call fcn.140001730
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 + 0x101c], edx
mov edx, 0x40
bswap eax
mov ecx, eax
mov eax, dword [rsp + 0x30]
movd xmm5, ecx
lea rcx, [rsi + 0x1020]
punpckldq xmm0, xmm5
bswap eax
movd xmm1, eax
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x28], xmm0
call fcn.140001730
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.14000e6d0
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 0x140001e19
mov r9, rbx
mov r8d, 1
mov rdx, rdi
call sub.msvcrt.dll_fread
test rax, rax
je 0x140001d80
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 0x140001df0
mov rax, qword [rsi + 0x1008]
mov r9, qword [rsi + 0x1010]
cmp rax, r9
jae 0x140001b90
movzx r8d, byte [rsi + 0x1018]
mov r10d, 0x40100501
nop dword [rax]
mov ecx, dword [rax + 4]
mov edi, dword [rax + 0xc]
mov edx, dword [rax]
bswap ecx
mov r11d, ecx
mov ecx, dword [rax + 8]
bswap edi
movd xmm2, edi
movzx edi, byte [rax + 0x11]
movd xmm3, r11d
bswap edx
movd xmm1, edx
punpckldq xmm1, xmm3
bswap ecx
movd xmm0, ecx
lea ecx, [rdi - 0x5a]
punpckldq xmm0, xmm2
punpcklqdq xmm1, xmm0
movups xmmword [rax], xmm1
cmp cl, 0x1e
ja 0x140001d67
bt r10, rcx
setb cl
test cl, cl
cmovne r8d, ecx
mov edx, edx
add rax, rdx
cmp rax, r9
jb 0x140001d18
mov byte [rsi + 0x1018], r8b
jmp 0x140001b90
lea rdx, str.Could_not_read_full_TOC__n
lea rcx, str.fread
call fcn.1400028f0
jmp 0x140001b90
xor esi, esi
mov rax, rsi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
ret
lea rdx, str.Failed_to_seek_to_cookie_position__n
lea rcx, str.fseek
call fcn.1400028f0
jmp 0x140001b8e
lea rdx, str.Failed_to_read_cookie__n
lea rcx, str.fread
call fcn.1400028f0
jmp 0x140001b8e
lea rcx, str.Error_on_file._n
call fcn.140002790
jmp 0x140001b90
lea rdx, str.Could_not_allocate_memory_for_archive_structure__n
lea rcx, [0x14001838a]
call fcn.1400028f0
jmp 0x140001b8e
lea rdx, str.Could_not_allocate_buffer_for_TOC__n
lea rcx, str.malloc
call fcn.1400028f0
jmp 0x140001b90