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
lea esi, [esp + 0xa0]
mov dword [esp + 4], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 0x28], 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.00402d00
mov dword [esp + 0x20], eax
test eax, eax
je 0x401f9e
jmp 0x402131
mov eax, dword [0x41b0f0]
mov edx, edi
add dword [esp + 0x58], eax
mov eax, ebx
call fcn.004016f0
or dword [esp + 0x20], eax
mov dword [esp], ebx
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], 0
mov dword [esp], edi
mov dword [esp + 4], eax
sar eax, 0x1f
mov dword [esp + 8], eax
call fcn.0040ac00
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 0x4021d3
cmp word [esp + 0x9e], 0xa60
jne 0x4021f0
lea eax, [esp + 0x94]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
add dword [esp + 0x58], 0x3c
call sub.msvcrt.dll_strtoul
test al, 1
je 0x402029
add eax, 1
mov dword [0x41b0f0], eax
lea esi, [esp + 0xa0]
lea eax, [esp + 0x30]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00403220
mov ebp, eax
test eax, eax
je 0x402170
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], ebp
mov dword [esp + 0x24], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.00403460
mov ebx, eax
test eax, eax
je 0x402170
mov eax, dword [esp + 0x28]
test eax, eax
je 0x401f80
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4020d1
add eax, 0x3c
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
sar eax, 0x1f
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.0040ac00
test eax, eax
jne 0x402220
mov edx, dword [esp + 0xa4]
mov eax, ebx
call fcn.004016f0
or dword [esp + 0x20], eax
jmp 0x401f96
mov eax, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00402be0
mov ebp, eax
test eax, eax
je 0x402131
mov dword [esp + 4], 0x414554
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
je 0x40224c
mov edx, eax
mov dword [esp + 0x24], eax
mov eax, ebx
call fcn.004016f0
mov ecx, dword [esp + 0x24]
or dword [esp + 0x20], eax
mov dword [esp], ecx
call sub.msvcrt.dll_fclose
mov dword [esp], ebp
call sub.msvcrt.dll_free
jmp 0x401f96
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x40214c
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov dword [esp], esi
call fcn.00403060
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.00403060
mov eax, dword [esp + 0x20]
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str._s:_bad_archive_file_name_n
call fcn.00403a80
mov edi, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00402350
mov dword [esp + 0x20], 1
jmp 0x402139
mov dword [esp], str._s:_failed_to_seek_to_next_archive_header_n
call fcn.00403a80
mov edi, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00402350
mov dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [esp + 0xa0]
test eax, eax
je 0x402139
mov dword [esp], 0x4144ec
jmp 0x402177
mov dword [esp], 0x414510
mov ebx, dword [esp + 0x30]
lea esi, [esp + 0xa0]
call fcn.00403a80
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00402350
mov dword [esp + 0x20], 1
jmp 0x402139
mov dword [esp], str._s:_failed_to_seek_to_archive_member_n
mov ebx, dword [esp + 0xa0]
call fcn.00403a80
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00402350
mov dword [esp + 0x20], 1
jmp 0x402139
mov dword [esp], str.Input_file__s_is_not_readable_n
call fcn.00403a80
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00402350
mov dword [esp], ebp
call sub.msvcrt.dll_free
mov dword [esp + 0x20], 1
jmp 0x402139