Function at 0x401c80
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x108
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0x100], ecx
push 0
push ecx
push edx
push eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], 0
push eax
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 0
call fcn.00402ed0
add esp, 0x20
test eax, eax
je 0x401d53
mov dword [ebp - 0xf4], 1
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x401d28
sub esp, 0xc
push eax
call sub.msvcrt.dll_fclose
add esp, 0x10
sub esp, 0xc
lea eax, [ebp - 0xf0]
push eax
call fcn.00402440
lea eax, [ebp - 0x80]
mov dword [esp], eax
call fcn.00402440
add esp, 0x10
mov eax, dword [ebp - 0xf4]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x12]
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0x104], eax
jmp 0x401dd9
push eax
mov eax, dword [ebp - 0xf8]
push ebx
push esi
push eax
call fcn.00402750
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x401d08
push eax
push eax
push 0x40b594
push ebx
call sub.msvcrt.dll_fopen
add esp, 0x10
mov esi, eax
test eax, eax
je 0x401ff1
mov eax, dword [ebp - 0x5c]
mov edx, esi
mov dword [0x40d008], eax
mov eax, edi
call fcn.00401640
sub esp, 0xc
mov ecx, dword [ebp - 0xf4]
push esi
or ecx, eax
mov dword [ebp - 0xf4], ecx
call sub.msvcrt.dll_fclose
mov dword [esp], ebx
call sub.msvcrt.dll_free
add esp, 0x10
sub esp, 0xc
push edi
call sub.msvcrt.dll_free
add esp, 0x10
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0xfc]
push ecx
push 0
push edx
push eax
call fcn.00405360
add esp, 0x10
test eax, eax
jne 0x401f58
mov eax, dword [ebp - 0xfc]
push eax
lea eax, [ebp - 0x4c]
push 0x3c
push 1
push eax
call sub.msvcrt.dll_fread
add esp, 0x10
cmp eax, 0x3c
jne 0x401f7d
cld
mov edi, 0x40b54b
mov ecx, 2
mov esi, dword [ebp - 0x104]
repe cmpsb byte [esi], byte es:[edi]
jne 0x401faa
mov ebx, dword [ebp - 0x58]
lea eax, [ebp - 0x1c]
add ebx, 0x3c
push ecx
mov dword [ebp - 0x58], ebx
push 0xa
push 0
push eax
call sub.msvcrt.dll_strtoul
add esp, 0x10
mov dword [0x40d018], eax
test al, 1
je 0x401e59
inc eax
mov dword [0x40d018], eax
lea eax, [ebp - 0xf0]
push edx
push edx
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00403210
add esp, 0x10
mov esi, eax
test eax, eax
je 0x401f33
sub esp, 0xc
push eax
call sub.msvcrt.dll_strlen
add esp, 0xc
mov ebx, eax
lea eax, [ebp - 0xf0]
push esi
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00402620
add esp, 0x10
mov edi, eax
test eax, eax
je 0x401f33
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x401f00
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x401d68
add eax, 0x3c
push edx
mov dword [0x40d008], eax
push 0
push eax
mov eax, dword [ebp - 0xec]
push eax
call fcn.00405360
add esp, 0x10
test eax, eax
jne 0x401fcc
mov edx, dword [ebp - 0xec]
mov eax, edi
call fcn.00401640
mov esi, dword [ebp - 0xf4]
or esi, eax
mov dword [ebp - 0xf4], esi
jmp 0x401dcd
mov eax, dword [ebp - 0x58]
mov ebx, dword [0x40d018]
mov dword [0x40d008], eax
add eax, ebx
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0xfc]
mov eax, edi
call fcn.00401640
mov ecx, dword [ebp - 0xf4]
or ecx, eax
mov dword [ebp - 0xf4], ecx
jmp 0x401dcd
push eax
push eax
mov eax, dword [ebp - 0xf8]
push eax
push str._s:_bad_archive_file_name_n
call fcn.004025d0
add esp, 0x10
mov dword [ebp - 0xf4], 1
jmp 0x401d12
push eax
push eax
mov eax, dword [ebp - 0xf8]
push eax
push str._s:_failed_to_seek_to_next_archive_header_n
call fcn.004025d0
add esp, 0x10
mov dword [ebp - 0xf4], 1
jmp 0x401d45
test eax, eax
je 0x401d12
push eax
push eax
mov eax, dword [ebp - 0xf8]
push eax
push 0x40b528
call fcn.004025d0
add esp, 0x10
mov dword [ebp - 0xf4], 1
jmp 0x401d12
mov esi, dword [ebp - 0x80]
push edi
push edi
push esi
push 0x40b550
call fcn.004025d0
add esp, 0x10
mov dword [ebp - 0xf4], 1
jmp 0x401d12
mov edi, dword [ebp - 0xf0]
push eax
push eax
push edi
push str._s:_failed_to_seek_to_archive_member_n
call fcn.004025d0
add esp, 0x10
mov dword [ebp - 0xf4], 1
jmp 0x401d12
push esi
push esi
push ebx
push str.Input_file__s_is_not_readable_n
call fcn.004025d0
mov dword [esp], ebx
call sub.msvcrt.dll_free
add esp, 0x10
mov dword [ebp - 0xf4], 1
jmp 0x401d12