// File: /workspace/github_cpp_makefile_star2_O3/lukasz-wiecaszek[P]h264iframedecoder/./utilities.hpp
// Function: bool ymn::chk_range<unsigned int>(char const*, unsigned int, unsigned int, unsigned int, std::ostream&)
inline bool chk_range(const char* item_name, T item_value, T min, T max, std::ostream& ostream)
{
    if ((item_value >= min) && (item_value <= max))
        return true;

    if (ostream) {
        ostream << "error: value of '" << item_name << "' " << HEXDEC(item_value);
        ostream << " shall be in range [" << HEXDEC(min) << ", " << HEXDEC(max) << "]";
        ostream << std::endl;
    }

    return false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
cmpl %edx, %esi
setae %al
cmpl %ecx, %esi
setbe %bl
andb %al, %bl
jne 0x73fe
movq %r8, %r14
movq (%r8), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x20(%r8,%rax)
jne 0x73fe
movl %ecx, %ebp
movl %edx, %r15d
movl %esi, %r12d
movq %rdi, %r13
leaq 0x11c7e(%rip), %rsi     # 0x18e2e
movl $0x11, %edx
movq %r14, %rdi
callq 0x21d0
testq %r13, %r13
je 0x71da
movq %r13, %rdi
callq 0x20b0
movq %r14, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x21d0
jmp 0x71f2
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2290
leaq 0x11c47(%rip), %rsi     # 0x18e40
movl $0x2, %edx
movq %r14, %rdi
callq 0x21d0
leaq 0x10e17(%rip), %rsi     # 0x18024
movl $0x2, %edx
movq %r14, %rdi
callq 0x21d0
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r14,%rax)
movl %r12d, %r12d
movq %r14, %rdi
movq %r12, %rsi
callq 0x2100
movq %rax, %r13
leaq 0x10dde(%rip), %rsi     # 0x18027
movl $0x2, %edx
movq %rax, %rdi
callq 0x21d0
movq (%r13), %rax
movq -0x18(%rax), %rax
movl 0x18(%r13,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%r13,%rax)
movq %r13, %rdi
movq %r12, %rsi
callq 0x2100
leaq 0x117f6(%rip), %r12     # 0x18a76
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
leaq 0x11bac(%rip), %rsi     # 0x18e43
movl $0x14, %edx
movq %r14, %rdi
callq 0x21d0
movl $0x2, %edx
movq %r14, %rdi
leaq 0x10d71(%rip), %rsi     # 0x18024
callq 0x21d0
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r14,%rax)
movl %r15d, %r15d
movq %r14, %rdi
movq %r15, %rsi
callq 0x2100
movq %rax, %r13
movl $0x2, %edx
movq %rax, %rdi
leaq 0x10d38(%rip), %rsi     # 0x18027
callq 0x21d0
movq (%r13), %rax
movq -0x18(%rax), %rax
movl 0x18(%r13,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%r13,%rax)
movq %r13, %rdi
movq %r15, %rsi
callq 0x2100
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
leaq 0x11b27(%rip), %rsi     # 0x18e58
movl $0x2, %edx
movq %r15, %rdi
callq 0x21d0
movl $0x2, %edx
movq %r15, %rdi
leaq 0x10cd7(%rip), %rsi     # 0x18024
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rax
movl 0x18(%r15,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r15,%rax)
movl %ebp, %r13d
movq %r15, %rdi
movq %r13, %rsi
callq 0x2100
movq %rax, %r15
movl $0x2, %edx
movq %rax, %rdi
leaq 0x10c9e(%rip), %rsi     # 0x18027
callq 0x21d0
movq (%r15), %rax
movq -0x18(%rax), %rax
movl 0x18(%r15,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%r15,%rax)
movq %r15, %rdi
movq %r13, %rsi
callq 0x2100
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21d0
leaq 0x11a62(%rip), %rsi     # 0x18e2c
movl $0x1, %edx
movq %r15, %rdi
callq 0x21d0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2150
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2110
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop