Function at 0x1402d7bb0
Capabilities:
Compute adler32 checksum

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xc0
mov rax, qword [0x14045f040]
xor rax, rsp
mov qword [rbp + 0x47], rax
xor ebx, ebx
lea rcx, [rbp - 0x69]
mov dword [rbp - 0x69], ebx
mov eax, ebx
nop dword [rax + rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x20
jl 0x1402d7be0
mov ecx, dword [rbp - 0x69]
mov r10d, ebx
cmp ecx, 0x3020100
mov eax, ebx
mov r11d, 0x100
mov r8d, 4
sete r10b
cmp cx, r11w
sete al
and r10d, eax
cmp r10d, 1
jne 0x1402d7f38
lea rcx, [rbp - 0x69]
mov r9d, r8d
lea rdx, [rbp - 0x49]
nop word [rax + rax]
movzx eax, word [rcx]
lea rcx, [rcx + 1]
mov word [rdx], ax
lea rdx, [rdx + 2]
sub r9, 1
jne 0x1402d7c30
mov eax, 0x403
mov ecx, ebx
cmp word [rbp - 0x43], ax
mov edx, 0x302
mov eax, ebx
mov r9d, 0x201
sete cl
mov r10d, ebx
cmp word [rbp - 0x45], dx
sete al
and ecx, eax
mov eax, ebx
cmp word [rbp - 0x47], r9w
cmove r10d, ecx
cmp word [rbp - 0x49], r11w
sete al
and r10d, eax
cmp r10d, 1
jne 0x1402d7f38
lea rcx, [rbp - 0x69]
lea rdx, [rbp - 0x49]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rcx]
lea rcx, [rcx + 1]
mov dword [rdx], eax
lea rdx, [rdx + 4]
sub r8, 1
jne 0x1402d7ca0
cmp dword [rbp - 0x45], 0x4030201
mov eax, ebx
mov ecx, ebx
mov r10d, ebx
sete cl
cmp dword [rbp - 0x49], 0x3020100
sete al
and ecx, eax
mov eax, ebx
cmp dword [rbp - 0x3d], 0x6050403
cmove r10d, ecx
cmp dword [rbp - 0x41], 0x5040302
sete al
and r10d, eax
cmp r10d, 1
jne 0x1402d7f38
mov qword [rsp + 0xd0], rdi
lea r9, str._r_n_nUCL_data_compression_library._n_Copyright:_UCL__C__1996__1997__1998__1999__2000__2001__2002__2003__2004_Markus_Franz_Xaver_Johannes_Oberhumer_n_markus_oberhumer.com__nhttp:__www.oberhumer.com___n_n_Id:_UCL_version:_v1.03__Jul_20_2004___n_Built:_Nov__5_2024_22:12:13___n_Info:_win64_amd64_little_endian_flat_Microsoft_C_1939___n
mov edi, 0xc3
mov ecx, r10d
mov r8d, ebx
nop dword [rax]
mov edx, 0x15b0
cmp edi, edx
cmovb edx, edi
sub edi, edx
cmp edx, 0x10
jl 0x1402d7ded
mov r11d, edx
shr r11, 4
mov eax, r11d
neg eax
shl eax, 4
add edx, eax
nop word [rax + rax]
movzx eax, byte [r9]
add ecx, eax
movzx eax, byte [r9 + 1]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 2]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 3]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 4]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 5]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 6]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 7]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 8]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 9]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 0xa]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 0xb]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 0xc]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 0xd]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 0xe]
add r8d, ecx
add ecx, eax
movzx eax, byte [r9 + 0xf]
add r8d, ecx
add r9, 0x10
add ecx, eax
add r8d, ecx
sub r11, 1
jne 0x1402d7d40
test edx, edx
je 0x1402d7e03
movzx eax, byte [r9]
dec edx
add ecx, eax
inc r9
add r8d, ecx
test edx, edx
jg 0x1402d7df1
mov eax, 0x80078071
mul ecx
shr edx, 0xf
imul eax, edx, 0xffff000f
add ecx, eax
mov eax, 0x80078071
mul r8d
shr edx, 0xf
imul eax, edx, 0xffff000f
add r8d, eax
test edi, edi
jne 0x1402d7d10
mov rdi, qword [rsp + 0xd0]
mov eax, ebx
shl r8d, 0x10
or r8d, ecx
cmp r8d, 0x52ca3a75
cmove eax, r10d
mov r10d, eax
cmp eax, 1
jne 0x1402d7f38
mov dword [0x140464b38], 0xfffffffd
mov qword [0x140464b3c], 0xfffffffffffffffe
cmp eax, eax
jne 0x1402d7f38
mov ecx, ebx
lea rdx, [rbp - 0x39]
nop dword [rax]
mov byte [rdx], cl
lea rdx, [rdx + 1]
inc ecx
cmp ecx, 0x20
jl 0x1402d7e80
lea rdx, [rbp - 0x19]
mov ecx, ebx
lea r8, [rbp - 0x12]
mov r9d, ebx
and r8d, 0xfffffff8
sub r8d, edx
mov edx, ebx
mov dl, 1
movzx ecx, dl
and edx, ecx
cmp r8d, 8
not r8d
cmovl r9d, edx
shr r8d, 0x1f
and r9d, r8d
cmp r9d, 1
jne 0x1402d7f35
lea rax, [rbp - 0x38]
mov ecx, ebx
lea r8, [rbp - 0x35]
mov edx, ebx
and r8d, 0xfffffffc
lea r11, [rbp - 0x39]
sub r8d, eax
inc r8d
mov eax, r8d
add r11, rax
mov eax, ebx
test r11b, 3
sete cl
cmp r8d, 5
setb al
and ecx, eax
lea rax, [rbp - 0x38]
cmp r11, rax
mov eax, ebx
cmovae edx, ecx
cmp r8d, r9d
cmovae eax, r9d
mov r9d, ebx
and edx, eax
lea rax, [rbp - 0x34]
cmp r11, rax
cmovb r9d, edx
cmp r9d, 1
jne 0x1402d7f35
mov eax, ebx
lea ecx, [r8 + 4]
cmp dword [rbp + rcx - 0x39], ebx
seta al
cmp dword [r11], ebx
seta bl
and eax, ebx
and r9d, eax
and r10d, r9d
dec r10d
neg r10d
sbb eax, eax
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.1402e2560
mov rbx, qword [rsp + 0xd8]
add rsp, 0xc0
pop rbp
ret