// File: jpbalarini[P]otsus/./framework/CInspector.cpp
// Function: CInspector::inspector(CFramework*, char const*, int)
void CInspector::inspector(CFramework *fw, const char *file, int line) {
  printf("\nCLI Inpector called at file %s:%d\n", file, line);
  printf("(C) 2011 Miguel Colom.\n");

  string PROMPT = "> ";
  char buffer[4096];

  string input = "";
  while (input != "q" && input != "quit" && input != "exit") {
    cout << PROMPT;
    cin.getline(buffer, 4096);
    input = string(buffer);
    input = trim(input);
    int err_code = process_input(input, fw);
    if (err_code != INSPECTOR_OK)
      process_error(err_code);
  }
  printf("\nCLI Inpector exiting.\nResuming execution from %s:%d.\n\n", file, line);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1160, %rsp           # imm = 0x1160
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
leaq 0x4562(%rip), %rdi      # 0xda66
xorl %eax, %eax
movb %al, -0x1111(%rbp)
callq 0x3070
movb -0x1111(%rbp), %al
leaq 0x456c(%rip), %rdi      # 0xda8a
callq 0x3070
leaq -0x39(%rbp), %rdi
movq %rdi, -0x1110(%rbp)
callq 0x3570
movq -0x1110(%rbp), %rdx
leaq 0x4561(%rip), %rsi      # 0xdaa2
leaq -0x38(%rbp), %rdi
callq 0x9a70
jmp 0x954c
leaq -0x39(%rbp), %rdi
callq 0x3340
leaq -0x1071(%rbp), %rdi
movq %rdi, -0x1120(%rbp)
callq 0x3570
movq -0x1120(%rbp), %rdx
leaq 0x4577(%rip), %rsi      # 0xdaed
leaq -0x1070(%rbp), %rdi
callq 0x9a70
jmp 0x9584
leaq -0x1071(%rbp), %rdi
callq 0x3340
leaq 0x450e(%rip), %rsi      # 0xdaa5
leaq -0x1070(%rbp), %rdi
callq 0x98e0
movb %al, -0x1121(%rbp)
jmp 0x95ab
movb -0x1121(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1122(%rbp)
jne 0x95c0
jmp 0x9619
leaq 0x44e0(%rip), %rsi      # 0xdaa7
leaq -0x1070(%rbp), %rdi
callq 0x98e0
movb %al, -0x1123(%rbp)
jmp 0x95db
movb -0x1123(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x1122(%rbp)
jne 0x95f0
jmp 0x9619
leaq 0x44b5(%rip), %rsi      # 0xdaac
leaq -0x1070(%rbp), %rdi
callq 0x98e0
movb %al, -0x1124(%rbp)
jmp 0x960b
movb -0x1124(%rbp), %al
movb %al, -0x1122(%rbp)
jmp 0x9619
movb -0x1122(%rbp), %al
testb $0x1, %al
jne 0x9628
jmp 0x9861
movq 0x9981(%rip), %rdi      # 0x12fb0
leaq -0x38(%rbp), %rsi
callq 0x32c0
jmp 0x963a
movq 0x9997(%rip), %rdi      # 0x12fd8
leaq -0x1050(%rbp), %rsi
movl $0x1000, %edx           # imm = 0x1000
callq 0x3120
jmp 0x9654
leaq -0x1099(%rbp), %rdi
movq %rdi, -0x1130(%rbp)
callq 0x3570
movq -0x1130(%rbp), %rdx
leaq -0x1098(%rbp), %rdi
leaq -0x1050(%rbp), %rsi
callq 0x9a70
jmp 0x9683
leaq -0x1070(%rbp), %rdi
leaq -0x1098(%rbp), %rsi
movq %rsi, -0x1140(%rbp)
callq 0x33f0
movq -0x1140(%rbp), %rdi
callq 0x3200
leaq -0x1099(%rbp), %rdi
callq 0x3340
leaq -0x10e1(%rbp), %rdi
movq %rdi, -0x1138(%rbp)
callq 0x3570
movq -0x1138(%rbp), %rdx
leaq 0x43db(%rip), %rsi      # 0xdab1
leaq -0x10e0(%rbp), %rdi
callq 0x9a70
jmp 0x96e4
leaq -0x10c0(%rbp), %rdi
leaq -0x1070(%rbp), %rsi
leaq -0x10e0(%rbp), %rdx
callq 0x9b20
jmp 0x9700
leaq -0x1070(%rbp), %rdi
movq %rdi, -0x1148(%rbp)
leaq -0x10c0(%rbp), %rsi
movq %rsi, -0x1150(%rbp)
callq 0x33f0
movq -0x1150(%rbp), %rdi
callq 0x3200
leaq -0x10e0(%rbp), %rdi
callq 0x3200
leaq -0x10e1(%rbp), %rdi
callq 0x3340
movq -0x1148(%rbp), %rsi
leaq -0x1108(%rbp), %rdi
callq 0x3180
jmp 0x975a
movq -0x8(%rbp), %rsi
leaq -0x1108(%rbp), %rdi
callq 0x86b0
movl %eax, -0x1154(%rbp)
jmp 0x9772
leaq -0x1108(%rbp), %rdi
callq 0x3200
movl -0x1154(%rbp), %eax
movl %eax, -0x10e8(%rbp)
cmpl $0x0, -0x10e8(%rbp)
je 0x985c
movl -0x10e8(%rbp), %edi
callq 0x93e0
jmp 0x97a4
jmp 0x985c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x3340
jmp 0x98ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x1071(%rbp), %rdi
callq 0x3340
jmp 0x98a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x9896
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x1099(%rbp), %rdi
callq 0x3340
jmp 0x9896
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x9834
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x10e0(%rbp), %rdi
callq 0x3200
leaq -0x10e1(%rbp), %rdi
callq 0x3340
jmp 0x9896
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x1108(%rbp), %rdi
callq 0x3200
jmp 0x9896
jmp 0x9590
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
leaq 0x4247(%rip), %rdi      # 0xdab6
xorl %eax, %eax
callq 0x3070
jmp 0x9878
leaq -0x1070(%rbp), %rdi
callq 0x3200
leaq -0x38(%rbp), %rdi
callq 0x3200
addq $0x1160, %rsp           # imm = 0x1160
popq %rbp
retq
leaq -0x1070(%rbp), %rdi
callq 0x3200
leaq -0x38(%rbp), %rdi
callq 0x3200
movq -0x48(%rbp), %rdi
callq 0x3560
nopw %cs:(%rax,%rax)
nop