Function at 0x140034c10
Capabilities:
Compute adler32 checksum

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x20], r9d
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r15d, dword [rdx]
xorps xmm0, xmm0
mov edx, dword [rsp + 0x100]
mov r14, r8
mov r13, rcx
movups xmmword [rax - 0x68], xmm0
movups xmmword [rax - 0x58], xmm0
test edx, edx
js 0x140034c5e
mov ecx, 0xa
mov eax, edx
cmp edx, ecx
cmovg eax, ecx
jmp 0x140034c63
mov eax, 6
mov r12, qword [rsp + 0x78]
lea r9, [0x14005e7c8]
cmp edx, 3
mov ecx, 0x1000
mov r8d, 0x5000
mov rsi, r12
cmovle ecx, r8d
or ecx, dword [r9 + rax*4]
mov rax, qword [rsp + 0x70]
mov edi, ecx
bts edi, 0x13
test edx, edx
lea rdx, [0x140034be0]
cmovne edi, ecx
xor ebp, ebp
bts edi, 0xd
mov dword [rsp + 0x20], ebp
test rax, rax
lea rcx, [0x140034bd0]
cmove rax, rcx
test r12, r12
jne 0x140034cc2
mov r12, rdx
mov rsi, rdx
cmp rax, rcx
jne 0x140034cd4
mov ecx, 0x4df78
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
jmp 0x140034ce9
mov rcx, qword [rsp + 0x80]
mov edx, 1
mov r8d, 0x4df78
call rax
mov rbx, rax
test rax, rax
jne 0x140034cf9
lea eax, [rbx - 4]
jmp 0x1400350cd
mov r9d, edi
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14003be50
test eax, eax
je 0x140034d43
lea rax, [0x140034be0]
cmp rsi, rax
jne 0x140034d2c
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xffffd8f0
jmp 0x1400350cd
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call rsi
mov eax, 0xffffd8f0
jmp 0x1400350cd
mov esi, 0xfffffffb
test rbx, rbx
je 0x140035097
test r13, r13
je 0x140035097
test r15d, r15d
jne 0x140034d66
mov ebp, esi
jmp 0x14003509c
cmp dword [rbx + 0x84], 1
je 0x14003505e
mov edi, dword [rsp + 0xf8]
mov r8, r13
nop dword [rax]
mov eax, edi
mov qword [rsp + 0x28], rax
mov eax, r15d
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x28]
mov qword [rbx + 0x98], rax
lea rax, [rsp + 0x30]
mov qword [rbx + 0xa0], rax
mov qword [rbx + 0x88], r14
mov qword [rbx + 0x90], r8
mov qword [rbx + 0xb0], r14
mov rax, qword [rsp + 0x28]
mov qword [rbx + 0xb8], rax
mov qword [rbx + 0xc0], rbp
mov dword [rbx + 0xa8], 4
cmp qword [rbx], rbp
jne 0x140034ff1
cmp dword [rbx + 0x84], ebp
jne 0x140034ff1
cmp qword [rsp + 0x28], rbp
je 0x140034dfe
test r14, r14
je 0x140034ff1
cmp qword [rsp + 0x30], rbp
je 0x140034e0e
test r8, r8
je 0x140034ff1
or dword [rbx + 0x80], 1
cmp dword [rbx + 0x74], ebp
jne 0x140034fdf
cmp dword [rbx + 0x78], ebp
jne 0x140034fdf
mov ecx, dword [rbx + 0x10]
mov eax, ecx
and eax, 0xfff
cmp eax, 1
jne 0x140034e5b
and ecx, 0xb4000
cmp ecx, 0x4000
jne 0x140034e5b
mov rcx, rbx
call fcn.14003a3e0
test eax, eax
jne 0x140034e72
mov edx, dword [rbx + 0x84]
jmp 0x14003500a
mov rcx, rbx
call fcn.14003acb0
test eax, eax
jne 0x140034e72
mov edx, dword [rbx + 0x84]
jmp 0x14003500a
test dword [rbx + 0x10], 0x3000
je 0x140034fac
test r14, r14
je 0x140034fac
mov rdi, qword [rbx + 0xb0]
movabs rax, 0x79baa6bb6398b6f7
mov r8d, dword [rbx + 0x20]
sub rdi, r14
mul rdi
mov rax, rdi
movzx ecx, r8w
sub rax, rdx
shr r8d, 0x10
shr rax, 1
mov r10, rdi
add rax, rdx
mov r9, r14
shr rax, 0xc
imul rax, rax, 0x15b0
sub r10, rax
test rdi, rdi
je 0x140034f9a
mov edx, ebp
cmp r10, 7
jbe 0x140034f44
mov r11d, 7
movzx eax, byte [r9]
add r11d, 8
add ecx, eax
add edx, 8
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
add r9, 8
add r8d, ecx
mov eax, r11d
cmp rax, r10
jb 0x140034ee2
mov eax, edx
cmp rax, r10
jae 0x140034f65
nop dword [rax + rax]
movzx eax, byte [r9]
inc edx
add ecx, eax
inc r9
add r8d, ecx
mov eax, edx
cmp rax, r10
jb 0x140034f50
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
sub rdi, r10
mov r10d, 0x15b0
jne 0x140034ed4
mov edi, dword [rsp + 0xf8]
shl r8d, 0x10
lea eax, [r8 + rcx]
mov dword [rbx + 0x20], eax
cmp dword [rbx + 0x28], ebp
jne 0x140034fdf
cmp qword [rbx + 0xb8], rbp
jne 0x140034fdf
cmp dword [rbx + 0x74], ebp
jne 0x140034fdf
mov edx, 4
mov rcx, rbx
call fcn.14003b650
test eax, eax
jns 0x140034fd8
mov edx, dword [rbx + 0x84]
jmp 0x14003500a
mov dword [rbx + 0x78], 1
mov rcx, rbx
call fcn.14003bda0
mov edx, eax
mov dword [rbx + 0x84], eax
jmp 0x14003500a
mov qword [rsp + 0x28], rbp
mov edx, 0xfffffffe
mov qword [rsp + 0x30], rbp
mov dword [rbx + 0x84], 0xfffffffe
mov rcx, qword [rsp + 0x28]
mov eax, ecx
sub edi, ecx
mov rcx, qword [rsp + 0x30]
add r14, rax
mov eax, ecx
sub r15d, ecx
add r13, rax
mov dword [rsp + 0xf8], edi
mov eax, dword [rsp + 0x20]
mov r8, r13
add eax, ecx
mov dword [rsp + 0x20], eax
test edx, edx
js 0x140035052
cmp edx, 1
je 0x14003504b
test r15d, r15d
jne 0x140034d80
jmp 0x140035057
mov ebp, 1
jmp 0x140035057
mov ebp, 0xfffffffe
cmp ebp, 1
jne 0x14003509c
jmp 0x140035062
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0xe8]
mov dword [rcx], eax
lea rax, [0x140034be0]
cmp r12, rax
jne 0x140035085
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
jmp 0x1400350cd
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call r12
xor eax, eax
jmp 0x1400350cd
mov ebp, 0xfffffffe
test rbx, rbx
je 0x1400350c6
lea rax, [0x140034be0]
cmp r12, rax
jne 0x1400350b8
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1400350c6
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call r12
test ebp, ebp
cmove ebp, esi
mov eax, ebp
mov rbx, qword [rsp + 0xe0]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret