// File: /workspace/github_cpp_makefile_star2_O3/olegk0[P]readAVI/ReadAVI.cpp
// Function: ReadAVI::read_stream_format_auds()
int ReadAVI::read_stream_format_auds()
{
#ifdef VERBOSE
    long offset = inFile.tellg();
#endif
    stream_format_auds.format = read_word();
    stream_format_auds.channels = read_word();
    stream_format_auds.samples_per_second = read_int();
    stream_format_auds.bytes_per_second = read_int();
    int block_align = read_word();
    stream_format_auds.block_size_of_data = read_word();
    stream_format_auds.bits_per_sample = read_word();
    //stream_format_auds.extended_size=read_word();

    MSG_DBG(2, "            offset=0x%lx\n", offset);
    MSG_DBG(2, "                        format: %d\n", stream_format_auds.format);
    MSG_DBG(2, "                      channels: %d\n", stream_format_auds.channels);
    MSG_DBG(2, "            samples_per_second: %d\n", stream_format_auds.samples_per_second);
    MSG_DBG(2, "              bytes_per_second: %d\n", stream_format_auds.bytes_per_second);
    MSG_DBG(2, "                   block_align: %d\n", block_align);
    MSG_DBG(2, "            block_size_of_data: %d\n", stream_format_auds.block_size_of_data);
    MSG_DBG(2, "               bits_per_sample: %d\n", stream_format_auds.bits_per_sample);

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
leaq 0x20(%rdi), %r15
movq %r15, %rdi
callq 0x23e0
movq %rax, %r14
leaq 0xc(%rsp), %r12
movl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movzwl (%r12), %eax
movl %eax, 0x308(%rbx)
leaq 0xc(%rsp), %r12
movl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movzwl (%r12), %eax
movl %eax, 0x30c(%rbx)
leaq 0xc(%rsp), %r12
movl $0x4, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movl (%r12), %eax
movl %eax, 0x310(%rbx)
leaq 0xc(%rsp), %r12
movl $0x4, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movl (%r12), %eax
movl %eax, 0x314(%rbx)
leaq 0xc(%rsp), %r12
movl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movzwl (%r12), %ebp
leaq 0xc(%rsp), %r12
movl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movzwl (%r12), %eax
movl %eax, 0x318(%rbx)
leaq 0xc(%rsp), %r12
movl $0x2, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x22b0
movzwl (%r12), %eax
movl %eax, 0x31c(%rbx)
movq 0x3dcd(%rip), %r15      # 0x7fb0
movq (%r15), %rdi
leaq 0x1256(%rip), %rsi      # 0x5443
movq %r14, %rdx
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
movl 0x308(%rbx), %edx
leaq 0x14b7(%rip), %rsi      # 0x56be
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
movl 0x30c(%rbx), %edx
leaq 0x14c4(%rip), %rsi      # 0x56e2
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
movl 0x310(%rbx), %edx
leaq 0x14d1(%rip), %rsi      # 0x5706
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
movl 0x314(%rbx), %edx
leaq 0x14de(%rip), %rsi      # 0x572a
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
leaq 0x14f1(%rip), %rsi      # 0x574e
movl %ebp, %edx
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
movl 0x318(%rbx), %edx
leaq 0x14fc(%rip), %rsi      # 0x5772
xorl %eax, %eax
callq 0x2340
movq (%r15), %rdi
movl 0x31c(%rbx), %edx
leaq 0x1509(%rip), %rsi      # 0x5796
xorl %eax, %eax
callq 0x2340
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop