Function at 0x424120
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x12c
mov dword [esp + 0x3c], eax
mov eax, dword [0x4711ec]
lea esi, [esp + 0xb0]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
mov dword [0x4711b0], 1
mov dword [esp + 0x40], 0
mov dword [esp + 4], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xcc], 0
call fcn.004377a0
test eax, eax
jne 0x424390
mov eax, dword [0x4711ec]
test eax, eax
jne 0x4243d0
xor edi, edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
jmp 0x42423d
mov eax, dword [esp + 0x68]
mov edx, edi
mov dword [0x471098], eax
add eax, dword [0x471204]
mov dword [esp + 0x68], eax
mov eax, ebx
call fcn.00420e50
or dword [esp + 0x30], eax
mov eax, dword [0x4711a8]
test eax, eax
je 0x424235
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [0x4711a8], 0
mov dword [0x4711a0], 0
mov dword [esp], ebx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x68]
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x4246f0
lea eax, [esp + 0x74]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x3c
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msvcrt.dll_fread
cmp eax, 0x3c
jne 0x424710
lea eax, [esp + 0xae]
mov dword [esp + 8], 2
mov dword [esp + 4], 0x44e813
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x424741
lea eax, [esp + 0xa4]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
add dword [esp + 0x68], 0x3c
call sub.msvcrt.dll_strtoul
test al, 1
je 0x4242d8
add eax, 1
mov dword [0x471204], eax
lea esi, [esp + 0xb0]
lea eax, [esp + 0x40]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00437c30
test eax, eax
mov ebp, eax
je 0x4246b0
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp + 0x34], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.00437e30
test eax, eax
mov ebx, eax
je 0x4246b0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4241f0
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x424634
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4247b0
lea edx, [ecx + 0x3c]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [0x471098], edx
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x4247d2
mov edx, dword [esp + 0xb4]
mov eax, ebx
call fcn.00420e50
or dword [esp + 0x30], eax
jmp 0x424210
mov edi, 1
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x4243a8
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [esp], esi
call fcn.00437a90
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.00437a90
add esp, 0x12c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4247f3
mov eax, dword [esp + 0x58]
mov dword [esp], str.Index_of_archive__s:___lu_entries__0x_lx_bytes_in_the_symbol_table__n
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sub.msvcrt.dll_ftell
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
or eax, dword [esp + 0x48]
je 0x42480c
xor esi, esi
xor ebx, ebx
xor edi, edi
mov eax, dword [esp + 0x50]
test edi, edi
mov ecx, dword [eax + esi]
je 0x424441
mov edx, dword [eax + esi + 4]
xor edx, dword [eax + esi - 4]
mov eax, dword [eax + esi - 8]
xor eax, ecx
or edx, eax
je 0x4244ba
lea eax, [esp + 0xb0]
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00437b60
test eax, eax
je 0x4244ba
mov dword [esp + 8], eax
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.00437e30
test eax, eax
mov ebp, eax
je 0x4244ba
mov dword [esp + 4], eax
mov dword [esp], str.Contents_of_binary__s_at_offset
call sub.msvcrt.dll_printf
mov eax, dword [esp + 0x50]
mov ecx, 4
mov edx, dword [eax + esi + 4]
mov eax, dword [eax + esi]
call fcn.004026f0
mov dword [esp], 0xa
call sub.msvcrt.dll_putchar
mov dword [esp], ebp
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x58]
cmp eax, ebx
jbe 0x4246d0
mov edx, dword [esp + 0x54]
sub eax, ebx
add edi, 1
mov dword [esp + 4], eax
add esi, 8
mov dword [esp], str._t_.s_n
add edx, ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_printf
mov eax, dword [esp + 0x58]
sub eax, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
add eax, ebx
mov dword [esp], eax
call fcn.004412d0
lea ebx, [eax + ebx + 1]
xor eax, eax
cmp eax, dword [esp + 0x4c]
jb 0x424424
cmp edi, dword [esp + 0x48]
jb 0x424424
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x4246a3
mov eax, ebx
and eax, 1
add ebx, eax
mov eax, dword [esp + 0x58]
cmp ebx, eax
jb 0x424790
mov eax, dword [esp + 0x30]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x424766
mov eax, dword [0x4711c0]
test eax, eax
jne 0x4241e0
mov eax, dword [0x4711b4]
test eax, eax
jne 0x4241e0
mov eax, dword [0x4711b8]
test eax, eax
jne 0x4241e0
mov ebp, dword [0x4711bc]
test ebp, ebp
jne 0x4241e0
mov edi, dword [0x4711c8]
test edi, edi
jne 0x4241e0
mov esi, dword [0x4711d0]
test esi, esi
jne 0x4241e0
mov ebx, dword [0x4711c4]
test ebx, ebx
jne 0x4241e0
mov ecx, dword [0x4711f4]
test ecx, ecx
jne 0x4241e0
mov edx, dword [0x4711d4]
test edx, edx
jne 0x4241e0
cmp dword [0x4711d8], 0
jne 0x4241e0
cmp dword [0x4711f8], 0
jne 0x4241e0
cmp dword [0x4711dc], 0
jne 0x4241e0
cmp dword [0x4711e0], 0
jne 0x4241e0
cmp dword [0x4711cc], 0
jne 0x4241e0
cmp dword [0x4711fc], 0
jne 0x4241e0
xor edi, edi
lea esi, [esp + 0xb0]
jmp 0x424395
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00437680
test eax, eax
mov ebp, eax
je 0x424390
mov dword [esp + 4], 0x44e85c
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov ecx, eax
je 0x424813
mov eax, dword [esp + 0x64]
mov edx, ecx
mov dword [esp + 0x2c], ecx
mov dword [0x471098], eax
mov eax, ebx
call fcn.00420e50
mov ecx, dword [esp + 0x2c]
or dword [esp + 0x30], eax
mov dword [esp], ecx
call sub.msvcrt.dll_fclose
mov dword [esp], ebp
call sub.msvcrt.dll_free
jmp 0x424210
add ebx, 7
and ebx, 0xfffffff8
jmp 0x42452d
mov eax, dword [esp + 0x3c]
mov edi, 1
mov dword [esp], str._s:_bad_archive_file_name_n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424395
mov eax, dword [esp + 0x3c]
mov dword [esp], str._s:_end_of_the_symbol_table_reached_before_the_end_of_the_index_n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x42451a
mov eax, dword [esp + 0x3c]
mov edi, 1
mov dword [esp], str._s:_failed_to_seek_to_next_archive_header_n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x4243bc
test eax, eax
mov edi, dword [esp + 0x30]
lea esi, [esp + 0xb0]
je 0x424395
mov eax, dword [esp + 0x3c]
mov edi, 1
mov dword [esp], 0x44e7f0
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424395
mov eax, dword [esp + 0x40]
mov edi, 1
mov dword [esp], 0x44e818
lea esi, [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424395
mov eax, dword [esp + 0x3c]
mov edi, 1
mov dword [esp], str._s:_failed_to_seek_back_to_start_of_object_files_in_the_archive_n
lea esi, [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424395
sub eax, ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], str._s:__ld_bytes_remain_in_the_symbol_table__but_without_corresponding_entries_in_the_index_table_n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424539
mov eax, dword [esp + 0x3c]
mov edi, 1
mov dword [esp + 8], ebp
mov dword [esp], str._s:_contains_corrupt_thin_archive:__s_n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424395
mov eax, dword [esp + 0xb0]
mov edi, 1
mov dword [esp], str._s:_failed_to_seek_to_archive_member._n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x424395
mov eax, dword [esp + 0x3c]
mov dword [esp], str._s:_unable_to_dump_the_index_as_none_was_found_n
mov dword [esp + 4], eax
call fcn.00436bb0
jmp 0x42455d
xor ebx, ebx
jmp 0x42451a
mov dword [esp + 4], ebp
mov edi, 1
mov dword [esp], str.Input_file__s_is_not_readable._n
call fcn.00436bb0
mov dword [esp], ebp
call sub.msvcrt.dll_free
jmp 0x424395