// File: /workspace/github_c_makefile_star2_O0/Nico01[P]obj2asm/oprocess.c
// Function: out_var
static void out_var(LOCAL_VAR *pVar)
{
  char *p;
  char temp[50];
  char text[80];

  sprintf(text, "\"%s\"",pVar->vname);
  switch (pVar->class) {
  case 7:
       out_line("; (instance of typed variable)",text,"","");
       return;
  case 6:                           /* local typedef ? */
       out_line("; (local typedef)", text, "","");
       return;
  case 4:                          /* register variable */
       switch (pVar->bInfo1) {
       case 0x06: p = "si"; break;
       case 0x07: p = "di"; break;
       default  : p = "[unknown]"; break;
       }
       sprintf(temp,": variable in register %s",p);
       strcat(text, temp);
       out_line(";",text,"","");
       break;
  case 2:                        /* variable */
       if ((pVar->bInfo1&8)==8)
         p = "argument";
       else
         p = "local";
       sprintf(temp,": (var) %s stored in ",p);
       strcat(text,temp);
       switch (pVar->bInfo2) {
       case 1 :                          /* stored on stack */
            if ((int)pVar->wInfo1<0)
              sprintf(temp,"[bp-%04X]",-pVar->wInfo1);
            else
              sprintf(temp,"[bp+%04X]",pVar->wInfo1);
            break;
       default :
            strcpy(temp,"[unknown]");
            break;
       }
       strcat(text,temp);
       out_line(";",text,"","");
       return;
  case 0:                  /* static function */
       out_line(";",temp," (static function) ","");
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdx
addq $0xc, %rdx
leaq 0x8236(%rip), %rsi      # 0x17f14
xorl %eax, %eax
leaq -0xa0(%rbp), %rdi
callq 0x9190
movq -0x8(%rbp), %rax
movl (%rax), %eax
movq %rax, -0xa8(%rbp)
subq $0x7, %rax
ja 0xfef1
movq -0xa8(%rbp), %rax
leaq 0x7fbf(%rip), %rcx      # 0x17cd0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0xa0(%rbp), %rsi
leaq 0x81f1(%rip), %rdi      # 0x17f19
leaq 0x8491(%rip), %rcx      # 0x181c0
movq %rcx, %rdx
callq 0xe2d0
jmp 0xfef1
leaq -0xa0(%rbp), %rsi
leaq 0x81ee(%rip), %rdi      # 0x17f38
leaq 0x846f(%rip), %rcx      # 0x181c0
movq %rcx, %rdx
callq 0xe2d0
jmp 0xfef1
movq -0x8(%rbp), %rax
movsbl 0x4(%rax), %eax
movl %eax, -0xac(%rbp)
subl $0x6, %eax
je 0xfd80
jmp 0xfd73
movl -0xac(%rbp), %eax
subl $0x7, %eax
je 0xfd8d
jmp 0xfd9a
leaq 0x7400(%rip), %rax      # 0x17187
movq %rax, -0x10(%rbp)
jmp 0xfda5
leaq 0x73fa(%rip), %rax      # 0x1718e
movq %rax, -0x10(%rbp)
jmp 0xfda5
leaq 0x81a9(%rip), %rax      # 0x17f4a
movq %rax, -0x10(%rbp)
leaq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq 0x81a0(%rip), %rsi      # 0x17f54
movb $0x0, %al
callq 0x9190
leaq -0xa0(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x9180
leaq -0xa0(%rbp), %rsi
leaq 0x8195(%rip), %rdi      # 0x17f6e
leaq 0x83e0(%rip), %rcx      # 0x181c0
movq %rcx, %rdx
callq 0xe2d0
jmp 0xfef1
movq -0x8(%rbp), %rax
movsbl 0x4(%rax), %eax
andl $0x8, %eax
cmpl $0x8, %eax
jne 0xfe0a
leaq 0x816c(%rip), %rax      # 0x17f70
movq %rax, -0x10(%rbp)
jmp 0xfe15
leaq 0x8168(%rip), %rax      # 0x17f79
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdx
leaq 0x815f(%rip), %rsi      # 0x17f7f
xorl %eax, %eax
leaq -0x50(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x9190
movq -0xb8(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x9180
movq -0x8(%rbp), %rax
movb 0x5(%rax), %al
subb $0x1, %al
jne 0xfe94
jmp 0xfe52
movq -0x8(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jge 0xfe79
leaq -0x50(%rbp), %rdi
movq -0x8(%rbp), %rax
xorl %edx, %edx
subl 0x8(%rax), %edx
leaq 0x8125(%rip), %rsi      # 0x17f95
movb $0x0, %al
callq 0x9190
jmp 0xfe92
leaq -0x50(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0x8114(%rip), %rsi      # 0x17f9f
movb $0x0, %al
callq 0x9190
jmp 0xfea4
leaq -0x50(%rbp), %rdi
leaq 0x80ab(%rip), %rsi      # 0x17f4a
callq 0x9060
leaq -0xa0(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x9180
leaq -0xa0(%rbp), %rsi
leaq 0x80ac(%rip), %rdi      # 0x17f6e
leaq 0x82f7(%rip), %rcx      # 0x181c0
movq %rcx, %rdx
callq 0xe2d0
jmp 0xfef1
leaq -0x50(%rbp), %rsi
leaq 0x8090(%rip), %rdi      # 0x17f6e
leaq 0x80c4(%rip), %rdx      # 0x17fa9
leaq 0x82d4(%rip), %rcx      # 0x181c0
callq 0xe2d0
addq $0xc0, %rsp
popq %rbp
retq
nopw (%rax,%rax)