Function at 0x40dbb0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
test edx, edx
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x1c]
je 0x40de91
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str._s___s___s_n
mov dword [esp], esi
call sub.cygwin1.dll_fprintf
mov dword [esp + 0xc], 0x7da
mov dword [esp + 8], 0x416dff
mov dword [esp + 4], str.Copyright__s__d_Free_Software_Foundation__Inc.
mov dword [esp], esi
call sub.cygwin1.dll_fprintf
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xca
mov dword [esp + 4], 1
mov dword [esp], str._nLicense_GPLv3:_GNU_GPL_version_3_or_later__http:__gnu.org_licenses_gpl.html_._nThis_is_free_software:_you_are_free_to_change_and_redistribute_it._nThere_is_NO_WARRANTY__to_the_extent_permitted_by_law._n_n
call sub.cygwin1.dll_fwrite
cmp edi, 9
jbe switch.0x0040dc90
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.Written_by__s___s___s__n_s___s___s___s__n_s___s__and_others._n
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.cygwin1.dll_fprintf
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
jmp dword [edi*4 + 0x41704c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.Written_by__s___s___s__n_s___s___s___s__n_s__and__s._n
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.cygwin1.dll_fprintf
jmp 0x40dc82
call sub.cygwin1.dll_abort
lea esi, [esi]
mov eax, dword [ebx]
mov dword [ebp + 0xc], str.Written_by__s._n
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sub.cygwin1.dll_fprintf
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebx]
mov dword [ebp + 0xc], str.Written_by__s_and__s._n
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sub.cygwin1.dll_fprintf
mov eax, dword [ebx + 8]
mov dword [ebp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebx]
mov dword [ebp + 0xc], str.Written_by__s___s__and__s._n
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sub.cygwin1.dll_fprintf
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebx + 8]
mov dword [ebp + 0x18], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebx]
mov dword [ebp + 0xc], str.Written_by__s___s___s__nand__s._n
mov dword [ebp + 8], esi
mov dword [ebp + 0x10], eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp sub.cygwin1.dll_fprintf
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.Written_by__s___s___s__n_s__and__s._n
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.cygwin1.dll_fprintf
jmp 0x40dc82
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.Written_by__s___s___s__n_s___s__and__s._n
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.cygwin1.dll_fprintf
jmp 0x40dc82
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.Written_by__s___s___s__n_s___s___s__and__s._n
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.cygwin1.dll_fprintf
jmp 0x40dc82
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], str.Written_by__s___s___s__n_s___s___s___s__nand__s._n
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.cygwin1.dll_fprintf
jmp 0x40dc82
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], str._s__s_n
mov dword [esp], esi
call sub.cygwin1.dll_fprintf
jmp 0x40dbef