// File: /workspace/github_cpp_makefile_star2_O3/qhan1028[P]JPEG-Decoder/jpeg-decoder.cpp
// Function: print_SOF(sof&)
void print_SOF(sof_t& sof) {
    cout << "[SOF Information]" << endl;
    cout << "  precision = " << sof.P << endl;
    cout << "  height = " << sof.Y << endl;
    cout << "  width = " << sof.X << endl;
    cout << "  channels = " << sof.N << endl;
    for (unsigned int i = 0; i < sof.N; i++) {
        cout << "    H = " << sof.hvq[i].H << ", V = " << sof.hvq[i].V << ", Q = " << sof.hvq[i].Q << 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 0x62cb(%rip), %r15      # 0x8fd0
leaq 0x341c(%rip), %rsi      # 0x6128
movl $0x11, %edx
movq %r15, %rdi
callq 0x2210
movq (%r15), %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 0x33f3(%rip), %rsi      # 0x613a
movl $0xe, %edx
movq %r15, %rdi
callq 0x2210
movl (%r14), %esi
movq %r15, %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
leaq 0x33b9(%rip), %rsi      # 0x6149
movl $0xb, %edx
movq %r15, %rdi
callq 0x2210
movl 0x4(%r14), %esi
movq %r15, %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
leaq 0x337b(%rip), %rsi      # 0x6155
movl $0xa, %edx
movq %r15, %rdi
callq 0x2210
movl 0x8(%r14), %esi
movq %r15, %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
leaq 0x333c(%rip), %rsi      # 0x6160
movl $0xd, %edx
movq %r15, %rdi
callq 0x2210
movl 0xc(%r14), %esi
movq %r15, %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
cmpl $0x0, 0xc(%r14)
je 0x2f30
xorl %r13d, %r13d
movq 0x6154(%rip), %r15      # 0x8fd0
xorl %ebx, %ebx
movl $0x8, %edx
movq %r15, %rdi
leaq 0x32e1(%rip), %rsi      # 0x616e
callq 0x2210
movq 0x10(%r14), %rax
movl (%rax,%r13), %esi
movq %r15, %rdi
callq 0x2110
movq %rax, %r12
movl $0x6, %edx
movq %rax, %rdi
leaq 0x32c3(%rip), %rsi      # 0x6177
callq 0x2210
movq 0x10(%r14), %rax
movl 0x4(%rax,%r13), %esi
movq %r12, %rdi
callq 0x2110
movq %rax, %r12
movl $0x6, %edx
movq %rax, %rdi
leaq 0x32a2(%rip), %rsi      # 0x617e
callq 0x2210
movq 0x10(%r14), %rax
movl 0x8(%rax,%r13), %esi
movq %r12, %rdi
callq 0x2110
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21b0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2120
incq %rbx
movl 0xc(%r14), %eax
addq $0xc, %r13
cmpq %rax, %rbx
jb 0x2e7e
movq 0x6099(%rip), %rbx      # 0x8fd0
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