// File: /workspace/github_c_makefile_star2_O0/stickyPiston[P]ti-basic-compiler/src/tic.c
// Function: disassemble
void disassemble() {
  unsigned char *bytes = NULL;
  int filesize = readFile((char **)&bytes);

  for (int i = 74; i < filesize - 2; i++) {
    for (int j = 0; stringTable[j][lang] != NULL; j++) {
      if (bytes[i] == 0x5c || bytes[i] == 0x5d || bytes[i] == 0x5e || bytes[i] == 0x60 || bytes[i] == 0x61 || bytes[i] == 0xaa || bytes[i] == 0xef || bytes[i] == 0x62 || bytes[i] == 0x63 || bytes[i] == 0x7e || bytes[i] == 0xbb) {
        uint16_t twobytevalue = bytes[i] << 8;
        twobytevalue |= bytes[++i];
        if (functionTable[j].opcode == twobytevalue) {
          printf("%s", stringTable[j][lang]);
        }
      } else {
        if (functionTable[j].opcode == bytes[i]) {
          if (strcmp(stringTable[j][lang], "\n") != 0)
            printf("%s", stringTable[j][lang]);
        }
      }
    }
  }

  puts("");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq $0x0, -0x8(%rbp)
leaq -0x8(%rbp), %rdi
callq 0xe630
movl %eax, -0xc(%rbp)
movl $0x4a, -0x10(%rbp)
movl -0x10(%rbp), %eax
movl -0xc(%rbp), %ecx
subl $0x2, %ecx
cmpl %ecx, %eax
jge 0xef8c
movl $0x0, -0x14(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x66fa(%rip), %rax      # 0x15470
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
leaq 0xae64(%rip), %rcx      # 0x19be8
movl (%rcx), %ecx
cmpq $0x0, (%rax,%rcx,8)
je 0xef7c
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x5d, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x5e, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x60, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x61, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xaa, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xef, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x62, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x63, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0x7e, %eax
je 0xee66
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xbb, %eax
jne 0xeee6
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movzbl (%rax,%rcx), %eax
shll $0x8, %eax
movw %ax, -0x16(%rbp)
movq -0x8(%rbp), %rax
movl -0x10(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x10(%rbp)
movslq %ecx, %rcx
movzbl (%rax,%rcx), %ecx
movzwl -0x16(%rbp), %eax
orl %ecx, %eax
movw %ax, -0x16(%rbp)
movslq -0x14(%rbp), %rcx
leaq 0x421e(%rip), %rax      # 0x130c0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movzwl (%rax), %eax
movzwl -0x16(%rbp), %ecx
cmpl %ecx, %eax
jne 0xeee1
movslq -0x14(%rbp), %rcx
leaq 0x65b1(%rip), %rax      # 0x15470
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
leaq 0xad1b(%rip), %rcx      # 0x19be8
movl (%rcx), %ecx
movq (%rax,%rcx,8), %rsi
leaq 0x2386(%rip), %rdi      # 0x11260
movb $0x0, %al
callq 0xe0b0
jmp 0xef6c
movslq -0x14(%rbp), %rcx
leaq 0x41cf(%rip), %rax      # 0x130c0
imulq $0xc, %rcx, %rcx
addq %rcx, %rax
movzwl (%rax), %eax
movq -0x8(%rbp), %rcx
movslq -0x10(%rbp), %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
jne 0xef6a
movslq -0x14(%rbp), %rcx
leaq 0x655a(%rip), %rax      # 0x15470
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
leaq 0xacc4(%rip), %rcx      # 0x19be8
movl (%rcx), %ecx
movq (%rax,%rcx,8), %rdi
leaq 0x22c5(%rip), %rsi      # 0x111f6
callq 0xe0d0
cmpl $0x0, %eax
je 0xef68
movslq -0x14(%rbp), %rcx
leaq 0x652a(%rip), %rax      # 0x15470
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
leaq 0xac94(%rip), %rcx      # 0x19be8
movl (%rcx), %ecx
movq (%rax,%rcx,8), %rsi
leaq 0x22ff(%rip), %rdi      # 0x11260
movb $0x0, %al
callq 0xe0b0
jmp 0xef6a
jmp 0xef6c
jmp 0xef6e
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0xed6b
jmp 0xef7e
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0xed53
leaq 0x2264(%rip), %rdi      # 0x111f7
callq 0xe070
addq $0x20, %rsp
popq %rbp
retq