Function at 0x140009980
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, [0x140014b60]
movq xmm6, qword [0x140015420]
movq xmm1, rax
punpcklqdq xmm6, xmm1
mov dword [rsp + 0xd8], edx
mov r13, rcx
call fcn.1400095b0
test eax, eax
mov dword [rsp + 0x44], eax
jne case.default.0x140009a3c
mov r14, qword [rcx + 0x10]
test r14, r14
je case.default.0x140009a3c
mov rdi, qword [rcx]
mov eax, dword [rcx + 8]
test rdi, rdi
mov dword [rsp + 0x3c], eax
je 0x140009b10
mov r12, qword [r13 + 0x28]
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x140009a09
mov dword [r12 + 8], 0x3f40
mov eax, 0x3f40
mov r15d, dword [r13 + 0x18]
mov ebp, dword [r12 + 0x48]
mov ebx, dword [r12 + 0x4c]
mov esi, dword [rsp + 0x3c]
mov dword [rsp + 0x40], r15d
sub eax, 0x3f34
cmp eax, 0x1e
ja case.default.0x140009a3c
lea rdx, [0x140014ad8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
bswap ebp
xor ebx, ebx
mov dword [r12 + 0x20], ebp
mov dword [r13 + 0x4c], ebp
xor ebp, ebp
mov dword [r12 + 8], 0x3f3e
mov eax, dword [r12 + 0x14]
test eax, eax
je 0x14000b631
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1400084e0
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
mov eax, dword [rsp + 0xd8]
sub eax, 5
cmp eax, 1
jbe 0x14000abfa
mov eax, dword [r12 + 0xc]
test eax, eax
je 0x140009be8
mov dword [r12 + 8], 0x3f4e
mov r11d, dword [rsp + 0x40]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
mov edx, dword [r12 + 0x10]
test edx, edx
je 0x14000aa90
cmp ebx, 0x1f
ja 0x14000aecf
mov ecx, ebx
jmp 0x140009afa
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000aecd
test esi, esi
jne 0x140009ae0
mov r8d, r15d
mov ebx, ecx
sub r8d, r11d
jmp 0x140009d40
test eax, eax
je 0x1400099eb
mov dword [rsp + 0x44], 0xfffffffe
jmp 0x140009e32
mov rax, qword [0x140015418]
movups xmmword [r12 + 0x60], xmm6
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
mov qword [r12 + 0x70], rax
je 0x14000b8d5
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov dword [r12 + 8], 0x3f48
cmp esi, 5
jbe 0x14000a710
mov eax, dword [rsp + 0x40]
cmp eax, 0x101
jbe 0x14000a710
mov qword [r13 + 0x10], r14
mov edx, r15d
mov rcx, r13
mov dword [r13 + 0x18], eax
mov qword [r13], rdi
mov dword [r13 + 8], esi
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
call fcn.140008e40
mov eax, dword [r13 + 0x18]
mov r14, qword [r13 + 0x10]
mov rdi, qword [r13]
mov esi, dword [r13 + 8]
mov dword [rsp + 0x40], eax
mov eax, dword [r12 + 8]
mov ebp, dword [r12 + 0x48]
mov ebx, dword [r12 + 0x4c]
cmp eax, 0x3f3f
jne 0x140009a20
mov dword [r12 + 0x1be4], 0xffffffff
jmp case.0x140009a3c.16191
cmp ebx, 2
mov rdx, rdi
ja 0x140009c0b
test esi, esi
je 0x14000ad90
movzx eax, byte [rdi]
lea rdx, [rdi + 1]
mov ecx, ebx
sub esi, 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 0x14000a483
cmp eax, 3
je 0x14000b145
cmp eax, 1
je 0x140009b25
mov dword [r12 + 8], 0x3f41
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
cmp ebx, 0x1f
ja 0x14000ad45
mov ecx, ebx
jmp 0x140009c9a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000ad40
test esi, esi
jne 0x140009c80
nop
mov r11d, dword [rsp + 0x40]
mov r8d, r15d
mov ebx, ecx
sub r8d, r11d
jmp 0x140009d40
mov r10d, dword [r12 + 0x58]
test r10d, r10d
jne 0x14000ade0
mov dword [r12 + 8], 0x3f4c
mov r11d, dword [rsp + 0x40]
test r11d, r11d
je 0x14000b2c5
mov eax, dword [r12 + 0x54]
mov edx, r15d
sub edx, r11d
cmp edx, eax
jae 0x14000ac50
lea edx, [rax + r11]
mov eax, edx
sub eax, r15d
cmp dword [r12 + 0x38], eax
jae 0x14000a9a0
mov r10d, dword [r12 + 0x1be0]
test r10d, r10d
je 0x14000a9a0
lea rax, str.invalid_distance_too_far_back
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
mov r8d, r15d
mov dword [rsp + 0x44], 0xfffffffd
sub r8d, r11d
nop word [rax + rax]
mov r10d, dword [r12 + 0x34]
movd xmm0, ebp
movd xmm2, ebx
mov qword [r13 + 0x10], r14
mov dword [r13 + 0x18], r11d
punpckldq xmm0, xmm2
mov qword [r13], rdi
mov dword [r13 + 8], esi
test r10d, r10d
movq qword [r12 + 0x48], xmm0
jne 0x140009d90
cmp r15d, r11d
je 0x140009dae
mov eax, dword [r12 + 8]
cmp eax, 0x3f50
ja 0x140009dae
cmp eax, 0x3f4d
jbe 0x140009d90
cmp dword [rsp + 0xd8], 4
je 0x140009dae
nop
mov rdx, r14
mov rcx, r13
call fcn.140009480
test eax, eax
jne 0x14000aa31
sub r15d, dword [r13 + 0x18]
mov esi, dword [r13 + 8]
mov r8d, r15d
mov ebx, dword [rsp + 0x3c]
add dword [r13 + 0x1c], r8d
sub ebx, esi
add dword [r13 + 0xc], ebx
add dword [r12 + 0x24], r8d
test byte [r12 + 0x10], 4
je 0x140009dd2
test r8d, r8d
jne 0x14000a560
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 0x14000a550
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or ebx, r8d
mov dword [r13 + 0x48], eax
je 0x140009e26
cmp dword [rsp + 0xd8], 4
jne 0x140009e32
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x14000afd5
mov eax, dword [rsp + 0x44]
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 0x14000aa50
mov eax, dword [r12 + 0x50]
mov dword [r12 + 0x1be8], eax
mov dword [r12 + 8], 0x3f4a
mov ecx, dword [r12 + 0x74]
mov r10d, 0xffffffff
mov eax, ebp
mov r8, qword [r12 + 0x68]
shl r10d, cl
not r10d
and eax, r10d
lea rcx, [r8 + rax*4]
movzx eax, byte [rcx + 1]
cmp ebx, eax
mov edx, eax
mov r9d, eax
jae 0x14000b1dd
mov ecx, ebx
jmp 0x140009eec
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 r11, [r8 + rax*4]
movzx eax, byte [r11 + 1]
cmp ecx, eax
mov edx, eax
mov r9d, eax
jae 0x14000a838
test esi, esi
jne 0x140009ec0
jmp 0x140009ca0
mov edx, dword [r12 + 0x10]
mov r11d, dword [rsp + 0x40]
test edx, edx
je 0x14000aa90
mov eax, dword [r12 + 0x18]
test eax, eax
je 0x14000aa90
cmp ebx, 0x1f
mov ecx, ebx
jbe 0x140009f5a
jmp 0x14000a89a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000a898
test esi, esi
jne 0x140009f40
jmp 0x140009afe
cmp ebx, 0x1f
mov ecx, ebx
jbe 0x140009f9a
jmp 0x140009a40
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x140009a40
test esi, esi
jne 0x140009f80
jmp 0x140009ca0
mov eax, dword [r12 + 0x50]
mov dword [r12 + 8], 0x3f43
test eax, eax
je 0x140009a7a
mov edx, dword [rsp + 0x40]
cmp esi, eax
cmovbe eax, esi
cmp eax, edx
cmova eax, edx
test eax, eax
je 0x14000b65d
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 [rsp + 0x40], r9d
sub dword [r12 + 0x50], r9d
mov eax, dword [r12 + 8]
sub esi, r9d
add rdi, r8
add r14, r8
jmp 0x140009a20
mov eax, dword [r12 + 0x50]
jmp 0x140009fb6
mov eax, dword [r12 + 0x84]
mov r9d, dword [r12 + 0x78]
cmp eax, r9d
jae 0x14000b509
lea rcx, [0x1400153e0]
mov r10, rdi
lea r8, [rcx + rax*2]
mov ecx, ebx
lea edx, [rax + 1]
cmp ecx, 2
ja 0x14000a067
test esi, esi
je 0x140009ca0
movzx eax, byte [rdi]
lea r10, [rdi + 1]
sub esi, 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
add r8, 2
cmp edx, r9d
mov dword [r12 + 0x84], edx
mov word [r12 + rax*2 + 0x90], r11w
lea eax, [rdx + 1]
je 0x14000b41a
mov rdi, r10
cmp ecx, 2
mov edx, eax
mov r10, rdi
jbe 0x14000a04e
jmp 0x14000a067
mov r11d, dword [r12 + 0x7c]
mov eax, dword [r12 + 0x80]
mov r9d, dword [r12 + 0x84]
add eax, r11d
cmp r9d, eax
jae 0x14000a7f6
mov ecx, dword [r12 + 0x70]
mov edx, 0xffffffff
mov dword [rsp + 0x50], r11d
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]
cmp ebx, r10d
mov ecx, r10d
jae 0x14000a7bb
mov ecx, ebx
jmp 0x14000a16c
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 0x14000a7b0
test esi, esi
jne 0x14000a140
jmp 0x140009ca0
mov r11d, dword [rsp + 0x40]
mov r8d, r15d
mov dword [rsp + 0x44], 1
sub r8d, r11d
jmp 0x140009d40
mov eax, dword [r12 + 0x18]
test ah, 2
jne 0x14000a317
nop
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000a1ba
sar eax, 9
mov dword [rdx + 0x40], 1
and eax, 1
mov dword [rdx + 0x3c], eax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140008af0
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
jmp case.0x140009a3c.16191
mov edx, dword [r12 + 0x10]
test edx, edx
jne 0x14000ae6b
mov dword [r12 + 8], 0x3f40
jmp case.0x140009a3c.16192
cmp ebx, 0x1f
ja 0x14000ac68
mov ecx, ebx
jmp 0x14000a23a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
ja 0x14000ac68
test esi, esi
jne 0x14000a220
jmp 0x140009ca0
cmp ebx, 0xf
ja 0x14000a8d0
mov ecx, ebx
jmp 0x14000a27a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000a8d0
test esi, esi
jne 0x14000a260
jmp 0x140009ca0
mov edx, dword [r12 + 0x18]
test dh, 4
mov eax, edx
jne 0x14000ae23
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000a419
mov qword [rdx + 0x10], 0
jmp 0x14000a419
mov eax, dword [r12 + 0x18]
test ah, 8
jne 0x14000a660
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000a2d8
mov qword [rdx + 0x20], 0
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3b
test ah, 0x10
jne 0x14000a5b0
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000a305
mov qword [rdx + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test ah, 2
je 0x14000a1a0
cmp ebx, 0xf
ja 0x14000a962
mov ecx, ebx
jmp 0x14000a35a
movzx edx, byte [rdi]
add rdi, 1
sub esi, 1
shl edx, cl
add ecx, 8
add ebp, edx
cmp ecx, 0xf
ja 0x14000a960
test esi, esi
jne 0x14000a340
jmp 0x140009ca0
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
test edx, edx
je 0x14000a419
mov edx, dword [r12 + 0x50]
cmp esi, edx
mov r9d, edx
cmovbe r9d, esi
test r9d, r9d
je 0x14000a40c
mov rcx, qword [r12 + 0x28]
test rcx, rcx
je 0x14000a3e5
mov r10, qword [rcx + 0x10]
test r10, r10
je 0x14000a3e5
mov r11d, dword [rcx + 0x18]
mov ecx, dword [rcx + 0x1c]
mov r8d, r11d
sub r8d, edx
cmp r8d, ecx
jae 0x14000a3e5
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 0x14000a3f6
test byte [r12 + 0x10], 4
jne 0x14000b192
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 0x14000abfa
mov eax, dword [r12 + 0x18]
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x14000a2bd
mov eax, dword [r12 + 0x18]
jmp 0x14000a2ea
cmp ebx, 0xf
mov ecx, ebx
jbe 0x14000a47a
jmp 0x14000aca2
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000aca0
test esi, esi
jne 0x14000a460
jmp 0x140009ca0
mov dword [r12 + 8], 0x3f44
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax]
cmp ebx, 0xd
mov ecx, ebx
jbe 0x14000a4da
jmp 0x14000acd2
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xd
ja 0x14000acd0
test esi, esi
jne 0x14000a4c0
jmp 0x140009ca0
movzx edx, byte [r9]
mov ebx, ecx
mov ecx, eax
movzx r9d, word [r9 + 2]
test dl, dl
movzx r10d, r9w
jne 0x14000af2d
shr ebp, cl
sub ebx, eax
mov dword [r12 + 0x50], r10d
mov dword [r12 + 0x1be4], eax
mov dword [r12 + 8], 0x3f4d
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x14000b2c5
mov eax, dword [r12 + 0x50]
sub edx, 1
add r14, 1
mov dword [rsp + 0x40], edx
mov byte [r14 - 1], al
mov dword [r12 + 8], 0x3f48
jmp case.0x140009a3c.16200
sub eax, 0xffffff80
jmp 0x140009e13
mov rdx, qword [r13 + 0x10]
mov eax, r8d
mov dword [rsp + 0x3c], r8d
mov r9d, dword [r12 + 0x18]
mov ecx, dword [r12 + 0x20]
sub rdx, rax
test r9d, r9d
je 0x14000a5a0
call fcn.140008af0
mov r8d, dword [rsp + 0x3c]
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
jmp 0x140009dd2
call fcn.1400084e0
mov r8d, dword [rsp + 0x3c]
jmp 0x14000a588
test esi, esi
je 0x14000abfa
mov rdx, rdi
xor r8d, r8d
jmp 0x14000a5c5
cmp r8d, esi
jae 0x14000a5ff
mov rax, qword [r12 + 0x28]
add r8d, 1
movzx r9d, byte [rdx]
test rax, rax
je 0x14000a5f6
mov r10, qword [rax + 0x30]
test r10, r10
je 0x14000a5f6
mov ecx, dword [r12 + 0x50]
cmp ecx, dword [rax + 0x38]
jae 0x14000a5f6
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov byte [r10 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x14000a5c0
test byte [r12 + 0x19], 2
je 0x14000a640
test byte [r12 + 0x10], 4
je 0x14000a640
mov ecx, dword [r12 + 0x20]
mov rdx, rdi
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x48], r8d
call fcn.140008af0
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 0x14000abfa
mov eax, dword [r12 + 0x18]
jmp 0x14000a305
test esi, esi
je 0x14000abfa
mov rdx, rdi
xor r8d, r8d
nop
mov rax, qword [r12 + 0x28]
add r8d, 1
movzx r9d, byte [rdx]
test rax, rax
je 0x14000a6a1
mov r10, qword [rax + 0x20]
test r10, r10
je 0x14000a6a1
mov ecx, dword [r12 + 0x50]
cmp ecx, dword [rax + 0x28]
jae 0x14000a6a1
lea eax, [rcx + 1]
mov dword [r12 + 0x50], eax
mov byte [r10 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x14000a6af
cmp r8d, esi
jb 0x14000a670
test byte [r12 + 0x19], 2
je 0x14000a6f0
test byte [r12 + 0x10], 4
je 0x14000a6f0
mov ecx, dword [r12 + 0x20]
mov rdx, rdi
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x48], r8d
call fcn.140008af0
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 0x14000abfa
mov eax, dword [r12 + 0x18]
jmp 0x14000a2d8
mov ecx, dword [r12 + 0x70]
mov edx, 0xffffffff
mov eax, ebp
mov dword [r12 + 0x1be4], 0
mov r8, qword [r12 + 0x60]
shl edx, cl
not edx
and eax, edx
lea r9, [r8 + rax*4]
movzx eax, byte [r9 + 1]
cmp ebx, eax
mov ecx, eax
jae 0x14000b56f
mov ecx, ebx
jmp 0x14000a7a6
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 0x14000a4e8
test esi, esi
jne 0x14000a780
jmp 0x140009ca0
mov dword [rsp + 0x48], ecx
mov ebx, dword [rsp + 0x48]
mov ecx, r10d
movzx r11d, word [r11 + 2]
cmp r11w, 0xf
ja 0x14000aab0
shr ebp, cl
sub ebx, r10d
lea ecx, [r9 + 1]
mov dword [r12 + 0x84], ecx
mov word [r12 + r9*2 + 0x90], r11w
mov r9d, ecx
cmp r9d, eax
jb 0x14000a0e9
mov r11d, dword [rsp + 0x50]
cmp dword [r12 + 8], 0x3f51
je case.0x140009a3c.16209
cmp word [r12 + 0x290], 0
jne 0x14000b72f
lea rax, str.invalid_code____missing_end_of_block
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
movzx r10d, byte [r11]
mov ebx, ecx
movzx r11d, word [r11 + 2]
cmp r10b, 0xf
mov dword [rsp + 0x48], eax
jbe 0x14000ab44
mov edx, dword [r12 + 0x1be4]
mov ecx, eax
sub ebx, eax
add eax, edx
shr ebp, cl
test r10b, 0x40
mov dword [r12 + 0x1be4], eax
je 0x14000adb0
lea rax, str.invalid_distance_code
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov ebx, ecx
and edx, 4
je 0x14000aa82
cmp dword [r12 + 0x24], ebp
je 0x14000aa82
lea rax, str.incorrect_length_check
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000a8f4
mov edx, ebp
movzx ebx, bpl
shr edx, 8
movd xmm0, ebx
movd xmm3, edx
punpckldq xmm0, xmm3
movq qword [rax + 8], xmm0
mov edx, dword [r12 + 0x18]
test dh, 2
mov eax, edx
je 0x14000a930
test byte [r12 + 0x10], 4
je 0x14000a930
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.140008af0
mov edx, dword [r12 + 0x18]
mov dword [r12 + 0x20], eax
mov eax, edx
nop
mov dword [r12 + 8], 0x3f38
test dh, 4
jne 0x14000ac0a
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000a954
mov qword [rdx + 0x10], 0
xor ebx, ebx
xor ebp, ebp
jmp 0x14000a419
mov ebx, ecx
test byte [r12 + 0x10], 4
je 0x14000ab28
movzx edx, word [r12 + 0x20]
cmp edx, ebp
je 0x14000ab28
lea rax, str.header_crc_mismatch
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov r8d, dword [r12 + 0x3c]
mov r9d, r15d
sub r9d, edx
mov rcx, qword [r12 + 0x40]
cmp r8d, eax
jae 0x14000ab38
sub eax, r8d
add r8d, dword [r12 + 0x34]
lea edx, [r8 + r9]
add rcx, rdx
mov edx, dword [r12 + 0x50]
cmp edx, eax
cmovbe eax, edx
mov r9d, dword [rsp + 0x40]
cmp eax, r9d
cmova eax, r9d
lea r8d, [rax - 1]
sub r9d, eax
sub edx, eax
mov dword [rsp + 0x40], r9d
xor eax, eax
mov dword [r12 + 0x50], edx
nop word cs:[rax + rax]
nop
movzx edx, byte [rcx + rax]
mov byte [r14 + rax], dl
mov rdx, rax
add rax, 1
cmp r8, rdx
jne 0x14000aa00
mov r9d, dword [r12 + 0x50]
lea r14, [r14 + r8 + 1]
test r9d, r9d
je case.0x140009a3c.16199
mov eax, dword [r12 + 8]
jmp 0x140009a20
mov dword [r12 + 8], 0x3f52
nop word [rax + rax]
mov dword [rsp + 0x44], 0xfffffffc
jmp 0x140009e32
cmp ebx, edx
jae 0x14000aea5
mov ecx, ebx
jmp 0x14000aa79
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jae 0x14000aea3
test esi, esi
jne 0x14000aa60
jmp 0x140009ca0
xor ebx, ebx
xor ebp, ebp
nop word cs:[rax + rax]
mov r8d, r15d
mov dword [rsp + 0x44], 1
mov dword [r12 + 8], 0x3f50
sub r8d, r11d
jmp 0x140009d40
cmp r11w, 0x10
je 0x14000b265
cmp r11w, 0x11
je 0x14000b0e1
lea ecx, [r10 + 7]
cmp ebx, ecx
jae 0x14000b080
mov r11d, r10d
mov r10d, r9d
mov r9d, edx
mov edx, eax
mov eax, ecx
mov ecx, ebx
mov ebx, r11d
jmp 0x14000ab1c
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, eax
jae 0x14000b073
test esi, esi
jne 0x14000ab00
jmp 0x140009ca0
xor ebx, ebx
xor ebp, ebp
jmp 0x14000a1a0
lea edx, [r8 + r9]
add rcx, rdx
jmp 0x14000a9c8
lea ecx, [r10 + rax]
mov r10d, 0xffffffff
movzx r11d, r11w
shl r10d, cl
mov ecx, edx
not r10d
mov eax, r10d
and eax, ebp
shr eax, cl
mov ecx, dword [rsp + 0x48]
add eax, r11d
mov eax, eax
lea rdx, [r8 + rax*4]
movzx eax, byte [rdx + 1]
add ecx, eax
cmp ebx, ecx
jae 0x14000b6da
mov dword [rsp + 0x50], r9d
mov r9d, dword [rsp + 0x48]
jmp 0x14000abf6
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl eax, cl
mov ecx, r9d
add ebp, eax
mov eax, ebp
and eax, r10d
shr eax, cl
add eax, r11d
mov eax, eax
lea rdx, [r8 + rax*4]
movzx eax, byte [rdx + 1]
lea ecx, [rax + r9]
cmp ebx, ecx
jae 0x14000b16c
test esi, esi
jne 0x14000abc0
mov r11d, dword [rsp + 0x40]
mov r8d, r15d
sub r8d, r11d
jmp 0x140009d40
xor ebx, ebx
xor ebp, ebp
mov ecx, ebx
jmp 0x14000ac3a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000ae2e
test esi, esi
jne 0x14000ac20
jmp 0x140009ca0
mov r11d, dword [rsp + 0x40]
jmp 0x140009abb
mov rcx, r14
sub rcx, rax
mov eax, dword [r12 + 0x50]
mov edx, eax
jmp 0x14000a9d2
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000ac75
mov dword [rax + 4], ebp
test byte [r12 + 0x19], 2
je 0x14000ac89
test byte [r12 + 0x10], 4
jne 0x14000b208
mov dword [r12 + 8], 0x3f37
xor ebp, ebp
xor ecx, ecx
jmp 0x14000a27a
mov ebx, ecx
cmp bpl, 8
mov dword [r12 + 0x18], ebp
je 0x14000afb8
mov r11d, dword [rsp + 0x40]
lea rax, str.unknown_compression_method
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov ebx, ecx
mov edx, ebp
mov eax, ebp
mov r9d, ebp
and edx, 0x1f
shr eax, 5
sub ebx, 0xe
shr r9d, 0xa
add edx, 0x101
and eax, 0x1f
and r9d, 0xf
add eax, 1
shr ebp, 0xe
mov dword [r12 + 0x7c], edx
add r9d, 4
cmp edx, 0x11e
mov dword [r12 + 0x80], eax
mov dword [r12 + 0x78], r9d
ja 0x14000ad20
cmp eax, 0x1e
jbe 0x14000b249
lea rax, str.too_many_length_or_distance_symbols
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov ebx, 0x20
mov edx, ebp
movzx eax, bp
shr edx, 0x10
xor edx, 0xffff
cmp eax, edx
je 0x14000af93
lea rax, str.invalid_stored_block_lengths
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x140009a3c.16199
mov r11d, dword [rsp + 0x40]
mov r8d, r15d
mov dword [rsp + 0x44], 0
sub r8d, r11d
jmp 0x140009d40
and r10d, 0xf
movzx eax, r11w
mov dword [r12 + 8], 0x3f4b
movd xmm0, eax
movd xmm4, r10d
punpckldq xmm0, xmm4
movq qword [r12 + 0x54], xmm0
jmp 0x140009cbd
cmp ebx, r10d
jae 0x14000af6e
mov ecx, ebx
jmp 0x14000ae1a
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, r10d
jae 0x14000af6c
test esi, esi
jne 0x14000ae00
jmp 0x140009ca0
cmp ebx, 0xf
mov ecx, ebx
jbe 0x14000ac3a
mov rax, qword [r12 + 0x28]
mov dword [r12 + 0x50], ebp
test rax, rax
je 0x14000ae40
mov dword [rax + 0x18], ebp
test dh, 2
je 0x14000ae51
test byte [r12 + 0x10], 4
jne 0x14000b57d
mov eax, edx
and edx, 0x400
mov dword [r12 + 8], 0x3f39
xor ebx, ebx
xor ebp, ebp
jmp 0x14000a375
cmp ebx, 0xf
mov ecx, ebx
jbe 0x14000ae9a
jmp 0x14000afe4
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
ja 0x14000afe2
test esi, esi
jne 0x14000ae80
jmp 0x140009ca0
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
sub ebx, edx
add dword [r12 + 0x1be4], edx
shl eax, cl
not eax
and eax, ebp
add eax, dword [r12 + 0x50]
shr ebp, cl
mov dword [r12 + 0x50], eax
jmp 0x140009e62
mov ebx, ecx
mov eax, edx
sub r15d, r11d
add dword [r13 + 0x1c], r15d
add dword [r12 + 0x24], r15d
and eax, 4
je 0x14000b527
test r15d, r15d
jne 0x14000b2d2
test eax, eax
je 0x14000b527
mov eax, dword [r12 + 0x20]
mov ecx, dword [r12 + 0x18]
test ecx, ecx
je 0x14000b1eb
cmp ebp, eax
je 0x14000b6c3
lea rax, str.incorrect_data_check
mov r15d, r11d
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
cmp dl, 0xf
jbe 0x14000b343
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r10d
shr ebp, cl
mov dword [r12 + 0x1be4], eax
test dl, 0x20
je 0x14000b1b6
mov dword [r12 + 0x1be4], 0xffffffff
mov dword [r12 + 8], 0x3f3f
jmp case.0x140009a3c.16191
mov ebx, ecx
mov ecx, r10d
mov eax, 0xffffffff
sub ebx, r10d
add dword [r12 + 0x1be4], r10d
shl eax, cl
not eax
and eax, ebp
shr ebp, cl
add dword [r12 + 0x54], eax
jmp 0x140009cc6
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 0x50], eax
mov dword [r12 + 8], 0x3f42
je 0x14000b8c1
xor ebx, ebx
xor ebp, ebp
jmp 0x140009fad
test ebp, 0xe000
je 0x14000b535
mov r11d, dword [rsp + 0x40]
lea rax, str.unknown_header_flags_set
jmp 0x14000acbd
mov dword [rsp + 0x44], 0xfffffffb
jmp 0x140009e32
mov ebx, ecx
test dl, 2
je 0x14000aff5
cmp ebp, 0x8b1f
je 0x14000b66b
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000b006
mov dword [rax + 0x40], 0xffffffff
and edx, 1
je 0x14000b22b
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 0x14000b22b
mov eax, ebp
and eax, 0xf
cmp eax, 8
je 0x14000b6e8
lea rax, str.unknown_compression_method
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov eax, edx
mov edx, r9d
mov r9d, r10d
mov r10d, ebx
mov ebx, ecx
mov ecx, r10d
sub ebx, r10d
xor r11d, r11d
shr ebp, cl
sub ebx, 7
mov ecx, ebp
shr ebp, 7
and ecx, 0x7f
add ecx, 0xb
add r9d, ecx
mov r10d, ecx
cmp eax, r9d
jb 0x14000b7cf
mov ecx, dword [r12 + 0x84]
mov r9d, r10d
add r9d, ecx
nop word cs:[rax + rax]
mov r10d, ecx
add ecx, 1
mov word [r12 + r10*2 + 0x90], r11w
cmp r9d, ecx
jne 0x14000b0c0
mov dword [r12 + 0x84], r9d
jmp 0x14000a7e8
lea ecx, [r10 + 3]
cmp ebx, ecx
jae 0x14000b3fc
mov r11d, r10d
mov r10d, r9d
mov r9d, edx
mov edx, eax
mov eax, ecx
mov ecx, ebx
mov ebx, r11d
jmp 0x14000b13c
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, eax
jae 0x14000b3ef
test esi, esi
jne 0x14000b120
jmp 0x140009ca0
mov r11d, dword [rsp + 0x40]
shr ebp, 3
sub ebx, 3
mov rdi, rdx
lea rax, str.invalid_block_type
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov r9d, dword [rsp + 0x50]
movzx r10d, byte [rdx]
movzx r11d, word [rdx + 2]
mov edx, dword [rsp + 0x48]
sub ebx, r9d
mov ecx, edx
add edx, dword [r12 + 0x1be4]
shr ebp, cl
jmp 0x14000a859
mov ecx, dword [r12 + 0x20]
mov r8d, r9d
mov rdx, rdi
mov dword [rsp + 0x48], r9d
call fcn.140008af0
mov r9d, dword [rsp + 0x48]
mov dword [r12 + 0x20], eax
jmp 0x14000a3f6
test dl, 0x40
je 0x14000b511
lea rax, str.invalid_literal_length_code
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
movzx r10d, byte [rcx]
movzx r11d, word [rcx + 2]
jmp 0x14000a843
mov edx, ebp
bswap edx
cmp edx, eax
jne 0x14000af11
mov r15d, r11d
xor ebx, ebx
xor ebp, ebp
jmp 0x14000aa90
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], ebp
call fcn.140008af0
mov dword [r12 + 0x20], eax
jmp 0x14000ac89
lea rax, str.incorrect_header_check
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov dword [r12 + 0x84], 0
xor eax, eax
mov dword [r12 + 8], 0x3f45
jmp 0x14000a036
lea ecx, [r10 + 2]
cmp ebx, ecx
jae 0x14000b5bb
mov r11d, r10d
mov r10d, r9d
mov r9d, edx
mov edx, eax
mov eax, ecx
mov ecx, ebx
mov ebx, r11d
jmp 0x14000b2bc
movzx r11d, byte [rdi]
add rdi, 1
sub esi, 1
shl r11d, cl
add ecx, 8
add ebp, r11d
cmp ecx, eax
jae 0x14000b5ae
test esi, esi
jne 0x14000b2a0
jmp 0x140009ca0
mov r11d, dword [rsp + 0x40]
mov r8d, r15d
jmp 0x140009d40
mov r8d, dword [r12 + 0x18]
mov eax, r15d
mov rdx, r14
mov dword [rsp + 0x40], r11d
sub rdx, rax
mov ecx, dword [r12 + 0x20]
test r8d, r8d
mov r8d, r15d
je 0x14000b622
call fcn.140008af0
mov r11d, dword [rsp + 0x40]
mov edx, dword [r12 + 0x10]
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
test dl, 4
jne 0x14000aefc
mov dword [r12 + 8], 0x3f4f
test edx, edx
je 0x14000b1f7
mov eax, dword [r12 + 0x18]
test eax, eax
je 0x14000b1f7
xor ebx, ebx
mov r15d, r11d
xor ebp, ebp
mov ecx, ebx
jmp 0x140009f5a
add edx, eax
mov r9d, 0xffffffff
mov ecx, edx
shl r9d, cl
mov edx, r9d
not edx
mov r9d, edx
and r9d, ebp
jmp 0x14000b3a4
test esi, esi
je 0x14000abfa
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 0x14000b380
movzx edx, byte [rcx]
sub ebx, eax
movzx r8d, word [rcx + 2]
mov ecx, eax
sub ebx, r9d
mov dword [r12 + 0x1be4], r11d
shr ebp, cl
mov ecx, r9d
shr ebp, cl
test dl, dl
mov dword [r12 + 0x50], r8d
je 0x14000a512
jmp 0x14000af49
mov eax, edx
mov edx, r9d
mov r9d, r10d
mov r10d, ebx
mov ebx, ecx
mov ecx, r10d
sub ebx, r10d
xor r11d, r11d
shr ebp, cl
sub ebx, 3
mov ecx, ebp
shr ebp, 3
and ecx, 7
add ecx, 3
jmp 0x14000b099
mov ebx, ecx
mov eax, edx
cmp eax, 0x12
ja 0x14000b484
lea rdx, [0x1400153e0]
mov ecx, 0x12
mov r8d, eax
lea rdx, [rdx + r8*2]
sub ecx, eax
lea rax, [rcx + r8]
lea rcx, [0x1400153e2]
lea rcx, [rcx + rax*2]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop dword [rax]
movzx eax, word [rdx]
add rdx, 2
xor r11d, r11d
cmp rcx, rdx
mov word [r12 + rax*2 + 0x90], r11w
jne 0x14000b460
mov dword [r12 + 0x84], 0x13
lea rax, [r12 + 0x550]
xor ecx, ecx
mov dword [r12 + 0x70], 7
mov r8d, 0x13
mov qword [r12 + 0x88], rax
lea rdx, [r12 + 0x90]
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x310]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [r12 + 0x88]
mov qword [rsp + 0x48], r10
call fcn.14000c340
mov r10, qword [rsp + 0x48]
test eax, eax
je 0x14000b5ec
lea rax, str.invalid_code_lengths_set
mov r11d, dword [rsp + 0x40]
mov rdi, r10
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov r10, rdi
jmp 0x14000b41e
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0x58], edx
jmp 0x140009e55
mov dword [r12 + 8], 0x3f4f
jmp 0x14000b328
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000b549
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rdx], eax
test ebp, 0x200
je 0x14000b55d
test byte [r12 + 0x10], 4
jne 0x14000b7e0
mov dword [r12 + 8], 0x3f36
xor ebp, ebp
xor ecx, ecx
jmp 0x14000a23a
movzx edx, byte [r9]
movzx r9d, word [r9 + 2]
jmp 0x14000a4f5
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.140008af0
mov dword [r12 + 0x20], eax
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000ae59
mov eax, edx
mov edx, r9d
mov r9d, r10d
mov r10d, ebx
mov ebx, ecx
mov ecx, r10d
sub ebx, r10d
shr ebp, cl
test r9d, r9d
je 0x14000b7cf
lea ecx, [r9 - 1]
sub ebx, 2
movzx r11d, word [r12 + rcx*2 + 0x90]
mov ecx, ebp
shr ebp, 2
and ecx, 3
add ecx, 3
jmp 0x14000b099
mov r11d, dword [r12 + 0x7c]
mov rdi, r10
mov dword [r12 + 0x84], 0
mov dword [r12 + 8], 0x3f46
mov eax, r11d
add eax, dword [r12 + 0x80]
je 0x14000a805
xor r9d, r9d
jmp 0x14000a0d1
call fcn.1400084e0
mov r11d, dword [rsp + 0x40]
jmp 0x14000b300
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x10], r14
mov qword [r13], rdi
mov dword [r13 + 8], esi
mov dword [rsp + 0x44], 2
mov dword [r13 + 0x18], r11d
mov dword [r12 + 0x48], ebp
mov dword [r12 + 0x4c], ebx
jmp 0x140009e32
mov r8d, r15d
mov r11d, edx
sub r8d, edx
jmp 0x140009d40
mov eax, dword [r12 + 0x30]
test eax, eax
jne 0x14000b67d
mov dword [r12 + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140008af0
lea rdx, [rsp + 0x6c]
xor ebx, ebx
xor ebp, ebp
mov ecx, eax
mov dword [r12 + 0x20], eax
mov r8d, 2
mov eax, 0xffff8b1f
mov word [rsp + 0x6c], ax
call fcn.140008af0
mov ecx, ebx
mov dword [r12 + 8], 0x3f35
mov dword [r12 + 0x20], eax
jmp 0x14000a47a
mov dword [r12 + 8], 0x3f4f
xor ebx, ebx
mov r15d, r11d
xor ebp, ebp
mov ecx, ebx
jmp 0x140009f5a
movzx r10d, byte [rdx]
movzx r11d, word [rdx + 2]
jmp 0x14000b17a
mov eax, dword [r12 + 0x30]
shr ebp, 4
mov ecx, ebp
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x14000b804
cmp ecx, 0xf
mov dword [r12 + 0x30], ecx
jbe 0x14000b815
lea rax, str.invalid_window_size
mov r11d, dword [rsp + 0x40]
sub ebx, 4
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
lea rax, [r12 + 0x550]
mov r8d, r11d
mov ecx, 1
mov dword [r12 + 0x70], 9
mov qword [r12 + 0x88], rax
lea r10, [r12 + 0x310]
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x70]
lea r9, [r12 + 0x88]
mov qword [rsp + 0x28], r10
lea rdx, [r12 + 0x90]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], rdx
call fcn.14000c340
mov rdx, qword [rsp + 0x48]
test eax, eax
mov r9, qword [rsp + 0x50]
mov r10, qword [rsp + 0x58]
je 0x14000b859
lea rax, str.invalid_literal_lengths_set
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov r11d, dword [rsp + 0x40]
jmp 0x140009d29
mov r11d, dword [rsp + 0x40]
lea rax, str.invalid_bit_length_repeat
jmp 0x14000acbd
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], bp
call fcn.140008af0
mov dword [r12 + 0x20], eax
jmp 0x14000b55d
cmp ecx, 0xf
ja 0x14000b70e
cmp eax, ecx
jb 0x14000b70e
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.1400084e0
and ebp, 0x200
mov dword [r12 + 0x20], eax
mov dword [r13 + 0x4c], eax
jne 0x14000b8f4
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
jmp case.0x140009a3c.16191
mov rax, qword [r12 + 0x88]
mov ecx, 2
mov dword [r12 + 0x74], 6
mov r8d, dword [r12 + 0x80]
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.14000c340
test eax, eax
je 0x14000ad79
lea rax, str.invalid_distances_set
mov r11d, dword [rsp + 0x40]
mov qword [r13 + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x140009d29
mov r11d, dword [rsp + 0x40]
mov r8d, r15d
xor ebx, ebx
xor ebp, ebp
sub r8d, r11d
jmp 0x140009d40
mov r11d, dword [rsp + 0x40]
xor edi, edi
mov r8d, r15d
shr ebp, 3
mov dword [rsp + 0x44], edi
sub ebx, 3
mov rdi, rdx
sub r8d, r11d
jmp 0x140009d40
mov dword [r12 + 8], 0x3f3d
xor ebp, ebp
xor ecx, ecx
jmp 0x140009f9a