// File: /workspace/github_c_makefile_star2_O0/mikebdp2[P]AtomDis/./datastructs_gen.c
// Function: ATOM_DISPLAY_EXTERNAL_OBJECT_PATH_dumper
int ATOM_DISPLAY_EXTERNAL_OBJECT_PATH_dumper (uint8_t *start, uint8_t *data, int indent) {
  ATOM_DISPLAY_EXTERNAL_OBJECT_PATH *d = (ATOM_DISPLAY_EXTERNAL_OBJECT_PATH *) data;
  int i;
  if (d) {
    printf ("%s%04x:  USHORT usDeviceTag%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usDeviceTag)-start), FILL(17), d->usDeviceTag, d->usDeviceTag);
    printf ("%s%04x:  USHORT usSize%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usSize)-start), FILL(12), d->usSize, d->usSize);
    printf ("%s%04x:  USHORT usConnObjectId%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usConnObjectId)-start), FILL(20), d->usConnObjectId, d->usConnObjectId);
    printf ("%s%04x:  USHORT usGPUObjectId%s = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usGPUObjectId)-start), FILL(19), d->usGPUObjectId, d->usGPUObjectId);
    for (i = 0; i < 2; i++) {
      printf ("%s%04x:  USHORT usGraphicObjIds%s [%d] = 0x%04x     (%d)\n", IND(indent), (int)(((uint8_t*)&d->usGraphicObjIds[i])-start), FILL(25+(i>9)), i, d->usGraphicObjIds[i], d->usGraphicObjIds[i]); }
  }
  return sizeof (ATOM_DISPLAY_EXTERNAL_OBJECT_PATH);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x28bd6
movq 0x3b990(%rip), %rax     # 0x642a0
movq %rax, -0x30(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x28924
movl $0x19, %eax
movl %eax, -0x34(%rbp)
jmp 0x2892a
movl -0x14(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x30(%rbp), %rsi
movl -0x34(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x3b94d(%rip), %rcx     # 0x642a0
addq $0x11, %rcx
movq -0x20(%rbp), %rax
movzwl (%rax), %r8d
movq -0x20(%rbp), %rax
movzwl (%rax), %r9d
leaq 0x2c23a(%rip), %rdi     # 0x54ba8
movb $0x0, %al
callq 0x4090
movq 0x3b924(%rip), %rax     # 0x642a0
movq %rax, -0x40(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x28990
movl $0x19, %eax
movl %eax, -0x44(%rbp)
jmp 0x28996
movl -0x14(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x40(%rbp), %rsi
movl -0x44(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x2, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x3b8dd(%rip), %rcx     # 0x642a0
addq $0xc, %rcx
movq -0x20(%rbp), %rax
movzwl 0x2(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x2(%rax), %r9d
leaq 0x2c1f9(%rip), %rdi     # 0x54bd9
movb $0x0, %al
callq 0x4090
movq 0x3b8b2(%rip), %rax     # 0x642a0
movq %rax, -0x50(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x28a02
movl $0x19, %eax
movl %eax, -0x54(%rbp)
jmp 0x28a08
movl -0x14(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x50(%rbp), %rsi
movl -0x54(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x4, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x3b86b(%rip), %rcx     # 0x642a0
addq $0x14, %rcx
movq -0x20(%rbp), %rax
movzwl 0x4(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x4(%rax), %r9d
leaq 0x2c1b3(%rip), %rdi     # 0x54c05
movb $0x0, %al
callq 0x4090
movq 0x3b840(%rip), %rax     # 0x642a0
movq %rax, -0x60(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x28a74
movl $0x19, %eax
movl %eax, -0x64(%rbp)
jmp 0x28a7a
movl -0x14(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x60(%rbp), %rsi
movl -0x64(%rbp), %ecx
shll %ecx
movl $0x32, %eax
subl %ecx, %eax
cltq
addq %rax, %rsi
movq -0x20(%rbp), %rax
addq $0x6, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, %edx
movq 0x3b7f9(%rip), %rcx     # 0x642a0
addq $0x13, %rcx
movq -0x20(%rbp), %rax
movzwl 0x6(%rax), %r8d
movq -0x20(%rbp), %rax
movzwl 0x6(%rax), %r9d
leaq 0x2c175(%rip), %rdi     # 0x54c39
movb $0x0, %al
callq 0x4090
movl $0x0, -0x24(%rbp)
cmpl $0x2, -0x24(%rbp)
jge 0x28bd4
movq 0x3b7bd(%rip), %rax     # 0x642a0
movq %rax, -0x70(%rbp)
cmpl $0x19, -0x14(%rbp)
jle 0x28af7
movl $0x19, %eax
movl %eax, -0x74(%rbp)
jmp 0x28afd
movl -0x14(%rbp), %eax
movl %eax, -0x74(%rbp)
movq -0x70(%rbp), %rax
movl -0x74(%rbp), %edx
shll %edx
movl $0x32, %ecx
subl %edx, %ecx
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x90(%rbp)
movq -0x20(%rbp), %rax
addq $0x8, %rax
movslq -0x24(%rbp), %rcx
shlq %rcx
addq %rcx, %rax
movq -0x8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x84(%rbp)
movq 0x3b760(%rip), %rax     # 0x642a0
movq %rax, -0x80(%rbp)
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x19, %eax
cmpl $0x32, %eax
jle 0x28b65
movl $0x32, %eax
movl %eax, -0x94(%rbp)
jmp 0x28b7a
cmpl $0x9, -0x24(%rbp)
setg %al
andb $0x1, %al
movzbl %al, %eax
addl $0x19, %eax
movl %eax, -0x94(%rbp)
movl -0x84(%rbp), %edx
movq -0x90(%rbp), %rsi
movq -0x80(%rbp), %rcx
movl -0x94(%rbp), %eax
cltq
addq %rax, %rcx
movl -0x24(%rbp), %r8d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzwl 0x8(%rax,%rdi,2), %r9d
movq -0x20(%rbp), %rax
movslq -0x24(%rbp), %rdi
movzwl 0x8(%rax,%rdi,2), %eax
leaq 0x2c0b0(%rip), %rdi     # 0x54c6c
movl %eax, (%rsp)
movb $0x0, %al
callq 0x4090
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x28ad2
jmp 0x28bd6
movl $0xc, %eax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)