Function at 0x10041c1f0
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, 0x78
mov rbx, qword [0x10042dbb0]
mov rax, qword [rbx]
mov qword [rsp + 0x68], rax
xor eax, eax
mov dword [rsp + 0xc8], edx
mov r15, rcx
call fcn.10041bcd0
mov dword [rsp + 0x3c], eax
test eax, eax
jne case.default.0x10041c296
mov r11, qword [rcx + 0x18]
test r11, r11
je case.default.0x10041c296
mov eax, dword [rcx + 8]
mov rdi, qword [rcx]
mov dword [rsp + 0x38], eax
test rdi, rdi
je 0x10041c410
mov rbp, qword [r15 + 0x38]
mov eax, dword [rbp + 8]
cmp eax, 0x3f3f
jne 0x10041c266
mov dword [rbp + 8], 0x3f40
mov eax, 0x3f40
mov r13d, dword [r15 + 0x20]
mov r14, qword [rbp + 0x50]
mov ebx, dword [rbp + 0x58]
mov esi, dword [rsp + 0x38]
mov dword [rsp + 0x30], r13d
sub eax, 0x3f34
cmp eax, 0x1e
ja case.default.0x10041c296
lea rdx, [0x10042a4d8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp ebx, 0x1f
ja 0x10041c2d8
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041c2c0
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041c2b8
mov rax, r14
mov rdx, r14
xor ebx, ebx
shr rax, 0x18
shr rdx, 8
and edx, 0xff00
movzx eax, al
or rax, rdx
mov rdx, r14
shl r14, 0x18
shl rdx, 8
mov r14d, r14d
and edx, 0xff0000
add rdx, r14
xor r14d, r14d
add rax, rdx
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
mov dword [rbp + 8], 0x3f3e
mov r10d, dword [rbp + 0x14]
test r10d, r10d
je 0x10041db8e
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x40], r11
call fcn.10041f200
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
mov dword [rbp + 8], 0x3f3f
nop word [rax + rax]
mov eax, dword [rsp + 0xc8]
sub eax, 5
cmp eax, 1
jbe 0x10041d012
mov r9d, dword [rbp + 0xc]
test r9d, r9d
je 0x10041c4e8
mov ecx, ebx
mov dword [rbp + 8], 0x3f4e
and ebx, 0xfffffff8
and ecx, 7
shr r14, cl
mov edx, dword [rbp + 0x10]
test edx, edx
je 0x10041c400
cmp ebx, 0x1f
ja 0x10041c3ca
mov ecx, ebx
test esi, esi
jne 0x10041c3b0
jmp 0x10041d012
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041c3a8
mov ebx, ecx
mov r8d, dword [rsp + 0x30]
mov ecx, edx
and ecx, 4
sub r8d, r13d
mov eax, r8d
add qword [r15 + 0x28], rax
add qword [rbp + 0x28], rax
test r8d, r8d
je 0x10041d6c8
test ecx, ecx
jne 0x10041d692
mov dword [rsp + 0x30], r13d
xor ebx, ebx
xor r14d, r14d
nop dword [rax]
mov dword [rbp + 8], 0x3f4f
jmp 0x10041cb13
test eax, eax
je 0x10041c24c
mov dword [rsp + 0x3c], 0xfffffffe
jmp 0x10041c725
lea rax, [0x10042a5e0]
shr r14, 3
sub ebx, 3
cmp dword [rsp + 0xc8], 6
mov qword [rbp + 0x68], rax
lea rax, [0x10042a560]
mov qword [rbp + 0x70], rax
movabs rax, 0x500000009
mov qword [rbp + 0x78], rax
mov dword [rbp + 8], 0x3f47
je 0x10041ddc7
mov rdi, rdx
nop dword [rax + rax]
mov dword [rbp + 8], 0x3f48
cmp esi, 5
jbe 0x10041d100
cmp r13d, 0x101
jbe 0x10041d100
mov qword [r15 + 0x18], r11
mov edx, dword [rsp + 0x30]
mov rcx, r15
mov dword [r15 + 0x20], r13d
mov qword [r15], rdi
mov dword [r15 + 8], esi
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], ebx
call fcn.10041fb00
mov eax, dword [rbp + 8]
mov r11, qword [r15 + 0x18]
mov r13d, dword [r15 + 0x20]
mov rdi, qword [r15]
mov esi, dword [r15 + 8]
mov r14, qword [rbp + 0x50]
mov ebx, dword [rbp + 0x58]
cmp eax, 0x3f3f
jne 0x10041c27a
mov dword [rbp + 0x1bec], 0xffffffff
jmp case.0x10041c296.16191
cmp ebx, 2
ja 0x10041dab8
test esi, esi
je 0x10041dae7
movzx eax, byte [rdi]
mov ecx, ebx
sub esi, 1
lea rdx, [rdi + 1]
add ebx, 8
shl rax, cl
add r14, rax
mov eax, r14d
and eax, 1
mov dword [rbp + 0xc], eax
mov rax, r14
shr rax, 1
and eax, 3
cmp eax, 2
je 0x10041cf12
cmp eax, 3
je 0x10041d741
cmp eax, 1
je 0x10041c425
mov dword [rbp + 8], 0x3f41
shr r14, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr r14, cl
cmp ebx, 0x1f
ja 0x10041c592
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041c578
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041c570
mov ebx, ecx
mov rax, r14
movzx edx, r14w
shr rax, 0x10
xor rax, 0xffff
cmp rdx, rax
je 0x10041d648
lea rax, str.invalid_stored_block_lengths
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov r8d, dword [rbp + 0x64]
test r8d, r8d
jne 0x10041d4e0
mov dword [rbp + 8], 0x3f4c
test r13d, r13d
je 0x10041d9d1
mov ecx, dword [rsp + 0x30]
mov eax, dword [rbp + 0x60]
mov edx, ecx
sub edx, r13d
cmp eax, edx
jbe 0x10041d4a8
lea edx, [rax + r13]
mov eax, edx
sub eax, ecx
cmp dword [rbp + 0x40], eax
jae 0x10041d280
mov r12d, dword [rbp + 0x1be8]
test r12d, r12d
je 0x10041d280
lea rax, str.invalid_distance_too_far_back
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x3c], 0xfffffffd
sub r12d, r13d
nop dword [rax]
mov r10d, dword [rbp + 0x3c]
mov qword [r15 + 0x18], r11
mov dword [r15 + 0x20], r13d
mov qword [r15], rdi
mov dword [r15 + 8], esi
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], ebx
test r10d, r10d
jne 0x10041c680
cmp dword [rsp + 0x30], r13d
je 0x10041c6a3
mov eax, dword [rbp + 8]
cmp eax, 0x3f50
ja 0x10041c6a3
cmp dword [rsp + 0xc8], 4
jne 0x10041c680
cmp eax, 0x3f4d
ja 0x10041c6a3
nop dword [rax]
mov r8d, r12d
mov rdx, r11
mov rcx, r15
call fcn.10041bd20
test eax, eax
jne 0x10041d9bd
mov esi, dword [r15 + 8]
mov r12d, dword [rsp + 0x30]
sub r12d, dword [r15 + 0x20]
mov ebx, dword [rsp + 0x38]
sub ebx, esi
mov eax, ebx
add qword [r15 + 0x10], rax
mov eax, r12d
add qword [r15 + 0x28], rax
add qword [rbp + 0x28], rax
test byte [rbp + 0x10], 4
je 0x10041c6c9
test r12d, r12d
jne 0x10041d020
mov ecx, dword [rbp + 0xc]
xor edx, edx
test ecx, ecx
mov ecx, dword [rbp + 8]
setne dl
shl edx, 6
add edx, dword [rbp + 0x58]
lea eax, [rdx + 0x80]
cmp ecx, 0x3f3f
je 0x10041c706
cmp ecx, 0x3f47
sete al
cmp ecx, 0x3f42
sete cl
or eax, ecx
movzx eax, al
shl eax, 8
add eax, edx
or ebx, r12d
mov dword [r15 + 0x58], eax
je 0x10041c719
cmp dword [rsp + 0xc8], 4
jne 0x10041c725
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x10041d734
mov rbx, qword [0x10042dbb0]
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx]
jne 0x10041dcc1
mov eax, dword [rsp + 0x3c]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rbp + 0x64]
test edx, edx
jne 0x10041d310
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x1bf0], eax
mov dword [rbp + 8], 0x3f4a
mov ecx, dword [rbp + 0x7c]
mov r9d, 0xffffffff
mov r10, qword [rbp + 0x70]
shl r9d, cl
not r9d
mov eax, r9d
and eax, r14d
lea rax, [r10 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, dl
mov dword [rsp + 0x40], eax
cmp ebx, eax
jae 0x10041c7ef
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041c7b8
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
mov eax, r9d
and eax, r14d
lea rax, [r10 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, dl
cmp eax, ecx
ja 0x10041c7b0
mov dword [rsp + 0x40], eax
mov ebx, ecx
mov r9d, eax
test r8b, 0xf0
je 0x10041d3e3
mov r9d, dword [rbp + 0x1bec]
mov ecx, eax
sub ebx, eax
add eax, r9d
mov dword [rbp + 0x1bec], eax
shr r14, cl
test r8b, 0x40
je 0x10041d4c0
lea rax, [0x10042a45b]
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
xor ebx, ebx
xor r14d, r14d
mov dword [rbp + 8], 0x3f50
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x3c], 1
sub r12d, r13d
jmp 0x10041c638
mov eax, dword [rbp + 0x18]
test ah, 2
jne 0x10041c8d1
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x10041c879
sar eax, 9
mov dword [rdx + 0x48], 1
and eax, 1
mov dword [rdx + 0x44], eax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x40], r11
call fcn.10041f830
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
mov dword [rbp + 8], 0x3f3f
jmp case.0x10041c296.16191
mov eax, dword [rbp + 0x18]
test ah, 0x10
jne 0x10041d060
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x10041c8c5
mov qword [rdx + 0x38], 0
mov dword [rbp + 8], 0x3f3c
test ah, 2
je 0x10041c860
cmp ebx, 0xf
ja 0x10041c90a
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041c8f0
test esi, esi
je 0x10041d010
movzx edx, byte [rdi]
add rdi, 1
sub esi, 1
shl rdx, cl
add ecx, 8
add r14, rdx
cmp ecx, 0xf
jbe 0x10041c8e8
mov ebx, ecx
test byte [rbp + 0x10], 4
je 0x10041d3c0
movzx edx, word [rbp + 0x20]
cmp rdx, r14
je 0x10041d3c0
lea rax, str.header_crc_mismatch
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 8], 0x3f43
test eax, eax
je 0x10041d1c8
cmp esi, eax
cmovbe eax, esi
cmp eax, r13d
cmova eax, r13d
mov r12d, eax
test eax, eax
je 0x10041d012
mov r8d, eax
mov rdx, rdi
mov rcx, r11
sub esi, r12d
mov qword [rsp + 0x40], r8
sub r13d, r12d
call fcn.1004203e0
mov r8, qword [rsp + 0x40]
sub dword [rbp + 0x5c], r12d
mov r11, rax
mov eax, dword [rbp + 8]
add rdi, r8
add r11, r8
jmp 0x10041c27a
mov eax, dword [rbp + 0x5c]
jmp 0x10041c94a
mov r10d, dword [rbp + 0x8c]
mov eax, dword [rbp + 0x84]
mov r12d, dword [rbp + 0x88]
add r12d, eax
mov dword [rsp + 0x48], eax
cmp r12d, r10d
jbe 0x10041d38e
mov ecx, dword [rbp + 0x78]
mov edx, 0xffffffff
mov dword [rsp + 0x40], r12d
mov r8, qword [rbp + 0x68]
shl edx, cl
not edx
mov eax, edx
and eax, r14d
lea rax, [r8 + rax*4]
movzx ecx, byte [rax + 1]
movzx r9d, word [rax + 2]
movzx eax, cl
cmp eax, ebx
jbe 0x10041ca4c
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041ca18
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
mov eax, edx
and eax, r14d
lea rax, [r8 + rax*4]
movzx ebx, byte [rax + 1]
movzx r9d, word [rax + 2]
movzx eax, bl
cmp eax, ecx
ja 0x10041ca10
mov r12d, ecx
mov ecx, ebx
mov ebx, r12d
cmp r9w, 0xf
jbe 0x10041d368
cmp r9w, 0x10
je 0x10041d950
cmp r9w, 0x11
je 0x10041d762
lea r12d, [rax + 7]
cmp ebx, r12d
jae 0x10041caab
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041ca90
test esi, esi
je 0x10041d010
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9, cl
add ecx, 8
add r14, r9
cmp ecx, r12d
jb 0x10041ca88
mov ebx, ecx
mov ecx, eax
mov r9d, 0xfffffff9
shr r14, cl
sub r9d, eax
mov ecx, r14d
add ebx, r9d
shr r14, 7
xor r9d, r9d
and ecx, 0x7f
add ecx, 0xb
add r10d, ecx
cmp r10d, dword [rsp + 0x40]
ja 0x10041dcaa
mov eax, dword [rbp + 0x8c]
lea r10d, [rcx + rax]
nop dword [rax]
mov ecx, eax
add eax, 1
mov word [rbp + rcx*2 + 0x98], r9w
cmp r10d, eax
jne 0x10041cae8
mov dword [rbp + 0x8c], r10d
jmp 0x10041d383
mov edx, dword [rbp + 0x10]
test edx, edx
je 0x10041c839
mov r12d, dword [rbp + 0x18]
test r12d, r12d
je 0x10041c839
cmp ebx, 0x1f
ja 0x10041cb62
mov ecx, ebx
test esi, esi
jne 0x10041cb48
jmp 0x10041d012
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041cb40
mov ebx, ecx
and edx, 4
je 0x10041c834
mov eax, dword [rbp + 0x28]
cmp r14, rax
je 0x10041c834
lea rax, str.incorrect_length_check
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov r8d, dword [rbp + 0x8c]
mov r9d, dword [rbp + 0x80]
mov ecx, ebx
cmp r9d, r8d
jbe 0x10041d7d1
cmp ecx, 2
ja 0x10041cc0a
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
sub esi, 1
lea rdx, [rdi + 1]
shl rax, cl
add ecx, 8
add r14, rax
lea rbx, [0x10042ade0]
lea eax, [r8 + 1]
mov r10d, r14d
sub ecx, 3
movzx r8d, word [rbx + r8*2]
and r10d, 7
mov dword [rbp + 0x8c], eax
shr r14, 3
mov word [rbp + r8*2 + 0x98], r10w
cmp eax, r9d
jae 0x10041d7c9
mov rdi, rdx
mov r8d, eax
cmp ecx, 2
jbe 0x10041cbae
mov rdx, rdi
jmp 0x10041cbc9
mov edx, dword [rbp + 0x10]
test edx, edx
jne 0x10041d54c
mov dword [rbp + 8], 0x3f40
jmp case.0x10041c296.16192
cmp ebx, 0x1f
ja 0x10041cc68
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041cc50
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041cc48
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041cc75
mov qword [rax + 8], r14
test byte [rbp + 0x19], 2
je 0x10041cc85
test byte [rbp + 0x10], 4
jne 0x10041d8f2
mov dword [rbp + 8], 0x3f37
xor r14d, r14d
xor ebx, ebx
jmp 0x10041cc9d
cmp ebx, 0xf
ja 0x10041ccd0
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041ccb8
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041ccb0
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041ccea
movzx edx, r14b
mov dword [rax + 0x10], edx
mov rdx, r14
shr rdx, 8
mov dword [rax + 0x14], edx
mov edx, dword [rbp + 0x18]
test dh, 2
je 0x10041cd28
test byte [rbp + 0x10], 4
je 0x10041cd28
mov rcx, qword [rbp + 0x20]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x40], r11
mov r8d, 2
mov word [rsp + 0x64], r14w
call fcn.10041f830
mov edx, dword [rbp + 0x18]
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
nop dword [rax + rax]
mov dword [rbp + 8], 0x3f38
xor ebx, ebx
xor r14d, r14d
test dh, 4
je 0x10041cd9c
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041cd50
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041cd48
mov rax, qword [rbp + 0x30]
mov dword [rbp + 0x5c], r14d
test rax, rax
je 0x10041cd79
mov dword [rax + 0x20], r14d
test dh, 2
je 0x10041cd88
test byte [rbp + 0x10], 4
jne 0x10041db31
xor ebx, ebx
xor r14d, r14d
jmp 0x10041cdad
mov edx, dword [rbp + 0x18]
test dh, 4
jne 0x10041d53e
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041cdad
mov qword [rax + 0x18], 0
mov dword [rbp + 8], 0x3f39
mov eax, edx
and dh, 4
je 0x10041ce69
mov edx, dword [rbp + 0x5c]
cmp esi, edx
mov r12d, edx
cmovbe r12d, esi
test r12d, r12d
je 0x10041ce5e
mov rcx, qword [rbp + 0x30]
mov r10d, r12d
test rcx, rcx
je 0x10041ce40
mov r8, qword [rcx + 0x18]
test r8, r8
je 0x10041ce40
mov r9d, dword [rcx + 0x20]
mov ecx, dword [rcx + 0x24]
mov dword [rsp + 0x40], r9d
sub r9d, edx
cmp ecx, r9d
jbe 0x10041ce40
lea eax, [r12 + r9]
mov qword [rsp + 0x48], r10
cmp ecx, eax
jae 0x10041ce17
add ecx, edx
mov edx, ecx
sub edx, dword [rsp + 0x40]
mov qword [rsp + 0x48], rdx
lea rcx, [r8 + r9]
mov r8, qword [rsp + 0x48]
mov rdx, rdi
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x40], r10
call fcn.1004203e0
mov eax, dword [rbp + 0x18]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
nop
test ah, 2
je 0x10041ce4f
test byte [rbp + 0x10], 4
jne 0x10041d8a6
mov edx, dword [rbp + 0x5c]
sub esi, r12d
add rdi, r10
sub edx, r12d
mov dword [rbp + 0x5c], edx
test edx, edx
jne 0x10041d012
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x5c], 0
mov dword [rbp + 8], 0x3f3a
test ah, 8
jne 0x10041d1d8
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x10041ce91
mov qword [rdx + 0x28], 0
mov dword [rbp + 0x5c], 0
mov dword [rbp + 8], 0x3f3b
jmp 0x10041c8ab
mov eax, dword [rbp + 0x18]
jmp 0x10041ce77
cmp ebx, 0xf
ja 0x10041ceea
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041ced0
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041cec8
mov ebx, ecx
mov dword [rbp + 0x18], r14d
mov eax, r14d
cmp r14b, 8
je 0x10041d66e
lea rax, str.unknown_compression_method
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov dword [rbp + 8], 0x3f44
shr r14, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax + rax]
cmp ebx, 0xd
ja 0x10041cf62
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041cf48
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xd
jbe 0x10041cf40
mov ebx, ecx
mov rax, r14
mov r9, r14
mov edx, r14d
sub ebx, 0xe
shr rax, 5
shr r9, 0xa
and edx, 0x1f
and eax, 0x1f
and r9d, 0xf
add edx, 0x101
shr r14, 0xe
add eax, 1
add r9d, 4
mov dword [rbp + 0x84], edx
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x80], r9d
cmp eax, 0x1e
ja 0x10041cfb5
cmp edx, 0x11e
jbe 0x10041d935
lea rax, str.too_many_length_or_distance_symbols
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov dword [rbp + 0x1bec], eax
shr r14, cl
sub ebx, eax
mov dword [rbp + 0x5c], r12d
mov dword [rbp + 8], 0x3f4d
test r13d, r13d
je 0x10041d9d1
mov eax, dword [rbp + 0x5c]
sub r13d, 1
add r11, 1
mov byte [r11 - 1], al
mov dword [rbp + 8], 0x3f48
jmp case.0x10041c296.16200
mov ebx, ecx
mov r12d, dword [rsp + 0x30]
sub r12d, r13d
jmp 0x10041c638
mov rdx, qword [r15 + 0x18]
mov r9d, dword [rbp + 0x18]
mov r8d, r12d
mov rcx, qword [rbp + 0x20]
sub rdx, rax
test r9d, r9d
je 0x10041d050
call fcn.10041f830
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
jmp 0x10041c6c9
call fcn.10041f200
jmp 0x10041d03c
test esi, esi
je 0x10041d012
mov rdx, rdi
xor r12d, r12d
jmp 0x10041d075
cmp esi, r12d
jbe 0x10041d0aa
mov rax, qword [rbp + 0x30]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x10041d0a1
mov r8, qword [rax + 0x38]
test r8, r8
je 0x10041d0a1
mov ecx, dword [rbp + 0x5c]
cmp ecx, dword [rax + 0x40]
jae 0x10041d0a1
lea eax, [rcx + 1]
mov dword [rbp + 0x5c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x10041d070
test byte [rbp + 0x19], 2
je 0x10041d0e0
test byte [rbp + 0x10], 4
je 0x10041d0e0
mov rcx, qword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.10041f830
mov r11, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov qword [rbp + 0x20], rax
nop
sub esi, r12d
add rdi, r12
test r9b, r9b
jne 0x10041d012
mov eax, dword [rbp + 0x18]
jmp 0x10041c8c5
mov ecx, dword [rbp + 0x78]
mov r9d, 0xffffffff
mov r8, qword [rbp + 0x68]
mov dword [rbp + 0x1bec], 0
shl r9d, cl
not r9d
mov eax, r9d
and eax, r14d
lea rax, [r8 + rax*4]
movzx ecx, byte [rax + 1]
movzx edx, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, cl
cmp eax, ebx
jbe 0x10041d18f
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041d158
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
mov eax, r9d
and eax, r14d
lea rax, [r8 + rax*4]
movzx r10d, byte [rax + 1]
movzx edx, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, r10b
cmp eax, ecx
ja 0x10041d150
mov ebx, ecx
mov ecx, r10d
test dl, dl
je 0x10041cfcc
test dl, 0xf0
je 0x10041d9db
mov dword [rbp + 0x1bec], eax
mov ecx, eax
sub ebx, eax
mov dword [rbp + 0x5c], r12d
shr r14, cl
test dl, 0x20
je 0x10041d8d2
mov dword [rbp + 0x1bec], 0xffffffff
nop dword [rax]
mov dword [rbp + 8], 0x3f3f
jmp case.0x10041c296.16191
test esi, esi
je 0x10041d012
mov rdx, rdi
xor r12d, r12d
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x30]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x10041d21c
mov r8, qword [rax + 0x28]
test r8, r8
je 0x10041d21c
mov ecx, dword [rbp + 0x5c]
cmp ecx, dword [rax + 0x30]
jae 0x10041d21c
lea eax, [rcx + 1]
mov dword [rbp + 0x5c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x10041d22a
cmp esi, r12d
ja 0x10041d1f0
test byte [rbp + 0x19], 2
je 0x10041d260
test byte [rbp + 0x10], 4
je 0x10041d260
mov rcx, qword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.10041f830
mov r11, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov qword [rbp + 0x20], rax
nop
sub esi, r12d
add rdi, r12
test r9b, r9b
jne 0x10041d012
mov eax, dword [rbp + 0x18]
jmp 0x10041ce91
mov r9d, dword [rsp + 0x30]
mov r8d, dword [rbp + 0x44]
mov rcx, qword [rbp + 0x48]
sub r9d, edx
cmp r8d, eax
jb 0x10041d3d0
lea edx, [r8 + r9]
add rcx, rdx
mov edx, dword [rbp + 0x5c]
cmp edx, eax
cmovbe eax, edx
cmp eax, r13d
cmova eax, r13d
sub edx, eax
lea r8d, [rax - 1]
sub r13d, eax
xor eax, eax
mov dword [rbp + 0x5c], edx
lea r9, [r8 + 1]
nop dword [rax]
movzx edx, byte [rcx + rax]
mov byte [r11 + rax], dl
mov rdx, rax
add rax, 1
cmp r8, rdx
jne 0x10041d2c8
mov r10d, dword [rbp + 0x5c]
add r11, r9
test r10d, r10d
je case.0x10041c296.16199
mov eax, dword [rbp + 8]
jmp 0x10041c27a
mov edx, dword [rbp + 0x18]
jmp 0x10041cdb4
mov dword [rsp + 0x3c], 0xfffffffc
jmp 0x10041c725
cmp ebx, edx
jae 0x10041d341
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041d328
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, edx
jb 0x10041d320
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
add dword [rbp + 0x1bec], edx
sub ebx, edx
shl eax, cl
not eax
and eax, r14d
add eax, dword [rbp + 0x5c]
shr r14, cl
mov dword [rbp + 0x5c], eax
jmp 0x10041c75e
sub ebx, eax
lea eax, [r10 + 1]
shr r14, cl
mov dword [rbp + 0x8c], eax
mov word [rbp + r10*2 + 0x98], r9w
mov r10d, eax
cmp dword [rsp + 0x40], r10d
ja 0x10041c9e1
cmp dword [rbp + 8], 0x3f51
je case.0x10041c296.16209
cmp word [rbp + 0x298], 0
jne 0x10041dc1f
lea rax, str.invalid_code____missing_end_of_block
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
xor ebx, ebx
xor r14d, r14d
jmp 0x10041c860
sub eax, r8d
add r8d, dword [rbp + 0x3c]
lea edx, [r8 + r9]
add rcx, rdx
jmp 0x10041d2a0
lea ecx, [r8 + rax]
mov eax, 0xffffffff
mov dword [rsp + 0x50], r12d
shl eax, cl
mov ecx, edx
not eax
mov dword [rsp + 0x48], eax
and eax, r14d
shr eax, cl
add eax, r12d
mov eax, eax
lea rax, [r10 + rax*4]
movzx r8d, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, byte [rax + 1]
lea edx, [rax + r9]
cmp edx, ebx
jbe 0x10041d48d
test esi, esi
je 0x10041d012
mov qword [rsp + 0x58], r11
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x48]
jmp 0x10041d448
test esi, esi
je 0x10041d894
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl rax, cl
mov ecx, r9d
add r14, rax
mov eax, r11d
and eax, r14d
shr eax, cl
add eax, r8d
mov eax, eax
lea rax, [r10 + rax*4]
movzx ecx, byte [rax]
movzx r12d, word [rax + 2]
movzx eax, byte [rax + 1]
lea edx, [rax + r9]
cmp edx, ebx
ja 0x10041d440
mov r11, qword [rsp + 0x58]
mov r8d, ecx
mov ecx, r9d
sub ebx, dword [rsp + 0x40]
add r9d, dword [rbp + 0x1bec]
shr r14, cl
jmp 0x10041c803
mov rcx, r11
sub rcx, rax
mov eax, dword [rbp + 0x5c]
mov edx, eax
jmp 0x10041d2a8
movzx eax, r12w
and r8d, 0xf
mov dword [rbp + 8], 0x3f4b
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], r8d
jmp 0x10041c5c4
cmp ebx, r8d
jae 0x10041d51a
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041d500
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, r8d
jb 0x10041d4f8
mov ebx, ecx
mov ecx, r8d
mov eax, 0xffffffff
add dword [rbp + 0x1bec], r8d
sub ebx, r8d
shl eax, cl
not eax
and eax, r14d
shr r14, cl
add dword [rbp + 0x60], eax
jmp 0x10041c5cd
cmp ebx, 0xf
jbe 0x10041cd39
jmp 0x10041cd68
cmp ebx, 0xf
ja 0x10041d582
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041d568
test esi, esi
je 0x10041d010
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041d560
mov ebx, ecx
test dl, 2
je 0x10041d594
cmp r14, 0x8b1f
je 0x10041dbc3
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041d5a4
mov dword [rax + 0x48], 0xffffffff
and edx, 1
je 0x10041d91e
movabs rdx, 0x842108421084211
mov ecx, r14d
mov rax, r14
shl ecx, 8
shr rax, 8
and ecx, 0xff00
add rcx, rax
mov rax, rcx
mul rdx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
mov rdx, rax
shl rdx, 5
sub rdx, rax
cmp rcx, rdx
jne 0x10041d91e
mov eax, r14d
and eax, 0xf
cmp eax, 8
jne 0x10041cefb
shr r14, 4
mov eax, dword [rbp + 0x38]
sub ebx, 4
mov ecx, r14d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x10041dcf3
mov dword [rbp + 0x38], ecx
cmp ecx, 0xf
jbe 0x10041dd04
lea rax, str.invalid_window_size
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
movzx eax, r14w
cmp dword [rsp + 0xc8], 6
mov dword [rbp + 8], 0x3f42
mov dword [rbp + 0x5c], eax
je 0x10041ddb5
xor ebx, ebx
xor r14d, r14d
jmp 0x10041c943
test r14d, 0xe000
je 0x10041dafc
lea rax, str.unknown_header_flags_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov r9d, dword [rbp + 0x18]
mov rdx, r11
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x30], r11
sub rdx, rax
test r9d, r9d
je 0x10041db66
call fcn.10041f830
mov r11, qword [rsp + 0x30]
mov edx, dword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
mov ecx, edx
and ecx, 4
test ecx, ecx
je 0x10041c3f3
mov ecx, dword [rbp + 0x18]
mov rax, r14
test ecx, ecx
jne 0x10041d70e
mov rcx, r14
shr rax, 0x18
mov r8, r14
shr rcx, 8
movzx eax, al
shl r8, 0x18
and ecx, 0xff00
mov r8d, r8d
or rax, rcx
mov rcx, r14
shl rcx, 8
and ecx, 0xff0000
add rcx, r8
add rax, rcx
cmp qword [rbp + 0x20], rax
je 0x10041c3f3
lea rax, str.incorrect_data_check
mov dword [rsp + 0x30], r13d
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov dword [rsp + 0x3c], 0xfffffffb
jmp 0x10041c725
lea rax, str.invalid_block_type
shr r14, 3
sub ebx, 3
mov rdi, rdx
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
lea r12d, [rax + 3]
cmp ebx, r12d
jae 0x10041d7a3
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041d788
test esi, esi
je 0x10041d010
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9, cl
add ecx, 8
add r14, r9
cmp ecx, r12d
jb 0x10041d780
mov ebx, ecx
mov ecx, eax
mov r9d, 0xfffffffd
shr r14, cl
sub r9d, eax
mov ecx, r14d
add ebx, r9d
shr r14, 3
xor r9d, r9d
and ecx, 7
add ecx, 3
jmp 0x10041cacc
mov ebx, ecx
mov r8d, eax
mov rdi, rdx
cmp r8d, 0x12
ja 0x10041d822
mov edx, 0x12
mov ecx, r8d
lea rax, [0x10042ade0]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x10042ade2]
lea rcx, [rcx + rdx*2]
nop dword [rax + rax]
movzx edx, word [rax]
xor r8d, r8d
add rax, 2
mov word [rbp + rdx*2 + 0x98], r8w
cmp rcx, rax
jne 0x10041d800
mov dword [rbp + 0x8c], 0x13
lea rax, [rbp + 0x558]
mov dword [rbp + 0x78], 7
xor ecx, ecx
lea rdx, [rbp + 0x98]
mov qword [rbp + 0x90], rax
lea r9, [rbp + 0x90]
mov r8d, 0x13
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x318]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r11
call fcn.10041e780
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x10041db75
lea rax, str.invalid_code_lengths_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov r12d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x58]
sub r12d, r13d
jmp 0x10041c638
mov rcx, qword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
call fcn.10041f830
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041ce4f
test dl, 0x40
je 0x10041dac0
lea rax, [0x10042a43f]
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov rcx, qword [rbp + 0x20]
lea rdx, [rsp + 0x64]
mov r8d, 4
mov qword [rsp + 0x40], r11
mov dword [rsp + 0x64], r14d
call fcn.10041f830
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041cc85
lea rax, str.incorrect_header_check
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov dword [rbp + 0x8c], 0
xor r8d, r8d
mov ecx, ebx
mov dword [rbp + 8], 0x3f45
jmp 0x10041cba9
lea r12d, [rax + 2]
cmp r12d, ebx
jbe 0x10041d98b
test esi, esi
je 0x10041d012
mov ecx, ebx
jmp 0x10041d970
test esi, esi
je 0x10041d010
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9, cl
add ecx, 8
add r14, r9
cmp ecx, r12d
jb 0x10041d968
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r14, cl
test r10d, r10d
je 0x10041dcaa
mov ecx, r14d
lea eax, [r10 - 1]
shr r14, 2
sub ebx, 2
movzx r9d, word [rbp + rax*2 + 0x98]
and ecx, 3
add ecx, 3
jmp 0x10041cacc
mov dword [rbp + 8], 0x3f52
mov dword [rsp + 0x3c], 0xfffffffc
jmp 0x10041c725
mov r12d, dword [rsp + 0x30]
jmp 0x10041c638
add edx, eax
mov r9d, 0xffffffff
mov ecx, edx
shl r9d, cl
mov ecx, eax
not r9d
mov edx, r9d
mov dword [rsp + 0x48], r9d
and edx, r14d
shr edx, cl
add edx, r12d
mov edx, edx
lea rcx, [r8 + rdx*4]
movzx r10d, word [rcx + 2]
movzx r9d, byte [rcx + 1]
movzx edx, byte [rcx]
mov word [rsp + 0x40], r10w
lea r10d, [r9 + rax]
cmp r10d, ebx
jbe 0x10041da89
test esi, esi
je 0x10041d012
mov qword [rsp + 0x40], r11
mov r11d, dword [rsp + 0x48]
jmp 0x10041da40
test esi, esi
je 0x10041dbb1
movzx edx, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl rdx, cl
mov ecx, eax
add r14, rdx
mov edx, r11d
and edx, r14d
shr edx, cl
add edx, r12d
mov edx, edx
lea r9, [r8 + rdx*4]
movzx edx, byte [r9]
movzx ecx, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r10d, [r9 + rax]
cmp r10d, ebx
ja 0x10041da38
mov r11, qword [rsp + 0x40]
mov word [rsp + 0x40], cx
mov ecx, eax
sub ebx, eax
movzx eax, word [rsp + 0x40]
mov dword [rbp + 0x1bec], r10d
shr r14, cl
mov ecx, r9d
sub ebx, r9d
mov dword [rbp + 0x5c], eax
shr r14, cl
test dl, dl
jne 0x10041d1b1
jmp 0x10041cfdb
mov rdx, rdi
jmp 0x10041c50e
and edx, 0xf
mov dword [rbp + 8], 0x3f49
mov dword [rbp + 0x64], edx
jmp 0x10041c753
cmp dword [rsp + 0xc8], 6
mov dword [rbp + 8], 0x3f47
jne case.0x10041c296.16199
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x3c], 0
sub r12d, r13d
jmp 0x10041c638
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x10041db11
mov rdx, r14
shr rdx, 8
and edx, 1
mov dword [rcx], edx
test ah, 2
je 0x10041db20
test byte [rbp + 0x10], 4
jne 0x10041dcc6
mov dword [rbp + 8], 0x3f36
xor ebx, ebx
xor r14d, r14d
jmp 0x10041cc35
mov rcx, qword [rbp + 0x20]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x40], r11
xor ebx, ebx
mov r8d, 2
mov word [rsp + 0x64], r14w
xor r14d, r14d
call fcn.10041f830
mov edx, dword [rbp + 0x18]
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041cdad
call fcn.10041f200
mov r11, qword [rsp + 0x30]
jmp 0x10041d6b8
mov dword [rbp + 0x8c], 0
xor r10d, r10d
mov dword [rbp + 8], 0x3f46
jmp 0x10041c9af
mov qword [r15 + 0x18], r11
mov dword [r15 + 0x20], r13d
mov qword [r15], rdi
mov dword [r15 + 8], esi
mov dword [rsp + 0x3c], 2
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x58], ebx
jmp 0x10041c725
mov r12d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x40]
sub r12d, r13d
jmp 0x10041c638
mov ebx, dword [rbp + 0x38]
test ebx, ebx
jne 0x10041dbd1
mov dword [rbp + 0x38], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x40], r11
call fcn.10041f830
mov r11d, 0xffff8b1f
xor ebx, ebx
xor r14d, r14d
mov qword [rbp + 0x20], rax
mov rcx, rax
lea rdx, [rsp + 0x64]
mov r8d, 2
mov word [rsp + 0x64], r11w
call fcn.10041f830
mov dword [rbp + 8], 0x3f35
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041ceb5
lea rax, [rbp + 0x558]
mov r8d, dword [rsp + 0x48]
lea r10, [rbp + 0x318]
mov dword [rbp + 0x78], 9
mov qword [rbp + 0x68], rax
lea r12, [rbp + 0x98]
lea r9, [rbp + 0x90]
mov ecx, 1
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x78]
mov rdx, r12
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x40], r9
call fcn.10041e780
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
test eax, eax
mov r11, qword [rsp + 0x58]
je 0x10041dd4e
lea rax, str.invalid_literal_lengths_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
lea rax, str.invalid_bit_length_repeat
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
call fcn.100420230
mov rcx, qword [rbp + 0x20]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x40], r11
mov r8d, 2
mov word [rsp + 0x64], r14w
call fcn.10041f830
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041db20
cmp ecx, 0xf
ja 0x10041d62c
cmp eax, ecx
jb 0x10041d62c
mov eax, 1
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x40], r11
shl eax, cl
mov dword [rbp + 0x18], 0
xor ecx, ecx
mov dword [rbp + 0x1c], eax
call fcn.10041f200
and r14d, 0x200
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
jne 0x10041dddf
mov dword [rbp + 8], 0x3f3f
xor ebx, ebx
jmp case.0x10041c296.16191
mov rax, qword [rbp + 0x90]
mov ecx, 2
mov qword [rsp + 0x40], r11
mov dword [rbp + 0x7c], 6
mov r8d, dword [rbp + 0x88]
mov qword [rbp + 0x70], rax
mov eax, dword [rbp + 0x84]
mov qword [rsp + 0x28], r10
add rax, rax
lea rdx, [r12 + rax]
lea rax, [rbp + 0x7c]
mov qword [rsp + 0x20], rax
call fcn.10041e780
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x10041dad2
lea rax, str.invalid_distances_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041c296.16209
mov r12d, dword [rsp + 0x30]
xor ebx, ebx
xor r14d, r14d
sub r12d, r13d
jmp 0x10041c638
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x3c], 0
mov rdi, rdx
sub r12d, r13d
jmp 0x10041c638
mov dword [rbp + 8], 0x3f3d
xor r14d, r14d
xor ebx, ebx
jmp 0x10041c2a5