Function at 0x140001ec0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
lea rdx, [0x140011179]
mov rbp, rcx
call fcn.140004370
mov rbx, rax
test rax, rax
je 0x140002130
mov rax, qword [0x140016710]
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.140007770
mov rdi, rax
test rax, rax
jne 0x140001f40
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 0x140002148
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 0x140002160
mov edx, 0x1060
mov ecx, 1
call sub.api_ms_win_crt_heap_l1_1_0.dll_calloc
mov rsi, rax
test rax, rax
je 0x140002191
mov r9, rbp
lea r8, [0x1400113e1]
mov edx, 0x1000
mov rcx, rax
call fcn.14000f280
mov eax, dword [rsp + 0x28]
mov edx, dword [rsp + 0x34]
lea r9, [rsp + 0x38]
lea r8, [0x1400113e1]
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]
bswap eax
movd xmm1, eax
punpckldq xmm0, xmm5
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x28], xmm0
call fcn.14000f280
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
mov qword [rsi + 0x1008], rax
mov rcx, rax
test rax, rax
je 0x1400021a9
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 0x140002110
mov eax, dword [rsp + 0x30]
add rax, qword [rsi + 0x1008]
mov rcx, rbx
mov qword [rsi + 0x1010], rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
test eax, eax
jne 0x140002180
mov rax, qword [rsi + 0x1008]
mov r9, qword [rsi + 0x1010]
cmp rax, r9
jae 0x140001f20
movzx r8d, byte [rsi + 0x1018]
mov r10d, 0x40100501
nop dword [rax]
mov ecx, dword [rax + 4]
mov edx, dword [rax]
mov edi, dword [rax + 0xc]
bswap ecx
mov r11d, ecx
mov ecx, dword [rax + 8]
bswap edx
bswap edi
movd xmm1, edx
movd xmm2, edi
movd xmm3, r11d
bswap ecx
movzx edi, byte [rax + 0x11]
movd xmm0, ecx
punpckldq xmm1, xmm3
punpckldq xmm0, xmm2
punpcklqdq xmm1, xmm0
lea ecx, [rdi - 0x5a]
movups xmmword [rax], xmm1
cmp cl, 0x1e
ja 0x1400020f7
bt r10, rcx
setb cl
test cl, cl
cmovne r8d, ecx
mov edx, edx
add rax, rdx
cmp rax, r9
jb 0x1400020a8
mov byte [rsi + 0x1018], r8b
jmp 0x140001f20
lea rdx, str.Could_not_read_full_TOC__n
lea rcx, str.fread
call fcn.140002cc0
jmp 0x140001f20
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.140002cc0
jmp 0x140001f1e
lea rdx, str.Failed_to_read_cookie__n
lea rcx, str.fread
call fcn.140002cc0
jmp 0x140001f1e
lea rcx, str.Error_on_file._n
call fcn.140002b60
jmp 0x140001f20
lea rdx, str.Could_not_allocate_memory_for_archive_structure__n
lea rcx, [0x1400113da]
call fcn.140002cc0
jmp 0x140001f1e
lea rdx, str.Could_not_allocate_buffer_for_TOC__n
lea rcx, str.malloc
call fcn.140002cc0
jmp 0x140001f20