Function at 0x428760
Capabilities:
Read file on windows
Write file on windows

Disassembly:
sub esp, 0xec
mov dword [esp + 0xdc], ebx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], ebp
cmp ebx, 3
je 0x4287ab
mov dword [esp], str.Usage:_unafs_DATABASE_FILE_CELL_NAME
call sub.cygwin1.dll_puts
cmp ebx, 1
jle 0x42881e
call fcn.00420a50
mov dword [esp + 4], 0x433ac1
mov eax, dword [esi + 4]
mov dword [esp], eax
call sub.cygwin1.dll__fopen64
test eax, eax
mov ebx, eax
je 0x428aa1
mov ebp, dword [esi + 8]
lea esi, [esp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov dword [esp], esi
call sub.cygwin1.dll_fread
cmp eax, 1
je 0x428843
test byte [ebx + 0xc], 0x40
je 0x428931
mov dword [esp], str.fread
call fcn.00420a70
mov dword [esp], ebx
call sub.cygwin1.dll_fclose
test eax, eax
je 0x42881e
mov dword [esp], 0x433b08
call fcn.00420a70
xor eax, eax
mov ebx, dword [esp + 0xdc]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe8]
add esp, 0xec
ret
movzx ecx, byte [esp + 0x16]
mov edi, 0x40
movzx eax, byte [esp + 0x17]
mov dword [esp + 8], 0
mov dword [esp], ebx
shl ecx, 8
or ecx, eax
cmovne edi, ecx
mov dword [esp + 4], edi
call sub.cygwin1.dll_fseek
test eax, eax
jne 0x428920
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov dword [esp], esi
call sub.cygwin1.dll_fread
cmp eax, 1
jne 0x4287f0
movzx ecx, byte [esp + 0x14]
movzx edx, byte [esp + 0x15]
movzx eax, byte [esp + 0x17]
mov dword [esp + 8], 0
shl ecx, 0x18
shl edx, 0x10
or ecx, edx
movzx edx, byte [esp + 0x16]
or ecx, eax
mov dword [esp], ebx
shl edx, 8
or ecx, edx
lea edi, [edi + ecx]
mov dword [esp + 4], edi
call sub.cygwin1.dll_fseek
test eax, eax
jne 0x428a70
lea edi, [esp + 0x38]
jmp 0x4288ee
cmp byte [esp + 0x38], 0
jne 0x428970
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xc8
mov dword [esp + 4], 1
mov dword [esp], esi
call sub.cygwin1.dll_fread
cmp eax, 0xc8
je 0x4288e3
test byte [ebx + 0xc], 0x40
je 0x428806
jmp 0x4287fa
mov dword [esp], 0x433ace
call fcn.00420a70
jmp 0x428876
call sub.cygwin1.dll___getreent
mov esi, dword [eax + 0xc]
mov dword [esp + 8], 0x16
mov dword [esp + 4], 1
mov dword [esp], str.fread:_Unexpected_EOF_n
mov dword [esp + 0xc], esi
call sub.cygwin1.dll_fwrite
call fcn.00420a50
test byte [ebx + 0xc], 0x40
je 0x428806
jmp 0x4287fa
mov byte [esi + 0x67], 0
mov dword [esp + 4], edi
mov dword [esp], 0x433ad4
call sub.cygwin1.dll_printf
cmp byte [esp + 0x78], 0
jne 0x428a81
mov dword [esp], str.:_K4_
call sub.cygwin1.dll_printf
movzx edx, byte [esp + 0xb8]
mov dword [esp], str._02x
mov dword [esp + 4], edx
call sub.cygwin1.dll_printf
movzx eax, byte [esp + 0xb9]
mov dword [esp], str._02x
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
movzx ecx, byte [esp + 0xba]
mov dword [esp], str._02x
mov dword [esp + 4], ecx
call sub.cygwin1.dll_printf
movzx edx, byte [esp + 0xbb]
mov dword [esp], str._02x
mov dword [esp + 4], edx
call sub.cygwin1.dll_printf
movzx eax, byte [esp + 0xbc]
mov dword [esp], str._02x
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
movzx ecx, byte [esp + 0xbd]
mov dword [esp], str._02x
mov dword [esp + 4], ecx
call sub.cygwin1.dll_printf
movzx edx, byte [esp + 0xbe]
mov dword [esp], str._02x
mov dword [esp + 4], edx
call sub.cygwin1.dll_printf
movzx eax, byte [esp + 0xbf]
mov dword [esp], str._02x
mov dword [esp + 4], eax
call sub.cygwin1.dll_printf
mov dword [esp + 4], ebp
mov dword [esp], str.__s_n
call sub.cygwin1.dll_printf
jmp 0x4288ee
mov dword [esp], 0x433ace
call fcn.00420a70
jmp 0x4288dd
mov byte [esi + 0xa7], 0
lea ecx, [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp], 0x433ad7
call sub.cygwin1.dll_printf
jmp 0x42898f
mov edx, dword [esi + 4]
mov dword [esp], str.fopen:__s
mov dword [esp + 4], edx
call fcn.00420a70
jmp 0x4287c8