Function at 0x403a40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
mov ebx, eax
add esp, 0xffffff80
test eax, eax
mov byte [0x408180], 0
je 0x403bf0
mov eax, 0x408e20
mov edx, str._none_
call fcn.00401380
mov eax, dword [0x4089d8]
cmp eax, 2
je 0x403bd1
cmp eax, 3
je 0x403bd1
sub eax, 1
je 0x403bb0
cmp dword [0x4089d8], 1
nop
je 0x403af2
mov eax, 0x4085c0
call fcn.00401930
test al, al
je 0x403cd2
cmp dword [0x4089d8], 1
je 0x403af2
lea eax, [ebp - 0x68]
mov dword [esp + 4], eax
mov dword [esp], 0x4085c0
call sub.cygwin1.dll__stat64
mov eax, dword [ebp - 0x58]
and eax, 0xf000
cmp eax, 0x4000
je 0x403d25
mov eax, dword [0x4089d8]
cmp eax, 1
je 0x403af2
jl 0x403ae8
cmp eax, 3
jle 0x403c70
mov eax, str.testf:_bad_srcMode
call fcn.004017a0
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 4]
mov dword [esp], eax
call sub.cygwin1.dll_fileno
mov dword [esp], eax
call sub.cygwin1.dll_isatty
test eax, eax
jne 0x403c07
call sub.cygwin1.dll___getreent
mov ebx, dword [eax + 4]
mov esi, dword [0x4089d0]
test esi, esi
jle 0x403b5e
call sub.cygwin1.dll___getreent
mov dword [esp + 8], 0x4085c0
mov dword [esp + 4], str.___s:
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, 0x4085c0
call fcn.004019c0
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov eax, ebx
mov dword [0x409234], 0
call fcn.00403700
test al, al
je 0x403cc4
mov ebx, dword [0x4089d0]
test ebx, ebx
jle 0x403ba9
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 3
mov dword [esp + 4], 1
mov dword [esp], 0x4069c2
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
sub esp, 0xffffff80
pop ebx
pop esi
pop ebp
ret
mov edx, str._stdin_
mov eax, 0x4085c0
call fcn.00401380
cmp dword [0x4089d8], 1
je 0x403af2
jmp 0x403a92
mov edx, ebx
mov eax, 0x4085c0
call fcn.00401380
cmp dword [0x4089d8], 1
je 0x403af2
jmp 0x403a92
cmp dword [0x4089d8], 1
je 0x403a59
mov eax, str.testf:_bad_modes_n
call fcn.004017a0
mov ebx, dword [0x4089dc]
call sub.cygwin1.dll___getreent
mov dword [esp + 4], str._s:_I_wont_read_compressed_data_from_a_terminal._n
mov dword [esp + 8], ebx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov ebx, dword [0x4089dc]
call sub.cygwin1.dll___getreent
mov dword [esp + 4], str._s:_For_help__type:___s___help._n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [0x408184]
test eax, eax
jg 0x403ba9
mov dword [0x408184], 1
sub esp, 0xffffff80
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 4], 0x4063d6
mov dword [esp], 0x4085c0
call sub.cygwin1.dll__fopen64
test eax, eax
mov ebx, eax
jne 0x403b1a
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov esi, dword [0x4089dc]
mov ebx, eax
call sub.cygwin1.dll___getreent
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x4085c0
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_Cant_open_input_file__s:_s._n
jmp 0x403d06
mov byte [0x409230], 1
sub esp, 0xffffff80
pop ebx
pop esi
pop ebp
ret
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov esi, dword [0x4089dc]
mov ebx, eax
call sub.cygwin1.dll___getreent
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x4085c0
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_Cant_open_input__s:__s._n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [0x408184]
test eax, eax
jle 0x403c5c
sub esp, 0xffffff80
pop ebx
pop esi
pop ebp
ret
mov ebx, dword [0x4089dc]
call sub.cygwin1.dll___getreent
mov dword [esp + 0xc], 0x4085c0
mov dword [esp + 4], str._s:_Input_file__s_is_a_directory._n
mov dword [esp + 8], ebx
jmp 0x403c44