Function at 0x448e50
Capabilities:
Read file on windows

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x50
movzx esi, byte [rcx + 0x86]
mov rbx, rcx
mov byte [rcx + 0x86], 0
mov edi, edx
mov ebp, r8d
lea rcx, [rcx + 0x7c]
xor edx, edx
mov r8d, 0xa
call sub.msvcrt.dll_strtoul
mov byte [rbx + 0x86], sil
test eax, eax
js 0x448fc0
lea esi, [rax + 1]
mov eax, dword [rbx + 0x40]
and esi, 0xfffffffe
test ebp, ebp
lea eax, [rsi + rax + 0x3c]
mov dword [rbx + 0x40], eax
je 0x448f01
cmp esi, edi
jae 0x448ed0
mov rdx, qword [rbx]
lea rcx, str._s:_the_archive_index_is_empty_n
call fcn.00448cd0
xor eax, eax
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r9, qword [rbx + 8]
lea r12, [rsp + 0x48]
mov ebp, edi
mov edx, 1
mov r8, rbp
mov rcx, r12
call sub.msvcrt.dll_fread
cmp rbp, rax
je 0x448f60
mov rdx, qword [rbx]
lea rcx, str._s:_failed_to_read_archive_index_n
call fcn.00448cd0
jmp 0x448ebb
mov rcx, qword [rbx + 8]
mov r8d, 1
mov edx, esi
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x448fa1
mov r9, qword [rbx + 8]
lea rcx, [rbx + 0x4c]
mov r8d, 0x3c
mov edx, 1
call sub.msvcrt.dll_fread
cmp rax, 0x3c
je 0x448fe3
test rax, rax
je 0x448fe3
mov rdx, qword [rbx]
lea rcx, str._s:_failed_to_read_archive_header_following_archive_index_n
call fcn.00448cd0
xor eax, eax
jmp 0x448ebd
mov rcx, r12
mov edx, edi
sub esi, edi
call fcn.00448d50
mov rcx, rbp
mov r8, rax
mov qword [rbx + 0x10], rax
mov eax, esi
imul rcx, r8
cmp r8, rax
ja 0x448f86
cmp rax, rcx
jae 0x449000
mov rdx, qword [rbx]
mov dword [rsp + 0x20], esi
mov r9d, edi
lea rcx, str._s:_the_archive_index_is_supposed_to_have_0x_lx_entries_of__d_bytes__but_the_size_is_only_0x_lx_n
call fcn.00448cd0
jmp 0x448ebb
mov rdx, qword [rbx]
lea rcx, str._s:_failed_to_skip_archive_symbol_table_n
call fcn.00448cd0
xor eax, eax
jmp 0x448ebd
mov rdx, qword [rbx]
lea rcx, str._s:_invalid_archive_header_size:__ld_n
mov r8d, eax
call fcn.00448cd0
xor eax, eax
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov eax, 1
add rsp, 0x50
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov qword [rsp + 0x38], r8
call sub.msvcrt.dll_malloc
mov r8, qword [rsp + 0x38]
test rax, rax
mov r12, rax
je 0x44903c
mov r9, qword [rbx + 8]
mov rdx, rbp
mov rcx, rax
call sub.msvcrt.dll_fread
mov rbp, qword [rbx + 0x10]
cmp rbp, rax
je 0x44904d
mov rcx, r12
call fcn.00455b00
jmp 0x448ef0
lea rcx, str.Out_of_memory_whilst_trying_to_read_archive_symbol_index_n
call fcn.00448cd0
jmp 0x448ebb
lea rcx, [rbp*8]
mov eax, edi
imul eax, ebp
sub esi, eax
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rbx + 0x18], rax
je 0x44910e
test rbp, rbp
je 0x4490a7
xor r13d, r13d
xor ebp, ebp
xor edx, edx
jmp 0x449084
mov rax, qword [rbx + 0x18]
lea r14, [rax + rdx*8]
mov ecx, r13d
mov edx, edi
add rcx, r12
add r13d, edi
call fcn.00448d50
lea edx, [rbp + 1]
mov qword [r14], rax
cmp rdx, qword [rbx + 0x10]
mov rbp, rdx
jb 0x449080
mov rcx, r12
call fcn.00455b00
test esi, esi
jne 0x4490c7
mov rdx, qword [rbx]
lea rcx, str._s:_the_archive_has_an_index_but_no_symbols_n
call fcn.00448cd0
jmp 0x448ebb
mov edi, esi
mov rcx, rdi
call sub.msvcrt.dll_malloc
test rax, rax
mov qword [rbx + 0x20], rax
je 0x449127
mov r9, qword [rbx + 8]
mov dword [rbx + 0x28], esi
mov r8, rdi
mov edx, 1
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rdi, rax
je 0x448f1a
mov rdx, qword [rbx]
lea rcx, str._s:_failed_to_read_archive_index_symbol_table_n
call fcn.00448cd0
jmp 0x448ebb
mov rcx, r12
call fcn.00455b00
lea rcx, str.Out_of_memory_whilst_trying_to_convert_the_archive_symbol_index_n
call fcn.00448cd0
jmp 0x448ebb
lea rcx, str.Out_of_memory_whilst_trying_to_read_archive_index_symbol_table_n
call fcn.00448cd0
jmp 0x448ebb