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

Disassembly:
mov eax, 0x1010
call fcn.005a28e0
mov eax, dword [0x6963f4]
xor eax, esp
mov dword [esp + 0x100c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x102c]
push esi
push edi
mov esi, ecx
call fcn.004c54c0
mov edi, dword [ebp + 0x24]
movzx eax, word [ebp + 0x2e]
imul eax, edi
add eax, 0x1f
and eax, 0xffffffe0
mov ecx, dword [esp + 0x1030]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [0x6b3f80], eax
mov eax, dword [esp + 0x1024]
mov dword [0x6b3f84], eax
mov eax, dword [ebp + 0x28]
mov dword [0x6b3f94], eax
mov dword [esp + 0x18], eax
imul eax, edi
mov ebx, 1
mov dword [0x6b3f88], eax
xor eax, eax
shl ebx, cl
cmp ecx, 1
mov dword [0x6b3f98], edi
mov dword [0x6b4274], eax
mov dword [esp + 0x14], 2
jle 0x4c4dd4
mov dword [esp + 0x14], ecx
push 2
push eax
push esi
mov dword [0x6b3f8c], eax
mov dword [0x6b3f90], eax
call fcn.005a1be7
push esi
call fcn.005a1e04
add esp, 0x10
cmp eax, 6
mov dword [esp + 0x10], eax
jae 0x4c4e04
mov dword [esp + 0x1038], 0
push esi
call fcn.005a7e2b
add esp, 4
cmp dword [esp + 0x102c], 0
mov eax, str.GIF87a
jl 0x4c4e21
mov eax, str.GIF89a
push esi
push 6
push 1
push eax
call fcn.005a13d9
add esp, 0x10
cmp dword [esp + 0x1038], 0
je 0x4c4ec5
push 2
push 0
push esi
call fcn.005a1be7
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, 0x1000
jbe 0x4c4e5c
add eax, 0xfffff000
jmp 0x4c4e5e
xor eax, eax
push 0
push eax
push esi
call fcn.005a1be7
push esi
call fcn.005a1e04
push esi
push 0x1000
lea ecx, [esp + 0x34]
push 1
push ecx
mov edi, eax
call fcn.005a210e
sub eax, 1
add esp, 0x20
test eax, eax
jle 0x4c4f9c
nop
cmp byte [esp + eax + 0x1b], 0
jne 0x4c4e9e
cmp byte [esp + eax + 0x1c], 0x3b
je 0x4c4eaa
sub eax, 1
test eax, eax
jg 0x4c4e90
jmp 0x4c4f9c
test eax, eax
jle 0x4c4f9c
push 0
add eax, edi
push eax
push esi
call fcn.005a1be7
add esp, 0xc
jmp 0x4c4f9c
call fcn.004c5080
mov edi, dword [esp + 0x18]
call fcn.004c5080
mov eax, dword [esp + 0x1030]
mov edx, eax
shl edx, 5
sub edx, 0x20
add eax, 0xffffffff
or edx, eax
or edx, 0x80
push esi
push edx
call fcn.005a658e
mov eax, dword [esp + 0x1030]
push esi
push eax
call fcn.005a658e
push esi
push 0
call fcn.005a658e
add esp, 0x18
test ebx, ebx
jle 0x4c4f45
lea edi, [ebp + 0x49]
mov dword [esp + 0x10], ebx
movzx ecx, byte [edi + 1]
push esi
push ecx
call fcn.005a658e
movzx edx, byte [edi]
push esi
push edx
call fcn.005a658e
movzx eax, byte [edi - 1]
push esi
push eax
call fcn.005a658e
add esp, 0x18
add edi, 4
sub dword [esp + 0x10], 1
jne 0x4c4f18
cmp dword [esp + 0x102c], 0
jl 0x4c4f9c
push esi
push 0x21
call fcn.005a658e
push esi
push 0xf9
call fcn.005a658e
push esi
push 4
call fcn.005a658e
push esi
push 1
call fcn.005a658e
push esi
push 0
call fcn.005a658e
push esi
push 0
call fcn.005a658e
movzx ecx, byte [esp + 0x105c]
push esi
push ecx
call fcn.005a658e
push esi
push 0
call fcn.005a658e
add esp, 0x40
push esi
push 0x2c
call fcn.005a658e
add esp, 8
xor edi, edi
call fcn.004c5080
call fcn.004c5080
mov edi, dword [0x6b3f98]
call fcn.004c5080
mov edi, dword [0x6b3f94]
call fcn.004c5080
mov edi, dword [esp + 0x1038]
xor eax, eax
test edi, edi
je 0x4c4fe5
mov eax, dword [esp + 0x1030]
add eax, 0xffffffff
or eax, 0x80
cmp dword [0x6b3f84], 0
je 0x4c4ff1
or eax, 0x40
push esi
push eax
call fcn.005a658e
add esp, 8
test edi, edi
je 0x4c5031
test ebx, ebx
jle 0x4c5031
lea edi, [ebp + 0x49]
movzx edx, byte [edi + 1]
push esi
push edx
call fcn.005a658e
movzx eax, byte [edi]
push esi
push eax
call fcn.005a658e
movzx ecx, byte [edi - 1]
push esi
push ecx
call fcn.005a658e
add esp, 0x18
add edi, 4
sub ebx, 1
jne 0x4c5006
mov edi, dword [esp + 0x14]
push esi
push edi
call fcn.005a658e
push ebp
lea ecx, [edi + 1]
mov eax, esi
call fcn.004c50b0
push esi
push 0
call fcn.005a658e
push esi
push 0x3b
call fcn.005a658e
mov ecx, dword [esp + 0x1038]
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059e0c2
add esp, 0x1010
ret