2sort
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
# SPILL %173
# SPILL %212
# SPILL %207
# SPILL %9
# SPILL %93
# SPILL %574
# SPILL %40
# SPILL %91
# SPILL %420
# SPILL %1
# SPILL %45
# SPILL %3
# SPILL %257
# SPILL %324
# SPILL %365
# SPILL %14
# SPILL %448
# SPILL %189
# SPILL %326
# SPILL %367
# SPILL %462
# SPILL %272
# SPILL %407
# SPILL %435
# SPILL %233
# SPILL %453
# SPILL %580
# SPILL %191
# SPILL %424
# SPILL %502
# SPILL %279
# SPILL %61
# SPILL %74
# SPILL %174
# SPILL %296
# SPILL %482
# SPILL %512
# SPILL %522
# SPILL %532
# SPILL %563
# SPILL %617
# SPILL %229
# SPILL %237
# SPILL %50
# SPILL %135
# SPILL %222
# SPILL %250
# SPILL %265
# SPILL %289
# SPILL %306
# SPILL %316
# SPILL %334
# SPILL %347
# SPILL %357
# SPILL %375
# SPILL %388
# SPILL %398
# SPILL %411
# SPILL %439
# SPILL %455
# SPILL %504
# SPILL %583
# SPILL %599
# SPILL %604
# SPILL %609
# SPILL %630
.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 $-536, %rsp
##MovL %572 <- 0
movq $0, %rax
##MoMo %9 <- %572
movq %rax, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##RToM #661 <- %9
movq %rbx, (%rax)
##MovL %573 <- 0
movq $0, %rax
##MoMo %574 <- %573
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##RToM #663 <- %574
movq %rax, (%rbx)
##MoMo %575 <- %-1
movq %rbp, %rbx
##MovL %576 <- 24
movq $24, %rax
##MoOp %577 <- %575,%576
addq %rbx, %rax
##MToR %578 <- #577
movq (%rax), %rbx
##MovL %579 <- 1
movq $1, %rax
##MoOp %580 <- %578,%579
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rbx
##MovL %684 <- -216
movq $-216, %rax
##MoOp %684 <- %684,%-1
addq %rbp, %rax
##RToM #684 <- %580
movq %rbx, (%rax)
##MovL %581 <- 0
movq $0, %rbx
##MovL %582 <- 1
movq $1, %rax
##MoOp %583 <- %581,%582
subq %rax, %rbx
##MovL %719 <- -496
movq $-496, %rax
##MoOp %719 <- %719,%-1
addq %rbp, %rax
##RToM #719 <- %583
movq %rbx, (%rax)
##MoMo %584 <- %-1
movq %rbp, %rbx
##MovL %585 <- 24
movq $24, %rax
##MoOp %586 <- %584,%585
addq %rbx, %rax
##MToR %587 <- #586
movq (%rax), %rbx
##MovL %719 <- -496
movq $-496, %rax
##MoOp %719 <- %719,%-1
addq %rbp, %rax
##MToR %719 <- #719
movq (%rax), %rax
##MoOp %588 <- %719,%587
cmpq %rax, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rbx
##MovL %684 <- -216
movq $-216, %rax
##MoOp %684 <- %684,%-1
addq %rbp, %rax
##MToR %684 <- #684
movq (%rax), %rax
##MoOp %589 <- %684,%588
andq %rbx, %rax
andq $1, %rax
##JuCo %589
testq %rax, %rax
jnz __LABEL115
__LABEL116:
##Jump 117
jmp __LABEL117
__LABEL117:
##MoMo %591 <- %-1
movq %rbp, %rbx
##MovL %592 <- 24
movq $24, %rax
##MoOp %593 <- %591,%592
addq %rbx, %rax
##MToR %594 <- #593
movq (%rax), %rbx
##MovL %595 <- 1
movq $1, %rax
##MoOp %596 <- %594,%595
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %596
testq %rax, %rax
jnz __LABEL119
__LABEL120:
##Jump 121
jmp __LABEL121
__LABEL121:
__LABEL123:
__LABEL124:
##MovL %609 <- 0
movq $0, %rbx
##MovL %722 <- -520
movq $-520, %rax
##MoOp %722 <- %722,%-1
addq %rbp, %rax
##RToM #722 <- %609
movq %rbx, (%rax)
##MoMo %610 <- %-1
movq %rbp, %rbx
##MovL %611 <- 24
movq $24, %rax
##MoOp %612 <- %610,%611
addq %rbx, %rax
##MToR %613 <- #612
movq (%rax), %rbx
##MovL %722 <- -520
movq $-520, %rax
##MoOp %722 <- %722,%-1
addq %rbp, %rax
##MToR %722 <- #722
movq (%rax), %rax
##MoOp %614 <- %722,%613
cmpq %rax, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %614
testq %rax, %rax
jnz __LABEL125
__LABEL126:
##Jump 127
jmp __LABEL127
__LABEL127:
__LABEL129:
__LABEL130:
##MovL %637 <- 0
movq $0, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %638 <- %661
##MoOp %639 <- %637,%638
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %639
testq %rax, %rax
jnz __LABEL131
__LABEL132:
##Jump 133
jmp __LABEL133
__LABEL133:
__LABEL135:
__LABEL136:
##MovL %651 <- 0
movq $0, %rax
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##MToR %663 <- #663
movq (%rbx), %rbx
##MoMo %652 <- %663
##MoOp %653 <- %651,%652
cmpq %rax, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %653
testq %rax, %rax
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, %rax
##Prin %654
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##MToR %663 <- #663
movq (%rbx), %rbx
##MoMo %655 <- %663
##MovL %656 <- 1
movq $1, %rax
##MoOp %657 <- %655,%656
imulq $-1, %rax
addq %rbx, %rax
##MoMo %574 <- %657
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##RToM #663 <- %574
movq %rax, (%rbx)
##Jump 136
jmp __LABEL136
__LABEL131:
__LABEL134:
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %640 <- %661
movq %rax, %rbx
##MovL %641 <- 10
movq $10, %rax
##MoOp %642 <- %640,%641
#%rbx A:%rbx B:%rax
pushq %rax
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
movq %rdx, %rbx
popq %rdx
popq %rax
##MovL %643 <- 48
movq $48, %rax
##MoOp %644 <- %642,%643
addq %rbx, %rax
##Prin %644
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %645 <- %661
movq %rax, %rbx
##MovL %646 <- 10
movq $10, %rax
##MoOp %647 <- %645,%646
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
popq %rdx
##MoMo %9 <- %647
movq %rax, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##RToM #661 <- %9
movq %rbx, (%rax)
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##MToR %663 <- #663
movq (%rbx), %rbx
##MoMo %648 <- %663
##MovL %649 <- 1
movq $1, %rax
##MoOp %650 <- %648,%649
imulq $-1, %rax
addq %rbx, %rax
##MoMo %574 <- %650
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##RToM #663 <- %574
movq %rax, (%rbx)
##Jump 130
jmp __LABEL130
__LABEL125:
__LABEL128:
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %615 <- %661
movq %rax, %rbx
##MovL %616 <- 10
movq $10, %rax
##MoOp %617 <- %615,%616
imul %rax, %rbx
##MovL %698 <- -328
movq $-328, %rax
##MoOp %698 <- %698,%-1
addq %rbp, %rax
##RToM #698 <- %617
movq %rbx, (%rax)
##MoMo %618 <- %-1
movq %rbp, %rbx
##MovL %619 <- 24
movq $24, %rax
##MoOp %620 <- %618,%619
addq %rbx, %rax
##MToR %621 <- #620
movq (%rax), %rbx
##MovL %622 <- 10
movq $10, %rax
##MoOp %623 <- %621,%622
#%rbx A:%rbx B:%rax
pushq %rax
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
movq %rdx, %rbx
popq %rdx
popq %rax
##MovL %698 <- -328
movq $-328, %rax
##MoOp %698 <- %698,%-1
addq %rbp, %rax
##MToR %698 <- #698
movq (%rax), %rax
##MoOp %624 <- %698,%623
addq %rbx, %rax
##MoMo %9 <- %624
movq %rax, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##RToM #661 <- %9
movq %rbx, (%rax)
##MoMo %625 <- %-1
movq %rbp, %rbx
##MovL %626 <- 24
movq $24, %rax
##MoOp %627 <- %625,%626
addq %rbx, %rax
##MToR %628 <- #627
movq (%rax), %rbx
##MovL %629 <- 10
movq $10, %rax
##MoOp %630 <- %628,%629
pushq %rax
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
movq %rax, %rbx
popq %rdx
popq %rax
##MovL %723 <- -528
movq $-528, %rax
##MoOp %723 <- %723,%-1
addq %rbp, %rax
##RToM #723 <- %630
movq %rbx, (%rax)
##MoMo %631 <- %-1
movq %rbp, %rbx
##MovL %632 <- 24
movq $24, %rax
##MoOp %633 <- %631,%632
addq %rax, %rbx
##MovL %723 <- -528
movq $-528, %rax
##MoOp %723 <- %723,%-1
addq %rbp, %rax
##MToR %723 <- #723
movq (%rax), %rax
##RToM #633 <- %723
movq %rax, (%rbx)
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##MToR %663 <- #663
movq (%rbx), %rbx
##MoMo %634 <- %663
##MovL %635 <- 1
movq $1, %rax
##MoOp %636 <- %634,%635
addq %rbx, %rax
##MoMo %574 <- %636
##MovL %663 <- -48
movq $-48, %rbx
##MoOp %663 <- %663,%-1
addq %rbp, %rbx
##RToM #663 <- %574
movq %rax, (%rbx)
##Jump 124
jmp __LABEL124
__LABEL119:
__LABEL122:
##MovL %597 <- 0
movq $0, %rbx
##MovL %598 <- 1
movq $1, %rax
##MoOp %599 <- %597,%598
subq %rax, %rbx
##MovL %720 <- -504
movq $-504, %rax
##MoOp %720 <- %720,%-1
addq %rbp, %rax
##RToM #720 <- %599
movq %rbx, (%rax)
##MoMo %600 <- %-1
movq %rbp, %rbx
##MovL %601 <- 24
movq $24, %rax
##MoOp %602 <- %600,%601
addq %rbx, %rax
##MToR %603 <- #602
movq (%rax), %rbx
##MovL %720 <- -504
movq $-504, %rax
##MoOp %720 <- %720,%-1
addq %rbp, %rax
##MToR %720 <- #720
movq (%rax), %rax
##MoOp %604 <- %720,%603
imul %rax, %rbx
##MovL %721 <- -512
movq $-512, %rax
##MoOp %721 <- %721,%-1
addq %rbp, %rax
##RToM #721 <- %604
movq %rbx, (%rax)
##MoMo %605 <- %-1
movq %rbp, %rbx
##MovL %606 <- 24
movq $24, %rax
##MoOp %607 <- %605,%606
addq %rax, %rbx
##MovL %721 <- -512
movq $-512, %rax
##MoOp %721 <- %721,%-1
addq %rbp, %rax
##MToR %721 <- #721
movq (%rax), %rax
##RToM #607 <- %721
movq %rax, (%rbx)
##MovL %608 <- 45
movq $45, %rax
##Prin %608
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##Jump 121
jmp __LABEL121
__LABEL115:
__LABEL118:
##MovL %590 <- 48
movq $48, %rax
##Prin %590
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##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 $-536, %rsp
##MoMa 560
pushq %rbx ## prepare malloc
movq $8, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rax
popq %rbx
##MoMo %561 <- %560
##MoMo %562 <- %561
##MoMo %563 <- %562
movq %rax, %rbx
##MovL %697 <- -320
movq $-320, %rax
##MoOp %697 <- %697,%-1
addq %rbp, %rax
##RToM #697 <- %563
movq %rbx, (%rax)
##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 %rax ## prepare call
pushq %rbx ## prepare call
##Push %571
pushq %rax
##MovL %697 <- -320
movq $-320, %rax
##MoOp %697 <- %697,%-1
addq %rbp, %rax
##MToR %697 <- #697
movq (%rax), %rax
##Push %697
pushq %rax
##Call (#700213972)
call __LABEL114
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL112:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %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 $-536, %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 $-536, %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 $-536, %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), %rbx
##MovL %696 <- -312
movq $-312, %rax
##MoOp %696 <- %696,%-1
addq %rbp, %rax
##RToM #696 <- %532
movq %rbx, (%rax)
##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 %rax, %rbx
##MovL %696 <- -312
movq $-312, %rax
##MoOp %696 <- %696,%-1
addq %rbp, %rax
##MToR %696 <- #696
movq (%rax), %rax
##RToM #538 <- %696
movq %rax, (%rbx)
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL107:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %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), %rbx
##MovL %694 <- -296
movq $-296, %rax
##MoOp %694 <- %694,%-1
addq %rbp, %rax
##RToM #694 <- %512
movq %rbx, (%rax)
##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 %rax, %rbx
##MovL %694 <- -296
movq $-296, %rax
##MoOp %694 <- %694,%-1
addq %rbp, %rax
##MToR %694 <- #694
movq (%rax), %rax
##RToM #518 <- %694
movq %rax, (%rbx)
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL95:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %rsp
##MovL %461 <- 1
movq $1, %rax
##MoMo %462 <- %461
movq %rax, %rbx
##MovL %678 <- -168
movq $-168, %rax
##MoOp %678 <- %678,%-1
addq %rbp, %rax
##RToM #678 <- %462
movq %rbx, (%rax)
##MoMo %463 <- %-1
movq %rbp, %rbx
##MovL %464 <- 16
movq $16, %rax
##MoOp %465 <- %463,%464
addq %rbx, %rax
##MToR %466 <- #465
movq (%rax), %rbx
##MovL %467 <- 8
movq $8, %rax
##MoOp %468 <- %466,%467
addq %rbx, %rax
##MToR %469 <- #468
movq (%rax), %rax
##MoMo %91 <- %469
movq %rax, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##MovL %470 <- 0
movq $0, %rax
##MoMo %93 <- %470
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
__LABEL96:
__LABEL97:
##MovL %678 <- -168
movq $-168, %rax
##MoOp %678 <- %678,%-1
addq %rbp, %rax
##MToR %678 <- #678
movq (%rax), %rax
##MoMo %471 <- %678
##JuCo %471
testq %rax, %rax
jnz __LABEL98
__LABEL99:
##Jump 100
jmp __LABEL100
__LABEL100:
##MoMa 482
pushq %rax ## prepare malloc
movq $16, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rbx
popq %rax
##MovL %693 <- -288
movq $-288, %rax
##MoOp %693 <- %693,%-1
addq %rbp, %rax
##RToM #693 <- %482
movq %rbx, (%rax)
##MoMo %483 <- %-1
movq %rbp, %rbx
##MovL %484 <- 16
movq $16, %rax
##MoOp %485 <- %483,%484
addq %rbx, %rax
##MToR %486 <- #485
movq (%rax), %rbx
##MovL %487 <- 0
movq $0, %rax
##MoOp %488 <- %486,%487
addq %rax, %rbx
##MovL %693 <- -288
movq $-288, %rax
##MoOp %693 <- %693,%-1
addq %rbp, %rax
##MToR %693 <- #693
movq (%rax), %rax
##RToM #488 <- %693
movq %rax, (%rbx)
##MoMo %489 <- %-1
movq %rbp, %rbx
##MovL %490 <- 16
movq $16, %rax
##MoOp %491 <- %489,%490
addq %rbx, %rax
##MToR %492 <- #491
movq (%rax), %rbx
##MovL %493 <- 0
movq $0, %rax
##MoOp %494 <- %492,%493
addq %rbx, %rax
##MToR %495 <- #494
movq (%rax), %rax
##MoMo %496 <- %495
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %497 <- %662
##MoMo %498 <- %497
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %498
pushq %rax
##Push %496
pushq %rbx
##Call (#997205875)
call __LABEL7
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MoMo %499 <- %-1
movq %rbp, %rbx
##MovL %500 <- 16
movq $16, %rax
##MoOp %501 <- %499,%500
addq %rbx, %rax
##MToR %502 <- #501
movq (%rax), %rbx
##MovL %687 <- -240
movq $-240, %rax
##MoOp %687 <- %687,%-1
addq %rbp, %rax
##RToM #687 <- %502
movq %rbx, (%rax)
##MovL %503 <- 0
movq $0, %rax
##MoMo %504 <- %503
movq %rax, %rbx
##MovL %718 <- -488
movq $-488, %rax
##MoOp %718 <- %718,%-1
addq %rbp, %rax
##RToM #718 <- %504
movq %rbx, (%rax)
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %505 <- %662
movq %rax, %rbx
##MovL %506 <- 1
movq $1, %rax
##MoOp %507 <- %505,%506
imulq $-1, %rax
addq %rbx, %rax
##MoMo %508 <- %507
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %508
pushq %rax
##MovL %718 <- -488
movq $-488, %rax
##MoOp %718 <- %718,%-1
addq %rbp, %rax
##MToR %718 <- #718
movq (%rax), %rax
##Push %718
pushq %rax
##MovL %687 <- -240
movq $-240, %rax
##MoOp %687 <- %687,%-1
addq %rbp, %rax
##MToR %687 <- #687
movq (%rax), %rax
##Push %687
pushq %rax
##Call (#341668702)
call __LABEL90
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL98:
__LABEL101:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %472 <- %665
##MoMo %473 <- %472
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %473
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##JuCo %474
testq %rax, %rax
jnz __LABEL102
__LABEL103:
__LABEL104:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %475 <- %665
##MoMo %476 <- %475
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %476
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %91 <- %477
movq %rax, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##Jump 105
jmp __LABEL105
__LABEL105:
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %479 <- %662
movq %rax, %rbx
##MovL %480 <- 1
movq $1, %rax
##MoOp %481 <- %479,%480
addq %rbx, %rax
##MoMo %93 <- %481
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
##Jump 97
jmp __LABEL97
__LABEL102:
__LABEL106:
##MovL %478 <- 0
movq $0, %rax
##MoMo %462 <- %478
movq %rax, %rbx
##MovL %678 <- -168
movq $-168, %rax
##MoOp %678 <- %678,%-1
addq %rbp, %rax
##RToM #678 <- %462
movq %rbx, (%rax)
##Jump 105
jmp __LABEL105
__LABEL90:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %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), %rbx
##MovL %714 <- -456
movq $-456, %rax
##MoOp %714 <- %714,%-1
addq %rbp, %rax
##RToM #714 <- %398
movq %rbx, (%rax)
##MoMo %399 <- %-1
movq %rbp, %rbx
##MovL %400 <- 32
movq $32, %rax
##MoOp %401 <- %399,%400
addq %rbx, %rax
##MToR %402 <- #401
movq (%rax), %rbx
##MovL %714 <- -456
movq $-456, %rax
##MoOp %714 <- %714,%-1
addq %rbp, %rax
##MToR %714 <- #714
movq (%rax), %rax
##MoOp %403 <- %714,%402
cmpq %rax, %rbx
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), %rbx
##MovL %680 <- -184
movq $-184, %rax
##MoOp %680 <- %680,%-1
addq %rbp, %rax
##RToM #680 <- %407
movq %rbx, (%rax)
##MoMo %408 <- %-1
movq %rbp, %rbx
##MovL %409 <- 32
movq $32, %rax
##MoOp %410 <- %408,%409
addq %rbx, %rax
##MToR %411 <- #410
movq (%rax), %rbx
##MovL %715 <- -464
movq $-464, %rax
##MoOp %715 <- %715,%-1
addq %rbp, %rax
##RToM #715 <- %411
movq %rbx, (%rax)
##MoMo %412 <- %-1
movq %rbp, %rbx
##MovL %413 <- 24
movq $24, %rax
##MoOp %414 <- %412,%413
addq %rbx, %rax
##MToR %415 <- #414
movq (%rax), %rbx
##MovL %715 <- -464
movq $-464, %rax
##MoOp %715 <- %715,%-1
addq %rbp, %rax
##MToR %715 <- #715
movq (%rax), %rax
##MoOp %416 <- %715,%415
imulq $-1, %rbx
addq %rax, %rbx
##MovL %417 <- 2
movq $2, %rax
##MoOp %418 <- %416,%417
pushq %rax
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
movq %rax, %rbx
popq %rdx
popq %rax
##MovL %680 <- -184
movq $-184, %rax
##MoOp %680 <- %680,%-1
addq %rbp, %rax
##MToR %680 <- #680
movq (%rax), %rax
##MoOp %419 <- %680,%418
addq %rbx, %rax
##MoMo %420 <- %419
##MovL %666 <- -72
movq $-72, %rbx
##MoOp %666 <- %666,%-1
addq %rbp, %rbx
##RToM #666 <- %420
movq %rax, (%rbx)
##MoMo %421 <- %-1
movq %rbp, %rbx
##MovL %422 <- 16
movq $16, %rax
##MoOp %423 <- %421,%422
addq %rbx, %rax
##MToR %424 <- #423
movq (%rax), %rbx
##MovL %686 <- -232
movq $-232, %rax
##MoOp %686 <- %686,%-1
addq %rbp, %rax
##RToM #686 <- %424
movq %rbx, (%rax)
##MoMo %425 <- %-1
movq %rbp, %rbx
##MovL %426 <- 24
movq $24, %rax
##MoOp %427 <- %425,%426
addq %rbx, %rax
##MToR %428 <- #427
movq (%rax), %rax
##MoMo %429 <- %428
##MovL %666 <- -72
movq $-72, %rbx
##MoOp %666 <- %666,%-1
addq %rbp, %rbx
##MToR %666 <- #666
movq (%rbx), %rbx
##MoMo %430 <- %666
##MoMo %431 <- %430
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %431
pushq %rbx
##Push %429
pushq %rax
##MovL %686 <- -232
movq $-232, %rax
##MoOp %686 <- %686,%-1
addq %rbp, %rax
##MToR %686 <- #686
movq (%rax), %rax
##Push %686
pushq %rax
##Call (#341668702)
call __LABEL90
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MoMo %432 <- %-1
movq %rbp, %rbx
##MovL %433 <- 16
movq $16, %rax
##MoOp %434 <- %432,%433
addq %rbx, %rax
##MToR %435 <- #434
movq (%rax), %rbx
##MovL %681 <- -192
movq $-192, %rax
##MoOp %681 <- %681,%-1
addq %rbp, %rax
##RToM #681 <- %435
movq %rbx, (%rax)
##MovL %666 <- -72
movq $-72, %rbx
##MoOp %666 <- %666,%-1
addq %rbp, %rbx
##MToR %666 <- #666
movq (%rbx), %rbx
##MoMo %436 <- %666
##MovL %437 <- 1
movq $1, %rax
##MoOp %438 <- %436,%437
addq %rbx, %rax
##MoMo %439 <- %438
movq %rax, %rbx
##MovL %716 <- -472
movq $-472, %rax
##MoOp %716 <- %716,%-1
addq %rbp, %rax
##RToM #716 <- %439
movq %rbx, (%rax)
##MoMo %440 <- %-1
movq %rbp, %rbx
##MovL %441 <- 32
movq $32, %rax
##MoOp %442 <- %440,%441
addq %rbx, %rax
##MToR %443 <- #442
movq (%rax), %rax
##MoMo %444 <- %443
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %444
pushq %rax
##MovL %716 <- -472
movq $-472, %rax
##MoOp %716 <- %716,%-1
addq %rbp, %rax
##MToR %716 <- #716
movq (%rax), %rax
##Push %716
pushq %rax
##MovL %681 <- -192
movq $-192, %rax
##MoOp %681 <- %681,%-1
addq %rbp, %rax
##MToR %681 <- #681
movq (%rax), %rax
##Push %681
pushq %rax
##Call (#341668702)
call __LABEL90
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MoMo %445 <- %-1
movq %rbp, %rbx
##MovL %446 <- 16
movq $16, %rax
##MoOp %447 <- %445,%446
addq %rbx, %rax
##MToR %448 <- #447
movq (%rax), %rbx
##MovL %674 <- -136
movq $-136, %rax
##MoOp %674 <- %674,%-1
addq %rbp, %rax
##RToM #674 <- %448
movq %rbx, (%rax)
##MoMo %449 <- %-1
movq %rbp, %rbx
##MovL %450 <- 24
movq $24, %rax
##MoOp %451 <- %449,%450
addq %rbx, %rax
##MToR %452 <- #451
movq (%rax), %rax
##MoMo %453 <- %452
movq %rax, %rbx
##MovL %683 <- -208
movq $-208, %rax
##MoOp %683 <- %683,%-1
addq %rbp, %rax
##RToM #683 <- %453
movq %rbx, (%rax)
##MovL %666 <- -72
movq $-72, %rbx
##MoOp %666 <- %666,%-1
addq %rbp, %rbx
##MToR %666 <- #666
movq (%rbx), %rbx
##MoMo %454 <- %666
movq %rbx, %rax
##MoMo %455 <- %454
movq %rax, %rbx
##MovL %717 <- -480
movq $-480, %rax
##MoOp %717 <- %717,%-1
addq %rbp, %rax
##RToM #717 <- %455
movq %rbx, (%rax)
##MoMo %456 <- %-1
movq %rbp, %rbx
##MovL %457 <- 32
movq $32, %rax
##MoOp %458 <- %456,%457
addq %rbx, %rax
##MToR %459 <- #458
movq (%rax), %rax
##MoMo %460 <- %459
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %460
pushq %rax
##MovL %717 <- -480
movq $-480, %rax
##MoOp %717 <- %717,%-1
addq %rbp, %rax
##MToR %717 <- #717
movq (%rax), %rax
##Push %717
pushq %rax
##MovL %683 <- -208
movq $-208, %rax
##MoOp %683 <- %683,%-1
addq %rbp, %rax
##MToR %683 <- #683
movq (%rax), %rax
##Push %683
pushq %rax
##MovL %674 <- -136
movq $-136, %rax
##MoOp %674 <- %674,%-1
addq %rbp, %rax
##MToR %674 <- #674
movq (%rax), %rax
##Push %674
pushq %rax
##Call (#475828359)
call __LABEL60
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##Jump 93
jmp __LABEL93
__LABEL108:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %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), %rbx
##MovL %695 <- -304
movq $-304, %rax
##MoOp %695 <- %695,%-1
addq %rbp, %rax
##RToM #695 <- %522
movq %rbx, (%rax)
##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 %rax, %rbx
##MovL %695 <- -304
movq $-304, %rax
##MoOp %695 <- %695,%-1
addq %rbp, %rax
##MToR %695 <- #695
movq (%rax), %rax
##RToM #528 <- %695
movq %rax, (%rbx)
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL60:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %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
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##RToM #658 <- %173
movq %rax, (%rbx)
__LABEL61:
__LABEL62:
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %174 <- %658
##MovL %691 <- -272
movq $-272, %rax
##MoOp %691 <- %691,%-1
addq %rbp, %rax
##RToM #691 <- %174
movq %rbx, (%rax)
##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 %rax, %rbx
##MovL %691 <- -272
movq $-272, %rax
##MoOp %691 <- %691,%-1
addq %rbp, %rax
##MToR %691 <- #691
movq (%rax), %rax
##MoOp %181 <- %691,%180
cmpq %rax, %rbx
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, %rbx
##MovL %660 <- -24
movq $-24, %rax
##MoOp %660 <- %660,%-1
addq %rbp, %rax
##RToM #660 <- %207
movq %rbx, (%rax)
##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, %rbx
##MovL %659 <- -16
movq $-16, %rax
##MoOp %659 <- %659,%-1
addq %rbp, %rax
##RToM #659 <- %212
movq %rbx, (%rax)
##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
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##RToM #658 <- %173
movq %rax, (%rbx)
##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
addq %rax, %rbx
##MovL %703 <- -368
movq $-368, %rax
##MoOp %703 <- %703,%-1
addq %rbp, %rax
##RToM #703 <- %222
movq %rbx, (%rax)
##MoMo %223 <- %-1
movq %rbp, %rbx
##MovL %224 <- 32
movq $32, %rax
##MoOp %225 <- %223,%224
addq %rax, %rbx
##MovL %703 <- -368
movq $-368, %rax
##MoOp %703 <- %703,%-1
addq %rbp, %rax
##MToR %703 <- #703
movq (%rax), %rax
##RToM #225 <- %703
movq %rax, (%rbx)
__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), %rbx
##MovL %699 <- -336
movq $-336, %rax
##MoOp %699 <- %699,%-1
addq %rbp, %rax
##RToM #699 <- %229
movq %rbx, (%rax)
##MovL %660 <- -24
movq $-24, %rax
##MoOp %660 <- %660,%-1
addq %rbp, %rax
##MToR %660 <- #660
movq (%rax), %rax
##MoMo %230 <- %660
movq %rax, %rbx
##MovL %231 <- 1
movq $1, %rax
##MoOp %232 <- %230,%231
addq %rax, %rbx
##MovL %699 <- -336
movq $-336, %rax
##MoOp %699 <- %699,%-1
addq %rbp, %rax
##MToR %699 <- #699
movq (%rax), %rax
##MoOp %233 <- %699,%232
cmpq %rax, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rbx
##MovL %682 <- -200
movq $-200, %rax
##MoOp %682 <- %682,%-1
addq %rbp, %rax
##RToM #682 <- %233
movq %rbx, (%rax)
##MoMo %234 <- %-1
movq %rbp, %rbx
##MovL %235 <- 32
movq $32, %rax
##MoOp %236 <- %234,%235
addq %rbx, %rax
##MToR %237 <- #236
movq (%rax), %rbx
##MovL %700 <- -344
movq $-344, %rax
##MoOp %700 <- %700,%-1
addq %rbp, %rax
##RToM #700 <- %237
movq %rbx, (%rax)
##MovL %659 <- -16
movq $-16, %rax
##MoOp %659 <- %659,%-1
addq %rbp, %rax
##MToR %659 <- #659
movq (%rax), %rax
##MoMo %238 <- %659
movq %rax, %rbx
##MovL %239 <- 1
movq $1, %rax
##MoOp %240 <- %238,%239
addq %rax, %rbx
##MovL %700 <- -344
movq $-344, %rax
##MoOp %700 <- %700,%-1
addq %rbp, %rax
##MToR %700 <- #700
movq (%rax), %rax
##MoOp %241 <- %700,%240
cmpq %rax, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rbx
##MovL %682 <- -200
movq $-200, %rax
##MoOp %682 <- %682,%-1
addq %rbp, %rax
##MToR %682 <- #682
movq (%rax), %rax
##MoOp %242 <- %682,%241
andq %rbx, %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), %rbx
##MovL %708 <- -408
movq $-408, %rax
##MoOp %708 <- %708,%-1
addq %rbp, %rax
##RToM #708 <- %316
movq %rbx, (%rax)
##MovL %660 <- -24
movq $-24, %rax
##MoOp %660 <- %660,%-1
addq %rbp, %rax
##MToR %660 <- #660
movq (%rax), %rax
##MoMo %317 <- %660
movq %rax, %rbx
##MovL %318 <- 1
movq $1, %rax
##MoOp %319 <- %317,%318
addq %rax, %rbx
##MovL %708 <- -408
movq $-408, %rax
##MoOp %708 <- %708,%-1
addq %rbp, %rax
##MToR %708 <- #708
movq (%rax), %rax
##MoOp %320 <- %708,%319
cmpq %rax, %rbx
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), %rbx
##MovL %711 <- -432
movq $-432, %rax
##MoOp %711 <- %711,%-1
addq %rbp, %rax
##RToM #711 <- %357
movq %rbx, (%rax)
##MovL %659 <- -16
movq $-16, %rax
##MoOp %659 <- %659,%-1
addq %rbp, %rax
##MToR %659 <- #659
movq (%rax), %rax
##MoMo %358 <- %659
movq %rax, %rbx
##MovL %359 <- 1
movq $1, %rax
##MoOp %360 <- %358,%359
addq %rax, %rbx
##MovL %711 <- -432
movq $-432, %rax
##MoOp %711 <- %711,%-1
addq %rbp, %rax
##MToR %711 <- #711
movq (%rax), %rax
##MoOp %361 <- %711,%360
cmpq %rax, %rbx
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
##MovL %672 <- -120
movq $-120, %rax
##MoOp %672 <- %672,%-1
addq %rbp, %rax
##RToM #672 <- %365
movq %rbx, (%rax)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %366 <- %658
movq %rbx, %rax
##MoMo %367 <- %366
movq %rax, %rbx
##MovL %677 <- -160
movq $-160, %rax
##MoOp %677 <- %677,%-1
addq %rbp, %rax
##RToM #677 <- %367
movq %rbx, (%rax)
##MoMo %368 <- %-1
movq %rbp, %rbx
##MovL %369 <- 16
movq $16, %rax
##MoOp %370 <- %368,%369
addq %rbx, %rax
##MToR %371 <- #370
movq (%rax), %rbx
##MovL %372 <- 0
movq $0, %rax
##MoOp %373 <- %371,%372
addq %rbx, %rax
##MToR %374 <- #373
movq (%rax), %rax
##MoMo %375 <- %374
movq %rax, %rbx
##MovL %712 <- -440
movq $-440, %rax
##MoOp %712 <- %712,%-1
addq %rbp, %rax
##RToM #712 <- %375
movq %rbx, (%rax)
##MoMo %376 <- %-1
movq %rbp, %rbx
##MovL %377 <- 32
movq $32, %rax
##MoOp %378 <- %376,%377
addq %rbx, %rax
##MToR %379 <- #378
movq (%rax), %rax
##MoMo %380 <- %379
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %380
pushq %rax
##MovL %712 <- -440
movq $-440, %rax
##MoOp %712 <- %712,%-1
addq %rbp, %rax
##MToR %712 <- #712
movq (%rax), %rax
##Push %712
pushq %rax
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %382 <- %381
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %382
pushq %rax
##MovL %677 <- -160
movq $-160, %rax
##MoOp %677 <- %677,%-1
addq %rbp, %rax
##MToR %677 <- #677
movq (%rax), %rax
##Push %677
pushq %rax
##MovL %672 <- -120
movq $-120, %rax
##MoOp %672 <- %672,%-1
addq %rbp, %rax
##MToR %672 <- #672
movq (%rax), %rax
##Push %672
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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
addq %rax, %rbx
##MovL %713 <- -448
movq $-448, %rax
##MoOp %713 <- %713,%-1
addq %rbp, %rax
##RToM #713 <- %388
movq %rbx, (%rax)
##MoMo %389 <- %-1
movq %rbp, %rbx
##MovL %390 <- 32
movq $32, %rax
##MoOp %391 <- %389,%390
addq %rax, %rbx
##MovL %713 <- -448
movq $-448, %rax
##MoOp %713 <- %713,%-1
addq %rbp, %rax
##MToR %713 <- #713
movq (%rax), %rax
##RToM #391 <- %713
movq %rax, (%rbx)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %392 <- %658
##MovL %393 <- 1
movq $1, %rax
##MoOp %394 <- %392,%393
addq %rbx, %rax
##MoMo %173 <- %394
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##RToM #658 <- %173
movq %rax, (%rbx)
##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
##MovL %671 <- -112
movq $-112, %rax
##MoOp %671 <- %671,%-1
addq %rbp, %rax
##RToM #671 <- %324
movq %rbx, (%rax)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %325 <- %658
movq %rbx, %rax
##MoMo %326 <- %325
movq %rax, %rbx
##MovL %676 <- -152
movq $-152, %rax
##MoOp %676 <- %676,%-1
addq %rbp, %rax
##RToM #676 <- %326
movq %rbx, (%rax)
##MoMo %327 <- %-1
movq %rbp, %rbx
##MovL %328 <- 16
movq $16, %rax
##MoOp %329 <- %327,%328
addq %rbx, %rax
##MToR %330 <- #329
movq (%rax), %rbx
##MovL %331 <- 0
movq $0, %rax
##MoOp %332 <- %330,%331
addq %rbx, %rax
##MToR %333 <- #332
movq (%rax), %rax
##MoMo %334 <- %333
movq %rax, %rbx
##MovL %709 <- -416
movq $-416, %rax
##MoOp %709 <- %709,%-1
addq %rbp, %rax
##RToM #709 <- %334
movq %rbx, (%rax)
##MoMo %335 <- %-1
movq %rbp, %rbx
##MovL %336 <- 24
movq $24, %rax
##MoOp %337 <- %335,%336
addq %rbx, %rax
##MToR %338 <- #337
movq (%rax), %rax
##MoMo %339 <- %338
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %339
pushq %rax
##MovL %709 <- -416
movq $-416, %rax
##MoOp %709 <- %709,%-1
addq %rbp, %rax
##MToR %709 <- #709
movq (%rax), %rax
##Push %709
pushq %rax
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %341 <- %340
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %341
pushq %rax
##MovL %676 <- -152
movq $-152, %rax
##MoOp %676 <- %676,%-1
addq %rbp, %rax
##MToR %676 <- #676
movq (%rax), %rax
##Push %676
pushq %rax
##MovL %671 <- -112
movq $-112, %rax
##MoOp %671 <- %671,%-1
addq %rbp, %rax
##MToR %671 <- #671
movq (%rax), %rax
##Push %671
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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
addq %rax, %rbx
##MovL %710 <- -424
movq $-424, %rax
##MoOp %710 <- %710,%-1
addq %rbp, %rax
##RToM #710 <- %347
movq %rbx, (%rax)
##MoMo %348 <- %-1
movq %rbp, %rbx
##MovL %349 <- 24
movq $24, %rax
##MoOp %350 <- %348,%349
addq %rax, %rbx
##MovL %710 <- -424
movq $-424, %rax
##MoOp %710 <- %710,%-1
addq %rbp, %rax
##MToR %710 <- #710
movq (%rax), %rax
##RToM #350 <- %710
movq %rax, (%rbx)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %351 <- %658
##MovL %352 <- 1
movq $1, %rax
##MoOp %353 <- %351,%352
addq %rbx, %rax
##MoMo %173 <- %353
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##RToM #658 <- %173
movq %rax, (%rbx)
##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, %rbx
##MovL %704 <- -376
movq $-376, %rax
##MoOp %704 <- %704,%-1
addq %rbp, %rax
##RToM #704 <- %250
movq %rbx, (%rax)
##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 %rax ## prepare call
pushq %rbx ## prepare call
##Push %255
pushq %rax
##MovL %704 <- -376
movq $-376, %rax
##MoOp %704 <- %704,%-1
addq %rbp, %rax
##MToR %704 <- #704
movq (%rax), %rax
##Push %704
pushq %rax
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %257 <- %256
##MovL %670 <- -104
movq $-104, %rbx
##MoOp %670 <- %670,%-1
addq %rbp, %rbx
##RToM #670 <- %257
movq %rax, (%rbx)
##MoMo %258 <- %-1
movq %rbp, %rbx
##MovL %259 <- 16
movq $16, %rax
##MoOp %260 <- %258,%259
addq %rbx, %rax
##MToR %261 <- #260
movq (%rax), %rbx
##MovL %262 <- 0
movq $0, %rax
##MoOp %263 <- %261,%262
addq %rbx, %rax
##MToR %264 <- #263
movq (%rax), %rax
##MoMo %265 <- %264
movq %rax, %rbx
##MovL %705 <- -384
movq $-384, %rax
##MoOp %705 <- %705,%-1
addq %rbp, %rax
##RToM #705 <- %265
movq %rbx, (%rax)
##MoMo %266 <- %-1
movq %rbp, %rbx
##MovL %267 <- 32
movq $32, %rax
##MoOp %268 <- %266,%267
addq %rbx, %rax
##MToR %269 <- #268
movq (%rax), %rax
##MoMo %270 <- %269
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %270
pushq %rax
##MovL %705 <- -384
movq $-384, %rax
##MoOp %705 <- %705,%-1
addq %rbp, %rax
##MToR %705 <- #705
movq (%rax), %rax
##Push %705
pushq %rax
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %272 <- %271
movq %rax, %rbx
##MovL %679 <- -176
movq $-176, %rax
##MoOp %679 <- %679,%-1
addq %rbp, %rax
##RToM #679 <- %272
movq %rbx, (%rax)
##MovL %670 <- -104
movq $-104, %rbx
##MoOp %670 <- %670,%-1
addq %rbp, %rbx
##MToR %670 <- #670
movq (%rbx), %rbx
##MoMo %273 <- %670
##MovL %679 <- -176
movq $-176, %rax
##MoOp %679 <- %679,%-1
addq %rbp, %rax
##MToR %679 <- #679
movq (%rax), %rax
##MoMo %274 <- %679
##MoOp %275 <- %273,%274
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %275
testq %rax, %rax
jnz __LABEL73
__LABEL74:
__LABEL75:
##MoMo %276 <- %-1
movq %rbp, %rbx
##MovL %277 <- 16
movq $16, %rax
##MoOp %278 <- %276,%277
addq %rbx, %rax
##MToR %279 <- #278
movq (%rax), %rbx
##MovL %688 <- -248
movq $-248, %rax
##MoOp %688 <- %688,%-1
addq %rbp, %rax
##RToM #688 <- %279
movq %rbx, (%rax)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %280 <- %658
movq %rbx, %rax
##MoMo %281 <- %280
movq %rax, %rbx
##MovL %679 <- -176
movq $-176, %rax
##MoOp %679 <- %679,%-1
addq %rbp, %rax
##MToR %679 <- #679
movq (%rax), %rax
##MoMo %282 <- %679
##MoMo %283 <- %282
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %283
pushq %rax
##Push %281
pushq %rbx
##MovL %688 <- -248
movq $-248, %rax
##MoOp %688 <- %688,%-1
addq %rbp, %rax
##MToR %688 <- #688
movq (%rax), %rax
##Push %688
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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
addq %rax, %rbx
##MovL %706 <- -392
movq $-392, %rax
##MoOp %706 <- %706,%-1
addq %rbp, %rax
##RToM #706 <- %289
movq %rbx, (%rax)
##MoMo %290 <- %-1
movq %rbp, %rbx
##MovL %291 <- 32
movq $32, %rax
##MoOp %292 <- %290,%291
addq %rax, %rbx
##MovL %706 <- -392
movq $-392, %rax
##MoOp %706 <- %706,%-1
addq %rbp, %rax
##MToR %706 <- #706
movq (%rax), %rax
##RToM #292 <- %706
movq %rax, (%rbx)
##Jump 76
jmp __LABEL76
__LABEL76:
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %310 <- %658
##MovL %311 <- 1
movq $1, %rax
##MoOp %312 <- %310,%311
addq %rbx, %rax
##MoMo %173 <- %312
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##RToM #658 <- %173
movq %rax, (%rbx)
##Jump 68
jmp __LABEL68
__LABEL73:
__LABEL77:
##MoMo %293 <- %-1
movq %rbp, %rbx
##MovL %294 <- 16
movq $16, %rax
##MoOp %295 <- %293,%294
addq %rbx, %rax
##MToR %296 <- #295
movq (%rax), %rbx
##MovL %692 <- -280
movq $-280, %rax
##MoOp %692 <- %692,%-1
addq %rbp, %rax
##RToM #692 <- %296
movq %rbx, (%rax)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %297 <- %658
movq %rbx, %rax
##MoMo %298 <- %297
##MovL %670 <- -104
movq $-104, %rbx
##MoOp %670 <- %670,%-1
addq %rbp, %rbx
##MToR %670 <- #670
movq (%rbx), %rbx
##MoMo %299 <- %670
##MoMo %300 <- %299
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %300
pushq %rbx
##Push %298
pushq %rax
##MovL %692 <- -280
movq $-280, %rax
##MoOp %692 <- %692,%-1
addq %rbp, %rax
##MToR %692 <- #692
movq (%rax), %rax
##Push %692
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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
addq %rax, %rbx
##MovL %707 <- -400
movq $-400, %rax
##MoOp %707 <- %707,%-1
addq %rbp, %rax
##RToM #707 <- %306
movq %rbx, (%rax)
##MoMo %307 <- %-1
movq %rbp, %rbx
##MovL %308 <- 24
movq $24, %rax
##MoOp %309 <- %307,%308
addq %rax, %rbx
##MovL %707 <- -400
movq $-400, %rax
##MoOp %707 <- %707,%-1
addq %rbp, %rax
##MToR %707 <- #707
movq (%rax), %rax
##RToM #309 <- %707
movq %rax, (%rbx)
##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, %rbx
##MovL %675 <- -144
movq $-144, %rax
##MoOp %675 <- %675,%-1
addq %rbp, %rax
##RToM #675 <- %189
movq %rbx, (%rax)
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %190 <- %658
movq %rbx, %rax
##MoMo %191 <- %190
movq %rax, %rbx
##MovL %685 <- -224
movq $-224, %rax
##MoOp %685 <- %685,%-1
addq %rbp, %rax
##RToM #685 <- %191
movq %rbx, (%rax)
##MoMo %192 <- %-1
movq %rbp, %rbx
##MovL %193 <- 16
movq $16, %rax
##MoOp %194 <- %192,%193
addq %rbx, %rax
##MToR %195 <- #194
movq (%rax), %rax
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %196 <- %658
##MoMo %197 <- %196
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %197
pushq %rbx
##Push %195
pushq %rax
##Call (#365051812)
call __LABEL19
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %199 <- %198
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %199
pushq %rax
##MovL %685 <- -224
movq $-224, %rax
##MoOp %685 <- %685,%-1
addq %rbp, %rax
##MToR %685 <- #685
movq (%rax), %rax
##Push %685
pushq %rax
##MovL %675 <- -144
movq $-144, %rax
##MoOp %675 <- %675,%-1
addq %rbp, %rax
##MToR %675 <- #675
movq (%rax), %rax
##Push %675
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##MToR %658 <- #658
movq (%rbx), %rbx
##MoMo %200 <- %658
##MovL %201 <- 1
movq $1, %rax
##MoOp %202 <- %200,%201
addq %rbx, %rax
##MoMo %173 <- %202
##MovL %658 <- -8
movq $-8, %rbx
##MoOp %658 <- %658,%-1
addq %rbp, %rbx
##RToM #658 <- %173
movq %rax, (%rbx)
##Jump 62
jmp __LABEL62
__LABEL49:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %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, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##MovL %158 <- 0
movq $0, %rax
##MoMo %93 <- %158
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
__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:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %160 <- %665
##MoMo %161 <- %160
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %161
pushq %rax
##Call (#199422015)
call __LABEL113
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %162 <- %665
##MoMo %163 <- %162
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %163
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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 %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %166 <- %665
##MoMo %167 <- %166
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %167
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %91 <- %168
movq %rax, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##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 $-536, %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, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##MovL %124 <- 0
movq $0, %rax
##MoMo %93 <- %124
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
__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, %rbx
##MovL %127 <- 24
movq $24, %rax
##MoOp %128 <- %126,%127
addq %rbx, %rax
##MToR %129 <- #128
movq (%rax), %rbx
##MovL %130 <- 1
movq $1, %rax
##MoOp %131 <- %129,%130
subq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %132 <- %662
##MoOp %133 <- %131,%132
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %133
testq %rax, %rax
jnz __LABEL41
__LABEL42:
##Jump 43
jmp __LABEL43
__LABEL43:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %141 <- %665
##MoMo %142 <- %141
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %142
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##JuCo %143
testq %rax, %rax
jnz __LABEL45
__LABEL46:
##Jump 47
jmp __LABEL47
__LABEL47:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %145 <- %665
##MoMo %146 <- %145
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %146
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %91 <- %147
movq %rax, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %148 <- %662
movq %rax, %rbx
##MovL %149 <- 1
movq $1, %rax
##MoOp %150 <- %148,%149
addq %rbx, %rax
##MoMo %93 <- %150
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
##Jump 36
jmp __LABEL36
__LABEL45:
__LABEL48:
##MovL %144 <- 64
movq $64, %rax
##Prin %144
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##SRet
movq %rbp, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 47
jmp __LABEL47
__LABEL41:
__LABEL44:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %134 <- %665
##MoMo %135 <- %134
movq %rax, %rbx
##MovL %702 <- -360
movq $-360, %rax
##MoOp %702 <- %702,%-1
addq %rbp, %rax
##RToM #702 <- %135
movq %rbx, (%rax)
##MoMo %136 <- %-1
movq %rbp, %rbx
##MovL %137 <- 32
movq $32, %rax
##MoOp %138 <- %136,%137
addq %rbx, %rax
##MToR %139 <- #138
movq (%rax), %rax
##MoMo %140 <- %139
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %140
pushq %rax
##MovL %702 <- -360
movq $-360, %rax
##MoOp %702 <- %702,%-1
addq %rbp, %rax
##MToR %702 <- #702
movq (%rax), %rax
##Push %702
pushq %rax
##Call (#1755579204)
call __LABEL107
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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 $-536, %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, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##MovL %92 <- 0
movq $0, %rax
##MoMo %93 <- %92
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
__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, %rbx
##MovL %96 <- 24
movq $24, %rax
##MoOp %97 <- %95,%96
addq %rbx, %rax
##MToR %98 <- #97
movq (%rax), %rbx
##MovL %99 <- 1
movq $1, %rax
##MoOp %100 <- %98,%99
subq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %101 <- %662
##MoOp %102 <- %100,%101
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %102
testq %rax, %rax
jnz __LABEL26
__LABEL27:
##Jump 28
jmp __LABEL28
__LABEL28:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %106 <- %665
##MoMo %107 <- %106
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %107
pushq %rax
##Call (#92626363)
call __LABEL112
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##JuCo %108
testq %rax, %rax
jnz __LABEL30
__LABEL31:
##Jump 32
jmp __LABEL32
__LABEL32:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %111 <- %665
##MoMo %112 <- %111
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %112
pushq %rax
##Call (#251070871)
call __LABEL110
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##GRet
movq %rdi, %rax
##MoMo %91 <- %113
movq %rax, %rbx
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##RToM #665 <- %91
movq %rbx, (%rax)
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##MToR %662 <- #662
movq (%rax), %rax
##MoMo %114 <- %662
movq %rax, %rbx
##MovL %115 <- 1
movq $1, %rax
##MoOp %116 <- %114,%115
addq %rbx, %rax
##MoMo %93 <- %116
movq %rax, %rbx
##MovL %662 <- -40
movq $-40, %rax
##MoOp %662 <- %662,%-1
addq %rbp, %rax
##RToM #662 <- %93
movq %rbx, (%rax)
##Jump 21
jmp __LABEL21
__LABEL30:
__LABEL33:
##MovL %109 <- 64
movq $64, %rax
##Prin %109
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##MovL %110 <- 0
movq $0, %rax
##SRet
movq %rax, %rdi
movq %rbp, %rsp
popq %rbp
retq
##Jump 32
jmp __LABEL32
__LABEL26:
__LABEL29:
##MovL %665 <- -64
movq $-64, %rax
##MoOp %665 <- %665,%-1
addq %rbp, %rax
##MToR %665 <- #665
movq (%rax), %rax
##MoMo %103 <- %665
##MoMo %104 <- %103
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %104
pushq %rax
##Call (#1758956387)
call __LABEL111
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##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 $-536, %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
##MovL %664 <- -56
movq $-56, %rbx
##MoOp %664 <- %664,%-1
addq %rbp, %rbx
##RToM #664 <- %40
movq %rax, (%rbx)
__LABEL8:
__LABEL9:
##MovL %41 <- 0
movq $0, %rax
##MovL %664 <- -56
movq $-56, %rbx
##MoOp %664 <- %664,%-1
addq %rbp, %rbx
##MToR %664 <- #664
movq (%rbx), %rbx
##MoMo %42 <- %664
##MoOp %43 <- %41,%42
cmpq %rax, %rbx
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 %rbx ## prepare malloc
movq $24, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rax
popq %rbx
##MoMo %45 <- %44
movq %rax, %rbx
##MovL %668 <- -88
movq $-88, %rax
##MoOp %668 <- %668,%-1
addq %rbp, %rax
##RToM #668 <- %45
movq %rbx, (%rax)
##MovL %668 <- -88
movq $-88, %rax
##MoOp %668 <- %668,%-1
addq %rbp, %rax
##MToR %668 <- #668
movq (%rax), %rax
##MoMo %46 <- %668
##MoMo %47 <- %46
##MovL %48 <- 0
movq $0, %rbx
##MoMo %49 <- %48
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %49
pushq %rbx
##Push %47
pushq %rax
##Call (#1755579204)
call __LABEL107
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %664 <- -56
movq $-56, %rbx
##MoOp %664 <- %664,%-1
addq %rbp, %rbx
##MToR %664 <- #664
movq (%rbx), %rbx
##MoMo %50 <- %664
##MovL %701 <- -352
movq $-352, %rax
##MoOp %701 <- %701,%-1
addq %rbp, %rax
##RToM #701 <- %50
movq %rbx, (%rax)
##MoMo %51 <- %-1
movq %rbp, %rbx
##MovL %52 <- 24
movq $24, %rax
##MoOp %53 <- %51,%52
addq %rbx, %rax
##MToR %54 <- #53
movq (%rax), %rbx
##MovL %701 <- -352
movq $-352, %rax
##MoOp %701 <- %701,%-1
addq %rbp, %rax
##MToR %701 <- #701
movq (%rax), %rax
##MoOp %55 <- %701,%54
cmpq %rax, %rbx
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %55
testq %rax, %rax
jnz __LABEL14
__LABEL15:
__LABEL16:
##MovL %668 <- -88
movq $-88, %rax
##MoOp %668 <- %668,%-1
addq %rbp, %rax
##MToR %668 <- #668
movq (%rax), %rax
##MoMo %56 <- %668
##MoMo %57 <- %56
##MovL %58 <- 1
movq $1, %rbx
##MoMo %59 <- %58
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %59
pushq %rbx
##Push %57
pushq %rax
##Call (#7967052)
call __LABEL108
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##Jump 17
jmp __LABEL17
__LABEL17:
##MovL %668 <- -88
movq $-88, %rax
##MoOp %668 <- %668,%-1
addq %rbp, %rax
##MToR %668 <- #668
movq (%rax), %rax
##MoMo %74 <- %668
movq %rax, %rbx
##MovL %690 <- -264
movq $-264, %rax
##MoOp %690 <- %690,%-1
addq %rbp, %rax
##RToM #690 <- %74
movq %rbx, (%rax)
##MoMo %75 <- %-1
movq %rbp, %rbx
##MovL %76 <- 16
movq $16, %rax
##MoOp %77 <- %75,%76
addq %rbx, %rax
##MToR %78 <- #77
movq (%rax), %rbx
##MovL %79 <- 8
movq $8, %rax
##MoOp %80 <- %78,%79
addq %rax, %rbx
##MovL %690 <- -264
movq $-264, %rax
##MoOp %690 <- %690,%-1
addq %rbp, %rax
##MToR %690 <- #690
movq (%rax), %rax
##RToM #80 <- %690
movq %rax, (%rbx)
##MovL %664 <- -56
movq $-56, %rbx
##MoOp %664 <- %664,%-1
addq %rbp, %rbx
##MToR %664 <- #664
movq (%rbx), %rbx
##MoMo %81 <- %664
##MovL %82 <- 1
movq $1, %rax
##MoOp %83 <- %81,%82
imulq $-1, %rax
addq %rbx, %rax
##MoMo %40 <- %83
##MovL %664 <- -56
movq $-56, %rbx
##MoOp %664 <- %664,%-1
addq %rbp, %rbx
##RToM #664 <- %40
movq %rax, (%rbx)
##Jump 9
jmp __LABEL9
__LABEL14:
__LABEL18:
##MovL %668 <- -88
movq $-88, %rax
##MoOp %668 <- %668,%-1
addq %rbp, %rax
##MToR %668 <- #668
movq (%rax), %rax
##MoMo %60 <- %668
##MoMo %61 <- %60
movq %rax, %rbx
##MovL %689 <- -256
movq $-256, %rax
##MoOp %689 <- %689,%-1
addq %rbp, %rax
##RToM #689 <- %61
movq %rbx, (%rax)
##MoMo %62 <- %-1
movq %rbp, %rbx
##MovL %63 <- 16
movq $16, %rax
##MoOp %64 <- %62,%63
addq %rbx, %rax
##MToR %65 <- #64
movq (%rax), %rbx
##MovL %66 <- 8
movq $8, %rax
##MoOp %67 <- %65,%66
addq %rbx, %rax
##MToR %68 <- #67
movq (%rax), %rax
##MoMo %69 <- %68
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %69
pushq %rax
##MovL %689 <- -256
movq $-256, %rax
##MoOp %689 <- %689,%-1
addq %rbp, %rax
##MToR %689 <- #689
movq (%rax), %rax
##Push %689
pushq %rax
##Call (#1570585491)
call __LABEL109
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %668 <- -88
movq $-88, %rax
##MoOp %668 <- %668,%-1
addq %rbp, %rax
##MToR %668 <- #668
movq (%rax), %rax
##MoMo %70 <- %668
##MoMo %71 <- %70
##MovL %72 <- 0
movq $0, %rbx
##MoMo %73 <- %72
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %73
pushq %rbx
##Push %71
pushq %rax
##Call (#7967052)
call __LABEL108
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##Jump 17
jmp __LABEL17
__LABEL0:
pushq %rbp # Save old EBP
movq %rsp, %rbp # Save old ESP
addq $-536, %rsp
##MovL %0 <- 50
movq $50, %rax
##MoMo %1 <- %0
movq %rax, %rbx
##MovL %667 <- -80
movq $-80, %rax
##MoOp %667 <- %667,%-1
addq %rbp, %rax
##RToM #667 <- %1
movq %rbx, (%rax)
##MoMa 2
pushq %rbx ## prepare malloc
movq $16, %rdi
callq malloc@PLT
testq %rax, %rax
jz fail_exit
movq %rax, %rax
popq %rbx
##MoMo %3 <- %2
movq %rax, %rbx
##MovL %669 <- -96
movq $-96, %rax
##MoOp %669 <- %669,%-1
addq %rbp, %rax
##RToM #669 <- %3
movq %rbx, (%rax)
##MovL %669 <- -96
movq $-96, %rax
##MoOp %669 <- %669,%-1
addq %rbp, %rax
##MToR %669 <- #669
movq (%rax), %rax
##MoMo %4 <- %669
##MoMo %5 <- %4
movq %rax, %rbx
##MovL %667 <- -80
movq $-80, %rax
##MoOp %667 <- %667,%-1
addq %rbp, %rax
##MToR %667 <- #667
movq (%rax), %rax
##MoMo %6 <- %667
##MoMo %7 <- %6
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %7
pushq %rax
##Push %5
pushq %rbx
##Call (#997205875)
call __LABEL7
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %667 <- -80
movq $-80, %rax
##MoOp %667 <- %667,%-1
addq %rbp, %rax
##MToR %667 <- #667
movq (%rax), %rax
##MoMo %8 <- %667
##MoMo %9 <- %8
movq %rax, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##RToM #661 <- %9
movq %rbx, (%rax)
__LABEL1:
__LABEL2:
##MovL %10 <- 0
movq $0, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %11 <- %661
##MoOp %12 <- %10,%11
cmpq %rbx, %rax
setle %dil
xorb $1, %dil
movzbq %dil, %rax
##JuCo %12
testq %rax, %rax
jnz __LABEL3
__LABEL4:
##Jump 5
jmp __LABEL5
__LABEL5:
##MovL %669 <- -96
movq $-96, %rax
##MoOp %669 <- %669,%-1
addq %rbp, %rax
##MToR %669 <- #669
movq (%rax), %rax
##MoMo %28 <- %669
##MoMo %29 <- %28
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %29
pushq %rax
##Call (#1743355921)
call __LABEL49
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %30 <- 10
movq $10, %rax
##Prin %30
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
##MovL %669 <- -96
movq $-96, %rax
##MoOp %669 <- %669,%-1
addq %rbp, %rax
##MToR %669 <- #669
movq (%rax), %rax
##MoMo %31 <- %669
##MoMo %32 <- %31
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %32
pushq %rax
##Call (#1526056698)
call __LABEL95
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %669 <- -96
movq $-96, %rax
##MoOp %669 <- %669,%-1
addq %rbp, %rax
##MToR %669 <- #669
movq (%rax), %rax
##MoMo %33 <- %669
##MoMo %34 <- %33
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %34
pushq %rax
##Call (#1743355921)
call __LABEL49
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %35 <- 10
movq $10, %rax
##Prin %35
pushq %rax ## prepare print call
pushq %rbx ## prepare print call
movq %rax, %rdi ## print
callq putchar@PLT
popq %rbx
popq %rax
movq %rbp, %rsp # Restore ESP
popq %rbp # Restore EBP
retq
__LABEL3:
__LABEL6:
##MovL %669 <- -96
movq $-96, %rax
##MoOp %669 <- %669,%-1
addq %rbp, %rax
##MToR %669 <- #669
movq (%rax), %rax
##MoMo %13 <- %669
##MoMo %14 <- %13
movq %rax, %rbx
##MovL %673 <- -128
movq $-128, %rax
##MoOp %673 <- %673,%-1
addq %rbp, %rax
##RToM #673 <- %14
movq %rbx, (%rax)
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %15 <- %661
movq %rax, %rbx
##MovL %16 <- 1
movq $1, %rax
##MoOp %17 <- %15,%16
subq %rax, %rbx
##MovL %18 <- 269
movq $269, %rax
##MoOp %19 <- %17,%18
imul %rax, %rbx
##MovL %667 <- -80
movq $-80, %rax
##MoOp %667 <- %667,%-1
addq %rbp, %rax
##MToR %667 <- #667
movq (%rax), %rax
##MoMo %20 <- %667
##MoOp %21 <- %19,%20
#%rax A:%rbx B:%rax
pushq %rdx
movq %rax, %rdi
movq %rbx, %rax
cqto
idiv %rdi
movq %rdx, %rax
popq %rdx
##MoMo %22 <- %21
movq %rax, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %23 <- %661
##MoMo %24 <- %23
##PuAl
pushq %rax ## prepare call
pushq %rbx ## prepare call
##Push %24
pushq %rax
##Push %22
pushq %rbx
##MovL %673 <- -128
movq $-128, %rax
##MoOp %673 <- %673,%-1
addq %rbp, %rax
##MToR %673 <- #673
movq (%rax), %rax
##Push %673
pushq %rax
##Call (#1441344930)
call __LABEL34
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PopD
add $8, %rsp
##PoAl
popq %rbx
popq %rax
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##MToR %661 <- #661
movq (%rax), %rax
##MoMo %25 <- %661
movq %rax, %rbx
##MovL %26 <- 1
movq $1, %rax
##MoOp %27 <- %25,%26
imulq $-1, %rax
addq %rbx, %rax
##MoMo %9 <- %27
movq %rax, %rbx
##MovL %661 <- -32
movq $-32, %rax
##MoOp %661 <- %661,%-1
addq %rbp, %rax
##RToM #661 <- %9
movq %rbx, (%rax)
##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