Function at 0x432400
Capabilities:
Compute adler32 checksum

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
mov ebx, eax
shr edi, 0x10
and ecx, 0xffff
cmp ebx, 1
mov esi, edx
jne 0x432449
movzx eax, byte [esi]
add ecx, eax
cmp ecx, 0xfff1
jb 0x43242a
sub ecx, 0xfff1
add edi, ecx
cmp edi, 0xfff1
jb 0x432667
sub edi, 0xfff1
mov eax, edi
pop edi
shl eax, 0x10
pop esi
or eax, ecx
pop ebx
ret
test esi, esi
jne 0x432456
pop edi
pop esi
mov eax, 1
pop ebx
ret
cmp ebx, 0x10
jae 0x43249b
test ebx, ebx
je 0x432471
nop
movzx edx, byte [esi]
add ecx, edx
sub ebx, 1
add esi, 1
add edi, ecx
test ebx, ebx
jne 0x432460
cmp ecx, 0xfff1
jb 0x43247f
sub ecx, 0xfff1
mov eax, 0x80078071
mul edi
shr edx, 0xf
mov eax, edx
shl eax, 4
sub eax, edx
add eax, edi
pop edi
shl eax, 0x10
pop esi
or eax, ecx
pop ebx
ret
cmp ebx, 0x15b0
jb 0x432589
mov eax, 0x5e6ea9af
mul ebx
push ebp
mov ebp, edx
shr ebp, 0xb
jmp 0x4324c0
sub ebx, 0x15b0
mov eax, 0x15b
jmp 0x4324d0
movzx edx, byte [esi]
add ecx, edx
movzx edx, byte [esi + 1]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 2]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 3]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 4]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 5]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 6]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 7]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 8]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 9]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xa]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xb]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xc]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xd]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xe]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xf]
add edi, ecx
add ecx, edx
add edi, ecx
add esi, 0x10
sub eax, 1
jne 0x4324d0
mov eax, 0x80078071
mul ecx
shr edx, 0xf
imul edx, edx, 0xffff000f
add ecx, edx
mov eax, 0x80078071
mul edi
shr edx, 0xf
imul edx, edx, 0xffff000f
add edi, edx
sub ebp, 1
jne 0x4324c0
pop ebp
test ebx, ebx
je 0x432667
cmp ebx, 0x10
jb 0x43262e
mov eax, ebx
shr eax, 4
nop
movzx edx, byte [esi]
add ecx, edx
movzx edx, byte [esi + 1]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 2]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 3]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 4]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 5]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 6]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 7]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 8]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 9]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xa]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xb]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xc]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xd]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xe]
add edi, ecx
add ecx, edx
movzx edx, byte [esi + 0xf]
add edi, ecx
add ecx, edx
sub ebx, 0x10
add edi, ecx
add esi, 0x10
sub eax, 1
jne 0x4325a0
test ebx, ebx
je 0x432643
movzx eax, byte [esi]
add ecx, eax
sub ebx, 1
add esi, 1
add edi, ecx
test ebx, ebx
jne 0x432632
mov eax, 0x80078071
mul ecx
shr edx, 0xf
imul edx, edx, 0xffff000f
add ecx, edx
mov eax, 0x80078071
mul edi
shr edx, 0xf
imul edx, edx, 0xffff000f
add edi, edx
mov eax, edi
pop edi
shl eax, 0x10
pop esi
or eax, ecx
pop ebx
ret