Function at 0x14000ab60
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x70], xmm6
lea rax, [0x140016c00]
movq xmm6, qword [0x1400174c0]
movq xmm0, rax
punpcklqdq xmm6, xmm0
mov dword [rsp + 0xd8], edx
mov r13, rcx
call fcn.14000a7b0
mov dword [rsp + 0x40], eax
test eax, eax
jne case.default.0x14000ac28
mov r14, qword [rcx + 0x10]
test r14, r14
je case.default.0x14000ac28
mov rdi, qword [rcx]
mov r10d, dword [rcx + 8]
test rdi, rdi
je 0x14000ad10
mov r12, qword [r13 + 0x28]
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x14000abe6
mov dword [r12 + 8], 0x3f40
mov eax, 0x3f40
mov r11d, dword [r13 + 0x18]
mov dword [rsp + 0x44], r10d
mov esi, r10d
mov qword [rsp + 0xd0], r13
mov ebp, dword [r12 + 0x48]
mov dword [rsp + 0x3c], r11d
mov ebx, dword [r12 + 0x4c]
mov r15d, r11d
sub eax, 0x3f34
cmp eax, 0x1e
ja case.default.0x14000ac28
lea rdx, [0x140016b78]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rax, qword [rsp + 0xd0]
bswap ebp
mov dword [r12 + 0x20], ebp
xor ebx, ebx
mov dword [rax + 0x4c], ebp
xor ebp, ebp
mov dword [r12 + 8], 0x3f3e
mov eax, dword [r12 + 0x14]
test eax, eax
je 0x14000c85b
xor edx, edx
xor r8d, r8d
xor ecx, ecx
call fcn.1400096f0
mov rdx, qword [rsp + 0xd0]
mov dword [r12 + 0x20], eax
mov dword [rdx + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
mov eax, dword [rsp + 0xd8]
sub eax, 5
cmp eax, 1
jbe 0x14000be80
mov eax, dword [r12 + 0xc]
test eax, eax
je 0x14000adf0
mov ecx, ebx
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov dword [r12 + 8], 0x3f4e
and ecx, 7
mov r13, qword [rsp + 0xd0]
and ebx, 0xfffffff8
shr ebp, cl
mov edx, dword [r12 + 0x10]
test edx, edx
je 0x14000bcd0
cmp ebx, 0x1f
ja 0x14000c14f
mov ecx, ebx
jmp 0x14000acfa
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000c14d
test esi, esi
jne 0x14000ace0
mov r15d, dword [rsp + 0x3c]
mov ebx, ecx
sub r15d, r11d
jmp 0x14000af50
test r10d, r10d
je 0x14000abc8
mov dword [rsp + 0x40], 0xfffffffe
jmp 0x14000b050
mov rax, qword [0x1400174b8]
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
movups xmmword [r12 + 0x60], xmm6
mov qword [r12 + 0x70], rax
je 0x14000cac0
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax + rax]
mov dword [r12 + 8], 0x3f48
cmp esi, 5
jbe 0x14000b950
cmp r15d, 0x101
jbe 0x14000b950
mov rax, qword [rsp + 0xd0]
mov edx, dword [rsp + 0x3c]
mov qword [rax + 0x10], r14
mov rcx, rax
mov dword [rax + 0x18], r15d
mov qword [rax], rdi
mov dword [rax + 8], esi
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
call fcn.14000a040
mov ebp, dword [r12 + 0x48]
mov ebx, dword [r12 + 0x4c]
mov rax, qword [rsp + 0xd0]
mov r14, qword [rax + 0x10]
mov r15d, dword [rax + 0x18]
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x14000ac0c
mov dword [r12 + 0x1be4], 0xffffffff
jmp case.0x14000ac28.16191
mov rdx, rdi
cmp ebx, 2
ja 0x14000ae13
test esi, esi
je 0x14000c010
movzx eax, byte [rdi]
mov ecx, ebx
sub esi, 1
lea rdx, [rdi + 1]
add ebx, 8
shl eax, cl
add ebp, eax
mov eax, ebp
and eax, 1
mov dword [r12 + 0xc], eax
mov eax, ebp
shr eax, 1
and eax, 3
cmp eax, 2
je 0x14000b6e3
cmp eax, 3
je 0x14000c310
cmp eax, 1
je 0x14000ad26
mov dword [r12 + 8], 0x3f41
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop word cs:[rax + rax]
nop dword [rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
cmp ebx, 0x1f
ja 0x14000bef5
mov ecx, ebx
jmp 0x14000ae9a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000bef0
test esi, esi
jne 0x14000ae80
nop
mov r11d, r15d
mov r15d, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x44]
mov ebx, ecx
mov r13, qword [rsp + 0xd0]
sub r15d, r11d
jmp 0x14000af50
mov r8d, dword [r12 + 0x58]
test r8d, r8d
jne 0x14000c060
mov dword [r12 + 8], 0x3f4c
test r15d, r15d
je 0x14000c506
mov ecx, dword [rsp + 0x3c]
mov eax, dword [r12 + 0x54]
mov edx, ecx
sub edx, r15d
cmp edx, eax
jae 0x14000bea0
lea edx, [rax + r15]
mov eax, edx
sub eax, ecx
cmp dword [r12 + 0x38], eax
jae 0x14000bbf8
mov r11d, dword [r12 + 0x1be0]
test r11d, r11d
je 0x14000bbf8
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_distance_too_far_back
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
mov r15d, dword [rsp + 0x3c]
mov dword [rsp + 0x40], 0xfffffffd
sub r15d, r11d
nop
mov qword [r13 + 0x10], r14
mov dword [r13 + 0x18], r11d
mov qword [r13], rdi
mov dword [r13 + 8], esi
mov dword [r12 + 0x4c], ebx
mov ebx, dword [r12 + 0x34]
mov dword [r12 + 0x48], ebp
test ebx, ebx
jne 0x14000afa0
cmp dword [rsp + 0x3c], r11d
je 0x14000afcd
mov eax, dword [r12 + 8]
cmp eax, 0x3f50
ja 0x14000afcd
cmp eax, 0x3f4d
jbe 0x14000afa0
cmp dword [rsp + 0xd8], 4
je 0x14000afcd
nop word [rax + rax]
mov r8d, r15d
mov rdx, r14
mov rcx, r13
mov dword [rsp + 0x44], r10d
call fcn.14000a680
test eax, eax
jne 0x14000bc71
mov esi, dword [r13 + 8]
mov r10d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x3c]
sub r15d, dword [r13 + 0x18]
mov ebx, r10d
add dword [r13 + 0x1c], r15d
sub ebx, esi
add dword [r13 + 0xc], ebx
add dword [r12 + 0x24], r15d
test byte [r12 + 0x10], 4
je 0x14000aff0
test r15d, r15d
jne 0x14000b7b0
mov edx, dword [r12 + 0xc]
xor eax, eax
mov ecx, dword [r12 + 8]
test edx, edx
setne al
shl eax, 6
add eax, dword [r12 + 0x4c]
cmp ecx, 0x3f3f
je 0x14000b7a8
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or ebx, r15d
mov dword [r13 + 0x48], eax
je 0x14000b044
cmp dword [rsp + 0xd8], 4
jne 0x14000b050
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14000c267
mov eax, dword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [r12 + 0x58]
test edx, edx
jne 0x14000bc90
mov eax, dword [r12 + 0x50]
mov dword [r12 + 0x1be8], eax
mov dword [r12 + 8], 0x3f4a
mov ecx, dword [r12 + 0x74]
mov r8d, 0xffffffff
mov r9, qword [r12 + 0x68]
mov eax, ebp
shl r8d, cl
not r8d
and eax, r8d
lea rcx, [r9 + rax*4]
movzx eax, byte [rcx + 1]
mov edx, eax
mov r10d, eax
cmp ebx, eax
jae 0x14000c437
mov ecx, ebx
jmp 0x14000b12c
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, r8d
lea r11, [r9 + rax*4]
movzx eax, byte [r11 + 1]
mov edx, eax
mov r10d, eax
cmp ecx, eax
jae 0x14000ba80
test esi, esi
jne 0x14000b100
jmp 0x14000aea0
mov edx, dword [r12 + 0x10]
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov r13, qword [rsp + 0xd0]
test edx, edx
je 0x14000bcd0
mov r15d, dword [r12 + 0x18]
test r15d, r15d
je 0x14000bcd0
mov ecx, ebx
cmp ebx, 0x1f
jbe 0x14000b19a
jmp 0x14000baea
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000bae8
test esi, esi
jne 0x14000b180
jmp 0x14000acfe
mov ecx, ebx
cmp ebx, 0x1f
jbe 0x14000b1da
jmp 0x14000ac30
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000ac30
test esi, esi
jne 0x14000b1c0
jmp 0x14000aea0
mov eax, dword [r12 + 0x50]
mov dword [r12 + 8], 0x3f43
test eax, eax
je 0x14000ac78
cmp esi, eax
cmovbe eax, esi
cmp eax, r15d
cmova eax, r15d
test eax, eax
je 0x14000be80
mov r8d, eax
mov rdx, rdi
mov rcx, r14
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x48], r8
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r9d, dword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
sub dword [r12 + 0x50], r9d
mov eax, dword [r12 + 8]
sub esi, r9d
add rdi, r8
sub r15d, r9d
add r14, r8
jmp 0x14000ac0c
mov eax, dword [r12 + 0x50]
jmp 0x14000b1f6
mov eax, dword [r12 + 0x84]
mov r9d, dword [r12 + 0x78]
cmp eax, r9d
jae 0x14000c736
lea rcx, [0x140017480]
lea edx, [rax + 1]
mov r10, rdi
lea r8, [rcx + rax*2]
mov ecx, ebx
cmp ecx, 2
ja 0x14000b2a7
test esi, esi
je 0x14000aea0
movzx eax, byte [rdi]
sub esi, 1
lea r10, [rdi + 1]
shl eax, cl
add ecx, 8
add ebp, eax
movzx eax, word [r8]
mov r11d, ebp
sub ecx, 3
shr ebp, 3
and r11d, 7
mov dword [r12 + 0x84], edx
add r8, 2
mov word [r12 + rax*2 + 0x90], r11w
lea eax, [rdx + 1]
cmp edx, r9d
je 0x14000c652
mov rdi, r10
mov edx, eax
mov r10, rdi
cmp ecx, 2
jbe 0x14000b28e
jmp 0x14000b2a7
mov r13d, dword [r12 + 0x7c]
mov eax, dword [r12 + 0x80]
mov r9d, dword [r12 + 0x84]
add eax, r13d
cmp r9d, eax
jae 0x14000ba34
mov ecx, dword [r12 + 0x70]
mov edx, 0xffffffff
mov dword [rsp + 0x48], r13d
mov r8, qword [r12 + 0x60]
shl edx, cl
not edx
mov ecx, edx
and ecx, ebp
lea r11, [r8 + rcx*4]
movzx r10d, byte [r11 + 1]
mov ecx, r10d
cmp ebx, r10d
jae 0x14000b9f9
mov ecx, ebx
jmp 0x14000b3ac
movzx r10d, byte [rdi]
add rdi, 1
sub esi, 1
shl r10d, cl
add ecx, 8
add ebp, r10d
mov r10d, ebp
and r10d, edx
lea r11, [r8 + r10*4]
movzx r10d, byte [r11 + 1]
cmp ecx, r10d
jae 0x14000b9f0
test esi, esi
jne 0x14000b380
jmp 0x14000aea0
mov r11d, r15d
mov r15d, dword [rsp + 0x3c]
mov dword [rsp + 0x40], 1
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
sub r15d, r11d
jmp 0x14000af50
mov eax, dword [r12 + 0x18]
test ah, 2
jne 0x14000b577
nop
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000b40a
sar eax, 9
mov dword [rdx + 0x40], 1
and eax, 1
mov dword [rdx + 0x3c], eax
xor edx, edx
xor r8d, r8d
xor ecx, ecx
call fcn.140009cf0
mov rdx, qword [rsp + 0xd0]
mov dword [r12 + 0x20], eax
mov dword [rdx + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
jmp case.0x14000ac28.16191
mov edx, dword [r12 + 0x10]
test edx, edx
jne 0x14000c0eb
mov dword [r12 + 8], 0x3f40
jmp case.0x14000ac28.16192
cmp ebx, 0x1f
ja 0x14000beb8
mov ecx, ebx
jmp 0x14000b49a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000beb8
test esi, esi
jne 0x14000b480
jmp 0x14000aea0
cmp ebx, 0xf
ja 0x14000bb20
mov ecx, ebx
jmp 0x14000b4da
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000bb20
test esi, esi
jne 0x14000b4c0
jmp 0x14000aea0
mov edx, dword [r12 + 0x18]
mov eax, edx
test dh, 4
jne 0x14000c0a3
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000b679
mov qword [rdx + 0x10], 0
jmp 0x14000b679
mov eax, dword [r12 + 0x18]
test ah, 8
jne 0x14000b8a0
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000b538
mov qword [rdx + 0x20], 0
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3b
test ah, 0x10
jne 0x14000b7f0
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000b565
mov qword [rdx + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test ah, 2
je 0x14000b3f0
cmp ebx, 0xf
ja 0x14000bbb2
mov ecx, ebx
jmp 0x14000b5ba
movzx edx, byte [rdi]
add rdi, 1
sub esi, 1
shl edx, cl
add ecx, 8
add ebp, edx
cmp ecx, 0xf
ja 0x14000bbb0
test esi, esi
jne 0x14000b5a0
jmp 0x14000aea0
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
test edx, edx
je 0x14000b679
mov edx, dword [r12 + 0x50]
cmp esi, edx
mov r9d, edx
cmovbe r9d, esi
test r9d, r9d
je 0x14000b66c
mov rcx, qword [r12 + 0x28]
test rcx, rcx
je 0x14000b645
mov r10, qword [rcx + 0x10]
test r10, r10
je 0x14000b645
mov r11d, dword [rcx + 0x18]
mov ecx, dword [rcx + 0x1c]
mov r8d, r11d
sub r8d, edx
cmp r8d, ecx
jae 0x14000b645
lea eax, [r8 + r9]
add edx, ecx
mov dword [rsp + 0x48], r9d
sub edx, r11d
cmp ecx, eax
mov eax, r8d
cmovae edx, r9d
lea rcx, [r10 + rax]
mov r8d, edx
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r12 + 0x18]
mov r9d, dword [rsp + 0x48]
test ah, 2
je 0x14000b656
test byte [r12 + 0x10], 4
jne 0x14000c3e1
mov edx, dword [r12 + 0x50]
mov eax, r9d
sub esi, r9d
add rdi, rax
sub edx, r9d
mov dword [r12 + 0x50], edx
test edx, edx
jne 0x14000be80
mov eax, dword [r12 + 0x18]
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x14000b51d
mov eax, dword [r12 + 0x18]
jmp 0x14000b54a
mov ecx, ebx
cmp ebx, 0xf
jbe 0x14000b6da
jmp 0x14000bf3a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000bf38
test esi, esi
jne 0x14000b6c0
jmp 0x14000aea0
mov dword [r12 + 8], 0x3f44
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop word cs:[rax + rax]
mov ecx, ebx
cmp ebx, 0xd
jbe 0x14000b73a
jmp 0x14000bf7a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xd
ja 0x14000bf78
test esi, esi
jne 0x14000b720
jmp 0x14000aea0
movzx edx, byte [r9]
movzx r9d, word [r9 + 2]
mov ebx, ecx
mov ecx, eax
movzx r10d, r9w
test dl, dl
jne 0x14000c1b4
mov dword [r12 + 0x1be4], eax
shr ebp, cl
sub ebx, eax
mov dword [r12 + 0x50], r10d
mov dword [r12 + 8], 0x3f4d
test r15d, r15d
je 0x14000c506
mov eax, dword [r12 + 0x50]
sub r15d, 1
add r14, 1
mov byte [r14 - 1], al
mov dword [r12 + 8], 0x3f48
jmp case.0x14000ac28.16200
sub eax, 0xffffff80
jmp 0x14000b031
mov rdx, qword [r13 + 0x10]
mov r9d, dword [r12 + 0x18]
mov eax, r15d
mov r8d, r15d
mov ecx, dword [r12 + 0x20]
sub rdx, rax
test r9d, r9d
je 0x14000b7e0
call fcn.140009cf0
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
jmp 0x14000aff0
call fcn.1400096f0
jmp 0x14000b7d1
test esi, esi
je 0x14000be80
mov rdx, rdi
xor r8d, r8d
jmp 0x14000b805
cmp r8d, esi
jae 0x14000b83f
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r8d, 1
test rax, rax
je 0x14000b836
mov r10, qword [rax + 0x30]
test r10, r10
je 0x14000b836
mov ecx, dword [r12 + 0x50]
cmp ecx, dword [rax + 0x38]
jae 0x14000b836
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov byte [r10 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x14000b800
test byte [r12 + 0x19], 2
je 0x14000b880
test byte [r12 + 0x10], 4
je 0x14000b880
mov ecx, dword [r12 + 0x20]
mov rdx, rdi
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x48], r8d
call fcn.140009cf0
movzx r9d, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x48]
mov dword [r12 + 0x20], eax
nop word cs:[rax + rax]
sub esi, r8d
add rdi, r8
test r9b, r9b
jne 0x14000be80
mov eax, dword [r12 + 0x18]
jmp 0x14000b565
test esi, esi
je 0x14000be80
mov rdx, rdi
xor r8d, r8d
nop
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r8d, 1
test rax, rax
je 0x14000b8e1
mov r10, qword [rax + 0x20]
test r10, r10
je 0x14000b8e1
mov ecx, dword [r12 + 0x50]
cmp ecx, dword [rax + 0x28]
jae 0x14000b8e1
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov byte [r10 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x14000b8ef
cmp r8d, esi
jb 0x14000b8b0
test byte [r12 + 0x19], 2
je 0x14000b930
test byte [r12 + 0x10], 4
je 0x14000b930
mov ecx, dword [r12 + 0x20]
mov rdx, rdi
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x48], r8d
call fcn.140009cf0
movzx r9d, byte [rsp + 0x50]
mov r8d, dword [rsp + 0x48]
mov dword [r12 + 0x20], eax
nop word cs:[rax + rax]
sub esi, r8d
add rdi, r8
test r9b, r9b
jne 0x14000be80
mov eax, dword [r12 + 0x18]
jmp 0x14000b538
mov ecx, dword [r12 + 0x70]
mov edx, 0xffffffff
mov r8, qword [r12 + 0x60]
mov eax, ebp
mov dword [r12 + 0x1be4], 0
shl edx, cl
not edx
and eax, edx
lea r9, [r8 + rax*4]
movzx eax, byte [r9 + 1]
mov ecx, eax
cmp ebx, eax
jae 0x14000c79c
mov ecx, ebx
jmp 0x14000b9e6
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, edx
lea r9, [r8 + rax*4]
movzx eax, byte [r9 + 1]
cmp ecx, eax
jae 0x14000b748
test esi, esi
jne 0x14000b9c0
jmp 0x14000aea0
mov r13d, ecx
mov ecx, r10d
mov ebx, r13d
movzx r11d, word [r11 + 2]
cmp r11w, 0xf
ja 0x14000bcf0
shr ebp, cl
lea ecx, [r9 + 1]
sub ebx, r10d
mov dword [r12 + 0x84], ecx
mov word [r12 + r9*2 + 0x90], r11w
mov r9d, ecx
cmp r9d, eax
jb 0x14000b329
mov r13d, dword [rsp + 0x48]
cmp dword [r12 + 8], 0x3f51
je case.0x14000ac28.16209
cmp word [r12 + 0x290], 0
jne 0x14000c94d
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_code____missing_end_of_block
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
movzx r8d, byte [r11]
movzx r13d, word [r11 + 2]
mov ebx, ecx
mov r11d, eax
cmp r8b, 0xf
jbe 0x14000bd74
mov edx, dword [r12 + 0x1be4]
mov ecx, eax
sub ebx, eax
add eax, edx
mov dword [r12 + 0x1be4], eax
shr ebp, cl
test r8b, 0x40
je 0x14000c038
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_distance_code
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov ebx, ecx
and edx, 4
je 0x14000bcc2
cmp dword [r12 + 0x24], ebp
je 0x14000bcc2
lea rax, str.incorrect_length_check
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000bb39
movzx edx, bpl
mov dword [rax + 8], edx
mov edx, ebp
shr edx, 8
mov dword [rax + 0xc], edx
mov edx, dword [r12 + 0x18]
mov eax, edx
test dh, 2
je 0x14000bb80
test byte [r12 + 0x10], 4
je 0x14000bb80
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.140009cf0
mov edx, dword [r12 + 0x18]
mov dword [r12 + 0x20], eax
mov eax, edx
nop word cs:[rax + rax]
nop
mov dword [r12 + 8], 0x3f38
test dh, 4
jne 0x14000be1b
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000bba4
mov qword [rdx + 0x10], 0
xor ebx, ebx
xor ebp, ebp
jmp 0x14000b679
mov ebx, ecx
test byte [r12 + 0x10], 4
je 0x14000bd50
movzx edx, word [r12 + 0x20]
cmp edx, ebp
je 0x14000bd50
mov r13, qword [rsp + 0xd0]
lea rax, str.header_crc_mismatch
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [r12 + 0x3c]
mov rcx, qword [r12 + 0x40]
sub r9d, edx
cmp r8d, eax
jb 0x14000bd60
lea edx, [r8 + r9]
add rcx, rdx
mov edx, dword [r12 + 0x50]
cmp edx, eax
cmovbe eax, edx
cmp eax, r15d
cmova eax, r15d
sub edx, eax
sub r15d, eax
lea r8d, [rax - 1]
xor eax, eax
mov dword [r12 + 0x50], edx
nop dword [rax + rax]
movzx edx, byte [rcx + rax]
mov byte [r14 + rax], dl
mov rdx, rax
add rax, 1
cmp r8, rdx
jne 0x14000bc40
mov r10d, dword [r12 + 0x50]
lea r14, [r14 + r8 + 1]
test r10d, r10d
je case.0x14000ac28.16199
mov eax, dword [r12 + 8]
jmp 0x14000ac0c
mov dword [r12 + 8], 0x3f52
nop word [rax + rax]
mov dword [rsp + 0x40], 0xfffffffc
jmp 0x14000b050
cmp ebx, edx
jae 0x14000c125
mov ecx, ebx
jmp 0x14000bcb9
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jae 0x14000c123
test esi, esi
jne 0x14000bca0
jmp 0x14000aea0
xor ebx, ebx
xor ebp, ebp
nop word cs:[rax + rax]
mov r15d, dword [rsp + 0x3c]
mov dword [rsp + 0x40], 1
mov dword [r12 + 8], 0x3f50
sub r15d, r11d
jmp 0x14000af50
cmp r11w, 0x10
je 0x14000c4c8
cmp r11w, 0x11
je 0x14000c342
lea r13d, [r10 + 7]
mov ecx, ebx
cmp ebx, r13d
jb 0x14000bd3d
jmp 0x14000c387
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, r13d
jae 0x14000c385
test esi, esi
jne 0x14000bd20
jmp 0x14000aea0
xor ebx, ebx
xor ebp, ebp
jmp 0x14000b3f0
sub eax, r8d
add r8d, dword [r12 + 0x34]
lea edx, [r8 + r9]
add rcx, rdx
jmp 0x14000bc1a
lea ecx, [r8 + rax]
mov eax, 0xffffffff
movzx r13d, r13w
shl eax, cl
mov ecx, edx
not eax
mov r8d, eax
and eax, ebp
jmp 0x14000bde3
test esi, esi
je 0x14000be80
movzx eax, byte [rdi]
mov ecx, ebx
add rdi, 1
sub esi, 1
add ebx, 8
shl eax, cl
mov ecx, r11d
add ebp, eax
mov eax, ebp
and eax, r8d
shr eax, cl
add eax, r13d
mov eax, eax
lea rdx, [r9 + rax*4]
movzx eax, byte [rdx + 1]
lea ecx, [rax + r11]
cmp ebx, ecx
jb 0x14000bdc0
movzx r8d, byte [rdx]
movzx r13d, word [rdx + 2]
mov ecx, r11d
sub ebx, r10d
mov edx, dword [r12 + 0x1be4]
shr ebp, cl
add edx, r11d
jmp 0x14000baa0
xor ebx, ebx
xor ebp, ebp
mov ecx, ebx
jmp 0x14000be5a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000c0ae
test esi, esi
jne 0x14000be40
jmp 0x14000aea0
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
mov r11d, r15d
jmp 0x14000acc4
mov r11d, r15d
mov r15d, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
sub r15d, r11d
jmp 0x14000af50
mov rcx, r14
sub rcx, rax
mov eax, dword [r12 + 0x50]
mov edx, eax
jmp 0x14000bc24
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000bec5
mov dword [rax + 4], ebp
test byte [r12 + 0x19], 2
je 0x14000bed9
test byte [r12 + 0x10], 4
jne 0x14000c460
mov dword [r12 + 8], 0x3f37
xor ebp, ebp
xor ecx, ecx
jmp 0x14000b4da
mov ebx, 0x20
mov edx, ebp
movzx eax, bp
shr edx, 0x10
xor edx, 0xffff
cmp eax, edx
je 0x14000c21a
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_stored_block_lengths
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov ebx, ecx
mov dword [r12 + 0x18], ebp
cmp bpl, 8
je 0x14000c23f
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
mov r11d, r15d
lea rax, str.unknown_compression_method
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov ebx, ecx
mov eax, ebp
mov r9d, ebp
mov edx, ebp
sub ebx, 0xe
shr eax, 5
shr r9d, 0xa
and edx, 0x1f
and eax, 0x1f
and r9d, 0xf
add edx, 0x101
shr ebp, 0xe
add eax, 1
add r9d, 4
mov dword [r12 + 0x7c], edx
mov dword [r12 + 0x80], eax
mov dword [r12 + 0x78], r9d
cmp edx, 0x11e
ja 0x14000bfc8
cmp eax, 0x1e
jbe 0x14000c4ac
mov r13, qword [rsp + 0xd0]
lea rax, str.too_many_length_or_distance_symbols
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x14000ac28.16199
nop dword [rax + rax]
mov r11d, r15d
mov r15d, dword [rsp + 0x3c]
mov dword [rsp + 0x40], 0
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
sub r15d, r11d
jmp 0x14000af50
movzx eax, r13w
and r8d, 0xf
mov dword [r12 + 8], 0x3f4b
mov dword [r12 + 0x54], eax
mov dword [r12 + 0x58], r8d
jmp 0x14000aec5
cmp ebx, r8d
jae 0x14000c1f5
mov ecx, ebx
jmp 0x14000c09a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, r8d
jae 0x14000c1f3
test esi, esi
jne 0x14000c080
jmp 0x14000aea0
mov ecx, ebx
cmp ebx, 0xf
jbe 0x14000be5a
mov rax, qword [r12 + 0x28]
mov dword [r12 + 0x50], ebp
test rax, rax
je 0x14000c0c0
mov dword [rax + 0x18], ebp
test dh, 2
je 0x14000c0d1
test byte [r12 + 0x10], 4
jne 0x14000c7aa
mov eax, edx
and edx, 0x400
mov dword [r12 + 8], 0x3f39
xor ebx, ebx
xor ebp, ebp
jmp 0x14000b5d5
mov ecx, ebx
cmp ebx, 0xf
jbe 0x14000c11a
jmp 0x14000c276
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000c274
test esi, esi
jne 0x14000c100
jmp 0x14000aea0
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
add dword [r12 + 0x1be4], edx
sub ebx, edx
shl eax, cl
not eax
and eax, ebp
add eax, dword [r12 + 0x50]
shr ebp, cl
mov dword [r12 + 0x50], eax
jmp 0x14000b082
mov ebx, ecx
mov r8d, dword [rsp + 0x3c]
mov eax, edx
sub r8d, r11d
add dword [r13 + 0x1c], r8d
add dword [r12 + 0x24], r8d
and eax, 4
je 0x14000c754
test r8d, r8d
jne 0x14000c520
test eax, eax
je 0x14000c754
mov eax, dword [r12 + 0x20]
mov ecx, dword [r12 + 0x18]
test ecx, ecx
je 0x14000c445
cmp ebp, eax
je 0x14000c8e2
lea rax, str.incorrect_data_check
mov dword [rsp + 0x3c], r11d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
cmp dl, 0xf
jbe 0x14000c59a
mov dword [r12 + 0x1be4], eax
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r10d
shr ebp, cl
test dl, 0x20
je 0x14000c405
mov dword [r12 + 0x1be4], 0xffffffff
mov dword [r12 + 8], 0x3f3f
jmp case.0x14000ac28.16191
mov ebx, ecx
mov ecx, r8d
mov eax, 0xffffffff
add dword [r12 + 0x1be4], r8d
sub ebx, r8d
shl eax, cl
not eax
and eax, ebp
shr ebp, cl
add dword [r12 + 0x54], eax
jmp 0x14000aece
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 0x50], eax
mov dword [r12 + 8], 0x3f42
je 0x14000ca9f
xor ebx, ebx
xor ebp, ebp
jmp 0x14000b1ed
test ebp, 0xe000
je 0x14000c762
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
mov r11d, r15d
lea rax, str.unknown_header_flags_set
jmp 0x14000bf60
mov dword [rsp + 0x40], 0xfffffffb
jmp 0x14000b050
mov ebx, ecx
test dl, 2
je 0x14000c287
cmp ebp, 0x8b1f
je 0x14000c88a
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000c298
mov dword [rax + 0x40], 0xffffffff
and edx, 1
je 0x14000c483
mov edx, ebp
mov eax, ebp
shl edx, 8
shr eax, 8
movzx edx, dx
lea ecx, [rdx + rax]
mov rdx, rcx
imul rcx, rcx, 0x8421085
mov eax, edx
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 4
mov ecx, eax
shl ecx, 5
sub ecx, eax
cmp edx, ecx
jne 0x14000c483
mov eax, ebp
and eax, 0xf
cmp eax, 8
je 0x14000c8fb
mov r13, qword [rsp + 0xd0]
lea rax, str.unknown_compression_method
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
lea rax, str.invalid_block_type
mov r11d, r15d
shr ebp, 3
sub ebx, 3
mov r13, qword [rsp + 0xd0]
mov r10d, dword [rsp + 0x44]
mov rdi, rdx
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
lea ecx, [r10 + 3]
cmp ebx, ecx
jae 0x14000c631
mov r11d, ebx
mov ebx, ecx
mov ecx, r11d
jmp 0x14000c37c
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, ebx
jae 0x14000c62f
test esi, esi
jne 0x14000c360
jmp 0x14000aea0
mov ebx, ecx
mov ecx, r10d
sub ebx, r10d
xor r10d, r10d
shr ebp, cl
sub ebx, 7
mov r11d, ebp
shr ebp, 7
and r11d, 0x7f
add r11d, 0xb
add r9d, r11d
cmp eax, r9d
jb 0x14000ca12
mov ecx, dword [r12 + 0x84]
lea r9d, [r11 + rcx]
nop dword [rax + rax]
mov r11d, ecx
add ecx, 1
mov word [r12 + r11*2 + 0x90], r10w
cmp r9d, ecx
jne 0x14000c3c0
mov dword [r12 + 0x84], r9d
jmp 0x14000ba26
mov ecx, dword [r12 + 0x20]
mov r8d, r9d
mov rdx, rdi
mov dword [rsp + 0x48], r9d
call fcn.140009cf0
mov r9d, dword [rsp + 0x48]
mov dword [r12 + 0x20], eax
jmp 0x14000b656
test dl, 0x40
je 0x14000c73e
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_literal_length_code
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
movzx r8d, byte [rcx]
movzx r13d, word [rcx + 2]
jmp 0x14000ba8b
mov edx, ebp
bswap edx
cmp edx, eax
jne 0x14000c196
mov dword [rsp + 0x3c], r11d
xor ebx, ebx
xor ebp, ebp
jmp 0x14000bcd0
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], ebp
call fcn.140009cf0
mov dword [r12 + 0x20], eax
jmp 0x14000bed9
mov r13, qword [rsp + 0xd0]
lea rax, str.incorrect_header_check
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov dword [r12 + 0x84], 0
xor eax, eax
mov dword [r12 + 8], 0x3f45
jmp 0x14000b276
lea r13d, [r10 + 2]
cmp ebx, r13d
jae 0x14000c7dd
mov ecx, ebx
jmp 0x14000c4fd
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, r13d
jae 0x14000c7db
test esi, esi
jne 0x14000c4e0
jmp 0x14000aea0
mov r11d, r15d
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
mov r15d, dword [rsp + 0x3c]
jmp 0x14000af50
mov r9d, dword [r12 + 0x18]
mov eax, r8d
mov rdx, r14
mov dword [rsp + 0x44], r10d
sub rdx, rax
mov dword [rsp + 0x3c], r11d
mov ecx, dword [r12 + 0x20]
test r9d, r9d
je 0x14000c847
call fcn.140009cf0
mov r11d, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x44]
mov edx, dword [r12 + 0x10]
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
test dl, 4
jne 0x14000c181
mov dword [r12 + 8], 0x3f4f
test edx, edx
je 0x14000c451
mov eax, dword [r12 + 0x18]
test eax, eax
je 0x14000c451
xor ebx, ebx
mov dword [rsp + 0x3c], r11d
xor ebp, ebp
mov ecx, ebx
jmp 0x14000b19a
add edx, eax
mov r9d, 0xffffffff
mov ecx, edx
shl r9d, cl
mov edx, r9d
not edx
mov r9d, edx
and r9d, ebp
jmp 0x14000c5e4
test esi, esi
je 0x14000be80
movzx r9d, byte [rdi]
mov ecx, ebx
add rdi, 1
sub esi, 1
add ebx, 8
shl r9d, cl
add ebp, r9d
mov r9d, ebp
and r9d, edx
mov ecx, eax
shr r9d, cl
lea ecx, [r9 + r10]
lea rcx, [r8 + rcx*4]
movzx r9d, byte [rcx + 1]
lea r11d, [r9 + rax]
cmp ebx, r11d
jb 0x14000c5c0
movzx edx, byte [rcx]
movzx r8d, word [rcx + 2]
mov ecx, eax
sub ebx, eax
shr ebp, cl
mov ecx, r9d
mov dword [r12 + 0x1be4], r11d
sub ebx, r9d
mov dword [r12 + 0x50], r8d
shr ebp, cl
test dl, dl
je 0x14000b772
jmp 0x14000c1d0
mov ebx, ecx
mov ecx, r10d
sub ebx, r10d
xor r10d, r10d
shr ebp, cl
sub ebx, 3
mov r11d, ebp
shr ebp, 3
and r11d, 7
add r11d, 3
jmp 0x14000c3a3
mov ebx, ecx
mov eax, edx
cmp eax, 0x12
ja 0x14000c6a3
mov ecx, 0x12
mov r8d, eax
lea rdx, [0x140017480]
sub ecx, eax
lea rdx, [rdx + r8*2]
lea rax, [rcx + r8]
lea rcx, [0x140017482]
lea rcx, [rcx + rax*2]
nop
movzx eax, word [rdx]
xor edi, edi
add rdx, 2
mov word [r12 + rax*2 + 0x90], di
cmp rcx, rdx
jne 0x14000c680
mov dword [r12 + 0x84], 0x13
lea rax, [r12 + 0x550]
xor ecx, ecx
mov dword [r12 + 0x70], 7
lea rdx, [r12 + 0x90]
mov qword [r12 + 0x88], rax
lea r9, [r12 + 0x88]
mov r8d, 0x13
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x310]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x48], r10
call fcn.14000d580
mov r10, qword [rsp + 0x48]
test eax, eax
je 0x14000c811
mov r13, qword [rsp + 0xd0]
mov r11d, r15d
lea rax, str.invalid_code_lengths_set
mov r15, r10
mov rdi, r15
mov r10d, dword [rsp + 0x44]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov r10, rdi
jmp 0x14000c656
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0x58], edx
jmp 0x14000b075
mov dword [r12 + 8], 0x3f4f
jmp 0x14000c57d
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000c776
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rdx], eax
test ebp, 0x200
je 0x14000c78a
test byte [r12 + 0x10], 4
jne 0x14000c9ee
mov dword [r12 + 8], 0x3f36
xor ebp, ebp
xor ecx, ecx
jmp 0x14000b49a
movzx edx, byte [r9]
movzx r9d, word [r9 + 2]
jmp 0x14000b755
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.140009cf0
mov dword [r12 + 0x20], eax
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000c0d9
mov ebx, ecx
mov ecx, r10d
sub ebx, r10d
shr ebp, cl
test r9d, r9d
je 0x14000ca12
mov r11d, ebp
lea ecx, [r9 - 1]
shr ebp, 2
sub ebx, 2
movzx r10d, word [r12 + rcx*2 + 0x90]
and r11d, 3
add r11d, 3
jmp 0x14000c3a3
mov r13d, dword [r12 + 0x7c]
mov rdi, r10
mov dword [r12 + 0x84], 0
mov dword [r12 + 8], 0x3f46
mov eax, r13d
add eax, dword [r12 + 0x80]
je 0x14000ba43
xor r9d, r9d
jmp 0x14000b311
call fcn.1400096f0
mov r10d, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x3c]
jmp 0x14000c555
mov r13, qword [rsp + 0xd0]
mov dword [rsp + 0x40], 2
mov qword [r13 + 0x10], r14
mov dword [r13 + 0x18], r15d
mov qword [r13], rdi
mov dword [r13 + 8], esi
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
jmp 0x14000b050
mov edx, dword [r12 + 0x30]
test edx, edx
jne 0x14000c89c
mov dword [r12 + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
xor ebx, ebx
call fcn.140009cf0
lea rdx, [rsp + 0x6c]
mov r8d, 2
xor ebp, ebp
mov dword [r12 + 0x20], eax
mov ecx, eax
mov eax, 0xffff8b1f
mov word [rsp + 0x6c], ax
call fcn.140009cf0
mov ecx, ebx
mov dword [r12 + 8], 0x3f35
mov dword [r12 + 0x20], eax
jmp 0x14000b6da
xor ebx, ebx
mov dword [rsp + 0x3c], r11d
xor ebp, ebp
mov dword [r12 + 8], 0x3f4f
mov ecx, ebx
jmp 0x14000b19a
shr ebp, 4
mov eax, dword [r12 + 0x30]
mov ecx, ebp
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x14000ca43
mov dword [r12 + 0x30], ecx
cmp ecx, 0xf
jbe 0x14000ca54
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_window_size
mov r11d, r15d
sub ebx, 4
mov r10d, dword [rsp + 0x44]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
lea rax, [r12 + 0x550]
mov r8d, r13d
mov ecx, 1
mov dword [r12 + 0x70], 9
mov qword [r12 + 0x88], rax
lea r10, [r12 + 0x310]
lea r9, [r12 + 0x88]
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x70]
lea rdx, [r12 + 0x90]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], rdx
call fcn.14000d580
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
test eax, eax
mov r10, qword [rsp + 0x58]
je 0x14000caec
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_literal_lengths_set
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.140009cf0
mov dword [r12 + 0x20], eax
jmp 0x14000c78a
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
mov r11d, r15d
lea rax, str.invalid_bit_length_repeat
jmp 0x14000bf60
mov r10d, dword [rsp + 0x44]
mov r13, qword [rsp + 0xd0]
mov r11d, r15d
jmp 0x14000af3e
cmp ecx, 0xf
ja 0x14000c921
cmp eax, ecx
jb 0x14000c921
mov eax, 1
xor r8d, r8d
xor edx, edx
shl eax, cl
xor ecx, ecx
mov dword [r12 + 0x1c], eax
xor eax, eax
mov dword [r12 + 0x18], eax
call fcn.1400096f0
mov rbx, qword [rsp + 0xd0]
mov dword [r12 + 0x20], eax
mov dword [rbx + 0x4c], eax
and ebp, 0x200
jne 0x14000cb5f
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
jmp case.0x14000ac28.16191
mov r11d, r15d
mov r15d, dword [rsp + 0x3c]
mov r10d, dword [rsp + 0x44]
xor ebx, ebx
mov r13, qword [rsp + 0xd0]
xor ebp, ebp
sub r15d, r11d
jmp 0x14000af50
mov r11d, r15d
mov r15d, dword [rsp + 0x3c]
xor eax, eax
mov r10d, dword [rsp + 0x44]
mov dword [rsp + 0x40], eax
shr ebp, 3
sub ebx, 3
mov rdi, rdx
mov r13, qword [rsp + 0xd0]
sub r15d, r11d
jmp 0x14000af50
mov rax, qword [r12 + 0x88]
mov r8d, dword [r12 + 0x80]
mov ecx, 2
mov dword [r12 + 0x74], 6
mov qword [r12 + 0x68], rax
mov eax, dword [r12 + 0x7c]
mov qword [rsp + 0x28], r10
add rax, rax
add rdx, rax
lea rax, [r12 + 0x74]
mov qword [rsp + 0x20], rax
call fcn.14000d580
test eax, eax
je 0x14000bff1
mov r13, qword [rsp + 0xd0]
lea rax, str.invalid_distances_set
mov r10d, dword [rsp + 0x44]
mov r11d, r15d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000af3e
mov dword [r12 + 8], 0x3f3d
xor ebp, ebp
xor ecx, ecx
jmp 0x14000b1da