Function at 0x4eb1e0
Capabilities:
Compute adler32 checksum

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
test edi, edi
je 0x4eb20e
cmp ebx, 0x40
jb 0x4eb20e
cmp dword [0x60a8c4], 0
je 0x4eb20e
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004d73b0
mov esi, eax
shr esi, 0x10
movzx ecx, ax
cmp ebx, 1
je 0x4eb35a
test edi, edi
je 0x4eb307
cmp ebx, 0x10
jb 0x4eb31d
cmp ebx, 0x15b0
jae 0x4eb387
add ebx, 0xfffffff0
movzx eax, byte [edi]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 1]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 2]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 3]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 4]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 5]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 6]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 7]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 8]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 9]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 0xa]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 0xb]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 0xc]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 0xd]
add ecx, eax
add esi, ecx
movzx eax, byte [edi + 0xe]
add eax, ecx
add esi, eax
movzx ecx, byte [edi + 0xf]
add ecx, eax
add esi, ecx
add edi, 0x10
cmp ebx, 0xf
ja 0x4eb23c
test ebx, ebx
je 0x4eb2dd
xor eax, eax
movzx edx, byte [edi + eax]
add ecx, edx
add esi, ecx
inc eax
cmp ebx, eax
jne 0x4eb2d0
mov edi, 0x80078071
mov eax, ecx
mul edi
shr edx, 0xf
imul ebx, edx, 0xfff1
mov eax, esi
mul edi
sub ecx, ebx
shr edx, 0xf
imul eax, edx, 0xfff1
sub esi, eax
shl esi, 0x10
or esi, ecx
jmp 0x4eb313
xor esi, esi
inc esi
test ebx, ebx
jne 0x4eb313
call fcn.0048c230
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
test ebx, ebx
je 0x4eb330
xor eax, eax
movzx edx, byte [edi + eax]
add ecx, edx
add esi, ecx
inc eax
cmp ebx, eax
jne 0x4eb323
lea edi, [ecx - 0xfff1]
cmp ecx, 0xfff1
cmovb edi, ecx
mov ecx, 0x80078071
mov eax, esi
mul ecx
shr edx, 0xf
imul eax, edx, 0xfff1
sub esi, eax
shl esi, 0x10
or esi, edi
jmp 0x4eb313
movzx eax, byte [edi]
lea edx, [ecx + eax]
mov edi, 0xfff1
cmp edx, edi
lea eax, [ecx + eax - 0xfff1]
cmovb eax, edx
add esi, eax
mov ecx, esi
shl ecx, 0x10
cmp esi, edi
lea esi, [ecx + 0xf0000]
cmovb esi, ecx
or esi, eax
jmp 0x4eb313
mov eax, 0xffffea50
movzx edx, byte [edi + eax + 0x15b0]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15b1]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15b2]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15b3]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15b4]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15b5]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15b6]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15b7]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15b8]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15b9]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15ba]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15bb]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15bc]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15bd]
add ecx, edx
add esi, ecx
movzx edx, byte [edi + eax + 0x15be]
add edx, ecx
add esi, edx
movzx ecx, byte [edi + eax + 0x15bf]
add ecx, edx
add esi, ecx
add eax, 0x10
jne 0x4eb38c
mov eax, ecx
mov edx, 0x80078071
mul edx
shr edx, 0xf
mov dword [ebp - 0x10], edx
mov eax, esi
mov edx, 0x80078071
mul edx
imul eax, dword [ebp - 0x10], 0xfff1
sub ecx, eax
shr edx, 0xf
imul eax, edx, 0xfff1
sub esi, eax
add ebx, 0xffffea50
add edi, 0x15b0
cmp ebx, 0x15af
ja 0x4eb387
test ebx, ebx
je 0x4eb300
cmp ebx, 0x10
jb 0x4eb2ce
jmp 0x4eb23c