Function at 0x140001c40
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.1400040f0
mov rbx, rax
test rax, rax
je 0x140001eb0
mov rax, qword [0x1400156e0]
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.1400074f0
mov rdi, rax
test rax, rax
jne 0x140001cc0
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 0x140001ec8
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 0x140001ee0
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 0x140001f11
mov r9, rbp
lea r8, [0x140010391]
mov edx, 0x1000
mov rcx, rax
call fcn.14000e390
mov eax, dword [rsp + 0x28]
mov edx, dword [rsp + 0x34]
lea r9, [rsp + 0x38]
lea r8, [0x140010391]
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.14000e390
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 0x140001f29
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 0x140001e90
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 0x140001f00
mov rax, qword [rsi + 0x1008]
mov r9, qword [rsi + 0x1010]
cmp rax, r9
jae 0x140001ca0
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 0x140001e77
bt r10, rcx
setb cl
test cl, cl
cmovne r8d, ecx
mov edx, edx
add rax, rdx
cmp rax, r9
jb 0x140001e28
mov byte [rsi + 0x1018], r8b
jmp 0x140001ca0
lea rdx, str.Could_not_read_full_TOC__n
lea rcx, str.fread
call fcn.140002a40
jmp 0x140001ca0
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.140002a40
jmp 0x140001c9e
lea rdx, str.Failed_to_read_cookie__n
lea rcx, str.fread
call fcn.140002a40
jmp 0x140001c9e
lea rcx, str.Error_on_file._n
call fcn.1400028e0
jmp 0x140001ca0
lea rdx, str.Could_not_allocate_memory_for_archive_structure__n
lea rcx, [0x14001038a]
call fcn.140002a40
jmp 0x140001c9e
lea rdx, str.Could_not_allocate_buffer_for_TOC__n
lea rcx, str.malloc
call fcn.140002a40
jmp 0x140001ca0