// File: /workspace/github_c_makefile_star2_O0/GregorR[P]lstg/source/memory.c
// Function: fileIn
int fileIn(FILE * fp)
{
  int             i;

  /*
     use the currently unused space for the indir pointers 
   */
  if(inSpaceOne)
  {
    indirArray = (struct object * *) spaceTwo;
    indirSize = spaceTwoSize;
  }
  else
  {
    indirArray = (struct object * *) spaceOne;
    indirSize = spaceOneSize;
  }
  indirtop = 0;

  /*
     read in the method from the image file 
   */
  nilObject     = objectRead(fp);
  trueObject    = objectRead(fp);
  falseObject   = objectRead(fp);
  globalsObject = objectRead(fp);
  SmallIntClass = objectRead(fp);
  IntegerClass  = objectRead(fp);
  ArrayClass    = objectRead(fp);
  BlockClass    = objectRead(fp);
  ContextClass  = objectRead(fp);
  StringClass   = objectRead(fp);
  initialMethod = objectRead(fp);
  for(i = 0; i < 3; i++)
  {
    binaryMessages[i] = objectRead(fp);
  }
  badMethodSym = objectRead(fp);

  /*
     clean up after ourselves 
   */
  memoryClear((char *) indirArray, indirSize * sizeof(struct object));
  return indirtop;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
cmpl $0x0, 0x4225d(%rip)     # 0x48a20
je 0x67e3
movq 0x4221c(%rip), %rax     # 0x489e8
movq %rax, 0x433ad(%rip)     # 0x49b80
movq 0x42216(%rip), %rax     # 0x489f0
movq %rax, 0x433a7(%rip)     # 0x49b88
jmp 0x67ff
movq 0x421ee(%rip), %rax     # 0x489d8
movq %rax, 0x4338f(%rip)     # 0x49b80
movq 0x421e8(%rip), %rax     # 0x489e0
movq %rax, 0x43389(%rip)     # 0x49b88
movl $0x0, 0x43387(%rip)     # 0x49b90
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x4211c(%rip), %rax     # 0x48938
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x4210e(%rip), %rax     # 0x48940
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x42100(%rip), %rax     # 0x48948
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x4214a(%rip), %rax     # 0x489a8
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x420ec(%rip), %rax     # 0x48960
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x4210e(%rip), %rax     # 0x48998
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x420b0(%rip), %rax     # 0x48950
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x420a2(%rip), %rax     # 0x48958
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x420a4(%rip), %rax     # 0x48970
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x420be(%rip), %rax     # 0x489a0
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x420b8(%rip), %rax     # 0x489b0
movq %rcx, (%rax)
movl $0x0, -0xc(%rbp)
cmpl $0x3, -0xc(%rbp)
jge 0x692e
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rdx
movslq -0xc(%rbp), %rcx
leaq 0x42061(%rip), %rax     # 0x48980
movq %rdx, (%rax,%rcx,8)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6902
movq -0x8(%rbp), %rdi
callq 0x6970
movq %rax, %rcx
leaq 0x42027(%rip), %rax     # 0x48968
movq %rcx, (%rax)
movq 0x43235(%rip), %rdi     # 0x49b80
movq 0x43236(%rip), %rdx     # 0x49b88
shlq $0x4, %rdx
xorl %esi, %esi
callq 0x2150
movl 0x4322d(%rip), %eax     # 0x49b90
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)