Function at 0x430990
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
mov eax, dword [0x00492038]
mov dword [0x00492080], 1
mov dword [rsp + 0x20], eax
mov r9d, edx
mov r8, qword [rcx + 8]
mov rbx, rcx
mov dword [rsp + 0x268], edx
mov rdx, qword [rcx]
lea rsi, [rsp + 0x50]
mov qword [rsp + 0x50], 0
mov rcx, rsi
mov qword [rsp + 0x58], 0
lea r13, [rsp + 0xe0]
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x110], 0
call fcn.004495d0
test eax, eax
mov r14d, eax
jne 0x430c32
mov r13d, dword [0x00492038]
test r13d, r13d
jne 0x430c70
mov r15d, 1
lea rax, [rsi + 0x4c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 0x40], rax
jmp 0x430af0
mov eax, dword [rsp + 0x90]
mov qword [rbx], r12
mov rcx, rbx
mov dword [0x00492388], eax
add eax, dword [0x00492384]
mov dword [rsp + 0x90], eax
call fcn.0042d140
test eax, eax
cmove r15d, dword [rsp + 0x268]
mov rcx, qword [rbx + 0x88]
test rcx, rcx
je 0x430ae8
call fcn.00455b00
mov qword [rbx + 0x88], 0
mov dword [rbx + 0x90], 0
mov rcx, r12
call fcn.00455b00
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov edx, dword [rsp + 0x90]
call sub.msvcrt.dll_fseek
test eax, eax
mov r14d, eax
jne 0x430fc0
mov r9, qword [rbx + 8]
mov r8d, 0x3c
mov edx, 1
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_fread
cmp rax, 0x3c
jne 0x430fe0
cmp word [rsp + 0xd6], 0xa60
jne 0x430ff5
lea rcx, [rsi + 0x7c]
xor edx, edx
mov r8d, 0xa
add dword [rsp + 0x90], 0x3c
call sub.msvcrt.dll_strtoul
mov r13, qword [rsp + 0x38]
mov rcx, rsi
lea edx, [rax + 1]
test al, 1
cmovne eax, edx
mov rdx, r13
mov dword [0x00492384], eax
call fcn.00449a20
test rax, rax
mov rbp, rax
je 0x430f90
mov rcx, rax
call sub.msvcrt.dll_strlen
mov r8, rbp
mov rdx, r13
mov rcx, rsi
mov rdi, rax
call fcn.00449c70
test rax, rax
mov r12, rax
je 0x430f90
mov eax, dword [rsp + 0x268]
test eax, eax
je 0x430a92
mov r9d, dword [rsp + 0x8c]
test r9d, r9d
je 0x430ef2
mov rdi, qword [rsp + 0x40]
xor eax, eax
mov ecx, 0x13
rep stosq qword [rdi], rax
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x43104b
lea edx, [r9 + 0x3c]
xor r8d, r8d
mov dword [0x00492388], edx
call sub.msvcrt.dll_fseek
test eax, eax
mov edi, eax
jne 0x431062
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x170], r12
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x178], rax
call fcn.0042d140
test eax, eax
cmove r15d, edi
jmp 0x430ac2
xor r14d, r14d
mov rcx, qword [rsp + 0xe8]
test rcx, rcx
je 0x430c47
call sub.msvcrt.dll_fclose
mov rcx, r13
call fcn.004498c0
mov rcx, rsi
call fcn.004498c0
mov eax, r14d
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsp + 0x70], 0
mov rdx, qword [rbx]
je 0x430f70
mov r9d, dword [rsp + 0x78]
lea rcx, str.Index_of_archive__s:___lu_entries__0x_lx_bytes_in_the_symbol_table__n
xor ebp, ebp
mov r8d, dword [rsp + 0x60]
call sub.msvcrt.dll_printf
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll_ftell
cmp qword [rsp + 0x60], 0
mov dword [rsp + 0x38], eax
je 0x430fa4
lea r13, [rsp + 0xe0]
xor r12d, r12d
xor eax, eax
lea rdi, str._t_.s_n
jmp 0x430d0f
mov r8, qword [rsp + 0x70]
mov r15d, ebp
sub edx, ebp
mov rcx, rdi
add r8, r15
call sub.msvcrt.dll_printf
mov edx, dword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
sub edx, ebp
add rcx, r15
call fcn.00455780
lea ebp, [rbp + rax + 1]
lea eax, [r12 + 1]
cmp rax, qword [rsp + 0x60]
mov r12, rax
jae 0x430fa4
mov rcx, qword [rsp + 0x68]
lea r15, [rax*8]
test r12d, r12d
mov rdx, qword [rcx + rax*8]
je 0x430d30
lea eax, [r12 - 1]
cmp qword [rcx + rax*8], rdx
je 0x430d91
mov r8, r13
mov rcx, rsi
call fcn.00449980
test rax, rax
je 0x430d91
mov r8, rax
mov rdx, r13
mov rcx, rsi
call fcn.00449c70
test rax, rax
je 0x430d91
lea rcx, str.Contents_of_binary__s_at_offset
mov rdx, rax
mov qword [rsp + 0x30], rax
call sub.msvcrt.dll_printf
mov rax, qword [rsp + 0x68]
mov edx, 4
mov rcx, qword [rax + r15]
call fcn.0040a010
mov ecx, 0xa
call sub.msvcrt.dll_putchar
mov r8, qword [rsp + 0x30]
mov rcx, r8
call fcn.00455b00
mov edx, dword [rsp + 0x78]
cmp edx, ebp
ja 0x430cd0
mov rdx, qword [rbx]
lea rcx, str._s:_end_of_the_symbol_table_reached_before_the_end_of_the_index_n
xor r15d, r15d
call fcn.00448cd0
mov r12d, dword [rsp + 0x98]
test r12d, r12d
je 0x430fb0
add ebp, 7
and ebp, 0xfffffff8
mov r8d, dword [rsp + 0x78]
cmp r8d, ebp
jbe 0x430df4
mov rdx, qword [rbx]
sub r8d, ebp
lea rax, str._s:__ld_byte_remains_in_the_symbol_table__but_without_corresponding_entries_in_the_index_table_n
cmp r8d, 1
lea rcx, str._s:__ld_bytes_remain_in_the_symbol_table__but_without_corresponding_entries_in_the_index_table_n
cmove rcx, rax
xor r15d, r15d
call fcn.00448cd0
mov rcx, qword [rbx + 8]
xor r8d, r8d
mov edx, dword [rsp + 0x38]
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x431013
mov ebp, dword [0x0049207c]
test ebp, ebp
jne 0x430a6d
mov edi, dword [0x00492078]
test edi, edi
jne 0x430a6d
mov r11d, dword [0x00492070]
test r11d, r11d
jne 0x430a6d
mov r10d, dword [0x0049205c]
test r10d, r10d
jne 0x430a6d
mov r9d, dword [0x0049206c]
test r9d, r9d
jne 0x430a6d
mov r8d, dword [0x00492060]
test r8d, r8d
jne 0x430a6d
mov ecx, dword [0x00492054]
test ecx, ecx
jne 0x430a6d
mov edx, dword [0x00492050]
test edx, edx
jne 0x430a6d
cmp dword [0x0049204c], 0
jne 0x430a6d
cmp dword [0x00492048], 0
jne 0x430a6d
cmp dword [0x00492044], 0
jne 0x430a6d
cmp dword [0x00492040], 0
jne 0x430a6d
cmp dword [0x0049203c], 0
jne 0x430a6d
cmp dword [0x00492068], 0
jne 0x430a6d
cmp dword [0x00492074], 0
jne 0x430a6d
lea r13, [rsp + 0xe0]
mov r14d, 1
jmp 0x430c35
mov rcx, qword [rbx]
mov r8d, edi
mov rdx, rbp
mov dword [rsp + 0x4c], r9d
call fcn.004494c0
test rax, rax
mov rdi, rax
je 0x430c32
mov rcx, rax
call fcn.00410410
mov r9d, dword [rsp + 0x4c]
test rax, rax
mov rbp, rax
je 0x43107b
mov eax, dword [rsp + 0x8c]
mov rcx, rbp
mov qword [rbp], r12
mov dword [rsp + 0x4c], r9d
mov dword [0x00492388], eax
call fcn.0042d140
mov r9d, dword [rsp + 0x4c]
mov rcx, rbp
test eax, eax
cmove r15d, r9d
call fcn.00409de0
mov rcx, rdi
call fcn.00455b00
jmp 0x430ac2
lea rcx, str._s:_unable_to_dump_the_index_as_none_was_found_n
mov r15d, 1
call fcn.00448cd0
jmp 0x430e0c
mov rdx, qword [rbx]
lea rcx, str._s:_bad_archive_file_name_n
call fcn.00448cd0
jmp 0x430c35
mov r15d, 1
jmp 0x430daf
add ebp, 1
and ebp, 0xfffffffe
jmp 0x430dc6
mov rdx, qword [rbx]
lea rcx, str._s:_failed_to_seek_to_next_archive_header_n
xor r14d, r14d
call fcn.00448cd0
jmp 0x430c57
test rax, rax
jne 0x43102f
lea r13, [rsp + 0xe0]
mov r14d, r15d
jmp 0x430c35
mov rdx, qword [rsp + 0x50]
lea rcx, [0x0047ae30]
lea r13, [rsp + 0xe0]
call fcn.00448cd0
jmp 0x430c35
mov rdx, qword [rbx]
lea rcx, str._s:_failed_to_seek_back_to_start_of_object_files_in_the_archive_n
lea r13, [rsp + 0xe0]
call fcn.00448cd0
jmp 0x430c35
mov rdx, qword [rbx]
lea rcx, [0x0047ae08]
lea r13, [rsp + 0xe0]
call fcn.00448cd0
jmp 0x430c35
mov rdx, qword [rbx]
lea rcx, str._s:_contains_corrupt_thin_archive:__s_n
mov r8, rbp
call fcn.00448cd0
jmp 0x430c35
mov rdx, qword [rsp + 0xe0]
lea rcx, str._s:_failed_to_seek_to_archive_member._n
call fcn.00448cd0
jmp 0x430c35
lea rcx, str.Input_file__s_is_not_readable._n
mov rdx, rdi
call fcn.00448cd0
mov rcx, rdi
call fcn.00455b00
jmp 0x430c35