Function at 0x1400d9730
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.0x1400d9831
cmp qword [rcx + 0x30], 0
je case.default.0x1400d9831
cmp qword [rcx + 0x38], 0
je case.default.0x1400d9831
mov r12, qword [rcx + 0x28]
test r12, r12
je case.default.0x1400d9831
cmp rcx, qword [r12]
je 0x1400d97a0
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.0x1400d9831
mov r11, qword [rcx + 0x10]
test r11, r11
je case.default.0x1400d9831
mov ebx, dword [rcx + 8]
mov rbp, qword [rcx]
mov dword [rsp + 0x58], ebx
test rbp, rbp
je 0x1400d9cb0
cmp edx, 0x3f3f
jne 0x1400d97e2
mov dword [r12 + 8], 0x3f40
mov eax, 0xc
mov esi, dword [rdi + 0x18]
lea rcx, [0x1401254a0]
mov r13d, dword [r12 + 0x48]
mov r14, r11
lea rdx, [0x140125520]
movq xmm0, rcx
mov ebx, dword [r12 + 0x4c]
lea r10, [0x140125418]
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.0x1400d9831
movsxd rax, dword [r10 + rax*4]
add rax, r10
jmp rax
cmp ebx, 0x1f
ja 0x1400db648
test esi, esi
je 0x1400da988
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 0x1400db213
test r8d, r8d
je 0x1400db1aa
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 0x1400db213
test r8d, r8d
je 0x1400db1aa
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 0x1400db213
test r8d, r8d
je 0x1400db453
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 0x1400db786
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sym.adler32
lea r10, [0x140125418]
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 0x1400da988
mov r15d, dword [r12 + 0xc]
test r15d, r15d
je 0x1400da550
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 0x1400da7c8
cmp ebx, 0x1f
ja 0x1400db77e
test esi, esi
je 0x1400db3af
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 0x1400db4ee
test r8d, r8d
je 0x1400db4f8
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 0x1400db4ee
test r8d, r8d
je 0x1400db4f8
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 0x1400db4ee
test r8d, r8d
je 0x1400db4f8
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 0x1400db3e8
test r8d, r8d
jne 0x1400db502
test eax, eax
je 0x1400db3e8
mov r15d, dword [r12 + 0x18]
mov eax, r13d
test r15d, r15d
jne 0x1400d9a3d
bswap eax
cmp dword [r12 + 0x20], eax
je 0x1400db3e8
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 0x1400d9b93
mov rdx, qword [0x140125d58]
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
movups xmmword [r12 + 0x60], xmm6
mov qword [r12 + 0x70], rdx
je 0x1400db9c9
shr r13d, 3
sub ebx, 3
mov rbp, rax
nop
mov dword [r12 + 8], 0x3f48
cmp esi, 5
jbe 0x1400da7f0
mov eax, dword [rsp + 0x3c]
cmp eax, 0x101
jbe 0x1400da7f0
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, [0x140125418]
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 0x1400daee0
sub eax, 0x3f34
jmp 0x1400d9821
mov r8d, dword [r12 + 0x58]
test r8d, r8d
jne 0x1400daef8
mov dword [r12 + 8], 0x3f4c
mov ecx, dword [rsp + 0x3c]
test ecx, ecx
je 0x1400db6f4
mov r11d, dword [rsp + 0x40]
mov eax, dword [r12 + 0x54]
mov edx, r11d
sub edx, ecx
cmp edx, eax
jae 0x1400dad48
add eax, ecx
mov ecx, eax
sub ecx, r11d
cmp dword [r12 + 0x38], ecx
jae 0x1400da8d0
mov edx, dword [r12 + 0x1be0]
test edx, edx
je 0x1400da8d0
lea rax, [0x1401253b1]
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 0x1400d9cd4
mov edx, dword [r12 + 0x58]
test edx, edx
jne 0x1400dad80
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 0x1400d9c5f
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400d9c28
test esi, esi
je 0x1400d9cc0
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 0x1400d9c20
mov dword [rsp + 0x48], eax
mov ebx, ecx
mov ecx, eax
cmp r8b, 0xf
jbe 0x1400db05e
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 0x1400daec0
lea rax, [0x14012539b]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
test ebx, ebx
je 0x1400d97cc
jmp case.default.0x1400d9831
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 0x1400d9d20
mov ebx, dword [rsp + 0x40]
cmp eax, ebx
je 0x1400d9d42
mov eax, dword [r12 + 8]
cmp eax, 0x3f50
ja 0x1400d9d42
cmp eax, 0x3f4d
jbe 0x1400d9d20
cmp dword [rsp + 0xd8], 4
je 0x1400d9d42
nop word [rax + rax]
mov r8d, r14d
mov rdx, r11
mov rcx, rdi
call sym.updatewindow
test eax, eax
jne 0x1400da4ad
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 0x1400d9d61
test r14d, r14d
jne 0x1400d9dd8
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 0x1400d9dd0
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 0x1400d9db4
cmp dword [rsp + 0xd8], 4
jne 0x1400d977a
test r15d, r15d
jne 0x1400d977a
mov r15d, 0xfffffffb
jmp 0x1400d977a
sub eax, 0xffffff80
jmp 0x1400d9d9e
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 0x1400d9e10
call sym.crc32
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
jmp 0x1400d9d61
call sym.adler32
jmp 0x1400d9df9
mov eax, dword [r12 + 0x84]
mov r8d, dword [r12 + 0x78]
cmp eax, r8d
jae 0x1400db2a8
lea rdx, [0x140125d20]
mov ecx, ebx
lea r9d, [rax + 1]
lea r11, [rdx + rax*2]
cmp ecx, 2
ja 0x1400d9ea5
test esi, esi
je 0x1400d9cc0
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 0x1400db2a0
mov r9d, eax
mov rbp, rdx
cmp ecx, 2
jbe 0x1400d9e4c
mov rdx, rbp
jmp 0x1400d9e67
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
mov r15d, 1
sub r14d, eax
jmp 0x1400d9cd4
mov edx, dword [r12 + 0x18]
test dh, 8
jne 0x1400dab10
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9ef0
mov qword [rax + 0x20], 0
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3b
test dh, 0x10
jne 0x1400daa28
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9f1d
mov qword [rax + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test dh, 2
jne 0x1400da9a0
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400d9f49
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, [0x140125418]
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
mov dword [r12 + 8], 0x3f3f
jmp case.0x1400d9831.11
mov edx, dword [r12 + 0x18]
jmp 0x1400d9f02
mov r8d, dword [r12 + 0x7c]
mov r15d, dword [r12 + 0x80]
mov r11d, dword [r12 + 0x84]
add r15d, r8d
cmp r11d, r15d
jae 0x1400da05a
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 0x1400da024
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400d9ff0
test esi, esi
je 0x1400d9cc0
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 0x1400d9fe8
mov r15d, ecx
mov ecx, ebx
mov ebx, r15d
cmp r8w, 0xf
ja 0x1400dae10
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 0x1400d9fbc
mov r8d, dword [rsp + 0x48]
cmp dword [r12 + 8], 0x3f51
je case.0x1400d9831.29
cmp word [r12 + 0x290], 0
jne 0x1400db899
lea rax, str.invalid_code____missing_end_of_block
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
mov edx, dword [r12 + 0x50]
mov dword [r12 + 8], 0x3f43
test edx, edx
je 0x1400da8c0
cmp esi, edx
mov eax, dword [rsp + 0x3c]
cmovbe edx, esi
cmp edx, eax
cmova edx, eax
mov r15d, edx
test edx, edx
je 0x1400db81b
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, [0x140125418]
sub dword [r12 + 0x50], r15d
mov eax, dword [r12 + 8]
add rbp, r8
add r14, r8
jmp 0x1400d9b16
mov edx, dword [r12 + 0x50]
jmp 0x1400da0a6
mov edx, dword [r12 + 0x10]
mov r11, r14
test edx, edx
je 0x1400da7c8
mov r14d, dword [r12 + 0x18]
test r14d, r14d
je 0x1400da7c8
cmp ebx, 0x1f
ja 0x1400db439
test esi, esi
je 0x1400db3af
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 0x1400db11b
test r9d, r9d
je 0x1400db14a
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 0x1400db11b
test r9d, r9d
je 0x1400db14a
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 0x1400db11b
test r9d, r9d
je 0x1400db14a
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 0x1400da7bd
cmp dword [r12 + 0x24], r13d
je 0x1400da7bd
lea rdx, str.incorrect_length_check
mov rbp, rax
mov qword [rdi + 0x20], rdx
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
mov r8d, dword [r12 + 0x18]
mov edx, r8d
test r8d, 0x400
jne 0x1400db050
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400da227
mov qword [rax + 0x10], 0
xor eax, eax
mov dword [r12 + 8], 0x3f39
test eax, eax
je 0x1400da2e3
mov ecx, dword [r12 + 0x50]
cmp esi, ecx
mov r15d, ecx
cmovbe r15d, esi
test r15d, r15d
je 0x1400da2d6
mov rax, qword [r12 + 0x28]
mov r9d, r15d
test rax, rax
je 0x1400da2b2
mov r8, qword [rax + 0x10]
test r8, r8
je 0x1400da2b2
mov r11d, dword [rax + 0x18]
mov eax, dword [rax + 0x1c]
mov r10d, r11d
sub r11d, ecx
cmp r11d, eax
jae 0x1400da2b2
lea edx, [r15 + r11]
mov qword [rsp + 0x48], r9
cmp eax, edx
jae 0x1400da292
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 0x1400da2c3
test byte [r12 + 0x10], 4
jne 0x1400db38b
mov ecx, dword [r12 + 0x50]
sub esi, r15d
add rbp, r9
sub ecx, r15d
mov dword [r12 + 0x50], ecx
test ecx, ecx
jne 0x1400da988
mov edx, dword [r12 + 0x18]
mov dword [r12 + 0x50], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x1400d9ed5
mov edx, dword [r12 + 0x18]
jmp 0x1400d9f26
mov eax, dword [r12 + 0x10]
test eax, eax
jne 0x1400daf6c
mov dword [r12 + 8], 0x3f40
jmp case.0x1400d9831.12
cmp ebx, 0x1f
ja 0x1400da368
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400da350
test esi, esi
je 0x1400d9cc0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, 0x1f
jbe 0x1400da348
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400da376
mov dword [rax + 4], r13d
test byte [r12 + 0x19], 2
je 0x1400da38a
test byte [r12 + 0x10], 4
jne 0x1400db406
mov dword [r12 + 8], 0x3f37
xor ebx, ebx
xor r13d, r13d
jmp 0x1400da3bd
mov edx, dword [r12 + 0x18]
mov eax, edx
and eax, 0x400
jmp 0x1400da232
cmp ebx, 0xf
ja 0x1400da3f0
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400da3d8
test esi, esi
je 0x1400d9cc0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, 0xf
jbe 0x1400da3d0
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400da40a
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 0x1400da427
test byte [r12 + 0x10], 4
jne 0x1400db1d9
mov dword [r12 + 8], 0x3f38
xor ebx, ebx
xor r13d, r13d
test r8d, 0x400
je 0x1400da215
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400da458
test esi, esi
je 0x1400d9cc0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, 0xf
jbe 0x1400da450
mov rax, qword [r12 + 0x28]
mov dword [r12 + 0x50], r13d
test rax, rax
je 0x1400da483
mov dword [rax + 0x18], r13d
test r8d, 0x200
je 0x1400da498
test byte [r12 + 0x10], 4
jne 0x1400db706
mov eax, r8d
mov edx, r8d
xor ebx, ebx
xor r13d, r13d
and eax, 0x400
jmp 0x1400da229
mov dword [r12 + 8], 0x3f52
nop word cs:[rax + rax]
mov r15d, 0xfffffffc
jmp 0x1400d977a
cmp ebx, 0xf
ja 0x1400db650
test esi, esi
je 0x1400da988
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 0x1400db6b6
test edx, edx
je 0x1400dad5b
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 0x1400db165
mov r11, r14
lea rax, str.unknown_compression_method
mov qword [rdi + 0x20], rax
mov rbp, r15
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
cmp ebx, 2
ja 0x1400db658
test esi, esi
je 0x1400db6d6
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 0x1400da69e
cmp edx, 3
je 0x1400db27a
cmp edx, 1
je 0x1400d9a6c
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 0x1400db638
test esi, esi
je 0x1400da988
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 0x1400db206
test r8d, r8d
je 0x1400db1aa
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 0x1400db206
test r8d, r8d
je 0x1400db1aa
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 0x1400db206
test r8d, r8d
je 0x1400db453
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 0x1400db181
lea rdx, str.invalid_stored_block_lengths
mov r11, r14
mov rbp, rax
mov qword [rdi + 0x20], rdx
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
mov dword [r12 + 8], 0x3f44
shr r13d, 3
sub ebx, 3
mov rbp, rax
nop dword [rax]
cmp ebx, 0xd
ja 0x1400db640
test esi, esi
je 0x1400da988
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 0x1400db6ea
test r8d, r8d
je 0x1400daded
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 0x1400da755
cmp eax, 0x1e
jbe 0x1400db45e
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 0x1400d9b93
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 0x1400db82b
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.0x1400d9831.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 0x1400d9cd4
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 0x1400da880
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400da848
test esi, esi
je 0x1400d9cc0
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 0x1400da840
mov r9d, ecx
mov ecx, ebx
mov ebx, r9d
test dl, dl
je 0x1400da774
cmp dl, 0xf
jbe 0x1400db543
mov dword [r12 + 0x1be4], eax
mov ecx, eax
sub ebx, eax
mov dword [r12 + 0x50], r11d
shr r13d, cl
test dl, 0x20
je 0x1400db3c3
mov dword [r12 + 0x1be4], 0xffffffff
nop word [rax + rax]
mov dword [r12 + 8], 0x3f3f
jmp case.0x1400d9831.11
mov r9d, dword [rsp + 0x40]
mov r8d, dword [r12 + 0x3c]
mov rdx, qword [r12 + 0x40]
sub r9d, eax
cmp r8d, ecx
jae 0x1400daf60
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 0x1400da93d
lea r8, [rdx + 1]
mov rcx, r14
sub rcx, r8
cmp rcx, 0xe
ja 0x1400dac20
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 0x1400da948
mov eax, dword [r12 + 0x50]
lea r14, [r14 + rcx + 1]
test eax, eax
je case.0x1400d9831.19
mov eax, dword [r12 + 8]
jmp 0x1400d9b16
mov r11, r14
jmp 0x1400d9958
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9cd4
cmp ebx, 0xf
ja 0x1400db441
test esi, esi
je 0x1400da988
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 0x1400db449
test r9d, r9d
je 0x1400dabf8
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 0x1400dade0
movzx eax, word [r12 + 0x20]
cmp eax, r13d
je 0x1400dade0
lea rax, str.header_crc_mismatch
mov r11, r14
mov rbp, r8
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
test esi, esi
je 0x1400da988
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 0x1400daa98
mov r8, qword [rax + 0x30]
test r8, r8
je 0x1400daaf8
mov edx, dword [r12 + 0x50]
cmp edx, dword [rax + 0x38]
jae 0x1400daaf8
lea eax, [rdx + 1]
mov dword [r12 + 0x50], eax
mov byte [r8 + rdx], r9b
test r9b, r9b
je 0x1400daac6
cmp r15d, esi
jae 0x1400daac6
mov rax, qword [r12 + 0x28]
add rcx, 1
add r15d, 1
movzx r9d, byte [rcx]
test rax, rax
jne 0x1400daa4d
nop dword [rax]
test r9b, r9b
je 0x1400daac6
cmp r15d, esi
jae 0x1400daac6
mov eax, r15d
add rax, rbp
jmp 0x1400daab5
test r9b, r9b
je 0x1400daac6
add r15d, 1
movzx r9d, byte [rax]
add rax, 1
cmp r15d, esi
jb 0x1400daab0
test byte [r12 + 0x19], 2
je 0x1400daada
test byte [r12 + 0x10], 4
jne 0x1400db125
sub esi, r15d
add rbp, r15
test r9b, r9b
jne 0x1400da988
mov edx, dword [r12 + 0x18]
jmp 0x1400d9f1d
test r9b, r9b
je 0x1400daac6
cmp r15d, esi
jae 0x1400daac6
add rcx, 1
jmp 0x1400daa40
test esi, esi
je 0x1400da988
mov rax, qword [r12 + 0x28]
mov r8, rbp
xor r15d, r15d
movzx r9d, byte [r8]
add r15d, 1
test rax, rax
je 0x1400dab62
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400dabe8
mov edx, dword [r12 + 0x50]
cmp edx, dword [rax + 0x28]
jb 0x1400dabc0
test r9b, r9b
je 0x1400dab8e
cmp r15d, esi
jae 0x1400dab8e
add r8, 1
add r15d, 1
movzx r9d, byte [r8]
test rax, rax
jne 0x1400dab30
test r9b, r9b
je 0x1400dab8e
cmp r15d, esi
jae 0x1400dab8e
mov eax, r15d
add rax, rbp
nop word [rax + rax]
add r15d, 1
movzx r9d, byte [rax]
add rax, 1
cmp r15d, esi
jae 0x1400dab8e
test r9b, r9b
jne 0x1400dab78
test byte [r12 + 0x19], 2
je 0x1400daba2
test byte [r12 + 0x10], 4
jne 0x1400db1b4
sub esi, r15d
add rbp, r15
test r9b, r9b
jne 0x1400da988
mov edx, dword [r12 + 0x18]
jmp 0x1400d9ef0
lea eax, [rdx + 1]
mov dword [r12 + 0x50], eax
mov byte [rcx + rdx], r9b
test r9b, r9b
je 0x1400dab8e
cmp r15d, esi
jae 0x1400dab8e
mov rax, qword [r12 + 0x28]
add r8, 1
jmp 0x1400dab23
cmp r15d, esi
jae 0x1400dab8e
test r9b, r9b
jne 0x1400dab51
jmp 0x1400dab8e
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 0x1400d9cd4
cmp r9d, 0xe
jbe 0x1400db620
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 0x1400dac40
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 0x1400da95d
mov eax, dword [rsp + 0x48]
lea ecx, [rax - 1]
cmp ecx, 6
jbe 0x1400dacc2
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 0x1400da95d
movzx eax, byte [r11]
mov edx, dword [rsp + 0x48]
mov ecx, r9d
mov byte [r8], al
cmp edx, 1
je 0x1400da95d
movzx eax, byte [r11 + 1]
mov byte [r8 + 1], al
cmp edx, 2
je 0x1400da95d
movzx eax, byte [r11 + 2]
mov byte [r8 + 2], al
cmp edx, 3
je 0x1400da95d
movzx eax, byte [r11 + 3]
mov byte [r8 + 3], al
cmp edx, 4
je 0x1400da95d
movzx eax, byte [r11 + 4]
mov byte [r8 + 4], al
cmp edx, 5
je 0x1400da95d
movzx eax, byte [r11 + 5]
mov byte [r8 + 5], al
cmp edx, 6
je 0x1400da95d
movzx eax, byte [r11 + 6]
mov byte [r8 + 6], al
jmp 0x1400da95d
mov rdx, r14
sub rdx, rax
mov eax, dword [r12 + 0x50]
mov r8d, eax
jmp 0x1400da908
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 0x1400d9cd4
cmp ebx, edx
jae 0x1400dadb1
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400dad98
test esi, esi
je 0x1400d9cc0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, edx
jb 0x1400dad90
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 0x1400d9bc2
mov rbp, r8
xor ebx, ebx
xor r13d, r13d
jmp 0x1400d9f2f
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 0x1400d9cd4
cmp r8w, 0x10
je 0x1400db47d
cmp r8w, 0x11
je 0x1400db21b
lea r15d, [rax + 7]
cmp ebx, r15d
jae 0x1400dae64
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400dae48
test esi, esi
je 0x1400d9cc0
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r13d, r8d
cmp ecx, r15d
jb 0x1400dae40
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 0x1400db94d
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 0x1400daea0
mov dword [r12 + 0x84], r11d
jmp 0x1400da04c
and r8d, 0xf
mov dword [r12 + 0x54], r11d
mov dword [r12 + 0x58], r8d
mov dword [r12 + 8], 0x3f4b
jmp 0x1400d9b25
mov dword [r12 + 0x1be4], 0xffffffff
jmp case.0x1400d9831.11
cmp ebx, r8d
jae 0x1400daf32
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400daf18
test esi, esi
je 0x1400d9cc0
movzx eax, byte [rbp]
add rbp, 1
sub esi, 1
shl eax, cl
add ecx, 8
add r13d, eax
cmp ecx, r8d
jb 0x1400daf10
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 0x1400d9b2e
lea eax, [r8 + r9]
add rdx, rax
jmp 0x1400da8fa
cmp ebx, 0xf
ja 0x1400db83d
test esi, esi
je 0x1400da988
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 0x1400db845
test r8d, r8d
je 0x1400dad5b
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 0x1400dafc9
cmp r13d, 0x8b1f
je 0x1400db7c5
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400dafda
mov dword [rdx + 0x40], 0xffffffff
test al, 1
je 0x1400db42a
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 0x1400db42a
mov eax, r13d
and eax, 0xf
cmp eax, 8
je 0x1400db84f
lea rax, str.unknown_compression_method
mov r11, r14
mov rbp, r15
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
cmp ebx, 0xf
jbe 0x1400da442
jmp 0x1400da470
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 0x1400db101
test esi, esi
je 0x1400da988
mov qword [rsp + 0x50], r14
mov r14d, dword [rsp + 0x48]
jmp 0x1400db0c0
test esi, esi
je 0x1400db372
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 0x1400db0b8
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 0x1400d9c73
mov ebx, ecx
mov esi, r9d
jmp 0x1400da1ce
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 0x1400daada
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 0x1400d9cd4
test r13d, 0xe000
je 0x1400db676
mov r11, r14
lea rax, str.unknown_header_flags_set
jmp 0x1400da533
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 0x50], edx
mov dword [r12 + 8], 0x3f42
je 0x1400dba59
mov rbp, rax
xor ebx, ebx
xor r13d, r13d
jmp 0x1400da09d
mov r11, r14
mov ebx, ecx
mov rbp, rax
jmp 0x1400db14f
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 0x1400daba2
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 0x1400da427
mov esi, r8d
mov ebx, 0x20
jmp 0x1400da667
mov esi, r8d
jmp 0x1400d98cf
lea ecx, [rax + 3]
cmp ebx, ecx
jae 0x1400db25b
test esi, esi
je 0x1400da988
mov r15d, ebx
mov ebx, ecx
mov ecx, r15d
jmp 0x1400db240
test esi, esi
je 0x1400d9cc0
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r13d, r8d
cmp ecx, ebx
jb 0x1400db238
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 0x1400dae7e
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 0x1400d9b93
mov ebx, ecx
mov eax, r8d
mov rbp, rdx
cmp eax, 0x12
ja 0x1400db2fc
mov ecx, 0x12
mov r8d, eax
lea rdx, [0x140125d20]
sub ecx, eax
lea rdx, [rdx + r8*2]
lea rax, [rcx + r8]
lea rcx, [0x140125d22]
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 0x1400db2d8
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 0x1400db74b
lea rax, str.invalid_code_lengths_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
mov r11, qword [rsp + 0x50]
sub r14d, eax
jmp 0x1400d9cd4
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 0x1400da2c3
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
sub r14d, eax
jmp 0x1400d9cd4
test dl, 0x40
je 0x1400db660
lea rax, [0x14012537f]
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
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 0x1400da118
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 0x1400da38a
mov r11, r14
lea rax, str.incorrect_header_check
jmp 0x1400da533
mov rax, rbp
jmp 0x1400da1ce
mov r8, rbp
jmp 0x1400da9e8
mov ebx, ecx
mov esi, r9d
jmp 0x1400da9e8
mov r11, r14
mov rbp, rax
jmp 0x1400db14f
mov dword [r12 + 8], 0x3f45
mov rbp, rdx
xor eax, eax
mov dword [r12 + 0x84], 0
jmp 0x1400d9e36
lea r15d, [rax + 2]
cmp ebx, r15d
jae 0x1400db4bc
test esi, esi
je 0x1400da988
mov ecx, ebx
jmp 0x1400db4a0
test esi, esi
je 0x1400d9cc0
movzx r8d, byte [rbp]
add rbp, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add r13d, r8d
cmp ecx, r15d
jb 0x1400db498
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr r13d, cl
test r11d, r11d
je 0x1400db94d
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 0x1400dae7e
mov ebx, ecx
mov esi, r8d
jmp 0x1400d99fd
mov ebx, ecx
mov rbp, r14
jmp 0x1400db14f
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 0x1400db73c
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 0x1400d9a26
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 0x1400db5f0
test esi, esi
je 0x1400da988
mov qword [rsp + 0x48], r14
mov edx, dword [rsp + 0x5c]
mov r14d, dword [rsp + 0x50]
jmp 0x1400db5a8
test esi, esi
je 0x1400db7ac
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 0x1400db5a0
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 0x1400da8a5
jmp 0x1400da786
mov dword [rsp + 0x48], eax
mov r8, r14
mov r11, rdx
mov qword [rsp + 0x50], 0
jmp 0x1400dac99
mov rax, rbp
jmp 0x1400da667
mov rdx, rbp
jmp 0x1400da704
mov rax, rbp
jmp 0x1400d98cf
mov r15, rbp
jmp 0x1400da51a
mov rax, rbp
jmp 0x1400da576
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0x58], edx
jmp 0x1400d9bb5
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400db68b
mov eax, r13d
shr eax, 8
and eax, 1
mov dword [rdx], eax
test r13d, 0x200
je 0x1400db6a0
test byte [r12 + 0x10], 4
jne 0x1400db920
mov dword [r12 + 8], 0x3f36
xor r13d, r13d
mov rbp, r15
xor ebx, ebx
jmp 0x1400da335
mov ebx, ecx
mov esi, edx
jmp 0x1400da51a
cmp dword [rsp + 0xd8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x1400d9831.19
mov eax, dword [rsp + 0x3c]
mov r11, r14
mov r14d, dword [rsp + 0x40]
sub r14d, eax
jmp 0x1400d9cd4
mov ebx, ecx
mov esi, r8d
jmp 0x1400da704
mov r11, r14
xor r15d, r15d
mov r14d, dword [rsp + 0x40]
mov eax, ecx
jmp 0x1400d9cd4
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 0x1400da229
call sym.adler32
mov r11, qword [rsp + 0x40]
jmp 0x1400db52c
mov dword [r12 + 8], 0x3f46
mov r8d, dword [r12 + 0x7c]
mov dword [r12 + 0x84], 0
mov r15d, r8d
add r15d, dword [r12 + 0x80]
je 0x1400da069
xor r11d, r11d
jmp 0x1400d9fa1
mov r14, rbp
jmp 0x1400d99fd
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 0x1400d977a
mov r14d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x3c]
xor r15d, r15d
mov r11, qword [rsp + 0x48]
sub r14d, eax
jmp 0x1400d9cd4
cmp dword [r12 + 0x30], 0
jne 0x1400db7d6
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 0x1400da4d9
mov r11, r14
mov r14d, dword [rsp + 0x40]
sub r14d, eax
jmp 0x1400d9cd4
mov r11, r14
xor r15d, r15d
mov r14d, dword [rsp + 0x40]
mov eax, edx
jmp 0x1400d9cd4
mov r15, rbp
jmp 0x1400dafb8
mov ebx, ecx
mov esi, r8d
jmp 0x1400dafb8
shr r13d, 4
mov eax, dword [r12 + 0x30]
mov ecx, r13d
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x1400db969
mov dword [r12 + 0x30], ecx
cmp ecx, 0xf
jbe 0x1400db97a
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 0x1400d9b93
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 0x1400db9e9
lea rax, str.invalid_literal_lengths_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
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 0x1400db6a0
mov r11, r14
jmp 0x1400d9b93
lea rax, str.invalid_bit_length_repeat
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
cmp ecx, 0xf
ja 0x1400db877
cmp eax, ecx
jb 0x1400db877
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, [0x140125418]
mov dword [r12 + 0x20], eax
mov dword [rdi + 0x4c], eax
jne 0x1400dba7c
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
mov rbp, r15
jmp case.0x1400d9831.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 0x1400d9cd4
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, [0x140125418]
test eax, eax
mov r15d, eax
je 0x1400db6bf
lea rax, str.invalid_distances_set
mov r11, r14
mov qword [rdi + 0x20], rax
mov dword [r12 + 8], 0x3f51
jmp 0x1400d9b93
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 0x1400d9cd4
mov dword [r12 + 8], 0x3f3d
xor r13d, r13d
xor ebx, ebx
mov rbp, r15
jmp 0x1400d9841