// File: /workspace/github_cpp_makefile_star2_O1/fatiiates[P]CDLL-with-cpp-make-gcc/./src/Test.cpp
// Function: readSayilar()
int readSayilar(){
  ifstream file("doc/Sayilar.txt");
  string line = "", cell = "";
  ArrayList* rows = new ArrayList();
  if ( file.is_open() ){
    for (int j = 0; getline(file, line);j++){

      stringstream row(line);
      int MAXOBEB = 0;
      rows->add(new CircularDoublyLinkedList());
      while ( getline(row, cell, ' ') ) {
      	stringstream intTicket(cell);
      	int item = 0;
      	intTicket >> item;
        try {
          unsigned char ch = (unsigned char)item;

          if(rows->elementAt(j)->Count() == 0)
            rows->elementAt(j)->add(ch);
          else{
            for (int i = 0; i != rows->elementAt(j)->Count();i++) {
              int ebob = obeb(ch, rows->elementAt(j)->elementAt(i));

              if(ebob >= MAXOBEB){
                MAXOBEB = ebob;
                int val = mod(ch, rows->elementAt(j)->elementAt(i));
                if(val == 0)
                  rows->elementAt(j)->insert(i+1, ch);
                else{
                  if(val >= i)
                    rows->elementAt(j)->insert(0, ch);
                  else
                    rows->elementAt(j)->insert(i-val+1, ch);
                }
                break;
              }else if(i == rows->elementAt(j)->Count() - 1){
                int val = mod(ch, rows->elementAt(j)->last());
                if(val == 0)
                  rows->elementAt(j)->add(ch);
                else
                  if(val >= i)
                    rows->elementAt(j)->insert(0, ch);
                  else
                    rows->elementAt(j)->insert(i-val+1, ch);
                break;
              }
            }
          }
        } catch (invalid_argument& e) {
          cerr << e.what() << " TEST "<<endl;
        } catch (length_error& e) {
          cerr << e.what() << " TEST 2"<< endl;
        } catch (...) {
          cout << "Bilinmeyen bir hata oluştu lütfen ilgili kişiye yönlendiriniz.";
        }
      }
    }
    cout << endl;
    for (int i = 0; i < rows->Count(); i++){
      cout << int(i+1) << ".Satir Sifre:"<< endl;
      cout << *rows->elementAt(i) << endl;
    }

    delete rows;
  }

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x588, %rsp            # imm = 0x588
leaq 0x1557(%rip), %rsi      # 0x4293
leaq -0x5a8(%rbp), %rdi
movl $0x8, %edx
callq 0x2260
leaq -0x50(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x1598(%rip), %rdx      # 0x42f4
leaq -0x60(%rbp), %rdi
movq %rdx, %rsi
callq 0x35ba
leaq -0x70(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x157d(%rip), %rdx      # 0x42f4
leaq -0x80(%rbp), %rdi
movq %rdx, %rsi
callq 0x35ba
movl $0x10, %edi
callq 0x2180
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
callq 0x24c8
leaq -0x530(%rbp), %rdi
callq 0x2060
testb %al, %al
je 0x32cc
movl $0x80, %eax
leaq -0x3a0(%rbp), %rcx
addq %rax, %rcx
movq %rcx, -0x90(%rbp)
leaq -0x218(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
xorl %r15d, %r15d
movq -0x5a8(%rbp), %rax
movq -0x18(%rax), %rdi
leaq -0x5a8(%rbp), %rbx
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %edx
movq %rbx, %rdi
leaq -0x60(%rbp), %rsi
callq 0x2270
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x31cc
leaq -0x218(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x18, %edx
callq 0x21f0
movl $0x10, %edi
callq 0x2180
movq %rax, %r12
movq %rax, %rdi
callq 0x26c0
movq -0x38(%rbp), %rdi
movq %r12, %rsi
callq 0x2570
xorl %ebx, %ebx
leaq -0x218(%rbp), %rdi
leaq -0x80(%rbp), %rsi
movl $0x20, %edx
callq 0x2270
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x31a5
leaq -0x3a0(%rbp), %r14
movq %r14, %rdi
leaq -0x80(%rbp), %rsi
movl $0x18, %edx
callq 0x21f0
movl $0x0, -0x3c(%rbp)
movq %r14, %rdi
leaq -0x3c(%rbp), %rsi
callq 0x20e0
movb -0x3c(%rbp), %al
movb %al, -0x29(%rbp)
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
callq 0x26d4
testl %eax, %eax
je 0x3095
xorl %r14d, %r14d
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
callq 0x26d4
cmpl %eax, %r14d
je 0x30ad
movzbl -0x29(%rbp), %r12d
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
movl %r14d, %esi
callq 0x2ac8
movzbl (%rax), %ecx
cmpl %ecx, %r12d
movl %ecx, %esi
cmovbl %r12d, %esi
testl %esi, %esi
je 0x2f43
negl %esi
xorl %r13d, %r13d
movl $0x1, %edi
movl %r12d, %eax
xorl %edx, %edx
divl %edi
testl %edx, %edx
jne 0x2f31
movl %ecx, %eax
xorl %edx, %edx
divl %edi
testl %edx, %edx
cmovel %edi, %r13d
leal (%rsi,%rdi), %eax
incl %eax
movl %edi, %edx
incl %edx
movl %edx, %edi
cmpl $0x1, %eax
jne 0x2f1a
jmp 0x2f46
xorl %r13d, %r13d
cmpl %ebx, %r13d
jge 0x2f9d
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
callq 0x26d4
decl %eax
movb $0x1, %cl
cmpl %eax, %r14d
jne 0x3082
movzbl -0x29(%rbp), %r12d
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
callq 0x2746
movzbl (%rax), %ecx
cmpb %cl, %r12b
jbe 0x3023
movl %r12d, %eax
xorl %edx, %edx
divl %ecx
jmp 0x302a
movzbl -0x29(%rbp), %r12d
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
movl %r14d, %esi
callq 0x2ac8
movzbl (%rax), %ecx
cmpb %cl, %r12b
jbe 0x2fca
movl %r12d, %eax
xorl %edx, %edx
divl %ecx
jmp 0x2fd1
movl %ecx, %eax
xorl %edx, %edx
divl %r12d
movl %edx, %r12d
testl %edx, %edx
je 0x2ff3
cmpl %r14d, %r12d
jae 0x3005
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movl %r14d, %esi
subl %r12d, %esi
incl %esi
jmp 0x3013
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
leal 0x1(%r14), %esi
jmp 0x3013
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
xorl %esi, %esi
movq %rax, %rdi
leaq -0x29(%rbp), %rdx
callq 0x27b4
xorl %ecx, %ecx
jmp 0x3085
movl %ecx, %eax
xorl %edx, %edx
divl %r12d
movl %edx, %r12d
testl %edx, %edx
je 0x304c
cmpl %r14d, %r12d
jae 0x3066
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movl %r14d, %esi
subl %r12d, %esi
incl %esi
jmp 0x3074
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
leaq -0x29(%rbp), %rsi
callq 0x27a4
jmp 0x3080
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
xorl %esi, %esi
movq %rax, %rdi
leaq -0x29(%rbp), %rdx
callq 0x27b4
xorl %ecx, %ecx
movl %ebx, %r13d
incl %r14d
movl %r13d, %ebx
testb %cl, %cl
jne 0x2ec7
jmp 0x30b0
movq -0x38(%rbp), %rdi
movl %r15d, %esi
callq 0x250c
movq %rax, %rdi
leaq -0x29(%rbp), %rsi
callq 0x27a4
movl %ebx, %r13d
movl %r13d, %ebx
leaq -0x3a0(%rbp), %rdi
movq 0x2edf(%rip), %rsi      # 0x5fa0
callq 0x2120
movq -0x90(%rbp), %rdi
callq 0x20a0
jmp 0x2e50
jmp 0x30e5
jmp 0x30e5
movq %rdx, %r14
movl %r13d, %ebx
jmp 0x30e8
jmp 0x30e5
movq %rdx, %r14
movq %rax, %rdi
cmpl $0x3, %r14d
jne 0x3137
callq 0x20b0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x2eea(%rip), %rdi      # 0x5ff0
movq %rax, %rsi
callq 0x2170
movq %rax, %r14
movl $0x6, %edx
movq %rax, %rdi
leaq 0x11ce(%rip), %rsi      # 0x42ee
callq 0x21a0
movq %r14, %rdi
callq 0x20c0
callq 0x2200
jmp 0x30b3
callq 0x20b0
cmpl $0x2, %r14d
jne 0x3183
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0x2e9e(%rip), %rdi      # 0x5ff0
movq %rax, %rsi
callq 0x2170
movq %rax, %r14
movl $0x7, %edx
movq %rax, %rdi
leaq 0x117a(%rip), %rsi      # 0x42e6
callq 0x21a0
movq %r14, %rdi
callq 0x20c0
callq 0x2200
jmp 0x30b3
movl $0x42, %edx
movq 0x2e31(%rip), %rdi      # 0x5fc0
leaq 0x110d(%rip), %rsi      # 0x42a3
callq 0x21a0
callq 0x2200
jmp 0x30b3
leaq -0x218(%rbp), %rdi
movq 0x2ded(%rip), %rsi      # 0x5fa0
callq 0x2120
movq -0x88(%rbp), %rdi
callq 0x20a0
incl %r15d
jmp 0x2dd8
movq 0x2ded(%rip), %rdi      # 0x5fc0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq 0x2dd2(%rip), %rdi      # 0x5fc0
callq 0x2040
movq %rax, %rdi
callq 0x20f0
xorl %r14d, %r14d
movq 0x2dbb(%rip), %r15      # 0x5fc0
leaq 0x10e9(%rip), %r12      # 0x42f5
movq -0x38(%rbp), %rdi
callq 0x24f4
cmpl %eax, %r14d
jge 0x32b3
incl %r14d
movq %r15, %rdi
movl %r14d, %esi
callq 0x2230
movq %rax, %r13
movl $0xd, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x21a0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20f0
decl %r14d
movq -0x38(%rbp), %rdi
movl %r14d, %esi
callq 0x250c
movq %r15, %rdi
movq %rax, %rsi
callq 0x2b20
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
incl %r14d
movq %rax, %rdi
callq 0x20f0
jmp 0x320c
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
callq 0x2630
movl $0x10, %esi
movq %rbx, %rdi
callq 0x2190
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x32e5
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x2190
movq -0x60(%rbp), %rdi
leaq -0x50(%rbp), %rax
cmpq %rax, %rdi
je 0x32fe
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x2190
leaq -0x5a8(%rbp), %rdi
callq 0x2070
xorl %eax, %eax
addq $0x588, %rsp            # imm = 0x588
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
callq 0x2200
jmp 0x338f
jmp 0x338c
jmp 0x338c
movq %rax, %r14
callq 0x2200
jmp 0x338f
movq %rax, %r14
callq 0x2200
jmp 0x338f
movq %rax, %rdi
callq 0x2d04
movq %rax, %r14
movl $0x10, %esi
movq -0x38(%rbp), %rdi
callq 0x2190
jmp 0x33d2
movq %rax, %r14
jmp 0x33eb
movq %rax, %r14
jmp 0x3404
jmp 0x3385
movq %rax, %r14
movl $0x10, %esi
movq %r12, %rdi
callq 0x2190
jmp 0x33b3
jmp 0x3385
jmp 0x33b0
jmp 0x3385
movq %rax, %r14
jmp 0x33d2
jmp 0x33b0
movq %rax, %r14
movq 0x2c0a(%rip), %rsi      # 0x5fa0
leaq -0x3a0(%rbp), %rdi
callq 0x2120
leaq -0x320(%rbp), %rdi
callq 0x20a0
jmp 0x33b3
movq %rax, %r14
movq 0x2be6(%rip), %rsi      # 0x5fa0
leaq -0x218(%rbp), %rdi
callq 0x2120
leaq -0x198(%rbp), %rdi
callq 0x20a0
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x33eb
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x2190
leaq -0x50(%rbp), %rax
movq -0x60(%rbp), %rdi
cmpq %rax, %rdi
je 0x3404
movq -0x50(%rbp), %rsi
incq %rsi
callq 0x2190
leaq -0x5a8(%rbp), %rdi
callq 0x2070
movq %r14, %rdi
callq 0x2240