Function at 0x401ed0
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
mov edi, edx
push esi
push ebx
sub esp, 0x11c
mov dword [esp + 0x2c], eax
mov dword [esp + 4], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
lea esi, [esp + 0xa0]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xbc], 0
call fcn.00402cc0
test eax, eax
mov dword [esp + 0x20], eax
je 0x401fce
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x401f8d
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [esp], esi
call fcn.00403020
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.00403020
mov eax, dword [esp + 0x20]
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x4270f0]
mov edx, edi
add dword [esp + 0x58], eax
mov eax, ebx
call fcn.004016e0
or dword [esp + 0x20], eax
mov dword [esp], ebx
call fcn.0041ab20
mov eax, dword [esp + 0x58]
mov dword [esp + 8], 0
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00413490
test eax, eax
jne 0x4021a0
lea eax, [esp + 0x64]
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 0x4021d0
lea eax, [esp + 0x9e]
mov dword [esp + 8], 2
mov dword [esp + 4], 0x41d57b
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4021f0
lea eax, [esp + 0x94]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
add dword [esp + 0x58], 0x3c
mov dword [esp], eax
call sub.msvcrt.dll_strtoul
test al, 1
je 0x402069
add eax, 1
mov dword [0x4270f0], eax
lea esi, [esp + 0xa0]
lea eax, [esp + 0x30]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004031e0
test eax, eax
mov ebp, eax
je 0x402174
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0x28], eax
lea eax, [esp + 0x30]
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00403420
test eax, eax
mov ebx, eax
je 0x402174
mov eax, dword [esp + 0x24]
test eax, eax
je 0x401fb0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x402110
add eax, 0x3c
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00413490
test eax, eax
jne 0x402220
mov edx, dword [esp + 0xa4]
mov eax, ebx
call fcn.004016e0
or dword [esp + 0x20], eax
jmp 0x401fc6
mov eax, dword [esp + 0x28]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00402ba0
test eax, eax
mov ebp, eax
je 0x401f72
mov dword [esp + 4], 0x41d5c4
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
je 0x40224c
mov edx, eax
mov dword [esp + 0x28], eax
mov eax, ebx
call fcn.004016e0
mov ecx, dword [esp + 0x28]
or dword [esp + 0x20], eax
mov dword [esp], ecx
call sub.msvcrt.dll_fclose
mov dword [esp], ebp
call fcn.0041ab20
jmp 0x401fc6
mov dword [esp], str._s:_bad_archive_file_name_n
call fcn.00403920
mov edx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004022e0
mov dword [esp + 0x20], 1
jmp 0x401f7a
mov dword [esp], str._s:_failed_to_seek_to_next_archive_header_n
call fcn.00403920
mov edx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004022e0
mov dword [esp + 0x20], 1
jmp 0x401fa1
test eax, eax
lea esi, [esp + 0xa0]
je 0x401f7a
mov dword [esp], 0x41d558
jmp 0x40217b
mov ebx, dword [esp + 0x30]
mov dword [esp], 0x41d580
lea esi, [esp + 0xa0]
call fcn.00403920
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004022e0
mov dword [esp + 0x20], 1
jmp 0x401f7a
mov ebx, dword [esp + 0xa0]
mov dword [esp], str._s:_failed_to_seek_to_archive_member_n
call fcn.00403920
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.004022e0
mov dword [esp + 0x20], 1
jmp 0x401f7a
mov dword [esp], str.Input_file__s_is_not_readable_n
call fcn.00403920
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.004022e0
mov dword [esp], ebp
call fcn.0041ab20
mov dword [esp + 0x20], 1
jmp 0x401f7a