// File: lukasz-wiecaszek[P]h264iframedecoder/./scaling_matrices.hpp
// Function: ymn::h264::scaling_list_nxn<16ul>::to_string[abi:cxx11]() const
inline std::string scaling_list_4x4::to_string() const
{
    std::ostringstream stream;

    stream << P3(scaling_list_present_flag);

    if (scaling_list_present_flag) {
        int i = 0;
        while (i < 16) {
            if (!(i % 4)) stream << "        ";
            stream << "0x" << std::setfill('0') << std::setw(2) << std::hex << static_cast<int>(scaling_list[i]) << " ";
            ++i;
            if (!(i % 4)) stream << std::endl;
        }
    }

    return stream.str();
}

// Assembly:
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0x1d0(%rsp)
movq %rsi, 0x1c8(%rsp)
movq 0x1c8(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x2230
movl $0x6, %edi
callq 0x45f0
movl %eax, 0x4c(%rsp)
movl 0x4c(%rsp), %esi
leaq 0x50(%rsp), %rdi
callq 0x21b0
movq %rax, %rdi
leaq 0xc691(%rip), %rsi      # 0x28192
callq 0x2140
movq %rax, 0x28(%rsp)
movl $0x2a, %edi
callq 0x45f0
movq 0x28(%rsp), %rdi
movl %eax, 0x48(%rsp)
movl 0x48(%rsp), %esi
callq 0x21b0
movq %rax, %rdi
leaq -0x17521(%rip), %rsi    # 0x4610
callq 0x20a0
movq %rax, %rdi
leaq 0xc630(%rip), %rsi      # 0x28170
callq 0x2140
movq %rax, %rdi
leaq 0x87f7(%rip), %rsi      # 0x24346
callq 0x2140
movq %rax, %rdi
leaq 0x76df(%rip), %rsi      # 0x2323d
callq 0x2140
movq %rax, %rdi
leaq -0x1753d(%rip), %rsi    # 0x4630
callq 0x20a0
movq %rax, %rdi
movq 0x30(%rsp), %rax
movl 0xc(%rax), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x76b4(%rip), %rsi      # 0x23240
callq 0x2140
movq %rax, %rdi
leaq -0x1754b(%rip), %rsi    # 0x4650
callq 0x20a0
movq %rax, %rdi
movq 0x30(%rsp), %rax
movl 0xc(%rax), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x8803(%rip), %rsi      # 0x243bd
callq 0x2140
movq %rax, %rdi
movq 0x123df(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x30(%rsp), %rax
cmpl $0x0, 0xc(%rax)
je 0x1bccf
movl $0x0, 0x44(%rsp)
cmpl $0x10, 0x44(%rsp)
jge 0x1bccd
movl 0x44(%rsp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x1bc12
leaq 0x50(%rsp), %rdi
leaq 0xc57d(%rip), %rsi      # 0x2818a
callq 0x2140
leaq 0x50(%rsp), %rdi
leaq 0x761f(%rip), %rsi      # 0x2323d
callq 0x2140
movq %rax, 0x8(%rsp)
movl $0x30, %edi
callq 0xbef0
movq 0x8(%rsp), %rdi
movb %al, 0x43(%rsp)
movzbl 0x43(%rsp), %esi
callq 0x2270
movq %rax, 0x10(%rsp)
movl $0x2, %edi
callq 0x45f0
movq 0x10(%rsp), %rdi
movl %eax, 0x3c(%rsp)
movl 0x3c(%rsp), %esi
callq 0x21b0
movq %rax, %rdi
leaq -0x17640(%rip), %rsi    # 0x4630
callq 0x20a0
movq %rax, %rdi
movq 0x30(%rsp), %rax
movslq 0x44(%rsp), %rcx
movzbl 0x10(%rax,%rcx), %esi
callq 0x22c0
movq %rax, %rdi
leaq 0xc4fb(%rip), %rsi      # 0x28191
callq 0x2140
movl 0x44(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x1bcc8
leaq 0x50(%rsp), %rdi
movq 0x122e5(%rip), %rsi     # 0x2dfa8
callq 0x2180
jmp 0x1bbe5
jmp 0x1bccf
movq 0x18(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x2170
leaq 0x50(%rsp), %rdi
callq 0x2080
movq 0x20(%rsp), %rax
addq $0x1d8, %rsp            # imm = 0x1D8
retq
nopw %cs:(%rax,%rax)
nop