// File: /workspace/github_c_makefile_star2_O0/42Bastian[P]lyxass/pseudo.c
// Function: p_echo
int p_echo(int d)
{
  label_t label;
  int32_t l;

  if ( !TestAtom('"') ) return Error(SYNTAX_ERR, __FUNCTION__);

  if ( d ) {
    if (Current.File >= 0){
      if ( Current.Macro.Line ){
        fprintf(my_stderr,"FAIL: %s:%d:Macro-Line %5d:<%s>:",
                file_list[Current.File].name,Current.Line,
                Current.Macro.Line,file_list[Current.Macro.File].name);
      }
    } else {
      fprintf(my_stderr,"FAIL: %s:%5d :",
              Current.File >= 0 ? file_list[Current.File].name:"",Current.Line);
    }
  }

  while ( atom != '"' ){
    if ( atom == '%' && next_atom != '%'){
      int mode = 0;

      GetAtom();
      if ( atom == 'H' || atom == 'h' || atom == 'X' || atom == 'x'){
        mode = 1;
        l = 0xdead;
      }
      else if ( atom == 'D' || atom == 'd' ){
        mode = 2;
        l = 12345678;
      }
      else {
        return Error(SYNTAX_ERR, __FUNCTION__ );
      }
      GetAtom();

      if ( GetLabel( &label) ) return 1;

      FindLabel( &label, &l );

      if ( mode == 1  ){
        fprintf(my_stderr,"$%x",l);
      }
      else if ( mode == 2 ){
        fprintf(my_stderr,"%d",l);
      }
    }
    else {
      fputc(atom,my_stderr);
      GetAtom();
    }
  }
  fputc('\n',my_stderr);

  if ( d ) return Error(FAIL_ERR,"");

  return 0;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movl %edi, -0x8(%rbp)
movl $0x22, %edi
callq 0x5a90
cmpl $0x0, %eax
jne 0x8d56
movl $0x12, %edi
leaq 0x85a3(%rip), %rsi      # 0x112ec
callq 0xd130
movl %eax, -0x4(%rbp)
jmp 0x8fe5
cmpl $0x0, -0x8(%rbp)
je 0x8e57
leaq 0xf891(%rip), %rax      # 0x185f8
cmpl $0x0, 0x4(%rax)
jl 0x8de8
leaq 0xf884(%rip), %rax      # 0x185f8
cmpl $0x0, 0x10(%rax)
je 0x8de6
leaq 0xf867(%rip), %rax      # 0x185e8
movq (%rax), %rdi
leaq 0xf86d(%rip), %rax      # 0x185f8
movslq 0x4(%rax), %rax
leaq 0xfa3a(%rip), %rdx      # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %rdx
addq $0x4, %rdx
leaq 0xf84d(%rip), %rax      # 0x185f8
movl (%rax), %ecx
leaq 0xf844(%rip), %rax      # 0x185f8
movl 0x10(%rax), %r8d
leaq 0xf839(%rip), %rax      # 0x185f8
movslq 0x14(%rax), %rax
leaq 0xfa06(%rip), %r9       # 0x187d0
imulq $0x204, %rax, %rax      # imm = 0x204
addq %rax, %r9
addq $0x4, %r9
leaq 0x8514(%rip), %rsi      # 0x112f3
movb $0x0, %al
callq 0x3120
jmp 0x8e55
leaq 0xf7f9(%rip), %rax      # 0x185e8
movq (%rax), %rax
movq %rax, -0x78(%rbp)
leaq 0xf7fb(%rip), %rax      # 0x185f8
cmpl $0x0, 0x4(%rax)
jl 0x8e29
leaq 0xf7ee(%rip), %rax      # 0x185f8
movslq 0x4(%rax), %rcx
leaq 0xf9bb(%rip), %rax      # 0x187d0
imulq $0x204, %rcx, %rcx      # imm = 0x204
addq %rcx, %rax
addq $0x4, %rax
movq %rax, -0x80(%rbp)
jmp 0x8e36
leaq 0x822d(%rip), %rax      # 0x1105d
movq %rax, -0x80(%rbp)
jmp 0x8e36
movq -0x78(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0xf7b3(%rip), %rax      # 0x185f8
movl (%rax), %ecx
leaq 0x84c6(%rip), %rsi      # 0x11314
movb $0x0, %al
callq 0x3120
jmp 0x8e57
jmp 0x8e59
leaq 0x180c0(%rip), %rax     # 0x20f20
cmpl $0x22, (%rax)
je 0x8fae
leaq 0x180b0(%rip), %rax     # 0x20f20
cmpl $0x25, (%rax)
jne 0x8f8c
leaq 0x180a8(%rip), %rax     # 0x20f28
cmpl $0x25, (%rax)
je 0x8f8c
movl $0x0, -0x70(%rbp)
callq 0x59e0
leaq 0x18084(%rip), %rax     # 0x20f20
cmpl $0x48, (%rax)
je 0x8ec5
leaq 0x18078(%rip), %rax     # 0x20f20
cmpl $0x68, (%rax)
je 0x8ec5
leaq 0x1806c(%rip), %rax     # 0x20f20
cmpl $0x58, (%rax)
je 0x8ec5
leaq 0x18060(%rip), %rax     # 0x20f20
cmpl $0x78, (%rax)
jne 0x8ed5
movl $0x1, -0x70(%rbp)
movl $0xdead, -0x6c(%rbp)    # imm = 0xDEAD
jmp 0x8f18
leaq 0x18044(%rip), %rax     # 0x20f20
cmpl $0x44, (%rax)
je 0x8eed
leaq 0x18038(%rip), %rax     # 0x20f20
cmpl $0x64, (%rax)
jne 0x8efd
movl $0x2, -0x70(%rbp)
movl $0xbc614e, -0x6c(%rbp)  # imm = 0xBC614E
jmp 0x8f16
movl $0x12, %edi
leaq 0x83e3(%rip), %rsi      # 0x112ec
callq 0xd130
movl %eax, -0x4(%rbp)
jmp 0x8fe5
jmp 0x8f18
callq 0x59e0
leaq -0x68(%rbp), %rdi
callq 0x5de0
cmpl $0x0, %eax
je 0x8f37
movl $0x1, -0x4(%rbp)
jmp 0x8fe5
leaq -0x68(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0x6f20
cmpl $0x1, -0x70(%rbp)
jne 0x8f67
leaq 0xf697(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movl -0x6c(%rbp), %edx
leaq 0x83c5(%rip), %rsi      # 0x11323
movb $0x0, %al
callq 0x3120
jmp 0x8f8a
cmpl $0x2, -0x70(%rbp)
jne 0x8f88
leaq 0xf674(%rip), %rax      # 0x185e8
movq (%rax), %rdi
movl -0x6c(%rbp), %edx
leaq 0x81df(%rip), %rsi      # 0x11160
movb $0x0, %al
callq 0x3120
jmp 0x8f8a
jmp 0x8fa9
leaq 0x17f8d(%rip), %rax     # 0x20f20
movl (%rax), %edi
leaq 0xf64c(%rip), %rax      # 0x185e8
movq (%rax), %rsi
callq 0x30d0
callq 0x59e0
jmp 0x8e59
leaq 0xf633(%rip), %rax      # 0x185e8
movq (%rax), %rsi
movl $0xa, %edi
callq 0x30d0
cmpl $0x0, -0x8(%rbp)
je 0x8fde
movl $0x20, %edi
leaq 0x8089(%rip), %rsi      # 0x1105d
callq 0xd130
movl %eax, -0x4(%rbp)
jmp 0x8fe5
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)