Function at 0x140008be0
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, [0x14001cbe0]
movq xmm6, rax
mov dword [rsp + 0xd8], edx
lea rdx, [0x14001cb60]
mov r15, rcx
movq xmm0, rdx
call fcn.140008830
punpcklqdq xmm6, xmm0
mov r10d, eax
test eax, eax
jne case.default.0x140008ca6
mov r11, qword [rcx + 0x10]
test r11, r11
je case.default.0x140008ca6
mov rdi, qword [rcx]
mov r14d, dword [rcx + 8]
test rdi, rdi
je 0x140008e18
mov r12, qword [r15 + 0x28]
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x140008c69
mov dword [r12 + 8], 0x3f40
mov eax, 0x3f40
mov esi, dword [r15 + 0x18]
mov dword [rsp + 0x3c], r10d
mov r13, r11
mov ebp, dword [r12 + 0x48]
mov ebx, dword [r12 + 0x4c]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x38], esi
mov esi, r14d
sub eax, 0x3f34
cmp eax, 0x1e
ja case.default.0x140008ca6
lea rdx, [0x14001cad8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp ebx, 0x1f
ja 0x140008ce6
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140008cd0
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140008cc8
bswap ebp
mov dword [r12 + 0x20], ebp
xor ebx, ebx
mov dword [r15 + 0x4c], ebp
xor ebp, ebp
mov dword [r12 + 8], 0x3f3e
mov r10d, dword [r12 + 0x14]
test r10d, r10d
je 0x14000a6f6
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000bce0
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
mov eax, dword [rsp + 0xd8]
sub eax, 5
cmp eax, 1
jbe 0x140009ae0
mov r9d, dword [r12 + 0xc]
test r9d, r9d
je 0x140008ee8
mov ecx, ebx
mov r10d, dword [rsp + 0x3c]
mov r11, r13
and ebx, 0xfffffff8
mov dword [r12 + 8], 0x3f4e
and ecx, 7
shr ebp, cl
mov edx, dword [r12 + 0x10]
test edx, edx
je 0x140009ee0
cmp ebx, 0x1f
ja 0x140008da8
mov ecx, ebx
test esi, esi
jne 0x140008d90
jmp 0x140009c32
test esi, esi
je 0x140009c30
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140008d88
mov ebx, ecx
mov eax, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
sub r8d, eax
mov eax, edx
add dword [r15 + 0x1c], r8d
add dword [r12 + 0x24], r8d
and eax, 4
je 0x14000a3ce
test r8d, r8d
jne 0x14000a4c4
test eax, eax
je 0x14000a3ce
mov ecx, dword [r12 + 0x18]
mov eax, ebp
test ecx, ecx
jne 0x140008de6
bswap eax
cmp dword [r12 + 0x20], eax
je 0x14000a3ce
lea rax, str.incorrect_data_check
mov qword [r15 + 0x20], rax
mov eax, dword [rsp + 0x38]
mov dword [r12 + 8], 0x3f51
mov dword [rsp + 0x30], eax
jmp 0x14000903d
test r14d, r14d
je 0x140008c4b
mov r10d, 0xfffffffe
jmp 0x14000914d
mov rax, qword [0x14001d418]
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
movups xmmword [r12 + 0x60], xmm6
mov qword [r12 + 0x70], rax
je 0x14000a971
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop
mov dword [r12 + 8], 0x3f48
cmp esi, 5
jbe 0x140009d00
mov eax, dword [rsp + 0x38]
cmp eax, 0x101
jbe 0x140009d00
mov qword [r15 + 0x10], r13
mov edx, dword [rsp + 0x30]
mov rcx, r15
mov dword [r15 + 0x18], eax
mov qword [r15], rdi
mov dword [r15 + 8], esi
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
call fcn.14000c3e0
mov eax, dword [r15 + 0x18]
mov r13, qword [r15 + 0x10]
mov rdi, qword [r15]
mov esi, dword [r15 + 8]
mov ebp, dword [r12 + 0x48]
mov ebx, dword [r12 + 0x4c]
mov dword [rsp + 0x38], eax
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x140008c8a
mov dword [r12 + 0x1be4], 0xffffffff
jmp case.0x140008ca6.16191
cmp ebx, 2
ja 0x14000a606
test esi, esi
je 0x14000a625
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 0x1400099db
cmp eax, 3
je 0x14000a219
cmp eax, 1
je 0x140008e2c
mov dword [r12 + 8], 0x3f41
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
cmp ebx, 0x1f
ja 0x140008f93
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140008f78
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140008f70
mov ebx, 0x20
mov edx, ebp
movzx eax, bp
shr edx, 0x10
xor edx, 0xffff
cmp eax, edx
je 0x14000a1e9
lea rax, str.invalid_stored_block_lengths
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov r8d, dword [r12 + 0x58]
test r8d, r8d
jne 0x14000a098
mov dword [r12 + 8], 0x3f4c
mov ecx, dword [rsp + 0x38]
test ecx, ecx
je 0x14000a4b2
mov r9d, dword [rsp + 0x30]
mov eax, dword [r12 + 0x54]
mov edx, r9d
sub edx, ecx
cmp edx, eax
jae 0x14000a060
lea edx, [rax + rcx]
mov eax, edx
sub eax, r9d
cmp dword [r12 + 0x38], eax
jae 0x140009dd8
mov r11d, dword [r12 + 0x1be0]
test r11d, r11d
je 0x140009dd8
lea rax, str.invalid_distance_too_far_back
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov r10d, 0xfffffffd
sub r13d, eax
nop
mov eax, dword [rsp + 0x38]
mov r9d, dword [r12 + 0x34]
mov qword [r15 + 0x10], r11
mov qword [r15], rdi
mov dword [r15 + 0x18], eax
mov dword [r15 + 8], esi
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
test r9d, r9d
jne 0x1400090a0
cmp dword [rsp + 0x30], eax
je 0x1400090cd
mov eax, dword [r12 + 8]
cmp eax, 0x3f50
ja 0x1400090cd
cmp eax, 0x3f4d
jbe 0x1400090a0
cmp dword [rsp + 0xd8], 4
je 0x1400090cd
nop word [rax + rax]
mov r8d, r13d
mov rdx, r11
mov rcx, r15
mov dword [rsp + 0x38], r10d
call fcn.140008700
test eax, eax
jne 0x140009e60
mov esi, dword [r15 + 8]
mov r10d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x30]
sub r13d, dword [r15 + 0x18]
mov ebx, r14d
add dword [r15 + 0x1c], r13d
sub ebx, esi
add dword [r15 + 0xc], ebx
add dword [r12 + 0x24], r13d
test byte [r12 + 0x10], 4
je 0x1400090f0
test r13d, r13d
jne 0x140009b30
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 0x140009b20
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or ebx, r13d
mov dword [r15 + 0x48], eax
je 0x140009144
cmp dword [rsp + 0xd8], 4
jne 0x14000914d
test r10d, r10d
je 0x14000a20e
movaps xmm6, xmmword [rsp + 0x70]
mov eax, r10d
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 0x140009e80
mov eax, dword [r12 + 0x50]
mov dword [r12 + 0x1be8], eax
mov dword [r12 + 8], 0x3f4a
mov ecx, dword [r12 + 0x74]
mov eax, 0xffffffff
mov r9, qword [r12 + 0x68]
shl eax, cl
mov ecx, eax
not ecx
mov eax, ecx
mov r11d, ecx
and eax, ebp
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
mov dword [rsp + 0x40], eax
cmp ebx, eax
jae 0x14000921c
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x1400091e8
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, r11d
and eax, ebp
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
cmp ecx, eax
jb 0x1400091e0
mov dword [rsp + 0x40], eax
mov ebx, ecx
mov dword [rsp + 0x48], eax
cmp r8b, 0xf
jbe 0x140009f94
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 0x14000a078
lea rax, [0x14001ca5b]
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov r8d, dword [r12 + 0x18]
test r8d, 0x200
jne 0x1400098e3
nop word [rax + rax]
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400092a5
sar r8d, 9
mov dword [rax + 0x40], 1
and r8d, 1
mov dword [rax + 0x3c], r8d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.14000c2d0
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
jmp case.0x140008ca6.16191
mov eax, dword [r12 + 0x50]
mov dword [r12 + 8], 0x3f43
test eax, eax
je 0x140008d21
cmp esi, eax
mov edx, dword [rsp + 0x38]
cmovbe eax, esi
cmp eax, edx
cmova eax, edx
test eax, eax
je 0x14000a78f
mov r8d, eax
mov rdx, rdi
mov rcx, r13
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x40], r8
call sub.msvcrt.dll_memcpy
mov r9d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
sub dword [rsp + 0x38], r9d
mov eax, dword [r12 + 8]
sub dword [r12 + 0x50], r9d
sub esi, r9d
add rdi, r8
add r13, r8
jmp 0x140008c8a
mov eax, dword [r12 + 0x50]
jmp 0x1400092de
mov r10d, dword [rsp + 0x3c]
mov edx, dword [r12 + 0x10]
mov r11, r13
test edx, edx
je 0x140009ee0
mov r13d, dword [r12 + 0x18]
test r13d, r13d
je 0x140009ee0
cmp ebx, 0x1f
ja 0x1400093a8
mov ecx, ebx
test esi, esi
jne 0x140009390
jmp 0x140009c32
test esi, esi
je 0x140009c30
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140009388
mov ebx, ecx
and edx, 4
je 0x140009ed7
cmp ebp, dword [r12 + 0x24]
je 0x140009ed7
lea rax, str.incorrect_length_check
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov eax, dword [rsp + 0x38]
mov r11, r13
mov r13d, dword [rsp + 0x30]
mov r10d, 1
sub r13d, eax
jmp 0x140009050
mov r10d, dword [r12 + 0x78]
mov r8d, dword [r12 + 0x84]
cmp r8d, r10d
jae 0x14000a29c
mov eax, r8d
lea rdx, [0x14001d3e0]
mov ecx, ebx
lea r9, [rdx + rax*2]
cmp ecx, 2
ja 0x140009477
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
sub esi, 1
lea rdx, [rdi + 1]
shl eax, cl
add ecx, 8
add ebp, eax
movzx eax, word [r9]
mov r11d, ebp
add r8d, 1
shr ebp, 3
and r11d, 7
mov dword [r12 + 0x84], r8d
sub ecx, 3
add r9, 2
mov word [r12 + rax*2 + 0x90], r11w
cmp r8d, r10d
je 0x14000a297
mov rdi, rdx
cmp ecx, 2
jbe 0x140009423
mov rdx, rdi
jmp 0x14000943c
mov r8d, dword [r12 + 0x7c]
mov eax, dword [r12 + 0x80]
mov r10d, dword [r12 + 0x84]
add eax, r8d
mov dword [rsp + 0x40], eax
cmp r10d, eax
jae 0x140009f2e
mov ecx, dword [r12 + 0x70]
mov edx, 0xffffffff
mov dword [rsp + 0x48], r8d
mov r9, qword [r12 + 0x60]
shl edx, cl
not edx
mov eax, edx
and eax, ebp
lea rax, [r9 + rax*4]
movzx ecx, byte [rax + 1]
movzx r11d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x140009520
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x1400094f0
test esi, esi
je 0x140009b00
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 rax, [r9 + rax*4]
movzx r8d, byte [rax + 1]
movzx r11d, word [rax + 2]
movzx eax, r8b
cmp ecx, eax
jb 0x1400094e8
mov ebx, ecx
mov ecx, r8d
cmp r11w, 0xf
jbe 0x140009f00
cmp r11w, 0x10
je 0x14000a444
cmp r11w, 0x11
je 0x14000a23e
lea r8d, [rax + 7]
cmp ebx, r8d
jae 0x140009583
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009568
test esi, esi
je 0x140009b00
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, r8d
jb 0x140009560
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r11d, r11d
shr ebp, cl
sub ebx, 7
mov ecx, ebp
shr ebp, 7
and ecx, 0x7f
add ecx, 0xb
add r10d, ecx
cmp dword [rsp + 0x40], r10d
jb 0x14000a882
mov eax, dword [r12 + 0x84]
lea r10d, [rax + rcx]
nop dword [rax]
mov ecx, eax
add eax, 1
mov word [r12 + rcx*2 + 0x90], r11w
cmp eax, r10d
jne 0x1400095b8
mov dword [r12 + 0x84], r10d
jmp 0x140009f1c
mov edx, dword [r12 + 0x10]
test edx, edx
jne 0x14000a0f5
mov dword [r12 + 8], 0x3f40
jmp case.0x140008ca6.16192
cmp ebx, 0x1f
ja 0x140009636
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009620
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140009618
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x140009643
mov dword [rax + 4], ebp
test byte [r12 + 0x19], 2
je 0x140009657
test byte [r12 + 0x10], 4
jne 0x14000a3e8
mov dword [r12 + 8], 0x3f37
xor ebx, ebx
xor ebp, ebp
jmp 0x140009675
cmp ebx, 0xf
ja 0x1400096a6
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009690
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140009688
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400096bf
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 r8d, edx
test dh, 2
je 0x140009700
test byte [r12 + 0x10], 4
je 0x140009700
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.14000c2d0
mov edx, dword [r12 + 0x18]
mov dword [r12 + 0x20], eax
mov r8d, edx
nop dword [rax + rax]
mov dword [r12 + 8], 0x3f38
xor ebx, ebx
xor ebp, ebp
test dh, 4
je 0x140009789
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009728
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140009720
mov rax, qword [r12 + 0x28]
mov dword [r12 + 0x50], ebp
test rax, rax
je 0x140009750
mov dword [rax + 0x18], ebp
test dh, 2
je 0x140009761
test byte [r12 + 0x10], 4
jne 0x14000a676
mov eax, edx
mov r8d, edx
xor ebx, ebx
xor ebp, ebp
and eax, 0x400
jmp 0x14000979d
mov edx, dword [r12 + 0x18]
mov r8d, edx
test dh, 4
jne 0x14000a1c0
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000979b
mov qword [rax + 0x10], 0
xor eax, eax
mov dword [r12 + 8], 0x3f39
test eax, eax
je 0x140009861
mov eax, dword [r12 + 0x50]
cmp esi, eax
mov r9d, eax
cmovbe r9d, esi
test r9d, r9d
je 0x140009854
mov rcx, qword [r12 + 0x28]
mov edx, r9d
mov qword [rsp + 0x40], rdx
test rcx, rcx
je 0x140009827
mov r11, qword [rcx + 0x10]
mov qword [rsp + 0x48], r11
test r11, r11
je 0x140009827
mov r11d, dword [rcx + 0x18]
mov ecx, dword [rcx + 0x1c]
mov r8, rdx
mov r10d, r11d
sub r10d, eax
lea edx, [r9 + r10]
cmp ecx, edx
jae 0x140009805
add ecx, eax
mov r8d, ecx
sub r8d, r11d
mov rcx, qword [rsp + 0x48]
mov eax, r10d
mov rdx, rdi
mov dword [rsp + 0x50], r9d
add rcx, rax
call sub.msvcrt.dll_memcpy
mov r8d, dword [r12 + 0x18]
mov r9d, dword [rsp + 0x50]
and r8d, 0x200
je 0x14000983c
test byte [r12 + 0x10], 4
jne 0x14000a385
mov rax, qword [rsp + 0x40]
sub esi, r9d
add rdi, rax
mov eax, dword [r12 + 0x50]
sub eax, r9d
mov dword [r12 + 0x50], eax
test eax, eax
jne 0x140009ae0
mov r8d, dword [r12 + 0x18]
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x14000987d
mov r8d, dword [r12 + 0x18]
test r8d, 0x800
jne 0x140009c48
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000989c
mov qword [rax + 0x20], 0
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3b
test r8d, 0x1000
jne 0x140009b80
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400098cd
mov qword [rax + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test r8d, 0x200
je 0x140009288
cmp ebx, 0xf
ja 0x140009918
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009900
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x1400098f8
mov ebx, ecx
test byte [r12 + 0x10], 4
je 0x140009f70
movzx eax, word [r12 + 0x20]
cmp eax, ebp
je 0x140009f70
lea rax, str.header_crc_mismatch
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov r8d, dword [r12 + 0x18]
jmp 0x1400098ae
mov r8d, dword [r12 + 0x18]
mov eax, r8d
and eax, 0x400
jmp 0x1400097a6
cmp ebx, 0xf
ja 0x1400099b0
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009998
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140009990
mov ebx, ecx
mov dword [r12 + 0x18], ebp
cmp bpl, 8
je 0x14000a1ce
mov r11, r13
lea rax, str.unknown_compression_method
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov dword [r12 + 8], 0x3f44
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax]
cmp ebx, 0xd
ja 0x140009a28
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009a10
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xd
jbe 0x140009a08
mov ebx, ecx
mov eax, ebp
mov r10d, ebp
mov edx, ebp
sub ebx, 0xe
shr eax, 5
shr r10d, 0xa
and edx, 0x1f
and eax, 0x1f
and r10d, 0xf
add edx, 0x101
shr ebp, 0xe
add eax, 1
add r10d, 4
mov dword [r12 + 0x7c], edx
mov dword [r12 + 0x80], eax
mov dword [r12 + 0x78], r10d
cmp edx, 0x11e
ja 0x140009a76
cmp eax, 0x1e
jbe 0x14000a427
lea rax, str.too_many_length_or_distance_symbols
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov dword [r12 + 0x1be4], eax
shr ebp, cl
sub ebx, eax
mov dword [r12 + 0x50], r9d
mov dword [r12 + 8], 0x3f4d
mov edx, dword [rsp + 0x38]
test edx, edx
je 0x14000a4b2
mov eax, dword [r12 + 0x50]
sub edx, 1
add r13, 1
mov dword [rsp + 0x38], edx
mov byte [r13 - 1], al
mov dword [r12 + 8], 0x3f48
jmp case.0x140008ca6.16200
mov eax, dword [rsp + 0x38]
mov r11, r13
mov r13d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
sub r13d, eax
jmp 0x140009050
mov eax, dword [rsp + 0x38]
mov r11, r13
mov r13d, dword [rsp + 0x30]
mov ebx, ecx
mov r10d, dword [rsp + 0x3c]
sub r13d, eax
jmp 0x140009050
sub eax, 0xffffff80
jmp 0x140009131
mov r8d, dword [r12 + 0x18]
mov rdx, qword [r15 + 0x10]
mov eax, r13d
mov dword [rsp + 0x38], r10d
mov ecx, dword [r12 + 0x20]
sub rdx, rax
test r8d, r8d
mov r8d, r13d
je 0x140009b70
call fcn.14000c2d0
mov r10d, dword [rsp + 0x38]
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
jmp 0x1400090f0
call fcn.14000bce0
mov r10d, dword [rsp + 0x38]
jmp 0x140009b5b
test esi, esi
je 0x140009ae0
mov rdx, rdi
xor r8d, r8d
jmp 0x140009b95
cmp r8d, esi
jae 0x140009bcf
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r8d, 1
test rax, rax
je 0x140009bc6
mov r10, qword [rax + 0x30]
test r10, r10
je 0x140009bc6
mov ecx, dword [r12 + 0x50]
cmp ecx, dword [rax + 0x38]
jae 0x140009bc6
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov byte [r10 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x140009b90
test byte [r12 + 0x19], 2
je 0x140009c10
test byte [r12 + 0x10], 4
je 0x140009c10
mov ecx, dword [r12 + 0x20]
mov rdx, rdi
mov byte [rsp + 0x48], r9b
mov dword [rsp + 0x40], r8d
call fcn.14000c2d0
movzx r9d, byte [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov dword [r12 + 0x20], eax
nop word cs:[rax + rax]
sub esi, r8d
add rdi, r8
test r9b, r9b
jne 0x140009ae0
mov r8d, dword [r12 + 0x18]
jmp 0x1400098cd
mov ebx, ecx
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
sub r13d, eax
jmp 0x140009050
test esi, esi
je 0x140009ae0
mov rdx, rdi
xor r8d, r8d
nop word cs:[rax + rax]
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r8d, 1
test rax, rax
je 0x140009c91
mov r10, qword [rax + 0x20]
test r10, r10
je 0x140009c91
mov ecx, dword [r12 + 0x50]
cmp ecx, dword [rax + 0x28]
jae 0x140009c91
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov byte [r10 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x140009c9f
cmp r8d, esi
jb 0x140009c60
test byte [r12 + 0x19], 2
je 0x140009ce0
test byte [r12 + 0x10], 4
je 0x140009ce0
mov ecx, dword [r12 + 0x20]
mov rdx, rdi
mov byte [rsp + 0x48], r9b
mov dword [rsp + 0x40], r8d
call fcn.14000c2d0
movzx r9d, byte [rsp + 0x48]
mov r8d, dword [rsp + 0x40]
mov dword [r12 + 0x20], eax
nop word cs:[rax + rax]
sub esi, r8d
add rdi, r8
test r9b, r9b
jne 0x140009ae0
mov r8d, dword [r12 + 0x18]
jmp 0x14000989c
mov ecx, dword [r12 + 0x70]
mov r10d, 0xffffffff
mov r8, qword [r12 + 0x60]
mov eax, ebp
mov dword [r12 + 0x1be4], 0
shl r10d, cl
not r10d
and eax, r10d
lea rax, [r8 + rax*4]
movzx ecx, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x140009d8c
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009d58
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, r10d
lea rax, [r8 + rax*4]
movzx r11d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r11b
cmp ecx, eax
jb 0x140009d50
mov ebx, ecx
mov ecx, r11d
test dl, dl
je 0x140009a92
cmp dl, 0xf
jbe 0x14000a511
mov dword [r12 + 0x1be4], eax
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r9d
shr ebp, cl
test dl, 0x20
je 0x14000a3a9
mov dword [r12 + 0x1be4], 0xffffffff
mov dword [r12 + 8], 0x3f3f
jmp case.0x140008ca6.16191
mov r9d, dword [rsp + 0x30]
mov r8d, dword [r12 + 0x3c]
mov rcx, qword [r12 + 0x40]
sub r9d, edx
cmp r8d, eax
jb 0x140009f80
lea edx, [r8 + r9]
add rcx, rdx
mov edx, dword [r12 + 0x50]
cmp edx, eax
cmovbe eax, edx
mov r9d, dword [rsp + 0x38]
cmp eax, r9d
cmova eax, r9d
sub edx, eax
sub r9d, eax
lea r8d, [rax - 1]
xor eax, eax
mov dword [r12 + 0x50], edx
mov dword [rsp + 0x38], r9d
lea r9, [r8 + 1]
nop dword [rax]
movzx edx, byte [rcx + rax]
mov byte [r13 + rax], dl
mov rdx, rax
add rax, 1
cmp rdx, r8
jne 0x140009e30
mov r10d, dword [r12 + 0x50]
add r13, r9
test r10d, r10d
je case.0x140008ca6.16199
mov eax, dword [r12 + 8]
jmp 0x140008c8a
mov dword [r12 + 8], 0x3f52
nop dword [rax]
mov r10d, 0xfffffffc
jmp 0x14000914d
cmp ebx, edx
jae 0x140009eaf
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x140009e98
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jb 0x140009e90
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 0x140009182
xor ebx, ebx
xor ebp, ebp
nop dword [rax + rax]
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov r10d, 1
mov dword [r12 + 8], 0x3f50
sub r13d, eax
jmp 0x140009050
sub ebx, eax
lea eax, [r10 + 1]
shr ebp, cl
mov dword [r12 + 0x84], eax
mov word [r12 + r10*2 + 0x90], r11w
mov r10d, eax
mov eax, dword [rsp + 0x40]
cmp r10d, eax
jb 0x1400094bd
mov r8d, dword [rsp + 0x48]
cmp dword [r12 + 8], 0x3f51
je case.0x140008ca6.16209
cmp word [r12 + 0x290], 0
jne 0x14000a7e9
lea rax, str.invalid_code____missing_end_of_block
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
xor ebx, ebx
xor ebp, ebp
jmp 0x140009288
sub eax, r8d
add r8d, dword [r12 + 0x34]
lea edx, [r8 + r9]
add rcx, rdx
jmp 0x140009dfa
lea ecx, [r8 + rax]
mov eax, 0xffffffff
movzx r11d, r10w
shl eax, cl
mov ecx, edx
mov edx, dword [rsp + 0x48]
not eax
mov dword [rsp + 0x50], eax
and eax, ebp
shr eax, cl
add eax, r11d
mov eax, eax
lea rax, [r9 + rax*4]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, byte [rax + 1]
add edx, eax
cmp ebx, edx
jae 0x14000a036
test esi, esi
je 0x140009ae0
mov qword [rsp + 0x58], r13
mov edx, dword [rsp + 0x48]
mov r13d, dword [rsp + 0x50]
jmp 0x140009ff8
test esi, esi
je 0x14000a36a
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl eax, cl
mov ecx, edx
add ebp, eax
mov eax, r13d
and eax, ebp
shr eax, cl
add eax, r11d
mov eax, eax
lea rax, [r9 + rax*4]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, byte [rax + 1]
lea ecx, [rax + rdx]
cmp ebx, ecx
jb 0x140009ff0
mov r13, qword [rsp + 0x58]
mov edx, dword [rsp + 0x48]
mov ecx, edx
add edx, dword [r12 + 0x1be4]
shr ebp, cl
mov ecx, dword [rsp + 0x40]
sub ebx, ecx
jmp 0x140009232
mov r10d, dword [rsp + 0x3c]
mov r11, r13
jmp 0x140008d66
mov rcx, r13
sub rcx, rax
mov eax, dword [r12 + 0x50]
mov edx, eax
jmp 0x140009e04
and r8d, 0xf
mov dword [r12 + 0x54], r10d
mov dword [r12 + 0x58], r8d
mov dword [r12 + 8], 0x3f4b
jmp 0x140008fcd
cmp ebx, r8d
jae 0x14000a0d0
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x14000a0b8
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, r8d
jb 0x14000a0b0
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 0x140008fd6
cmp ebx, 0xf
ja 0x14000a130
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x14000a118
test esi, esi
je 0x140009b00
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x14000a110
mov ebx, ecx
test dl, 2
je 0x14000a141
cmp ebp, 0x8b1f
je 0x14000a739
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000a152
mov dword [rax + 0x40], 0xffffffff
and edx, 1
je 0x14000a40b
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 0x14000a40b
mov eax, ebp
and eax, 0xf
cmp eax, 8
je 0x14000a7a4
lea rax, str.unknown_compression_method
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
cmp ebx, 0xf
jbe 0x140009712
jmp 0x14000973e
test ebp, 0xe000
je 0x14000a63c
mov r11, r13
lea rax, str.unknown_header_flags_set
jmp 0x1400099c9
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 0x50], eax
mov dword [r12 + 8], 0x3f42
je 0x14000a991
xor ebx, ebx
xor ebp, ebp
jmp 0x1400092d5
mov r10d, 0xfffffffb
jmp 0x14000914d
lea rax, str.invalid_block_type
mov r11, r13
shr ebp, 3
sub ebx, 3
mov qword [r15 + 0x20], rax
mov rdi, rdx
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
lea ecx, [rax + 3]
cmp ebx, ecx
jae 0x14000a27b
test esi, esi
je 0x140009ae0
mov r11d, ecx
mov ecx, ebx
jmp 0x14000a260
test esi, esi
je 0x140009b00
movzx r8d, byte [rdi]
add rdi, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add ebp, r8d
cmp ecx, r11d
jb 0x14000a258
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r11d, r11d
shr ebp, cl
sub ebx, 3
mov ecx, ebp
shr ebp, 3
and ecx, 7
add ecx, 3
jmp 0x14000959a
mov ebx, ecx
mov rdi, rdx
cmp r8d, 0x12
ja 0x14000a2f4
mov edx, 0x12
mov ecx, r8d
lea rax, [0x14001d3e0]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x14001d3e2]
lea rcx, [rcx + rdx*2]
nop word cs:[rax + rax]
movzx edx, word [rax]
xor r8d, r8d
add rax, 2
mov word [r12 + rdx*2 + 0x90], r8w
cmp rcx, rax
jne 0x14000a2d0
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
call fcn.14000b340
test eax, eax
je 0x14000a6bf
lea rax, str.invalid_code_lengths_set
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x3c]
sub r13d, eax
jmp 0x140009050
mov ecx, dword [r12 + 0x20]
mov r8d, r9d
mov rdx, rdi
mov dword [rsp + 0x48], r9d
call fcn.14000c2d0
mov r9d, dword [rsp + 0x48]
mov dword [r12 + 0x20], eax
jmp 0x14000983c
test dl, 0x40
je 0x14000a5f0
lea rax, [0x14001ca3f]
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov eax, dword [rsp + 0x38]
xor ebx, ebx
xor ebp, ebp
mov dword [r12 + 8], 0x3f4f
mov dword [rsp + 0x30], eax
jmp 0x14000935d
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], ebp
call fcn.14000c2d0
mov dword [r12 + 0x20], eax
jmp 0x140009657
lea rax, str.incorrect_header_check
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov dword [r12 + 0x84], 0
xor r8d, r8d
mov dword [r12 + 8], 0x3f45
jmp 0x14000940e
lea r8d, [rax + 2]
cmp ebx, r8d
jae 0x14000a483
test esi, esi
je 0x140009ae0
mov ecx, ebx
jmp 0x14000a468
test esi, esi
je 0x140009b00
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, r8d
jb 0x14000a460
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr ebp, cl
test r10d, r10d
je 0x14000a882
mov ecx, ebp
lea eax, [r10 - 1]
shr ebp, 2
sub ebx, 2
movzx r11d, word [r12 + rax*2 + 0x90]
and ecx, 3
add ecx, 3
jmp 0x14000959a
mov r11, r13
mov r10d, dword [rsp + 0x3c]
mov r13d, dword [rsp + 0x30]
jmp 0x140009050
mov r9d, dword [r12 + 0x18]
mov eax, r8d
mov rdx, r11
mov dword [rsp + 0x3c], r10d
sub rdx, rax
mov qword [rsp + 0x30], r11
mov ecx, dword [r12 + 0x20]
test r9d, r9d
je 0x14000a6ab
call fcn.14000c2d0
mov r11, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
mov edx, dword [r12 + 0x10]
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
mov eax, edx
and eax, 4
jmp 0x140008dd1
add edx, eax
movzx r11d, r9w
mov r9d, 0xffffffff
mov ecx, edx
mov dword [rsp + 0x50], r11d
shl r9d, cl
mov ecx, eax
not r9d
mov edx, r9d
mov dword [rsp + 0x48], r9d
and edx, ebp
shr edx, cl
add edx, r11d
mov edx, edx
lea rcx, [r8 + rdx*4]
movzx r9d, byte [rcx + 1]
movzx edx, byte [rcx]
movzx r11d, word [rcx + 2]
lea r10d, [r9 + rax]
cmp ebx, r10d
jae 0x14000a5bf
test esi, esi
je 0x140009ae0
mov qword [rsp + 0x40], r13
mov edx, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x48]
jmp 0x14000a578
test esi, esi
je 0x14000a71e
movzx r9d, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl r9d, cl
mov ecx, eax
add ebp, r9d
mov r9d, r13d
and r9d, ebp
shr r9d, cl
lea ecx, [r9 + rdx]
lea r9, [r8 + rcx*4]
movzx ecx, byte [r9]
movzx r11d, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp ebx, r10d
jb 0x14000a570
mov r13, qword [rsp + 0x40]
mov edx, ecx
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r11d
shr ebp, cl
mov ecx, r9d
mov dword [r12 + 0x1be4], r10d
sub ebx, r9d
shr ebp, cl
test dl, dl
jne 0x140009db0
jmp 0x140009aa3
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0x58], edx
jmp 0x140009175
mov rdx, rdi
jmp 0x140008f0c
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x140008ca6.16199
mov eax, dword [rsp + 0x38]
mov r11, r13
mov r13d, dword [rsp + 0x30]
xor r10d, r10d
sub r13d, eax
jmp 0x140009050
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000a650
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rdx], eax
test ebp, 0x200
je 0x14000a664
test byte [r12 + 0x10], 4
jne 0x14000a891
mov dword [r12 + 8], 0x3f36
xor ebx, ebx
xor ebp, ebp
jmp 0x140009605
mov ecx, dword [r12 + 0x20]
mov r8d, 2
lea rdx, [rsp + 0x6c]
xor ebx, ebx
mov word [rsp + 0x6c], bp
xor ebp, ebp
call fcn.14000c2d0
mov r8d, dword [r12 + 0x18]
mov dword [r12 + 0x20], eax
mov eax, r8d
and eax, 0x400
jmp 0x14000979d
call fcn.14000bce0
mov r10d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0x30]
jmp 0x14000a4f9
mov dword [r12 + 8], 0x3f46
mov r8d, dword [r12 + 0x7c]
mov dword [r12 + 0x84], 0
mov eax, r8d
add eax, dword [r12 + 0x80]
mov dword [rsp + 0x40], eax
je 0x140009f3d
xor r10d, r10d
jmp 0x1400094a5
mov eax, dword [rsp + 0x38]
mov qword [r15 + 0x10], r13
mov r10d, 2
mov qword [r15], rdi
mov dword [r15 + 0x18], eax
mov dword [r15 + 8], esi
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
jmp 0x14000914d
mov r13d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x3c]
sub r13d, eax
jmp 0x140009050
mov ebp, dword [r12 + 0x30]
test ebp, ebp
jne 0x14000a74b
mov dword [r12 + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov ebx, 0xffff8b1f
call fcn.14000c2d0
lea rdx, [rsp + 0x6c]
mov r8d, 2
xor ebp, ebp
mov dword [r12 + 0x20], eax
mov ecx, eax
mov word [rsp + 0x6c], bx
xor ebx, ebx
call fcn.14000c2d0
mov dword [r12 + 8], 0x3f35
mov dword [r12 + 0x20], eax
jmp 0x14000997d
mov r11, r13
mov r13d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x3c]
sub r13d, edx
jmp 0x140009050
shr ebp, 4
mov eax, dword [r12 + 0x30]
mov ecx, ebp
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x14000a8b5
mov dword [r12 + 0x30], ecx
cmp ecx, 0xf
jbe 0x14000a8c6
lea rax, str.invalid_window_size
mov r11, r13
sub ebx, 4
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
lea rax, [r12 + 0x550]
lea r10, [r12 + 0x310]
mov dword [r12 + 0x70], 9
mov ecx, 1
mov qword [r12 + 0x88], rax
lea r9, [r12 + 0x88]
lea rdx, [r12 + 0x90]
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x70]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], rdx
call fcn.14000b340
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
test eax, eax
mov r10, qword [rsp + 0x50]
je 0x14000a90b
lea rax, str.invalid_literal_lengths_set
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov r11, r13
jmp 0x14000903d
mov r11, r13
lea rax, str.invalid_bit_length_repeat
jmp 0x1400099c9
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.14000c2d0
mov dword [r12 + 0x20], eax
jmp 0x14000a664
cmp ecx, 0xf
ja 0x14000a7ca
cmp eax, ecx
jb 0x14000a7ca
mov eax, 1
xor r11d, r11d
xor r8d, r8d
xor edx, edx
shl eax, cl
mov dword [r12 + 0x18], r11d
xor ecx, ecx
mov dword [r12 + 0x1c], eax
call fcn.14000bce0
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
and ebp, 0x200
jne 0x14000a9ae
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
jmp case.0x140008ca6.16191
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.14000b340
test eax, eax
je 0x14000a60e
lea rax, str.invalid_distances_set
mov r11, r13
mov qword [r15 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x14000903d
mov eax, dword [rsp + 0x38]
mov r11, r13
mov r13d, dword [rsp + 0x30]
shr ebp, 3
sub ebx, 3
xor r10d, r10d
mov rdi, rdx
sub r13d, eax
jmp 0x140009050
mov eax, dword [rsp + 0x38]
mov r11, r13
mov r13d, dword [rsp + 0x30]
xor ebx, ebx
mov r10d, dword [rsp + 0x3c]
xor ebp, ebp
sub r13d, eax
jmp 0x140009050
mov dword [r12 + 8], 0x3f3d
xor ebp, ebp
xor ebx, ebx
jmp 0x140008cb5