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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
push 0x8000
call fcn.004228d0
add esp, 4
mov ebx, eax
push 0x8000
call fcn.004228d0
add esp, 4
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x8000
mov dword [esp + 0x4c], 2
sub esp, 0x20
movaps xmm0, xmmword [0x55f220]
movups xmmword [esp + 4], xmm0
lea esi, [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 0x1c], 0x38
mov dword [esp + 0x18], 0x55f47e
mov dword [esp + 0x14], 0
call fcn.004fdb80
add esp, 0x20
test eax, eax
je 0x4b7d6b
cmp eax, 0xfffffffa
jne 0x4b7ee3
push 0x55f47e
push str.Installed_zlib_is_not_compatible_with_linked_version___s__n
push 0x55f230
push 6
jmp 0x4b7ef0
mov dword [esp + 8], ebx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
push 0
push 0
push 0
call fcn.004bda80
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x4b7da8
test ebx, ebx
jne 0x4b7f1b
cmp dword [esp + 0x24], 0
jne 0x4b7e00
mov ebx, dword [esp + 0xc]
mov eax, ebx
and al, 1
jne 0x4b7e70
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4b7e06
mov edi, dword [esp + 0x1c]
cmp edi, 0x8000
mov esi, 0x8000
cmovb esi, edi
push esi
push eax
push dword [esp + 0x10]
mov ebx, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
add ebx, esi
mov dword [esp + 0x10], ebx
sub edi, esi
mov dword [esp + 0x1c], edi
jmp 0x4b7e39
mov ebx, dword [esp + 0xc]
jmp 0x4b7e70
mov edi, dword [ebp + 0xc]
push edi
push 0x8000
push 1
mov ebx, dword [esp + 0x14]
push ebx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
add esp, 0x10
mov esi, eax
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ferror
add esp, 4
test eax, eax
jne 0x4b7f6f
mov dword [esp + 0x10], 0
cmp esi, 0x8000
mov ebx, dword [esp + 0xc]
movzx ebx, bl
mov eax, 1
cmovb ebx, eax
push esi
mov edi, dword [esp + 0xc]
push edi
push dword [esp + 0x1c]
call fcn.004bda80
add esp, 0xc
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
lea esi, [esp + 0x20]
mov dword [esp + 0xc], ebx
mov eax, ebx
shl al, 2
and al, 4
movzx eax, al
push eax
push esi
call fcn.004feb90
add esp, 8
mov ebx, eax
cmp eax, 2
jae 0x4b7eff
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4b7eab
cmp ebx, 1
jne 0x4b7da0
cmp eax, 0x8000
je 0x4b7da0
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
sub eax, edi
push dword [ebp + 8]
push eax
push 1
push edi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
mov ecx, dword [esp + 0x2c]
sub ecx, edi
cmp eax, ecx
jne 0x4b7f26
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x8000
jmp 0x4b7da0
push eax
push str.Call_to_deflateInit2_failed__zerr_d__n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
mov esi, 0x80000000
jmp 0x4b7f4e
push ebx
push str.zlib_deflate_call_failed__zerr_d__n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
mov esi, 0x80000000
jmp 0x4b7f3d
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [eax], ecx
jmp 0x4b7f3b
push ecx
push str.write__d_failed_in_deflate_n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
xor esi, esi
mov ebx, dword [esp + 8]
lea eax, [esp + 0x20]
push eax
call fcn.004fde80
add esp, 4
push ebx
call fcn.004229b0
add esp, 4
push dword [esp + 0x18]
call fcn.004229b0
add esp, 4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
push str.deflate_read_failed__errno_d__n
push 0x55f230
push 3
call fcn.00420f20
add esp, 0x10
xor esi, esi
jmp 0x4b7f41