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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x8c
mov dword [esp], 0x8000
call fcn.00521070
mov dword [esp], 0x8000
mov ebp, eax
call fcn.00521070
test eax, eax
mov ebx, eax
je 0x41fa00
test ebp, ebp
je 0x41fa00
lea esi, [esp + 0x48]
xor eax, eax
mov ecx, 0xe
mov edi, esi
rep stosd dword es:[edi], eax
mov dword [esp + 0x1c], 0x38
mov dword [esp + 0x18], 0x536238
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], 0xfffffff1
mov dword [esp + 8], 8
mov dword [esp + 4], 9
mov dword [esp], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 0x8000
mov dword [esp + 0x74], 2
call fcn.00496f00
test eax, eax
je 0x41f7d0
cmp eax, 0xfffffffa
je 0x41f930
mov dword [esp + 0xc], eax
mov edi, 0x80000000
mov dword [esp + 8], str.Call_to_deflateInit2_failed__zerr_d__n
mov dword [esp + 4], 0x536208
mov dword [esp], 3
call fcn.004750f0
mov dword [esp], ebp
call fcn.00521040
test ebx, ebx
je 0x41f7bf
mov dword [esp], ebx
call fcn.00521040
add esp, 0x8c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00492e10
mov byte [esp + 0x20], 0
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x41f883
cmp byte [esp + 0x20], 0
jne 0x41f922
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x41f960
mov eax, dword [esp + 0xa8]
mov edi, 0x8000
cmp dword [esp + 0xac], 0x8000
cmovbe edi, dword [esp + 0xac]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call sub.msvcrt.dll_memcpy
add dword [esp + 0xa8], edi
sub dword [esp + 0xac], edi
mov eax, dword [esp + 0x3c]
cmp edi, 0x7fff
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
setbe byte [esp + 0x20]
mov dword [esp], eax
call fcn.00492e10
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
shl eax, 0x1f
sar eax, 0x1f
and eax, 4
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00495620
cmp eax, 1
mov edi, eax
ja 0x41f9d0
mov eax, dword [esp + 0x58]
test eax, eax
je 0x41f8bf
cmp edi, 1
jne 0x41f7f5
cmp eax, 0x8000
je 0x41f906
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x54]
sub eax, ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_fwrite
mov ecx, dword [esp + 0x54]
sub ecx, ebx
cmp eax, ecx
jne 0x41fa15
test edi, edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 0x8000
je 0x41f7f5
mov eax, dword [esp + 0xb0]
xor edi, edi
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov dword [esp], esi
call fcn.00496e00
jmp 0x41f7ab
mov eax, 4
jmp 0x41f890
mov dword [esp + 0xc], 0x536238
mov edi, 0x80000000
mov dword [esp + 8], 0x536240
mov dword [esp + 4], 0x536208
mov dword [esp], 6
call fcn.004750f0
jmp 0x41f7ab
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 1
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fread
mov edi, eax
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call sub.msvcrt.dll_ferror
test eax, eax
je 0x41f858
call dword [sym.imp.msvcrt.dll__errno]
xor edi, edi
mov eax, dword [eax]
mov dword [esp + 8], str.deflate_read_failed__errno_d__n
mov dword [esp + 4], 0x536208
mov dword [esp], 3
mov dword [esp + 0xc], eax
call fcn.004750f0
jmp 0x41f915
mov dword [esp + 0xc], eax
mov edi, 0x80000000
mov dword [esp + 8], str.zlib_deflate_call_failed__zerr_d__n
mov dword [esp + 4], 0x536208
mov dword [esp], 3
call fcn.004750f0
jmp 0x41f915
test ebp, ebp
mov edi, 0xfffffff4
je 0x41f7b3
lea esi, [esi]
jmp 0x41f7ab
mov dword [esp + 0xc], ecx
xor edi, edi
mov dword [esp + 8], str.write__d_failed_in_deflate_n
mov dword [esp + 4], 0x536208
mov dword [esp], 3
call fcn.004750f0
jmp 0x41f915