Function at 0x140001b50
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rdx, [0x140010129]
mov rbp, rcx
call fcn.140003b40
test rax, rax
mov rbx, rax
je 0x140001dd0
mov rax, qword [0x1400159b0]
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.140006bf0
test rax, rax
mov rdi, rax
jne 0x140001bd0
xor esi, esi
mov rcx, rbx
call sub.api_ms_win_crt_stdio_l1_1_0.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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
test eax, eax
js 0x140001de8
mov r9, rbx
mov r8d, 1
mov edx, 0x58
mov rcx, rsi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
test rax, rax
je 0x140001e10
mov edx, 0x1070
mov ecx, 1
call sub.api_ms_win_crt_heap_l1_1_0.dll_calloc
test rax, rax
mov rsi, rax
je 0x140001e41
mov r9, rbp
mov edx, 0x1000
mov rcx, rax
lea r8, [0x140010391]
call fcn.14000e150
mov eax, dword [rsp + 0x28]
lea r9, [rsp + 0x38]
mov edx, dword [rsp + 0x34]
lea r8, [0x140010391]
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.14000e150
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 sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
mov edi, dword [rsp + 0x30]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
mov rcx, rax
mov qword [rsi + 0x1008], rax
je 0x140001e61
mov r9, rbx
mov r8d, 1
mov rdx, rdi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
test rax, rax
je 0x140001da8
mov eax, dword [rsp + 0x30]
mov rcx, rbx
add rax, qword [rsi + 0x1008]
mov qword [rsi + 0x1010], rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
test eax, eax
jne 0x140001e30
mov rax, qword [rsi + 0x1008]
mov r10, qword [rsi + 0x1010]
cmp rax, r10
jae 0x140001bb0
mov r11d, 0x40100501
jmp 0x140001d45
mov byte [rsi + 0x1018], 1
mov edx, edx
add rax, rdx
cmp rax, r10
jae 0x140001bb0
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 0x140001d37
bt r11, rcx
jb 0x140001d30
cmp r8b, 0x6c
jne 0x140001d37
mov qword [rsi + 0x1020], rax
jmp 0x140001d37
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, str.Could_not_read_full_TOC__n
mov edx, dword [rax]
lea rcx, str.fread
call fcn.140002210
jmp 0x140001bb0
xor esi, esi
mov rax, rsi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, str.Failed_to_seek_to_cookie_position__n
mov edx, dword [rax]
lea rcx, str.fseek
call fcn.140002210
jmp 0x140001bae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, str.Failed_to_read_cookie__n
mov edx, dword [rax]
lea rcx, str.fread
call fcn.140002210
jmp 0x140001bae
lea rcx, str.Error_on_file._n
call fcn.140002170
jmp 0x140001bb0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, str.Could_not_allocate_memory_for_archive_structure__n
mov edx, dword [rax]
lea rcx, [0x14001038a]
call fcn.140002210
jmp 0x140001bae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
lea r8, str.Could_not_allocate_buffer_for_TOC__n
mov edx, dword [rax]
lea rcx, str.malloc
call fcn.140002210
jmp 0x140001bb0