Function at 0x1400d9260
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
mov dword [rsp + 0xd8], edx
mov rdi, rcx
test rcx, rcx
je case.default.0x1400d9361
cmp qword [rcx + 0x30], 0
je case.default.0x1400d9361
cmp qword [rcx + 0x38], 0
je case.default.0x1400d9361
mov r12, qword [rcx + 0x28]
test r12, r12
je case.default.0x1400d9361
cmp rcx, qword [r12]
je 0x1400d92d0
mov r15d, 0xfffffffe
movaps xmm6, xmmword [rsp + 0x70]
mov eax, r15d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [r12 + 8]
lea eax, [rdx - 0x3f34]
cmp eax, 0x1f
ja case.default.0x1400d9361
mov r11, qword [rcx + 0x10]
test r11, r11
je case.default.0x1400d9361
mov ebx, dword [rcx + 8]
mov rbp, qword [rcx]
mov dword [rsp + 0x58], ebx
test rbp, rbp
je 0x1400d97e0
cmp edx, 0x3f3f
jne 0x1400d9312
mov dword [r12 + 8], 0x3f40
mov eax, 0xc
mov esi, dword [rdi + 0x18]
lea rcx, [0x14011a380]
mov r13d, dword [r12 + 0x48]
mov r14, r11
lea rdx, [0x14011a400]
movq xmm0, rcx
mov ebx, dword [r12 + 0x4c]
lea r10, [0x14011a2f8]
mov dword [rsp + 0x40], esi
movq xmm6, rdx
mov dword [rsp + 0x3c], esi
mov esi, dword [rsp + 0x58]
punpcklqdq xmm6, xmm0
cmp eax, 0x1e
ja case.default.0x1400d9361
movsxd rax, dword [r10 + rax*4]
add rax, r10
jmp rax
cmp ebx, 0x1f
ja 0x1400db178
test esi, esi
je 0x1400da4b8
movzx edx, byte [rbp]
mov ecx, ebx
lea r8d, [rsi - 1]
lea rax, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r13d, edx
cmp ecx, 0x1f
ja 0x1400dad43
test r8d, r8d
je 0x1400dacda
movzx edx, byte [rbp + 1]
lea r8d, [rsi - 2]
lea rax, [rbp + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add r13d, edx
cmp ecx, 0x1f
ja 0x1400dad43
test r8d, r8d
je 0x1400dacda
movzx edx, byte [rbp + 2]
add ebx, 0x18
lea r8d, [rsi - 3]
lea rax, [rbp + 3]
shl edx, cl
add r13d, edx
cmp ebx, 0x1f
ja 0x1400dad43
test r8d, r8d
je 0x1400daf83
movzx edx, byte [rbp + 3]
mov ecx, ebx
sub esi, 4
lea rax, [rbp + 4]
shl edx, cl
add r13d, edx
bswap r13d
mov dword [r12 + 0x20], r13d
mov rbp, rax
xor ebx, ebx
mov dword [rdi + 0x4c], r13d
xor r13d, r13d
mov dword [r12 + 8], 0x3f3e
mov r9d, dword [r12 + 0x14]
test r9d, r9d
je 0x1400db2b6
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sym.adler32
lea r10, [0x14011a2f8]
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
nop
mov eax, dword [rsp + 0xd8]
sub eax, 5
cmp eax, 1
jbe 0x1400da4b8
mov r15d, dword [r12 + 0xc]
test r15d, r15d
je 0x1400da080
mov dword [r12 + 8], 0x3f4e
mov ecx, ebx
mov r11, r14
and ebx, 0xfffffff8
and ecx, 7
shr r13d, cl
mov edx, dword [r12 + 0x10]
test edx, edx
je 0x1400da2f8
cmp ebx, 0x1f
ja 0x1400db2ae
test esi, esi
je 0x1400daedf
movzx eax, byte [rbp]
mov ecx, ebx
lea r8d, [rsi - 1]
lea r14, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r13d, eax
cmp ecx, 0x1f
ja 0x1400db01e
test r8d, r8d
je 0x1400db028
movzx eax, byte [rbp + 1]
lea r8d, [rsi - 2]
lea r14, [rbp + 2]
shl eax, cl
lea ecx, [rbx + 0x10]
add r13d, eax
cmp ecx, 0x1f
ja 0x1400db01e
test r8d, r8d
je 0x1400db028
movzx eax, byte [rbp + 2]
lea r8d, [rsi - 3]
lea r14, [rbp + 3]
shl eax, cl
lea ecx, [rbx + 0x18]
add r13d, eax
cmp ecx, 0x1f
ja 0x1400db01e
test r8d, r8d
je 0x1400db028
movzx eax, byte [rbp + 3]
sub esi, 4
lea r14, [rbp + 4]
add ebx, 0x20
shl eax, cl
add r13d, eax
mov eax, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x40]
sub r8d, eax
mov eax, edx
add dword [rdi + 0x1c], r8d
add dword [r12 + 0x24], r8d
and eax, 4
je 0x1400daf18
test r8d, r8d
jne 0x1400db032
test eax, eax
je 0x1400daf18
mov r15d, dword [r12 + 0x18]
mov eax, r13d
test r15d, r15d
jne 0x1400d956d
bswap eax
cmp dword [r12 + 0x20], eax
je 0x1400daf18
lea rax, str.incorrect_data_check
mov rbp, r14
mov qword [rdi + 0x20], rax
mov eax, dword [rsp + 0x3c]
mov dword [r12 + 8], 0x3f51
mov dword [rsp + 0x40], eax
jmp 0x1400d96c3
mov rdx, qword [0x14011ac38]
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
movups xmmword [r12 + 0x60], xmm6
mov qword [r12 + 0x70], rdx
je 0x1400db4f9
shr r13d, 3
sub ebx, 3
mov rbp, rax
nop
mov dword [r12 + 8], 0x3f48
cmp esi, 5
jbe 0x1400da320
mov eax, dword [rsp + 0x3c]
cmp eax, 0x101
jbe 0x1400da320
mov qword [rdi + 0x10], r14
mov edx, dword [rsp + 0x40]
mov rcx, rdi
mov dword [rdi + 0x18], eax
mov qword [rdi], rbp
mov dword [rdi + 8], esi
mov dword [r12 + 0x48], r13d
mov dword [r12 + 0x4c], ebx
call sym.inflate_fast
mov eax, dword [rdi + 0x18]
mov r14, qword [rdi + 0x10]
lea r10, [0x14011a2f8]
mov rbp, qword [rdi]
mov esi, dword [rdi + 8]
mov r13d, dword [r12 + 0x48]
mov ebx, dword [r12 + 0x4c]
mov dword [rsp + 0x3c], eax
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
je 0x1400daa10
sub eax, 0x3f34
jmp 0x1400d9351
mov r8d, dword [r12 + 0x58]
test r8d, r8d
jne 0x1400daa28
mov dword [r12 + 8], 0x3f4c
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
je 0x1400db224
mov r11d, dword [rsp + 0x40]
mov eax, dword [r12 + 0x54]
mov edx, r11d
sub edx, ecx
cmp edx, eax
jae 0x1400da878
add eax, ecx
mov ecx, eax
sub ecx, r11d
cmp dword [r12 + 0x38], ecx
jae 0x1400da400
mov edx, dword [r12 + 0x1be0]
test edx, edx
je 0x1400da400
lea rax, [0x14011a291]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
mov r15d, 0xfffffffd
sub r14d, eax
jmp 0x1400d9804
mov edx, dword [r12 + 0x58]
test edx, edx
jne 0x1400da8b0
mov eax, dword [r12 + 0x50]
mov dword [r12 + 0x1be8], eax
mov dword [r12 + 8], 0x3f4a
mov ecx, dword [r12 + 0x74]
mov eax, 0xffffffff
mov r9, qword [r12 + 0x68]
shl eax, cl
mov ecx, eax
not ecx
mov eax, ecx
mov r15d, ecx
and eax, r13d
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r11d, word [rax + 2]
movzx eax, dl
mov dword [rsp + 0x48], eax
cmp ebx, eax
jae 0x1400d978f
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400d9758
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
mov eax, r15d
and eax, r13d
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r11d, word [rax + 2]
movzx eax, dl
cmp ecx, eax
jb 0x1400d9750
mov dword [rsp + 0x48], eax
mov ebx, ecx
mov ecx, eax
cmp r8b, 0xf
jbe 0x1400dab8e
mov eax, dword [r12 + 0x1be4]
mov edx, dword [rsp + 0x48]
shr r13d, cl
add ecx, eax
mov dword [r12 + 0x1be4], ecx
sub ebx, edx
test r8b, 0x40
je 0x1400da9f0
lea rax, [0x14011a27b]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
test ebx, ebx
je 0x1400d92fc
jmp case.default.0x1400d9361
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov ebx, ecx
xor r15d, r15d
sub r14d, eax
mov r10d, dword [r12 + 0x34]
mov qword [rdi + 0x10], r11
mov dword [rdi + 0x18], eax
mov qword [rdi], rbp
mov dword [rdi + 8], esi
mov dword [r12 + 0x48], r13d
mov dword [r12 + 0x4c], ebx
test r10d, r10d
jne 0x1400d9850
mov ebx, dword [rsp + 0x40]
cmp eax, ebx
je 0x1400d9872
mov eax, dword [r12 + 8]
cmp eax, 0x3f50
ja 0x1400d9872
cmp eax, 0x3f4d
jbe 0x1400d9850
cmp dword [rsp + 0xd8], 4
je 0x1400d9872
nop word [rax + rax]
mov r8d, r14d
mov rdx, r11
mov rcx, rdi
call sym.updatewindow
test eax, eax
jne 0x1400d9fdd
mov esi, dword [rdi + 8]
mov r14d, dword [rsp + 0x40]
sub r14d, dword [rdi + 0x18]
mov ebx, dword [rsp + 0x58]
add dword [rdi + 0x1c], r14d
sub ebx, esi
add dword [rdi + 0xc], ebx
add dword [r12 + 0x24], r14d
test byte [r12 + 0x10], 4
je 0x1400d9891
test r14d, r14d
jne 0x1400d9908
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 0x1400d9900
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or ebx, r14d
mov dword [rdi + 0x48], eax
je 0x1400d98e4
cmp dword [rsp + 0xd8], 4
jne 0x1400d92aa
test r15d, r15d
jne 0x1400d92aa
mov r15d, 0xfffffffb
jmp 0x1400d92aa
sub eax, 0xffffff80
jmp 0x1400d98ce
mov rdx, qword [rdi + 0x10]
mov r9d, dword [r12 + 0x18]
mov eax, r14d
mov r8d, r14d
mov ecx, dword [r12 + 0x20]
sub rdx, rax
test r9d, r9d
je 0x1400d9940
call sym.crc32
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
jmp 0x1400d9891
call sym.adler32
jmp 0x1400d9929
mov eax, dword [r12 + 0x84]
mov r8d, dword [r12 + 0x78]
cmp eax, r8d
jae 0x1400dadd8
lea rdx, [0x14011ac00]
mov ecx, ebx
lea r9d, [rax + 1]
lea r11, [rdx + rax*2]
cmp ecx, 2
ja 0x1400d99d5
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
sub esi, 1
lea rdx, [rbp + 1]
shl eax, cl
add ecx, 8
add r13d, eax
movzx eax, word [r11]
mov ebx, r13d
sub ecx, 3
shr r13d, 3
and ebx, 7
mov dword [r12 + 0x84], r9d
add r11, 2
mov word [r12 + rax*2 + 0x90], bx
lea eax, [r9 + 1]
cmp r8d, r9d
je 0x1400dadd0
mov r9d, eax
mov rbp, rdx
cmp ecx, 2
jbe 0x1400d997c
mov rdx, rbp
jmp 0x1400d9997
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov r15d, 1
sub r14d, eax
jmp 0x1400d9804
mov edx, dword [r12 + 0x18]
test dh, 8
jne 0x1400da640
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9a20
mov qword [rax + 0x20], 0
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3b
test dh, 0x10
jne 0x1400da558
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9a4d
mov qword [rax + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test dh, 2
jne 0x1400da4d0
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9a79
sar edx, 9
mov dword [rax + 0x40], 1
and edx, 1
mov dword [rax + 0x3c], edx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sym.crc32
lea r10, [0x14011a2f8]
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
jmp case.0x1400d9361.11
mov edx, dword [r12 + 0x18]
jmp 0x1400d9a32
mov r8d, dword [r12 + 0x7c]
mov r15d, dword [r12 + 0x80]
mov r11d, dword [r12 + 0x84]
add r15d, r8d
cmp r11d, r15d
jae 0x1400d9b8a
mov ecx, dword [r12 + 0x70]
mov edx, 0xffffffff
mov dword [rsp + 0x48], r8d
mov r10d, r15d
mov r9, qword [r12 + 0x60]
shl edx, cl
not edx
mov eax, r13d
and eax, edx
lea rax, [r9 + rax*4]
movzx ecx, byte [rax + 1]
movzx r8d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x1400d9b54
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400d9b20
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
mov eax, r13d
and eax, edx
lea rax, [r9 + rax*4]
movzx ebx, byte [rax + 1]
movzx r8d, word [rax + 2]
movzx eax, bl
cmp ecx, eax
jb 0x1400d9b18
mov r15d, ecx
mov ecx, ebx
mov ebx, r15d
cmp r8w, 0xf
ja 0x1400da940
sub ebx, eax
lea eax, [r11 + 1]
shr r13d, cl
mov dword [r12 + 0x84], eax
mov word [r12 + r11*2 + 0x90], r8w
mov r11d, eax
cmp r11d, r10d
jb 0x1400d9aec
mov r8d, dword [rsp + 0x48]
cmp dword [r12 + 8], 0x3f51
je case.0x1400d9361.29
cmp word [r12 + 0x290], 0
jne 0x1400db3c9
lea rax, str.invalid_code____missing_end_of_block
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov edx, dword [r12 + 0x50]
mov dword [r12 + 8], 0x3f43
test edx, edx
je 0x1400da3f0
cmp esi, edx
mov eax, dword [rsp + 0x3c]
cmovbe edx, esi
cmp edx, eax
cmova edx, eax
mov r15d, edx
test edx, edx
je 0x1400db34b
mov r8d, edx
mov rcx, r14
mov rdx, rbp
sub esi, r15d
mov qword [rsp + 0x48], r8
call sym.memcpy
mov r8, qword [rsp + 0x48]
sub dword [rsp + 0x3c], r15d
lea r10, [0x14011a2f8]
sub dword [r12 + 0x50], r15d
mov eax, dword [r12 + 8]
add rbp, r8
add r14, r8
jmp 0x1400d9646
mov edx, dword [r12 + 0x50]
jmp 0x1400d9bd6
mov edx, dword [r12 + 0x10]
mov r11, r14
test edx, edx
je 0x1400da2f8
mov r14d, dword [r12 + 0x18]
test r14d, r14d
je 0x1400da2f8
cmp ebx, 0x1f
ja 0x1400daf69
test esi, esi
je 0x1400daedf
movzx r8d, byte [rbp]
mov ecx, ebx
lea r9d, [rsi - 1]
lea rax, [rbp + 1]
shl r8d, cl
lea ecx, [rbx + 8]
add r13d, r8d
cmp ecx, 0x1f
ja 0x1400dac4b
test r9d, r9d
je 0x1400dac7a
movzx r8d, byte [rbp + 1]
lea r9d, [rsi - 2]
lea rax, [rbp + 2]
shl r8d, cl
lea ecx, [rbx + 0x10]
add r13d, r8d
cmp ecx, 0x1f
ja 0x1400dac4b
test r9d, r9d
je 0x1400dac7a
movzx r8d, byte [rbp + 2]
lea r9d, [rsi - 3]
lea rax, [rbp + 3]
shl r8d, cl
lea ecx, [rbx + 0x18]
add r13d, r8d
cmp ecx, 0x1f
ja 0x1400dac4b
test r9d, r9d
je 0x1400dac7a
movzx r8d, byte [rbp + 3]
sub esi, 4
lea rax, [rbp + 4]
add ebx, 0x20
shl r8d, cl
add r13d, r8d
and edx, 4
je 0x1400da2ed
cmp dword [r12 + 0x24], r13d
je 0x1400da2ed
lea rdx, str.incorrect_length_check
mov rbp, rax
mov qword [rdi + 0x20], rdx
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov r8d, dword [r12 + 0x18]
mov edx, r8d
test r8d, 0x400
jne 0x1400dab80
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9d57
mov qword [rax + 0x10], 0
xor eax, eax
mov dword [r12 + 8], 0x3f39
test eax, eax
je 0x1400d9e13
mov ecx, dword [r12 + 0x50]
cmp esi, ecx
mov r15d, ecx
cmovbe r15d, esi
test r15d, r15d
je 0x1400d9e06
mov rax, qword [r12 + 0x28]
mov r9d, r15d
test rax, rax
je 0x1400d9de2
mov r8, qword [rax + 0x10]
test r8, r8
je 0x1400d9de2
mov r11d, dword [rax + 0x18]
mov eax, dword [rax + 0x1c]
mov r10d, r11d
sub r11d, ecx
cmp r11d, eax
jae 0x1400d9de2
lea edx, [r15 + r11]
mov qword [rsp + 0x48], r9
cmp eax, edx
jae 0x1400d9dc2
add eax, ecx
mov edx, eax
sub edx, r10d
mov qword [rsp + 0x48], rdx
lea rcx, [r8 + r11]
mov r8, qword [rsp + 0x48]
mov rdx, rbp
mov qword [rsp + 0x50], r9
call sym.memcpy
mov edx, dword [r12 + 0x18]
mov r9, qword [rsp + 0x50]
and dh, 2
je 0x1400d9df3
test byte [r12 + 0x10], 4
jne 0x1400daebb
mov ecx, dword [r12 + 0x50]
sub esi, r15d
add rbp, r9
sub ecx, r15d
mov dword [r12 + 0x50], ecx
test ecx, ecx
jne 0x1400da4b8
mov edx, dword [r12 + 0x18]
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x1400d9a05
mov edx, dword [r12 + 0x18]
jmp 0x1400d9a56
mov eax, dword [r12 + 0x10]
test eax, eax
jne 0x1400daa9c
mov dword [r12 + 8], 0x3f40
jmp case.0x1400d9361.12
cmp ebx, 0x1f
ja 0x1400d9e98
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400d9e80
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, 0x1f
jbe 0x1400d9e78
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9ea6
mov dword [rax + 4], r13d
test byte [r12 + 0x19], 2
je 0x1400d9eba
test byte [r12 + 0x10], 4
jne 0x1400daf36
mov dword [r12 + 8], 0x3f37
xor ebx, ebx
xor r13d, r13d
jmp 0x1400d9eed
mov edx, dword [r12 + 0x18]
mov eax, edx
and eax, 0x400
jmp 0x1400d9d62
cmp ebx, 0xf
ja 0x1400d9f20
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400d9f08
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, 0xf
jbe 0x1400d9f00
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9f3a
movzx edx, r13b
mov dword [rax + 8], edx
mov edx, r13d
shr edx, 8
mov dword [rax + 0xc], edx
mov r8d, dword [r12 + 0x18]
mov edx, r8d
test r8d, 0x200
je 0x1400d9f57
test byte [r12 + 0x10], 4
jne 0x1400dad09
mov dword [r12 + 8], 0x3f38
xor ebx, ebx
xor r13d, r13d
test r8d, 0x400
je 0x1400d9d45
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400d9f88
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, 0xf
jbe 0x1400d9f80
mov rax, qword [r12 + 0x28]
mov dword [r12 + 0x50], r13d
test rax, rax
je 0x1400d9fb3
mov dword [rax + 0x18], r13d
test r8d, 0x200
je 0x1400d9fc8
test byte [r12 + 0x10], 4
jne 0x1400db236
mov eax, r8d
mov edx, r8d
xor ebx, ebx
xor r13d, r13d
and eax, 0x400
jmp 0x1400d9d59
mov dword [r12 + 8], 0x3f52
nop word cs:[rax + rax]
mov r15d, 0xfffffffc
jmp 0x1400d92aa
cmp ebx, 0xf
ja 0x1400db180
test esi, esi
je 0x1400da4b8
movzx eax, byte [rbp]
mov ecx, ebx
lea edx, [rsi - 1]
lea r15, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r13d, eax
cmp ecx, 0xf
ja 0x1400db1e6
test edx, edx
je 0x1400da88b
movzx eax, byte [rbp + 1]
sub esi, 2
lea r15, [rbp + 2]
add ebx, 0x10
shl eax, cl
add r13d, eax
mov dword [r12 + 0x18], r13d
cmp r13b, 8
je 0x1400dac95
mov r11, r14
lea rax, str.unknown_compression_method
mov qword [rdi + 0x20], rax
mov rbp, r15
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
cmp ebx, 2
ja 0x1400db188
test esi, esi
je 0x1400db206
movzx edx, byte [rbp]
mov ecx, ebx
sub esi, 1
lea rax, [rbp + 1]
add ebx, 8
shl edx, cl
add r13d, edx
mov edx, r13d
and edx, 1
mov dword [r12 + 0xc], edx
mov edx, r13d
shr edx, 1
and edx, 3
cmp edx, 2
je 0x1400da1ce
cmp edx, 3
je 0x1400dadaa
cmp edx, 1
je 0x1400d959c
mov dword [r12 + 8], 0x3f41
shr r13d, 3
sub ebx, 3
mov rbp, rax
nop word [rax + rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr r13d, cl
cmp ebx, 0x1f
ja 0x1400db168
test esi, esi
je 0x1400da4b8
movzx edx, byte [rbp]
mov ecx, ebx
lea r8d, [rsi - 1]
lea rax, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r13d, edx
cmp ecx, 0x1f
ja 0x1400dad36
test r8d, r8d
je 0x1400dacda
movzx edx, byte [rbp + 1]
lea r8d, [rsi - 2]
lea rax, [rbp + 2]
shl edx, cl
lea ecx, [rbx + 0x10]
add r13d, edx
cmp ecx, 0x1f
ja 0x1400dad36
test r8d, r8d
je 0x1400dacda
movzx edx, byte [rbp + 2]
add ebx, 0x18
lea r8d, [rsi - 3]
lea rax, [rbp + 3]
shl edx, cl
add r13d, edx
cmp ebx, 0x1f
ja 0x1400dad36
test r8d, r8d
je 0x1400daf83
movzx edx, byte [rbp + 3]
mov ecx, ebx
sub esi, 4
lea rax, [rbp + 4]
mov ebx, 0x20
shl edx, cl
add r13d, edx
mov ecx, r13d
movzx edx, r13w
shr ecx, 0x10
xor ecx, 0xffff
cmp edx, ecx
je 0x1400dacb1
lea rdx, str.invalid_stored_block_lengths
mov r11, r14
mov rbp, rax
mov qword [rdi + 0x20], rdx
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov dword [r12 + 8], 0x3f44
shr r13d, 3
sub ebx, 3
mov rbp, rax
nop dword [rax]
cmp ebx, 0xd
ja 0x1400db170
test esi, esi
je 0x1400da4b8
movzx eax, byte [rbp]
mov ecx, ebx
lea r8d, [rsi - 1]
lea rdx, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r13d, eax
cmp ecx, 0xd
ja 0x1400db21a
test r8d, r8d
je 0x1400da91d
movzx eax, byte [rbp + 1]
sub esi, 2
lea rdx, [rbp + 2]
add ebx, 0x10
shl eax, cl
add r13d, eax
mov eax, r13d
mov r8d, r13d
mov ecx, r13d
sub ebx, 0xe
shr eax, 5
shr r8d, 0xa
and ecx, 0x1f
and eax, 0x1f
and r8d, 0xf
add ecx, 0x101
shr r13d, 0xe
add eax, 1
add r8d, 4
mov dword [r12 + 0x7c], ecx
mov dword [r12 + 0x80], eax
mov dword [r12 + 0x78], r8d
cmp ecx, 0x11e
ja 0x1400da285
cmp eax, 0x1e
jbe 0x1400daf8e
lea rax, str.too_many_length_or_distance_symbols
mov r11, r14
mov rbp, rdx
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov dword [r12 + 0x1be4], eax
shr r13d, cl
sub ebx, eax
mov dword [r12 + 0x50], r11d
mov dword [r12 + 8], 0x3f4d
mov edx, dword [rsp + 0x3c]
test edx, edx
je 0x1400db35b
mov eax, dword [r12 + 0x50]
sub edx, 1
add r14, 1
mov dword [rsp + 0x3c], edx
mov byte [r14 - 1], al
mov dword [r12 + 8], 0x3f48
jmp case.0x1400d9361.20
mov rbp, rax
xor ebx, ebx
xor r13d, r13d
nop dword [rax]
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
mov r15d, 1
mov dword [r12 + 8], 0x3f50
sub r14d, eax
jmp 0x1400d9804
mov ecx, dword [r12 + 0x70]
mov r9d, 0xffffffff
mov r8, qword [r12 + 0x60]
mov eax, r13d
mov dword [r12 + 0x1be4], 0
shl r9d, cl
not r9d
and eax, r9d
lea rax, [r8 + rax*4]
movzx ecx, byte [rax + 1]
movzx edx, byte [rax]
movzx r11d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x1400da3b0
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400da378
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
mov eax, r13d
and eax, r9d
lea rax, [r8 + rax*4]
movzx ebx, byte [rax + 1]
movzx edx, byte [rax]
movzx r11d, word [rax + 2]
movzx eax, bl
cmp ecx, eax
jb 0x1400da370
mov r9d, ecx
mov ecx, ebx
mov ebx, r9d
test dl, dl
je 0x1400da2a4
cmp dl, 0xf
jbe 0x1400db073
mov dword [r12 + 0x1be4], eax
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r11d
shr r13d, cl
test dl, 0x20
je 0x1400daef3
mov dword [r12 + 0x1be4], 0xffffffff
nop word [rax + rax]
mov dword [r12 + 8], 0x3f3f
jmp case.0x1400d9361.11
mov r9d, dword [rsp + 0x40]
mov r8d, dword [r12 + 0x3c]
mov rdx, qword [r12 + 0x40]
sub r9d, eax
cmp r8d, ecx
jae 0x1400daa90
sub ecx, r8d
add r8d, dword [r12 + 0x34]
lea eax, [r8 + r9]
add rdx, rax
mov r8d, dword [r12 + 0x50]
mov eax, ecx
cmp r8d, ecx
cmovbe eax, r8d
mov ecx, dword [rsp + 0x3c]
cmp ecx, eax
cmovbe eax, ecx
sub ecx, eax
sub r8d, eax
lea r9d, [rax - 1]
mov dword [rsp + 0x3c], ecx
mov dword [r12 + 0x50], r8d
cmp r9d, 6
jbe 0x1400da46d
lea r8, [rdx + 1]
mov rcx, r14
sub rcx, r8
cmp rcx, 0xe
ja 0x1400da750
mov ecx, r9d
xor eax, eax
nop word [rax + rax]
movzx r8d, byte [rdx + rax]
mov byte [r14 + rax], r8b
mov r8, rax
add rax, 1
cmp r8, rcx
jne 0x1400da478
mov eax, dword [r12 + 0x50]
lea r14, [r14 + rcx + 1]
test eax, eax
je case.0x1400d9361.19
mov eax, dword [r12 + 8]
jmp 0x1400d9646
mov r11, r14
jmp 0x1400d9488
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9804
cmp ebx, 0xf
ja 0x1400daf71
test esi, esi
je 0x1400da4b8
movzx eax, byte [rbp]
mov ecx, ebx
lea r9d, [rsi - 1]
lea r8, [rbp + 1]
shl eax, cl
lea ecx, [rbx + 8]
add r13d, eax
cmp ecx, 0xf
ja 0x1400daf79
test r9d, r9d
je 0x1400da728
movzx eax, byte [rbp + 1]
sub esi, 2
lea r8, [rbp + 2]
add ebx, 0x10
shl eax, cl
add r13d, eax
test byte [r12 + 0x10], 4
je 0x1400da910
movzx eax, word [r12 + 0x20]
cmp eax, r13d
je 0x1400da910
lea rax, str.header_crc_mismatch
mov r11, r14
mov rbp, r8
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
test esi, esi
je 0x1400da4b8
mov rax, qword [r12 + 0x28]
mov rcx, rbp
xor r15d, r15d
nop dword [rax + rax]
movzx r9d, byte [rcx]
add r15d, 1
test rax, rax
je 0x1400da5c8
mov r8, qword [rax + 0x30]
test r8, r8
je 0x1400da628
mov edx, dword [r12 + 0x50]
cmp edx, dword [rax + 0x38]
jae 0x1400da628
lea eax, [rdx + 1]
mov dword [r12 + 0x50], eax
mov byte [r8 + rdx], r9b
test r9b, r9b
je 0x1400da5f6
cmp r15d, esi
jae 0x1400da5f6
mov rax, qword [r12 + 0x28]
add rcx, 1
add r15d, 1
movzx r9d, byte [rcx]
test rax, rax
jne 0x1400da57d
nop dword [rax]
test r9b, r9b
je 0x1400da5f6
cmp r15d, esi
jae 0x1400da5f6
mov eax, r15d
add rax, rbp
jmp 0x1400da5e5
test r9b, r9b
je 0x1400da5f6
add r15d, 1
movzx r9d, byte [rax]
add rax, 1
cmp r15d, esi
jb 0x1400da5e0
test byte [r12 + 0x19], 2
je 0x1400da60a
test byte [r12 + 0x10], 4
jne 0x1400dac55
sub esi, r15d
add rbp, r15
test r9b, r9b
jne 0x1400da4b8
mov edx, dword [r12 + 0x18]
jmp 0x1400d9a4d
test r9b, r9b
je 0x1400da5f6
cmp r15d, esi
jae 0x1400da5f6
add rcx, 1
jmp 0x1400da570
test esi, esi
je 0x1400da4b8
mov rax, qword [r12 + 0x28]
mov r8, rbp
xor r15d, r15d
movzx r9d, byte [r8]
add r15d, 1
test rax, rax
je 0x1400da692
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400da718
mov edx, dword [r12 + 0x50]
cmp edx, dword [rax + 0x28]
jb 0x1400da6f0
test r9b, r9b
je 0x1400da6be
cmp r15d, esi
jae 0x1400da6be
add r8, 1
add r15d, 1
movzx r9d, byte [r8]
test rax, rax
jne 0x1400da660
test r9b, r9b
je 0x1400da6be
cmp r15d, esi
jae 0x1400da6be
mov eax, r15d
add rax, rbp
nop word [rax + rax]
add r15d, 1
movzx r9d, byte [rax]
add rax, 1
cmp r15d, esi
jae 0x1400da6be
test r9b, r9b
jne 0x1400da6a8
test byte [r12 + 0x19], 2
je 0x1400da6d2
test byte [r12 + 0x10], 4
jne 0x1400dace4
sub esi, r15d
add rbp, r15
test r9b, r9b
jne 0x1400da4b8
mov edx, dword [r12 + 0x18]
jmp 0x1400d9a20
lea eax, [rdx + 1]
mov dword [r12 + 0x50], eax
mov byte [rcx + rdx], r9b
test r9b, r9b
je 0x1400da6be
cmp r15d, esi
jae 0x1400da6be
mov rax, qword [r12 + 0x28]
add r8, 1
jmp 0x1400da653
cmp r15d, esi
jae 0x1400da6be
test r9b, r9b
jne 0x1400da681
jmp 0x1400da6be
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov ebx, ecx
xor esi, esi
mov rbp, r8
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9804
cmp r9d, 0xe
jbe 0x1400db150
lea r8d, [rax - 0x10]
xor ecx, ecx
xor r11d, r11d
shr r8d, 4
add r8d, 1
nop dword [rax + rax]
movdqu xmm1, xmmword [rdx + rcx]
add r11d, 1
movups xmmword [r14 + rcx], xmm1
add rcx, 0x10
cmp r11d, r8d
jb 0x1400da770
shl r8d, 4
mov r11d, r8d
mov r15d, r8d
mov rcx, r11
mov qword [rsp + 0x50], r11
lea r8, [r14 + r11]
mov r11d, eax
sub r11d, ecx
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x48], r11d
lea r11, [rdx + rcx]
mov ecx, r9d
cmp eax, r15d
je 0x1400da48d
mov eax, dword [rsp + 0x48]
lea ecx, [rax - 1]
cmp ecx, 6
jbe 0x1400da7f2
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rdx + rcx]
mov qword [r14 + rcx], rdx
mov ecx, eax
and ecx, 0xfffffff8
sub dword [rsp + 0x48], ecx
mov edx, ecx
mov ecx, r9d
add r8, rdx
add r11, rdx
test al, 7
je 0x1400da48d
movzx eax, byte [r11]
mov edx, dword [rsp + 0x48]
mov ecx, r9d
mov byte [r8], al
cmp edx, 1
je 0x1400da48d
movzx eax, byte [r11 + 1]
mov byte [r8 + 1], al
cmp edx, 2
je 0x1400da48d
movzx eax, byte [r11 + 2]
mov byte [r8 + 2], al
cmp edx, 3
je 0x1400da48d
movzx eax, byte [r11 + 3]
mov byte [r8 + 3], al
cmp edx, 4
je 0x1400da48d
movzx eax, byte [r11 + 4]
mov byte [r8 + 4], al
cmp edx, 5
je 0x1400da48d
movzx eax, byte [r11 + 5]
mov byte [r8 + 5], al
cmp edx, 6
je 0x1400da48d
movzx eax, byte [r11 + 6]
mov byte [r8 + 6], al
jmp 0x1400da48d
mov rdx, r14
sub rdx, rax
mov eax, dword [r12 + 0x50]
mov r8d, eax
jmp 0x1400da438
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov rbp, r15
mov ebx, ecx
xor esi, esi
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9804
cmp ebx, edx
jae 0x1400da8e1
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400da8c8
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, edx
jb 0x1400da8c0
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
add dword [r12 + 0x1be4], edx
sub ebx, edx
shl eax, cl
not eax
and eax, r13d
add eax, dword [r12 + 0x50]
shr r13d, cl
mov dword [r12 + 0x50], eax
jmp 0x1400d96f2
mov rbp, r8
xor ebx, ebx
xor r13d, r13d
jmp 0x1400d9a5f
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov ebx, ecx
xor esi, esi
mov rbp, rdx
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9804
cmp r8w, 0x10
je 0x1400dafad
cmp r8w, 0x11
je 0x1400dad4b
lea r15d, [rax + 7]
cmp ebx, r15d
jae 0x1400da994
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400da978
test esi, esi
je 0x1400d97f0
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r13d, r8d
cmp ecx, r15d
jb 0x1400da970
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r8d, r8d
shr r13d, cl
sub ebx, 7
mov ecx, r13d
shr r13d, 7
and ecx, 0x7f
add ecx, 0xb
add r11d, ecx
cmp r10d, r11d
jb 0x1400db47d
mov eax, dword [r12 + 0x84]
lea r11d, [rax + rcx]
nop word cs:[rax + rax]
mov ecx, eax
add eax, 1
mov word [r12 + rcx*2 + 0x90], r8w
cmp eax, r11d
jne 0x1400da9d0
mov dword [r12 + 0x84], r11d
jmp 0x1400d9b7c
and r8d, 0xf
mov dword [r12 + 0x54], r11d
mov dword [r12 + 0x58], r8d
mov dword [r12 + 8], 0x3f4b
jmp 0x1400d9655
mov dword [r12 + 0x1be4], 0xffffffff
jmp case.0x1400d9361.11
cmp ebx, r8d
jae 0x1400daa62
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400daa48
test esi, esi
je 0x1400d97f0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, r8d
jb 0x1400daa40
mov ebx, ecx
mov ecx, r8d
mov eax, 0xffffffff
add dword [r12 + 0x1be4], r8d
sub ebx, r8d
shl eax, cl
not eax
and eax, r13d
shr r13d, cl
add dword [r12 + 0x54], eax
jmp 0x1400d965e
lea eax, [r8 + r9]
add rdx, rax
jmp 0x1400da42a
cmp ebx, 0xf
ja 0x1400db36d
test esi, esi
je 0x1400da4b8
movzx edx, byte [rbp]
mov ecx, ebx
lea r8d, [rsi - 1]
lea r15, [rbp + 1]
shl edx, cl
lea ecx, [rbx + 8]
add r13d, edx
cmp ecx, 0xf
ja 0x1400db375
test r8d, r8d
je 0x1400da88b
movzx edx, byte [rbp + 1]
sub esi, 2
lea r15, [rbp + 2]
add ebx, 0x10
shl edx, cl
add r13d, edx
test al, 2
je 0x1400daaf9
cmp r13d, 0x8b1f
je 0x1400db2f5
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400dab0a
mov dword [rdx + 0x40], 0xffffffff
test al, 1
je 0x1400daf5a
mov edx, r13d
mov eax, r13d
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 0x1400daf5a
mov eax, r13d
and eax, 0xf
cmp eax, 8
je 0x1400db37f
lea rax, str.unknown_compression_method
mov r11, r14
mov rbp, r15
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
cmp ebx, 0xf
jbe 0x1400d9f72
jmp 0x1400d9fa0
lea ecx, [r8 + rax]
movzx r15d, r11w
mov r11d, 0xffffffff
shl r11d, cl
mov ecx, edx
not r11d
mov r8d, r11d
mov dword [rsp + 0x48], r11d
and r8d, r13d
shr r8d, cl
lea edx, [r8 + r15]
lea rdx, [r9 + rdx*4]
movzx r8d, byte [rdx]
movzx r11d, word [rdx + 2]
movzx edx, byte [rdx + 1]
lea ecx, [rdx + rax]
cmp ebx, ecx
jae 0x1400dac31
test esi, esi
je 0x1400da4b8
mov qword [rsp + 0x50], r14
mov r14d, dword [rsp + 0x48]
jmp 0x1400dabf0
test esi, esi
je 0x1400daea2
movzx edx, byte [rbp]
mov ecx, ebx
add ebx, 8
add rbp, 1
sub esi, 1
shl edx, cl
mov ecx, eax
add r13d, edx
mov edx, r14d
and edx, r13d
shr edx, cl
add edx, r15d
mov edx, edx
lea rdx, [r9 + rdx*4]
movzx r8d, byte [rdx]
movzx r11d, word [rdx + 2]
movzx edx, byte [rdx + 1]
lea ecx, [rdx + rax]
cmp ebx, ecx
jb 0x1400dabe8
mov r14, qword [rsp + 0x50]
mov ecx, eax
sub ebx, eax
mov dword [rsp + 0x48], edx
add eax, dword [r12 + 0x1be4]
shr r13d, cl
mov ecx, edx
jmp 0x1400d97a3
mov ebx, ecx
mov esi, r9d
jmp 0x1400d9cfe
mov ecx, dword [r12 + 0x20]
mov r8d, r15d
mov rdx, rbp
mov byte [rsp + 0x48], r9b
call sym.crc32
movzx r9d, byte [rsp + 0x48]
mov dword [r12 + 0x20], eax
jmp 0x1400da60a
mov ebx, ecx
mov rbp, rax
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
xor esi, esi
sub r14d, eax
jmp 0x1400d9804
test r13d, 0xe000
je 0x1400db1a6
mov r11, r14
lea rax, str.unknown_header_flags_set
jmp 0x1400da063
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 0x50], edx
mov dword [r12 + 8], 0x3f42
je 0x1400db589
mov rbp, rax
xor ebx, ebx
xor r13d, r13d
jmp 0x1400d9bcd
mov r11, r14
mov ebx, ecx
mov rbp, rax
jmp 0x1400dac7f
mov ecx, dword [r12 + 0x20]
mov r8d, r15d
mov rdx, rbp
mov byte [rsp + 0x48], r9b
call sym.crc32
movzx r9d, byte [rsp + 0x48]
mov dword [r12 + 0x20], eax
jmp 0x1400da6d2
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r13w
call sym.crc32
mov r8d, dword [r12 + 0x18]
mov dword [r12 + 0x20], eax
mov edx, r8d
jmp 0x1400d9f57
mov esi, r8d
mov ebx, 0x20
jmp 0x1400da197
mov esi, r8d
jmp 0x1400d93ff
lea ecx, [rax + 3]
cmp ebx, ecx
jae 0x1400dad8b
test esi, esi
je 0x1400da4b8
mov r15d, ebx
mov ebx, ecx
mov ecx, r15d
jmp 0x1400dad70
test esi, esi
je 0x1400d97f0
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r13d, r8d
cmp ecx, ebx
jb 0x1400dad68
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r8d, r8d
shr r13d, cl
sub ebx, 3
mov ecx, r13d
shr r13d, 3
and ecx, 7
add ecx, 3
jmp 0x1400da9ae
lea rdx, str.invalid_block_type
mov r11, r14
sub ebx, 3
mov rbp, rax
mov qword [rdi + 0x20], rdx
shr r13d, 3
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov ebx, ecx
mov eax, r8d
mov rbp, rdx
cmp eax, 0x12
ja 0x1400dae2c
mov ecx, 0x12
mov r8d, eax
lea rdx, [0x14011ac00]
sub ecx, eax
lea rdx, [rdx + r8*2]
lea rax, [rcx + r8]
lea rcx, [0x14011ac02]
lea rcx, [rcx + rax*2]
nop dword [rax]
movzx eax, word [rdx]
xor r8d, r8d
add rdx, 2
mov word [r12 + rax*2 + 0x90], r8w
cmp rcx, rdx
jne 0x1400dae08
mov dword [r12 + 0x84], 0x13
lea rax, [r12 + 0x550]
xor ecx, ecx
mov dword [r12 + 0x70], 7
lea rdx, [r12 + 0x90]
mov qword [r12 + 0x88], rax
lea r9, [r12 + 0x88]
mov r8d, 0x13
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x310]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0x70]
mov qword [rsp + 0x20], rax
call sym.inflate_table
test eax, eax
je 0x1400db27b
lea rax, str.invalid_code_lengths_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
mov r11, qword [rsp + 0x50]
sub r14d, eax
jmp 0x1400d9804
mov ecx, dword [r12 + 0x20]
mov r8d, r15d
mov rdx, rbp
mov qword [rsp + 0x48], r9
call sym.crc32
mov r9, qword [rsp + 0x48]
mov dword [r12 + 0x20], eax
jmp 0x1400d9df3
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9804
test dl, 0x40
je 0x1400db190
lea rax, [0x14011a25f]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov eax, dword [rsp + 0x3c]
mov rbp, r14
xor ebx, ebx
xor r13d, r13d
mov dword [r12 + 8], 0x3f4f
mov dword [rsp + 0x40], eax
jmp 0x1400d9c48
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 4
mov dword [rsp + 0x6c], r13d
call sym.crc32
mov dword [r12 + 0x20], eax
jmp 0x1400d9eba
mov r11, r14
lea rax, str.incorrect_header_check
jmp 0x1400da063
mov rax, rbp
jmp 0x1400d9cfe
mov r8, rbp
jmp 0x1400da518
mov ebx, ecx
mov esi, r9d
jmp 0x1400da518
mov r11, r14
mov rbp, rax
jmp 0x1400dac7f
mov dword [r12 + 8], 0x3f45
mov rbp, rdx
xor eax, eax
mov dword [r12 + 0x84], 0
jmp 0x1400d9966
lea r15d, [rax + 2]
cmp ebx, r15d
jae 0x1400dafec
test esi, esi
je 0x1400da4b8
mov ecx, ebx
jmp 0x1400dafd0
test esi, esi
je 0x1400d97f0
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r13d, r8d
cmp ecx, r15d
jb 0x1400dafc8
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r13d, cl
test r11d, r11d
je 0x1400db47d
mov ecx, r13d
lea eax, [r11 - 1]
shr r13d, 2
sub ebx, 2
movzx r8d, word [r12 + rax*2 + 0x90]
and ecx, 3
add ecx, 3
jmp 0x1400da9ae
mov ebx, ecx
mov esi, r8d
jmp 0x1400d952d
mov ebx, ecx
mov rbp, r14
jmp 0x1400dac7f
mov eax, r8d
mov rdx, r11
mov qword [rsp + 0x40], r11
mov ecx, dword [r12 + 0x20]
sub rdx, rax
mov eax, dword [r12 + 0x18]
test eax, eax
je 0x1400db26c
call sym.crc32
mov r11, qword [rsp + 0x40]
mov edx, dword [r12 + 0x10]
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov eax, edx
and eax, 4
jmp 0x1400d9556
add edx, eax
mov r9d, 0xffffffff
mov dword [rsp + 0x5c], r11d
mov ecx, edx
shl r9d, cl
mov ecx, eax
not r9d
mov edx, r9d
mov dword [rsp + 0x50], r9d
and edx, r13d
shr edx, cl
add edx, r11d
mov edx, edx
lea rcx, [r8 + rdx*4]
movzx r9d, byte [rcx + 1]
movzx edx, byte [rcx]
movzx r15d, word [rcx + 2]
lea r11d, [r9 + rax]
cmp ebx, r11d
jae 0x1400db120
test esi, esi
je 0x1400da4b8
mov qword [rsp + 0x48], r14
mov edx, dword [rsp + 0x5c]
mov r14d, dword [rsp + 0x50]
jmp 0x1400db0d8
test esi, esi
je 0x1400db2dc
movzx r9d, byte [rbp]
mov ecx, ebx
add ebx, 8
add rbp, 1
sub esi, 1
shl r9d, cl
mov ecx, eax
add r13d, r9d
mov r9d, r14d
and r9d, r13d
shr r9d, cl
lea ecx, [r9 + rdx]
lea r9, [r8 + rcx*4]
movzx ecx, byte [r9]
movzx r15d, word [r9 + 2]
movzx r9d, byte [r9 + 1]
lea r11d, [r9 + rax]
cmp ebx, r11d
jb 0x1400db0d0
mov r14, qword [rsp + 0x48]
mov edx, ecx
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r15d
shr r13d, cl
mov ecx, r9d
mov dword [r12 + 0x1be4], r11d
sub ebx, r9d
shr r13d, cl
test dl, dl
jne 0x1400da3d5
jmp 0x1400da2b6
mov dword [rsp + 0x48], eax
mov r8, r14
mov r11, rdx
mov qword [rsp + 0x50], 0
jmp 0x1400da7c9
mov rax, rbp
jmp 0x1400da197
mov rdx, rbp
jmp 0x1400da234
mov rax, rbp
jmp 0x1400d93ff
mov r15, rbp
jmp 0x1400da04a
mov rax, rbp
jmp 0x1400da0a6
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0x58], edx
jmp 0x1400d96e5
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400db1bb
mov eax, r13d
shr eax, 8
and eax, 1
mov dword [rdx], eax
test r13d, 0x200
je 0x1400db1d0
test byte [r12 + 0x10], 4
jne 0x1400db450
mov dword [r12 + 8], 0x3f36
xor r13d, r13d
mov rbp, r15
xor ebx, ebx
jmp 0x1400d9e65
mov ebx, ecx
mov esi, edx
jmp 0x1400da04a
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x1400d9361.19
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
sub r14d, eax
jmp 0x1400d9804
mov ebx, ecx
mov esi, r8d
jmp 0x1400da234
mov r11, r14
xor r15d, r15d
mov r14d, dword [rsp + 0x40]
mov eax, ecx
jmp 0x1400d9804
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
xor ebx, ebx
mov word [rsp + 0x6c], r13w
xor r13d, r13d
call sym.crc32
mov edx, dword [r12 + 0x18]
mov dword [r12 + 0x20], eax
mov eax, edx
and eax, 0x400
jmp 0x1400d9d59
call sym.adler32
mov r11, qword [rsp + 0x40]
jmp 0x1400db05c
mov dword [r12 + 8], 0x3f46
mov r8d, dword [r12 + 0x7c]
mov dword [r12 + 0x84], 0
mov r15d, r8d
add r15d, dword [r12 + 0x80]
je 0x1400d9b99
xor r11d, r11d
jmp 0x1400d9ad1
mov r14, rbp
jmp 0x1400d952d
mov eax, dword [rsp + 0x3c]
mov qword [rdi + 0x10], r14
mov r15d, 2
mov qword [rdi], rbp
mov dword [rdi + 0x18], eax
mov dword [rdi + 8], esi
mov dword [r12 + 0x48], r13d
mov dword [r12 + 0x4c], ebx
jmp 0x1400d92aa
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
mov r11, qword [rsp + 0x48]
sub r14d, eax
jmp 0x1400d9804
cmp dword [r12 + 0x30], 0
jne 0x1400db306
mov dword [r12 + 0x30], 0xf
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov rbp, r15
call sym.crc32
lea rdx, [rsp + 0x6c]
xor r13d, r13d
xor ebx, ebx
mov dword [r12 + 0x20], eax
mov ecx, eax
mov r8d, 2
mov word [rsp + 0x6c], 0x8b1f
call sym.crc32
mov dword [r12 + 8], 0x3f35
mov dword [r12 + 0x20], eax
jmp 0x1400da009
mov r11, r14
mov r14d, dword [rsp + 0x40]
sub r14d, eax
jmp 0x1400d9804
mov r11, r14
xor r15d, r15d
mov r14d, dword [rsp + 0x40]
mov eax, edx
jmp 0x1400d9804
mov r15, rbp
jmp 0x1400daae8
mov ebx, ecx
mov esi, r8d
jmp 0x1400daae8
shr r13d, 4
mov eax, dword [r12 + 0x30]
mov ecx, r13d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x1400db499
mov dword [r12 + 0x30], ecx
cmp ecx, 0xf
jbe 0x1400db4aa
lea rax, str.invalid_window_size
mov r11, r14
sub ebx, 4
mov rbp, r15
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
lea rax, [r12 + 0x550]
lea r15, [r12 + 0x310]
mov dword [r12 + 0x70], 9
mov ecx, 1
mov qword [r12 + 0x88], rax
lea r9, [r12 + 0x88]
lea rdx, [r12 + 0x90]
mov qword [r12 + 0x60], rax
lea rax, [r12 + 0x70]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], rdx
call sym.inflate_table
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
test eax, eax
je 0x1400db519
lea rax, str.invalid_literal_lengths_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x6c]
mov r8d, 2
mov word [rsp + 0x6c], r13w
call sym.crc32
mov dword [r12 + 0x20], eax
jmp 0x1400db1d0
mov r11, r14
jmp 0x1400d96c3
lea rax, str.invalid_bit_length_repeat
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
cmp ecx, 0xf
ja 0x1400db3a7
cmp eax, ecx
jb 0x1400db3a7
mov eax, 1
xor r10d, r10d
xor r8d, r8d
xor edx, edx
shl eax, cl
mov dword [r12 + 0x18], r10d
xor ecx, ecx
mov dword [r12 + 0x1c], eax
call sym.adler32
and r13d, 0x200
lea r10, [0x14011a2f8]
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
jne 0x1400db5ac
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
mov rbp, r15
jmp case.0x1400d9361.11
mov edx, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov rbp, rax
shr r13d, 3
sub ebx, 3
sub r14d, edx
mov eax, edx
jmp 0x1400d9804
mov rax, qword [r12 + 0x88]
mov r8d, dword [r12 + 0x80]
mov ecx, 2
mov dword [r12 + 0x74], 6
mov qword [r12 + 0x68], rax
mov eax, dword [r12 + 0x7c]
mov qword [rsp + 0x28], r15
add rax, rax
add rdx, rax
lea rax, [r12 + 0x74]
mov qword [rsp + 0x20], rax
call sym.inflate_table
lea r10, [0x14011a2f8]
test eax, eax
mov r15d, eax
je 0x1400db1ef
lea rax, str.invalid_distances_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d96c3
mov ebx, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov rbp, rax
xor r15d, r15d
mov eax, dword [rsp + 0x3c]
xor r13d, r13d
sub r14d, ebx
xor ebx, ebx
jmp 0x1400d9804
mov dword [r12 + 8], 0x3f3d
xor r13d, r13d
xor ebx, ebx
mov rbp, r15
jmp 0x1400d9371