Function at 0x10041d040
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 [sym.imp.cygwin1.dll___stack_chk_guard]
mov rax, qword [rbx]
mov qword [rsp + 0x68], rax
xor eax, eax
mov dword [rsp + 0xc8], edx
mov r15, rcx
call fcn.10041cb20
mov dword [rsp + 0x3c], eax
test eax, eax
jne case.default.0x10041d0e6
mov r11, qword [rcx + 0x18]
test r11, r11
je case.default.0x10041d0e6
mov eax, dword [rcx + 8]
mov rdi, qword [rcx]
mov dword [rsp + 0x38], eax
test rdi, rdi
je 0x10041d260
mov rbp, qword [r15 + 0x38]
mov eax, dword [rbp + 8]
cmp eax, 0x3f3f
jne 0x10041d0b6
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.0x10041d0e6
lea rdx, [0x10042b718]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp ebx, 0x1f
ja 0x10041d128
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041d110
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041d108
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 0x10041e9de
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x40], r11
call fcn.100420050
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 0x10041de62
mov r9d, dword [rbp + 0xc]
test r9d, r9d
je 0x10041d338
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 0x10041d250
cmp ebx, 0x1f
ja 0x10041d21a
mov ecx, ebx
test esi, esi
jne 0x10041d200
jmp 0x10041de62
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041d1f8
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 0x10041e518
test ecx, ecx
jne 0x10041e4e2
mov dword [rsp + 0x30], r13d
xor ebx, ebx
xor r14d, r14d
nop dword [rax]
mov dword [rbp + 8], 0x3f4f
jmp 0x10041d963
test eax, eax
je 0x10041d09c
mov dword [rsp + 0x3c], 0xfffffffe
jmp 0x10041d575
lea rax, [0x10042b820]
shr r14, 3
sub ebx, 3
cmp dword [rsp + 0xc8], 6
mov qword [rbp + 0x68], rax
lea rax, [0x10042b7a0]
mov qword [rbp + 0x70], rax
movabs rax, 0x500000009
mov qword [rbp + 0x78], rax
mov dword [rbp + 8], 0x3f47
je 0x10041ec17
mov rdi, rdx
nop dword [rax + rax]
mov dword [rbp + 8], 0x3f48
cmp esi, 5
jbe 0x10041df50
cmp r13d, 0x101
jbe 0x10041df50
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.100420950
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 0x10041d0ca
mov dword [rbp + 0x1bec], 0xffffffff
jmp case.0x10041d0e6.16191
cmp ebx, 2
ja 0x10041e908
test esi, esi
je 0x10041e937
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 0x10041dd62
cmp eax, 3
je 0x10041e591
cmp eax, 1
je 0x10041d275
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 0x10041d3e2
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041d3c8
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041d3c0
mov ebx, ecx
mov rax, r14
movzx edx, r14w
shr rax, 0x10
xor rax, 0xffff
cmp rdx, rax
je 0x10041e498
lea rax, str.invalid_stored_block_lengths
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov r8d, dword [rbp + 0x64]
test r8d, r8d
jne 0x10041e330
mov dword [rbp + 8], 0x3f4c
test r13d, r13d
je 0x10041e821
mov ecx, dword [rsp + 0x30]
mov eax, dword [rbp + 0x60]
mov edx, ecx
sub edx, r13d
cmp eax, edx
jbe 0x10041e2f8
lea edx, [rax + r13]
mov eax, edx
sub eax, ecx
cmp dword [rbp + 0x40], eax
jae 0x10041e0d0
mov r12d, dword [rbp + 0x1be8]
test r12d, r12d
je 0x10041e0d0
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 0x10041d4d0
cmp dword [rsp + 0x30], r13d
je 0x10041d4f3
mov eax, dword [rbp + 8]
cmp eax, 0x3f50
ja 0x10041d4f3
cmp dword [rsp + 0xc8], 4
jne 0x10041d4d0
cmp eax, 0x3f4d
ja 0x10041d4f3
nop dword [rax]
mov r8d, r12d
mov rdx, r11
mov rcx, r15
call fcn.10041cb70
test eax, eax
jne 0x10041e80d
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 0x10041d519
test r12d, r12d
jne 0x10041de70
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 0x10041d556
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 0x10041d569
cmp dword [rsp + 0xc8], 4
jne 0x10041d575
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x10041e584
mov rbx, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rax, qword [rsp + 0x68]
sub rax, qword [rbx]
jne 0x10041eb11
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 0x10041e160
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 0x10041d63f
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041d608
test esi, esi
je 0x10041de60
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 0x10041d600
mov dword [rsp + 0x40], eax
mov ebx, ecx
mov r9d, eax
test r8b, 0xf0
je 0x10041e233
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 0x10041e310
lea rax, [0x10042b69b]
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.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 0x10041d488
mov eax, dword [rbp + 0x18]
test ah, 2
jne 0x10041d721
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x10041d6c9
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.100420680
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
mov dword [rbp + 8], 0x3f3f
jmp case.0x10041d0e6.16191
mov eax, dword [rbp + 0x18]
test ah, 0x10
jne 0x10041deb0
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x10041d715
mov qword [rdx + 0x38], 0
mov dword [rbp + 8], 0x3f3c
test ah, 2
je 0x10041d6b0
cmp ebx, 0xf
ja 0x10041d75a
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041d740
test esi, esi
je 0x10041de60
movzx edx, byte [rdi]
add rdi, 1
sub esi, 1
shl rdx, cl
add ecx, 8
add r14, rdx
cmp ecx, 0xf
jbe 0x10041d738
mov ebx, ecx
test byte [rbp + 0x10], 4
je 0x10041e210
movzx edx, word [rbp + 0x20]
cmp rdx, r14
je 0x10041e210
lea rax, str.header_crc_mismatch
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 8], 0x3f43
test eax, eax
je 0x10041e018
cmp esi, eax
cmovbe eax, esi
cmp eax, r13d
cmova eax, r13d
mov r12d, eax
test eax, eax
je 0x10041de62
mov r8d, eax
mov rdx, rdi
mov rcx, r11
sub esi, r12d
mov qword [rsp + 0x40], r8
sub r13d, r12d
call sub.cygwin1.dll_memcpy
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 0x10041d0ca
mov eax, dword [rbp + 0x5c]
jmp 0x10041d79a
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 0x10041e1de
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 0x10041d89c
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041d868
test esi, esi
je 0x10041de60
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 0x10041d860
mov r12d, ecx
mov ecx, ebx
mov ebx, r12d
cmp r9w, 0xf
jbe 0x10041e1b8
cmp r9w, 0x10
je 0x10041e7a0
cmp r9w, 0x11
je 0x10041e5b2
lea r12d, [rax + 7]
cmp ebx, r12d
jae 0x10041d8fb
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041d8e0
test esi, esi
je 0x10041de60
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9, cl
add ecx, 8
add r14, r9
cmp ecx, r12d
jb 0x10041d8d8
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 0x10041eafa
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 0x10041d938
mov dword [rbp + 0x8c], r10d
jmp 0x10041e1d3
mov edx, dword [rbp + 0x10]
test edx, edx
je 0x10041d689
mov r12d, dword [rbp + 0x18]
test r12d, r12d
je 0x10041d689
cmp ebx, 0x1f
ja 0x10041d9b2
mov ecx, ebx
test esi, esi
jne 0x10041d998
jmp 0x10041de62
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041d990
mov ebx, ecx
and edx, 4
je 0x10041d684
mov eax, dword [rbp + 0x28]
cmp r14, rax
je 0x10041d684
lea rax, str.incorrect_length_check
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov r8d, dword [rbp + 0x8c]
mov r9d, dword [rbp + 0x80]
mov ecx, ebx
cmp r9d, r8d
jbe 0x10041e621
cmp ecx, 2
ja 0x10041da5a
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
sub esi, 1
lea rdx, [rdi + 1]
shl rax, cl
add ecx, 8
add r14, rax
lea rbx, [0x10042c020]
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 0x10041e619
mov rdi, rdx
mov r8d, eax
cmp ecx, 2
jbe 0x10041d9fe
mov rdx, rdi
jmp 0x10041da19
mov edx, dword [rbp + 0x10]
test edx, edx
jne 0x10041e39c
mov dword [rbp + 8], 0x3f40
jmp case.0x10041d0e6.16192
cmp ebx, 0x1f
ja 0x10041dab8
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041daa0
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0x1f
jbe 0x10041da98
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041dac5
mov qword [rax + 8], r14
test byte [rbp + 0x19], 2
je 0x10041dad5
test byte [rbp + 0x10], 4
jne 0x10041e742
mov dword [rbp + 8], 0x3f37
xor r14d, r14d
xor ebx, ebx
jmp 0x10041daed
cmp ebx, 0xf
ja 0x10041db20
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041db08
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041db00
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041db3a
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 0x10041db78
test byte [rbp + 0x10], 4
je 0x10041db78
mov rcx, qword [rbp + 0x20]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x40], r11
mov r8d, 2
mov word [rsp + 0x64], r14w
call fcn.100420680
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 0x10041dbec
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041dba0
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041db98
mov rax, qword [rbp + 0x30]
mov dword [rbp + 0x5c], r14d
test rax, rax
je 0x10041dbc9
mov dword [rax + 0x20], r14d
test dh, 2
je 0x10041dbd8
test byte [rbp + 0x10], 4
jne 0x10041e981
xor ebx, ebx
xor r14d, r14d
jmp 0x10041dbfd
mov edx, dword [rbp + 0x18]
test dh, 4
jne 0x10041e38e
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041dbfd
mov qword [rax + 0x18], 0
mov dword [rbp + 8], 0x3f39
mov eax, edx
and dh, 4
je 0x10041dcb9
mov edx, dword [rbp + 0x5c]
cmp esi, edx
mov r12d, edx
cmovbe r12d, esi
test r12d, r12d
je 0x10041dcae
mov rcx, qword [rbp + 0x30]
mov r10d, r12d
test rcx, rcx
je 0x10041dc90
mov r8, qword [rcx + 0x18]
test r8, r8
je 0x10041dc90
mov r9d, dword [rcx + 0x20]
mov ecx, dword [rcx + 0x24]
mov dword [rsp + 0x40], r9d
sub r9d, edx
cmp ecx, r9d
jbe 0x10041dc90
lea eax, [r12 + r9]
mov qword [rsp + 0x48], r10
cmp ecx, eax
jae 0x10041dc67
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 sub.cygwin1.dll_memcpy
mov eax, dword [rbp + 0x18]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
nop
test ah, 2
je 0x10041dc9f
test byte [rbp + 0x10], 4
jne 0x10041e6f6
mov edx, dword [rbp + 0x5c]
sub esi, r12d
add rdi, r10
sub edx, r12d
mov dword [rbp + 0x5c], edx
test edx, edx
jne 0x10041de62
mov eax, dword [rbp + 0x18]
mov dword [rbp + 0x5c], 0
mov dword [rbp + 8], 0x3f3a
test ah, 8
jne 0x10041e028
mov rdx, qword [rbp + 0x30]
test rdx, rdx
je 0x10041dce1
mov qword [rdx + 0x28], 0
mov dword [rbp + 0x5c], 0
mov dword [rbp + 8], 0x3f3b
jmp 0x10041d6fb
mov eax, dword [rbp + 0x18]
jmp 0x10041dcc7
cmp ebx, 0xf
ja 0x10041dd3a
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041dd20
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041dd18
mov ebx, ecx
mov dword [rbp + 0x18], r14d
mov eax, r14d
cmp r14b, 8
je 0x10041e4be
lea rax, str.unknown_compression_method
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov dword [rbp + 8], 0x3f44
shr r14, 3
sub ebx, 3
mov rdi, rdx
nop dword [rax + rax]
cmp ebx, 0xd
ja 0x10041ddb2
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041dd98
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xd
jbe 0x10041dd90
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 0x10041de05
cmp edx, 0x11e
jbe 0x10041e785
lea rax, str.too_many_length_or_distance_symbols
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.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 0x10041e821
mov eax, dword [rbp + 0x5c]
sub r13d, 1
add r11, 1
mov byte [r11 - 1], al
mov dword [rbp + 8], 0x3f48
jmp case.0x10041d0e6.16200
mov ebx, ecx
mov r12d, dword [rsp + 0x30]
sub r12d, r13d
jmp 0x10041d488
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 0x10041dea0
call fcn.100420680
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
jmp 0x10041d519
call fcn.100420050
jmp 0x10041de8c
test esi, esi
je 0x10041de62
mov rdx, rdi
xor r12d, r12d
jmp 0x10041dec5
cmp esi, r12d
jbe 0x10041defa
mov rax, qword [rbp + 0x30]
movzx r9d, byte [rdx]
add r12d, 1
test rax, rax
je 0x10041def1
mov r8, qword [rax + 0x38]
test r8, r8
je 0x10041def1
mov ecx, dword [rbp + 0x5c]
cmp ecx, dword [rax + 0x40]
jae 0x10041def1
lea eax, [rcx + 1]
mov dword [rbp + 0x5c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x10041dec0
test byte [rbp + 0x19], 2
je 0x10041df30
test byte [rbp + 0x10], 4
je 0x10041df30
mov rcx, qword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.100420680
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 0x10041de62
mov eax, dword [rbp + 0x18]
jmp 0x10041d715
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 0x10041dfdf
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041dfa8
test esi, esi
je 0x10041de60
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 0x10041dfa0
mov ebx, ecx
mov ecx, r10d
test dl, dl
je 0x10041de1c
test dl, 0xf0
je 0x10041e82b
mov dword [rbp + 0x1bec], eax
mov ecx, eax
sub ebx, eax
mov dword [rbp + 0x5c], r12d
shr r14, cl
test dl, 0x20
je 0x10041e722
mov dword [rbp + 0x1bec], 0xffffffff
nop dword [rax]
mov dword [rbp + 8], 0x3f3f
jmp case.0x10041d0e6.16191
test esi, esi
je 0x10041de62
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 0x10041e06c
mov r8, qword [rax + 0x28]
test r8, r8
je 0x10041e06c
mov ecx, dword [rbp + 0x5c]
cmp ecx, dword [rax + 0x30]
jae 0x10041e06c
lea eax, [rcx + 1]
mov dword [rbp + 0x5c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x10041e07a
cmp esi, r12d
ja 0x10041e040
test byte [rbp + 0x19], 2
je 0x10041e0b0
test byte [rbp + 0x10], 4
je 0x10041e0b0
mov rcx, qword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.100420680
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 0x10041de62
mov eax, dword [rbp + 0x18]
jmp 0x10041dce1
mov r9d, dword [rsp + 0x30]
mov r8d, dword [rbp + 0x44]
mov rcx, qword [rbp + 0x48]
sub r9d, edx
cmp r8d, eax
jb 0x10041e220
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 0x10041e118
mov r10d, dword [rbp + 0x5c]
add r11, r9
test r10d, r10d
je case.0x10041d0e6.16199
mov eax, dword [rbp + 8]
jmp 0x10041d0ca
mov edx, dword [rbp + 0x18]
jmp 0x10041dc04
mov dword [rsp + 0x3c], 0xfffffffc
jmp 0x10041d575
cmp ebx, edx
jae 0x10041e191
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041e178
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, edx
jb 0x10041e170
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 0x10041d5ae
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 0x10041d831
cmp dword [rbp + 8], 0x3f51
je case.0x10041d0e6.16209
cmp word [rbp + 0x298], 0
jne 0x10041ea6f
lea rax, str.invalid_code____missing_end_of_block
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
xor ebx, ebx
xor r14d, r14d
jmp 0x10041d6b0
sub eax, r8d
add r8d, dword [rbp + 0x3c]
lea edx, [r8 + r9]
add rcx, rdx
jmp 0x10041e0f0
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 0x10041e2dd
test esi, esi
je 0x10041de62
mov qword [rsp + 0x58], r11
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x48]
jmp 0x10041e298
test esi, esi
je 0x10041e6e4
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 0x10041e290
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 0x10041d653
mov rcx, r11
sub rcx, rax
mov eax, dword [rbp + 0x5c]
mov edx, eax
jmp 0x10041e0f8
movzx eax, r12w
and r8d, 0xf
mov dword [rbp + 8], 0x3f4b
mov dword [rbp + 0x60], eax
mov dword [rbp + 0x64], r8d
jmp 0x10041d414
cmp ebx, r8d
jae 0x10041e36a
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041e350
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, r8d
jb 0x10041e348
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 0x10041d41d
cmp ebx, 0xf
jbe 0x10041db89
jmp 0x10041dbb8
cmp ebx, 0xf
ja 0x10041e3d2
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041e3b8
test esi, esi
je 0x10041de60
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl rax, cl
add ecx, 8
add r14, rax
cmp ecx, 0xf
jbe 0x10041e3b0
mov ebx, ecx
test dl, 2
je 0x10041e3e4
cmp r14, 0x8b1f
je 0x10041ea13
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x10041e3f4
mov dword [rax + 0x48], 0xffffffff
and edx, 1
je 0x10041e76e
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 0x10041e76e
mov eax, r14d
and eax, 0xf
cmp eax, 8
jne 0x10041dd4b
shr r14, 4
mov eax, dword [rbp + 0x38]
sub ebx, 4
mov ecx, r14d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x10041eb43
mov dword [rbp + 0x38], ecx
cmp ecx, 0xf
jbe 0x10041eb54
lea rax, str.invalid_window_size
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
movzx eax, r14w
cmp dword [rsp + 0xc8], 6
mov dword [rbp + 8], 0x3f42
mov dword [rbp + 0x5c], eax
je 0x10041ec05
xor ebx, ebx
xor r14d, r14d
jmp 0x10041d793
test r14d, 0xe000
je 0x10041e94c
lea rax, str.unknown_header_flags_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.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 0x10041e9b6
call fcn.100420680
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 0x10041d243
mov ecx, dword [rbp + 0x18]
mov rax, r14
test ecx, ecx
jne 0x10041e55e
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 0x10041d243
lea rax, str.incorrect_data_check
mov dword [rsp + 0x30], r13d
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov dword [rsp + 0x3c], 0xfffffffb
jmp 0x10041d575
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.0x10041d0e6.16209
lea r12d, [rax + 3]
cmp ebx, r12d
jae 0x10041e5f3
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041e5d8
test esi, esi
je 0x10041de60
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9, cl
add ecx, 8
add r14, r9
cmp ecx, r12d
jb 0x10041e5d0
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 0x10041d91c
mov ebx, ecx
mov r8d, eax
mov rdi, rdx
cmp r8d, 0x12
ja 0x10041e672
mov edx, 0x12
mov ecx, r8d
lea rax, [0x10042c020]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x10042c022]
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 0x10041e650
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.10041f5d0
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x10041e9c5
lea rax, str.invalid_code_lengths_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov r12d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x58]
sub r12d, r13d
jmp 0x10041d488
mov rcx, qword [rbp + 0x20]
mov r8d, r12d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
call fcn.100420680
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041dc9f
test dl, 0x40
je 0x10041e910
lea rax, [0x10042b67f]
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.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.100420680
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041dad5
lea rax, str.incorrect_header_check
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov dword [rbp + 0x8c], 0
xor r8d, r8d
mov ecx, ebx
mov dword [rbp + 8], 0x3f45
jmp 0x10041d9f9
lea r12d, [rax + 2]
cmp r12d, ebx
jbe 0x10041e7db
test esi, esi
je 0x10041de62
mov ecx, ebx
jmp 0x10041e7c0
test esi, esi
je 0x10041de60
movzx r9d, byte [rdi]
add rdi, 1
sub esi, 1
shl r9, cl
add ecx, 8
add r14, r9
cmp ecx, r12d
jb 0x10041e7b8
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r14, cl
test r10d, r10d
je 0x10041eafa
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 0x10041d91c
mov dword [rbp + 8], 0x3f52
mov dword [rsp + 0x3c], 0xfffffffc
jmp 0x10041d575
mov r12d, dword [rsp + 0x30]
jmp 0x10041d488
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 0x10041e8d9
test esi, esi
je 0x10041de62
mov qword [rsp + 0x40], r11
mov r11d, dword [rsp + 0x48]
jmp 0x10041e890
test esi, esi
je 0x10041ea01
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 0x10041e888
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 0x10041e001
jmp 0x10041de2b
mov rdx, rdi
jmp 0x10041d35e
and edx, 0xf
mov dword [rbp + 8], 0x3f49
mov dword [rbp + 0x64], edx
jmp 0x10041d5a3
cmp dword [rsp + 0xc8], 6
mov dword [rbp + 8], 0x3f47
jne case.0x10041d0e6.16199
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x3c], 0
sub r12d, r13d
jmp 0x10041d488
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x10041e961
mov rdx, r14
shr rdx, 8
and edx, 1
mov dword [rcx], edx
test ah, 2
je 0x10041e970
test byte [rbp + 0x10], 4
jne 0x10041eb16
mov dword [rbp + 8], 0x3f36
xor ebx, ebx
xor r14d, r14d
jmp 0x10041da85
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.100420680
mov edx, dword [rbp + 0x18]
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041dbfd
call fcn.100420050
mov r11, qword [rsp + 0x30]
jmp 0x10041e508
mov dword [rbp + 0x8c], 0
xor r10d, r10d
mov dword [rbp + 8], 0x3f46
jmp 0x10041d7ff
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 0x10041d575
mov r12d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x40]
sub r12d, r13d
jmp 0x10041d488
mov ebx, dword [rbp + 0x38]
test ebx, ebx
jne 0x10041ea21
mov dword [rbp + 0x38], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x40], r11
call fcn.100420680
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.100420680
mov dword [rbp + 8], 0x3f35
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041dd05
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.10041f5d0
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
test eax, eax
mov r11, qword [rsp + 0x58]
je 0x10041eb9e
lea rax, str.invalid_literal_lengths_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
lea rax, str.invalid_bit_length_repeat
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
call sub.cygwin1.dll___stack_chk_fail
mov rcx, qword [rbp + 0x20]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x40], r11
mov r8d, 2
mov word [rsp + 0x64], r14w
call fcn.100420680
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
jmp 0x10041e970
cmp ecx, 0xf
ja 0x10041e47c
cmp eax, ecx
jb 0x10041e47c
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.100420050
and r14d, 0x200
mov r11, qword [rsp + 0x40]
mov qword [rbp + 0x20], rax
mov qword [r15 + 0x60], rax
jne 0x10041ec2f
mov dword [rbp + 8], 0x3f3f
xor ebx, ebx
jmp case.0x10041d0e6.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.10041f5d0
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x10041e922
lea rax, str.invalid_distances_set
mov qword [r15 + 0x30], rax
mov dword [rbp + 8], 0x3f51
jmp case.0x10041d0e6.16209
mov r12d, dword [rsp + 0x30]
xor ebx, ebx
xor r14d, r14d
sub r12d, r13d
jmp 0x10041d488
mov r12d, dword [rsp + 0x30]
mov dword [rsp + 0x3c], 0
mov rdi, rdx
sub r12d, r13d
jmp 0x10041d488
mov dword [rbp + 8], 0x3f3d
xor r14d, r14d
xor ebx, ebx
jmp 0x10041d0f5