Function at 0x140004b90
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
lea rax, [0x14001e7a0]
movq xmm6, rax
mov dword [rsp + 0xe8], edx
lea rdx, [0x14001e720]
mov r15, rcx
movq xmm2, rdx
call fcn.140004330
punpcklqdq xmm6, xmm2
mov r10d, eax
test eax, eax
jne case.default.0x140004c60
mov r11, qword [rcx + 0x10]
test r11, r11
je case.default.0x140004c60
mov rdi, qword [rcx]
mov r14d, dword [rcx + 8]
test rdi, rdi
je 0x140004da0
mov r12, qword [r15 + 0x28]
mov eax, dword [r12 + 8]
cmp eax, 0x3f3f
jne 0x140004c20
mov dword [r12 + 8], 0x3f40
mov eax, 0x3f40
mov esi, dword [r15 + 0x18]
mov dword [rsp + 0x38], r10d
mov ebp, dword [r12 + 0x94]
mov ebx, dword [r12 + 0x98]
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x68], esi
mov esi, r14d
sub eax, 0x3f34
cmp eax, 0x1e
ja case.default.0x140004c60
lea rdx, [0x14001e658]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
notrack jmp rax
cmp ebx, 0x1f
ja 0x140004c9e
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140004c88
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140004c80
bswap ebp
mov dword [r12 + 0x20], ebp
xor ebx, ebx
mov dword [r15 + 0x4c], ebp
xor ebp, ebp
mov dword [r12 + 8], 0x3f3e
mov r10d, dword [r12 + 0x14]
test r10d, r10d
je 0x14000697d
mov dword [r12 + 0x20], 1
mov dword [r15 + 0x4c], 1
mov dword [r12 + 8], 0x3f3f
mov eax, dword [rsp + 0xe8]
sub eax, 5
cmp eax, 1
jbe 0x140005d1a
mov r9d, dword [r12 + 0xc]
test r9d, r9d
je 0x140004e90
mov dword [r12 + 8], 0x3f4e
mov ecx, ebx
mov r10d, dword [rsp + 0x38]
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
mov r9d, dword [r12 + 0x10]
mov edx, r9d
test r9d, r9d
je 0x1400050f0
cmp ebx, 0x1f
ja 0x140004d60
mov ecx, ebx
test esi, esi
jne 0x140004d48
jmp 0x140005d1f
test esi, esi
je 0x140005f10
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140004d40
mov ebx, ecx
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
sub r8d, eax
add dword [r15 + 0x1c], r8d
add dword [r12 + 0x24], r8d
test r9b, 4
jne 0x14000639c
mov eax, dword [rsp + 0x68]
xor ebx, ebx
xor ebp, ebp
mov dword [r12 + 8], 0x3f4f
mov dword [rsp + 0x30], eax
jmp 0x1400054ba
test r14d, r14d
je 0x140004c02
mov r10d, 0xfffffffe
jmp 0x140005218
mov rax, qword [0x14001efb8]
shr ebp, 3
sub ebx, 3
cmp dword [rsp + 0xe8], 6
mov dword [r12 + 8], 0x3f47
mov qword [r12 + 0xb8], rax
movups xmmword [r12 + 0xa8], xmm6
je 0x140006bf3
mov rdi, rdx
nop dword [rax]
mov dword [r12 + 8], 0x3f48
cmp esi, 0xe
jbe 0x1400059c0
mov eax, dword [rsp + 0x68]
cmp eax, 0x103
jbe 0x1400059c0
mov qword [r15 + 0x10], r11
mov rcx, qword [0x140022f60]
mov qword [r15], rdi
mov dword [r15 + 8], esi
mov dword [r15 + 0x18], eax
mov dword [r12 + 0x94], ebp
mov dword [r12 + 0x98], ebx
call fcn.1400109f0
mov edx, dword [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x50]
mov eax, dword [r15 + 0x18]
mov r11, qword [r15 + 0x10]
mov rdi, qword [r15]
mov esi, dword [r15 + 8]
mov dword [rsp + 0x68], eax
mov eax, dword [r12 + 8]
mov ebp, dword [r12 + 0x94]
mov ebx, dword [r12 + 0x98]
cmp eax, 0x3f3f
jne 0x140004c44
mov dword [r12 + 0x23ac], 0xffffffff
jmp case.0x140004c60.16191
cmp ebx, 2
ja 0x140006733
test esi, esi
je 0x14000671f
movzx eax, byte [rdi]
mov ecx, ebx
sub esi, 1
lea rdx, [rdi + 1]
add ebx, 8
shl eax, cl
add ebp, eax
mov eax, ebp
and eax, 1
mov dword [r12 + 0xc], eax
mov eax, ebp
shr eax, 1
and eax, 3
cmp eax, 2
je 0x140005c5d
cmp eax, 3
je 0x14000645b
cmp eax, 1
je 0x140004db4
mov dword [r12 + 8], 0x3f41
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop word [rax + rax]
mov ecx, ebx
and ebx, 0xfffffff8
and ecx, 7
shr ebp, cl
cmp ebx, 0x1f
ja 0x140004f3b
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140004f20
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x140004f18
mov ebx, 0x20
mov edx, ebp
movzx eax, bp
shr edx, 0x10
xor edx, 0xffff
cmp eax, edx
je 0x140006346
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_stored_block_lengths
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov r8d, dword [r12 + 0xa4]
test r8d, r8d
jne 0x1400061f8
mov dword [r12 + 8], 0x3f4c
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x1400066f9
mov ecx, dword [rsp + 0x30]
mov r13d, dword [r12 + 0xa0]
mov eax, ecx
sub eax, edx
cmp eax, r13d
jae 0x140005df0
add r13d, edx
mov r8d, r13d
sub r8d, ecx
cmp dword [r12 + 0x38], r8d
jae 0x140005ad8
mov ecx, dword [r12 + 0x23a8]
test ecx, ecx
je 0x140005ad8
mov dword [r12 + 8], 0x3f51
lea rax, [0x14001e5f1]
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov edx, dword [r12 + 0xa4]
test edx, edx
jne 0x140005f40
mov eax, dword [r12 + 0x9c]
mov dword [r12 + 0x23b0], eax
mov dword [r12 + 8], 0x3f4a
mov ecx, dword [r12 + 0xbc]
mov eax, 0xffffffff
mov r9, qword [r12 + 0xb0]
shl eax, cl
mov ecx, eax
not ecx
mov eax, ecx
mov r13d, ecx
and eax, ebp
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
mov dword [rsp + 0x40], eax
cmp ebx, eax
jae 0x1400050a4
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005070
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, r13d
and eax, ebp
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
cmp ecx, eax
jb 0x140005068
mov dword [rsp + 0x40], eax
mov ebx, ecx
cmp r8b, 0xf
jbe 0x140006037
mov r9d, dword [r12 + 0x23ac]
mov ecx, edx
sub ebx, eax
add eax, r9d
mov dword [r12 + 0x23ac], eax
shr ebp, cl
test r8b, 0x40
je 0x1400061d0
mov dword [r12 + 8], 0x3f51
lea rax, [0x14001e5db]
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
xor ebx, ebx
xor ebp, ebp
nop
mov dword [r12 + 8], 0x3f50
nop dword [rax]
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r10d, 1
sub r8d, eax
nop word [rax + rax]
mov eax, dword [rsp + 0x68]
mov ecx, dword [r12 + 0x34]
mov qword [r15 + 0x10], r11
mov qword [r15], rdi
mov dword [r15 + 0x18], eax
mov dword [r15 + 8], esi
mov dword [r12 + 0x94], ebp
mov dword [r12 + 0x98], ebx
test ecx, ecx
jne 0x140005170
mov ecx, dword [r12 + 8]
cmp dword [rsp + 0x30], eax
je 0x1400051b0
cmp ecx, 0x3f50
ja 0x1400051b0
cmp ecx, 0x3f4d
jbe 0x140005170
cmp dword [rsp + 0xe8], 4
je 0x1400051b0
nop dword [rax]
mov r9d, dword [r12 + 0x10]
mov rdx, r11
mov rcx, r15
mov dword [rsp + 0x68], r10d
and r9d, 4
call fcn.140004850
test eax, eax
jne 0x140005f23
mov esi, dword [r15 + 8]
mov ebx, dword [r12 + 0x98]
mov ecx, dword [r12 + 8]
mov r10d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x30]
sub r8d, dword [r15 + 0x18]
mov edx, dword [r12 + 0xc]
sub r14d, esi
add dword [r15 + 0x1c], r8d
xor eax, eax
add dword [r15 + 0xc], r14d
mov r9d, r14d
add dword [r12 + 0x24], r8d
test edx, edx
setne al
shl eax, 6
add eax, ebx
cmp ecx, 0x3f3f
je 0x140005d30
cmp ecx, 0x3f47
sete dl
cmp ecx, 0x3f42
sete cl
or edx, ecx
movzx edx, dl
shl edx, 8
add eax, edx
or r9d, r8d
mov dword [r15 + 0x48], eax
je 0x14000520f
cmp dword [rsp + 0xe8], 4
jne 0x140005218
test r10d, r10d
je 0x14000636e
movaps xmm6, xmmword [rsp + 0x80]
mov eax, r10d
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [r12 + 0x9c]
mov dword [r12 + 8], 0x3f43
test eax, eax
je 0x140004cd5
cmp esi, eax
mov edx, dword [rsp + 0x68]
cmovbe eax, esi
cmp eax, edx
cmova eax, edx
mov r13d, eax
test eax, eax
je 0x140006a04
mov r8d, eax
mov rdx, rdi
mov rcx, r11
sub esi, r13d
mov qword [rsp + 0x40], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x40]
sub dword [rsp + 0x68], r13d
mov r11, rax
sub dword [r12 + 0x9c], r13d
mov eax, dword [r12 + 8]
add rdi, r8
add r11, r8
jmp 0x140004c44
mov eax, dword [r12 + 0x9c]
jmp 0x140005251
mov r8d, dword [r12 + 0xcc]
mov r10d, dword [r12 + 0xc0]
cmp r8d, r10d
jae 0x1400064e3
mov eax, r8d
lea rdx, [0x14001e6e0]
mov ecx, ebx
lea r9, [rdx + rax*2]
cmp ecx, 2
ja 0x140005340
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
sub esi, 1
lea rdx, [rdi + 1]
shl eax, cl
add ecx, 8
add ebp, eax
movzx eax, word [r9]
mov ebx, ebp
add r8d, 1
shr ebp, 3
and ebx, 7
mov dword [r12 + 0xcc], r8d
sub ecx, 3
add r9, 2
mov word [r12 + rax*2 + 0xd8], bx
cmp r8d, r10d
je 0x1400064de
mov rdi, rdx
cmp ecx, 2
jbe 0x1400052ee
mov rdx, rdi
jmp 0x140005307
mov r8d, dword [r12 + 0xc4]
mov eax, dword [r12 + 0xc8]
mov r10d, dword [r12 + 0xcc]
add eax, r8d
mov dword [rsp + 0x40], eax
cmp r10d, eax
jae 0x140005fce
mov ecx, dword [r12 + 0xb8]
mov edx, 0xffffffff
mov dword [rsp + 0x48], r8d
mov r9, qword [r12 + 0xa8]
shl edx, cl
not edx
mov eax, ebp
and eax, edx
lea rax, [r9 + rax*4]
movzx ecx, byte [rax + 1]
movzx r13d, word [rax + 2]
movzx eax, cl
cmp ebx, eax
jae 0x1400053f0
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x1400053c0
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, edx
lea rax, [r9 + rax*4]
movzx r8d, byte [rax + 1]
movzx r13d, word [rax + 2]
movzx eax, r8b
cmp ecx, eax
jb 0x1400053b8
mov ebx, ecx
mov ecx, r8d
cmp r13w, 0xf
jbe 0x140005fa0
cmp r13w, 0x10
je 0x140006670
cmp r13w, 0x11
je 0x14000647d
lea r8d, [rax + 7]
cmp ebx, r8d
jae 0x140005450
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005438
test esi, esi
je 0x140005d18
movzx ebx, byte [rdi]
add rdi, 1
sub esi, 1
shl ebx, cl
add ecx, 8
add ebp, ebx
cmp ecx, r8d
jb 0x140005430
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r13d, r13d
shr ebp, cl
sub ebx, 7
mov ecx, ebp
shr ebp, 7
and ecx, 0x7f
add ecx, 0xb
add r10d, ecx
cmp dword [rsp + 0x40], r10d
jb 0x140006b69
mov eax, dword [r12 + 0xcc]
lea r10d, [rcx + rax]
nop dword [rax]
mov ecx, eax
add eax, 1
mov word [r12 + rcx*2 + 0xd8], r13w
cmp r10d, eax
jne 0x140005488
mov dword [r12 + 0xcc], r10d
jmp 0x140005fbc
mov r10d, dword [rsp + 0x38]
mov edx, dword [r12 + 0x10]
test edx, edx
je 0x1400050f0
mov r8d, dword [r12 + 0x18]
test r8d, r8d
je 0x1400050f0
cmp ebx, 0x1f
ja 0x140005500
mov ecx, ebx
test esi, esi
jne 0x1400054e8
jmp 0x140005d1f
test esi, esi
je 0x140005f10
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x1400054e0
mov ebx, ecx
and edx, 4
je 0x1400050ea
cmp ebp, dword [r12 + 0x24]
je 0x1400050ea
mov dword [r12 + 8], 0x3f51
lea rax, str.incorrect_length_check
mov qword [r15 + 0x20], rax
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r10d, 0xfffffffd
sub r8d, eax
jmp 0x140005118
mov eax, dword [r12 + 0x18]
test ah, 2
jne 0x1400058ca
nop
mov edx, dword [r12 + 0x10]
mov rcx, qword [r12 + 0x28]
and edx, 4
test rcx, rcx
je 0x140005578
mov r8d, eax
mov dword [rcx + 0x40], 1
sar r8d, 9
and r8d, 1
mov dword [rcx + 0x3c], r8d
test edx, edx
je 0x140004cd5
test eax, eax
je 0x140004cd5
mov rcx, qword [0x140022f60]
mov qword [rsp + 0x40], r11
call fcn.1400109f0
lea rcx, [r12 + 0x50]
call qword [rax + 0x48]
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
mov dword [r15 + 0x4c], eax
jmp 0x140004cd5
mov edx, dword [r12 + 0x10]
test edx, edx
jne 0x140006258
mov dword [r12 + 8], 0x3f40
jmp case.0x140004c60.16192
cmp ebx, 0x1f
ja 0x14000560e
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x1400055f8
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x1400055f0
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000561b
mov dword [rax + 4], ebp
test byte [r12 + 0x19], 2
je 0x14000562f
test byte [r12 + 0x10], 4
jne 0x14000660d
mov dword [r12 + 8], 0x3f37
xor ebx, ebx
xor ebp, ebp
jmp 0x140005645
cmp ebx, 0xf
ja 0x140005676
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005660
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140005658
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x14000568f
movzx edx, bpl
mov dword [rax + 8], edx
mov edx, ebp
shr edx, 8
mov dword [rax + 0xc], edx
mov edx, dword [r12 + 0x18]
mov eax, edx
test dh, 2
je 0x1400056d8
test byte [r12 + 0x10], 4
je 0x1400056d8
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 2
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
call fcn.140007d20
mov edx, dword [r12 + 0x18]
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
mov eax, edx
nop dword [rax + rax]
mov dword [r12 + 8], 0x3f38
xor ebx, ebx
xor ebp, ebp
test dh, 4
je 0x140005768
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005708
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140005700
mov rax, qword [r12 + 0x28]
movzx ecx, bp
mov dword [r12 + 0x9c], ecx
test rax, rax
je 0x140005736
mov dword [rax + 0x18], ecx
test dh, 2
je 0x140005747
test byte [r12 + 0x10], 4
jne 0x140006810
mov eax, edx
xor ebx, ebx
and edx, 0x400
xor ebp, ebp
jmp 0x14000577c
mov edx, dword [r12 + 0x18]
mov eax, edx
test dh, 4
jne 0x140006320
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000577a
mov qword [rdx + 0x10], 0
xor edx, edx
mov dword [r12 + 8], 0x3f39
test edx, edx
je 0x14000584e
mov edx, dword [r12 + 0x9c]
cmp esi, edx
mov r13d, edx
cmovbe r13d, esi
test r13d, r13d
je 0x140005841
mov rcx, qword [r12 + 0x28]
mov r10d, r13d
test rcx, rcx
je 0x140005817
mov r8, qword [rcx + 0x10]
test r8, r8
je 0x140005817
mov r9d, dword [rcx + 0x18]
mov ecx, dword [rcx + 0x1c]
mov dword [rsp + 0x40], r9d
sub r9d, edx
cmp r9d, ecx
jae 0x140005817
lea eax, [r9 + r13]
mov qword [rsp + 0x48], r10
cmp ecx, eax
jae 0x1400057ed
add ecx, edx
mov edx, dword [rsp + 0x40]
mov eax, ecx
sub eax, edx
mov qword [rsp + 0x48], rax
lea rcx, [r8 + r9]
mov r8, qword [rsp + 0x48]
mov rdx, rdi
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x40], r10
call sub.msvcrt.dll_memcpy
mov eax, dword [r12 + 0x18]
mov r11, qword [rsp + 0x50]
mov r10, qword [rsp + 0x40]
test ah, 2
je 0x140005828
test byte [r12 + 0x10], 4
jne 0x1400065df
mov edx, dword [r12 + 0x9c]
sub esi, r13d
add rdi, r10
sub edx, r13d
mov dword [r12 + 0x9c], edx
test edx, edx
jne 0x140005d1a
mov eax, dword [r12 + 0x18]
mov dword [r12 + 0x9c], 0
mov dword [r12 + 8], 0x3f3a
jmp 0x14000586d
mov eax, dword [r12 + 0x18]
test ah, 8
jne 0x140005e60
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x140005888
mov qword [rdx + 0x20], 0
mov dword [r12 + 0x9c], 0
mov dword [r12 + 8], 0x3f3b
test ah, 0x10
jne 0x140005d40
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x1400058b8
mov qword [rdx + 0x30], 0
mov dword [r12 + 8], 0x3f3c
test ah, 2
je 0x140005550
cmp ebx, 0xf
ja 0x140005900
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x1400058e8
test esi, esi
je 0x140005d18
movzx edx, byte [rdi]
add rdi, 1
sub esi, 1
shl edx, cl
add ecx, 8
add ebp, edx
cmp ecx, 0xf
jbe 0x1400058e0
mov ebx, ecx
mov edx, dword [r12 + 0x10]
and edx, 4
je 0x140006020
movzx edx, word [r12 + 0x20]
cmp edx, ebp
je 0x1400063e7
mov dword [r12 + 8], 0x3f51
lea rax, str.header_crc_mismatch
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov eax, dword [r12 + 0x18]
jmp 0x14000589d
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x140005785
cmp ebx, 0xf
ja 0x140005998
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005980
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140005978
mov ebx, ecx
mov dword [r12 + 0x18], ebp
cmp bpl, 8
je 0x14000632e
lea rax, str.unknown_compression_method
mov dword [r12 + 8], 0x3f51
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov ecx, dword [r12 + 0xb8]
mov eax, 0xffffffff
mov r10, qword [r12 + 0xa8]
mov dword [r12 + 0x23ac], 0
shl eax, cl
mov ecx, eax
mov eax, ebp
not ecx
and eax, ecx
mov r13d, ecx
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
mov dword [rsp + 0x40], eax
cmp ebx, eax
jae 0x140005a5d
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005a28
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, ebp
and eax, r13d
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
cmp ecx, eax
jb 0x140005a20
mov dword [rsp + 0x40], eax
mov ebx, ecx
test dl, dl
je 0x140005a6a
cmp dl, 0xf
jbe 0x14000684f
mov dword [rsp + 0x48], 0
mov ecx, r8d
sub ebx, eax
mov dword [r12 + 0x9c], r9d
shr ebp, cl
mov ecx, dword [rsp + 0x48]
add eax, ecx
mov dword [r12 + 0x23ac], eax
test dl, dl
jne 0x140006379
mov dword [r12 + 8], 0x3f4d
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x1400066f9
mov eax, dword [r12 + 0x9c]
sub edx, 1
add r11, 1
mov dword [rsp + 0x68], edx
mov byte [r11 - 1], al
mov dword [r12 + 8], 0x3f48
jmp case.0x140004c60.16200
mov edx, dword [rsp + 0x30]
mov eax, dword [r12 + 0x3c]
mov rcx, qword [r12 + 0x40]
sub edx, r13d
cmp eax, r8d
jae 0x140006010
sub r8d, eax
add eax, dword [r12 + 0x34]
add eax, edx
mov eax, eax
lea rdx, [rcx + rax]
mov r9d, dword [rsp + 0x68]
mov eax, dword [r12 + 0x9c]
mov r10d, r8d
cmp eax, r9d
mov ecx, r9d
cmovbe ecx, eax
cmp ecx, r8d
cmovbe r10d, ecx
add r9, 1
mov ecx, r10d
cmp r9, rcx
cmova r9, rcx
cmp rdx, r11
jb 0x140006190
lea r13, [r11 + r9]
je 0x140006c95
cmp rdx, r13
jae 0x1400061a1
mov rax, rdx
mov rcx, r11
mov qword [rsp + 0x50], r9
sub rax, r11
mov dword [rsp + 0x48], r10d
mov r13, rax
mov qword [rsp + 0x40], rdx
neg r13
cmovs r13, rax
mov r8, r13
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov r11, rax
mov r10d, dword [rsp + 0x48]
add r11, r13
sub r9, r13
lea rcx, [rdx + r13]
je 0x140005c50
mov qword [rsp + 0x40], rdi
nop dword [rax]
cmp r13, r9
mov rdx, r9
cmovbe rdx, r13
sub r9, rdx
cmp rdx, 0x1f
jbe 0x140005bf6
lea rax, [rdx - 0x20]
and rax, 0xffffffffffffffe0
lea rdi, [rax + 0x20]
mov rax, rcx
lea r8, [r11 + rdi]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rax]
add r11, 0x20
add rax, 0x20
movups xmmword [r11 - 0x20], xmm0
movdqu xmm1, xmmword [rax - 0x10]
movups xmmword [r11 - 0x10], xmm1
cmp r8, r11
jne 0x140005bd0
add rcx, rdi
and edx, 0x1f
cmp rdx, 0xf
ja 0x140006170
cmp rdx, 7
ja 0x140006150
cmp rdx, 3
ja 0x140006130
cmp rdx, 1
jbe 0x140005c2e
movzx eax, word [rcx]
add r11, 2
add rcx, 2
sub rdx, 2
mov word [r11 - 2], ax
test rdx, rdx
je 0x140005c42
movzx eax, byte [rcx]
add r11, 1
add rcx, 1
mov byte [r11 - 1], al
test r9, r9
jne 0x140005ba0
mov rdi, qword [rsp + 0x40]
mov eax, dword [r12 + 0x9c]
jmp 0x140005e3b
mov dword [r12 + 8], 0x3f44
shr ebp, 3
sub ebx, 3
mov rdi, rdx
nop
cmp ebx, 0xd
ja 0x140005ca8
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005c90
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xd
jbe 0x140005c88
mov ebx, ecx
mov eax, ebp
mov r10d, ebp
mov edx, ebp
sub ebx, 0xe
shr eax, 5
shr r10d, 0xa
and edx, 0x1f
and eax, 0x1f
and r10d, 0xf
add edx, 0x101
shr ebp, 0xe
add eax, 1
add r10d, 4
mov dword [r12 + 0xc4], edx
mov dword [r12 + 0xc8], eax
mov dword [r12 + 0xc0], r10d
cmp edx, 0x11e
ja 0x140005cfc
cmp eax, 0x1e
jbe 0x140006653
mov dword [r12 + 8], 0x3f51
lea rax, str.too_many_length_or_distance_symbols
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov ebx, ecx
mov r10d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
sub r8d, eax
jmp 0x140005118
sub eax, 0xffffff80
jmp 0x1400051fc
test esi, esi
je 0x140005d1a
mov rdx, rdi
xor r13d, r13d
jmp 0x140005d55
cmp r13d, esi
jae 0x140005d95
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r13d, 1
test rax, rax
je 0x140005d8c
mov r8, qword [rax + 0x30]
test r8, r8
je 0x140005d8c
mov ecx, dword [r12 + 0x9c]
cmp ecx, dword [rax + 0x38]
jae 0x140005d8c
lea eax, [rcx + 1]
mov dword [r12 + 0x9c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
jne 0x140005d50
test byte [r12 + 0x19], 2
je 0x140005dd0
test byte [r12 + 0x10], 4
je 0x140005dd0
mov ecx, dword [r12 + 0x20]
mov r8d, r13d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.140007d20
mov r11, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov dword [r12 + 0x20], eax
nop
sub esi, r13d
add rdi, r13
test r9b, r9b
jne 0x140005d1a
mov eax, dword [r12 + 0x18]
jmp 0x1400058b8
mov edx, dword [rsp + 0x68]
mov eax, dword [r12 + 0x9c]
mov qword [rsp + 0x48], r11
mov rcx, qword [0x140022f60]
cmp edx, eax
cmovbe eax, edx
mov dword [rsp + 0x40], eax
call fcn.1400109f0
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x40]
mov edx, r13d
mov rcx, qword [rsp + 0x48]
call qword [rax + 0x10]
mov r10d, dword [rsp + 0x40]
mov r11, rax
mov eax, dword [r12 + 0x9c]
sub dword [rsp + 0x68], r10d
sub eax, r10d
mov dword [r12 + 0x9c], eax
je case.0x140004c60.16199
mov eax, dword [r12 + 8]
jmp 0x140004c44
test esi, esi
je 0x140005d1a
mov rdx, rdi
xor r13d, r13d
nop
mov rax, qword [r12 + 0x28]
movzx r9d, byte [rdx]
add r13d, 1
test rax, rax
je 0x140005ea7
mov r8, qword [rax + 0x20]
test r8, r8
je 0x140005ea7
mov ecx, dword [r12 + 0x9c]
cmp ecx, dword [rax + 0x28]
jae 0x140005ea7
lea eax, [rcx + 1]
mov dword [r12 + 0x9c], eax
mov byte [r8 + rcx], r9b
add rdx, 1
test r9b, r9b
je 0x140005eb5
cmp r13d, esi
jb 0x140005e70
test byte [r12 + 0x19], 2
je 0x140005ef0
test byte [r12 + 0x10], 4
je 0x140005ef0
mov ecx, dword [r12 + 0x20]
mov r8d, r13d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov byte [rsp + 0x40], r9b
call fcn.140007d20
mov r11, qword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov dword [r12 + 0x20], eax
nop
sub esi, r13d
add rdi, r13
test r9b, r9b
jne 0x140005d1a
mov eax, dword [r12 + 0x18]
jmp 0x140005888
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov ebx, ecx
sub r8d, eax
jmp 0x140005118
mov dword [r12 + 8], 0x3f52
nop dword [rax]
mov r10d, 0xfffffffc
jmp 0x140005218
cmp ebx, edx
jae 0x140005f6f
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140005f58
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jb 0x140005f50
mov ebx, ecx
mov ecx, edx
mov eax, 0xffffffff
add dword [r12 + 0x23ac], edx
sub ebx, edx
shl eax, cl
not eax
and eax, ebp
add eax, dword [r12 + 0x9c]
shr ebp, cl
mov dword [r12 + 0x9c], eax
jmp 0x140005008
sub ebx, eax
lea eax, [r10 + 1]
shr ebp, cl
mov dword [r12 + 0xcc], eax
mov word [r12 + r10*2 + 0xd8], r13w
mov r10d, eax
mov eax, dword [rsp + 0x40]
cmp r10d, eax
jb 0x14000538e
mov r8d, dword [rsp + 0x48]
cmp dword [r12 + 8], 0x3f51
je case.0x140004c60.16209
cmp word [r12 + 0x2d8], 0
jne 0x140006ad2
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_code____missing_end_of_block
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
add eax, edx
mov eax, eax
lea rdx, [rcx + rax]
jmp 0x140005b02
mov rcx, qword [r12 + 0x28]
xor ebx, ebx
xor ebp, ebp
test rcx, rcx
jne 0x140005562
jmp 0x140004cd5
lea ecx, [r8 + rax]
mov dword [rsp + 0x48], eax
mov eax, 0xffffffff
mov r13d, r10d
shl eax, cl
mov ecx, edx
not eax
mov dword [rsp + 0x50], eax
and eax, ebp
shr eax, cl
mov ecx, dword [rsp + 0x40]
add eax, r10d
mov eax, eax
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
add ecx, eax
cmp ebx, ecx
jae 0x140006105
test esi, esi
je 0x140005d1a
mov qword [rsp + 0x58], r11
mov r11d, dword [rsp + 0x40]
mov qword [rsp + 0x60], r12
mov r12d, r13d
mov r13d, dword [rsp + 0x50]
mov dword [rsp + 0x50], r14d
mov r14d, dword [rsp + 0x48]
jmp 0x1400060b8
test esi, esi
je 0x1400065ba
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl eax, cl
mov ecx, r14d
add ebp, eax
mov eax, ebp
and eax, r13d
shr eax, cl
add eax, r12d
mov eax, eax
lea rax, [r9 + rax*4]
movzx edx, byte [rax + 1]
movzx r8d, byte [rax]
movzx r10d, word [rax + 2]
movzx eax, dl
lea ecx, [r11 + rax]
cmp ebx, ecx
jb 0x1400060b0
mov r11, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x48]
mov ecx, r9d
add r9d, dword [r12 + 0x23ac]
shr ebp, cl
mov ecx, dword [rsp + 0x40]
sub ebx, ecx
jmp 0x1400050b6
mov r10d, dword [rsp + 0x38]
jmp 0x140004d17
mov eax, dword [rcx]
add r11, 4
add rcx, 4
sub rdx, 4
mov dword [r11 - 4], eax
jmp 0x140005c14
mov rax, qword [rcx]
add r11, 8
add rcx, 8
sub rdx, 8
mov qword [r11 - 8], rax
jmp 0x140005c0a
movdqu xmm3, xmmword [rcx]
add r11, 0x10
add rcx, 0x10
sub rdx, 0x10
movups xmmword [r11 - 0x10], xmm3
jmp 0x140005c00
lea rax, [rdx + r9]
cmp r11, rax
jb 0x140005b4c
lea r13, [r11 + r9]
mov rcx, r11
mov r8, r9
mov dword [rsp + 0x40], r10d
call sub.msvcrt.dll_memcpy
mov eax, dword [r12 + 0x9c]
mov r10d, dword [rsp + 0x40]
mov r11, r13
jmp 0x140005e3b
and r8d, 0xf
mov dword [r12 + 0xa0], r10d
mov dword [r12 + 0xa4], r8d
mov dword [r12 + 8], 0x3f4b
jmp 0x140004f78
cmp ebx, r8d
jae 0x140006230
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140006218
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, r8d
jb 0x140006210
mov ebx, ecx
mov ecx, r8d
mov eax, 0xffffffff
add dword [r12 + 0x23ac], r8d
sub ebx, r8d
shl eax, cl
not eax
and eax, ebp
shr ebp, cl
add dword [r12 + 0xa0], eax
jmp 0x140004f81
cmp ebx, 0xf
ja 0x140006290
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140006278
test esi, esi
je 0x140005d18
movzx eax, byte [rdi]
add rdi, 1
sub esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x140006270
mov ebx, ecx
test dl, 2
je 0x1400062a1
cmp ebp, 0x8b1f
je 0x1400069ab
mov rax, qword [r12 + 0x28]
test rax, rax
je 0x1400062b2
mov dword [rax + 0x40], 0xffffffff
and edx, 1
je 0x14000663a
mov edx, ebp
mov eax, ebp
shl edx, 8
shr eax, 8
movzx edx, dx
lea ecx, [rdx + rax]
mov rdx, rcx
imul rcx, rcx, 0x8421085
mov eax, edx
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 4
mov ecx, eax
shl ecx, 5
sub ecx, eax
cmp edx, ecx
jne 0x14000663a
mov eax, ebp
and eax, 0xf
cmp eax, 8
je 0x140006a6c
mov dword [r12 + 8], 0x3f51
lea rax, str.unknown_compression_method
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
cmp ebx, 0xf
jbe 0x1400056ea
jmp 0x14000571e
test ebp, 0xe000
je 0x14000673b
lea rax, str.unknown_header_flags_set
jmp 0x1400059ae
cmp dword [rsp + 0xe8], 6
mov dword [r12 + 0x9c], eax
mov dword [r12 + 8], 0x3f42
je 0x140006bd9
xor ebx, ebx
xor ebp, ebp
jmp 0x140005248
mov r10d, 0xfffffffb
jmp 0x140005218
test dl, 0x20
je 0x1400066d7
mov dword [r12 + 0x23ac], 0xffffffff
mov dword [r12 + 8], 0x3f3f
jmp case.0x140004c60.16191
test r8d, r8d
jne 0x140006775
mov eax, dword [r12 + 0x18]
mov r13, qword [0x140022f60]
test eax, eax
jne 0x140006407
mov eax, dword [r12 + 0x20]
mov edx, ebp
bswap edx
cmp edx, eax
je 0x140006975
mov dword [r12 + 8], 0x3f51
lea rax, str.incorrect_data_check
mov qword [r15 + 0x20], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
jmp case.0x140004c60.16209
mov rcx, qword [r12 + 0x28]
xor ebx, ebx
xor ebp, ebp
test rcx, rcx
je 0x140005588
mov edx, 4
xor ebx, ebx
xor ebp, ebp
jmp 0x140005562
mov rcx, r13
mov dword [rsp + 0x38], r10d
mov qword [rsp + 0x30], r11
call fcn.1400109f0
lea rcx, [r12 + 0x50]
call qword [rax + 0x40]
mov r9d, dword [r12 + 0x10]
mov r11, qword [rsp + 0x30]
mov dword [r12 + 0x20], eax
mov r10d, dword [rsp + 0x38]
test r9b, 4
mov dword [r15 + 0x4c], eax
mov edx, r9d
je 0x140004d7f
mov r13d, dword [r12 + 0x18]
mov edx, ebp
test r13d, r13d
jne 0x1400063be
jmp 0x1400063ba
lea rax, str.invalid_block_type
shr ebp, 3
sub ebx, 3
mov rdi, rdx
mov dword [r12 + 8], 0x3f51
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
lea ecx, [rax + 3]
cmp ebx, ecx
jae 0x1400064c2
test esi, esi
je 0x140005d1a
mov r8d, ecx
mov ecx, ebx
mov ebx, r8d
jmp 0x1400064a8
test esi, esi
je 0x140005d18
movzx r8d, byte [rdi]
add rdi, 1
sub esi, 1
shl r8d, cl
add ecx, 8
add ebp, r8d
cmp ecx, ebx
jb 0x1400064a0
mov ebx, ecx
mov ecx, eax
sub ebx, eax
xor r13d, r13d
shr ebp, cl
sub ebx, 3
mov ecx, ebp
shr ebp, 3
and ecx, 7
add ecx, 3
jmp 0x140005467
mov ebx, ecx
mov rdi, rdx
cmp r8d, 0x12
ja 0x140006534
mov edx, 0x12
mov ecx, r8d
lea rax, [0x14001e6e0]
sub edx, r8d
lea rax, [rax + rcx*2]
add rdx, rcx
lea rcx, [0x14001e6e2]
lea rcx, [rcx + rdx*2]
nop dword [rax]
movzx edx, word [rax]
xor r8d, r8d
add rax, 2
mov word [r12 + rdx*2 + 0xd8], r8w
cmp rcx, rax
jne 0x140006510
mov dword [r12 + 0xcc], 0x13
lea rax, [r12 + 0x598]
xor ecx, ecx
mov dword [r12 + 0xb8], 7
lea rdx, [r12 + 0xd8]
mov qword [r12 + 0xd0], rax
lea r9, [r12 + 0xd0]
mov r8d, 0x13
mov qword [r12 + 0xa8], rax
lea rax, [r12 + 0x358]
mov qword [rsp + 0x28], rax
lea rax, [r12 + 0xb8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r11
call fcn.140007640
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x14000693b
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_code_lengths_set
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r11, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x38]
sub r8d, eax
jmp 0x140005118
mov ecx, dword [r12 + 0x20]
mov r8d, r13d
mov rdx, rdi
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x40], r10
call fcn.140007d20
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
jmp 0x140005828
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 4
mov qword [rsp + 0x40], r11
mov dword [rsp + 0x7c], ebp
call fcn.140007d20
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
jmp 0x14000562f
mov dword [r12 + 8], 0x3f51
lea rax, str.incorrect_header_check
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov dword [r12 + 0xcc], 0
xor r8d, r8d
mov dword [r12 + 8], 0x3f45
jmp 0x1400052d9
lea r8d, [rax + 2]
cmp ebx, r8d
jae 0x1400066a8
test esi, esi
je 0x140005d1a
mov ecx, ebx
jmp 0x140006690
test esi, esi
je 0x140005d18
movzx ebx, byte [rdi]
add rdi, 1
sub esi, 1
shl ebx, cl
add ecx, 8
add ebp, ebx
cmp ecx, r8d
jb 0x140006688
mov ebx, ecx
mov ecx, eax
sub ebx, eax
shr ebp, cl
test r10d, r10d
je 0x140006b69
mov ecx, ebp
lea eax, [r10 - 1]
shr ebp, 2
sub ebx, 2
movzx r13d, word [r12 + rax*2 + 0xd8]
and ecx, 3
add ecx, 3
jmp 0x140005467
test dl, 0x40
je 0x140006922
mov dword [r12 + 8], 0x3f51
lea rax, [0x14001e5bf]
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov r10d, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
jmp 0x140005118
cmp dword [rsp + 0xe8], 6
mov dword [r12 + 8], 0x3f47
jne case.0x140004c60.16199
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor r10d, r10d
sub r8d, eax
jmp 0x140005118
mov rdx, rdi
jmp 0x140004eb4
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000674f
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [rdx], eax
test ebp, 0x200
je 0x140006763
test byte [r12 + 0x10], 4
jne 0x140006bab
mov dword [r12 + 8], 0x3f36
xor ebx, ebx
xor ebp, ebp
jmp 0x1400055dd
mov r13, qword [0x140022f60]
mov r9, qword [r15 + 0x28]
mov rdx, r11
mov dword [rsp + 0x50], r10d
sub rdx, r8
mov qword [rsp + 0x48], r11
mov rcx, r13
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r9
call fcn.1400109f0
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
mov edx, dword [r9 + 0x18]
test edx, edx
mov rdx, qword [rsp + 0x38]
je 0x140006a16
mov dword [rsp + 0x38], r10d
lea rcx, [r9 + 0x50]
xor r9d, r9d
mov qword [rsp + 0x30], r11
call qword [rax + 0x30]
mov r11, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x38]
mov eax, dword [r12 + 0x18]
test eax, eax
jne 0x140006407
mov r9d, dword [r12 + 0x10]
mov edx, r9d
test r9b, 4
jne 0x1400063b5
jmp 0x140004d7f
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 2
xor ebx, ebx
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
xor ebp, ebp
call fcn.140007d20
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
mov eax, dword [r12 + 0x18]
mov edx, eax
and edx, 0x400
jmp 0x14000577c
add edx, eax
mov dword [rsp + 0x48], eax
mov eax, 0xffffffff
mov r13d, r9d
mov ecx, edx
shl eax, cl
mov ecx, r8d
not eax
mov dword [rsp + 0x6c], eax
and eax, ebp
shr eax, cl
mov ecx, dword [rsp + 0x40]
add eax, r9d
mov eax, eax
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
add ecx, eax
cmp ebx, ecx
jae 0x140006910
test esi, esi
je 0x140005d1a
mov qword [rsp + 0x50], r11
mov r11d, dword [rsp + 0x40]
mov qword [rsp + 0x58], r12
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x60], r14d
mov r14d, dword [rsp + 0x6c]
jmp 0x1400068c2
test esi, esi
je 0x140006a47
movzx eax, byte [rdi]
mov ecx, ebx
add ebx, 8
add rdi, 1
sub esi, 1
shl eax, cl
mov ecx, r12d
add ebp, eax
mov eax, r14d
and eax, ebp
shr eax, cl
add eax, r13d
mov eax, eax
lea rax, [r10 + rax*4]
movzx r8d, byte [rax + 1]
movzx edx, byte [rax]
movzx r9d, word [rax + 2]
movzx eax, r8b
lea ecx, [rax + r11]
cmp ebx, ecx
jb 0x1400068ba
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
movzx ecx, byte [rsp + 0x48]
shr ebp, cl
mov ecx, dword [rsp + 0x40]
sub ebx, ecx
jmp 0x140005a72
mov dword [r12 + 8], 0x3f49
and edx, 0xf
mov dword [r12 + 0xa4], edx
jmp 0x140004ff8
mov r8d, dword [r12 + 0xc4]
mov dword [r12 + 0xcc], 0
mov dword [r12 + 8], 0x3f46
mov eax, r8d
add eax, dword [r12 + 0xc8]
mov dword [rsp + 0x40], eax
je 0x140005fdd
xor r10d, r10d
jmp 0x140005370
mov edx, r9d
jmp 0x140004d7f
mov eax, dword [rsp + 0x68]
mov qword [r15 + 0x10], r11
mov r10d, 2
mov qword [r15], rdi
mov dword [r15 + 0x18], eax
mov dword [r15 + 8], esi
mov dword [r12 + 0x94], ebp
mov dword [r12 + 0x98], ebx
jmp 0x140005218
mov r13d, dword [r12 + 0x30]
test r13d, r13d
jne 0x1400069be
mov dword [r12 + 0x30], 0xf
mov ebp, 0xffff8b1f
lea rdx, [rsp + 0x7c]
xor ecx, ecx
xor ebx, ebx
mov dword [r12 + 0x20], 0
mov r8d, 2
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
xor ebp, ebp
call fcn.140007d20
mov r11, qword [rsp + 0x40]
mov dword [r12 + 8], 0x3f35
mov dword [r12 + 0x20], eax
jmp 0x140005965
mov r8d, dword [rsp + 0x30]
mov r10d, dword [rsp + 0x38]
sub r8d, edx
jmp 0x140005118
mov dword [rsp + 0x40], r10d
mov ecx, dword [r9 + 0x20]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], r9
call qword [rax]
mov r9, qword [rsp + 0x30]
mov r10d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov dword [r9 + 0x20], eax
mov dword [r15 + 0x4c], eax
jmp 0x1400067ea
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
mov r10d, dword [rsp + 0x38]
sub r8d, eax
jmp 0x140005118
shr ebp, 4
mov eax, dword [r12 + 0x30]
mov ecx, ebp
and ecx, 0xf
add ecx, 8
test eax, eax
jne 0x140006b82
mov dword [r12 + 0x30], ecx
cmp ecx, 0xf
ja 0x140006b8f
mov dword [r12 + 0x20], 1
mov eax, 1
xor ebx, ebx
shl eax, cl
mov dword [r12 + 0x18], ebx
mov dword [r12 + 0x1c], eax
mov dword [r15 + 0x4c], 1
and ebp, 0x200
jne 0x140006c83
mov dword [r12 + 8], 0x3f3f
xor ebx, ebx
jmp case.0x140004c60.16191
lea rax, [r12 + 0x598]
lea r13, [r12 + 0x358]
mov dword [r12 + 0xb8], 0xa
mov ecx, 1
mov qword [r12 + 0xd0], rax
lea r9, [r12 + 0xd0]
lea rdx, [r12 + 0xd8]
mov qword [r12 + 0xa8], rax
lea rax, [r12 + 0xb8]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], rdx
call fcn.140007640
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
test eax, eax
mov r11, qword [rsp + 0x50]
je 0x140006c0a
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_literal_lengths_set
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_bit_length_repeat
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
cmp ecx, 0xf
ja 0x140006b8f
cmp eax, ecx
jae 0x140006a92
lea rax, str.invalid_window_size
sub ebx, 4
mov dword [r12 + 8], 0x3f51
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov ecx, dword [r12 + 0x20]
lea rdx, [rsp + 0x7c]
mov r8d, 2
mov qword [rsp + 0x40], r11
mov word [rsp + 0x7c], bp
call fcn.140007d20
mov r11, qword [rsp + 0x40]
mov dword [r12 + 0x20], eax
jmp 0x140006763
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor ebx, ebx
xor ebp, ebp
mov r10d, dword [rsp + 0x38]
sub r8d, eax
jmp 0x140005118
mov r8d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x68]
xor r10d, r10d
mov rdi, rdx
sub r8d, eax
jmp 0x140005118
mov rax, qword [r12 + 0xd0]
mov ecx, 2
mov qword [rsp + 0x40], r11
mov dword [r12 + 0xbc], 9
mov r8d, dword [r12 + 0xc8]
mov qword [r12 + 0xb0], rax
mov eax, dword [r12 + 0xc4]
mov qword [rsp + 0x28], r13
add rax, rax
add rdx, rax
lea rax, [r12 + 0xbc]
mov qword [rsp + 0x20], rax
call fcn.140007640
mov r11, qword [rsp + 0x40]
test eax, eax
je 0x140006708
mov dword [r12 + 8], 0x3f51
lea rax, str.invalid_distances_set
mov qword [r15 + 0x20], rax
jmp case.0x140004c60.16209
mov dword [r12 + 8], 0x3f3d
xor ebp, ebp
xor ebx, ebx
jmp 0x140004c6d
cmp rdx, r13
jae 0x1400061a1
mov r11, r13
jmp 0x140005e3b