Function at 0x401f60
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov dword [esp], 0x2000
mov esi, eax
mov dword [esp + 0x1c], eax
call fcn.0045b890
mov edi, eax
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00405900
test eax, eax
je 0x402125
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0x20]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0xfc]
mov dword [esp + 4], esi
mov dword [esp], ecx
call eax
test eax, eax
jne 0x4021c5
mov ecx, dword [0x49b040]
mov eax, dword [esp + 0x38]
test ecx, ecx
mov dword [esp + 0x18], eax
jne 0x40214b
mov eax, dword [esp + 0x1c]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.004060c0
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x4020ec
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 4], 0x477979
mov dword [esp], eax
mov dword [0x49b050], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov esi, eax
je 0x4021ab
mov dword [0x49b04c], eax
mov dword [esp], esi
call sub.msvcrt.dll_fclose
mov eax, dword [esp + 0x1c]
movzx edx, word [esp + 0x26]
mov dword [0x49b04c], 0
mov dword [0x49b050], 0
mov eax, dword [eax]
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll__chmod
mov eax, dword [0x49b03c]
test eax, eax
je 0x402081
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004046f0
mov dword [esp + 0x70], edi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00474468
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 4], 0x477979
mov dword [esp], eax
mov dword [0x49b050], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov esi, eax
je 0x4021ab
mov dword [0x49b04c], eax
nop
lea esi, [esi]
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp], edi
call sub.msvcrt.dll_fwrite
cmp ebp, eax
jne 0x402182
add ebx, ebp
cmp dword [esp + 0x18], ebx
jbe 0x402027
mov edx, dword [esp + 0x18]
mov ebp, 0x2000
mov eax, dword [esp + 0x1c]
mov dword [esp], edi
sub edx, ebx
cmp edx, 0x2000
cmovbe ebp, edx
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
call fcn.00405eb0
cmp ebp, eax
jne 0x402166
test esi, esi
jne 0x4020c0
lea esi, [esi]
jmp 0x402091
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp], str.illegal_pathname_found_in_archive_member:__s
mov dword [esp + 4], eax
call fcn.00404ca0
mov dword [esp + 0x70], edi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00474468
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp], str.x____s_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
jmp 0x401fc9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax]
mov dword [esp], str._s_is_not_a_valid_archive
mov dword [esp + 4], eax
call fcn.00404c70
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp], str._s:__s
mov dword [esp + 8], eax
mov eax, dword [0x49b050]
mov dword [esp + 4], eax
call fcn.00404c70
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_perror
mov dword [esp], 1
call fcn.0045b9c0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp], str.internal_stat_error_on__s
mov dword [esp + 4], eax
call fcn.00404c70
nop
lea esi, [esi]