// File: /workspace/github_c_makefile_star2_O0/heltilda[P]cicada/intrpt.c
// Function: printData
void printData(view *theView, void *bufferPtr, void *dummy)
{
    ccInt counter, windowOffset = theView->offset, theType = theView->windowPtr->variable_ptr->type;
    variable *theVar = theView->windowPtr->variable_ptr;
    unsigned char theChar;
    
    for (counter = windowOffset; counter < windowOffset+theView->width; counter++)  {
        
        if (theType == char_type)  {
            loadIntRegister(theVar, counter);
            theChar = (unsigned char) intRegister;
            if (lettertype(&theChar) != unprintable)  printf("%c", (unsigned char) theChar);
            else  printf("\\%c%c", hexDigit(theChar/16), hexDigit(theChar % 16));     }
        
        else if (theType == int_type)  {
            loadIntRegister(theVar, counter);
            printf(printIntFormatString, (ccInt) intRegister);     }
        
        else if (theType == double_type)  {
            loadDoubleRegister(theVar, counter);
            printf(printFloatFormatString, (ccFloat) doubleRegister);  }
        
        else if (theType == bool_type)  {
            loadBoolRegister(theVar, counter);
            if (boolRegister)  printf("true");
            else  printf("false");      }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movl 0xc0(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl -0x20(%rbp), %ecx
movq -0x8(%rbp), %rdx
addl 0xc(%rdx), %ecx
cmpl %ecx, %eax
jge 0x12394
cmpl $0x1, -0x24(%rbp)
jne 0x122df
movq -0x30(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x1a880
leaq 0x1a4e7(%rip), %rax     # 0x2c750
movl 0x6c(%rax), %eax
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
movl %eax, %ecx
leaq 0x16ef4(%rip), %rax     # 0x29170
cmpl $0x0, (%rax,%rcx,4)
je 0x12296
movzbl -0x31(%rbp), %esi
leaq 0x10a32(%rip), %rdi     # 0x22cbf
movb $0x0, %al
callq 0x8050
jmp 0x122da
movzbl -0x31(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
movzbl %al, %edi
callq 0x12410
movsbl %al, %eax
movl %eax, -0x38(%rbp)
movzbl -0x31(%rbp), %eax
movl $0x10, %ecx
cltd
idivl %ecx
movb %dl, %al
movzbl %al, %edi
callq 0x12410
movl -0x38(%rbp), %esi
movsbl %al, %edx
leaq 0x109e9(%rip), %rdi     # 0x22cbc
movb $0x0, %al
callq 0x8050
jmp 0x12384
cmpl $0x2, -0x24(%rbp)
jne 0x1230e
movq -0x30(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x1a880
leaq 0x16e60(%rip), %rax     # 0x29158
movq (%rax), %rdi
leaq 0x1a44e(%rip), %rax     # 0x2c750
movl 0x6c(%rax), %esi
movb $0x0, %al
callq 0x8050
jmp 0x12382
cmpl $0x3, -0x24(%rbp)
jne 0x1233f
movq -0x30(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x1a8d0
leaq 0x16e19(%rip), %rax     # 0x29140
movq (%rax), %rdi
leaq 0x1a41f(%rip), %rax     # 0x2c750
movsd 0x70(%rax), %xmm0
movb $0x1, %al
callq 0x8050
jmp 0x12380
cmpl $0x0, -0x24(%rbp)
jne 0x1237e
movq -0x30(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x1b880
leaq 0x1a3f8(%rip), %rax     # 0x2c750
cmpb $0x0, 0x68(%rax)
je 0x1236e
leaq 0x101eb(%rip), %rdi     # 0x22550
movb $0x0, %al
callq 0x8050
jmp 0x1237c
leaq 0x101cd(%rip), %rdi     # 0x22542
movb $0x0, %al
callq 0x8050
jmp 0x1237e
jmp 0x12380
jmp 0x12382
jmp 0x12384
jmp 0x12386
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x12237
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)