// File: /workspace/github_c_makefile_star2_O0/42Bastian[P]lyxass/parser.c
// Function: GetFileName
int GetFileName()
{
  int save;
  char help[80];
  int i;

  KillSpace();
  if ( atom != '"' && atom != '<' && atom != '\'') return Error(SYNTAX_ERR,"");
  if ( atom == '<' )
    save = '>';
  else
    save = atom;

  GetAtom();

  if ( !GetString( help, save ) ) return  Error(SYNTAX_ERR,"");

  memset(filename,0,512);

  if ( save == '>' && bll_root && sourceMode == LYNX){
    strcpy(filename,bll_root);
  } else if ( save == '>' && bjl_root && (sourceMode == JAGUAR_GPU || sourceMode == JAGUAR_DSP) ){
    strcpy(filename,bjl_root);
  } else {
    strcpy(filename,Global.Path);
  }

  i = (int)strlen(filename);
  if ( i && filename[i-1] != '/' && filename[i-1] != '\\'){
    filename[i] = '/';
  }
  if ( save == '\'' ) {
    char *ptr = help;
    char c;
    while ( (c = *ptr) ){
      *ptr++ = toupper(c);
    }
  }

  strcat(filename,help);

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
callq 0x5ad0
cmpl $0x22, 0x1b319(%rip)    # 0x20f20
je 0x5c34
cmpl $0x3c, 0x1b310(%rip)    # 0x20f20
je 0x5c34
cmpl $0x27, 0x1b307(%rip)    # 0x20f20
je 0x5c34
movl $0x12, %edi
leaq 0xb436(%rip), %rsi      # 0x1105d
callq 0xd130
movl %eax, -0x4(%rbp)
jmp 0x5dcf
cmpl $0x3c, 0x1b2e5(%rip)    # 0x20f20
jne 0x5c46
movl $0x3e, -0x8(%rbp)
jmp 0x5c4f
movl 0x1b2d4(%rip), %eax     # 0x20f20
movl %eax, -0x8(%rbp)
callq 0x59e0
leaq -0x60(%rbp), %rdi
movl -0x8(%rbp), %eax
movsbl %al, %esi
callq 0x5b40
cmpl $0x0, %eax
jne 0x5c81
movl $0x12, %edi
leaq 0xb3e9(%rip), %rsi      # 0x1105d
callq 0xd130
movl %eax, -0x4(%rbp)
jmp 0x5dcf
leaq 0x1ae58(%rip), %rdi     # 0x20ae0
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x30c0
cmpl $0x3e, -0x8(%rbp)
jne 0x5ccb
leaq 0x12b17(%rip), %rax     # 0x187b8
cmpq $0x0, (%rax)
je 0x5ccb
leaq 0x12932(%rip), %rax     # 0x185e0
cmpl $0x1, (%rax)
jne 0x5ccb
leaq 0x12afe(%rip), %rax     # 0x187b8
movq (%rax), %rsi
leaq 0x1ae1c(%rip), %rdi     # 0x20ae0
callq 0x3060
jmp 0x5d27
cmpl $0x3e, -0x8(%rbp)
jne 0x5d0e
leaq 0x12ae8(%rip), %rax     # 0x187c0
cmpq $0x0, (%rax)
je 0x5d0e
leaq 0x128fb(%rip), %rax     # 0x185e0
cmpl $0x2, (%rax)
je 0x5cf6
leaq 0x128ef(%rip), %rax     # 0x185e0
cmpl $0x3, (%rax)
jne 0x5d0e
leaq 0x12ac3(%rip), %rax     # 0x187c0
movq (%rax), %rsi
leaq 0x1add9(%rip), %rdi     # 0x20ae0
callq 0x3060
jmp 0x5d25
leaq 0x1268b(%rip), %rsi     # 0x183a0
addq $0x20, %rsi
leaq 0x1adc0(%rip), %rdi     # 0x20ae0
callq 0x3060
jmp 0x5d27
leaq 0x1adb2(%rip), %rdi     # 0x20ae0
callq 0x30a0
movl %eax, -0x64(%rbp)
cmpl $0x0, -0x64(%rbp)
je 0x5d7d
movl -0x64(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x1ad94(%rip), %rax     # 0x20ae0
movsbl (%rax,%rcx), %eax
cmpl $0x2f, %eax
je 0x5d7d
movl -0x64(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rcx
leaq 0x1ad7b(%rip), %rax     # 0x20ae0
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
je 0x5d7d
movslq -0x64(%rbp), %rcx
leaq 0x1ad67(%rip), %rax     # 0x20ae0
movb $0x2f, (%rax,%rcx)
cmpl $0x27, -0x8(%rbp)
jne 0x5db8
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movb (%rax), %al
movb %al, -0x71(%rbp)
cmpb $0x0, %al
je 0x5db6
movsbl -0x71(%rbp), %edi
callq 0x3070
movb %al, %cl
movq -0x70(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x70(%rbp)
movb %cl, (%rax)
jmp 0x5d8b
jmp 0x5db8
leaq -0x60(%rbp), %rsi
leaq 0x1ad1d(%rip), %rdi     # 0x20ae0
callq 0x3190
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)