Function at 0x140034a80
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 0x140034acb
movzx ebx, byte [r11]
add r9d, ebx
mov esi, 0xfff1
cmp r9d, esi
jb 0x140034ab4
sub r9d, esi
add r8d, r9d
mov rax, rsi
cmp r8d, eax
jb 0x140034d5d
sub r8d, eax
jmp 0x140034d5d
test r11, r11
jne 0x140034ad9
mov eax, 1
pop rdi
pop rsi
pop rbx
ret
cmp rsi, 0x10
jae 0x140034b17
test rsi, rsi
lea rsi, [rsi - 1]
je 0x140034b01
mov rax, r11
inc r11
movzx edi, byte [rax]
add r9d, edi
add r8d, r9d
test rsi, rsi
lea rsi, [rsi - 1]
jne 0x140034ae8
mov edx, 0xfff1
cmp r9d, edx
jb 0x140034d42
sub r9d, edx
jmp 0x140034d42
cmp rsi, 0x15b0
jb 0x140034c30
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 0x140034b30
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 0x140034b24
test rsi, rsi
je 0x140034d5d
cmp rsi, 0x10
jb 0x140034d06
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 0x140034c43
test rsi, rsi
lea rsi, [rsi - 1]
je 0x140034d27
mov rcx, r11
inc r11
movzx edx, byte [rcx]
add r9d, edx
add r8d, r9d
test rsi, rsi
lea rsi, [rsi - 1]
jne 0x140034d0f
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