Function at 0x140034940
Capabilities:
Compute adler32 checksum

Disassembly:
push rbx
push rsi
push rdi
mov r9, rcx
mov r11, rdx
mov rsi, r8
mov r8d, r9d
shr r8d, 0x10
and r9d, 0xffff
cmp rsi, 1
jne 0x14003498b
movzx ebx, byte [r11]
add r9d, ebx
mov esi, 0xfff1
cmp r9d, esi
jb 0x140034974
sub r9d, esi
add r8d, r9d
mov rax, rsi
cmp r8d, eax
jb 0x140034c1d
sub r8d, eax
jmp 0x140034c1d
test r11, r11
jne 0x140034999
mov eax, 1
pop rdi
pop rsi
pop rbx
ret
cmp rsi, 0x10
jae 0x1400349d7
test rsi, rsi
lea rsi, [rsi - 1]
je 0x1400349c1
mov rax, r11
inc r11
movzx edi, byte [rax]
add r9d, edi
add r8d, r9d
test rsi, rsi
lea rsi, [rsi - 1]
jne 0x1400349a8
mov edx, 0xfff1
cmp r9d, edx
jb 0x140034c02
sub r9d, edx
jmp 0x140034c02
cmp rsi, 0x15b0
jb 0x140034af0
add rsi, 0xffffffffffffea50
mov ecx, 0x15b
movzx edx, byte [r11]
add r9d, edx
add r8d, r9d
movzx ebx, byte [r11 + 1]
add r9d, ebx
add r8d, r9d
movzx edi, byte [r11 + 2]
add r9d, edi
add r8d, r9d
movzx r10d, byte [r11 + 3]
add r9d, r10d
add r8d, r9d
movzx eax, byte [r11 + 4]
add r9d, eax
add r8d, r9d
movzx edx, byte [r11 + 5]
add r9d, edx
add r8d, r9d
movzx ebx, byte [r11 + 6]
add r9d, ebx
add r8d, r9d
movzx edi, byte [r11 + 7]
add r9d, edi
add r8d, r9d
movzx r10d, byte [r11 + 8]
add r9d, r10d
add r8d, r9d
movzx eax, byte [r11 + 9]
add r9d, eax
add r8d, r9d
movzx edx, byte [r11 + 0xa]
add r9d, edx
add r8d, r9d
movzx ebx, byte [r11 + 0xb]
add r9d, ebx
add r8d, r9d
movzx edi, byte [r11 + 0xc]
add r9d, edi
add r8d, r9d
movzx r10d, byte [r11 + 0xd]
add r9d, r10d
add r8d, r9d
movzx eax, byte [r11 + 0xe]
add r9d, eax
add r8d, r9d
movzx edx, byte [r11 + 0xf]
add r9d, edx
add r8d, r9d
add r11, 0x10
dec ecx
test ecx, ecx
jne 0x1400349f0
mov ecx, r9d
mov rax, rcx
mov edx, 0x80078071
mul edx
shr edx, 0xf
imul eax, edx, 0xfff1
sub ecx, eax
mov r9d, ecx
mov ebx, r8d
mov rax, rbx
mov edx, 0x80078071
mul edx
shr edx, 0xf
imul eax, edx, 0xfff1
sub ebx, eax
mov r8d, ebx
cmp rsi, 0x15b0
jae 0x1400349e4
test rsi, rsi
je 0x140034c1d
cmp rsi, 0x10
jb 0x140034bc6
mov edi, 0x10
sub rsi, rdi
movzx eax, byte [r11]
add r9d, eax
add r8d, r9d
movzx edx, byte [r11 + 1]
add r9d, edx
add r8d, r9d
movzx ecx, byte [r11 + 2]
add r9d, ecx
add r8d, r9d
movzx ebx, byte [r11 + 3]
add r9d, ebx
add r8d, r9d
movzx r10d, byte [r11 + 4]
add r9d, r10d
add r8d, r9d
movzx eax, byte [r11 + 5]
add r9d, eax
add r8d, r9d
movzx edx, byte [r11 + 6]
add r9d, edx
add r8d, r9d
movzx ecx, byte [r11 + 7]
add r9d, ecx
add r8d, r9d
movzx ebx, byte [r11 + 8]
add r9d, ebx
add r8d, r9d
movzx r10d, byte [r11 + 9]
add r9d, r10d
add r8d, r9d
movzx eax, byte [r11 + 0xa]
add r9d, eax
add r8d, r9d
movzx edx, byte [r11 + 0xb]
add r9d, edx
add r8d, r9d
movzx ecx, byte [r11 + 0xc]
add r9d, ecx
add r8d, r9d
movzx ebx, byte [r11 + 0xd]
add r9d, ebx
add r8d, r9d
movzx r10d, byte [r11 + 0xe]
add r9d, r10d
add r8d, r9d
movzx eax, byte [r11 + 0xf]
add r9d, eax
add r8d, r9d
add r11, rdi
cmp rsi, rdi
jae 0x140034b03
test rsi, rsi
lea rsi, [rsi - 1]
je 0x140034be7
mov rcx, r11
inc r11
movzx edx, byte [rcx]
add r9d, edx
add r8d, r9d
test rsi, rsi
lea rsi, [rsi - 1]
jne 0x140034bcf
mov ebx, r9d
mov rax, rbx
mov edx, 0x80078071
mul edx
shr edx, 0xf
imul eax, edx, 0xfff1
sub ebx, eax
mov r9d, ebx
mov ecx, r8d
mov rax, rcx
mov edx, 0x80078071
mul edx
shr edx, 0xf
imul eax, edx, 0xfff1
sub ecx, eax
mov r8d, ecx
mov eax, r8d
shl eax, 0x10
or eax, r9d
pop rdi
pop rsi
pop rbx
ret