Function at 0x140264390
Capabilities:
Compute adler32 checksum

Disassembly:
mov qword [rsp + 0x20], rbx
push r14
sub rsp, 0x20
movzx r9d, word [r8]
xor ebx, ebx
movzx r11d, word [r8 + 2]
mov r14, r8
mov qword [rsp + 0x30], rbp
mov ebp, edx
mov qword [rsp + 0x40], rdi
mov r10, rcx
cmp edx, 0x1f
jl 0x140264624
movaps xmmword [rsp + 0x10], xmm6
mov eax, r10d
movdqa xmm6, xmmword [0x1403079d0]
xorps xmm5, xmm5
movaps xmmword [rsp], xmm7
movdqa xmm7, xmmword [0x1403079c0]
and eax, 0xf
je 0x140264443
neg eax
mov edx, ebx
and eax, 0xf
mov r8d, ebx
mov edi, eax
mov ecx, ebx
cmp rdi, 2
jb 0x140264427
mov qword [rsp + 0x38], rsi
lea rsi, [rax - 1]
movzx eax, byte [r10 + rcx]
add r9d, eax
movzx eax, byte [r10 + rcx + 1]
add edx, r9d
add rcx, 2
add r9d, eax
add r8d, r9d
cmp rcx, rsi
jl 0x140264402
mov rsi, qword [rsp + 0x38]
cmp rcx, rdi
jge 0x140264437
movzx eax, byte [rcx + r10]
add r9d, eax
add r11d, r9d
lea eax, [r8 + rdx]
sub ebp, edi
add r11d, eax
add r10, rdi
mov r8d, ebp
movd xmm4, r9d
sar r8d, 4
movd xmm3, r11d
cmp r8d, 0x15a
jl 0x140264559
mov eax, 0x7ad2208f
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 8
mov edi, eax
imul eax, eax, 0xfffffea6
add r8d, eax
mov eax, 0x15a
nop word [rax + rax]
movdqu xmm2, xmmword [r10]
movdqa xmm0, xmm4
movdqa xmm1, xmm2
pslld xmm0, 4
punpcklbw xmm1, xmm5
paddd xmm0, xmm3
pmaddwd xmm1, xmm6
add r10, 0x10
movdqa xmm3, xmm1
movdqa xmm1, xmm2
punpckhbw xmm1, xmm5
paddd xmm3, xmm0
psadbw xmm2, xmm5
pmaddwd xmm1, xmm7
paddd xmm2, xmm4
paddd xmm3, xmm1
movdqa xmm4, xmm2
sub eax, 1
jne 0x140264490
movd r9d, xmm4
movdqa xmm0, xmm3
movdqa xmm1, xmm3
psrldq xmm4, 8
movd eax, xmm4
psrldq xmm0, 4
psrldq xmm1, 0xc
add r9d, eax
movd r11d, xmm0
mov eax, 0x80078071
mul r9d
shr edx, 0xf
imul eax, edx, 0xfff1
sub r9d, eax
movd eax, xmm1
add r11d, eax
movd eax, xmm3
psrldq xmm3, 8
movd xmm4, r9d
add r11d, eax
movd eax, xmm3
add r11d, eax
mov eax, 0x80078071
mul r11d
shr edx, 0xf
imul eax, edx, 0xfff1
sub r11d, eax
movd xmm3, r11d
sub rdi, 1
jne 0x140264480
test r8d, r8d
je 0x140264618
movdqu xmm2, xmmword [r10]
movdqa xmm0, xmm4
movdqa xmm1, xmm2
pslld xmm0, 4
punpcklbw xmm1, xmm5
paddd xmm0, xmm3
pmaddwd xmm1, xmm6
add r10, 0x10
movdqa xmm3, xmm1
movdqa xmm1, xmm2
punpckhbw xmm1, xmm5
paddd xmm3, xmm0
psadbw xmm2, xmm5
pmaddwd xmm1, xmm7
paddd xmm2, xmm4
paddd xmm3, xmm1
movdqa xmm4, xmm2
sub r8d, 1
jne 0x140264562
movd r9d, xmm4
movdqa xmm0, xmm3
movdqa xmm1, xmm3
psrldq xmm4, 8
movd eax, xmm4
psrldq xmm0, 4
psrldq xmm1, 0xc
add r9d, eax
movd r11d, xmm0
mov eax, 0x80078071
mul r9d
shr edx, 0xf
imul eax, edx, 0xfff1
sub r9d, eax
movd eax, xmm1
add r11d, eax
movd eax, xmm3
psrldq xmm3, 8
add r11d, eax
movd eax, xmm3
add r11d, eax
mov eax, 0x80078071
mul r11d
shr edx, 0xf
imul eax, edx, 0xfff1
sub r11d, eax
movaps xmm7, xmmword [rsp]
and ebp, 0xf
movaps xmm6, xmmword [rsp + 0x10]
movsxd rdi, ebp
mov edx, ebx
mov rbp, qword [rsp + 0x30]
mov rcx, rbx
cmp rdi, 2
jl 0x140264660
lea r8, [rdi - 1]
nop dword [rax + rax]
movzx eax, byte [r10 + rcx]
add r9d, eax
movzx eax, byte [r10 + rcx + 1]
add ebx, r9d
add rcx, 2
add r9d, eax
add edx, r9d
cmp rcx, r8
jl 0x140264640
cmp rcx, rdi
mov rdi, qword [rsp + 0x40]
jge 0x140264675
movzx ecx, byte [rcx + r10]
add r9d, ecx
add r11d, r9d
lea ecx, [rdx + rbx]
mov eax, 0x80078071
mov rbx, qword [rsp + 0x48]
add r11d, ecx
mul r9d
mov eax, 0x80078071
shr edx, 0xf
imul ecx, edx, 0xfff1
mul r11d
sub r9d, ecx
shr edx, 0xf
imul eax, edx, 0xf
add eax, r11d
shl eax, 0x10
or r9d, eax
mov dword [r14], r9d
add rsp, 0x20
pop r14
ret