// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/process.c
// Function: load_file
void load_file(char *filename)
{
 /*!Last Changed 11.10.2006 added read_file_into_array*/
 /*!Last Changed 02.02.2004 added safemalloc*/
 /*!Last Changed 05.05.2002*/
 char myline[READLINELENGTH], templine[READLINELENGTH], *p, **lines = NULL;
 int res, i, howmany, linecount;
 push(ipstack, instruction_pointer);
 lines = read_file_into_array(filename, &linecount);
 instruction_pointer = 0;
 while (instruction_pointer < linecount)
  {
   strcpy(myline, lines[instruction_pointer]);
   if (get_parameter_o("displaycodeon"))
     printf(">>%s\n", myline);
   if (order)
    {
     safe_free(order);
     order = NULL;
    }
   for (i = 0; i < paramcount; i++)
    {
     safe_free(params[i]);
     params[i] = NULL;
    }
   change_according_to_variables(myline);
   p = strtok(myline," \t\n");
   if (p)
    {
     order = strcopy(order, p);
     paramcount = -1;
     do{
       paramcount++;
       p = strtok(NULL," \t\n");
       if (p)
         params[paramcount] = strcopy(params[paramcount], p);
     }while(p && (paramcount < MAXPARAMS - 1));
    }
   else
    {
     instruction_pointer++;
     continue;
    }
   params[paramcount] = NULL;
   for (i = 0; i < paramcount; i++)
     change_special_characters(params[i]);
   if (order[0]!='\'')
    {
     res = get_order_index(order);
     if (inswitch == NULL || res == 78 || res == 77 || correctcase == 1)
       process_order(res);
     if (goto_else_part)
      {
       goto_else_part = 0;
       howmany = 1;
       for (i = instruction_pointer + 1; i < linecount; i++)
        {
         strcpy(templine, lines[i]);
         p=strtok(templine, " \t\n");
         if (strcmp(p, "if") == 0)
           howmany++;
         else
           if (strcmp(p, "endif") == 0)
            {
             howmany--;
             if (howmany == 0)
               break;
            }
           else
             if (strcmp(p, "else") == 0 && howmany == 1)
               break;
        }
       instruction_pointer = i;
      }
     else
       if (goto_endif)
         goto_endconstructor(&goto_endif, "if", "endif", lines, linecount, &instruction_pointer);
       else 
         if (goto_endwhile)
           goto_endconstructor(&goto_endwhile, "while", "endwhile", lines, linecount, &instruction_pointer);
         else
           if (goto_endfor)
             goto_endconstructor(&goto_endfor, "for", "endfor", lines, linecount, &instruction_pointer);
           else
             if (goto_while)
              {
               goto_while = 0;
               howmany = 1;
               for (i = instruction_pointer - 1; i > -1; i--)
                {
                 strcpy(templine, lines[i]);
                 p = strtok(templine, " \t\n");
                 if (strcmp(p, "endwhile") == 0)
                   howmany++;
                 else
                   if (strcmp(p, "while") == 0)
                    {
                     howmany--;
                     if (howmany == 0)
                       break;
                    }
                }
               instruction_pointer = i - 1;
              }
    }
   instruction_pointer++;
  }
 if (order)
  {
   safe_free(order);
   order = NULL;
  }
 for (i = 0; i < paramcount; i++)
  { 
   safe_free(params[i]);
   params[i] = NULL;
  }
 if (lines != NULL)
   free_2d((void**)lines, linecount);
 instruction_pointer = pop(ipstack);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf4280, %rsp          # imm = 0xF4280
movq %rdi, -0x8(%rbp)
movq $0x0, -0xf4260(%rbp)
movq 0x3555df(%rip), %rdi    # 0x3e2060
movl 0x3555e1(%rip), %esi    # 0x3e2068
callq 0x272c0
movq -0x8(%rbp), %rdi
leaq -0xf4270(%rbp), %rsi
callq 0x51660
movq %rax, -0xf4260(%rbp)
movl $0x0, 0x3555bb(%rip)    # 0x3e2068
movl 0x3555b5(%rip), %eax    # 0x3e2068
cmpl -0xf4270(%rbp), %eax
jge 0x8d01b
leaq -0x7a130(%rbp), %rdi
movq -0xf4260(%rbp), %rax
movslq 0x355594(%rip), %rcx    # 0x3e2068
movq (%rax,%rcx,8), %rsi
callq 0x4220
leaq 0x5bb25(%rip), %rdi     # 0xe8609
callq 0x79440
cmpl $0x0, %eax
je 0x8cb03
leaq -0x7a130(%rbp), %rsi
leaq 0x5bb1b(%rip), %rdi     # 0xe8617
movb $0x0, %al
callq 0x4030
cmpq $0x0, 0x789ed(%rip)     # 0x1054f8
je 0x8cb24
movq 0x789e4(%rip), %rdi     # 0x1054f8
callq 0x52e80
movq $0x0, 0x789d4(%rip) # 0x1054f8
movl $0x0, -0xf4268(%rbp)
movl -0xf4268(%rbp), %eax
cmpl 0x355436(%rip), %eax    # 0x3e1f70
jge 0x8cb7a
movslq -0xf4268(%rbp), %rcx
leaq 0x789b6(%rip), %rax     # 0x105500
movq (%rax,%rcx,8), %rdi
callq 0x52e80
movslq -0xf4268(%rbp), %rcx
leaq 0x7899f(%rip), %rax     # 0x105500
movq $0x0, (%rax,%rcx,8)
movl -0xf4268(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf4268(%rbp)
jmp 0x8cb2e
leaq -0x7a130(%rbp), %rdi
callq 0x4dcd0
leaq -0x7a130(%rbp), %rdi
leaq 0x591a5(%rip), %rsi     # 0xe5d39
callq 0x4230
movq %rax, -0xf4258(%rbp)
cmpq $0x0, -0xf4258(%rbp)
je 0x8cc69
movq 0x78943(%rip), %rdi     # 0x1054f8
movq -0xf4258(%rbp), %rsi
callq 0x54ba0
movq %rax, 0x78930(%rip)     # 0x1054f8
movl $0xffffffff, 0x35539e(%rip) # imm = 0xFFFFFFFF
movl 0x355398(%rip), %eax    # 0x3e1f70
addl $0x1, %eax
movl %eax, 0x35538f(%rip)    # 0x3e1f70
xorl %eax, %eax
movl %eax, %edi
leaq 0x5914d(%rip), %rsi     # 0xe5d39
callq 0x4230
movq %rax, -0xf4258(%rbp)
cmpq $0x0, -0xf4258(%rbp)
je 0x8cc35
movslq 0x355367(%rip), %rcx    # 0x3e1f70
leaq 0x788f0(%rip), %rax     # 0x105500
movq (%rax,%rcx,8), %rdi
movq -0xf4258(%rbp), %rsi
callq 0x54ba0
movq %rax, %rdx
movslq 0x355346(%rip), %rcx    # 0x3e1f70
leaq 0x788cf(%rip), %rax     # 0x105500
movq %rdx, (%rax,%rcx,8)
jmp 0x8cc37
xorl %eax, %eax
cmpq $0x0, -0xf4258(%rbp)
movb %al, -0xf4271(%rbp)
je 0x8cc59
cmpl $0x63, 0x355320(%rip)   # 0x3e1f70
setl %al
movb %al, -0xf4271(%rbp)
movb -0xf4271(%rbp), %al
testb $0x1, %al
jne 0x8cbd2
jmp 0x8cc7d
movl 0x3553f9(%rip), %eax    # 0x3e2068
addl $0x1, %eax
movl %eax, 0x3553f0(%rip)    # 0x3e2068
jmp 0x8caad
movslq 0x3552ec(%rip), %rcx    # 0x3e1f70
leaq 0x78875(%rip), %rax     # 0x105500
movq $0x0, (%rax,%rcx,8)
movl $0x0, -0xf4268(%rbp)
movl -0xf4268(%rbp), %eax
cmpl 0x3552c7(%rip), %eax    # 0x3e1f70
jge 0x8ccd3
movslq -0xf4268(%rbp), %rcx
leaq 0x78847(%rip), %rax     # 0x105500
movq (%rax,%rcx,8), %rdi
callq 0x4d100
movl -0xf4268(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf4268(%rbp)
jmp 0x8cc9d
movq 0x7881e(%rip), %rax     # 0x1054f8
movsbl (%rax), %eax
cmpl $0x27, %eax
je 0x8d007
movq 0x7880b(%rip), %rdi     # 0x1054f8
callq 0x131e0
movl %eax, -0xf4264(%rbp)
cmpq $0x0, 0x78b20(%rip)     # 0x105820
je 0x8cd1d
cmpl $0x4e, -0xf4264(%rbp)
je 0x8cd1d
cmpl $0x4d, -0xf4264(%rbp)
je 0x8cd1d
cmpl $0x1, 0x355351(%rip)    # 0x3e206c
jne 0x8cd28
movl -0xf4264(%rbp), %edi
callq 0x8d0d0
cmpl $0x0, 0x787b5(%rip)     # 0x1054e4
je 0x8ce4d
movl $0x0, 0x787a5(%rip)     # 0x1054e4
movl $0x1, -0xf426c(%rbp)
movl 0x355319(%rip), %eax    # 0x3e2068
addl $0x1, %eax
movl %eax, -0xf4268(%rbp)
movl -0xf4268(%rbp), %eax
cmpl -0xf4270(%rbp), %eax
jge 0x8ce3c
leaq -0xf4250(%rbp), %rdi
movq -0xf4260(%rbp), %rax
movslq -0xf4268(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x4220
leaq -0xf4250(%rbp), %rdi
leaq 0x58fa3(%rip), %rsi     # 0xe5d39
callq 0x4230
movq %rax, -0xf4258(%rbp)
movq -0xf4258(%rbp), %rdi
leaq 0x59720(%rip), %rsi     # 0xe64d0
callq 0x4210
cmpl $0x0, %eax
jne 0x8cdcb
movl -0xf426c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf426c(%rbp)
jmp 0x8ce26
movq -0xf4258(%rbp), %rdi
leaq 0x5b844(%rip), %rsi     # 0xe861d
callq 0x4210
cmpl $0x0, %eax
jne 0x8cdff
movl -0xf426c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xf426c(%rbp)
cmpl $0x0, -0xf426c(%rbp)
jne 0x8cdfd
jmp 0x8ce3c
jmp 0x8ce24
movq -0xf4258(%rbp), %rdi
leaq 0x5b816(%rip), %rsi     # 0xe8623
callq 0x4210
cmpl $0x0, %eax
jne 0x8ce22
cmpl $0x1, -0xf426c(%rbp)
jne 0x8ce22
jmp 0x8ce3c
jmp 0x8ce24
jmp 0x8ce26
jmp 0x8ce28
movl -0xf4268(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf4268(%rbp)
jmp 0x8cd58
movl -0xf4268(%rbp), %eax
movl %eax, 0x355220(%rip)    # 0x3e2068
jmp 0x8d005
cmpl $0x0, 0x78694(%rip)     # 0x1054e8
je 0x8ce8a
movq -0xf4260(%rbp), %rcx
movl -0xf4270(%rbp), %r8d
leaq 0x7867d(%rip), %rdi     # 0x1054e8
leaq 0x5965e(%rip), %rsi     # 0xe64d0
leaq 0x5b7a4(%rip), %rdx     # 0xe861d
leaq 0x3551e8(%rip), %r9     # 0x3e2068
callq 0x48fb0
jmp 0x8d003
cmpl $0x0, 0x7865f(%rip)     # 0x1054f0
je 0x8cec7
movq -0xf4260(%rbp), %rcx
movl -0xf4270(%rbp), %r8d
leaq 0x78648(%rip), %rdi     # 0x1054f0
leaq 0x5b77c(%rip), %rsi     # 0xe862b
leaq 0x5b772(%rip), %rdx     # 0xe8628
leaq 0x3551ab(%rip), %r9     # 0x3e2068
callq 0x48fb0
jmp 0x8d001
cmpl $0x0, 0x78626(%rip)     # 0x1054f4
je 0x8cf04
movq -0xf4260(%rbp), %rcx
movl -0xf4270(%rbp), %r8d
leaq 0x7860f(%rip), %rdi     # 0x1054f4
leaq 0x5b748(%rip), %rsi     # 0xe8634
leaq 0x5b73e(%rip), %rdx     # 0xe8631
leaq 0x35516e(%rip), %r9     # 0x3e2068
callq 0x48fb0
jmp 0x8cfff
cmpl $0x0, 0x785e1(%rip)     # 0x1054ec
je 0x8cffd
movl $0x0, 0x785d1(%rip)     # 0x1054ec
movl $0x1, -0xf426c(%rbp)
movl 0x35513d(%rip), %eax    # 0x3e2068
subl $0x1, %eax
movl %eax, -0xf4268(%rbp)
cmpl $-0x1, -0xf4268(%rbp)
jle 0x8cfee
leaq -0xf4250(%rbp), %rdi
movq -0xf4260(%rbp), %rax
movslq -0xf4268(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x4220
leaq -0xf4250(%rbp), %rdi
leaq 0x58dcc(%rip), %rsi     # 0xe5d39
callq 0x4230
movq %rax, -0xf4258(%rbp)
movq -0xf4258(%rbp), %rdi
leaq 0x5b6a1(%rip), %rsi     # 0xe8628
callq 0x4210
cmpl $0x0, %eax
jne 0x8cfa2
movl -0xf426c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf426c(%rbp)
jmp 0x8cfd8
movq -0xf4258(%rbp), %rdi
leaq 0x5b67b(%rip), %rsi     # 0xe862b
callq 0x4210
cmpl $0x0, %eax
jne 0x8cfd6
movl -0xf426c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xf426c(%rbp)
cmpl $0x0, -0xf426c(%rbp)
jne 0x8cfd4
jmp 0x8cfee
jmp 0x8cfd6
jmp 0x8cfd8
jmp 0x8cfda
movl -0xf4268(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xf4268(%rbp)
jmp 0x8cf34
movl -0xf4268(%rbp), %eax
subl $0x1, %eax
movl %eax, 0x35506b(%rip)    # 0x3e2068
jmp 0x8cfff
jmp 0x8d001
jmp 0x8d003
jmp 0x8d005
jmp 0x8d007
movl 0x35505b(%rip), %eax    # 0x3e2068
addl $0x1, %eax
movl %eax, 0x355052(%rip)    # 0x3e2068
jmp 0x8caad
cmpq $0x0, 0x784d5(%rip)     # 0x1054f8
je 0x8d03c
movq 0x784cc(%rip), %rdi     # 0x1054f8
callq 0x52e80
movq $0x0, 0x784bc(%rip) # 0x1054f8
movl $0x0, -0xf4268(%rbp)
movl -0xf4268(%rbp), %eax
cmpl 0x354f1e(%rip), %eax    # 0x3e1f70
jge 0x8d092
movslq -0xf4268(%rbp), %rcx
leaq 0x7849e(%rip), %rax     # 0x105500
movq (%rax,%rcx,8), %rdi
callq 0x52e80
movslq -0xf4268(%rbp), %rcx
leaq 0x78487(%rip), %rax     # 0x105500
movq $0x0, (%rax,%rcx,8)
movl -0xf4268(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf4268(%rbp)
jmp 0x8d046
cmpq $0x0, -0xf4260(%rbp)
je 0x8d0ae
movq -0xf4260(%rbp), %rdi
movl -0xf4270(%rbp), %esi
callq 0x52e20
movq 0x354fab(%rip), %rdi    # 0x3e2060
callq 0x27310
movl %eax, 0x354fa8(%rip)    # 0x3e2068
addq $0xf4280, %rsp          # imm = 0xF4280
popq %rbp
retq
nopl (%rax)