12sort
Source Code
// MyCC code example
// Gabriel Capella
class Test {
public void main() {
Array a;
int total;
int tmp;
total = 50;
a = new Array();
a.create(total);
tmp = total;
while (0 < tmp) {
a.set(((tmp-1)*269)%total, tmp);
tmp = tmp - 1;
}
a.show();
print(10);
a.sort();
a.show();
print(10);
}
}
class Array {
Element head;
Array sort_helper;
public void create(int n) {
int i;
Element p;
i = n;
while (0 < i) {
Element p;
p = new Element();
p.setValue(0);
if (i < n) {
p.setNext(head);
p.setEnd(false);
} else {
p.setEnd(true);
}
head = p;
i = i - 1;
}
}
public int get(int n) {
Element old;
int count;
old = head;
count = 0;
while (true) {
if (n-1 < count) {
return old.value();
}
if(old.isEnd()) {
print(64);
return 0;
}
old = old.getNext();
count = count + 1;
}
}
public void set(int n, int v) {
Element old;
int count;
old = head;
count = 0;
while (true) {
if (n-1 < count) {
old.setValue(v);
return;
}
if(old.isEnd()) {
print(64);
return;
}
old = old.getNext();
count = count + 1;
}
}
public void show() {
Element old;
int count;
old = head;
count = 0;
while (true) {
old.show();
if(old.isEnd()) {
return;
}
print(44);
old = old.getNext();
}
}
public void merge(int p, int m, int q) {
int k;
k = p;
// copy to tmp
while (k < q + 1) {
sort_helper.set(k, get(k));
k = k + 1;
}
int n1;
int n2;
n1 = m;
n2 = q;
k = p;
m = m + 1;
while ((p < n1+1) && (m < n2+1)) {
int tmp1;
int tmp2;
tmp1 = sort_helper.get(p);
tmp2 = sort_helper.get(m);
if (tmp1 < tmp2) {
set(k, tmp1);
p = p + 1;
} else {
set(k, tmp2);
m = m + 1;
}
k = k + 1;
}
while (p < n1 + 1) {
set(k, sort_helper.get(p));
p = p + 1;
k = k + 1;
}
while (m < n2 + 1) {
set(k, sort_helper.get(m));
m = m + 1;
k = k + 1;
}
}
public void sort_internal(int p, int q) {
if (p < q) {
int m;
m = p+(q-p)/2;
sort_internal(p, m);
sort_internal(m+1, q);
merge(p, m, q);
}
}
public void sort() {
Element old;
int count;
boolean x;
x = true;
old = head;
count = 0;
while (x) {
if(old.isEnd()) {
x = false;
} else {
old = old.getNext();
}
count = count + 1;
}
sort_helper = new Array();
sort_helper.create(count);
sort_internal(0, count-1);
}
}
class Element {
int i;
boolean end;
Element e;
public void setValue(int k) {
i = k;
}
public void setEnd(boolean k) {
end = k;
}
public void setNext(Element k) {
e = k;
}
public Element getNext() {
return e;
}
public int value() {
return i;
}
public boolean isEnd() {
return end;
}
public void show() {
Print pp;
pp = new Print();
pp.Integer(i);
}
}
class Print {
int v;
public void Integer(int i) {
int tmp;
int c;
tmp = 0;
c = 0;
if ( (i < 1) && (0-1 < i)) {
print(48);
return;
}
if (i < 1) {
i = (0-1)*i;
print(45);
}
while (0 < i) {
tmp = tmp * 10 + i % 10;
i = i /10;
c = c + 1;
}
while (0 < tmp) {
print(tmp % 10 + 48);
tmp = tmp /10;
c = c - 1;
}
while (0 < c) {
print(48);
c = c - 1;
}
}
}







Results
Assembly
.globl main
main:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
movq $0, %rax
movq %rax, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
pushq %rax
callq __LABEL0
popq %rax
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL114:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MovL %572 <- 0
movq $0, %rax
##MoMo %9 <- %572
movq %rax, %rbx
##MovL %573 <- 0
movq $0, %rax
##MoMo %574 <- %573
##MoMo %575 <- %-1
movq %rbp, %rdx
##MovL %576 <- 24
movq $24, %rcx
##MoOp %577 <- %575,%576
addq %rdx, %rcx
##MToR %578 <- #577
movq (%rcx), %rdx
##MovL %579 <- 1
movq $1, %rcx
##MoOp %580 <- %578,%579
cmpq %rdx, %rcx
setle %dil
xorb $1, %dil
movzbq %dil, %r9
##MovL %581 <- 0
movq $0, %rdx
##MovL %582 <- 1
movq $1, %rcx
##MoOp %583 <- %581,%582
movq %rdx, %r8
subq %rcx, %r8
##MoMo %584 <- %-1
movq %rbp, %rdx
##MovL %585 <- 24
movq $24, %rcx
##MoOp %586 <- %584,%585
addq %rdx, %rcx
##MToR %587 <- #586
movq (%rcx), %rcx
##MoOp %588 <- %583,%587
cmpq %r8, %rcx
setle %dil
xorb $1, %dil
movzbq %dil, %rcx
##MoOp %589 <- %580,%588
andq %r9, %rcx
andq $1, %rcx
##JuCo %589
testq %rcx, %rcx
jnz __LABEL115
__LABEL116:
##Jump 117
jmp __LABEL117
__LABEL117:
##MoMo %591 <- %-1
movq %rbp, %rdx
##MovL %592 <- 24
movq $24, %rcx
##MoOp %593 <- %591,%592
addq %rdx, %rcx
##MToR %594 <- #593
movq (%rcx), %rdx
##MovL %595 <- 1
movq $1, %rcx
##MoOp %596 <- %594,%595
cmpq %rdx, %rcx
setle %dil
xorb $1, %dil
movzbq %dil, %rcx
##JuCo %596
testq %rcx, %rcx
jnz __LABEL119
__LABEL120:
##Jump 121
jmp __LABEL121
__LABEL121:
__LABEL123:
__LABEL124:
##MovL %609 <- 0
movq $0, %r8
##MoMo %610 <- %-1
movq %rbp, %rdx
##MovL %611 <- 24
movq $24, %rcx
##MoOp %612 <- %610,%611
addq %rdx, %rcx
##MToR %613 <- #612
movq (%rcx), %rcx
##MoOp %614 <- %609,%613
cmpq %r8, %rcx
setle %dil
xorb $1, %dil
movzbq %dil, %rcx
##JuCo %614
testq %rcx, %rcx
jnz __LABEL125
__LABEL126:
##Jump 127
jmp __LABEL127
__LABEL127:
__LABEL129:
__LABEL130:
##MovL %637 <- 0
movq $0, %rdx
##MoMo %638 <- %9
movq %rbx, %rcx
##MoOp %639 <- %637,%638
cmpq %rdx, %rcx
setle %dil
xorb $1, %dil
movzbq %dil, %rcx
##JuCo %639
testq %rcx, %rcx
jnz __LABEL131
__LABEL132:
##Jump 133
jmp __LABEL133
__LABEL133:
__LABEL135:
__LABEL136:
##MovL %651 <- 0
movq $0, %rcx
##MoMo %652 <- %574
movq %rax, %rbx
##MoOp %653 <- %651,%652
cmpq %rcx, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rbx
##JuCo %653
testq %rbx, %rbx
jnz __LABEL137
__LABEL138:
##Jump 139
jmp __LABEL139
__LABEL139:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL137:
__LABEL140:
##MovL %654 <- 48
movq $48, %rbx
##Prin %654
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rbx, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %655 <- %574
movq %rax, %rbx
##MovL %656 <- 1
movq $1, %rax
##MoOp %657 <- %655,%656
imulq $-1, %rax
addq %rbx, %rax
##MoMo %574 <- %657
##Jump 136
jmp __LABEL136
__LABEL131:
__LABEL134:
##MoMo %640 <- %9
movq %rbx, %rdx
##MovL %641 <- 10
movq $10, %rcx
##MoOp %642 <- %640,%641
#%rdx A:%rdx B:%rcx
pushq %rax
movq %rcx, %rdi
movq %rdx, %rax
cqto
idiv %rdi
popq %rax
##MovL %643 <- 48
movq $48, %rcx
##MoOp %644 <- %642,%643
addq %rdx, %rcx
##Prin %644
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rcx, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %645 <- %9
movq %rbx, %rcx
##MovL %646 <- 10
movq $10, %rbx
##MoOp %647 <- %645,%646
pushq %rax
pushq %rdx
movq %rcx, %rax
cqto
idiv %rbx
movq %rax, %rbx
popq %rdx
popq %rax
##MoMo %9 <- %647
##MoMo %648 <- %574
movq %rax, %rcx
##MovL %649 <- 1
movq $1, %rax
##MoOp %650 <- %648,%649
imulq $-1, %rax
addq %rcx, %rax
##MoMo %574 <- %650
##Jump 130
jmp __LABEL130
__LABEL125:
__LABEL128:
##MoMo %615 <- %9
movq %rbx, %rcx
##MovL %616 <- 10
movq $10, %rbx
##MoOp %617 <- %615,%616
movq %rcx, %rdx
imul %rbx, %rdx
##MoMo %618 <- %-1
movq %rbp, %rcx
##MovL %619 <- 24
movq $24, %rbx
##MoOp %620 <- %618,%619
addq %rcx, %rbx
##MToR %621 <- #620
movq (%rbx), %rcx
##MovL %622 <- 10
movq $10, %rbx
##MoOp %623 <- %621,%622
#%rbx A:%rcx B:%rbx
pushq %rax
pushq %rdx
movq %rcx, %rax
cqto
idiv %rbx
movq %rdx, %rbx
popq %rdx
popq %rax
##MoOp %624 <- %617,%623
addq %rdx, %rbx
##MoMo %9 <- %624
##MoMo %625 <- %-1
movq %rbp, %rdx
##MovL %626 <- 24
movq $24, %rcx
##MoOp %627 <- %625,%626
addq %rdx, %rcx
##MToR %628 <- #627
movq (%rcx), %rdx
##MovL %629 <- 10
movq $10, %rcx
##MoOp %630 <- %628,%629
pushq %rax
pushq %rdx
movq %rcx, %rdi
movq %rdx, %rax
cqto
idiv %rdi
movq %rax, %r8
popq %rdx
popq %rax
##MoMo %631 <- %-1
movq %rbp, %rdx
##MovL %632 <- 24
movq $24, %rcx
##MoOp %633 <- %631,%632
addq %rdx, %rcx
##RToM #633 <- %630
movq %r8, (%rcx)
##MoMo %634 <- %574
movq %rax, %rcx
##MovL %635 <- 1
movq $1, %rax
##MoOp %636 <- %634,%635
addq %rcx, %rax
##MoMo %574 <- %636
##Jump 124
jmp __LABEL124
__LABEL119:
__LABEL122:
##MovL %597 <- 0
movq $0, %rdx
##MovL %598 <- 1
movq $1, %rcx
##MoOp %599 <- %597,%598
movq %rdx, %r8
subq %rcx, %r8
##MoMo %600 <- %-1
movq %rbp, %rdx
##MovL %601 <- 24
movq $24, %rcx
##MoOp %602 <- %600,%601
addq %rdx, %rcx
##MToR %603 <- #602
movq (%rcx), %rcx
##MoOp %604 <- %599,%603
imul %rcx, %r8
##MoMo %605 <- %-1
movq %rbp, %rdx
##MovL %606 <- 24
movq $24, %rcx
##MoOp %607 <- %605,%606
addq %rdx, %rcx
##RToM #607 <- %604
movq %r8, (%rcx)
##MovL %608 <- 45
movq $45, %rcx
##Prin %608
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rcx, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##Jump 121
jmp __LABEL121
__LABEL115:
__LABEL118:
##MovL %590 <- 48
movq $48, %rcx
##Prin %590
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rcx, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##SRet
movq %rbp, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 117
jmp __LABEL117
__LABEL113:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMa 560
pushq %r10 ## prepare malloc
pushq %r11 ## prepare malloc
pushq %r8 ## prepare malloc
pushq %r9 ## prepare malloc
pushq %rbx ## prepare malloc
pushq %rcx ## prepare malloc
pushq %rdx ## prepare malloc
movq $8, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rax
popq %rdx
popq %rcx
popq %rbx
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %561 <- %560
##MoMo %562 <- %561
##MoMo %563 <- %562
movq %rax, %rcx
##MoMo %564 <- %-1
movq %rbp, %rbx
##MovL %565 <- 16
movq $16, %rax
##MoOp %566 <- %564,%565
addq %rbx, %rax
##MToR %567 <- #566
movq (%rax), %rbx
##MovL %568 <- 16
movq $16, %rax
##MoOp %569 <- %567,%568
addq %rbx, %rax
##MToR %570 <- #569
movq (%rax), %rax
##MoMo %571 <- %570
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %571
pushq %rax
##Push %563
pushq %rcx
##Call (#700213972)
call __LABEL114
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL112:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %553 <- %-1
movq %rbp, %rbx
##MovL %554 <- 16
movq $16, %rax
##MoOp %555 <- %553,%554
addq %rbx, %rax
##MToR %556 <- #555
movq (%rax), %rbx
##MovL %557 <- 8
movq $8, %rax
##MoOp %558 <- %556,%557
addq %rbx, %rax
##MToR %559 <- #558
movq (%rax), %rax
##SRet
movq %rax, %rdi
movq %rbp, %rsp
popq %rbp
retq
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL111:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %546 <- %-1
movq %rbp, %rbx
##MovL %547 <- 16
movq $16, %rax
##MoOp %548 <- %546,%547
addq %rbx, %rax
##MToR %549 <- #548
movq (%rax), %rbx
##MovL %550 <- 16
movq $16, %rax
##MoOp %551 <- %549,%550
addq %rbx, %rax
##MToR %552 <- #551
movq (%rax), %rax
##SRet
movq %rax, %rdi
movq %rbp, %rsp
popq %rbp
retq
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL110:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %539 <- %-1
movq %rbp, %rbx
##MovL %540 <- 16
movq $16, %rax
##MoOp %541 <- %539,%540
addq %rbx, %rax
##MToR %542 <- #541
movq (%rax), %rbx
##MovL %543 <- 0
movq $0, %rax
##MoOp %544 <- %542,%543
addq %rbx, %rax
##MToR %545 <- #544
movq (%rax), %rax
##SRet
movq %rax, %rdi
movq %rbp, %rsp
popq %rbp
retq
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL109:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %529 <- %-1
movq %rbp, %rbx
##MovL %530 <- 24
movq $24, %rax
##MoOp %531 <- %529,%530
addq %rbx, %rax
##MToR %532 <- #531
movq (%rax), %rcx
##MoMo %533 <- %-1
movq %rbp, %rbx
##MovL %534 <- 16
movq $16, %rax
##MoOp %535 <- %533,%534
addq %rbx, %rax
##MToR %536 <- #535
movq (%rax), %rbx
##MovL %537 <- 0
movq $0, %rax
##MoOp %538 <- %536,%537
addq %rbx, %rax
##RToM #538 <- %532
movq %rcx, (%rax)
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL107:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %509 <- %-1
movq %rbp, %rbx
##MovL %510 <- 24
movq $24, %rax
##MoOp %511 <- %509,%510
addq %rbx, %rax
##MToR %512 <- #511
movq (%rax), %rcx
##MoMo %513 <- %-1
movq %rbp, %rbx
##MovL %514 <- 16
movq $16, %rax
##MoOp %515 <- %513,%514
addq %rbx, %rax
##MToR %516 <- #515
movq (%rax), %rbx
##MovL %517 <- 16
movq $16, %rax
##MoOp %518 <- %516,%517
addq %rbx, %rax
##RToM #518 <- %512
movq %rcx, (%rax)
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL95:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MovL %461 <- 1
movq $1, %rax
##MoMo %462 <- %461
##MoMo %463 <- %-1
movq %rbp, %rcx
##MovL %464 <- 16
movq $16, %rbx
##MoOp %465 <- %463,%464
addq %rcx, %rbx
##MToR %466 <- #465
movq (%rbx), %rcx
##MovL %467 <- 8
movq $8, %rbx
##MoOp %468 <- %466,%467
addq %rcx, %rbx
##MToR %469 <- #468
movq (%rbx), %rbx
##MoMo %91 <- %469
movq %rbx, %rcx
##MovL %470 <- 0
movq $0, %rbx
##MoMo %93 <- %470
__LABEL96:
__LABEL97:
##MoMo %471 <- %462
movq %rax, %rdx
##JuCo %471
testq %rdx, %rdx
jnz __LABEL98
__LABEL99:
##Jump 100
jmp __LABEL100
__LABEL100:
##MoMa 482
pushq %r10 ## prepare malloc
pushq %r11 ## prepare malloc
pushq %r8 ## prepare malloc
pushq %r9 ## prepare malloc
pushq %rax ## prepare malloc
pushq %rbx ## prepare malloc
pushq %rcx ## prepare malloc
movq $16, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %483 <- %-1
movq %rbp, %rcx
##MovL %484 <- 16
movq $16, %rax
##MoOp %485 <- %483,%484
addq %rcx, %rax
##MToR %486 <- #485
movq (%rax), %rcx
##MovL %487 <- 0
movq $0, %rax
##MoOp %488 <- %486,%487
addq %rcx, %rax
##RToM #488 <- %482
movq %rdx, (%rax)
##MoMo %489 <- %-1
movq %rbp, %rcx
##MovL %490 <- 16
movq $16, %rax
##MoOp %491 <- %489,%490
addq %rcx, %rax
##MToR %492 <- #491
movq (%rax), %rcx
##MovL %493 <- 0
movq $0, %rax
##MoOp %494 <- %492,%493
addq %rcx, %rax
##MToR %495 <- #494
movq (%rax), %rax
##MoMo %496 <- %495
movq %rax, %rcx
##MoMo %497 <- %93
movq %rbx, %rax
##MoMo %498 <- %497
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %498
pushq %rax
##Push %496
pushq %rcx
##Call (#997205875)
call __LABEL7
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %499 <- %-1
movq %rbp, %rcx
##MovL %500 <- 16
movq $16, %rax
##MoOp %501 <- %499,%500
addq %rcx, %rax
##MToR %502 <- #501
movq (%rax), %rdx
##MovL %503 <- 0
movq $0, %rax
##MoMo %504 <- %503
movq %rax, %rcx
##MoMo %505 <- %93
##MovL %506 <- 1
movq $1, %rax
##MoOp %507 <- %505,%506
imulq $-1, %rax
addq %rbx, %rax
##MoMo %508 <- %507
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %508
pushq %rax
##Push %504
pushq %rcx
##Push %502
pushq %rdx
##Call (#341668702)
call __LABEL90
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL98:
__LABEL101:
##MoMo %472 <- %91
movq %rcx, %rdx
##MoMo %473 <- %472
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %473
pushq %rdx
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rdx
##JuCo %474
testq %rdx, %rdx
jnz __LABEL102
__LABEL103:
__LABEL104:
##MoMo %475 <- %91
##MoMo %476 <- %475
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %476
pushq %rcx
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rcx
##MoMo %91 <- %477
##Jump 105
jmp __LABEL105
__LABEL105:
##MoMo %479 <- %93
movq %rbx, %rdx
##MovL %480 <- 1
movq $1, %rbx
##MoOp %481 <- %479,%480
addq %rdx, %rbx
##MoMo %93 <- %481
##Jump 97
jmp __LABEL97
__LABEL102:
__LABEL106:
##MovL %478 <- 0
movq $0, %rax
##MoMo %462 <- %478
##Jump 105
jmp __LABEL105
__LABEL90:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %395 <- %-1
movq %rbp, %rbx
##MovL %396 <- 24
movq $24, %rax
##MoOp %397 <- %395,%396
addq %rbx, %rax
##MToR %398 <- #397
movq (%rax), %rcx
##MoMo %399 <- %-1
movq %rbp, %rbx
##MovL %400 <- 32
movq $32, %rax
##MoOp %401 <- %399,%400
addq %rbx, %rax
##MToR %402 <- #401
movq (%rax), %rax
##MoOp %403 <- %398,%402
cmpq %rcx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %403
testq %rax, %rax
jnz __LABEL91
__LABEL92:
##Jump 93
jmp __LABEL93
__LABEL93:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL91:
__LABEL94:
##MoMo %404 <- %-1
movq %rbp, %rbx
##MovL %405 <- 24
movq $24, %rax
##MoOp %406 <- %404,%405
addq %rbx, %rax
##MToR %407 <- #406
movq (%rax), %rdx
##MoMo %408 <- %-1
movq %rbp, %rbx
##MovL %409 <- 32
movq $32, %rax
##MoOp %410 <- %408,%409
addq %rbx, %rax
##MToR %411 <- #410
movq (%rax), %rcx
##MoMo %412 <- %-1
movq %rbp, %rbx
##MovL %413 <- 24
movq $24, %rax
##MoOp %414 <- %412,%413
addq %rbx, %rax
##MToR %415 <- #414
movq (%rax), %rax
##MoOp %416 <- %411,%415
movq %rcx, %rbx
subq %rax, %rbx
##MovL %417 <- 2
movq $2, %rax
##MoOp %418 <- %416,%417
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
popq %rdx
##MoOp %419 <- %407,%418
addq %rdx, %rax
##MoMo %420 <- %419
movq %rax, %rbx
##MoMo %421 <- %-1
movq %rbp, %rcx
##MovL %422 <- 16
movq $16, %rax
##MoOp %423 <- %421,%422
addq %rcx, %rax
##MToR %424 <- #423
movq (%rax), %rdx
##MoMo %425 <- %-1
movq %rbp, %rcx
##MovL %426 <- 24
movq $24, %rax
##MoOp %427 <- %425,%426
addq %rcx, %rax
##MToR %428 <- #427
movq (%rax), %rax
##MoMo %429 <- %428
movq %rax, %rcx
##MoMo %430 <- %420
movq %rbx, %rax
##MoMo %431 <- %430
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %431
pushq %rax
##Push %429
pushq %rcx
##Push %424
pushq %rdx
##Call (#341668702)
call __LABEL90
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %432 <- %-1
movq %rbp, %rcx
##MovL %433 <- 16
movq $16, %rax
##MoOp %434 <- %432,%433
addq %rcx, %rax
##MToR %435 <- #434
movq (%rax), %r8
##MoMo %436 <- %420
movq %rbx, %rcx
##MovL %437 <- 1
movq $1, %rax
##MoOp %438 <- %436,%437
addq %rcx, %rax
##MoMo %439 <- %438
movq %rax, %rdx
##MoMo %440 <- %-1
movq %rbp, %rcx
##MovL %441 <- 32
movq $32, %rax
##MoOp %442 <- %440,%441
addq %rcx, %rax
##MToR %443 <- #442
movq (%rax), %rax
##MoMo %444 <- %443
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %444
pushq %rax
##Push %439
pushq %rdx
##Push %435
pushq %r8
##Call (#341668702)
call __LABEL90
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %445 <- %-1
movq %rbp, %rcx
##MovL %446 <- 16
movq $16, %rax
##MoOp %447 <- %445,%446
addq %rcx, %rax
##MToR %448 <- #447
movq (%rax), %rax
##MoMo %449 <- %-1
movq %rbp, %rdx
##MovL %450 <- 24
movq $24, %rcx
##MoOp %451 <- %449,%450
addq %rdx, %rcx
##MToR %452 <- #451
movq (%rcx), %rcx
##MoMo %453 <- %452
movq %rcx, %r8
##MoMo %454 <- %420
##MoMo %455 <- %454
movq %rbx, %rdx
##MoMo %456 <- %-1
movq %rbp, %rcx
##MovL %457 <- 32
movq $32, %rbx
##MoOp %458 <- %456,%457
addq %rcx, %rbx
##MToR %459 <- #458
movq (%rbx), %rbx
##MoMo %460 <- %459
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %460
pushq %rbx
##Push %455
pushq %rdx
##Push %453
pushq %r8
##Push %448
pushq %rax
##Call (#475828359)
call __LABEL60
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##Jump 93
jmp __LABEL93
__LABEL108:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %519 <- %-1
movq %rbp, %rbx
##MovL %520 <- 24
movq $24, %rax
##MoOp %521 <- %519,%520
addq %rbx, %rax
##MToR %522 <- #521
movq (%rax), %rcx
##MoMo %523 <- %-1
movq %rbp, %rbx
##MovL %524 <- 16
movq $16, %rax
##MoOp %525 <- %523,%524
addq %rbx, %rax
##MToR %526 <- #525
movq (%rax), %rbx
##MovL %527 <- 8
movq $8, %rax
##MoOp %528 <- %526,%527
addq %rbx, %rax
##RToM #528 <- %522
movq %rcx, (%rax)
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL60:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %169 <- %-1
movq %rbp, %rbx
##MovL %170 <- 24
movq $24, %rax
##MoOp %171 <- %169,%170
addq %rbx, %rax
##MToR %172 <- #171
movq (%rax), %rax
##MoMo %173 <- %172
movq %rax, %r8
__LABEL61:
__LABEL62:
##MoMo %174 <- %173
movq %r8, %rcx
##MoMo %175 <- %-1
movq %rbp, %rbx
##MovL %176 <- 40
movq $40, %rax
##MoOp %177 <- %175,%176
addq %rbx, %rax
##MToR %178 <- #177
movq (%rax), %rbx
##MovL %179 <- 1
movq $1, %rax
##MoOp %180 <- %178,%179
addq %rbx, %rax
##MoOp %181 <- %174,%180
cmpq %rcx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %181
testq %rax, %rax
jnz __LABEL63
__LABEL64:
##Jump 65
jmp __LABEL65
__LABEL65:
##MoMo %203 <- %-1
movq %rbp, %rbx
##MovL %204 <- 32
movq $32, %rax
##MoOp %205 <- %203,%204
addq %rbx, %rax
##MToR %206 <- #205
movq (%rax), %rax
##MoMo %207 <- %206
movq %rax, %rdx
##MoMo %208 <- %-1
movq %rbp, %rbx
##MovL %209 <- 40
movq $40, %rax
##MoOp %210 <- %208,%209
addq %rbx, %rax
##MToR %211 <- #210
movq (%rax), %rax
##MoMo %212 <- %211
movq %rax, %rcx
##MoMo %213 <- %-1
movq %rbp, %rbx
##MovL %214 <- 24
movq $24, %rax
##MoOp %215 <- %213,%214
addq %rbx, %rax
##MToR %216 <- #215
movq (%rax), %rax
##MoMo %173 <- %216
movq %rax, %r8
##MoMo %217 <- %-1
movq %rbp, %rbx
##MovL %218 <- 32
movq $32, %rax
##MoOp %219 <- %217,%218
addq %rbx, %rax
##MToR %220 <- #219
movq (%rax), %rbx
##MovL %221 <- 1
movq $1, %rax
##MoOp %222 <- %220,%221
movq %rbx, %r9
addq %rax, %r9
##MoMo %223 <- %-1
movq %rbp, %rbx
##MovL %224 <- 32
movq $32, %rax
##MoOp %225 <- %223,%224
addq %rbx, %rax
##RToM #225 <- %222
movq %r9, (%rax)
__LABEL67:
__LABEL68:
##MoMo %226 <- %-1
movq %rbp, %rbx
##MovL %227 <- 24
movq $24, %rax
##MoOp %228 <- %226,%227
addq %rbx, %rax
##MToR %229 <- #228
movq (%rax), %r9
##MoMo %230 <- %207
movq %rdx, %rbx
##MovL %231 <- 1
movq $1, %rax
##MoOp %232 <- %230,%231
addq %rbx, %rax
##MoOp %233 <- %229,%232
cmpq %r9, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %r10
##MoMo %234 <- %-1
movq %rbp, %rbx
##MovL %235 <- 32
movq $32, %rax
##MoOp %236 <- %234,%235
addq %rbx, %rax
##MToR %237 <- #236
movq (%rax), %r9
##MoMo %238 <- %212
movq %rcx, %rbx
##MovL %239 <- 1
movq $1, %rax
##MoOp %240 <- %238,%239
addq %rbx, %rax
##MoOp %241 <- %237,%240
cmpq %r9, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##MoOp %242 <- %233,%241
andq %r10, %rax
andq $1, %rax
##JuCo %242
testq %rax, %rax
jnz __LABEL69
__LABEL70:
##Jump 71
jmp __LABEL71
__LABEL71:
__LABEL78:
__LABEL79:
##MoMo %313 <- %-1
movq %rbp, %rbx
##MovL %314 <- 24
movq $24, %rax
##MoOp %315 <- %313,%314
addq %rbx, %rax
##MToR %316 <- #315
movq (%rax), %r9
##MoMo %317 <- %207
movq %rdx, %rbx
##MovL %318 <- 1
movq $1, %rax
##MoOp %319 <- %317,%318
addq %rbx, %rax
##MoOp %320 <- %316,%319
cmpq %r9, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %320
testq %rax, %rax
jnz __LABEL80
__LABEL81:
##Jump 82
jmp __LABEL82
__LABEL82:
__LABEL84:
__LABEL85:
##MoMo %354 <- %-1
movq %rbp, %rbx
##MovL %355 <- 32
movq $32, %rax
##MoOp %356 <- %354,%355
addq %rbx, %rax
##MToR %357 <- #356
movq (%rax), %rdx
##MoMo %358 <- %212
movq %rcx, %rbx
##MovL %359 <- 1
movq $1, %rax
##MoOp %360 <- %358,%359
addq %rbx, %rax
##MoOp %361 <- %357,%360
cmpq %rdx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %361
testq %rax, %rax
jnz __LABEL86
__LABEL87:
##Jump 88
jmp __LABEL88
__LABEL88:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL86:
__LABEL89:
##MoMo %362 <- %-1
movq %rbp, %rbx
##MovL %363 <- 16
movq $16, %rax
##MoOp %364 <- %362,%363
addq %rbx, %rax
##MToR %365 <- #364
movq (%rax), %rbx
##MoMo %366 <- %173
movq %r8, %rax
##MoMo %367 <- %366
##MoMo %368 <- %-1
movq %rbp, %r9
##MovL %369 <- 16
movq $16, %rdx
##MoOp %370 <- %368,%369
addq %r9, %rdx
##MToR %371 <- #370
movq (%rdx), %r9
##MovL %372 <- 0
movq $0, %rdx
##MoOp %373 <- %371,%372
addq %r9, %rdx
##MToR %374 <- #373
movq (%rdx), %rdx
##MoMo %375 <- %374
movq %rdx, %r10
##MoMo %376 <- %-1
movq %rbp, %r9
##MovL %377 <- 32
movq $32, %rdx
##MoOp %378 <- %376,%377
addq %r9, %rdx
##MToR %379 <- #378
movq (%rdx), %rdx
##MoMo %380 <- %379
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %380
pushq %rdx
##Push %375
pushq %r10
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rdx
##MoMo %382 <- %381
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %382
pushq %rdx
##Push %367
pushq %rax
##Push %365
pushq %rbx
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %383 <- %-1
movq %rbp, %rbx
##MovL %384 <- 32
movq $32, %rax
##MoOp %385 <- %383,%384
addq %rbx, %rax
##MToR %386 <- #385
movq (%rax), %rbx
##MovL %387 <- 1
movq $1, %rax
##MoOp %388 <- %386,%387
movq %rbx, %rdx
addq %rax, %rdx
##MoMo %389 <- %-1
movq %rbp, %rbx
##MovL %390 <- 32
movq $32, %rax
##MoOp %391 <- %389,%390
addq %rbx, %rax
##RToM #391 <- %388
movq %rdx, (%rax)
##MoMo %392 <- %173
movq %r8, %rbx
##MovL %393 <- 1
movq $1, %rax
##MoOp %394 <- %392,%393
addq %rbx, %rax
##MoMo %173 <- %394
movq %rax, %r8
##Jump 85
jmp __LABEL85
__LABEL80:
__LABEL83:
##MoMo %321 <- %-1
movq %rbp, %rbx
##MovL %322 <- 16
movq $16, %rax
##MoOp %323 <- %321,%322
addq %rbx, %rax
##MToR %324 <- #323
movq (%rax), %rbx
##MoMo %325 <- %173
movq %r8, %rax
##MoMo %326 <- %325
##MoMo %327 <- %-1
movq %rbp, %r10
##MovL %328 <- 16
movq $16, %r9
##MoOp %329 <- %327,%328
addq %r10, %r9
##MToR %330 <- #329
movq (%r9), %r10
##MovL %331 <- 0
movq $0, %r9
##MoOp %332 <- %330,%331
addq %r10, %r9
##MToR %333 <- #332
movq (%r9), %r9
##MoMo %334 <- %333
movq %r9, %r11
##MoMo %335 <- %-1
movq %rbp, %r10
##MovL %336 <- 24
movq $24, %r9
##MoOp %337 <- %335,%336
addq %r10, %r9
##MToR %338 <- #337
movq (%r9), %r9
##MoMo %339 <- %338
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %339
pushq %r9
##Push %334
pushq %r11
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %r9
##MoMo %341 <- %340
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %341
pushq %r9
##Push %326
pushq %rax
##Push %324
pushq %rbx
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %342 <- %-1
movq %rbp, %rbx
##MovL %343 <- 24
movq $24, %rax
##MoOp %344 <- %342,%343
addq %rbx, %rax
##MToR %345 <- #344
movq (%rax), %rbx
##MovL %346 <- 1
movq $1, %rax
##MoOp %347 <- %345,%346
movq %rbx, %r9
addq %rax, %r9
##MoMo %348 <- %-1
movq %rbp, %rbx
##MovL %349 <- 24
movq $24, %rax
##MoOp %350 <- %348,%349
addq %rbx, %rax
##RToM #350 <- %347
movq %r9, (%rax)
##MoMo %351 <- %173
movq %r8, %rbx
##MovL %352 <- 1
movq $1, %rax
##MoOp %353 <- %351,%352
addq %rbx, %rax
##MoMo %173 <- %353
movq %rax, %r8
##Jump 79
jmp __LABEL79
__LABEL69:
__LABEL72:
##MoMo %243 <- %-1
movq %rbp, %rbx
##MovL %244 <- 16
movq $16, %rax
##MoOp %245 <- %243,%244
addq %rbx, %rax
##MToR %246 <- #245
movq (%rax), %rbx
##MovL %247 <- 0
movq $0, %rax
##MoOp %248 <- %246,%247
addq %rbx, %rax
##MToR %249 <- #248
movq (%rax), %rax
##MoMo %250 <- %249
movq %rax, %r9
##MoMo %251 <- %-1
movq %rbp, %rbx
##MovL %252 <- 24
movq $24, %rax
##MoOp %253 <- %251,%252
addq %rbx, %rax
##MToR %254 <- #253
movq (%rax), %rax
##MoMo %255 <- %254
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %255
pushq %rax
##Push %250
pushq %r9
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##MoMo %257 <- %256
movq %rax, %rbx
##MoMo %258 <- %-1
movq %rbp, %r9
##MovL %259 <- 16
movq $16, %rax
##MoOp %260 <- %258,%259
addq %r9, %rax
##MToR %261 <- #260
movq (%rax), %r9
##MovL %262 <- 0
movq $0, %rax
##MoOp %263 <- %261,%262
addq %r9, %rax
##MToR %264 <- #263
movq (%rax), %rax
##MoMo %265 <- %264
movq %rax, %r10
##MoMo %266 <- %-1
movq %rbp, %r9
##MovL %267 <- 32
movq $32, %rax
##MoOp %268 <- %266,%267
addq %r9, %rax
##MToR %269 <- #268
movq (%rax), %rax
##MoMo %270 <- %269
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %270
pushq %rax
##Push %265
pushq %r10
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##MoMo %272 <- %271
##MoMo %273 <- %257
movq %rbx, %r10
##MoMo %274 <- %272
movq %rax, %r9
##MoOp %275 <- %273,%274
cmpq %r10, %r9
setle %dil
xorb $1, %dil
movzbq %dil, %r9
##JuCo %275
testq %r9, %r9
jnz __LABEL73
__LABEL74:
__LABEL75:
##MoMo %276 <- %-1
movq %rbp, %r9
##MovL %277 <- 16
movq $16, %rbx
##MoOp %278 <- %276,%277
addq %r9, %rbx
##MToR %279 <- #278
movq (%rbx), %r9
##MoMo %280 <- %173
movq %r8, %rbx
##MoMo %281 <- %280
##MoMo %282 <- %272
##MoMo %283 <- %282
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %283
pushq %rax
##Push %281
pushq %rbx
##Push %279
pushq %r9
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %284 <- %-1
movq %rbp, %rbx
##MovL %285 <- 32
movq $32, %rax
##MoOp %286 <- %284,%285
addq %rbx, %rax
##MToR %287 <- #286
movq (%rax), %rbx
##MovL %288 <- 1
movq $1, %rax
##MoOp %289 <- %287,%288
movq %rbx, %r9
addq %rax, %r9
##MoMo %290 <- %-1
movq %rbp, %rbx
##MovL %291 <- 32
movq $32, %rax
##MoOp %292 <- %290,%291
addq %rbx, %rax
##RToM #292 <- %289
movq %r9, (%rax)
##Jump 76
jmp __LABEL76
__LABEL76:
##MoMo %310 <- %173
movq %r8, %rbx
##MovL %311 <- 1
movq $1, %rax
##MoOp %312 <- %310,%311
addq %rbx, %rax
##MoMo %173 <- %312
movq %rax, %r8
##Jump 68
jmp __LABEL68
__LABEL73:
__LABEL77:
##MoMo %293 <- %-1
movq %rbp, %r9
##MovL %294 <- 16
movq $16, %rax
##MoOp %295 <- %293,%294
addq %r9, %rax
##MToR %296 <- #295
movq (%rax), %r10
##MoMo %297 <- %173
movq %r8, %rax
##MoMo %298 <- %297
movq %rax, %r9
##MoMo %299 <- %257
movq %rbx, %rax
##MoMo %300 <- %299
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %300
pushq %rax
##Push %298
pushq %r9
##Push %296
pushq %r10
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %301 <- %-1
movq %rbp, %rbx
##MovL %302 <- 24
movq $24, %rax
##MoOp %303 <- %301,%302
addq %rbx, %rax
##MToR %304 <- #303
movq (%rax), %rbx
##MovL %305 <- 1
movq $1, %rax
##MoOp %306 <- %304,%305
movq %rbx, %r9
addq %rax, %r9
##MoMo %307 <- %-1
movq %rbp, %rbx
##MovL %308 <- 24
movq $24, %rax
##MoOp %309 <- %307,%308
addq %rbx, %rax
##RToM #309 <- %306
movq %r9, (%rax)
##Jump 76
jmp __LABEL76
__LABEL63:
__LABEL66:
##MoMo %182 <- %-1
movq %rbp, %rbx
##MovL %183 <- 16
movq $16, %rax
##MoOp %184 <- %182,%183
addq %rbx, %rax
##MToR %185 <- #184
movq (%rax), %rbx
##MovL %186 <- 0
movq $0, %rax
##MoOp %187 <- %185,%186
addq %rbx, %rax
##MToR %188 <- #187
movq (%rax), %rax
##MoMo %189 <- %188
movq %rax, %rdx
##MoMo %190 <- %173
movq %r8, %rax
##MoMo %191 <- %190
movq %rax, %rcx
##MoMo %192 <- %-1
movq %rbp, %rbx
##MovL %193 <- 16
movq $16, %rax
##MoOp %194 <- %192,%193
addq %rbx, %rax
##MToR %195 <- #194
movq (%rax), %rbx
##MoMo %196 <- %173
movq %r8, %rax
##MoMo %197 <- %196
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %197
pushq %rax
##Push %195
pushq %rbx
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##MoMo %199 <- %198
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %199
pushq %rax
##Push %191
pushq %rcx
##Push %189
pushq %rdx
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %200 <- %173
movq %r8, %rbx
##MovL %201 <- 1
movq $1, %rax
##MoOp %202 <- %200,%201
addq %rbx, %rax
##MoMo %173 <- %202
movq %rax, %r8
##Jump 62
jmp __LABEL62
__LABEL49:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %151 <- %-1
movq %rbp, %rbx
##MovL %152 <- 16
movq $16, %rax
##MoOp %153 <- %151,%152
addq %rbx, %rax
##MToR %154 <- #153
movq (%rax), %rbx
##MovL %155 <- 8
movq $8, %rax
##MoOp %156 <- %154,%155
addq %rbx, %rax
##MToR %157 <- #156
movq (%rax), %rax
##MoMo %91 <- %157
movq %rax, %rcx
##MovL %158 <- 0
movq $0, %rax
##MoMo %93 <- %158
movq %rax, %rbx
__LABEL50:
__LABEL51:
##MovL %159 <- 1
movq $1, %rax
##JuCo %159
testq %rax, %rax
jnz __LABEL52
__LABEL53:
##Jump 54
jmp __LABEL54
__LABEL54:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL52:
__LABEL55:
##MoMo %160 <- %91
movq %rcx, %rax
##MoMo %161 <- %160
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %161
pushq %rax
##Call (#199422015)
call __LABEL113
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %162 <- %91
movq %rcx, %rax
##MoMo %163 <- %162
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %163
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##JuCo %164
testq %rax, %rax
jnz __LABEL56
__LABEL57:
##Jump 58
jmp __LABEL58
__LABEL58:
##MovL %165 <- 44
movq $44, %rax
##Prin %165
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %166 <- %91
movq %rcx, %rax
##MoMo %167 <- %166
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %167
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##MoMo %91 <- %168
movq %rax, %rcx
##Jump 51
jmp __LABEL51
__LABEL56:
__LABEL59:
##SRet
movq %rbp, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 58
jmp __LABEL58
__LABEL34:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %117 <- %-1
movq %rbp, %rbx
##MovL %118 <- 16
movq $16, %rax
##MoOp %119 <- %117,%118
addq %rbx, %rax
##MToR %120 <- #119
movq (%rax), %rbx
##MovL %121 <- 8
movq $8, %rax
##MoOp %122 <- %120,%121
addq %rbx, %rax
##MToR %123 <- #122
movq (%rax), %rax
##MoMo %91 <- %123
movq %rax, %rcx
##MovL %124 <- 0
movq $0, %rax
##MoMo %93 <- %124
movq %rax, %rbx
__LABEL35:
__LABEL36:
##MovL %125 <- 1
movq $1, %rax
##JuCo %125
testq %rax, %rax
jnz __LABEL37
__LABEL38:
##Jump 39
jmp __LABEL39
__LABEL39:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL37:
__LABEL40:
##MoMo %126 <- %-1
movq %rbp, %rdx
##MovL %127 <- 24
movq $24, %rax
##MoOp %128 <- %126,%127
addq %rdx, %rax
##MToR %129 <- #128
movq (%rax), %rdx
##MovL %130 <- 1
movq $1, %rax
##MoOp %131 <- %129,%130
subq %rax, %rdx
##MoMo %132 <- %93
movq %rbx, %rax
##MoOp %133 <- %131,%132
cmpq %rdx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %133
testq %rax, %rax
jnz __LABEL41
__LABEL42:
##Jump 43
jmp __LABEL43
__LABEL43:
##MoMo %141 <- %91
movq %rcx, %rax
##MoMo %142 <- %141
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %142
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##JuCo %143
testq %rax, %rax
jnz __LABEL45
__LABEL46:
##Jump 47
jmp __LABEL47
__LABEL47:
##MoMo %145 <- %91
movq %rcx, %rax
##MoMo %146 <- %145
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %146
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##MoMo %91 <- %147
movq %rax, %rcx
##MoMo %148 <- %93
##MovL %149 <- 1
movq $1, %rax
##MoOp %150 <- %148,%149
addq %rbx, %rax
##MoMo %93 <- %150
movq %rax, %rbx
##Jump 36
jmp __LABEL36
__LABEL45:
__LABEL48:
##MovL %144 <- 64
movq $64, %rax
##Prin %144
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##SRet
movq %rbp, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 47
jmp __LABEL47
__LABEL41:
__LABEL44:
##MoMo %134 <- %91
movq %rcx, %rax
##MoMo %135 <- %134
movq %rax, %r8
##MoMo %136 <- %-1
movq %rbp, %rdx
##MovL %137 <- 32
movq $32, %rax
##MoOp %138 <- %136,%137
addq %rdx, %rax
##MToR %139 <- #138
movq (%rax), %rax
##MoMo %140 <- %139
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %140
pushq %rax
##Push %135
pushq %r8
##Call (#1755579204)
call __LABEL107
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##SRet
movq %rbp, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 43
jmp __LABEL43
__LABEL19:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %84 <- %-1
movq %rbp, %rbx
##MovL %85 <- 16
movq $16, %rax
##MoOp %86 <- %84,%85
addq %rbx, %rax
##MToR %87 <- #86
movq (%rax), %rbx
##MovL %88 <- 8
movq $8, %rax
##MoOp %89 <- %87,%88
addq %rbx, %rax
##MToR %90 <- #89
movq (%rax), %rax
##MoMo %91 <- %90
movq %rax, %rcx
##MovL %92 <- 0
movq $0, %rax
##MoMo %93 <- %92
movq %rax, %rbx
__LABEL20:
__LABEL21:
##MovL %94 <- 1
movq $1, %rax
##JuCo %94
testq %rax, %rax
jnz __LABEL22
__LABEL23:
##Jump 24
jmp __LABEL24
__LABEL24:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL22:
__LABEL25:
##MoMo %95 <- %-1
movq %rbp, %rdx
##MovL %96 <- 24
movq $24, %rax
##MoOp %97 <- %95,%96
addq %rdx, %rax
##MToR %98 <- #97
movq (%rax), %rdx
##MovL %99 <- 1
movq $1, %rax
##MoOp %100 <- %98,%99
subq %rax, %rdx
##MoMo %101 <- %93
movq %rbx, %rax
##MoOp %102 <- %100,%101
cmpq %rdx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %102
testq %rax, %rax
jnz __LABEL26
__LABEL27:
##Jump 28
jmp __LABEL28
__LABEL28:
##MoMo %106 <- %91
movq %rcx, %rax
##MoMo %107 <- %106
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %107
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##JuCo %108
testq %rax, %rax
jnz __LABEL30
__LABEL31:
##Jump 32
jmp __LABEL32
__LABEL32:
##MoMo %111 <- %91
movq %rcx, %rax
##MoMo %112 <- %111
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %112
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##MoMo %91 <- %113
movq %rax, %rcx
##MoMo %114 <- %93
##MovL %115 <- 1
movq $1, %rax
##MoOp %116 <- %114,%115
addq %rbx, %rax
##MoMo %93 <- %116
movq %rax, %rbx
##Jump 21
jmp __LABEL21
__LABEL30:
__LABEL33:
##MovL %109 <- 64
movq $64, %rax
##Prin %109
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MovL %110 <- 0
movq $0, %rax
##SRet
movq %rax, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 32
jmp __LABEL32
__LABEL26:
__LABEL29:
##MoMo %103 <- %91
movq %rcx, %rax
##MoMo %104 <- %103
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %104
pushq %rax
##Call (#1758956387)
call __LABEL111
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##GRet
movq %rdi, %rax
##SRet
movq %rax, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 28
jmp __LABEL28
__LABEL7:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MoMo %36 <- %-1
movq %rbp, %rbx
##MovL %37 <- 24
movq $24, %rax
##MoOp %38 <- %36,%37
addq %rbx, %rax
##MToR %39 <- #38
movq (%rax), %rax
##MoMo %40 <- %39
movq %rax, %rbx
__LABEL8:
__LABEL9:
##MovL %41 <- 0
movq $0, %rcx
##MoMo %42 <- %40
movq %rbx, %rax
##MoOp %43 <- %41,%42
cmpq %rcx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %43
testq %rax, %rax
jnz __LABEL10
__LABEL11:
##Jump 12
jmp __LABEL12
__LABEL12:
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL10:
__LABEL13:
##MoMa 44
pushq %r10 ## prepare malloc
pushq %r11 ## prepare malloc
pushq %r8 ## prepare malloc
pushq %r9 ## prepare malloc
pushq %rbx ## prepare malloc
pushq %rcx ## prepare malloc
pushq %rdx ## prepare malloc
movq $24, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rax
popq %rdx
popq %rcx
popq %rbx
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %45 <- %44
##MoMo %46 <- %45
movq %rax, %rcx
##MoMo %47 <- %46
movq %rcx, %rdx
##MovL %48 <- 0
movq $0, %rcx
##MoMo %49 <- %48
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %49
pushq %rcx
##Push %47
pushq %rdx
##Call (#1755579204)
call __LABEL107
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %50 <- %40
movq %rbx, %r8
##MoMo %51 <- %-1
movq %rbp, %rdx
##MovL %52 <- 24
movq $24, %rcx
##MoOp %53 <- %51,%52
addq %rdx, %rcx
##MToR %54 <- #53
movq (%rcx), %rcx
##MoOp %55 <- %50,%54
cmpq %r8, %rcx
setle %dil
xorb $1, %dil
movzbq %dil, %rcx
##JuCo %55
testq %rcx, %rcx
jnz __LABEL14
__LABEL15:
__LABEL16:
##MoMo %56 <- %45
movq %rax, %rcx
##MoMo %57 <- %56
movq %rcx, %rdx
##MovL %58 <- 1
movq $1, %rcx
##MoMo %59 <- %58
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %59
pushq %rcx
##Push %57
pushq %rdx
##Call (#7967052)
call __LABEL108
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##Jump 17
jmp __LABEL17
__LABEL17:
##MoMo %74 <- %45
movq %rax, %rdx
##MoMo %75 <- %-1
movq %rbp, %rcx
##MovL %76 <- 16
movq $16, %rax
##MoOp %77 <- %75,%76
addq %rcx, %rax
##MToR %78 <- #77
movq (%rax), %rcx
##MovL %79 <- 8
movq $8, %rax
##MoOp %80 <- %78,%79
addq %rcx, %rax
##RToM #80 <- %74
movq %rdx, (%rax)
##MoMo %81 <- %40
##MovL %82 <- 1
movq $1, %rax
##MoOp %83 <- %81,%82
imulq $-1, %rax
addq %rbx, %rax
##MoMo %40 <- %83
movq %rax, %rbx
##Jump 9
jmp __LABEL9
__LABEL14:
__LABEL18:
##MoMo %60 <- %45
movq %rax, %rcx
##MoMo %61 <- %60
movq %rcx, %r8
##MoMo %62 <- %-1
movq %rbp, %rdx
##MovL %63 <- 16
movq $16, %rcx
##MoOp %64 <- %62,%63
addq %rdx, %rcx
##MToR %65 <- #64
movq (%rcx), %rdx
##MovL %66 <- 8
movq $8, %rcx
##MoOp %67 <- %65,%66
addq %rdx, %rcx
##MToR %68 <- #67
movq (%rcx), %rcx
##MoMo %69 <- %68
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %69
pushq %rcx
##Push %61
pushq %r8
##Call (#1570585491)
call __LABEL109
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %70 <- %45
movq %rax, %rcx
##MoMo %71 <- %70
movq %rcx, %rdx
##MovL %72 <- 0
movq $0, %rcx
##MoMo %73 <- %72
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %73
pushq %rcx
##Push %71
pushq %rdx
##Call (#7967052)
call __LABEL108
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##Jump 17
jmp __LABEL17
__LABEL0:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-8, %rsp
##MovL %0 <- 50
movq $50, %rax
##MoMo %1 <- %0
movq %rax, %rdx
##MoMa 2
pushq %r10 ## prepare malloc
pushq %r11 ## prepare malloc
pushq %r8 ## prepare malloc
pushq %r9 ## prepare malloc
pushq %rbx ## prepare malloc
pushq %rcx ## prepare malloc
pushq %rdx ## prepare malloc
movq $16, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rax
popq %rdx
popq %rcx
popq %rbx
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %3 <- %2
movq %rax, %rcx
##MoMo %4 <- %3
movq %rcx, %rax
##MoMo %5 <- %4
movq %rax, %rbx
##MoMo %6 <- %1
movq %rdx, %rax
##MoMo %7 <- %6
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %7
pushq %rax
##Push %5
pushq %rbx
##Call (#997205875)
call __LABEL7
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %8 <- %1
movq %rdx, %rax
##MoMo %9 <- %8
movq %rax, %rbx
__LABEL1:
__LABEL2:
##MovL %10 <- 0
movq $0, %r8
##MoMo %11 <- %9
movq %rbx, %rax
##MoOp %12 <- %10,%11
cmpq %r8, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %12
testq %rax, %rax
jnz __LABEL3
__LABEL4:
##Jump 5
jmp __LABEL5
__LABEL5:
##MoMo %28 <- %3
movq %rcx, %rax
##MoMo %29 <- %28
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %29
pushq %rax
##Call (#1743355921)
call __LABEL49
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MovL %30 <- 10
movq $10, %rax
##Prin %30
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %31 <- %3
movq %rcx, %rax
##MoMo %32 <- %31
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %32
pushq %rax
##Call (#1526056698)
call __LABEL95
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %33 <- %3
movq %rcx, %rax
##MoMo %34 <- %33
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %34
pushq %rax
##Call (#1743355921)
call __LABEL49
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MovL %35 <- 10
movq $10, %rax
##Prin %35
pushq %r10 ## prepare print call
pushq %r11 ## prepare print call
pushq %r8 ## prepare print call
pushq %r9 ## prepare print call
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
pushq %rcx ## prepare print call
pushq %rdx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL3:
__LABEL6:
##MoMo %13 <- %3
movq %rcx, %rax
##MoMo %14 <- %13
##MoMo %15 <- %9
movq %rbx, %r9
##MovL %16 <- 1
movq $1, %r8
##MoOp %17 <- %15,%16
subq %r8, %r9
##MovL %18 <- 269
movq $269, %r8
##MoOp %19 <- %17,%18
imul %r8, %r9
##MoMo %20 <- %1
movq %rdx, %r8
##MoOp %21 <- %19,%20
#%r8 A:%r9 B:%r8
pushq %rax
pushq %rdx
movq %r9, %rax
cqto
idiv %r8
movq %rdx, %r8
popq %rdx
popq %rax
##MoMo %22 <- %21
movq %r8, %r9
##MoMo %23 <- %9
movq %rbx, %r8
##MoMo %24 <- %23
##PuAl
pushq %r10 ## prepare call
pushq %r11 ## prepare call
pushq %r8 ## prepare call
pushq %r9 ## prepare call
pushq %rax ## prepare call
pushq %rbx ## prepare call
pushq %rcx ## prepare call
pushq %rdx ## prepare call
##Push %24
pushq %r8
##Push %22
pushq %r9
##Push %14
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rdx
popq %rcx
popq %rbx
popq %rax
popq %r9
popq %r8
popq %r11
popq %r10
##MoMo %25 <- %9
##MovL %26 <- 1
movq $1, %rax
##MoOp %27 <- %25,%26
imulq $-1, %rax
addq %rbx, %rax
##MoMo %9 <- %27
movq %rax, %rbx
##Jump 2
jmp __LABEL2
fail_exit:
movl $1, %eax
popq %rbp
retq
Expected
1,30,9,38,17,46,25,4,33,12,41,20,49,28,7,36,15,44,23,2,31,10,39,18,47,26,5,34,13,42,21,50,29,8,37,16,45,24,3,32,11,40,19,48,27,6,35,14,43,22
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50
Got
1,30,9,38,17,46,25,4,33,12,41,20,49,28,7,36,15,44,23,2,31,10,39,18,47,26,5,34,13,42,21,50,29,8,37,16,45,24,3,32,11,40,19,48,27,6,35,14,43,22
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50