Function at 0x10006ba7
Capabilities:
Compute adler32 checksum

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov ebx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x1c], eax
mov edx, dword [ecx + 0x3c]
mov esi, dword [ecx + 0x38]
mov dword [esp + 4], ebx
and ebx, 0x7fff
mov ebp, dword [ecx + 0x28]
mov edi, dword [ecx + 0x2c]
lea eax, [ecx + 0x90]
mov dword [esp + 0x2c], eax
lea eax, [ecx + 0x8090]
mov dword [esp + 0x3c], eax
lea eax, [ecx + 0x1926a]
mov dword [esp + 0x30], eax
mov dword [esp], ecx
lea eax, [ecx + 0x98]
mov ecx, edx
mov dword [esp + 0x34], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x88]
test eax, eax
jne 0x10006c2e
mov edx, ecx
mov ecx, dword [esp]
cmp dword [ecx + 0x80], 0
je 0x1000712f
cmp dword [esp + 0x14], 0
mov ecx, edx
je 0x10007127
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 8], esi
mov ecx, 0x1000
mov esi, dword [esp + 0x14]
sub ecx, esi
cmp eax, ecx
cmovb ecx, eax
sub eax, ecx
mov edx, dword [esp]
mov dword [edx + 0x88], eax
mov dword [esp + 0xc], ecx
test ecx, ecx
je 0x10006ce1
mov eax, dword [esp + 4]
lea ebp, [eax + esi]
mov eax, dword [esp]
mov eax, dword [eax + 0x84]
mov ebx, dword [esp + 0xc]
and ebp, 0x7fff
mov edi, 0x8000
sub edi, ebp
cmp edi, ebx
cmovae edi, ebx
mov ecx, dword [esp + 0x2c]
add ecx, ebp
push edi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp ebp, 0x100
ja 0x10006cca
mov eax, dword [esp + 0x3c]
add eax, ebp
mov ecx, 0x101
sub ecx, ebp
cmp edi, ecx
cmovb ecx, edi
push ecx
mov ecx, dword [esp + 4]
push dword [ecx + 0x84]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov eax, dword [ecx + 0x84]
add eax, edi
mov dword [ecx + 0x84], eax
add ebp, edi
sub ebx, edi
jne 0x10006c79
mov eax, dword [esp + 0xc]
add eax, esi
mov ecx, 0x8000
sub ecx, eax
mov edx, dword [esp + 0x1c]
cmp ecx, edx
cmovae ecx, edx
mov edx, dword [esp]
cmp dword [edx + 0x80], 0
jne 0x10006d0e
cmp eax, 0x1000
jb 0x1000710b
mov dword [esp + 0x18], ecx
cmp eax, 4
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
jb 0x10007013
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 8], esi
mov dword [esp + 0x28], ebx
mov esi, dword [esp]
mov edx, dword [esi + ebx + 0x90]
mov eax, edx
and eax, 0xffffff
mov ecx, eax
shr ecx, 0x11
mov dword [esp + 0x14], edx
and edx, 0xfff
xor edx, ecx
movzx edi, word [esi + edx*2 + 0x29272]
mov ecx, dword [esp + 4]
mov word [esi + edx*2 + 0x29272], cx
sub ecx, edi
mov dword [esp + 0x1c], ecx
movzx esi, cx
cmp dword [esp + 0x18], esi
jb 0x10006e4d
mov ebx, edi
and ebx, 0x7fff
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + ebx]
mov edx, 0xffffff
and ecx, edx
cmp ecx, eax
jne 0x10006e4d
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp]
lea edi, [eax + ecx]
add ebx, dword [esp + 0x34]
xor ecx, ecx
movzx eax, word [edi + ecx + 0x92]
movzx edx, word [ebx + ecx - 6]
cmp ax, dx
jne 0x10006f2d
movzx eax, word [edi + ecx + 0x94]
movzx edx, word [ebx + ecx - 4]
cmp ax, dx
jne 0x10006f37
movzx eax, word [edi + ecx + 0x96]
movzx edx, word [ebx + ecx - 2]
cmp ax, dx
jne 0x10006f41
movzx eax, word [edi + ecx + 0x98]
movzx edx, word [ebx + ecx]
cmp ax, dx
jne 0x10006f4b
add ecx, 8
cmp ecx, 0x100
jne 0x10006dc8
mov ebx, 0x102
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
cmp ax, cx
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x10]
je 0x10006f82
jmp 0x10006f9b
mov eax, dword [esp + 0x14]
mov byte [ebp], al
mov edi, dword [esp + 0x10]
shr byte [edi], 1
inc ebp
movzx eax, al
xor ebx, ebx
inc ebx
mov edx, dword [esp + 8]
mov ecx, dword [esp]
inc word [ecx + eax*2 + 0x8192]
xor eax, eax
dec edx
cmove edi, ebp
mov dword [esp + 0x10], edi
sete cl
mov esi, 8
cmove edx, esi
mov esi, dword [esp + 0x18]
add esi, ebx
mov edi, ebx
mov ebx, 0x8000
cmp esi, ebx
cmovae esi, ebx
mov dword [esp + 0x18], esi
sub dword [esp + 0xc], edi
jb 0x10007159
mov ebx, edi
mov al, cl
add ebp, eax
mov ecx, dword [esp + 0x20]
add ecx, edi
mov eax, dword [esp + 4]
add eax, edi
cmp ebp, dword [esp + 0x30]
mov dword [esp + 4], eax
jbe 0x10006f0b
mov esi, ecx
mov ecx, dword [esp]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x3c], esi
mov dword [ecx + 0x28], ebp
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x38], edx
xor edx, edx
call fcn.10007cff
test eax, eax
jne 0x100070fd
mov eax, dword [esp]
mov ecx, dword [eax + 0x3c]
mov ebp, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov esi, dword [eax + 0x38]
mov eax, dword [esp + 0xc]
jmp 0x10006f15
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov esi, edx
add ebx, dword [esp + 0x28]
and ebx, 0x7fff
cmp eax, 3
ja 0x10006d2f
jmp 0x10007013
add ecx, edi
add ecx, 0x92
jmp 0x10006f53
add ecx, edi
add ecx, 0x94
jmp 0x10006f53
add ecx, edi
add ecx, 0x96
jmp 0x10006f53
add ecx, edi
add ecx, 0x98
sub ecx, dword [esp + 0x38]
xor ebx, ebx
cmp al, dl
sete bl
add ebx, ecx
cmp ebx, 3
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
jb 0x10006f82
cmp esi, 0x2000
jb 0x10006f9b
cmp ebx, 3
jne 0x10006f9b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov byte [ebp], al
shr byte [edi], 1
inc ebp
movzx eax, al
xor ebx, ebx
inc ebx
jmp 0x10006e65
mov dword [esp + 4], eax
cmp cx, ax
je 0x1000716e
movzx eax, word [esp + 0x1c]
cmp eax, 0x8001
jae 0x1000716e
mov eax, dword [esp + 0xc]
cmp ebx, eax
cmovae ebx, eax
dec esi
lea eax, [ebx - 3]
mov byte [ebp], al
mov dword [ebp + 1], esi
add ebp, 3
mov al, byte [edi]
shr al, 1
or al, 0x80
mov ecx, esi
and ecx, 0x1ff
mov edx, esi
shr edx, 8
cmp esi, 0x200
lea ecx, [ecx + 0x1001486a]
lea edx, [edx + 0x10014a6a]
cmovb edx, ecx
mov byte [edi], al
movzx eax, byte [edx]
mov ecx, dword [esp]
inc word [ecx + eax*2 + 0x83d2]
movzx eax, word [ebx + ebx + 0x10014ae4]
jmp 0x10006e61
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
test eax, eax
je 0x10006c02
mov dword [esp + 8], esi
dec eax
mov dword [esp + 0xc], eax
mov edx, dword [esp]
movzx eax, byte [edx + ebx + 0x90]
mov byte [ebp], al
shr byte [edi], 1
inc ecx
mov dword [esp + 0x20], ecx
lea ecx, [ebp + 1]
mov esi, dword [esp + 8]
dec esi
add ebp, 2
test esi, esi
cmove edi, ecx
cmovne ebp, ecx
mov ecx, 8
cmove esi, ecx
inc word [edx + eax*2 + 0x8192]
mov eax, dword [esp + 4]
inc eax
mov ecx, dword [esp + 0x18]
inc ecx
mov edx, 0x8000
cmp ecx, edx
cmovae ecx, edx
cmp ebp, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
mov dword [esp + 4], eax
jbe 0x100070d0
mov edx, dword [esp]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
mov eax, dword [esp + 0x20]
mov dword [edx + 0x3c], eax
mov dword [edx + 0x28], ebp
mov dword [edx + 0x2c], edi
mov dword [edx + 0x38], esi
mov ecx, edx
xor edx, edx
call fcn.10007cff
test eax, eax
jne 0x100070fd
mov eax, dword [esp]
mov ecx, dword [eax + 0x3c]
mov ebp, dword [eax + 0x28]
mov edi, dword [eax + 0x2c]
mov eax, dword [eax + 0x38]
mov dword [esp + 8], eax
jmp 0x100070d8
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
inc ebx
and ebx, 0x7fff
add eax, 0xffffffff
jb 0x10007030
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 8]
jmp 0x10006c02
setns al
movzx eax, al
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 4]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
jmp 0x10007139
mov eax, dword [esp + 4]
mov ebx, ecx
jmp 0x10007135
mov eax, dword [esp + 4]
mov ebx, edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x3c], ebx
mov dword [ecx + 0x28], ebp
mov dword [ecx + 0x2c], edi
mov dword [ecx + 0x38], esi
mov al, 1
jmp 0x10007100
push 0xf2d
push str.src_compat_dvfs_stb_zip_v221.h
push str.lookahead_size___cur_match_len
call dword [sym.imp.msvcrt.dll__assert]
push 0xf09
push str.src_compat_dvfs_stb_zip_v221.h
push str._cur_match_len___TDEFL_MIN_MATCH_LEN____cur_match_dist___1____cur_match_dist___TDEFL_LZ_DICT_SIZE_
call dword [sym.imp.msvcrt.dll__assert]