// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/pkgs/jpeg/jdmaster.c
// Function: jinit_master_decompress
GLOBAL(void)
jinit_master_decompress (j_decompress_ptr cinfo)
{
  my_master_ptr master;

  master = (my_master_ptr)
      (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
				  SIZEOF(my_decomp_master));
  cinfo->master = (struct jpeg_decomp_master *) master;
  master->pub.prepare_for_output_pass = prepare_for_output_pass;
  master->pub.finish_output_pass = finish_output_pass;

  master->pub.is_dummy_pass = FALSE;

  master_selection(cinfo);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movl $0x30, %edx
movl $0x1, %esi
callq *(%rax)
movq %rax, %r14
movq %rax, 0x220(%rbx)
leaq 0x30e(%rip), %rax       # 0x7c6cb
movq %rax, (%r14)
leaq 0x474(%rip), %rax       # 0x7c83b
movq %rax, 0x8(%r14)
movl $0x0, 0x10(%r14)
movq %rbx, %rdi
callq 0x7c088
movq 0x8(%rbx), %rax
movl $0x580, %edx            # imm = 0x580
movq %rbx, %rdi
movl $0x1, %esi
callq *(%rax)
movq %rax, %r15
leaq 0x100(%rax), %r12
movq %r12, 0x1a8(%rbx)
xorl %r13d, %r13d
movl $0x100, %edx            # imm = 0x100
movq %rax, %rdi
xorl %esi, %esi
callq 0xe260
movdqa 0x2e3f7(%rip), %xmm0    # 0xaa810
movdqa 0x2e3ff(%rip), %xmm1    # 0xaa820
movdqu %xmm0, (%r12,%r13)
addq $0x10, %r13
paddb %xmm1, %xmm0
cmpq $0x100, %r13            # imm = 0x100
jne 0x7c421
leaq 0x200(%r15), %rdi
movl $0x180, %edx            # imm = 0x180
movl $0xff, %esi
callq 0xe260
leaq 0x380(%r15), %rdi
movl $0x180, %edx            # imm = 0x180
xorl %esi, %esi
callq 0xe260
addq $0x500, %r15            # imm = 0x500
movq 0x1a8(%rbx), %rsi
movl $0x80, %edx
movq %r15, %rdi
callq 0xe370
movl 0x88(%rbx), %eax
movslq 0x90(%rbx), %rcx
imulq %rax, %rcx
shrq $0x20, %rcx
je 0x7c4a2
movq (%rbx), %rax
movl $0x46, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
movl $0x0, 0x18(%r14)
movq %rbx, %rdi
callq 0x7c296
movl %eax, 0x1c(%r14)
pxor %xmm0, %xmm0
movdqu %xmm0, 0x20(%r14)
movl 0x6c(%rbx), %eax
testl %eax, %eax
je 0x7c4cd
cmpl $0x0, 0x58(%rbx)
jne 0x7c4df
movq $0x0, 0x7c(%rbx)
movl $0x0, 0x84(%rbx)
testl %eax, %eax
je 0x7c580
cmpl $0x0, 0x5c(%rbx)
je 0x7c4fc
movq (%rbx), %rax
movl $0x2f, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
cmpl $0x3, 0x90(%rbx)
jne 0x7c51f
cmpq $0x0, 0xa0(%rbx)
je 0x7c6aa
movl $0x1, 0x80(%rbx)
jmp 0x7c53c
movq $0x1, 0x7c(%rbx)
movl $0x0, 0x84(%rbx)
movq $0x0, 0xa0(%rbx)
cmpl $0x0, 0x7c(%rbx)
je 0x7c55b
movq %r14, %r15
addq $0x20, %r15
movq %rbx, %rdi
callq 0x84374
movq 0x270(%rbx), %rax
movq %rax, (%r15)
cmpl $0x0, 0x84(%rbx)
jne 0x7c56d
cmpl $0x0, 0x80(%rbx)
je 0x7c580
movq %rbx, %rdi
callq 0x8500c
movq 0x270(%rbx), %rax
movq %rax, 0x28(%r14)
cmpl $0x0, 0x5c(%rbx)
jne 0x7c5b5
cmpl $0x0, 0x1c(%r14)
je 0x7c597
movq %rbx, %rdi
callq 0x8644c
jmp 0x7c5a7
movq %rbx, %rdi
callq 0x83cfc
movq %rbx, %rdi
callq 0x835a4
movl 0x84(%rbx), %esi
movq %rbx, %rdi
callq 0x81c1c
movq %rbx, %rdi
callq 0x81f80
cmpl $0x0, 0x13c(%rbx)
je 0x7c5d7
movq (%rbx), %rax
movl $0x1, 0x28(%rax)
movq %rbx, %rdi
callq *(%rax)
jmp 0x7c5f2
cmpl $0x0, 0x138(%rbx)
je 0x7c5ea
movq %rbx, %rdi
callq 0x7f50c
jmp 0x7c5f2
movq %rbx, %rdi
callq 0x7ee07
movq 0x240(%rbx), %rax
movl $0x1, %esi
cmpl $0x0, 0x20(%rax)
jne 0x7c60e
xorl %esi, %esi
cmpl $0x0, 0x58(%rbx)
setne %sil
movq %rbx, %rdi
callq 0x80b88
cmpl $0x0, 0x5c(%rbx)
jne 0x7c626
movq %rbx, %rdi
xorl %esi, %esi
callq 0x80374
movq 0x8(%rbx), %rax
movq %rbx, %rdi
callq *0x30(%rax)
movq 0x240(%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x7c6a0
cmpl $0x0, 0x58(%rbx)
jne 0x7c6a0
movq 0x240(%rbx), %rcx
cmpl $0x0, 0x20(%rcx)
je 0x7c6a0
cmpl $0x0, 0x138(%rbx)
movl 0x38(%rbx), %ecx
leal 0x2(%rcx,%rcx,2), %edx
cmovel %ecx, %edx
movq $0x0, 0x8(%rax)
movl 0x1a4(%rbx), %ecx
movslq %edx, %rdx
imulq %rcx, %rdx
movq %rdx, 0x10(%rax)
movl $0x0, 0x18(%rax)
cmpl $0x1, 0x84(%rbx)
movl $0x3, %ecx
sbbl $0x0, %ecx
movl %ecx, 0x1c(%rax)
incl 0x18(%r14)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
cmpl $0x0, 0x74(%rbx)
je 0x7c6bf
movl $0x1, 0x84(%rbx)
jmp 0x7c53c
movl $0x1, 0x7c(%rbx)
jmp 0x7c53c