// File: sotrteacher[P]1MM1INTRO/20190925_1MM1_INTRO/ctors.c
// Function: run_ctor(char*)
void run_ctor(char *file_name1)
{
  //cantidad_de_reactivos_usados=0;
  //reactivos_usados=NULL;
  string line;
  int ca=0;            /* comma amount */
  int i=0,j;
  char *token;
  char str1[512];
  char str2[512];
  unsigned int cantidad_de_indices_de_react_guardados;
  File_Name1=file_name1;
  //ifstream in(File_Name1.c_str());
  ifstream in(file_name1);
  if(in){
    getline(in,line);
    cantidad_de_reactivos_usados=atoi(&line[0]);
    if(cantidad_de_reactivos_usados){
      getline(in,line);
      for(j=0;j<line.size();j++){
        str1[j]=line[j];
      }
      str1[j]='\0';
      token=strtok(str1,",");
      while(token!=NULL){
        ca++;
        token=strtok(NULL,",");
      }
      cantidad_de_indices_de_react_guardados=ca;
      assert(cantidad_de_reactivos_usados==cantidad_de_indices_de_react_guardados);
      //TurnosAnteriores=new int[CantidadDTurnosAnteriores];
      reactivos_usados=(unsigned int *)malloc(cantidad_de_reactivos_usados*sizeof(unsigned int));
      for(j=0;j<line.size();j++){
        str2[j]=line[j];
      }
      str2[j]='\0';
      token=strtok(str2,",");
      while(token!=NULL){
        reactivos_usados[i++]=atoi(token);
        token=strtok(NULL,",");
      }
    }
    in.close();
  }
  
  modificado=false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x690, %rsp            # imm = 0x690
movq %rdi, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2270
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x30(%rbp)
movq -0x8(%rbp), %rcx
leaq 0x4b07(%rip), %rax      # 0x79f8
movq %rcx, (%rax)
movq -0x8(%rbp), %rsi
leaq -0x650(%rbp), %rdi
movl $0x8, %edx
callq 0x2340
jmp 0x2f0b
movq -0x650(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x650(%rbp,%rax), %rdi
callq 0x2240
movb %al, -0x65d(%rbp)
jmp 0x2f2b
movb -0x65d(%rbp), %al
testb $0x1, %al
jne 0x2f3a
jmp 0x317e
leaq -0x650(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2060
jmp 0x2f4c
xorl %eax, %eax
movl %eax, %esi
leaq -0x28(%rbp), %rdi
callq 0x2360
movq %rax, -0x668(%rbp)
jmp 0x2f62
movq -0x668(%rbp), %rdi
callq 0x22d0
movl %eax, %ecx
leaq 0x4a69(%rip), %rax      # 0x79e0
movl %ecx, (%rax)
leaq 0x4a60(%rip), %rax      # 0x79e0
cmpl $0x0, (%rax)
je 0x316e
leaq -0x650(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x2060
jmp 0x2f9b
movl $0x0, -0x34(%rbp)
movslq -0x34(%rbp), %rax
movq %rax, -0x670(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2110
movq %rax, %rcx
movq -0x670(%rbp), %rax
cmpq %rcx, %rax
jae 0x3034
movslq -0x34(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x2360
movq %rax, -0x678(%rbp)
jmp 0x2fdb
movq -0x678(%rbp), %rax
movb (%rax), %cl
movslq -0x34(%rbp), %rax
movb %cl, -0x240(%rbp,%rax)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x2fa2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x658(%rbp)
movl %eax, -0x65c(%rbp)
jmp 0x31a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x658(%rbp)
movl %eax, -0x65c(%rbp)
leaq -0x650(%rbp), %rdi
callq 0x2080
jmp 0x31a6
movslq -0x34(%rbp), %rax
movb $0x0, -0x240(%rbp,%rax)
leaq -0x240(%rbp), %rdi
leaq 0x10f0(%rip), %rsi      # 0x413e
callq 0x22e0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x307d
movl -0x2c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rbp)
xorl %eax, %eax
movl %eax, %edi
leaq 0x10cc(%rip), %rsi      # 0x413e
callq 0x22e0
movq %rax, -0x40(%rbp)
jmp 0x3057
movl -0x2c(%rbp), %eax
movl %eax, -0x444(%rbp)
leaq 0x4953(%rip), %rax      # 0x79e0
movl (%rax), %eax
movl %eax, %edi
shlq $0x2, %rdi
callq 0x2250
movq %rax, %rcx
leaq 0x4944(%rip), %rax      # 0x79e8
movq %rcx, (%rax)
movl $0x0, -0x34(%rbp)
movslq -0x34(%rbp), %rax
movq %rax, -0x680(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2110
movq %rax, %rcx
movq -0x680(%rbp), %rax
cmpq %rcx, %rax
jae 0x3106
movslq -0x34(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x2360
movq %rax, -0x688(%rbp)
jmp 0x30e7
movq -0x688(%rbp), %rax
movb (%rax), %cl
movslq -0x34(%rbp), %rax
movb %cl, -0x440(%rbp,%rax)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x30ae
movslq -0x34(%rbp), %rax
movb $0x0, -0x440(%rbp,%rax)
leaq -0x440(%rbp), %rdi
leaq 0x101e(%rip), %rsi      # 0x413e
callq 0x22e0
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x40(%rbp)
je 0x316c
movq -0x40(%rbp), %rdi
callq 0x22d0
movl %eax, %edx
leaq 0x48a6(%rip), %rax      # 0x79e8
movq (%rax), %rax
movl -0x30(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x30(%rbp)
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
xorl %eax, %eax
movl %eax, %edi
leaq 0xfdd(%rip), %rsi       # 0x413e
callq 0x22e0
movq %rax, -0x40(%rbp)
jmp 0x3129
jmp 0x316e
leaq -0x650(%rbp), %rdi
callq 0x2070
jmp 0x317c
jmp 0x317e
leaq 0x486b(%rip), %rax      # 0x79f0
movb $0x0, (%rax)
leaq -0x650(%rbp), %rdi
callq 0x2080
leaq -0x28(%rbp), %rdi
callq 0x20e0
addq $0x690, %rsp            # imm = 0x690
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x20e0
movq -0x658(%rbp), %rdi
callq 0x2310
nopl (%rax,%rax)