// File: /workspace/github_cpp_makefile_star2_O3/qhan1028[P]JPEG-Decoder/jpeg-decoder.cpp
// Function: print_SOS(sos&)
void print_SOS(sos_t& sos) {
    cout << "[SOS Information]" << endl;
    cout << "  channels = " << sos.ns << endl;
    for (unsigned int i = 0; i < sos.ns; i++) {
        cout << "    td = " << sos.cda[i].td << ", ta = " << sos.cda[i].ta << endl;
    }
    cout << "  Ss = " << sos.ss << endl;
    cout << "  Se = " << sos.se << endl;
    cout << "  Ah = " << sos.ah << endl;
    cout << "  Al = " << sos.al << endl;
    cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x5aee(%rip), %rbx      # 0x8fd0
leaq 0x2cfe(%rip), %rsi      # 0x61e7
movl $0x11, %edx
movq %rbx, %rdi
callq 0x2210
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
leaq 0x2c3c(%rip), %rsi      # 0x6160
movl $0xd, %edx
movq %rbx, %rdi
callq 0x2210
movl (%r14), %esi
movq %rbx, %rdi
callq 0x2110
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
cmpl $0x0, (%r14)
je 0x35fe
xorl %r12d, %r12d
movq 0x5a56(%rip), %r15      # 0x8fd0
leaq 0x2c82(%rip), %r13      # 0x6203
movl $0x9, %edx
movq %r15, %rdi
leaq 0x2c69(%rip), %rsi      # 0x61f9
callq 0x2210
movq 0x8(%r14), %rax
movl (%rax,%r12,8), %esi
movq %r15, %rdi
callq 0x2110
movq %rax, %rbx
movl $0x7, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2210
movq 0x8(%r14), %rax
movl 0x4(%rax,%r12,8), %esi
movq %rbx, %rdi
callq 0x2110
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
incq %r12
movl (%r14), %eax
cmpq %rax, %r12
jb 0x3581
leaq 0x2c06(%rip), %rsi      # 0x620b
movl $0x7, %edx
movq 0x59bf(%rip), %rbx      # 0x8fd0
movq %rbx, %rdi
callq 0x2210
movl 0x10(%r14), %esi
movq %rbx, %rdi
callq 0x2110
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
leaq 0x2bbd(%rip), %rsi      # 0x6213
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2210
movl 0x14(%r14), %esi
movq %rbx, %rdi
callq 0x2110
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
leaq 0x2b7b(%rip), %rsi      # 0x621b
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2210
movl 0x18(%r14), %esi
movq %rbx, %rdi
callq 0x2110
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
leaq 0x2b39(%rip), %rsi      # 0x6223
movl $0x7, %edx
movq %rbx, %rdi
callq 0x2210
movl 0x1c(%r14), %esi
movq %rbx, %rdi
callq 0x2110
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2120