         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
		.Ltext0:
		RELEASECHAIN.6544:
		.LFB186:
		.LVL589:
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$68728, %rsp
				movq	%fs:40, %rax
				movq	%rax, 68712(%rsp)
				xorl	%eax, %eax
				leaq	68784(%rsp), %rax
				movq	%rax, 4672(%rsp)
    2       %CONSTINTEGER BIT = X'80000000'
				call	_imp_initialise@PLT
		.LVL590:
    3       %CONSTINTEGER MAX SCORE = +50000
    4       !!
    5       %EXTERNALROUTINESPEC PROMPT(%STRING (255) S)
    6
    7
    8       %CONSTINTEGER PLYWIDTH = 5
    9       %RECORDFORMAT SQF(%INTEGER P, ATT, DEF, ATTP)
   10       { %RECORDFORMAT ROWF(%RECORD %ARRAY R(1:8)(SQF))
   11       %RECORDFORMAT ROWF(%RECORD (SQF) %ARRAY R(1:8))
   12
   13       %OWN %RECORD(ROWF)%ARRAY BRD(1:8)
   14       %OWN %RECORD(ROWF)%ARRAY BRDOLD(1:8)
   15       %INTEGERARRAY VAL(-6:6)
   16
   17        !! PIECE = BRD(Y)_R(X)_P
   18
   19       %RECORDFORMAT LISTF(%RECORD(LISTF)%NAME L, %INTEGER SCORE %or %integer HOLD, %C
   20         %BYTEINTEGER FR, TO, %INTEGER SPEC, CHK)
   21             !! SCORE - CONTAINS SCORE FOR THE MOVE
   22             !! SPEC  - CONTAINS FLAGS FOR QUEENING, CASTLING
   23             !! CHK   - OPPOSING KING IS IN CHECK
   24
   25       !!%RECORDFORMAT QHF(%RECORD(LISTF)%NAME L,%INTEGER HOLD)
   26       {%RECORDSPEC QHF_L(LISTF)
   27       !!
   28       %RECORDFORMAT PTF(%INTEGERNAME P)
   29       %RECORD(PTF)%ARRAY PT(1:64)
   30       !!
   31       %CONSTINTEGER KING = 6;           ! NB: AND -6
   32       %CONSTINTEGER QUEEN = 5;          !    AND -5
   33       %CONSTINTEGER ROOK = 4;                !     AND -4
   34       %CONSTINTEGER PAWN = 1;           !    AND -1
   35       !!
   36
   37       %RECORD(LISTF)%NAME FREELIST
   38       %RECORD(LISTF{QHF}) MOVE
   39       %RECORD(LISTF)%ARRAY LISTA(0:4000)
   40       %RECORD (SQF) %NAME SQ
   41       !!
   42       %OWNINTEGERARRAY PINX(1:32) = 0(32)
   43       %OWNINTEGERARRAY PINY(1:32) = 0(32)
   44       %INTEGERARRAY PINDX, PINPY(1:32)
   45          %OWNINTEGER PIN PT, PX, PY
   46       !!
   47       %RECORDFORMAT SQIF(%RECORD(SQF)%NAME SQ)
   48       {%RECORDSPEC SQIF_SQ(SQF)
   49       %RECORD(SQIF)%ARRAY SQI(1:64)
   50       %CONSTINTEGERARRAY BIT VAL(1:6)=256,64,32,8,2,1
				movl	$256, 4312(%rsp)
				movl	$64, 4316(%rsp)
				movl	$32, 4320(%rsp)
				movl	$8, 4324(%rsp)
				movl	$2, 4328(%rsp)
				movl	$1, 4332(%rsp)
   51       !!
   52       %CONSTINTEGERARRAY PAWN 2D(9:72) = %C
				movl	$0, 4056(%rsp)
				movl	$0, 4060(%rsp)
				movl	$0, 4064(%rsp)
				movl	$0, 4068(%rsp)
				movl	$0, 4072(%rsp)
				movl	$0, 4076(%rsp)
				movl	$0, 4080(%rsp)
				movl	$0, 4084(%rsp)
				movl	$0, 4088(%rsp)
				movl	$0, 4092(%rsp)
				movl	$0, 4096(%rsp)
				movl	$0, 4100(%rsp)
				movl	$0, 4104(%rsp)
				movl	$5, 4108(%rsp)
				movl	$0, 4112(%rsp)
				movl	$0, 4116(%rsp)
				movl	$3, 4120(%rsp)
				movl	$3, 4124(%rsp)
				movl	$3, 4128(%rsp)
				movl	$20, 4132(%rsp)
				movl	$20, 4136(%rsp)
				movl	$3, 4140(%rsp)
				movl	$3, 4144(%rsp)
				movl	$3, 4148(%rsp)
				movl	$4, 4152(%rsp)
				movl	$6, 4156(%rsp)
				movl	$6, 4160(%rsp)
				movl	$50, 4164(%rsp)
				movl	$50, 4168(%rsp)
				movl	$6, 4172(%rsp)
				movl	$6, 4176(%rsp)
				movl	$4, 4180(%rsp)
				movl	$8, 4184(%rsp)
				movl	$9, 4188(%rsp)
				movl	$30, 4192(%rsp)
				movl	$55, 4196(%rsp)
				movl	$55, 4200(%rsp)
				movl	$30, 4204(%rsp)
				movl	$9, 4208(%rsp)
				movl	$8, 4212(%rsp)
				movl	$10, 4216(%rsp)
				movl	$10, 4220(%rsp)
				movl	$35, 4224(%rsp)
				movl	$60, 4228(%rsp)
				movl	$60, 4232(%rsp)
				movl	$35, 4236(%rsp)
				movl	$10, 4240(%rsp)
				movl	$10, 4244(%rsp)
				movl	$100, 4248(%rsp)
				movl	$100, 4252(%rsp)
				movl	$100, 4256(%rsp)
				movl	$100, 4260(%rsp)
				movl	$100, 4264(%rsp)
				movl	$100, 4268(%rsp)
				movl	$100, 4272(%rsp)
				movl	$100, 4276(%rsp)
				movl	$500, 4280(%rsp)
				movl	$500, 4284(%rsp)
				movl	$500, 4288(%rsp)
				movl	$500, 4292(%rsp)
				movl	$500, 4296(%rsp)
				movl	$500, 4300(%rsp)
				movl	$500, 4304(%rsp)
				movl	$500, 4308(%rsp)
   53          0, 0, 0, 0, 0, 0, 0, 0,
   54          0, 0, 0, 0, 0, 5, 0, 0,
   55          3, 3, 3, 20, 20, 3, 3, 3,
   56          4, 6, 6, 50, 50, 6, 6, 4,
   57          8, 9, 30, 55, 55, 30, 9, 8,
   58          10, 10, 35, 60, 60, 35, 10, 10,
   59          100(8),
   60          500(8)
   61       !!
   62       %CONSTBYTEINTEGERARRAY POSX(1:12) = %C
				movb	$2, 4656(%rsp)
				movb	$3, 4657(%rsp)
				movb	$6, 4658(%rsp)
				movb	$7, 4659(%rsp)
				movb	$58, 4660(%rsp)
				movb	$59, 4661(%rsp)
				movb	$62, 4662(%rsp)
				movb	$63, 4663(%rsp)
				movb	$1, 4664(%rsp)
				movb	$8, 4665(%rsp)
				movb	$57, 4666(%rsp)
				movb	$64, 4667(%rsp)
   63          2, 3, 6, 7, 58, 59, 62, 63, 1, 8, 57, 64
   64       %CONSTINTEGERARRAY POSP(1:12) = %C
				movl	$-2, 4008(%rsp)
				movl	$-3, 4012(%rsp)
				movl	$-3, 4016(%rsp)
				movl	$-2, 4020(%rsp)
				movl	$2, 4024(%rsp)
				movl	$3, 4028(%rsp)
				movl	$3, 4032(%rsp)
				movl	$2, 4036(%rsp)
				movl	$-4, 4040(%rsp)
				movl	$-4, 4044(%rsp)
				movl	$4, 4048(%rsp)
				movl	$4, 4052(%rsp)
   65          -2, -3, -3, -2, 2, 3, 3, 2, -4, -4, 4, 4
   66       %CONSTINTEGERARRAY POSPP(1:12) = %C
				movl	$-7, 3960(%rsp)
				movl	$-7, 3964(%rsp)
				movl	$-7, 3968(%rsp)
				movl	$-7, 3972(%rsp)
				movl	$7, 3976(%rsp)
				movl	$7, 3980(%rsp)
				movl	$7, 3984(%rsp)
				movl	$7, 3988(%rsp)
				movl	$-10, 3992(%rsp)
				movl	$-10, 3996(%rsp)
				movl	$10, 4000(%rsp)
				movl	$10, 4004(%rsp)
   67          -7(4), 7(4), -10(2), 10(2)
   68       !!
   69       %CONSTINTEGERARRAY NOLEG MOVE(-1:1) = -24000, 0, 24000
				movl	$-24000, 4644(%rsp)
				movl	$0, 4648(%rsp)
				movl	$24000, 4652(%rsp)
		.LVL591:
				leaq	4704(%rsp), %rax
				leaq	68704(%rsp), %rdx
		.LVL592:
		.L376:
		.LBB634:
   70       !!
   71       %OWNBYTEINTEGERARRAY KMOVE(-1:1) = 0(3)
   72       %OWNINTEGERARRAY KCAS(-1:1) = 0(3)
   73       !!
   74       %RECORD (LISTF)LM
   75       %RECORD (LISTF{QHF})MMOVE
   76       !!
   77
   78
   79       %INTEGER I, X, Y, PLAY
   80       %OWNLONGREAL TIME, TIME2, TIMTT = 15
   81       %OWNINTEGER NO = 1, SCOREA, XDEPTH, PDEPTH, MON, JUST ONE PLY
   82       %OWNINTEGER CHK, LAST CHK, PIN REMOVE
   83       !!
   84       %EXTERNALLONGREALFNSPEC CPU TIME
   85       !!
   86       %INTEGERFNSPEC N PLY(%INTEGER WHICH, DEPTH, %RECORD(LISTF)%NAME CHAIN)
   87       %INTEGERFNSPEC SORT AND PRUNE(%RECORD(LISTF)%NAME LIST, %C
   88          %INTEGER WIDTH, WHICH)
   89       %INTEGERFNSPEC SCORE(%INTEGER WHICH, %RECORD (LISTF)%NAME L)
   90       %INTEGERFNSPEC MOVES(%INTEGER WHICH, SCRQ)
   91       %INTEGERFNSPEC ONEPLY(%INTEGER WHICH, WIDTH)
   92       %INTEGERFNSPEC CHANGE BOARD(%RECORD(LISTF{QHF})%NAME B)
   93       %ROUTINESPEC RESTORE BOARD(%RECORD(LISTF{QHF})%NAME B)
   94       %ROUTINESPEC BURP(%RECORD (LISTF{QHF}) %NAME X, %INTEGER W)
   95       %ROUTINESPEC TELL(%RECORD (LISTF)%NAME MOVE, %INTEGER WHICH)
   96       %ROUTINESPEC PRINT BOARD
   97       %ROUTINESPEC PRINTMOVE(%RECORD (LISTF)%NAME LIST)
   98       %INTEGERFNSPEC CHECK YOUR MOVE(%RECORD (LISTF)%NAME LIST)
   99       %ROUTINESPEC YOUR MOVE
  100
  101       !****  INITIALISATION ETC
  102
  103       %CYCLE I = 0, 1, 4000-1
  104          LISTA(I)_L == LISTA(I+1)
				movq	%rax, -16(%rax)
		.LDL21:
				addq	$16, %rax
  105       %REPEAT
  106       FREELIST == LISTA(0)
				leaq	4688(%rsp), %rax
				movq	%rax, 3952(%rsp)
		.LVL593:
		.LBB635:
		.LBB636:
				movl	$1, _imp_InStream(%rip)
				movq	296+_imp_infile(%rip), %rax
				movq	%rax, _imp_InFile(%rip)
				leaq	__PRETTY_FUNCTION__.5987(%rip), %rdi
				call	check_instream@PLT
		.LVL594:
				leaq	4592(%rsp), %rbp
				leaq	4644(%rsp), %rbx
		.LVL595:
		.L378:
		.LBE636:
		.LBE635:
  107       !!
  108       SELECTINPUT(1)
				cmpq	%rdx, %rax
				jne	.L376
		.L377:
		.LBE634:
  109       %CYCLE I = -6, 1, 6
  110          READ(VAL(I))
				movq	%rbp, %rdi
				call	_imp_readint@PLT
		.LVL596:
		.LDL22:
				addq	$4, %rbp
  111       %REPEAT
  112       READ(PDEPTH)
				cmpq	%rbx, %rbp
				jne	.L378
		.L379:
				leaq	PDEPTH.6466(%rip), %rdi
				call	_imp_readint@PLT
		.LVL597:
  113       READ(MON);  READ(PLAY)
				leaq	MON.6467(%rip), %rdi
				call	_imp_readint@PLT
		.LVL598:
  114       I = 1
				leaq	36(%rsp), %rdi
				call	_imp_readint@PLT
		.LVL599:
				leaq	BRD.6404(%rip), %r12
				movl	$0, %ebx
		.LVL600:
		.L382:
				leal	8(%rbx), %r13d
				movq	%r12, %rbp
		.LVL601:
		.L380:
  115       %CYCLE Y = 1,1,8
  116          %CYCLE X = 1,1,8
  117             SQ == BRD(Y)_R(X)
  118             READ(SQ_P)
				movq	%rbp, %rdi
				call	_imp_readint@PLT
		.LVL602:
				cmpl	$64, %ebx
				jne	.L382
		.L381:
		.LVL607:
		.LBB637:
		.LBB638:
				movl	$0, _imp_InStream(%rip)
				movq	8+_imp_infile(%rip), %rax
		.LVL608:
				movq	%rax, _imp_InFile(%rip)
				leaq	__PRETTY_FUNCTION__.5987(%rip), %rdi
				call	check_instream@PLT
		.LVL609:
		.LBE638:
		.LBE637:
  119             SQI(I)_SQ == SQ
				movslq	%ebx, %rax
				movq	%rbp, 3440(%rsp,%rax,8)
				cmpl	%r13d, %ebx
				jne	.L380
		.LDL24:
		.LDL25:
		.LVL606:
				subq	$-128, %r12
  120             PT(I)_P == SQ_P; I = I+1
				movq	%rbp, 2928(%rsp,%rax,8)
		.LDL23:
		.LVL603:
				addq	$16, %rbp
		.LVL604:
				addl	$1, %ebx
		.LVL605:
  121          %REPEAT
  122       %REPEAT
  123       SELECT INPUT(0)
  124       MMOVE_HOLD = 0;  MOVE_HOLD = 0
  125       LM_SCORE = 0;  LM_CHK = 0
				movl	$0, 64(%rsp)
				movl	$0, 2904(%rsp)
  126       MMOVE_L == LM
				movl	$0, 2908(%rsp)
				leaq	2896(%rsp), %rax
				movq	%rax, 2912(%rsp)
		.LVL610:
		.LBB639:
  127       PRINTSTRING("Version 2.5
				movabsq	$2336927755350992214, %rax
				movabsq	$2330418503015018034, %rdx
				movq	%rax, 2641(%rsp)
				movq	%rdx, 2649(%rsp)
				movabsq	$5500376501893613892, %rax
				movabsq	$4993719335563370580, %rdx
				movq	%rax, 2657(%rsp)
				movq	%rdx, 2665(%rsp)
				movabsq	$2329855626446849056, %rax
				movabsq	$2314861475582067031, %rdx
				movq	%rax, 2673(%rsp)
				movq	%rdx, 2681(%rsp)
				movabsq	$2323048382452473888, %rax
				movabsq	$5989871347756584782, %rdx
				movq	%rax, 2689(%rsp)
				movq	%rdx, 2697(%rsp)
				movabsq	$3190893001224573524, %rax
				movabsq	$5931044035130045216, %rdx
				movq	%rax, 2705(%rsp)
				movq	%rdx, 2713(%rsp)
				movabsq	$4848483741531906117, %rax
				movl	$173296725, %edx
				movq	%rax, 2721(%rsp)
				movq	%rdx, 2729(%rsp)
				movl	$0, %ebp
		.LVL611:
				movb	$0, 2737(%rsp)
				movw	$0, 2738(%rsp)
				movl	$0, 2740(%rsp)
				leaq	2744(%rsp), %rdi
				movl	$19, %ecx
				movq	%rbp, %rax
				rep stosq
				movb	$92, 2640(%rsp)
				movq	2640(%rsp), %rax
				movq	2648(%rsp), %rdx
				movq	%rax, 80(%rsp)
				movq	%rdx, 88(%rsp)
				movdqa	2656(%rsp), %xmm2
				movaps	%xmm2, 96(%rsp)
				movdqa	2672(%rsp), %xmm3
				movaps	%xmm3, 112(%rsp)
				movdqa	2688(%rsp), %xmm2
				movaps	%xmm2, 128(%rsp)
				movdqa	2704(%rsp), %xmm3
				movaps	%xmm3, 144(%rsp)
				movdqa	2720(%rsp), %xmm2
				movaps	%xmm2, 160(%rsp)
				movdqa	2736(%rsp), %xmm3
				movaps	%xmm3, 176(%rsp)
				movdqa	2752(%rsp), %xmm2
				movaps	%xmm2, 192(%rsp)
				movdqa	2768(%rsp), %xmm3
				movaps	%xmm3, 208(%rsp)
				movdqa	2784(%rsp), %xmm2
				movaps	%xmm2, 224(%rsp)
				movq	2800(%rsp), %r13
		.LVL612:
				movq	2808(%rsp), %r14
				movq	%r13, 240(%rsp)
				movq	%r14, 248(%rsp)
				movq	2816(%rsp), %rax
				movq	2824(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
				movq	2832(%rsp), %rcx
				movq	2840(%rsp), %rbx
		.LVL613:
				movq	%rcx, 272(%rsp)
				movq	%rbx, 280(%rsp)
				movq	2848(%rsp), %rsi
				movq	2856(%rsp), %rdi
				movq	%rsi, 288(%rsp)
				movq	%rdi, 296(%rsp)
				movq	2864(%rsp), %r9
				movq	2872(%rsp), %r10
				movq	%r9, 304(%rsp)
				movq	%r10, 312(%rsp)
				movq	2880(%rsp), %r11
				movq	2888(%rsp), %r12
				movq	%r11, 320(%rsp)
				movq	%r12, 328(%rsp)
		.LVL614:
				movb	$92, 80(%rsp)
				movdqa	80(%rsp), %xmm3
				movaps	%xmm3, 848(%rsp)
				movdqa	2656(%rsp), %xmm4
				movaps	%xmm4, 864(%rsp)
				movdqa	2672(%rsp), %xmm5
				movaps	%xmm5, 880(%rsp)
				movdqa	2688(%rsp), %xmm6
				movaps	%xmm6, 896(%rsp)
				movdqa	2704(%rsp), %xmm7
				movaps	%xmm7, 912(%rsp)
				movdqa	2720(%rsp), %xmm2
				movaps	%xmm2, 928(%rsp)
				movdqa	2736(%rsp), %xmm3
				movaps	%xmm3, 944(%rsp)
				movdqa	2752(%rsp), %xmm4
				movaps	%xmm4, 960(%rsp)
				movdqa	2768(%rsp), %xmm5
				movaps	%xmm5, 976(%rsp)
				movdqa	2784(%rsp), %xmm6
				movaps	%xmm6, 992(%rsp)
				movq	%r13, 1008(%rsp)
				movq	%r14, 1016(%rsp)
				movq	%rax, 1024(%rsp)
				movq	%rdx, 1032(%rsp)
				movq	%rcx, 1040(%rsp)
				movq	%rbx, 1048(%rsp)
				movq	%rsi, 1056(%rsp)
				movq	%rdi, 1064(%rsp)
				movq	%r9, 1072(%rsp)
				movq	%r10, 1080(%rsp)
				movq	%r11, 1088(%rsp)
				movq	%r12, 1096(%rsp)
		.LBE639:
		.LBB640:
		.LBB641:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	328(%rsp)
				pushq	328(%rsp)
				call	_imp_printstring@PLT
		.LVL615:
		.LBE641:
		.LBE640:
		.LBB642:
  128 HOW DIFFICULT A GAME DO YOU WANT?
  129       2 = NORMAL STRENGTH, 3 = MORE DIFFICULT
  130 ")
  131       PROMPT("2-4?")
				movq	$1060384050, 2897(%rsp)
				movq	$0, 2905(%rsp)
				movb	$0, 2913(%rsp)
				movw	$0, 2914(%rsp)
				movl	$0, 2916(%rsp)
				leaq	2920(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbp, %rax
				rep stosq
				movb	$4, 2896(%rsp)
				movdqa	2896(%rsp), %xmm7
				movaps	%xmm7, 592(%rsp)
				movdqa	2912(%rsp), %xmm2
				movaps	%xmm2, 608(%rsp)
				movdqa	2928(%rsp), %xmm3
				movaps	%xmm3, 624(%rsp)
				movdqa	2944(%rsp), %xmm4
				movaps	%xmm4, 640(%rsp)
				movdqa	2960(%rsp), %xmm5
				movaps	%xmm5, 656(%rsp)
				movdqa	2976(%rsp), %xmm6
				movaps	%xmm6, 672(%rsp)
				movdqa	2992(%rsp), %xmm7
				movaps	%xmm7, 688(%rsp)
				movdqa	3008(%rsp), %xmm2
				movaps	%xmm2, 704(%rsp)
				movdqa	3024(%rsp), %xmm3
				movaps	%xmm3, 720(%rsp)
				movdqa	3040(%rsp), %xmm4
				movaps	%xmm4, 736(%rsp)
				movq	3056(%rsp), %r13
				movq	3064(%rsp), %r14
				movq	%r13, 752(%rsp)
				movq	%r14, 760(%rsp)
				movq	3072(%rsp), %rax
				movq	3080(%rsp), %rdx
				movq	%rax, 768(%rsp)
				movq	%rdx, 776(%rsp)
				movq	3088(%rsp), %rcx
				movq	3096(%rsp), %rbx
				movq	%rcx, 784(%rsp)
				movq	%rbx, 792(%rsp)
				movq	3104(%rsp), %rsi
				movq	3112(%rsp), %rdi
				movq	%rsi, 800(%rsp)
				movq	%rdi, 808(%rsp)
				movq	3120(%rsp), %r9
				movq	3128(%rsp), %r10
				movq	%r9, 816(%rsp)
				movq	%r10, 824(%rsp)
				movq	3136(%rsp), %r11
				movq	3144(%rsp), %r12
				movq	%r11, 832(%rsp)
				movq	%r12, 840(%rsp)
		.LVL616:
		.LBE642:
				addq	$256, %rsp
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				call	PROMPT@PLT
		.LVL617:
  132       READ(PDEPTH); SKIPSYMBOL
				addq	$256, %rsp
				leaq	PDEPTH.6466(%rip), %rdi
				call	_imp_readint@PLT
		.LVL618:
		.LBB643:
		.LBB644:
				call	_imp_skipsymbol@PLT
		.LVL619:
		.LBE644:
		.LBE643:
		.LBB645:
  133       PROMPT("Move?")
				movabsq	$272285200205, %rax
				movl	$0, %edx
				movq	%rax, 2641(%rsp)
				movq	%rdx, 2649(%rsp)
				movb	$0, 2657(%rsp)
				movw	$0, 2658(%rsp)
				movl	$0, 2660(%rsp)
				leaq	2664(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbp, %rax
				rep stosq
				movb	$5, 2640(%rsp)
				movdqa	2640(%rsp), %xmm5
				movaps	%xmm5, 592(%rsp)
				movdqa	2656(%rsp), %xmm6
				movaps	%xmm6, 608(%rsp)
				movdqa	2672(%rsp), %xmm7
				movaps	%xmm7, 624(%rsp)
				movdqa	2688(%rsp), %xmm2
				movaps	%xmm2, 640(%rsp)
				movdqa	2704(%rsp), %xmm3
				movaps	%xmm3, 656(%rsp)
				movdqa	2720(%rsp), %xmm4
				movaps	%xmm4, 672(%rsp)
				movdqa	2736(%rsp), %xmm5
				movaps	%xmm5, 688(%rsp)
				movdqa	2752(%rsp), %xmm6
				movaps	%xmm6, 704(%rsp)
				movdqa	2768(%rsp), %xmm7
				movaps	%xmm7, 720(%rsp)
				movdqa	2784(%rsp), %xmm2
				movaps	%xmm2, 736(%rsp)
				movq	2800(%rsp), %r13
				movq	2808(%rsp), %r14
				movq	%r13, 752(%rsp)
				movq	%r14, 760(%rsp)
				movq	2816(%rsp), %rax
				movq	2824(%rsp), %rdx
				movq	%rax, 768(%rsp)
				movq	%rdx, 776(%rsp)
				movq	2832(%rsp), %rcx
				movq	2840(%rsp), %rbx
				movq	%rcx, 784(%rsp)
				movq	%rbx, 792(%rsp)
				movq	2848(%rsp), %rsi
				movq	2856(%rsp), %rdi
				movq	%rsi, 800(%rsp)
				movq	%rdi, 808(%rsp)
				movq	2864(%rsp), %r9
				movq	2872(%rsp), %r10
				movq	%r9, 816(%rsp)
				movq	%r10, 824(%rsp)
				movq	2880(%rsp), %r11
				movq	2888(%rsp), %r12
				movq	%r11, 832(%rsp)
				movq	%r12, 840(%rsp)
		.LVL620:
		.LBE645:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				pushq	2888(%rsp)
				call	PROMPT@PLT
		.LVL621:
  134       PRINTBOARD
				addq	$256, %rsp
				call	PRINTBOARD.6502
		.LVL622:
  135       !!
  136       !!
  137       !! N B     WHITE PIECES ARE -VE, BLACK ARE +VE
  138       !!
  139       !**** MAIN LOOP
  140          TIME2 = CPUTIME
				call	CPUTIME@PLT
		.LVL623:
				movsd	%xmm0, TIME2.6461(%rip)
		.LBB646:
		.LBB647:
  141       %CYCLE
  142          %IF PLAY = 1 %START
				cmpl	$1, 36(%rsp)
				je	.L424
		.L385:
		.LBB724:
		.LBB718:
  143             MOVE_L == RECORD(N PLY(-1, 0, MOVE))
				leaq	64(%rsp), %rbx
				movq	(%rsp), %r10
				movq	%rbx, %rdx
				movl	$0, %esi
				movl	$-1, %edi
				call	NPLY.6477
		.LVL624:
				movslq	%eax, %rdi
		.LVL625:
				movq	%rdi, 64(%rsp)
  144             TELL(MOVE_L, -1)
				movl	$-1, %esi
				call	TELL.6500
		.LVL626:
  145             I =CHANGE BOARD(MOVE)
				movq	%rbx, %rdi
				call	CHANGEBOARD.6492
		.LVL627:
  146          %FINISHELSESTART
				jmp	.L386
		.L425:
		.LBB719:
		.LBB717:
  147             YOURMOVE
  148             BURP(MMOVE, -1)
				leaq	2912(%rsp), %rax
				movq	%rax, 24(%rsp)
				jmp	.L384
		.L424:
				movl	$-1, %esi
				movq	24(%rsp), %rdi
				call	BURP.6497
		.LVL688:
		.L386:
  149          %FINISH
  150          TIME = CPUTIME
				call	CPUTIME@PLT
		.LVL689:
				movsd	%xmm0, TIME.6460(%rip)
  151          MOVE_L == RECORD(N PLY(+1, 0, MMOVE_L))
				movq	(%rsp), %r10
				movq	2912(%rsp), %rdx
				movl	$0, %esi
				movl	$1, %edi
				call	NPLY.6477
		.LVL690:
				cltq
				movq	%rax, 64(%rsp)
  152          BURP(MOVE, +1)
				leaq	64(%rsp), %rdi
				movl	$1, %esi
				call	BURP.6497
		.LVL691:
  153          PRINTBOARD
				call	PRINTBOARD.6502
		.LVL692:
		.LBB720:
		.LBB721:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL693:
		.LBE721:
		.LBE720:
  154          SELECT OUTPUT(2); PRINTBOARD; SELECT OUTPUT(0)
  155          NO = NO+1
				call	PRINTBOARD.6502
		.LVL694:
		.LBB722:
		.LBB723:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL695:
		.LBE723:
		.LBE722:
				addl	$1, NO.6463(%rip)
		.L384:
  156       %REPEAT
  157
  158       !!
  159       %ROUTINE RELEASE CHAIN(%RECORD(LISTF)%NAME L)
		.LVL0:
				movq	%rdi, %rdx
				jmp	.L2
		.LVL1:
		.L4:
  160          {%RECORDSPEC L(LISTF)
  161          %RECORD(LISTF)%NAME L2
  162          L2 == L
  163          %WHILE ADDR(L_L) # 0 %CYCLE
  164             L == L_L;                   ! GO TO BOTTOM OF CHAIN
				movq	%rax, %rdx
		.LVL2:
		.L2:
				movq	(%rdx), %rax
				testq	%rax, %rax
				jne	.L4
		.L3:
  165          %REPEAT
  166          L_L == FREELIST
				movq	1056(%r10), %rax
				movq	%rax, (%rdx)
  167          FREELIST == RECORD(ADDR(L2))
				movq	%rdi, 1056(%r10)
  168       %END
  169       !!
				ret
		.LFE186:
		CHANGEBOARD.6492:
		.LFB196:
  170       %INTEGERFN N PLY(%INTEGER WHICH, DEPTH, %RECORD(LISTF)%NAME CHAIN)
		.LVL516:
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$2568, %rsp
				movl	%edi, %r14d
				movl	%edi, 28(%rsp)
				movq	%rdx, %rcx
				movq	%rdx, 40(%rsp)
				movq	%r10, %r15
				movq	%r10, 16(%rsp)
				movq	%fs:40, %rax
				movq	%rax, 2552(%rsp)
				xorl	%eax, %eax
  171          %INTEGER I, XWHICH, J, SWIDTH, CI, FLAG
  172          %RECORD(LISTF{QHF})%NAME BPT
  173         %RECORD(LISTF{QHF})%ARRAY B(1:40)
  174         %RECORD(LISTF)%NAME LIST, LISTX
  175
  176          %CONSTINTEGERARRAY XWIDTH(0:10) = 8, 8, 3(9)
				movl	$8, 64(%rsp)
				movl	$8, 68(%rsp)
				movl	$3, 72(%rsp)
				movl	$3, 76(%rsp)
				movl	$3, 80(%rsp)
				movl	$3, 84(%rsp)
				movl	$3, 88(%rsp)
				movl	$3, 92(%rsp)
				movl	$3, 96(%rsp)
				movl	$3, 100(%rsp)
				movl	$3, 104(%rsp)
  177          !!
  178          XDEPTH = DEPTH;                ! HOLD FOR GLOBAL USE
				movl	%esi, XDEPTH.6465(%rip)
  179          DEPTH = DEPTH+1
				leal	1(%rsi), %r12d
		.LVL517:
  180          SWIDTH = XWIDTH(DEPTH)
				movslq	%r12d, %rdx
		.LVL518:
  181          %IF DEPTH=PDEPTH %THEN SWIDTH=1
  182          LAST CHK = CHAIN_CHK
				cmpl	%r12d, PDEPTH.6466(%rip)
				movl	$1, %eax
				cmovne	64(%rsp,%rdx,4), %eax
				movl	%eax, %ebx
				movl	%eax, 8(%rsp)
		.L337:
		.LVL519:
				movl	12(%rcx), %eax
		.LVL520:
				movl	%eax, LASTCHK.6470(%rip)
		.LVL521:
		.LBB510:
		.LBB511:
  183          LIST == RECORD(ONE PLY(WHICH, SWIDTH))
  184          I = 1
  185          B(1)_L == RECORD(0)
				movq	$0, 1904(%rsp)
		.LVL524:
  186          FLAG = 0
				movl	$0, 12(%rsp)
  187          %WHILE ADDR(LIST)#0 %CYCLE
  188             BPT == B(I)
				testl	%eax, %eax
				je	.L336
				movslq	%eax, %r15
		.LVL525:
				testq	%r15, %r15
				je	.L363
				movq	%rax, %r14
		.LVL529:
		.L339:
				movq	%r14, %rbp
				salq	$4, %rbp
  189             BPT_L == LIST
				leaq	1872(%rsp), %rbx
		.LVL526:
				movq	%r15, (%rbx,%rbp)
  190             LIST == LIST_L
				movq	(%r15), %r15
		.LVL530:
  191             %IF MON#0 %START
				cmpl	$0, MON.6467(%rip)
				jne	.L365
		.L341:
  192                SELECT OUTPUT(2)
  193                SPACES(DEPTH*3)
				leal	(%r12,%r12,2), %eax
				movl	%eax, 24(%rsp)
				movl	$2, %r13d
  194                WRITE(DEPTH, 1);  SPACES(2);   PRINTMOVE(BPT_L)
				movl	$1, %esi
				movl	%r13d, %edi
				call	_imp_writeint@PLT
		.LVL541:
		.LBB523:
		.LBB524:
				movl	$2, %edi
				call	_imp_spaces@PLT
		.LVL542:
		.LBE524:
		.LBE523:
  195                %IF LAST CHK#0 %THEN PRINTSTRING(" FORCED")
				cmpl	$0, LASTCHK.6470(%rip)
				jne	.L367
		.L342:
		.LBB525:
		.LBB526:
				call	_imp_newline@PLT
		.LVL544:
		.LBE526:
		.LBE525:
		.LBB527:
		.LBB528:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL545:
				jmp	.L341
		.LVL546:
		.L367:
		.LBE528:
		.LBE527:
		.LBB529:
  196                NEWLINE
				movq	(%rbx,%rbp), %rdi
				call	PRINTMOVE.6504
		.LVL543:
				movabsq	$19216453862376992, %rax
				movl	$0, %edx
				movq	%rax, 1137(%rsp)
				movq	%rdx, 1145(%rsp)
				movb	$0, 1153(%rsp)
				movw	$0, 1154(%rsp)
				movl	$0, 1156(%rsp)
				leaq	1160(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$7, 1136(%rsp)
				movq	1136(%rsp), %rax
				movq	1144(%rsp), %rdx
				movq	%rax, 112(%rsp)
				movq	%rdx, 120(%rsp)
				movdqa	1152(%rsp), %xmm1
				movaps	%xmm1, 128(%rsp)
				movdqa	1168(%rsp), %xmm2
				movaps	%xmm2, 144(%rsp)
				movdqa	1184(%rsp), %xmm3
				movaps	%xmm3, 160(%rsp)
				movdqa	1200(%rsp), %xmm4
				movaps	%xmm4, 176(%rsp)
				movdqa	1216(%rsp), %xmm5
				movaps	%xmm5, 192(%rsp)
				movdqa	1232(%rsp), %xmm6
				movaps	%xmm6, 208(%rsp)
				movdqa	1248(%rsp), %xmm7
				movaps	%xmm7, 224(%rsp)
				movdqa	1264(%rsp), %xmm1
				movaps	%xmm1, 240(%rsp)
				movdqa	1280(%rsp), %xmm2
				movaps	%xmm2, 256(%rsp)
				movdqa	1296(%rsp), %xmm3
				movaps	%xmm3, 272(%rsp)
				movq	1312(%rsp), %rax
				movq	1320(%rsp), %rdx
				movq	%rax, 288(%rsp)
				movq	%rdx, 296(%rsp)
				movdqa	1328(%rsp), %xmm4
				movaps	%xmm4, 304(%rsp)
				movq	1344(%rsp), %rsi
				movq	1352(%rsp), %rdi
				movq	%rsi, 320(%rsp)
				movq	%rdi, 328(%rsp)
				movq	1360(%rsp), %r9
				movq	1368(%rsp), %r10
				movq	%r9, 336(%rsp)
				movq	%r10, 344(%rsp)
				movq	1376(%rsp), %r11
				movq	1384(%rsp), %r12
				movq	%r11, 352(%rsp)
				movq	%r12, 360(%rsp)
		.LVL547:
				movb	$7, 112(%rsp)
				movdqa	112(%rsp), %xmm5
				movaps	%xmm5, 1392(%rsp)
				movdqa	1152(%rsp), %xmm6
				movaps	%xmm6, 1408(%rsp)
				movdqa	1168(%rsp), %xmm7
				movaps	%xmm7, 1424(%rsp)
				movdqa	1184(%rsp), %xmm0
				movaps	%xmm0, 1440(%rsp)
				movdqa	1200(%rsp), %xmm1
				movaps	%xmm1, 1456(%rsp)
				movdqa	1216(%rsp), %xmm2
				movaps	%xmm2, 1472(%rsp)
				movdqa	1232(%rsp), %xmm3
				movaps	%xmm3, 1488(%rsp)
				movdqa	1248(%rsp), %xmm4
				movaps	%xmm4, 1504(%rsp)
				movdqa	1264(%rsp), %xmm5
				movaps	%xmm5, 1520(%rsp)
				movdqa	1280(%rsp), %xmm6
				movaps	%xmm6, 1536(%rsp)
				movdqa	1296(%rsp), %xmm7
				movaps	%xmm7, 1552(%rsp)
				movq	%rax, 1568(%rsp)
				movq	%rdx, 1576(%rsp)
				movdqa	1328(%rsp), %xmm0
				movaps	%xmm0, 1584(%rsp)
				movq	%rsi, 1600(%rsp)
				movq	%rdi, 1608(%rsp)
				movq	%r9, 1616(%rsp)
				movq	%r10, 1624(%rsp)
				movq	%r11, 1632(%rsp)
				movq	%r12, 1640(%rsp)
		.LBE529:
		.LBB530:
		.LBB531:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	%rdx
				pushq	%rax
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	360(%rsp)
				pushq	360(%rsp)
				call	_imp_printstring@PLT
		.LVL548:
				addq	$256, %rsp
				jmp	.L342
		.LVL549:
		.L366:
				leaq	(%rbx,%rbp), %rax
		.LBE531:
		.LBE530:
  197                SELECT OUTPUT(0)
  198             %FINISH
  199             I = I+1
				movl	%r14d, %r12d
		.LVL531:
  200             ! %EXIT %IF LIST == NULL;     ! ONLY ONE MOVE ALLOWED
  201 !            %EXIT %IF ADDR(LIST) = 0 %AND I = 2;   ! SEE ABOVE
  202             XWHICH = WHICH!!X'FFFFFFFE'
				movl	28(%rsp), %edi
				xorl	$-2, %edi
  203             %IF DEPTH < PDEPTH %START
				cmpl	%r13d, PDEPTH.6466(%rip)
				jg	.L366
		.L343:
		.LVL532:
		.L345:
  204
  205                CI = CHANGE BOARD(BPT)
				movq	%rax, 32(%rsp)
				movq	%rax, %rdi
				call	CHANGEBOARD.6492
		.LVL550:
  206                LISTX == RECORD(N PLY(XWHICH, DEPTH, BPT_L))
				movq	16(%rsp), %r10
				movq	32(%rsp), %rax
				movq	(%rax), %rdx
				movl	%r13d, %esi
				call	NPLY.6477
		.LVL551:
				movslq	%eax, %rcx
				movq	%rcx, 48(%rsp)
  207                LAST CHK = CHAIN_CHK;    ! REALLY FOR MONITORING
				movq	40(%rsp), %rsi
				movl	12(%rsi), %eax
				movl	%eax, LASTCHK.6470(%rip)
  208                RESTORE BOARD(BPT)
				movq	32(%rsp), %rdi
				call	RESTOREBOARD.6494
		.LVL552:
  209                %UNLESS ADDR(LISTX)=0 %START
				cmpq	$0, 48(%rsp)
				jne	.L368
		.L344:
  210                   BPT_L_SCORE = LISTX_SCORE;    ! GET BEST OPP PIECE SCORE
				movq	(%rbx,%rbp), %rax
				movq	48(%rsp), %rdi
				movl	8(%rdi), %edx
				movl	%edx, 8(%rax)
  211                   RELEASE CHAIN(LISTX); FLAG = FLAG+1
				movq	16(%rsp), %r10
				call	RELEASECHAIN.6544
		.LVL553:
  212                %FINISHELSESTART
				addl	$1, 12(%rsp)
		.LVL554:
				jmp	.L345
		.L347:
		.L349:
				movq	%r14, %r13
		.LVL555:
				movl	%r12d, %r14d
		.LVL556:
  213                   BPT_L_SCORE = NO LEG MOVE(WHICH)
				leal	1(%r14), %eax
				cltq
				addq	$436, %rax
				movq	%rax, 56(%rsp)
				movq	%r13, %r14
		.LVL527:
				movl	%r12d, %r13d
				jmp	.L339
		.LVL528:
		.L346:
				leaq	1(%r14), %rax
				movq	(%rbx,%rbp), %rax
				movq	16(%rsp), %rcx
				movq	56(%rsp), %rsi
				movl	4(%rcx,%rsi,4), %edx
				movl	%edx, 8(%rax)
				jmp	.L345
		.L368:
  214                   ! %IF BPT_L_CHK = 0 %THEN BPT_L_SCORE = 0; ! ????
  215                %FINISH
  216             %FINISH
  217          %IF I > SWIDTH %START
				cmpl	%r12d, 8(%rsp)
				jge	.L346
  218             %IF FLAG # 0 %OR I = 2 %THEN %EXIT;   ! MOVE FOUND
  219             %IF MON # 0 %START
				cmpl	$0, 12(%rsp)
				jne	.L349
				cmpl	$2, %r12d
				je	.L349
		.L348:
				cmpl	$0, MON.6467(%rip)
				je	.L346
		.LVL533:
		.LBB512:
		.LBB513:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL534:
		.LBE513:
		.LBE512:
		.LBB514:
  220                SELECT OUTPUT(2)
  221                PRINTSTRING("FORCED TO INCREASE PLYWIDTH
				movabsq	$6061920162713587526, %rax
				movabsq	$4703255834888052815, %rdx
				movq	%rax, 1137(%rsp)
				movq	%rdx, 1145(%rsp)
				movabsq	$5284790872039245139, %rax
				movl	$172512324, %edx
				movq	%rax, 1153(%rsp)
				movq	%rdx, 1161(%rsp)
				movb	$0, 1169(%rsp)
				movw	$0, 1170(%rsp)
				movl	$0, 1172(%rsp)
				leaq	1176(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$28, 1136(%rsp)
				movq	1136(%rsp), %rax
				movq	1144(%rsp), %rdx
				movq	%rax, 368(%rsp)
				movq	%rdx, 376(%rsp)
				movdqa	1152(%rsp), %xmm0
				movaps	%xmm0, 384(%rsp)
				movdqa	1168(%rsp), %xmm1
				movaps	%xmm1, 400(%rsp)
				movdqa	1184(%rsp), %xmm2
				movaps	%xmm2, 416(%rsp)
				movdqa	1200(%rsp), %xmm3
				movaps	%xmm3, 432(%rsp)
				movdqa	1216(%rsp), %xmm4
				movaps	%xmm4, 448(%rsp)
				movdqa	1232(%rsp), %xmm5
				movaps	%xmm5, 464(%rsp)
				movdqa	1248(%rsp), %xmm6
				movaps	%xmm6, 480(%rsp)
				movdqa	1264(%rsp), %xmm7
				movaps	%xmm7, 496(%rsp)
				movdqa	1280(%rsp), %xmm0
				movaps	%xmm0, 512(%rsp)
				movdqa	1296(%rsp), %xmm1
				movaps	%xmm1, 528(%rsp)
				movq	1312(%rsp), %rax
				movq	1320(%rsp), %rdx
				movq	%rax, 544(%rsp)
				movq	%rdx, 552(%rsp)
				movdqa	1328(%rsp), %xmm2
				movaps	%xmm2, 560(%rsp)
				movq	1344(%rsp), %rsi
				movq	1352(%rsp), %rdi
				movq	%rsi, 576(%rsp)
				movq	%rdi, 584(%rsp)
				movq	1360(%rsp), %r9
				movq	1368(%rsp), %r10
				movq	%r9, 592(%rsp)
				movq	%r10, 600(%rsp)
				movdqa	1376(%rsp), %xmm3
				movaps	%xmm3, 608(%rsp)
		.LVL535:
				movb	$28, 368(%rsp)
				movdqa	368(%rsp), %xmm4
				movaps	%xmm4, 1648(%rsp)
				movdqa	1152(%rsp), %xmm5
				movaps	%xmm5, 1664(%rsp)
				movdqa	1168(%rsp), %xmm6
				movaps	%xmm6, 1680(%rsp)
				movdqa	1184(%rsp), %xmm7
				movaps	%xmm7, 1696(%rsp)
				movdqa	1200(%rsp), %xmm0
				movaps	%xmm0, 1712(%rsp)
				movdqa	1216(%rsp), %xmm1
				movaps	%xmm1, 1728(%rsp)
				movdqa	1232(%rsp), %xmm2
				movaps	%xmm2, 1744(%rsp)
				movdqa	1248(%rsp), %xmm3
				movaps	%xmm3, 1760(%rsp)
				movdqa	1264(%rsp), %xmm4
				movaps	%xmm4, 1776(%rsp)
				movdqa	1280(%rsp), %xmm5
				movaps	%xmm5, 1792(%rsp)
				movdqa	1296(%rsp), %xmm6
				movaps	%xmm6, 1808(%rsp)
				movq	%rax, 1824(%rsp)
				movq	%rdx, 1832(%rsp)
				movdqa	1328(%rsp), %xmm7
				movaps	%xmm7, 1840(%rsp)
				movq	%rsi, 1856(%rsp)
				movq	%rdi, 1864(%rsp)
				movq	%r9, 1872(%rsp)
				movq	%r10, 1880(%rsp)
				movdqa	1376(%rsp), %xmm0
				movaps	%xmm0, 1888(%rsp)
		.LBE514:
		.LBB515:
		.LBB516:
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	%rdx
				pushq	%rax
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	616(%rsp)
				pushq	616(%rsp)
				call	_imp_printstring@PLT
		.LVL536:
		.LBE516:
		.LBE515:
		.LBB517:
		.LBB518:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				addq	$256, %rsp
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL537:
				jmp	.L346
		.LVL538:
		.L365:
		.LBE518:
		.LBE517:
		.LBB519:
		.LBB520:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL539:
		.LBE520:
		.LBE519:
		.LBB521:
		.LBB522:
				movl	24(%rsp), %edi
				call	_imp_spaces@PLT
		.LVL540:
		.LBE522:
		.LBE521:
  222 ")
  223                SELECT OUTPUT(0)
  224             %FINISH
  225                   !! IF NO LEGAL MOVE, SEARCH ALL MOVES ON THIS LEVEL
  226          %FINISH
  227          %REPEAT
  228          RELEASE CHAIN(LIST) %IF ADDR(LIST)#0
				testq	%r15, %r15
				je	.L340
		.LVL557:
  229          LIST == RECORD(0)
				movq	16(%rsp), %r10
				movq	%r15, %rdi
				call	RELEASECHAIN.6544
		.LVL558:
		.L340:
  230          %IF I = 1 %THEN %RESULT = 0;   ! NO LEGAL MOVE
				cmpl	$1, %r14d
				je	.L336
		.L350:
  231          %IF I = 2 %THEN %RESULT = ADDR(B(1)_L); ! SINGLE RESULT
				movl	$0, %eax
				cmpl	$2, %r14d
				je	.L336
		.L351:
		.LVL559:
		.LBB532:
  232          %CYCLE J = 1, 1, I-1
				movl	1904(%rsp), %eax
  233             B(J)_L_L == LIST
				movq	(%rax), %rdx
				movq	%rdi, (%rdx)
				addq	$16, %rax
  234             LIST == B(J)_L;             ! STACK THE RESULTS
				movl	%r14d, %eax
				subl	$2, %eax
				js	.L369
		.L352:
		.LVL560:
				movq	-16(%rax), %rdi
		.LVL562:
				leaq	880(%rsp), %rdi
				leaq	.LC4(%rip), %rsi
				call	_imp_c2istr@PLT
		.LVL568:
				movl	_imp_current_line(%rip), %ebx
				testl	%ebx, %ebx
				movl	$234, %eax
				cmove	%eax, %ebx
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L354
				leaq	1136(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL569:
		.L355:
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1128(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				pushq	1640(%rsp)
				movl	$0, %ecx
				movl	$1, %edx
				movl	$5, %esi
				movl	%ebx, %edi
				call	_signal_event@PLT
		.LVL570:
				addq	$512, %rsp
				jmp	.L352
		.L354:
		.LVL571:
		.LBB533:
				movabsq	$8603403804667503988, %rax
				movabsq	$3330820338876965679, %rdx
				movq	%rax, 1137(%rsp)
				movq	%rdx, 1145(%rsp)
				movq	$7368041, 1153(%rsp)
				movq	$0, 1161(%rsp)
				movb	$0, 1169(%rsp)
				movw	$0, 1170(%rsp)
				movl	$0, 1172(%rsp)
				leaq	1176(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$19, 1136(%rsp)
				movq	1136(%rsp), %rax
				movq	1144(%rsp), %rdx
				movq	%rax, 624(%rsp)
				movq	%rdx, 632(%rsp)
				movq	1152(%rsp), %rax
				movq	1160(%rsp), %rdx
				movq	%rax, 640(%rsp)
				movq	%rdx, 648(%rsp)
				movq	1168(%rsp), %rax
				movq	1176(%rsp), %rdx
				movq	%rax, 656(%rsp)
				movq	%rdx, 664(%rsp)
				movq	1184(%rsp), %rax
				movq	1192(%rsp), %rdx
				movq	%rax, 672(%rsp)
				movq	%rdx, 680(%rsp)
				movq	1200(%rsp), %rax
				movq	1208(%rsp), %rdx
				movq	%rax, 688(%rsp)
				movq	%rdx, 696(%rsp)
				movq	1216(%rsp), %rax
				movq	1224(%rsp), %rdx
				movq	%rax, 704(%rsp)
				movq	%rdx, 712(%rsp)
				movq	1232(%rsp), %rax
				movq	1240(%rsp), %rdx
				movq	%rax, 720(%rsp)
				movq	%rdx, 728(%rsp)
				movq	1248(%rsp), %rax
				movq	1256(%rsp), %rdx
				movq	%rax, 736(%rsp)
				movq	%rdx, 744(%rsp)
				movq	1264(%rsp), %rax
				movq	1272(%rsp), %rdx
				movq	%rax, 752(%rsp)
				movq	%rdx, 760(%rsp)
				movq	1280(%rsp), %rax
				movq	1288(%rsp), %rdx
				movq	%rax, 768(%rsp)
				movq	%rdx, 776(%rsp)
				movq	1296(%rsp), %rax
				movq	1304(%rsp), %rdx
				movq	%rax, 784(%rsp)
				movq	%rdx, 792(%rsp)
				movq	1312(%rsp), %rax
				movq	1320(%rsp), %rdx
				movq	%rax, 800(%rsp)
				movq	%rdx, 808(%rsp)
				movq	1328(%rsp), %rax
				movq	1336(%rsp), %rdx
				movq	%rax, 816(%rsp)
				movq	%rdx, 824(%rsp)
				movq	1344(%rsp), %rax
				movq	1352(%rsp), %rdx
				movq	%rax, 832(%rsp)
				movq	%rdx, 840(%rsp)
				movq	1360(%rsp), %rax
				movq	1368(%rsp), %rdx
				movq	%rax, 848(%rsp)
				movq	%rdx, 856(%rsp)
				movq	1376(%rsp), %rax
				movq	1384(%rsp), %rdx
				movq	%rax, 864(%rsp)
				movq	%rdx, 872(%rsp)
		.LVL572:
		.LBE533:
				movb	$19, 624(%rsp)
				movq	624(%rsp), %rax
				movq	632(%rsp), %rdx
				movq	%rax, 1136(%rsp)
				movq	%rdx, 1144(%rsp)
				jmp	.L355
		.LVL573:
		.L361:
  235          %REPEAT
  236          %RESULT = SORT AND PRUNE(LIST, 1, WHICH)
				movq	16(%rsp), %r10
				movl	28(%rsp), %edx
				movl	$1, %esi
				call	SORTANDPRUNE.6481
		.LVL564:
		.L336:
  237                                         ! GET THE 'BEST' RESULT
				cmpl	$1, %r14d
				je	.L361
				leaq	1904(%rsp), %rax
				leal	-2(%r13), %edx
				salq	$4, %rdx
				leaq	16(%rax,%rdx), %rcx
				movl	$0, %edi
		.LVL561:
		.L357:
				cmpq	%rcx, %rax
				jne	.L357
		.LVL563:
		.L356:
		.LBE532:
				movl	$0, %edi
				jmp	.L356
		.LVL574:
		.L370:
		.LBE534:
  238                                         ! NB RESULT == SORT ON PDP11
  239
  240       %END
				movq	2552(%rsp), %rbx
				xorq	%fs:40, %rbx
				jne	.L370
				addq	$2568, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
				ret
		.LVL565:
		.L363:
				movq	%r14, %r13
		.LVL566:
				movl	%r12d, %r14d
				jmp	.L340
		.LVL567:
		.L369:
		.LBB534:
				call	__stack_chk_fail@PLT
		.LVL575:
		.LFE187:
		BURP.6497:
		.LFB198:
  241
  242
  243       %INTEGERFN ONE PLY(%INTEGER WHICH, WIDTH)
  244          %RECORD(LISTF)%NAME LIST
  245
  246
  247          !! BRDOLD = BRD;                  ! HOLD IT (TO ERASE ATT&DEF
  248          LIST == RECORD(MOVES(WHICH, 0))
				movl	$0, %esi
				call	MOVES.6487
		.LVL522:
				movslq	%eax, %rdi
  249          LIST == RECORD (SORT AND PRUNE(LIST, WIDTH, WHICH))
				movq	%r15, %r10
				movl	%r14d, %edx
				movl	%ebx, %esi
				call	SORTANDPRUNE.6481
		.LVL523:
		.LBE511:
		.LBE510:
  250          %RESULT = ADDR(LIST)
  251       %END
  252
  253       !!
  254       %INTEGERFN EXVAL(%INTEGER OCC,SIDE1,SIDE2)
		.LVL123:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbx
				subq	$696, %rsp
				movq	%fs:40, %rcx
				movq	%rcx, 680(%rsp)
				xorl	%ecx, %ecx
  255          %INTEGER GAIN,LOSS,NEW
  256          %CONSTINTEGERARRAY PCE(1:31)=3,2(6),1(24)
				movl	$3, 32(%rsp)
				movl	$2, 36(%rsp)
				movl	$2, 40(%rsp)
				movl	$2, 44(%rsp)
				movl	$2, 48(%rsp)
				movl	$2, 52(%rsp)
				movl	$2, 56(%rsp)
				movl	$1, 60(%rsp)
				movl	$1, 64(%rsp)
				movl	$1, 68(%rsp)
				movl	$1, 72(%rsp)
				movl	$1, 76(%rsp)
				movl	$1, 80(%rsp)
				movl	$1, 84(%rsp)
				movl	$1, 88(%rsp)
				movl	$1, 92(%rsp)
				movl	$1, 96(%rsp)
				movl	$1, 100(%rsp)
				movl	$1, 104(%rsp)
				movl	$1, 108(%rsp)
				movl	$1, 112(%rsp)
				movl	$1, 116(%rsp)
				movl	$1, 120(%rsp)
				movl	$1, 124(%rsp)
				movl	$1, 128(%rsp)
				movl	$1, 132(%rsp)
				movl	$1, 136(%rsp)
				movl	$1, 140(%rsp)
				movl	$1, 144(%rsp)
				movl	$1, 148(%rsp)
				movl	$1, 152(%rsp)
  257          !! %CONSTINTEGERARRAY VAL(1:6)=100,300,350,500,900,5000
  258          %CONSTINTEGERARRAY BIT(1:6)=256,64,32,8,2,1
				movl	$256, (%rsp)
				movl	$64, 4(%rsp)
				movl	$32, 8(%rsp)
				movl	$8, 12(%rsp)
				movl	$2, 16(%rsp)
				movl	$1, 20(%rsp)
  259                      !* +VE RESULT => ATTACKING SIDE HAS GAINED SOMETHING
  260          GAIN=VAL(OCC)
				addl	$6, %edi
		.LVL124:
				movslq	%edi, %rdi
		.LVL125:
				movl	1696(%r10,%rdi,4), %ebx
  261          %IF SIDE1<0 %START
				testl	%esi, %esi
				js	.L72
		.L64:
				movl	%edx, %eax
  262             PRINTSTRING("PROGRAM ERROR, NEXT MOVE MAY BE STUPID!
				movabsq	$2327588404059918928, %rax
				movabsq	$5629548266242855493, %rdx
		.LVL128:
				movq	%rax, 417(%rsp)
				movq	%rdx, 425(%rsp)
				movabsq	$4996268029287618629, %rax
				movabsq	$2325337489310567712, %rdx
				movq	%rax, 433(%rsp)
				movq	%rdx, 441(%rsp)
				movabsq	$729939696281801811, %rax
				movl	$0, %edx
				movq	%rax, 449(%rsp)
				movq	%rdx, 457(%rsp)
				movb	$0, 465(%rsp)
				movw	$0, 466(%rsp)
				movl	$0, 468(%rsp)
				leaq	472(%rsp), %rdi
		.LVL129:
				movl	$25, %ecx
				movl	$0, %eax
				rep stosq
				movb	$40, 416(%rsp)
				movq	416(%rsp), %rax
				movq	424(%rsp), %rdx
				movq	%rax, 160(%rsp)
				movq	%rdx, 168(%rsp)
				movdqa	432(%rsp), %xmm0
				movaps	%xmm0, 176(%rsp)
				movdqa	448(%rsp), %xmm1
				movaps	%xmm1, 192(%rsp)
				movdqa	464(%rsp), %xmm2
				movaps	%xmm2, 208(%rsp)
				movdqa	480(%rsp), %xmm3
				movaps	%xmm3, 224(%rsp)
				movdqa	496(%rsp), %xmm4
				movaps	%xmm4, 240(%rsp)
				movdqa	512(%rsp), %xmm5
				movaps	%xmm5, 256(%rsp)
				movdqa	528(%rsp), %xmm6
				movaps	%xmm6, 272(%rsp)
				movdqa	544(%rsp), %xmm7
				movaps	%xmm7, 288(%rsp)
				movdqa	560(%rsp), %xmm0
				movaps	%xmm0, 304(%rsp)
				movdqa	576(%rsp), %xmm1
				movaps	%xmm1, 320(%rsp)
				movq	592(%rsp), %r13
				movq	600(%rsp), %r14
				movq	%r13, 336(%rsp)
				movq	%r14, 344(%rsp)
				movq	608(%rsp), %rsi
		.LVL130:
				movq	616(%rsp), %rdi
				movq	%rsi, 352(%rsp)
				movq	%rdi, 360(%rsp)
				movq	624(%rsp), %r9
				movq	632(%rsp), %r10
		.LVL131:
				movq	%r9, 368(%rsp)
				movq	%r10, 376(%rsp)
				movq	640(%rsp), %rcx
				movq	648(%rsp), %rbx
				movq	%rcx, 384(%rsp)
				movq	%rbx, 392(%rsp)
				movq	656(%rsp), %r11
				movq	664(%rsp), %r12
				movq	%r11, 400(%rsp)
				movq	%r12, 408(%rsp)
		.LVL132:
				movb	$40, 160(%rsp)
				movq	160(%rsp), %rax
				movq	168(%rsp), %rdx
				movq	%rax, 416(%rsp)
				movq	%rdx, 424(%rsp)
		.LBE312:
		.LBB313:
		.LBB314:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%r14
				pushq	%r13
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	664(%rsp)
				pushq	%rdx
				pushq	%rax
				call	_imp_printstring@PLT
		.LVL133:
		.LBE314:
		.LBE313:
  263 ")
  264             %RESULT = 0
				addq	$256, %rsp
				movl	$0, %ebx
				jmp	.L63
		.LVL134:
		.L73:
		.L66:
  265          %FINISH
  266          %IF SIDE2=0 %THENRESULT=GAIN
				testl	%edx, %edx
				jne	.L73
		.L69:
		.LVL126:
		.L63:
  267          NEW=SIDE1>>5
				movl	%esi, %edx
				shrl	$5, %edx
		.LVL135:
  268          %IF NEW#0 %THEN NEW=PCE(NEW) %ELSE NEW=PCE(SIDE1)+3
				testl	%edx, %edx
				je	.L67
  269          LOSS=EXVAL(NEW,SIDE2,SIDE1-BIT(NEW))
				subl	$1, %edx
		.LVL136:
				movslq	%edx, %rdx
				movl	32(%rsp,%rdx,4), %edi
		.LVL137:
		.L68:
				leal	-1(%rdi), %edx
				movslq	%edx, %rdx
				subl	(%rsp,%rdx,4), %esi
		.LVL138:
				movl	%esi, %edx
				movl	%eax, %esi
				call	EXVAL.6599
		.LVL139:
  270          %IF LOSS<0 %THENRESULT=GAIN %ELSERESULT=GAIN-LOSS
  271       %END
				movl	%ebx, %eax
				movq	680(%rsp), %rcx
				xorq	%fs:40, %rcx
				jne	.L74
				addq	$696, %rsp
				popq	%rbx
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.LVL127:
		.L72:
		.LBB312:
				call	__stack_chk_fail@PLT
		.LVL145:
		.LFE189:
		LINE.6970:
		.LFB201:
  272       !!
				jmp	.L63
		.LVL140:
		.L67:
				leal	-1(%rsi), %edx
		.LVL141:
				movslq	%edx, %rdx
				movl	32(%rsp,%rdx,4), %edi
		.LVL142:
				addl	$3, %edi
		.LVL143:
				jmp	.L68
		.LVL144:
		.L74:
  273       %ROUTINE CHECK PINS(%INTEGER WHICH)
				movl	%ebx, %edx
				subl	%eax, %edx
				testl	%eax, %eax
				cmovns	%edx, %ebx
  274          %INTEGER I, K, BV
  275          %RECORD(SQF)%NAME SQ
  276          !! THIS ROUTINE REMOVES THE 'ATTACKS' AND 'DEFENSES' OF ALL THE
  277          !! PINNED PIECES.
  278          !! THEY ARE NOT DELETED IF THE PINNED PIECE IS ATTACKING THE
  279          !! PINNING PIECE
  280          !!
  281          %RETURN %IF PIN PT=0
				movl	PINPT.6436(%rip), %ebx
		.LVL465:
				testl	%ebx, %ebx
				je	.L303
		.L295:
		.LBE466:
		.LBE465:
  282          %CYCLE I = 1, 1, PIN PT
  283             PX = PINX(I); PY = PINY(I)
				leaq	PINX.6432(%rip), %r13
				movl	0(%r13,%rbx), %eax
				movl	%eax, PX.6437(%rip)
  284             SQ == SQI(PINDX(I))_SQ;     ! ATTACKERS SQUARE
				movl	%ebx, %eax
				subl	$1, %eax
				js	.L321
		.LVL467:
		.L296:
				leal	-1(%rbx), %eax
				leaq	4(,%rax,4), %r14
				movl	$0, %ebx
		.LVL468:
				leaq	PINY.6433(%rip), %r12
				jmp	.L300
		.LVL469:
		.L280:
		.LBE467:
		.LBE470:
		.LBE472:
				leaq	1136(%rsp), %rdi
				leaq	.LC1(%rip), %rsi
				call	_imp_c2istr@PLT
		.LVL483:
				movl	_imp_current_line(%rip), %ebp
				testl	%ebp, %ebp
				movl	$284, %eax
				cmove	%eax, %ebp
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L298
				leaq	880(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL484:
		.L299:
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				pushq	1384(%rsp)
				movl	$0, %ecx
				movl	$1, %edx
				movl	$5, %esi
				movl	%ebp, %edi
				call	_signal_event@PLT
		.LVL485:
				addq	$512, %rsp
				jmp	.L296
		.L298:
		.LVL486:
		.LBB468:
				movabsq	$8603403804667503988, %rax
				movabsq	$3330820338876965679, %rdx
				movq	%rax, 881(%rsp)
				movq	%rdx, 889(%rsp)
				movq	$7368041, 897(%rsp)
				movq	$0, 905(%rsp)
				movb	$0, 913(%rsp)
				movw	$0, 914(%rsp)
				movl	$0, 916(%rsp)
				leaq	920(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
		.LVL487:
				movb	$19, 880(%rsp)
				movq	880(%rsp), %rax
				movq	888(%rsp), %rdx
				movq	%rax, 624(%rsp)
				movq	%rdx, 632(%rsp)
				movq	896(%rsp), %rax
				movq	904(%rsp), %rdx
				movq	%rax, 640(%rsp)
				movq	%rdx, 648(%rsp)
				movq	912(%rsp), %rax
				movq	920(%rsp), %rdx
				movq	%rax, 656(%rsp)
				movq	%rdx, 664(%rsp)
				movq	928(%rsp), %rax
				movq	936(%rsp), %rdx
				movq	%rax, 672(%rsp)
				movq	%rdx, 680(%rsp)
				movq	944(%rsp), %rax
				movq	952(%rsp), %rdx
				movq	%rax, 688(%rsp)
				movq	%rdx, 696(%rsp)
				movq	960(%rsp), %rax
				movq	968(%rsp), %rdx
				movq	%rax, 704(%rsp)
				movq	%rdx, 712(%rsp)
				movq	976(%rsp), %rax
				movq	984(%rsp), %rdx
				movq	%rax, 720(%rsp)
				movq	%rdx, 728(%rsp)
				movq	992(%rsp), %rax
				movq	1000(%rsp), %rdx
				movq	%rax, 736(%rsp)
				movq	%rdx, 744(%rsp)
				movq	1008(%rsp), %rax
				movq	1016(%rsp), %rdx
				movq	%rax, 752(%rsp)
				movq	%rdx, 760(%rsp)
				movq	1024(%rsp), %rax
				movq	1032(%rsp), %rdx
				movq	%rax, 768(%rsp)
				movq	%rdx, 776(%rsp)
				movq	1040(%rsp), %rax
				movq	1048(%rsp), %rdx
				movq	%rax, 784(%rsp)
				movq	%rdx, 792(%rsp)
				movq	1056(%rsp), %rax
				movq	1064(%rsp), %rdx
				movq	%rax, 800(%rsp)
				movq	%rdx, 808(%rsp)
				movq	1072(%rsp), %rax
				movq	1080(%rsp), %rdx
				movq	%rax, 816(%rsp)
				movq	%rdx, 824(%rsp)
				movq	1088(%rsp), %rax
				movq	1096(%rsp), %rdx
				movq	%rax, 832(%rsp)
				movq	%rdx, 840(%rsp)
				movq	1104(%rsp), %rax
				movq	1112(%rsp), %rdx
				movq	%rax, 848(%rsp)
				movq	%rdx, 856(%rsp)
				movq	1120(%rsp), %rax
				movq	1128(%rsp), %rdx
				movq	%rax, 864(%rsp)
				movq	%rdx, 872(%rsp)
		.LVL488:
		.LBE468:
				movb	$19, 624(%rsp)
				movq	624(%rsp), %rax
				movq	632(%rsp), %rdx
				movq	%rax, 880(%rsp)
				movq	%rdx, 888(%rsp)
				jmp	.L299
		.LVL489:
		.L301:
				addq	$4, %rbx
				movl	(%r12,%rbx), %eax
				movl	%eax, PY.6438(%rip)
				movl	1568(%r15,%rbx), %eax
				subl	$1, %eax
				cltq
				movq	544(%r15,%rax,8), %rbp
		.LVL491:
  285             BV = BIT VAL(PINPY(I))
				movl	1440(%r15,%rbx), %eax
				subl	$1, %eax
				cltq
  286             %IF SQ_ATT&BV#0 %START
				cmpl	$0, 1416(%r15,%rax,4)
				sete	%al
				movzbl	%al, %eax
				testl	%eax, 4(%rbp)
				je	.L301
		.L302:
  287                !! NO PIN
				cmpq	%rbx, %r14
				je	.L303
		.LVL490:
		.L300:
  288             %FINISHELSESTART
  289                PIN REMOVE = PINPY(I);       ! IF ATT>PINNED DEFENSE!
  290                K = MOVES(WHICH, 3)
				movq	%r15, %r10
				movl	$3, %esi
				movl	12(%rsp), %edi
				call	MOVES.6487
		.LVL492:
  291                SCOREA = SCOREA+SQ_P*5
				movl	0(%rbp), %eax
				leal	(%rax,%rax,4), %eax
				addl	%eax, SCOREA.6464(%rip)
				jmp	.L301
		.L294:
		.LVL493:
		.L303:
		.LBE469:
		.LBE471:
		.LBE475:
  292             %FINISH
  293          %REPEAT
  294       %END
  295       !!
  296       %INTEGERFN TRY ANOTHER PLY(%INTEGER WHICH)
		.LVL501:
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$32, %rsp
				movq	%fs:40, %rax
				movq	%rax, 24(%rsp)
				xorl	%eax, %eax
  297          %RECORD(LISTF)%NAME LIST2
  298          %INTEGER X, WW, XMON
  299          %CONSTINTEGERARRAY WWW(-1:1) = 25, 0, -25
				movl	$25, 12(%rsp)
				movl	$0, 16(%rsp)
				movl	$-25, 20(%rsp)
  300          %RESULT = 0 %IF JUST ONE PLY = 1;   ! ONLY ONE LEVEL
				cmpl	$1, JUSTONEPLY.6468(%rip)
				je	.L326
				movq	%r10, %r12
		.L328:
  301          JUST ONE PLY = 1; XMON = MON; MON = 1
				movl	$1, JUSTONEPLY.6468(%rip)
  302          WW = WHICH!!X'FFFFFFFE'
				movl	MON.6467(%rip), %ebp
		.LVL502:
				movl	%edi, %ebx
				xorl	$-2, %ebx
		.LVL503:
  303          LIST2 == RECORD(MOVES(WW, 0))
				movl	$1, MON.6467(%rip)
				movl	$0, %esi
				movl	%ebx, %edi
		.LVL504:
				call	MOVES.6487
		.LVL505:
				movslq	%eax, %rdi
  304          JUST ONE PLY = 0; MON = XMON
				movl	$0, JUSTONEPLY.6468(%rip)
  305          %IF ADDR(LIST2) = 0 %START
				movl	%ebp, MON.6467(%rip)
				testq	%rdi, %rdi
				jne	.L329
  306             %RESULT = -NOLEGMOVE(WW)//2
				addl	$1, %ebx
		.LVL506:
				movslq	%ebx, %rbx
				movl	1748(%r12,%rbx,4), %edx
				movl	%edx, %eax
				shrl	$31, %eax
				addl	%edx, %eax
				sarl	%eax
				negl	%eax
		.LVL507:
		.L326:
  307          %FINISHELSESTART
  308             LIST2 == RECORD(SORT AND PRUNE(LIST2, 1, WW))
				movq	%r12, %r10
				movl	%ebx, %edx
				movl	$1, %esi
				call	SORTANDPRUNE.6481
		.LVL509:
				movslq	%eax, %rdi
  309             X = LIST2_SCORE
				movl	8(%rdi), %ebp
		.LVL510:
  310          %FINISH
  311          RELEASE CHAIN(LIST2) %UNLESS ADDR(LIST2)=0
				testq	%rdi, %rdi
				jne	.L335
		.L330:
  312          %RESULT = X+WWW(WW)
				addl	$1, %ebx
		.LVL511:
				movslq	%ebx, %rbx
				movl	%ebp, %eax
				addl	12(%rsp,%rbx,4), %eax
				jmp	.L326
		.LVL512:
		.L335:
				movq	%r12, %r10
				call	RELEASECHAIN.6544
		.LVL513:
				jmp	.L330
		.LVL514:
		.L334:
  313       %END
				movq	24(%rsp), %rcx
				xorq	%fs:40, %rcx
				jne	.L334
				addq	$32, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				ret
		.LVL508:
		.L329:
				call	__stack_chk_fail@PLT
		.LVL515:
		.LFE191:
				.section	.rodata.str1.1
		.LC4:
				.string	"Illegal cycle J = 1, 1, I - 1"
		NPLY.6477:
		.LFB187:
  314       !!
  315       %INTEGER %FN SCORE(%INTEGER WHICH, %RECORD(LISTF)%NAME L)
  316          {%RECORDSPEC L(LISTF)
  317          %INTEGER SCOREB, X, Y, I, P, Q, QQ, PAWNB, WHX, W2
  318          %INTEGER GAIN, SQU, LOSS, NPH, NPH2, BAD, SCOREC
  319          %RECORD(LISTF{QHF}) HOLD
  320          %RECORD(LISTF)%NAME LIST2
  321          %RECORD(SQF)%NAME SQ
  322          !!
  323          !! BRD = BRDOLD;                  ! CLEAR ATT & DEF
  324          PIN PT = 0
				movl	$0, PINPT.6436(%rip)
		.LVL287:
				leaq	544(%r14), %rax
		.LVL288:
				leaq	1056(%r14), %rcx
		.LVL289:
		.L136:
  325          %CYCLE I = 1, 1, 64
  326             SQI(I)_SQ_ATT = 0; SQI(I)_SQ_DEF = 0
				movq	(%rax), %rdx
				movl	$0, 4(%rdx)
  327          %REPEAT
				movq	(%rax), %rdx
				movl	$0, 8(%rdx)
		.LDL8:
				addq	$8, %rax
  328          WHX = WHICH&BIT;               ! GET TYPE
				cmpq	%rax, %rcx
				jne	.L136
		.L137:
		.LVL290:
  329          L_CHK = 0;                     ! CLEAR FLAG
				movq	40(%rsp), %rax
				movl	$0, 12(%rax)
  330          HOLD_L == L;                   ! MAP TO MOVE
				movq	%rax, 64(%rsp)
  331          P = CHANGE BOARD(HOLD);            ! AND MAKE IT
				leaq	64(%rsp), %rdi
				call	CHANGEBOARD.6492
		.LVL291:
  332          SCOREB = 0; SCOREA = 0;  SCOREC = 0
  333          P = MOVES(WHICH, 1)
				movl	$0, SCOREA.6464(%rip)
		.LVL292:
				movq	%r14, %r10
				movl	$1, %esi
				movl	52(%rsp), %ebx
				movl	%ebx, %edi
				call	MOVES.6487
		.LVL293:
  334          SQU = 0
				movl	16(%rsp), %eax
				movl	%eax, %ebp
  335          BAD = 0; NPH = 0; NPH2 = 0
				movl	%eax, 32(%rsp)
  336          %CYCLE Y = 1, 1, 8
				movl	%eax, 36(%rsp)
  337             %CYCLE X = 1, 1, 8
				movl	%eax, 48(%rsp)
				movl	%eax, 28(%rsp)
  338                SQU = SQU+1
				movl	16(%rsp), %r12d
				jmp	.L138
		.LVL305:
		.L231:
				movl	%ebp, %eax
				leal	1(%rax), %ebp
		.LVL326:
  339                SQ == SQI(SQU)_SQ
				cmpl	$8, 28(%rsp)
				je	.L228
		.LVL303:
		.L140:
				cltq
				movq	544(%r15,%rax,8), %rax
		.LVL327:
  340                Q = SQ_P
				addl	$1, 28(%rsp)
		.LVL304:
				movl	%ebp, %eax
				cmpl	$8, %r12d
				je	.L230
		.LVL324:
		.L138:
				movl	(%rax), %ebx
		.LVL328:
  341                %IF Q#0 %START;          ! PIECE ON SQUARE
				addl	$1, %r12d
		.LVL325:
				testl	%ebx, %ebx
				je	.L141
  342                   %IF Q < 0 %START
				testl	%ebx, %ebx
				js	.L231
		.L142:
		.L145:
		.LVL329:
  343                      QQ = -Q; W2 = -1
				movl	%ebx, %ecx
				negl	%ecx
				movl	%ecx, 12(%rsp)
		.LVL306:
  344                   %FINISHELSESTART
				movq	%r15, 56(%rsp)
				movq	%r14, %r15
				movl	%ebp, %r14d
				jmp	.L140
		.LVL294:
		.L225:
		.LDL9:
		.LBE424:
		.LBE423:
				movl	$-1, 20(%rsp)
  345                      QQ = Q; W2 = 1
				movl	%ebx, 12(%rsp)
  346                   %FINISH
				movl	%ebx, 20(%rsp)
		.L144:
		.LVL309:
		.L146:
				movl	$1, 20(%rsp)
  347
  348                   !!
  349                   P = 0
  350                   %IF QQ = 1 %START;    ! PAWN
				cmpl	$1, %ecx
				jne	.L143
				jmp	.L146
		.LVL307:
		.L232:
				movl	$9, %edx
				subl	28(%rsp), %edx
		.LVL308:
				cmpl	$1, %ebx
				je	.L232
		.LVL330:
		.L143:
  351                      %IF Q > 0 %THEN PAWNB= 9-Y %ELSE %C
  352                         PAWNB = Y
  353                      P = PAWN 2D(PAWNB*8+X)*Q
				leal	-9(%r12,%rdx,8), %edx
		.LVL310:
				movslq	%edx, %rdx
				movl	%ebx, %r13d
				imull	1160(%r15,%rdx,4), %r13d
		.LVL311:
  354                   %FINISH
  355                   !!
				movl	28(%rsp), %edx
  356                   %IF Q&BIT = WHX %START
				movl	%ebx, %eax
				notl	%eax
				shrl	$31, %eax
				movl	%eax, 24(%rsp)
				movl	24(%rsp), %edi
				andl	%ebx, %edi
				movl	%edi, 12(%rsp)
		.LVL312:
				jne	.L147
				movl	$1, 12(%rsp)
		.L148:
		.LVL313:
		.L151:
				movl	16(%rsp), %r13d
		.LVL319:
		.L147:
				movl	24(%rsp), %r13d
				andl	%ebx, %r13d
				jne	.L210
  357                                         !*
  358                                         !* 'MY' PIECEON SQU X,Y
  359                                         !*
  360                      %IF QQ=6 %START;  ! 'MY' KING
				cmpl	$6, 12(%rsp)
				jne	.L151
  361                         %IF SQ_ATT # 0 %START
				movl	4(%rax), %r13d
				testl	%r13d, %r13d
				je	.L160
				movq	56(%rsp), %r15
  362                            RESTORE BOARD(HOLD)
				leaq	64(%rsp), %rdi
				call	RESTOREBOARD.6494
		.LVL331:
  363                            %RESULT = MAX SCORE
				movl	$-50000, 16(%rsp)
		.LVL332:
				jmp	.L150
		.LVL333:
		.L229:
  364                         %FINISH
  365                                         ! ILLEGAL MOVE
  366                      %FINISH
  367                      %IF SQ_ATT > 0 %START;  ! MY PIECE UNDER ATTACK
				movl	4(%rax), %esi
				testl	%esi, %esi
				jle	.L160
  368                         GAIN = EXVAL(QQ, SQ_ATT, SQ_DEF)
				movl	8(%rax), %edx
				movq	%r15, %r10
				movl	12(%rsp), %edi
				call	EXVAL.6599
		.LVL314:
  369                         %IF GAIN > 0 %START
				testl	%eax, %eax
				jle	.L160
  370                            GAIN = GAIN+P
				leal	(%rax,%r13), %esi
		.LVL315:
  371                            SCOREA = SCOREA-(GAIN*W2)//10
				movl	20(%rsp), %ecx
				imull	%esi, %ecx
				movl	$1717986919, %eax
				imull	%ecx
				sarl	$2, %edx
				sarl	$31, %ecx
				subl	%ecx, %edx
				subl	%edx, SCOREA.6464(%rip)
				movl	32(%rsp), %eax
				cmpl	%esi, %eax
				cmovge	%eax, %esi
		.LVL316:
				movl	%esi, 32(%rsp)
		.LVL317:
				jmp	.L160
		.LVL318:
		.L210:
  372                            %IF GAIN > BAD %THEN BAD = GAIN
  373                                         ! PROBLEMS WITH POSITIONAL VALUE
  374                        %FINISH
  375                      %FINISH
  376                      !!
  377                                         ! PIECE EFFECTIVELY LOST
  378                   %FINISHELSESTART
  379                                         !*
  380                                         !* OPP PIECE (SEE WHICH) ON X,Y
  381                                         !*
  382                      %IF SQ_ATT # 0 %START
				movl	4(%rax), %esi
				testl	%esi, %esi
				jne	.L229
		.L149:
		.L156:
		.L157:
		.L158:
		.L159:
		.LVL320:
		.L160:
  383                         GAIN = EXVAL(QQ, SQ_ATT, SQ_DEF)
				movl	8(%rax), %edx
				movq	%r15, %r10
				movl	12(%rsp), %edi
				call	EXVAL.6599
		.LVL334:
  384                         %IF GAIN > 0 %START
				testl	%eax, %eax
				jle	.L155
  385                         %IF GAIN >NPH %START
				cmpl	36(%rsp), %eax
				jg	.L211
		.L153:
				movl	48(%rsp), %edi
				cmpl	%eax, %edi
				cmovge	%edi, %eax
		.LVL335:
				movl	%eax, 48(%rsp)
		.LVL336:
				jmp	.L155
		.LVL337:
		.L211:
				movl	36(%rsp), %edi
				movl	%edi, 48(%rsp)
		.LVL338:
  386                            NPH2 = NPH; NPH = GAIN
  387                         %FINISHELSESTART
				movl	%eax, 36(%rsp)
		.LVL339:
		.L152:
		.L154:
		.L155:
  388                            %IF GAIN > NPH2 %THEN NPH2 = GAIN
  389                         %FINISH
  390                        %FINISH
  391                         %IF QQ = 6 %START
				cmpl	$6, 12(%rsp)
				jne	.L160
  392                             L_CHK = Q
				movq	40(%rsp), %rax
				movl	%ebx, 12(%rax)
				jmp	.L160
		.LVL340:
		.L228:
				movl	%r14d, %ebp
				movq	%r15, %r14
		.LVL341:
				movq	56(%rsp), %r15
		.L139:
		.LVL342:
  393                         %FINISH
  394                      %FINISH
  395                   %FINISH
  396                   SCOREB = SCOREB+P+VAL(Q)
				addl	%r14d, %r13d
				addl	$6, %ebx
		.LVL321:
				movslq	%ebx, %rbx
				movl	%r13d, %r14d
		.LVL322:
				addl	1696(%r15,%rbx,4), %r14d
		.LVL323:
		.L141:
  397                %FINISH
  398             %REPEAT
  399          %REPEAT
  400          LOSS = 0
  401          %IF BAD > 0 %START;         ! PLAYER ABOUT TO LOSE
				movl	32(%rsp), %eax
		.LVL343:
				testl	%eax, %eax
				jle	.L161
  402             %IF ((BAD > 300 %AND NPH > 400) %OR NPH>400)  %C
  403               %AND BAD < 500 %THEN SCOREC = TRY ANOTHER PLY(WHICH)
				cmpl	$400, 36(%rsp)
				jle	.L164
				cmpl	$300, %eax
				jg	.L162
		.L164:
  404             NPH = NPH//3
				movl	$1431655766, %edx
				movl	36(%rsp), %eax
				imull	%edx
				movl	36(%rsp), %eax
				sarl	$31, %eax
				subl	%eax, %edx
				movl	%edx, 36(%rsp)
		.LVL345:
  405             LOSS = BAD
				cmpl	$400, 36(%rsp)
				jle	.L165
		.L162:
  406             %IF NPH > BAD %THEN LOSS = NPH2//3 %ELSE %C
				cmpl	%eax, %edx
				jle	.L169
  407               LOSS = LOSS-NPH
				cmpl	$499, 32(%rsp)
				jle	.L233
		.LVL344:
		.L165:
				movl	$1431655766, %edx
		.LVL346:
				movl	48(%rsp), %eax
				imull	%edx
				movl	48(%rsp), %eax
				sarl	$31, %eax
				movl	%edx, %ebx
				subl	%eax, %ebx
		.LVL347:
				jmp	.L169
		.LVL348:
		.L233:
  408          %FINISHELSESTART
				movq	%r14, %r10
				movl	52(%rsp), %edi
				call	TRYANOTHERPLY.6631
		.LVL349:
				movl	%eax, 16(%rsp)
		.LVL350:
				jmp	.L165
		.L166:
		.LVL351:
		.L161:
  409             %IF NPH2 # 0 %THEN LOSS = -NPH2
  410             LOSS = LOSS-NPH//6
				movl	32(%rsp), %eax
				movl	%eax, %ebx
				subl	%edx, %ebx
				movl	48(%rsp), %edi
				movl	%edi, %eax
				negl	%eax
				testl	%edi, %edi
				cmove	%edi, %eax
				movl	%eax, %ecx
		.L168:
		.LVL352:
				movl	$715827883, %edx
				movl	36(%rsp), %eax
		.LVL353:
				imull	%edx
				movl	36(%rsp), %eax
				sarl	$31, %eax
				subl	%eax, %edx
				subl	%edx, %ecx
		.LVL354:
				movl	%ecx, %ebx
		.LVL355:
		.L167:
		.L169:
  411          %FINISH
  412          SCOREB = SCOREB+KCAS(-1)+KCAS(1)
				addl	KCAS.6453(%rip), %ebp
		.LVL356:
				addl	8+KCAS.6453(%rip), %ebp
		.LVL357:
				movl	$0, %edx
				jmp	.L170
		.LVL358:
		.L172:
				addq	$1, %rdx
		.LVL359:
  413          %CYCLE I = 1, 1, 12;            ! CHECK B&N POS
  414             SCOREB = SCOREB+POSPP(I) %IF POSP(I) # PT(POSX(I))_P
				movzbl	1760(%r14,%rdx), %eax
				subl	$1, %eax
				cltq
				movq	32(%r14,%rax,8), %rax
				movl	(%rax), %eax
				cmpl	%eax, 1112(%r14,%rdx,4)
				je	.L172
  415          %REPEAT
				addl	1064(%r14,%rdx,4), %ebp
		.LVL361:
				jmp	.L172
		.LVL362:
		.L171:
  416                %IF L_CHK # 0 %START
				cmpq	$12, %rdx
				je	.L171
		.L170:
		.LVL360:
  417                   SCOREC = TRY ANOTHER PLY(WHICH) %UNLESS SCOREC#0
				movq	40(%rsp), %rax
				cmpl	$0, 12(%rax)
				je	.L174
				cmpl	$0, 16(%rsp)
				je	.L234
		.L173:
		.L174:
  418                %FINISH
				movq	%r14, %r10
				movl	52(%rsp), %edi
				call	TRYANOTHERPLY.6631
		.LVL390:
				movl	%eax, 16(%rsp)
		.LVL391:
				jmp	.L174
		.LVL392:
		.L235:
		.LBE435:
		.LBE453:
  419          RESTORE BOARD(HOLD);           ! UNDO THE MOVE
				leaq	64(%rsp), %rdi
				call	RESTOREBOARD.6494
		.LVL363:
		.LBB425:
		.LBB426:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL364:
		.LBE426:
		.LBE425:
		.LBB427:
  420          %IF MON&64 # 0 %START
  421             SELECT OUTPUT(2)
  422             PRINTSTRING("SCORE:")
				movabsq	$64069408080723, %rax
				movl	$0, %edx
				movq	%rax, 593(%rsp)
				movq	%rdx, 601(%rsp)
				movb	$0, 609(%rsp)
				movw	$0, 610(%rsp)
				movl	$0, 612(%rsp)
				leaq	616(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
		.LVL365:
				movb	$6, 592(%rsp)
				movq	592(%rsp), %rax
				movq	600(%rsp), %rdx
				movq	%rax, 848(%rsp)
				movq	%rdx, 856(%rsp)
				movdqa	608(%rsp), %xmm0
				movaps	%xmm0, 864(%rsp)
				movdqa	624(%rsp), %xmm1
				movaps	%xmm1, 880(%rsp)
				movdqa	640(%rsp), %xmm2
				movaps	%xmm2, 896(%rsp)
				movdqa	656(%rsp), %xmm3
				movaps	%xmm3, 912(%rsp)
				movdqa	672(%rsp), %xmm4
				movaps	%xmm4, 928(%rsp)
				movdqa	688(%rsp), %xmm5
				movaps	%xmm5, 944(%rsp)
				movdqa	704(%rsp), %xmm6
				movaps	%xmm6, 960(%rsp)
				movdqa	720(%rsp), %xmm7
				movaps	%xmm7, 976(%rsp)
				movdqa	736(%rsp), %xmm0
				movaps	%xmm0, 992(%rsp)
				movq	752(%rsp), %r13
				movq	760(%rsp), %r14
				movq	%r13, 1008(%rsp)
				movq	%r14, 1016(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, 1024(%rsp)
				movq	%rdx, 1032(%rsp)
				movq	784(%rsp), %rsi
				movq	792(%rsp), %rdi
				movq	%rsi, 1040(%rsp)
				movq	%rdi, 1048(%rsp)
				movq	800(%rsp), %r9
				movq	808(%rsp), %r10
				movq	%r9, 1056(%rsp)
				movq	%r10, 1064(%rsp)
				movdqa	816(%rsp), %xmm1
				movaps	%xmm1, 1072(%rsp)
				movq	832(%rsp), %r11
				movq	840(%rsp), %r12
		.LVL366:
				movq	%r11, 1088(%rsp)
				movq	%r12, 1096(%rsp)
		.LVL367:
				movb	$6, 848(%rsp)
				movdqa	848(%rsp), %xmm2
				movaps	%xmm2, 592(%rsp)
		.LBE427:
		.LBB428:
		.LBB429:
				pushq	%r12
				pushq	%r11
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				call	_imp_printstring@PLT
		.LVL368:
		.LBE429:
		.LBE428:
  423             WRITE(SCOREA, 1); WRITE(SCOREB, 1); WRITE(SCOREC, 1)
				addq	$256, %rsp
				movl	$1, %esi
				movl	SCOREA.6464(%rip), %edi
				call	_imp_writeint@PLT
		.LVL369:
  424             WRITE(BAD, 1); WRITE(NPH, 1); WRITE(NPH2, 1)
				movl	$1, %esi
				movl	%ebp, %edi
				call	_imp_writeint@PLT
		.LVL370:
				movl	$1, %esi
				movl	32(%rsp), %edi
				call	_imp_writeint@PLT
		.LVL372:
  425             WRITE(LOSS, 1); NEWLINE
				movl	$1, %esi
				movl	16(%rsp), %r14d
				movl	%r14d, %edi
				call	_imp_writeint@PLT
		.LVL371:
				movl	$1, %esi
				movl	36(%rsp), %edi
				call	_imp_writeint@PLT
		.LVL373:
				movl	$1, %esi
				movl	%ebx, %edi
				call	_imp_writeint@PLT
		.LVL375:
		.LBB430:
		.LBB431:
				call	_imp_newline@PLT
		.LVL376:
		.LBE431:
		.LBE430:
		.LBB432:
		.LBB433:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL377:
		.LDL12:
		.LBE433:
		.LBE432:
  426             SELECT OUTPUT(0)
				movl	$1, %esi
				movl	48(%rsp), %edi
				call	_imp_writeint@PLT
		.LVL374:
  427          %FINISH
  428          %RESULT = SCOREC %IF SCOREC # 0
				testl	%r14d, %r14d
				jne	.L150
		.L175:
  429          %RESULT = SCOREB+SCOREA-LOSS*WHICH
				addl	SCOREA.6464(%rip), %ebp
		.LVL378:
				movl	52(%rsp), %eax
				imull	%ebx, %eax
				subl	%eax, %ebp
				movl	%ebp, 16(%rsp)
		.LVL379:
		.L150:
		.LBE434:
		.LBE441:
  430       %END
?LIST2 unused
  431       !!
  432       %INTEGERFN MOVES(%INTEGER WHICH, SCRQ)
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$1416, %rsp
				movl	%edi, %ebx
				movq	%r10, %r15
				movq	%fs:40, %rax
				movq	%rax, 1400(%rsp)
				xorl	%eax, %eax
				leaq	1472(%rsp), %rax
				movq	%rax, 104(%rsp)
				movl	%edi, 72(%rsp)
				movl	%esi, 100(%rsp)
				movq	%r10, 32(%rsp)
  433          %INTEGER X, Y, Q, QQ, WHICHX, A, B, K, I, TYPE, W2, DIAG
  434          %INTEGER SPEC, PIN FLAG, PIN PIECE, POX, POY, SQU, IMODK
  435          %RECORD(ROWF)%NAME ROW
  436          %RECORD(LISTF)%NAME LIST
  437          %OWNINTEGERARRAY KCASCH( -1:1) = 1, 0, 8
  438          %SWITCH MOVE(1:6)
  439          !!
  440          %INTEGER %FN DOM(%INTEGER X0, Y0)
		.LVL258:
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$1128, %rsp
				movq	%fs:40, %rax
				movq	%rax, 1112(%rsp)
				xorl	%eax, %eax
		.LVL259:
		.LBB415:
  441             %RECORD(SQF)%NAME SQ
  442             %INTEGER I, J, K
  443             %RECORD(LISTF)%NAME LIST2
  444             %RECORD(LISTF)%NAME N
  445             !!
  446             !*
  447             !* SCRQ =  0  STANDARD ENTRY FOR ONE PLY
  448             !*        +1  ENTRY FROM SCORE
  449             !*        +2
  450             !*        +3  PINNED PIECE ENTRY
  451             !*
  452             %UNLESS 1 <= X0 <=8 %AND 1 <=Y0<=8 %THEN %RESULT = 0
  453             SQ == BRD(Y0)_R(X0)
				leal	-1(%rsi), %ecx
				leal	-1(%rdi), %r8d
		.LVL262:
  454            K = SQ_P
				movslq	%r8d, %rax
				movslq	%ecx, %rdx
		.LVL263:
				leaq	(%rax,%rdx,8), %rax
				salq	$4, %rax
				leaq	BRD.6404(%rip), %rdx
		.LVL264:
				movl	(%rdx,%rax), %eax
				movl	%eax, 16(%rsp)
		.LVL265:
  455             %IF SCRQ <= 0 %START
				movl	84(%r10), %edx
				testl	%edx, %edx
				jle	.L222
		.L128:
		.LVL266:
  456                %IF K#0 %AND K&BIT = Q&BIT %THEN %C
				testl	%eax, %eax
				jne	.L206
		.L129:
  457                 %RESULT = 0
				leal	-1(%rdi), %eax
				cmpl	$7, %eax
				seta	%dl
		.LBE415:
		.LBB416:
  458                %IF QQ=PAWN %START
				cmpl	$1, 80(%r10)
				je	.L225
		.L130:
		.L131:
		.L132:
		.L133:
				movl	$0, %eax
		.LVL404:
				jmp	.L125
		.LVL405:
		.L221:
  459                   %IF (TYPE=0 %AND K#0) %OR %C
  460                      (TYPE=1 %AND K=0) %THEN %RESULT = 0
  461                     %IF Y0=1 %OR Y0=8 %THEN SPEC=5*Q; ! QUEEN
  462                %FINISH
				testl	%esi, %esi
				setle	%al
				cmpl	$1, 76(%r10)
				jne	.L133
  463                SPEC = 0
				movl	$0, 68(%r15)
  464                N == FREE LIST;  FREE LIST == RECORD(ADDR(N_L))
				orb	%al, %dl
				jne	.L205
				movq	%r10, %r15
				cmpl	$8, %esi
				jle	.L220
		.L205:
		.LBE416:
				movq	16(%r15), %rax
		.LVL279:
				movq	1056(%rax), %rcx
		.LVL280:
				movq	%rcx, 40(%rsp)
		.LVL281:
  465                %IF ADDR(FREE LIST) = 0 %START
				movq	(%rcx), %rdx
				movq	%rdx, 1056(%rax)
				movq	16(%r15), %rax
				cmpq	$0, 1056(%rax)
				je	.L226
		.L134:
				movl	16(%rsp), %eax
		.LVL295:
		.L126:
		.L202:
				jmp	.L125
		.LVL296:
		.L226:
		.LBB436:
  466                   PRINTSTRING("OUT OF FREE CELLS!!!
				movabsq	$5053116087568454991, %rax
				movabsq	$5497845399719069010, %rdx
				movq	%rax, 849(%rsp)
				movq	%rdx, 857(%rsp)
				movabsq	$43505492307, %rax
				movl	$0, %edx
				movq	%rax, 865(%rsp)
				movq	%rdx, 873(%rsp)
				movb	$0, 881(%rsp)
				movw	$0, 882(%rsp)
				movl	$0, 884(%rsp)
				leaq	888(%rsp), %rdi
		.LVL297:
				movl	$27, %ecx
		.LVL298:
				movl	$0, %eax
				rep stosq
				movb	$21, 848(%rsp)
				movq	848(%rsp), %rax
				movq	856(%rsp), %rdx
				movq	%rax, 592(%rsp)
				movq	%rdx, 600(%rsp)
		.LVL299:
				movb	$21, 592(%rsp)
		.LBE436:
		.LBB437:
		.LBB438:
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	1096(%rsp)
				pushq	840(%rsp)
				pushq	840(%rsp)
				call	_imp_printstring@PLT
		.LVL300:
		.LBE438:
		.LBE437:
		.LBB439:
		.LBB440:
				addq	$256, %rsp
				movl	$0, %edi
				call	exit@PLT
		.LVL301:
		.L227:
		.LBE440:
		.LBE439:
  467 ")
				movl	$0, %eax
		.LVL260:
		.L125:
  468                   %STOP
  469                %FINISH
  470                N_FR = X<<4+Y
				movzbl	64(%r15), %eax
				sall	$4, %eax
				addb	60(%r15), %al
				movq	40(%rsp), %rcx
				movb	%al, 4(%rcx)
  471                N_TO = X0<<4+Y0
				sall	$4, %edi
		.LVL282:
				addl	%edi, %esi
		.LVL283:
				movb	%sil, 5(%rcx)
  472                N_SPEC = SPEC
				movl	68(%r15), %edx
				movl	%edx, 8(%rcx)
		.LBB422:
  473                %IF 6 <= TYPE <= 7 %START
  474                   N_SPEC = TYPE
				movq	40(%rsp), %rdi
				movl	%edx, 8(%rdi)
  475                   N_TO = N_FR
				movb	%al, 5(%rdi)
				jmp	.L135
		.LVL302:
		.L230:
		.LDL10:
		.LDL11:
		.LBB441:
		.LBB434:
  476                %FINISH
				movl	76(%r15), %edx
		.LVL284:
  477                N_SCORE = SCORE(WHICH, N)
				movl	56(%r15), %eax
				movl	%eax, 52(%rsp)
				movq	16(%r15), %r14
		.LVL286:
		.LBB423:
		.LBB424:
				movq	40(%rsp), %rax
				movl	16(%rsp), %edi
				movl	%edi, 8(%rax)
  478                !!
				leal	-6(%rdx), %ecx
		.LVL285:
				cmpl	$1, %ecx
				jbe	.L227
		.L135:
		.LBE422:
  479                %IF TYPE = 6 %START;    ! ILLEGAL CASTLE CHECK
				movl	76(%r15), %eax
				cmpl	$6, %eax
				je	.L235
		.L176:
		.L180:
  480                   %IF ROW_R(6)_ATT # 0 %THEN N_SCORE = MAX SCORE
				movq	8(%r15), %rax
				cmpl	$0, 84(%rax)
				je	.L181
  481                %FINISH
				movq	40(%rsp), %rax
				movl	$-50000, 8(%rax)
  482                %IF TYPE = 7 %START;     ! DITTO
				cmpl	$7, %eax
				je	.L236
		.L177:
		.L181:
				cmpl	$7, 76(%r15)
				jne	.L178
  483                   %IF ROW_R(4)_ATT # 0 %THEN N_SCORE = MAX SCORE
				movq	8(%r15), %rax
				cmpl	$0, 52(%rax)
				je	.L178
				jmp	.L203
		.L236:
				movq	8(%r15), %rax
				cmpl	$0, 52(%rax)
				je	.L181
		.L203:
  484                %FINISH
				movq	40(%rsp), %rax
				movl	$-50000, 8(%rax)
		.L178:
  485                !!
  486 !!
  487                %IF N_SCORE = MAX SCORE %START;  ! WAS ILLEGAL
				movq	40(%rsp), %rax
				cmpl	$-50000, 8(%rax)
				je	.L178
		.L182:
		.LVL380:
		.LBB442:
		.LBB443:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL381:
		.LBE443:
		.LBE442:
		.LBB444:
		.LBB445:
				movl	$20, %edi
				call	_imp_spaces@PLT
		.LVL382:
		.LBE445:
		.LBE444:
  488                   N_L == FREE LIST;     ! RE-LINK IT
				movq	16(%r15), %rax
				movq	1056(%rax), %rax
				movq	40(%rsp), %rdi
				movq	%rax, (%rdi)
  489                   FREE LIST == RECORD(ADDR(N))
				movq	16(%r15), %rax
				movq	%rdi, 1056(%rax)
		.LDL14:
  490                   %IF K#0 %THEN %RESULT = 0; ! PIECE IN WAY, NO FURTHER
  491                   %RESULT= 1;       ! MUST TRAVERSE ENTIRE B,R OR Q PATH
				movl	$1, %eax
				jmp	.L125
		.LVL393:
		.L223:
  492                %FINISH
  493                !!
  494                !!
  495                %IF MON&2=2 %START
  496                   SELECT OUTPUT(2)
  497                   SPACES(20)
  498                   WRITE(XDEPTH, 5)
				movl	$5, %esi
				movl	XDEPTH.6465(%rip), %edi
				call	_imp_writeint@PLT
		.LVL383:
		.LBB446:
  499                   PRINTSTRING("---")
				movq	$2960685, 337(%rsp)
				movq	$0, 345(%rsp)
				movb	$0, 353(%rsp)
				movw	$0, 354(%rsp)
				movl	$0, 356(%rsp)
				leaq	360(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$3, 336(%rsp)
				movq	336(%rsp), %rax
				movq	344(%rsp), %rdx
				movq	%rax, 80(%rsp)
				movq	%rdx, 88(%rsp)
				movdqa	352(%rsp), %xmm3
				movaps	%xmm3, 96(%rsp)
				movdqa	368(%rsp), %xmm4
				movaps	%xmm4, 112(%rsp)
				movdqa	384(%rsp), %xmm5
				movaps	%xmm5, 128(%rsp)
				movdqa	400(%rsp), %xmm6
				movaps	%xmm6, 144(%rsp)
				movdqa	416(%rsp), %xmm7
				movaps	%xmm7, 160(%rsp)
				movdqa	432(%rsp), %xmm3
				movaps	%xmm3, 176(%rsp)
				movdqa	448(%rsp), %xmm4
				movaps	%xmm4, 192(%rsp)
				movdqa	464(%rsp), %xmm5
				movaps	%xmm5, 208(%rsp)
				movdqa	480(%rsp), %xmm6
				movaps	%xmm6, 224(%rsp)
				movq	496(%rsp), %r13
				movq	504(%rsp), %r14
				movq	%r13, 240(%rsp)
				movq	%r14, 248(%rsp)
				movq	512(%rsp), %rax
				movq	520(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
				movq	528(%rsp), %rcx
				movq	536(%rsp), %rbx
				movq	%rcx, 272(%rsp)
				movq	%rbx, 280(%rsp)
				movq	544(%rsp), %rsi
				movq	552(%rsp), %rdi
				movq	%rsi, 288(%rsp)
				movq	%rdi, 296(%rsp)
				movq	560(%rsp), %r9
				movq	568(%rsp), %r10
				movq	%r9, 304(%rsp)
				movq	%r10, 312(%rsp)
				movq	576(%rsp), %r11
				movq	584(%rsp), %r12
				movq	%r11, 320(%rsp)
				movq	%r12, 328(%rsp)
		.LVL384:
				movb	$3, 80(%rsp)
				movdqa	80(%rsp), %xmm7
				movaps	%xmm7, 336(%rsp)
		.LBE446:
		.LBB447:
		.LBB448:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	584(%rsp)
				pushq	328(%rsp)
				pushq	328(%rsp)
				call	_imp_printstring@PLT
		.LVL385:
		.LBE448:
		.LBE447:
  500                   PRINTMOVE(N)
				addq	$256, %rsp
				movq	40(%rsp), %rbx
				movq	%rbx, %rdi
				call	PRINTMOVE.6504
		.LVL386:
		.LBB449:
		.LBB450:
				call	_imp_newline@PLT
		.LVL387:
		.LBE450:
		.LBE449:
		.LBB451:
		.LBB452:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL388:
		.LDL13:
		.LBE452:
		.LBE451:
  501                   NEWLINE
  502                   SELECT OUTPUT(0)
  503                %FINISH
  504                !!
  505                N_L == LIST;  LIST == RECORD(ADDR(N))
				movq	(%r15), %rax
				movq	%rax, (%rbx)
  506                %IF K=0 %THEN J=1 %ELSE J=0
				movq	%rbx, (%r15)
  507             %FINISHELSESTART
				movl	$1, %eax
				jmp	.L125
		.LVL389:
		.L234:
		.LBB453:
		.LBB435:
  508                J = 2
				movl	$2, %eax
		.LVL402:
		.L183:
		.L195:
		.L196:
		.L197:
		.L198:
		.L199:
		.L200:
		.L201:
  509                %IF K # 0 %START
				cmpl	$0, 16(%rsp)
				je	.L213
  510                   %IF QQ=PAWN %AND TYPE=0 %THEN %RESULT = 0
				movl	80(%r10), %esi
		.LVL267:
				cmpl	$1, %esi
				je	.L223
		.L184:
		.LVL268:
		.LBB417:
		.LBB418:
				movl	16(%rsp), %edi
		.LVL269:
				movl	%edi, %eax
				sarl	$31, %eax
		.LVL270:
				xorl	%eax, %edi
		.LVL271:
				movl	%edi, %ebp
				subl	%eax, %ebp
		.LVL272:
		.LBE418:
		.LBE417:
  511                   J = 0;            ! POSSIBLY NO FURTHER
				movzbl	%al, %eax
		.L187:
		.L190:
		.L191:
		.L192:
		.LVL275:
		.L193:
				movl	76(%r10), %eax
		.LVL394:
				testl	%eax, %eax
				je	.L125
		.LVL395:
		.LBB454:
		.LBB419:
				movl	16(%rsp), %edi
		.LVL396:
				movl	%edi, %eax
				sarl	$31, %eax
				xorl	%eax, %edi
				movl	%edi, %ebp
				subl	%eax, %ebp
		.LVL397:
		.LBE419:
		.LBE454:
				movzbl	%al, %eax
  512                   IMODK = IMOD(K)
				movl	%ebp, 52(%r10)
		.LVL273:
				movl	%ebp, 52(%r10)
		.LVL398:
				jmp	.L186
		.L224:
  513                   %IF K&BIT = Q&BIT %START;  ! ITS A DEFENCE
  514                         %IF QQ = 5 %START;            ! Q 'BEHIND'
				cmpl	$5, %esi
				je	.L224
		.L186:
		.LVL274:
		.LBB420:
  515                            %IF (DIAG=1 %AND IMODK=3) %OR %C
				movl	48(%r10), %edi
  516                             (DIAG=0 %AND IMODK=4) %THEN J=1
				cmpl	$3, %ebp
				jne	.L189
				cmpl	$1, %edi
				je	.L214
		.L189:
  517                         %FINISHELSESTART
  518                            %IF IMODK=5 %START
				cmpl	$5, %ebp
				setne	%dil
		.LBB421:
				testl	%edi, %edi
				setne	%dil
  519                               %IF 3<=QQ<=4 %THEN J=1
				cmpl	$4, %ebp
				setne	%al
				orl	%edi, %eax
				xorl	$1, %eax
  520                            %FINISH
  521                         %FINISH
				movl	$1, %eax
				jmp	.L193
		.LVL399:
		.L194:
  522                         ! IF A PIECE DOUBLES UP, THEN KEEP GOING
				leal	-3(%rsi), %eax
				cmpl	$1, %eax
				seta	%al
		.LBE420:
				jmp	.L193
		.L214:
  523                      %IF SCRQ # 3 %START
				cmpl	$3, %edx
				je	.L194
  524                        %IF PINFLAG = 0 %THEN %C
				orl	%edi, %eax
				xorl	$1, %eax
		.LBE421:
				cmpl	$0, 44(%r15)
				jne	.L201
  525                           SQ_DEF = SQ_DEF+BIT VAL(QQ)
				leaq	BRD.6404(%rip), %rdi
				movslq	%r8d, %r8
				movslq	%ecx, %rcx
				leaq	(%r8,%rcx,8), %rdx
				salq	$4, %rdx
				movq	16(%r15), %r8
		.LVL276:
				leal	-1(%rsi), %ecx
		.LVL277:
				movslq	%ecx, %rcx
				movl	1416(%r8,%rcx,4), %ecx
				addl	%ecx, 8(%rdi,%rdx)
				jmp	.L201
		.LVL278:
		.L222:
  526                     %FINISHELSESTART
  527                        SQ_DEF = SQ_DEF-BIT VAL(QQ)
				movslq	%r8d, %r8
				movslq	%ecx, %rcx
				leaq	(%r8,%rcx,8), %rdx
				movq	%rdx, %rcx
		.LVL400:
				salq	$4, %rcx
				leaq	BRD.6404(%rip), %rdx
				addq	%rcx, %rdx
				movq	16(%r15), %rdi
				subl	$1, %esi
				movslq	%esi, %rsi
				movl	8(%rdx), %ecx
				subl	1416(%rdi,%rsi,4), %ecx
				movl	%ecx, 8(%rdx)
				jmp	.L201
		.LVL401:
		.L213:
  528                     %FINISH
  529                   %FINISHELSESTART
  530                      %IF SCRQ = 3 %START
  531                                         ! PIECE QQ IS ATTACKING K
  532                         %IF PIN REMOVE >= IMODK %THEN %C
  533                           SQ_ATT = SQ_ATT-BIT VAL(QQ)
  534                      %FINISHELSESTART
  535                         %IF PINFLAG=0 %START
  536                            SQ_ATT = SQ_ATT+BIT VAL(QQ)
  537                            PINFLAG=1; J=3
  538                            PINPIECE=IMODK; POX=X0; POY=Y0
  539                         %FINISHELSESTART
  540                            %IF IMODK>3 %AND IMODK>PIN PIECE %START
  541                               %IF PIN PT#0 %START
  542
  543                                  %CYCLE I = 1,1,PIN PT
  544                                     %IF PINX(I)=POX %AND PINY(I)=POY %C
  545                                        %THEN ->NO PIN
  546                                  %REPEAT
  547                               %FINISH
  548                               PIN PT = PIN PT+1
  549                               PINX(PINPT) = POX
  550                               PINY(PINPT) = POY
  551                               PINDX(PINPT) = SQU
  552                               PINPY(PINPT) = PIN PIECE
  553 NO PIN:
  554                            %FINISH
  555                         %FINISH
  556                      %FINISH
  557                   %FINISH
  558                %FINISH
  559                SCOREA = SCOREA+W2
				movl	24(%r15), %edx
				addl	%edx, SCOREA.6464(%rip)
				jmp	.L125
		.LVL403:
		.L206:
  560             %FINISH
  561             %RESULT = J
  562          %END
				movq	1112(%rsp), %rcx
				xorq	%fs:40, %rcx
				jne	.L221
				addq	$1128, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
				ret
		.LVL261:
		.L220:
		.L127:
				call	__stack_chk_fail@PLT
		.LVL406:
		.LFE194:
				.section	.rodata.str1.1
		.LC1:
				.string	"Illegal cycle I = 1, 1, PINPT"
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align 8
		.LC2:
				.string	"->MOVE(%d) out of bounds at %s line %d"
				.section	.rodata.str1.1
		.LC3:
				.string	"test-new/chess9.imp"
		MOVES.6487:
		.LFB193:
?LIST2 unused
  563          !!
  564          DIAG = 0
				movl	$0, 64(%rsp)
  565          LIST == RECORD(0)
				movq	$0, 16(%rsp)
		.LVL407:
  566          WHICHX = WHICH&BIT
  567          !!
  568          %IF SCRQ = 3 %START;           ! PIN ENTRY
				cmpl	$3, %esi
				je	.L318
		.L238:
  569             X = PX; Y = PY
				movl	PX.6437(%rip), %eax
				movl	%eax, 80(%rsp)
  570             SQU = (Y-1)*8+X
				movl	PY.6438(%rip), %edx
				movl	%edx, 76(%rsp)
				leal	-8(%rax,%rdx,8), %eax
				movl	%eax, 44(%rsp)
		.L239:
  571             -> PIN ENTRY
  572          %FINISH
  573
  574          !!
  575          SQU = 0
				movl	$0, 44(%rsp)
  576          %CYCLE Y = 1,1, 8
  577
  578             %CYCLE X = 1, 1, 8
  579                TYPE = -1
				movl	$0, %eax
		.L240:
				movl	$-1, 92(%rsp)
				movl	76(%rsp), %eax
				cmpl	$8, %eax
				jne	.L240
		.L243:
  580                SQU = SQU+1
				addl	$1, %eax
				movl	%eax, 76(%rsp)
				addl	$1, 44(%rsp)
				jmp	.L239
		.L318:
  581 PIN ENTRY:
				movl	$0, %eax
		.L244:
				movl	80(%rsp), %eax
				cmpl	$8, %eax
				jne	.L244
		.L241:
		.L242:
  582                Q = PT(SQU)_P;           ! PICK UP PIECE(X,Y)
				addl	$1, %eax
				movl	%eax, 80(%rsp)
				movl	44(%rsp), %eax
				subl	$1, %eax
				cltq
				movq	32(%r15,%rax,8), %rax
				movl	(%rax), %eax
				movl	%eax, 88(%rsp)
  583                %IF Q # 0 %AND (Q&BIT = WHICHX %OR %C
				testl	%eax, %eax
				je	.L292
  584                  SCRQ > 0) %START
				movl	%ebx, %edx
				shrl	$31, %edx
				testl	%eax, %edx
				jne	.L248
  585                   %IF Q<0 %THEN QQ=-Q %AND W2=-1 %ELSE %C
				cmpl	$0, 100(%rsp)
				jle	.L292
		.L248:
				testl	%eax, %eax
				js	.L319
		.L249:
  586                     QQ = Q %AND W2 = +1
				negl	%eax
				movl	%eax, 96(%rsp)
  587                   -> MOVE(QQ)
				movl	96(%rsp), %ebp
		.LVL409:
		.LDL15:
				movl	$-1, 40(%rsp)
  588
				jmp	.L250
		.LVL412:
		.L253:
  589 MOVE(1):                                ! PAWN
  590                   TYPE = 0
				movl	%eax, 96(%rsp)
				movl	$0, 92(%rsp)
  591                   PIN FLAG = 0
				movl	$1, 40(%rsp)
		.L250:
		.LVL408:
				movl	$0, 60(%rsp)
  592                   K = DOM(X, Y-W2)
				movl	76(%rsp), %esi
				subl	40(%rsp), %esi
				leaq	16(%rsp), %r10
				movl	80(%rsp), %edi
				call	DOM.6745
		.LVL413:
  593                   PIN FLAG = 0
				movl	$0, 60(%rsp)
  594                   K=DOM(X, Y-W2-W2) %IF (Y=2 %OR Y=7) %AND K#0
				movl	76(%rsp), %esi
  595                   TYPE = 1
				cmpl	$7, %esi
				je	.L256
				cmpl	$2, %esi
				je	.L256
		.LVL414:
		.L254:
				movl	$1, 92(%rsp)
  596                   PIN FLAG = 0
				movl	$0, 60(%rsp)
  597                   K = DOM(X-1, Y-W2); PIN FLAG = 0;  K=DOM(X+1, Y-W2)
				movl	76(%rsp), %esi
				subl	40(%rsp), %esi
				movl	80(%rsp), %eax
				leal	-1(%rax), %edi
				leaq	16(%rsp), %rbp
		.LVL415:
				movq	%rbp, %r10
				call	DOM.6745
		.LVL416:
				testl	%eax, %eax
				je	.L254
  598                   ->OUT
				movl	$0, 60(%rsp)
				jmp	.L292
		.LVL418:
		.L256:
				movl	40(%rsp), %eax
		.LVL419:
				subl	%eax, %esi
				subl	%eax, %esi
				leaq	16(%rsp), %r10
				movl	80(%rsp), %edi
				call	DOM.6745
		.LVL420:
				jmp	.L254
		.L257:
		.LVL421:
  599                   !!
				movl	76(%rsp), %esi
				subl	40(%rsp), %esi
				movl	80(%rsp), %eax
				leal	1(%rax), %edi
				movq	%rbp, %r10
				call	DOM.6745
		.LVL417:
  600 MOVE(2):                                ! KNIGHT
  601                   %CYCLE A = -2, 4, 2
  602                      %CYCLE B = -1, 2, 1
				movl	$-6, %r12d
  603                            PIN FLAG = 0
				movl	$-3, %ebp
		.LVL425:
		.L258:
				movl	$0, 60(%rsp)
  604                            K = DOM(X+A, Y+B)
				leaq	16(%rsp), %r13
				jmp	.L259
		.LVL422:
		.L320:
		.LDL16:
		.LDL17:
				cmpl	$2, %r12d
				je	.L292
		.LVL423:
		.L259:
				movl	%ebp, %esi
				addl	76(%rsp), %esi
				movl	%r12d, %edi
				addl	80(%rsp), %edi
				movq	%r13, %r10
				call	DOM.6745
		.LVL427:
  605                             PIN FLAG = 0
				addl	$4, %r12d
		.LVL424:
				movl	$0, 60(%rsp)
				cmpl	$1, %ebp
				jne	.L258
				jmp	.L320
		.LVL429:
		.L261:
		.L262:
  606                            K = DOM(X+B, Y+A)
				addl	$2, %ebp
		.LVL426:
				movl	%r12d, %esi
				addl	76(%rsp), %esi
				movl	%ebp, %edi
				addl	80(%rsp), %edi
				movq	%r13, %r10
				call	DOM.6745
		.LVL428:
		.LDL18:
  607                      %REPEAT
  608                   %REPEAT
  609                   -> OUT
  610                   !!!
  611 MOVE(3):                                ! BISHOP
  612 MOVE(5):                                ! QUEEN
  613                   DIAG = 1
				movl	$1, 64(%rsp)
		.LVL430:
  614                   I = 0;  PIN FLAG = 0
				movl	$0, %r12d
  615                   %CYCLE
				movl	$0, 60(%rsp)
  616                      I = I-1
				subl	$1, %r12d
		.LVL432:
  617                      K = DOM(X+I, Y+I)
				leaq	16(%rsp), %r13
		.LVL431:
		.L263:
				movl	%r12d, %esi
				addl	76(%rsp), %esi
				movl	%r12d, %edi
				addl	80(%rsp), %edi
				movq	%r13, %r10
				call	DOM.6745
		.LVL433:
  618                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L263
				movl	%eax, %ebp
		.LVL434:
		.L264:
  619                   I = 0;  PIN FLAG = 0
  620                   %CYCLE
				movl	$0, 60(%rsp)
  621                      I = I-1
				subl	$1, %ebp
		.LVL436:
  622                      K = DOM(X-I, Y+I)
				leaq	16(%rsp), %r13
		.LVL435:
		.L265:
				movl	%ebp, %esi
				addl	76(%rsp), %esi
				movl	80(%rsp), %edi
				subl	%ebp, %edi
				movq	%r13, %r10
				call	DOM.6745
		.LVL437:
  623                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L265
				movl	%eax, %r12d
		.L266:
		.LVL438:
  624                   I = 0;  PIN FLAG = 0
  625                   %CYCLE
				movl	$0, 60(%rsp)
  626                      I = I-1
				subl	$1, %r12d
		.LVL440:
  627                      K = DOM(X+I, Y-I)
				leaq	16(%rsp), %r13
		.LVL439:
		.L267:
				movl	76(%rsp), %esi
				subl	%r12d, %esi
				movl	%r12d, %edi
				addl	80(%rsp), %edi
				movq	%r13, %r10
				call	DOM.6745
		.LVL441:
  628                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L267
				movl	%eax, %ebp
		.L268:
		.LVL442:
  629                   I = 0;  PIN FLAG = 0
  630                   %CYCLE
				movl	$0, 60(%rsp)
  631                      I = I-1
				subl	$1, %ebp
		.LVL444:
  632                      K = DOM(X-I, Y-I)
				leaq	16(%rsp), %r12
		.LVL443:
		.L269:
				movl	76(%rsp), %esi
				subl	%ebp, %esi
				movl	80(%rsp), %edi
				subl	%ebp, %edi
				movq	%r12, %r10
				call	DOM.6745
		.LVL445:
  633                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L269
		.L270:
  634                   -> OUT %IF QQ # QUEEN;     ! THE BISHOP
				cmpl	$5, 96(%rsp)
				jne	.L292
		.L271:
		.LVL446:
		.L272:
  635
  636 MOVE(4):                                ! ROOK
  637                   DIAG = 0
				movl	$0, 64(%rsp)
		.LVL447:
  638                   K = 1;  I = 0;  PIN FLAG = 0
  639                   %CYCLE
				movl	$0, %r12d
  640                      I = I-1
				movl	$0, 60(%rsp)
				subl	$1, %r12d
		.LVL449:
  641                      K = DOM(X, Y+I)
				leaq	16(%rsp), %r13
		.LVL448:
		.L273:
				movl	%r12d, %esi
				addl	76(%rsp), %esi
				movq	%r13, %r10
				movl	80(%rsp), %edi
				call	DOM.6745
		.LVL450:
  642                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L273
				movl	%eax, %ebp
		.L274:
		.LVL451:
  643                   I = 0;  PIN FLAG = 0
  644                   %CYCLE
				movl	$0, 60(%rsp)
  645                      I = I+1
				addl	$1, %ebp
		.LVL453:
  646                      K = DOM(X+I, Y)
				leaq	16(%rsp), %r13
		.LVL452:
		.L275:
				movl	%ebp, %edi
				addl	80(%rsp), %edi
				movq	%r13, %r10
				movl	76(%rsp), %esi
				call	DOM.6745
		.LVL454:
  647                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L275
				movl	%eax, %r12d
		.L276:
		.LVL455:
  648                   I = 0;  PIN FLAG = 0
  649                   %CYCLE
				movl	$0, 60(%rsp)
  650                      I = I+1
				addl	$1, %r12d
		.LVL457:
  651                      K = DOM(X, Y+I)
				leaq	16(%rsp), %r13
		.LVL456:
		.L277:
				movl	%r12d, %esi
				addl	76(%rsp), %esi
				movq	%r13, %r10
				movl	80(%rsp), %edi
				call	DOM.6745
		.LVL458:
  652                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L277
				movl	%eax, %ebp
		.L278:
		.LVL459:
  653                   I = 0;  PIN FLAG = 0
  654                   %CYCLE
				movl	$0, 60(%rsp)
  655                      I = I-1
				subl	$1, %ebp
		.LVL461:
  656                      K = DOM(X+I, Y)
				leaq	16(%rsp), %r12
		.LVL460:
		.L279:
				movl	%ebp, %edi
				addl	80(%rsp), %edi
				movq	%r12, %r10
				movl	76(%rsp), %esi
				call	DOM.6745
		.LVL462:
  657                   %REPEAT %UNTIL K = 0
				testl	%eax, %eax
				jne	.L279
		.L247:
		.L288:
		.L289:
		.L290:
		.L291:
		.LVL463:
		.L292:
  658                   -> OUT
  659
  660
  661                   !!
  662 MOVE(6):                                ! KING
  663                   ROW == BRD(Y)
				movl	76(%rsp), %eax
				subl	$1, %eax
				cltq
				salq	$7, %rax
				leaq	BRD.6404(%rip), %rdx
				addq	%rdx, %rax
				movq	%rax, 24(%rsp)
		.LVL470:
  664                   %CYCLE A = -1, 1, 1
  665                      %CYCLE B = -1, 1, 1
				movl	$-2, %r12d
  666                         %IF A#0 %OR B#0 %START
				movl	$-2, %ebp
		.LVL474:
		.L281:
  667                           PIN FLAG = 0
				cmpl	$1, %r12d
				je	.L322
		.LVL472:
		.L283:
				movl	%r12d, %eax
				orl	%ebp, %eax
				je	.L281
		.L285:
				movl	$0, 60(%rsp)
  668                           K = DOM(X+A, Y+B)
				leaq	16(%rsp), %r13
				jmp	.L283
		.LVL471:
		.L323:
		.LDL19:
		.LDL20:
				addl	$1, %r12d
		.LVL473:
				movl	%ebp, %esi
				addl	76(%rsp), %esi
				movl	%r12d, %edi
				addl	80(%rsp), %edi
				movq	%r13, %r10
				call	DOM.6745
		.LVL476:
				cmpl	$1, %ebp
				jne	.L281
				jmp	.L323
		.L322:
		.L282:
  669                          ! %IF K#0 %AND W2#WHICH %THEN K MOB=K MOB+1
				addl	$1, %ebp
		.LVL475:
  670                         %FINISH
  671                      %REPEAT
  672                   %REPEAT
  673                   %IF LAST CHK # Q %AND %C
				movl	88(%rsp), %eax
				cmpl	%eax, LASTCHK.6470(%rip)
				je	.L292
  674                     KCASCH(W2) = Y %AND KMOVE(W2)=0 %START
				movl	40(%rsp), %edx
				leal	1(%rdx), %eax
				movslq	%eax, %rsi
				leaq	KCASCH.6732(%rip), %rcx
				movl	(%rcx,%rsi,4), %esi
				cmpl	76(%rsp), %esi
				jne	.L292
  675                                         ! CORRECT ROW AND ABLE TO CASTLE
				cltq
				leaq	KMOVE.6452(%rip), %rcx
				cmpb	$0, (%rcx,%rax)
				jne	.L292
		.LBB473:
  676                      %IF ROW_R(6)_P = 0 = ROW_R(7)_P %AND %C
  677                        ROW_R(8)_P = ROOK*W2 %START
  678                         TYPE = 6; K = DOM(7, Y); ! DO CASTLE
				movl	$6, 92(%rsp)
  679                      %FINISH
				movq	24(%rsp), %rax
		.LVL477:
				cmpl	$0, 80(%rax)
				jne	.L287
				leaq	16(%rsp), %r10
				movl	$7, %edi
				call	DOM.6745
		.LVL481:
				jmp	.L287
		.LVL482:
		.L321:
		.LBB475:
		.LBB471:
		.LBB469:
  680                      %IF ROW_R(4)_P = 0 =ROW_R(3)_P %AND %C
  681                        ROW_R(2)_P = 0 %AND ROW_R(1)_P = ROOK*W2 %C
				cmpl	$0, 96(%rax)
				jne	.L287
		.LBE473:
  682                        %START
  683                         TYPE = 7; K = DOM(3, Y)
				sall	$2, %edx
				cmpl	%edx, 112(%rax)
				je	.L324
		.L287:
		.LBB474:
				movq	24(%rsp), %rax
		.LVL478:
				cmpl	$0, 48(%rax)
				jne	.L292
				movl	$7, 92(%rsp)
  684                      %FINISH
				leaq	16(%rsp), %r10
				movl	76(%rsp), %esi
				movl	$3, %edi
				call	DOM.6745
		.LVL479:
				jmp	.L292
		.LVL480:
		.L324:
  685                   %FINISH
				cmpl	$0, 32(%rax)
				jne	.L292
		.LBE474:
  686                   !!
  687 OUT:
				cmpl	$0, 16(%rax)
				jne	.L292
  688                %FINISH
				movl	40(%rsp), %ecx
				leal	0(,%rcx,4), %edx
				cmpl	%edx, (%rax)
				jne	.L292
  689                %RESULT = 0 %IF SCRQ = 3
				movl	100(%rsp), %edx
				cmpl	$3, %edx
				je	.L237
		.L245:
		.L246:
  690             %REPEAT
				movl	$0, %eax
  691          %REPEAT
  692          CHECK PINS(WHICH) %IF SCRQ > 0
				testl	%edx, %edx
				jle	.L303
		.LVL464:
		.LBB465:
		.LBB466:
  693                                         ! ONLY ON SCORE ENTRY
				movl	72(%rsp), %eax
				movl	%eax, 12(%rsp)
		.LVL466:
		.LBB472:
		.LBB470:
		.LBB467:
  694
  695          %RESULT = ADDR(LIST)
				movl	16(%rsp), %eax
		.L237:
  696       %END
  697       !!
  698       %INTEGERFN SORT AND PRUNE(%RECORD(LISTF)%NAME LIST, %C
		.LVL79:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$800, %rsp
				movq	%fs:40, %rax
				movq	%rax, 792(%rsp)
				xorl	%eax, %eax
				leal	-1(%rbp), %eax
				cmpl	$5, %eax
				ja	.L251
		.L252:
				movl	_imp_current_line(%rip), %r12d
				testl	%r12d, %r12d
				movl	$698, %eax
				cmove	%eax, %r12d
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L305
				leaq	368(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL495:
		.L306:
				pushq	$587
				leaq	.LC3(%rip), %rax
				pushq	%rax
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				pushq	632(%rsp)
				movl	%ebp, %r9d
				leaq	.LC2(%rip), %r8
				movl	%ebp, %ecx
				movl	$3, %edx
				movl	$6, %esi
				movl	%r12d, %edi
				movl	$0, %eax
				call	_signal_eventf@PLT
		.LVL496:
				addq	$272, %rsp
				jmp	.L252
		.L305:
		.LVL497:
		.LBB476:
				movabsq	$8603403804667503988, %rax
				movabsq	$3330820338876965679, %rdx
				movq	%rax, 1137(%rsp)
				movq	%rdx, 1145(%rsp)
				movq	$7368041, 1153(%rsp)
				movq	$0, 1161(%rsp)
				movb	$0, 1169(%rsp)
				movw	$0, 1170(%rsp)
				movl	$0, 1172(%rsp)
				leaq	1176(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$19, 1136(%rsp)
				movq	1136(%rsp), %rax
				movq	1144(%rsp), %rdx
				movq	%rax, 112(%rsp)
				movq	%rdx, 120(%rsp)
				movdqa	1152(%rsp), %xmm7
				movaps	%xmm7, 128(%rsp)
				movdqa	1168(%rsp), %xmm5
				movaps	%xmm5, 144(%rsp)
				movdqa	1184(%rsp), %xmm3
				movaps	%xmm3, 160(%rsp)
				movdqa	1200(%rsp), %xmm1
				movaps	%xmm1, 176(%rsp)
				movq	1216(%rsp), %r13
				movq	1224(%rsp), %r14
				movq	%r13, 192(%rsp)
				movq	%r14, 200(%rsp)
				movdqa	1232(%rsp), %xmm9
				movaps	%xmm9, 208(%rsp)
				movdqa	1248(%rsp), %xmm11
				movaps	%xmm11, 224(%rsp)
				movdqa	1264(%rsp), %xmm13
				movaps	%xmm13, 240(%rsp)
				movdqa	1280(%rsp), %xmm15
				movaps	%xmm15, 256(%rsp)
				movdqa	1296(%rsp), %xmm0
				movaps	%xmm0, 272(%rsp)
				movdqa	1312(%rsp), %xmm2
				movaps	%xmm2, 288(%rsp)
				movdqa	1328(%rsp), %xmm4
				movaps	%xmm4, 304(%rsp)
				movq	1344(%rsp), %r9
				movq	1352(%rsp), %r10
				movq	%r9, 320(%rsp)
				movq	%r10, 328(%rsp)
				movq	1360(%rsp), %rsi
				movq	1368(%rsp), %rdi
				movq	%rsi, 336(%rsp)
				movq	%rdi, 344(%rsp)
				movq	1376(%rsp), %rax
				movq	1384(%rsp), %rdx
				movq	%rax, 352(%rsp)
				movq	%rdx, 360(%rsp)
		.LVL498:
		.LBE476:
				movb	$19, 112(%rsp)
				movdqa	112(%rsp), %xmm6
				movaps	%xmm6, 368(%rsp)
				movaps	%xmm7, 384(%rsp)
				movaps	%xmm5, 400(%rsp)
				movaps	%xmm3, 416(%rsp)
				movaps	%xmm1, 432(%rsp)
				movq	%r13, 448(%rsp)
				movq	%r14, 456(%rsp)
				movaps	%xmm9, 464(%rsp)
				movaps	%xmm11, 480(%rsp)
				movaps	%xmm13, 496(%rsp)
				movaps	%xmm15, 512(%rsp)
				movaps	%xmm0, 528(%rsp)
				movaps	%xmm2, 544(%rsp)
				movaps	%xmm4, 560(%rsp)
				movq	%r9, 576(%rsp)
				movq	%r10, 584(%rsp)
				movq	%rsi, 592(%rsp)
				movq	%rdi, 600(%rsp)
				movq	%rax, 608(%rsp)
				movq	%rdx, 616(%rsp)
				jmp	.L306
		.LVL499:
		.L325:
  699          %INTEGER WIDTH, WHICH)
				leaq	MOVE.6736(%rip), %rax
				subl	$1, %ebp
		.LVL410:
				movslq	%ebp, %rbp
				jmp	*(%rax,%rbp,8)
		.LVL411:
		.L319:
  700
				movq	1400(%rsp), %rcx
				xorq	%fs:40, %rcx
				jne	.L325
				addq	$1416, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
				ret
		.LVL494:
		.L251:
				call	__stack_chk_fail@PLT
		.LVL500:
		.LFE193:
		TRYANOTHERPLY.6631:
		.LFB191:
  701
  702          %INTEGER I, MAX
  703          %RECORD(LISTF)%NAME M1, M2, L, LN, RES
  704          %CONSTINTEGERARRAY MAXA(-1:1) = 25000, 0, -25000
				movl	$25000, 4(%rsp)
				movl	$0, 8(%rsp)
				movl	$-25000, 12(%rsp)
  705          !!
  706
  707          %RESULT = 0 %IF ADDR(LIST) = 0
				testq	%rdi, %rdi
				je	.L29
				movq	%rdi, %r12
				movl	%esi, %r13d
				movl	%edx, %ebp
				movq	%r10, %r14
		.L31:
		.LVL80:
		.LBB308:
  708
  709          RES == RECORD(0)
  710          %CYCLE I = 1, 1, WIDTH
  711             M1 == RECORD(0)
				movl	$0, %edi
				jmp	.L44
		.LVL106:
		.L38:
		.LBE308:
  712             M2 == M1; LN == M1
				movl	%esi, %eax
				subl	$1, %eax
				js	.L59
		.LVL81:
		.L32:
				leaq	272(%rsp), %rdi
		.LVL85:
				leaq	.LC0(%rip), %rsi
		.LVL86:
				call	_imp_c2istr@PLT
		.LVL87:
				movl	_imp_current_line(%rip), %ebx
				testl	%ebx, %ebx
				movl	$712, %eax
				cmove	%eax, %ebx
				movq	_imp_current_file(%rip), %rsi
				testq	%rsi, %rsi
				je	.L34
				leaq	528(%rsp), %rdi
				call	_imp_c2istr@PLT
		.LVL88:
		.L35:
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				pushq	1032(%rsp)
				movl	$0, %ecx
				movl	$1, %edx
				movl	$5, %esi
				movl	%ebx, %edi
				call	_signal_event@PLT
		.LVL89:
				addq	$512, %rsp
				jmp	.L32
		.L34:
		.LVL90:
		.LBB309:
				movabsq	$8603403804667503988, %rax
				movabsq	$3330820338876965679, %rdx
				movq	%rax, 529(%rsp)
				movq	%rdx, 537(%rsp)
				movq	$7368041, 545(%rsp)
				movq	$0, 553(%rsp)
				movb	$0, 561(%rsp)
				movw	$0, 562(%rsp)
				movl	$0, 564(%rsp)
				leaq	568(%rsp), %rdi
				movl	$27, %ecx
				movl	$0, %eax
				rep stosq
				movb	$19, 528(%rsp)
				movq	528(%rsp), %rax
				movq	536(%rsp), %rdx
				movq	%rax, 16(%rsp)
				movq	%rdx, 24(%rsp)
				movq	544(%rsp), %rax
				movq	552(%rsp), %rdx
				movq	%rax, 32(%rsp)
				movq	%rdx, 40(%rsp)
				movq	560(%rsp), %rax
				movq	568(%rsp), %rdx
				movq	%rax, 48(%rsp)
				movq	%rdx, 56(%rsp)
				movq	576(%rsp), %rax
				movq	584(%rsp), %rdx
				movq	%rax, 64(%rsp)
				movq	%rdx, 72(%rsp)
				movq	592(%rsp), %rax
				movq	600(%rsp), %rdx
				movq	%rax, 80(%rsp)
				movq	%rdx, 88(%rsp)
				movq	608(%rsp), %rax
				movq	616(%rsp), %rdx
				movq	%rax, 96(%rsp)
				movq	%rdx, 104(%rsp)
				movq	624(%rsp), %rax
				movq	632(%rsp), %rdx
				movq	%rax, 112(%rsp)
				movq	%rdx, 120(%rsp)
				movq	640(%rsp), %rax
				movq	648(%rsp), %rdx
				movq	%rax, 128(%rsp)
				movq	%rdx, 136(%rsp)
				movq	656(%rsp), %rax
				movq	664(%rsp), %rdx
				movq	%rax, 144(%rsp)
				movq	%rdx, 152(%rsp)
				movq	672(%rsp), %rax
				movq	680(%rsp), %rdx
				movq	%rax, 160(%rsp)
				movq	%rdx, 168(%rsp)
				movq	688(%rsp), %rax
				movq	696(%rsp), %rdx
				movq	%rax, 176(%rsp)
				movq	%rdx, 184(%rsp)
				movq	704(%rsp), %rax
				movq	712(%rsp), %rdx
				movq	%rax, 192(%rsp)
				movq	%rdx, 200(%rsp)
				movq	720(%rsp), %rax
				movq	728(%rsp), %rdx
				movq	%rax, 208(%rsp)
				movq	%rdx, 216(%rsp)
				movq	736(%rsp), %rax
				movq	744(%rsp), %rdx
				movq	%rax, 224(%rsp)
				movq	%rdx, 232(%rsp)
				movq	752(%rsp), %rax
				movq	760(%rsp), %rdx
				movq	%rax, 240(%rsp)
				movq	%rdx, 248(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
		.LVL91:
		.LBE309:
				movb	$19, 16(%rsp)
				movq	16(%rsp), %rax
				movq	24(%rsp), %rdx
				movq	%rax, 528(%rsp)
				movq	%rdx, 536(%rsp)
				jmp	.L35
		.LVL92:
		.L55:
				movl	$0, %ebx
				movl	$0, %ebx
				jmp	.L46
		.LVL121:
		.L62:
		.LBE311:
  713             MAX = MAXA(WHICH)
				leal	1(%rbp), %eax
				cltq
		.LVL83:
				movl	$0, %r9d
				movl	$0, %ecx
  714
  715             L == LIST
				testl	%r13d, %r13d
				je	.L53
		.LVL82:
				cmpl	%r8d, %r13d
				je	.L38
				movl	$0, %ebx
				jmp	.L36
		.LVL110:
		.L57:
		.LBE310:
  716             %%EXIT  %IF ADDR(L) = 0
				movl	$1, %r8d
				addl	$1, %r8d
		.LVL104:
				movq	%rbx, %r9
				testq	%r12, %r12
				je	.L39
		.LVL105:
		.L37:
  717
  718             %WHILE ADDR(L) # 0 %CYCLE
  719                %IF (WHICH<0 %AND L_SCORE<MAX) %OR %C
				movl	4(%rsp,%rax,4), %r10d
				jmp	.L37
		.LVL84:
		.L59:
				testq	%rax, %rax
				je	.L60
				testl	%ebp, %ebp
				js	.L61
		.L41:
				testq	%r12, %r12
				je	.L40
				movq	%r12, %rdx
				movl	%r10d, %esi
  720                  (WHICH>0 %AND L_SCORE>MAX) %START
				cmpl	%esi, 8(%rdx)
				jge	.L43
		.L42:
		.LVL95:
  721                   !!
  722                   M2 == L;  M1 == LN;  MAX = L_SCORE
				testl	%ebp, %ebp
				jle	.L43
  723                %FINISH
				cmpl	%esi, 8(%rdx)
				jle	.L43
  724                !!
				movl	8(%rdx), %esi
		.LVL96:
				movq	%rdx, %rbx
				movq	%rcx, %rdi
		.LVL97:
		.L43:
				jmp	.L42
		.LVL100:
		.L60:
		.L45:
  725                LN == L;  L == L_L
  726             %REPEAT
				movq	(%rdx), %rax
		.LDL1:
		.LDL2:
		.LVL98:
				movq	%rdx, %rcx
				movq	%rax, %rdx
		.LVL99:
		.L44:
  727
  728             !!
  729             L == M2_L;                  ! PICKUP ITS POINTER
				movq	%rax, %r12
		.LVL93:
				jmp	.L46
		.LVL94:
		.L61:
				movq	(%rbx), %rax
		.LVL101:
				movq	0, %r12
		.LVL119:
  730             M2_L == RES
				movq	%r9, (%rbx)
		.LVL102:
				movq	%r9, 0
		.LVL120:
  731             RES == M2;                     ! NOTE LINKS BACKWARDS
  732             %IF ADDR(M1) = 0 %THEN LIST == L %ELSE %C
				testq	%rdi, %rdi
				je	.L55
		.L47:
  733               M1_L == L
  734          %REPEAT
  735
  736          %IF ADDR(LIST) # 0 %THEN RELEASE CHAIN(LIST)
				movq	%rax, (%rdi)
		.LVL103:
		.L46:
				testq	%r12, %r12
				je	.L39
		.LVL107:
		.L36:
  737          L == RECORD (0)
				movq	%r14, %r10
				movq	%r12, %rdi
				call	RELEASECHAIN.6544
		.LVL108:
		.L39:
  738          %WHILE ADDR(RES) # 0 %CYCLE
  739             M1 == RES_L;                ! NEXT LINK
				testq	%rbx, %rbx
				je	.L56
				movl	$0, %edx
				jmp	.L49
		.LVL109:
		.L53:
		.LBB310:
				movq	(%rbx), %rax
		.LVL112:
				testq	%rax, %rax
				jne	.L57
		.LVL114:
		.L48:
				movl	$0, %ebx
		.LVL117:
				jmp	.L48
		.LVL118:
		.L40:
		.LBB311:
  740             RES_L == L;                 ! LINK TO NEXT
				movq	%rdx, (%rbx)
		.LVL113:
				movq	%rbx, %rdx
  741             L == RES
  742             RES == M1
				movq	%rax, %rbx
		.LVL111:
		.L49:
  743          %REPEAT
  744          %RESULT = ADDR(L)
				movl	%ebx, %eax
		.LVL115:
		.L29:
  745       %END
				movq	792(%rsp), %rdi
				xorq	%fs:40, %rdi
				jne	.L62
				addq	$800, %rsp
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.LVL116:
		.L56:
				call	__stack_chk_fail@PLT
		.LVL122:
		.LFE195:
		EXVAL.6599:
		.LFB189:
  746       !!
  747       %INTEGERFN CHANGE BOARD(%RECORD(LISTF{QHF})%NAME B)
		.LVL3:
  748
  749          %RECORD(SQF)%NAME SQ
  750          %RECORD(ROWF)%NAME ROW
  751          %RECORD(LISTF)%NAME LIST
  752          %INTEGER FROM, TO, X, Y, X0, Y0, KING, CAS, ROOK
  753          LIST == B_L
				movq	(%rdi), %rcx
		.LVL4:
  754          FROM = LIST_FR;  TO = LIST_TO
				movzbl	4(%rcx), %esi
		.LVL5:
  755          X = FROM>>4;  X0 = TO>>4
				movzbl	5(%rcx), %edx
		.LVL6:
				movzbl	%sil, %eax
		.LVL7:
				shrl	$4, %eax
		.LVL8:
  756          Y = FROM&15; Y0 = TO&15
				andl	$15, %esi
		.LVL9:
				movzbl	%dl, %edx
		.LVL10:
				shrl	$4, %edx
		.LVL11:
				subl	$1, %edx
		.LVL12:
  757          SQ == BRD(Y0)_R(X0)
				movl	%edx, %r8d
				andl	$15, %r8d
				subl	$1, %r8d
  758          B_HOLD = SQ_P
				movslq	%edx, %r9
				movslq	%r8d, %r10
		.LVL13:
				leaq	(%r9,%r10,8), %r9
				salq	$4, %r9
				leaq	BRD.6404(%rip), %r10
		.LVL14:
				movl	(%r10,%r9), %r9d
				movl	%r9d, (%rdi)
		.LVL15:
  759          %IF LIST_SPEC # 0 %START
				movl	8(%rcx), %ecx
		.LVL16:
				testl	%ecx, %ecx
				je	.L6
  760             %IF LIST_SPEC >= 6 %START;  ! CASTLE
				cmpl	$5, %ecx
				jle	.L7
  761                %IF SQ_P<0 %START
				movslq	%edx, %rax
		.LVL17:
				movslq	%r8d, %rsi
		.LVL18:
				leaq	(%rax,%rsi,8), %rax
				salq	$4, %rax
				cmpl	$0, (%r10,%rax)
				js	.L14
		.L8:
		.LVL19:
  762                   CAS = 1;  KING = -6; ROOK = -4; KCAS(-1) = -30
				movl	$1, %esi
		.LVL30:
  763                %FINISHELSESTART
				movl	$-6, %eax
				jmp	.L9
		.LVL31:
		.L15:
  764                   CAS = 8;  KING = 6;  ROOK = 4; KCAS(1) = 30
				movl	$8, %esi
		.LVL21:
				movl	$-4, %edi
		.LVL29:
  765                %FINISH
				movl	$6, %eax
		.LVL22:
		.L9:
				movl	$-30, KCAS.6453(%rip)
  766                ROW == BRD(CAS)
				movl	$4, %edi
		.LVL20:
				subl	$1, %esi
		.LVL23:
				cmpl	$6, %ecx
				je	.L15
		.L10:
  767                %IF LIST_SPEC = 6 %START;     ! KING SIDE
				movl	$30, 8+KCAS.6453(%rip)
  768                   ROW_R(7)_P = KING;  ROW_R(6)_P = ROOK
				movslq	%esi, %rsi
				salq	$7, %rsi
		.LVL32:
				leaq	BRD.6404(%rip), %rcx
				addq	%rcx, %rsi
				movl	%eax, 96(%rsi)
  769                   ROW_R(8)_P = 0
				movl	%edi, 80(%rsi)
				movl	$0, 112(%rsi)
  770                %FINISHELSESTART
				jmp	.L11
		.LVL33:
		.L7:
  771                   ROW_R(3)_P = KING;  ROW_R(4)_P = ROOK
				movslq	%esi, %rsi
				salq	$7, %rsi
		.LVL24:
				leaq	BRD.6404(%rip), %rcx
				addq	%rcx, %rsi
		.LVL25:
				movl	%eax, 32(%rsi)
  772                   ROW_R(1)_P = 0
				movl	%edi, 48(%rsi)
				movl	$0, (%rsi)
		.LVL26:
		.L11:
  773                %FINISH
  774                SQ_P = 0
				movslq	%edx, %rdx
				movslq	%r8d, %r8
				leaq	(%rdx,%r8,8), %rdx
		.LVL27:
				salq	$4, %rdx
				leaq	BRD.6404(%rip), %rcx
				movl	$0, (%rcx,%rdx)
  775                %RESULT = KING
				ret
		.LVL28:
		.L14:
  776             %FINISH
  777             SQ_P = LIST_SPEC
				movslq	%edx, %rdi
		.LVL34:
				movslq	%r8d, %r9
				leaq	(%rdi,%r9,8), %rdi
				salq	$4, %rdi
				leaq	BRD.6404(%rip), %r9
				movl	%ecx, (%r9,%rdi)
  778          %FINISHELSESTART
				jmp	.L13
		.LVL35:
		.L6:
  779             SQ_P = BRD(Y)_R(X)_P
				leaq	BRD.6404(%rip), %r9
				leal	-1(%rax), %ecx
				movslq	%ecx, %rcx
				leal	-1(%rsi), %edi
		.LVL36:
				movslq	%edi, %rdi
				leaq	(%rcx,%rdi,8), %rcx
				salq	$4, %rcx
				movl	(%r9,%rcx), %edi
				movslq	%edx, %rcx
				movslq	%r8d, %r10
				leaq	(%rcx,%r10,8), %rcx
				salq	$4, %rcx
				movl	%edi, (%r9,%rcx)
		.L13:
  780          %FINISH
  781          BRD(Y)_R(X)_P = 0
				leaq	BRD.6404(%rip), %rdi
				leal	-1(%rax), %ecx
				movslq	%ecx, %rcx
				subl	$1, %esi
		.LVL37:
				movslq	%esi, %rsi
				leaq	(%rcx,%rsi,8), %rax
		.LVL38:
				salq	$4, %rax
				movl	$0, (%rdi,%rax)
  782          %RESULT = SQ_P
				movslq	%edx, %rdx
				movslq	%r8d, %rax
				leaq	(%rdx,%rax,8), %rax
				salq	$4, %rax
				movl	(%rdi,%rax), %eax
  783       %END
				ret
		.LFE196:
		RESTOREBOARD.6494:
		.LFB197:
  784       !!
  785       %ROUTINE RESTORE BOARD(%RECORD(LISTF{QHF})%NAME B)
		.LVL39:
  786          %RECORD(SQF)%NAME SQ
  787          %RECORD(ROWF)%NAME ROW
  788          %RECORD(LISTF)%NAME LIST
  789          %INTEGER FROM, TO, X, Y, X0, Y0, KING, CAS, ROOK
  790          LIST == B_L
				movq	(%rdi), %r8
		.LVL40:
  791          FROM = LIST_FR;  TO = LIST_TO
				movzbl	4(%r8), %ecx
		.LVL41:
  792          X = FROM>>4;  X0 = TO>>4
				movzbl	5(%r8), %eax
		.LVL42:
				movzbl	%cl, %edx
		.LVL43:
				shrl	$4, %edx
		.LVL44:
  793          Y = FROM&15; Y0 = TO&15
				andl	$15, %ecx
		.LVL45:
				movzbl	%al, %eax
		.LVL47:
				shrl	$4, %eax
		.LVL48:
				subl	$1, %eax
		.LVL49:
  794          SQ == BRD(Y0)_R(X0)
				movl	%eax, %esi
				andl	$15, %esi
		.LVL46:
				leal	-1(%rsi), %r9d
  795          %IF LIST_SPEC # 0 %START
				movl	8(%r8), %r8d
		.LVL50:
				testl	%r8d, %r8d
				je	.L25
  796             %IF LIST_SPEC >= 6 %START;  ! CASTLE
				cmpl	$5, %r8d
				jle	.L18
  797                %IF Y0 = 1 %START
				cmpl	$1, %esi
				je	.L26
		.L19:
		.LVL51:
  798                   CAS = 1;  KING = -6; ROOK = -4; KCAS(-1) = 0
  799                %FINISHELSESTART
				movl	$-6, %ecx
		.LVL64:
				jmp	.L20
		.LVL65:
		.L27:
  800                   CAS = 8;  KING = 6;  ROOK = 4; KCAS(1) = 0
				movl	$8, %esi
		.LVL53:
				movl	$-4, %edi
		.LVL63:
  801                %FINISH
				movl	$6, %ecx
		.LVL54:
		.L20:
				movl	$0, KCAS.6453(%rip)
  802                ROW == BRD(CAS)
				movl	$4, %edi
		.LVL52:
				subl	$1, %esi
		.LVL55:
				cmpl	$6, %r8d
				je	.L27
		.L21:
  803                %IF LIST_SPEC = 6 %START;     ! KING SIDE
				movl	$0, 8+KCAS.6453(%rip)
  804                   ROW_R(8)_P = ROOK
				movslq	%esi, %rsi
				salq	$7, %rsi
		.LVL66:
				leaq	BRD.6404(%rip), %rdx
		.LVL67:
				addq	%rdx, %rsi
				movl	%edi, 112(%rsi)
		.LVL68:
  805                   ROW_R(7)_P = 0;  ROW_R(6)_P = 0
				movl	$0, 96(%rsi)
  806                %FINISHELSESTART
				movl	$0, 80(%rsi)
				jmp	.L22
		.LVL69:
		.L18:
  807                   ROW_R(1)_P = ROOK
				movslq	%esi, %rsi
				salq	$7, %rsi
		.LVL56:
				leaq	BRD.6404(%rip), %rdx
		.LVL57:
				addq	%rdx, %rsi
		.LVL58:
				movl	%edi, (%rsi)
		.LVL59:
  808                   ROW_R(3)_P = 0;  ROW_R(4)_P = 0
				movl	$0, 32(%rsi)
  809                %FINISH
				movl	$0, 48(%rsi)
		.LVL60:
		.L22:
  810                SQ_P = KING
				cltq
				movslq	%r9d, %r9
				leaq	(%rax,%r9,8), %rax
		.LVL61:
				salq	$4, %rax
				leaq	BRD.6404(%rip), %rdx
				movl	%ecx, (%rdx,%rax)
  811                %RETURN
				ret
		.LVL62:
		.L26:
  812             %FINISH
  813             %IF Y0=8 %THEN SQ_P=-1 %ELSE SQ_P=1
				cmpl	$8, %esi
				je	.L28
		.L24:
  814          %FINISH
				movslq	%eax, %rsi
		.LVL77:
				addq	$56, %rsi
				salq	$4, %rsi
				leaq	BRD.6404(%rip), %r8
				movl	$-1, (%r8,%rsi)
		.LVL78:
  815          BRD(Y)_R(X)_P = SQ_P
				leaq	BRD.6404(%rip), %rsi
				cltq
				movslq	%r9d, %r9
				leaq	(%rax,%r9,8), %rax
		.LVL72:
				salq	$4, %rax
				addq	%rsi, %rax
				movl	(%rax), %r8d
				subl	$1, %edx
		.LVL73:
				movslq	%edx, %rdx
				subl	$1, %ecx
		.LVL74:
				movslq	%ecx, %rcx
				leaq	(%rdx,%rcx,8), %rdx
		.LVL75:
				salq	$4, %rdx
				movl	%r8d, (%rsi,%rdx)
				jmp	.L25
		.LFE197:
				.section	.rodata.str1.1,"aMS",@progbits,1
		.LC0:
				.string	"Illegal cycle I = 1, 1, WIDTH"
		SORTANDPRUNE.6481:
		.LFB195:
  816          SQ_P = B_HOLD
				movl	(%rdi), %edx
				movl	%edx, (%rax)
  817       %END
				movslq	%eax, %rsi
		.LVL70:
				movslq	%r9d, %r8
				leaq	(%rsi,%r8,8), %rsi
				salq	$4, %rsi
				leaq	BRD.6404(%rip), %r8
				movl	$1, (%r8,%rsi)
		.LVL71:
		.L17:
		.L25:
  818       !!
				ret
		.LVL76:
		.L28:
  819       !!
  820       %ROUTINE BURP(%RECORD(LISTF{QHF})%NAME X, %INTEGER W)
		.LVL576:
				pushq	%rbp
				pushq	%rbx
				subq	$8, %rsp
				movq	%rdi, %rbp
				movl	%esi, %ebx
  821          %INTEGER I
  822          !!
  823          TELL(X_L, W)
				movq	(%rdi), %rdi
		.LVL577:
				call	TELL.6500
		.LVL578:
		.LBB535:
		.LBB536:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL579:
		.LBE536:
		.LBE535:
		.LBB537:
		.LBB538:
				movl	$42, %edi
				call	_imp_printsymbol@PLT
		.LVL580:
		.LBE538:
		.LBE537:
  824          SELECT OUTPUT(2)
  825          PRINTSYMBOL('*'); TELL(X_L, W)
  826          SELECT OUTPUT(0)
				movl	%ebx, %esi
				movq	0(%rbp), %rdi
				call	TELL.6500
		.LVL581:
		.LBB539:
		.LBB540:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL582:
		.LBE540:
		.LBE539:
  827 !         %IF W > 0 %AND TIMTT < 3 %AND PDEPTH#1 %THEN PDEPTH=PDEPTH+1
  828          I = CHANGE BOARD(X)
				movq	%rbp, %rdi
				call	CHANGEBOARD.6492
		.LVL583:
  829          %IF I = KING*W %THEN KMOVE(W) = 1
				leal	(%rbx,%rbx,2), %edx
				addl	%edx, %edx
				cmpl	%eax, %edx
				je	.L374
		.L372:
		.LVL584:
		.L371:
  830       %END
				addl	$1, %ebx
		.LVL587:
				movslq	%ebx, %rbx
				leaq	KMOVE.6452(%rip), %rax
		.LVL588:
				movb	$1, (%rax,%rbx)
				jmp	.L371
		.LFE198:
				.globl	main
		main:
		.LFB185:
  831       !!
				addq	$8, %rsp
				popq	%rbx
				popq	%rbp
		.LVL585:
				ret
		.LVL586:
		.L374:
  832       %ROUTINE TELL(%RECORD(LISTF)%NAME MOVE, %INTEGER WHICH)
		.LVL204:
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbx
				subq	$1048, %rsp
				movl	%esi, %r12d
				movq	%fs:40, %rax
				movq	%rax, 1032(%rsp)
				xorl	%eax, %eax
  833
  834          %IF ADDR(MOVE) = 0 %START
				testq	%rdi, %rdi
				je	.L114
		.L107:
				movq	%rdi, %rbx
  835             %IF WHICH < 0 %THEN PRINTSTRING("I Win
				testl	%esi, %esi
				js	.L116
		.L108:
		.LVL221:
		.LBB356:
  836 ")          %ELSE %C
				movabsq	$11469329997897, %rax
				movl	$0, %edx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				movb	$0, 785(%rsp)
				movw	$0, 786(%rsp)
				movl	$0, 788(%rsp)
				leaq	792(%rsp), %rdi
		.LVL227:
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$6, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, (%rsp)
				movq	%rdx, 8(%rsp)
		.LVL228:
				movb	$6, (%rsp)
		.LBE361:
		.LBB362:
		.LBB363:
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				call	_imp_printstring@PLT
		.LVL229:
				addq	$256, %rsp
				jmp	.L109
		.LVL230:
		.L110:
		.LBE363:
		.LBE362:
		.LBB364:
		.LBB365:
				movl	$4, %edi
				call	_imp_spaces@PLT
		.LVL231:
		.LBE365:
		.LBE364:
  837               PRINTSTRING("YOU WIN
  838 ")
  839             %STOP
				movabsq	$742611627116154713, %rax
				movl	$0, %edx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				movb	$0, 785(%rsp)
				movw	$0, 786(%rsp)
				movl	$0, 788(%rsp)
				leaq	792(%rsp), %rdi
		.LVL222:
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$8, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
		.LVL223:
				movb	$8, 256(%rsp)
		.LBE356:
		.LBB357:
		.LBB358:
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				call	_imp_printstring@PLT
		.LVL224:
				addq	$256, %rsp
		.L109:
		.LVL225:
		.LBE358:
		.LBE357:
		.LBB359:
		.LBB360:
				movl	$0, %edi
				call	exit@PLT
		.LVL226:
		.L116:
		.LBE360:
		.LBE359:
		.LBB361:
  840          %FINISH
  841          !!
  842          WRITE(NO, 1)
				movl	$1, %esi
		.LVL205:
				movl	NO.6463(%rip), %edi
		.LVL206:
				call	_imp_writeint@PLT
		.LVL207:
  843          %IF WHICH > 0 %THEN SPACES(25) %ELSE SPACES(4)
				testl	%r12d, %r12d
				jle	.L110
		.LVL208:
		.LBB345:
		.LBB346:
				movl	$25, %edi
				call	_imp_spaces@PLT
		.LVL209:
		.LBE346:
		.LBE345:
  844          PRINTMOVE(MOVE)
				movq	%rbx, %rdi
				call	PRINTMOVE.6504
		.LVL210:
		.LBB347:
				movq	%rbx, %rdi
				call	PRINTMOVE.6504
		.LVL232:
		.LBB366:
  845          PRINTSTRING("(")
				movq	$40, 769(%rsp)
				movq	$0, 777(%rsp)
				movb	$0, 785(%rsp)
				movw	$0, 786(%rsp)
				movl	$0, 788(%rsp)
				leaq	792(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$1, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, (%rsp)
				movq	%rdx, 8(%rsp)
				movdqa	784(%rsp), %xmm4
				movaps	%xmm4, 16(%rsp)
				movdqa	800(%rsp), %xmm5
				movaps	%xmm5, 32(%rsp)
				movdqa	816(%rsp), %xmm6
				movaps	%xmm6, 48(%rsp)
				movdqa	832(%rsp), %xmm7
				movaps	%xmm7, 64(%rsp)
				movdqa	848(%rsp), %xmm4
				movaps	%xmm4, 80(%rsp)
				movdqa	864(%rsp), %xmm5
				movaps	%xmm5, 96(%rsp)
				movdqa	880(%rsp), %xmm6
				movaps	%xmm6, 112(%rsp)
				movdqa	896(%rsp), %xmm7
				movaps	%xmm7, 128(%rsp)
				movdqa	912(%rsp), %xmm1
				movaps	%xmm1, 144(%rsp)
				movq	928(%rsp), %r13
				movq	936(%rsp), %r14
				movq	%r13, 160(%rsp)
				movq	%r14, 168(%rsp)
				movq	944(%rsp), %rax
				movq	952(%rsp), %rdx
				movq	%rax, 176(%rsp)
				movq	%rdx, 184(%rsp)
				movq	960(%rsp), %rcx
				movq	968(%rsp), %rbx
		.LVL211:
				movq	%rcx, 192(%rsp)
				movq	%rbx, 200(%rsp)
				movq	976(%rsp), %rsi
				movq	984(%rsp), %rdi
				movq	%rsi, 208(%rsp)
				movq	%rdi, 216(%rsp)
				movq	992(%rsp), %r9
				movq	1000(%rsp), %r10
				movq	%r9, 224(%rsp)
				movq	%r10, 232(%rsp)
				movq	1008(%rsp), %r11
				movq	1016(%rsp), %r12
		.LVL212:
				movq	%r11, 240(%rsp)
				movq	%r12, 248(%rsp)
		.LVL213:
				movb	$1, (%rsp)
				movdqa	(%rsp), %xmm2
				movaps	%xmm2, 512(%rsp)
				movdqa	784(%rsp), %xmm3
				movaps	%xmm3, 528(%rsp)
				movdqa	800(%rsp), %xmm4
				movaps	%xmm4, 544(%rsp)
				movdqa	816(%rsp), %xmm5
				movaps	%xmm5, 560(%rsp)
				movdqa	832(%rsp), %xmm6
				movaps	%xmm6, 576(%rsp)
				movdqa	848(%rsp), %xmm7
				movaps	%xmm7, 592(%rsp)
				movdqa	864(%rsp), %xmm1
				movaps	%xmm1, 608(%rsp)
				movdqa	880(%rsp), %xmm2
				movaps	%xmm2, 624(%rsp)
				movdqa	896(%rsp), %xmm3
				movaps	%xmm3, 640(%rsp)
				movdqa	912(%rsp), %xmm4
				movaps	%xmm4, 656(%rsp)
				movq	%r13, 672(%rsp)
				movq	%r14, 680(%rsp)
				movq	%rax, 688(%rsp)
				movq	%rdx, 696(%rsp)
				movq	%rcx, 704(%rsp)
				movq	%rbx, 712(%rsp)
				movq	%rsi, 720(%rsp)
				movq	%rdi, 728(%rsp)
				movq	%r9, 736(%rsp)
				movq	%r10, 744(%rsp)
				movq	%r11, 752(%rsp)
				movq	%r12, 760(%rsp)
		.LBE347:
		.LBB348:
		.LBB349:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				call	_imp_printstring@PLT
		.LVL214:
		.LBE349:
		.LBE348:
				movq	$40, 769(%rsp)
				movq	$0, 777(%rsp)
				movb	$0, 785(%rsp)
				movw	$0, 786(%rsp)
				movl	$0, 788(%rsp)
				leaq	792(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$1, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, (%rsp)
				movq	%rdx, 8(%rsp)
				movdqa	784(%rsp), %xmm5
				movaps	%xmm5, 16(%rsp)
				movdqa	800(%rsp), %xmm6
				movaps	%xmm6, 32(%rsp)
				movdqa	816(%rsp), %xmm7
				movaps	%xmm7, 48(%rsp)
				movdqa	832(%rsp), %xmm1
				movaps	%xmm1, 64(%rsp)
				movdqa	848(%rsp), %xmm2
				movaps	%xmm2, 80(%rsp)
				movdqa	864(%rsp), %xmm3
				movaps	%xmm3, 96(%rsp)
				movdqa	880(%rsp), %xmm5
				movaps	%xmm5, 112(%rsp)
				movdqa	896(%rsp), %xmm6
				movaps	%xmm6, 128(%rsp)
				movdqa	912(%rsp), %xmm7
				movaps	%xmm7, 144(%rsp)
				movq	928(%rsp), %r13
				movq	936(%rsp), %r14
				movq	%r13, 160(%rsp)
				movq	%r14, 168(%rsp)
				movq	944(%rsp), %rax
				movq	952(%rsp), %rdx
				movq	%rax, 176(%rsp)
				movq	%rdx, 184(%rsp)
				movq	960(%rsp), %rcx
				movq	968(%rsp), %rbx
		.LVL233:
				movq	%rcx, 192(%rsp)
				movq	%rbx, 200(%rsp)
				movq	976(%rsp), %rsi
				movq	984(%rsp), %rdi
				movq	%rsi, 208(%rsp)
				movq	%rdi, 216(%rsp)
				movq	992(%rsp), %r9
				movq	1000(%rsp), %r10
				movq	%r9, 224(%rsp)
				movq	%r10, 232(%rsp)
				movq	1008(%rsp), %r11
				movq	1016(%rsp), %r12
		.LVL234:
				movq	%r11, 240(%rsp)
				movq	%r12, 248(%rsp)
		.LVL235:
				movb	$1, (%rsp)
				movdqa	(%rsp), %xmm4
				movaps	%xmm4, 512(%rsp)
				movdqa	784(%rsp), %xmm0
				movaps	%xmm0, 528(%rsp)
				movdqa	800(%rsp), %xmm1
				movaps	%xmm1, 544(%rsp)
				movdqa	816(%rsp), %xmm2
				movaps	%xmm2, 560(%rsp)
				movdqa	832(%rsp), %xmm3
				movaps	%xmm3, 576(%rsp)
				movdqa	848(%rsp), %xmm5
				movaps	%xmm5, 592(%rsp)
				movdqa	864(%rsp), %xmm6
				movaps	%xmm6, 608(%rsp)
				movdqa	880(%rsp), %xmm7
				movaps	%xmm7, 624(%rsp)
				movdqa	896(%rsp), %xmm4
				movaps	%xmm4, 640(%rsp)
				movdqa	912(%rsp), %xmm0
				movaps	%xmm0, 656(%rsp)
				movq	%r13, 672(%rsp)
				movq	%r14, 680(%rsp)
				movq	%rax, 688(%rsp)
				movq	%rdx, 696(%rsp)
				movq	%rcx, 704(%rsp)
				movq	%rbx, 712(%rsp)
				movq	%rsi, 720(%rsp)
				movq	%rdi, 728(%rsp)
				movq	%r9, 736(%rsp)
				movq	%r10, 744(%rsp)
				movq	%r11, 752(%rsp)
				movq	%r12, 760(%rsp)
		.LBE366:
		.LBB367:
		.LBB350:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	248(%rsp)
				pushq	248(%rsp)
				call	_imp_printstring@PLT
		.LVL236:
		.LDL7:
		.LBE350:
		.LBE367:
  846          %IF WHICH > 0 %START
  847             TIMTT = CPUTIME-TIME
				addq	$256, %rsp
				call	CPUTIME@PLT
		.LVL215:
				subsd	TIME.6460(%rip), %xmm0
		.LVL216:
		.LBB351:
		.LBB352:
				movl	$2, %esi
				movl	$1, %edi
				call	_imp_print@PLT
		.LVL217:
		.L111:
		.LBE352:
		.LBE351:
		.LBB353:
  848            PRINT(TIMTT, 1, 2)
  849          %FINISHELSESTART
  850             PRINT(CPUTIME-TIME2, 1, 2)
				addq	$256, %rsp
				call	CPUTIME@PLT
		.LVL237:
				subsd	TIME2.6461(%rip), %xmm0
		.LVL238:
		.LBB368:
		.LBB369:
				movl	$2, %esi
				movl	$1, %edi
				call	_imp_print@PLT
		.LVL239:
				jmp	.L111
		.LVL240:
		.L115:
		.LBE369:
		.LBE368:
  851          %FINISH
  852          PRINTSTRING(" Secs)
				movabsq	$2860325332669216, %rax
				movl	$0, %edx
				movq	%rax, 769(%rsp)
				movq	%rdx, 777(%rsp)
				movb	$0, 785(%rsp)
				movw	$0, 786(%rsp)
				movl	$0, 788(%rsp)
				leaq	792(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$7, 768(%rsp)
				movq	768(%rsp), %rax
				movq	776(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
				movdqa	784(%rsp), %xmm1
				movaps	%xmm1, 272(%rsp)
				movdqa	800(%rsp), %xmm2
				movaps	%xmm2, 288(%rsp)
				movdqa	816(%rsp), %xmm3
				movaps	%xmm3, 304(%rsp)
				movdqa	832(%rsp), %xmm4
				movaps	%xmm4, 320(%rsp)
				movdqa	848(%rsp), %xmm5
				movaps	%xmm5, 336(%rsp)
				movdqa	864(%rsp), %xmm6
				movaps	%xmm6, 352(%rsp)
				movdqa	880(%rsp), %xmm7
				movaps	%xmm7, 368(%rsp)
				movdqa	896(%rsp), %xmm1
				movaps	%xmm1, 384(%rsp)
				movdqa	912(%rsp), %xmm2
				movaps	%xmm2, 400(%rsp)
				movdqa	928(%rsp), %xmm3
				movaps	%xmm3, 416(%rsp)
				movq	944(%rsp), %r13
				movq	952(%rsp), %r14
				movq	%r13, 432(%rsp)
				movq	%r14, 440(%rsp)
				movq	960(%rsp), %rsi
				movq	968(%rsp), %rdi
				movq	%rsi, 448(%rsp)
				movq	%rdi, 456(%rsp)
				movq	976(%rsp), %r9
				movq	984(%rsp), %r10
				movq	%r9, 464(%rsp)
				movq	%r10, 472(%rsp)
				movq	992(%rsp), %rcx
				movq	1000(%rsp), %rbx
				movq	%rcx, 480(%rsp)
				movq	%rbx, 488(%rsp)
				movq	1008(%rsp), %r11
				movq	1016(%rsp), %r12
				movq	%r11, 496(%rsp)
				movq	%r12, 504(%rsp)
		.LVL218:
				movb	$7, 256(%rsp)
				movq	256(%rsp), %rax
				movq	264(%rsp), %rdx
				movq	%rax, 768(%rsp)
				movq	%rdx, 776(%rsp)
		.LBE353:
		.LBB354:
		.LBB355:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%r14
				pushq	%r13
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	1016(%rsp)
				pushq	%rdx
				pushq	%rax
				call	_imp_printstring@PLT
		.LVL219:
		.LBE355:
		.LBE354:
  853 ")
  854       %END
				addq	$256, %rsp
  855       !!
				movq	1032(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L115
				addq	$1048, %rsp
				popq	%rbx
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.LVL220:
		.L114:
				call	__stack_chk_fail@PLT
		.LVL241:
		.LFE199:
		READM.7028:
		.LFB207:
  856       %ROUTINE PRINTBOARD
				pushq	%r15
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbp
				pushq	%rbx
				subq	$1656, %rsp
				movq	%fs:40, %rax
				movq	%rax, 1640(%rsp)
				xorl	%eax, %eax
  857          %CONSTBYTEINTEGERARRAY BLACK(1:64) = %C
				movb	$0, 1568(%rsp)
				movb	$1, 1569(%rsp)
				movb	$0, 1570(%rsp)
				movb	$1, 1571(%rsp)
				movb	$0, 1572(%rsp)
				movb	$1, 1573(%rsp)
				movb	$0, 1574(%rsp)
				movb	$1, 1575(%rsp)
				movb	$1, 1576(%rsp)
				movb	$0, 1577(%rsp)
				movb	$1, 1578(%rsp)
				movb	$0, 1579(%rsp)
				movb	$1, 1580(%rsp)
				movb	$0, 1581(%rsp)
				movb	$1, 1582(%rsp)
				movb	$0, 1583(%rsp)
				movb	$0, 1584(%rsp)
				movb	$1, 1585(%rsp)
				movb	$0, 1586(%rsp)
				movb	$1, 1587(%rsp)
				movb	$0, 1588(%rsp)
				movb	$1, 1589(%rsp)
				movb	$0, 1590(%rsp)
				movb	$1, 1591(%rsp)
				movb	$1, 1592(%rsp)
				movb	$0, 1593(%rsp)
				movb	$1, 1594(%rsp)
				movb	$0, 1595(%rsp)
				movb	$1, 1596(%rsp)
				movb	$0, 1597(%rsp)
				movb	$1, 1598(%rsp)
				movb	$0, 1599(%rsp)
				movb	$0, 1600(%rsp)
				movb	$1, 1601(%rsp)
				movb	$0, 1602(%rsp)
				movb	$1, 1603(%rsp)
				movb	$0, 1604(%rsp)
				movb	$1, 1605(%rsp)
				movb	$0, 1606(%rsp)
				movb	$1, 1607(%rsp)
				movb	$1, 1608(%rsp)
				movb	$0, 1609(%rsp)
				movb	$1, 1610(%rsp)
				movb	$0, 1611(%rsp)
				movb	$1, 1612(%rsp)
				movb	$0, 1613(%rsp)
				movb	$1, 1614(%rsp)
				movb	$0, 1615(%rsp)
				movb	$0, 1616(%rsp)
				movb	$1, 1617(%rsp)
				movb	$0, 1618(%rsp)
				movb	$1, 1619(%rsp)
				movb	$0, 1620(%rsp)
				movb	$1, 1621(%rsp)
				movb	$0, 1622(%rsp)
				movb	$1, 1623(%rsp)
				movb	$1, 1624(%rsp)
				movb	$0, 1625(%rsp)
				movb	$1, 1626(%rsp)
				movb	$0, 1627(%rsp)
				movb	$1, 1628(%rsp)
				movb	$0, 1629(%rsp)
				movb	$1, 1630(%rsp)
				movb	$0, 1631(%rsp)
  858             0, 1, 0, 1, 0, 1, 0, 1,
  859             1, 0, 1, 0, 1, 0, 1, 0,
  860             0, 1, 0, 1, 0, 1, 0, 1,
  861             1, 0, 1, 0, 1, 0, 1, 0,
  862             0, 1, 0, 1, 0, 1, 0, 1,
  863             1, 0, 1, 0, 1, 0, 1, 0,
  864             0, 1, 0, 1, 0, 1, 0, 1,
  865             1, 0, 1, 0, 1, 0, 1, 0
  866          !!
  867          %ROUTINE LINE
				pushq	%r14
				pushq	%r13
				pushq	%r12
				pushq	%rbx
				subq	$536, %rsp
				movq	%fs:40, %rax
				movq	%rax, 520(%rsp)
				xorl	%eax, %eax
		.LVL146:
		.LBB315:
  868             PRINTSTRING("  !---!---!---!---!---!---!---!---!
				movabsq	$3251930077992132640, %rax
				movabsq	$3251930077992135981, %rdx
				movq	%rax, 257(%rsp)
				movq	%rdx, 265(%rsp)
				movabsq	$3251930077992135981, %rax
				movabsq	$3251930077992135981, %rdx
				movq	%rax, 273(%rsp)
				movq	%rdx, 281(%rsp)
				movq	$169946413, 289(%rsp)
				movq	$0, 297(%rsp)
				movb	$0, 305(%rsp)
				movw	$0, 306(%rsp)
				movl	$0, 308(%rsp)
				leaq	312(%rsp), %rdi
				movl	$25, %ecx
				movl	$0, %eax
				rep stosq
				movb	$36, 256(%rsp)
				movq	256(%rsp), %rax
				movq	264(%rsp), %rdx
				movq	%rax, (%rsp)
				movq	%rdx, 8(%rsp)
				movdqa	272(%rsp), %xmm0
				movaps	%xmm0, 16(%rsp)
				movdqa	288(%rsp), %xmm1
				movaps	%xmm1, 32(%rsp)
				movdqa	304(%rsp), %xmm2
				movaps	%xmm2, 48(%rsp)
				movdqa	320(%rsp), %xmm3
				movaps	%xmm3, 64(%rsp)
				movdqa	336(%rsp), %xmm4
				movaps	%xmm4, 80(%rsp)
				movdqa	352(%rsp), %xmm5
				movaps	%xmm5, 96(%rsp)
				movdqa	368(%rsp), %xmm6
				movaps	%xmm6, 112(%rsp)
				movdqa	384(%rsp), %xmm7
				movaps	%xmm7, 128(%rsp)
				movdqa	400(%rsp), %xmm0
				movaps	%xmm0, 144(%rsp)
				movdqa	416(%rsp), %xmm1
				movaps	%xmm1, 160(%rsp)
				movq	432(%rsp), %r13
				movq	440(%rsp), %r14
				movq	%r13, 176(%rsp)
				movq	%r14, 184(%rsp)
				movq	448(%rsp), %rsi
				movq	456(%rsp), %rdi
				movq	%rsi, 192(%rsp)
				movq	%rdi, 200(%rsp)
				movq	464(%rsp), %r9
				movq	472(%rsp), %r10
				movq	%r9, 208(%rsp)
				movq	%r10, 216(%rsp)
				movq	480(%rsp), %rcx
				movq	488(%rsp), %rbx
				movq	%rcx, 224(%rsp)
				movq	%rbx, 232(%rsp)
				movq	496(%rsp), %r11
				movq	504(%rsp), %r12
				movq	%r11, 240(%rsp)
				movq	%r12, 248(%rsp)
		.LVL147:
				movb	$36, (%rsp)
				movq	(%rsp), %rax
				movq	8(%rsp), %rdx
				movq	%rax, 256(%rsp)
				movq	%rdx, 264(%rsp)
		.LBE315:
		.LBB316:
		.LBB317:
				pushq	%r12
				pushq	%r11
				pushq	%rbx
				pushq	%rcx
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%r14
				pushq	%r13
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	504(%rsp)
				pushq	%rdx
				pushq	%rax
				call	_imp_printstring@PLT
		.LVL148:
		.LBE317:
		.LBE316:
  869 ")
  870          %END
				addq	$256, %rsp
  871          !!
				movq	520(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L78
				addq	$536, %rsp
				popq	%rbx
				popq	%r12
				popq	%r13
				popq	%r14
				ret
		.L78:
				call	__stack_chk_fail@PLT
		.LVL149:
		.LFE201:
		BURP.7004:
		.LFB203:
  872          %CONSTBYTEINTEGERARRAY PX(-6:6) = %C
				movb	$107, 1555(%rsp)
				movb	$113, 1556(%rsp)
				movb	$114, 1557(%rsp)
				movb	$98, 1558(%rsp)
				movb	$110, 1559(%rsp)
				movb	$112, 1560(%rsp)
				movb	$32, 1561(%rsp)
				movb	$80, 1562(%rsp)
				movb	$78, 1563(%rsp)
				movb	$66, 1564(%rsp)
				movb	$82, 1565(%rsp)
				movb	$81, 1566(%rsp)
				movb	$75, 1567(%rsp)
		.LVL165:
				leaq	896+BRD.6404(%rip), %rax
				movq	%rax, 8(%rsp)
				movl	$0, %r15d
  873            'k', 'q', 'r', 'b', 'n', 'p',
  874            ' ', 'P', 'N', 'B', 'R', 'Q', 'K'
  875          %INTEGER X,Y, I, P, Q
  876          %RECORD(ROWF)%NAME ROW
  877          !!
  878          Q = 1
  879          %CYCLE Y = 8, -1, 1
  880             ROW == BRD(Y)
				movl	$9, 4(%rsp)
				jmp	.L94
		.LVL166:
		.L102:
  881             LINE
				call	LINE.6970
		.LVL192:
  882             WRITE(Y, 1)
				addq	$256, %rsp
		.LVL188:
				cmpl	$1, 4(%rsp)
				je	.L104
		.LVL189:
		.L94:
				movl	$1, %esi
				movl	%ebx, %edi
				call	_imp_writeint@PLT
		.LVL193:
				leal	8(%r15), %eax
				movl	%eax, (%rsp)
				movq	8(%rsp), %rbp
				jmp	.L92
		.LVL194:
		.L104:
		.L95:
  883             %CYCLE X = 1, 1, 8
				subl	$1, 4(%rsp)
		.LVL190:
				movl	4(%rsp), %ebx
		.LVL191:
  884                PRINTSTRING("! ")
				movq	$8225, 1297(%rsp)
				movq	$0, 1305(%rsp)
				movb	$0, 1313(%rsp)
				movw	$0, 1314(%rsp)
				movl	$0, 1316(%rsp)
				leaq	1320(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$2, 1296(%rsp)
				movq	1296(%rsp), %rax
				movq	1304(%rsp), %rdx
				movq	%rax, 16(%rsp)
				movq	%rdx, 24(%rsp)
				movdqa	1312(%rsp), %xmm0
				movaps	%xmm0, 32(%rsp)
				movdqa	1328(%rsp), %xmm1
				movaps	%xmm1, 48(%rsp)
				movdqa	1344(%rsp), %xmm2
				movaps	%xmm2, 64(%rsp)
				movdqa	1360(%rsp), %xmm3
				movaps	%xmm3, 80(%rsp)
				movdqa	1376(%rsp), %xmm4
				movaps	%xmm4, 96(%rsp)
				movdqa	1392(%rsp), %xmm5
				movaps	%xmm5, 112(%rsp)
				movdqa	1408(%rsp), %xmm6
				movaps	%xmm6, 128(%rsp)
				movdqa	1424(%rsp), %xmm7
				movaps	%xmm7, 144(%rsp)
				movdqa	1440(%rsp), %xmm0
				movaps	%xmm0, 160(%rsp)
				movq	1456(%rsp), %r13
				movq	1464(%rsp), %r14
				movq	%r13, 176(%rsp)
				movq	%r14, 184(%rsp)
				movq	1472(%rsp), %rax
				movq	1480(%rsp), %rdx
				movq	%rax, 192(%rsp)
				movq	%rdx, 200(%rsp)
				movq	1488(%rsp), %rcx
				movq	1496(%rsp), %rbx
				movq	%rcx, 208(%rsp)
				movq	%rbx, 216(%rsp)
				movq	1504(%rsp), %rsi
				movq	1512(%rsp), %rdi
				movq	%rsi, 224(%rsp)
				movq	%rdi, 232(%rsp)
				movq	1520(%rsp), %r9
				movq	1528(%rsp), %r10
				movq	%r9, 240(%rsp)
				movq	%r10, 248(%rsp)
				movq	1536(%rsp), %r11
				movq	1544(%rsp), %r12
				movq	%r11, 256(%rsp)
				movq	%r12, 264(%rsp)
		.LVL173:
				movb	$2, 16(%rsp)
				movdqa	16(%rsp), %xmm1
				movaps	%xmm1, 784(%rsp)
				movdqa	1312(%rsp), %xmm2
				movaps	%xmm2, 800(%rsp)
				movdqa	1328(%rsp), %xmm3
				movaps	%xmm3, 816(%rsp)
				movdqa	1344(%rsp), %xmm4
				movaps	%xmm4, 832(%rsp)
				movdqa	1360(%rsp), %xmm5
				movaps	%xmm5, 848(%rsp)
				movdqa	1376(%rsp), %xmm6
				movaps	%xmm6, 864(%rsp)
				movdqa	1392(%rsp), %xmm7
				movaps	%xmm7, 880(%rsp)
				movdqa	1408(%rsp), %xmm0
				movaps	%xmm0, 896(%rsp)
				movdqa	1424(%rsp), %xmm1
				movaps	%xmm1, 912(%rsp)
				movdqa	1440(%rsp), %xmm2
				movaps	%xmm2, 928(%rsp)
				movq	%r13, 944(%rsp)
				movq	%r14, 952(%rsp)
				movq	%rax, 960(%rsp)
				movq	%rdx, 968(%rsp)
				movq	%rcx, 976(%rsp)
				movq	%rbx, 984(%rsp)
				movq	%rsi, 992(%rsp)
				movq	%rdi, 1000(%rsp)
				movq	%r9, 1008(%rsp)
				movq	%r10, 1016(%rsp)
				movq	%r11, 1024(%rsp)
				movq	%r12, 1032(%rsp)
		.LBE330:
		.LBB331:
		.LBB332:
				pushq	%r12
		.LVL174:
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	264(%rsp)
				pushq	264(%rsp)
				call	_imp_printstring@PLT
		.LVL175:
		.LBE332:
		.LBE331:
  885                P = ROW_R(X)_P
				movl	0(%rbp), %ebx
		.LVL176:
  886                %IF P # 0 %THEN PRINTSYMBOL(PX(P)) %ELSE %START
				cmpl	(%rsp), %r15d
				je	.L101
		.LVL172:
		.L92:
		.LBB330:
				addq	$256, %rsp
		.LVL177:
				testl	%ebx, %ebx
				jne	.L102
		.L86:
  887                   %IF BLACK(Q) = 1 %THEN PRINTSYMBOL('*') %C
				leal	6(%rbx), %eax
		.LVL167:
				cltq
				movsbl	1555(%rsp,%rax), %edi
		.LBB326:
		.LBB327:
				call	_imp_printsymbol@PLT
		.LVL168:
		.LDL3:
		.LDL4:
		.LBE327:
		.LBE326:
				movslq	%r15d, %rax
				cmpb	$1, 1568(%rsp,%rax)
				je	.L103
		.L89:
		.LVL178:
		.LBB333:
		.LBB334:
				movl	$32, %edi
				call	_imp_printsymbol@PLT
		.LVL179:
		.L87:
		.LBE334:
		.LBE333:
		.LBB335:
		.LBB336:
				movl	$32, %edi
				call	_imp_printsymbol@PLT
		.LVL180:
				jmp	.L91
		.LVL181:
		.L103:
		.LBE336:
		.LBE335:
		.LBB337:
		.LBB338:
				movl	$42, %edi
				call	_imp_printsymbol@PLT
		.LVL182:
				jmp	.L87
		.LVL183:
		.L101:
		.L93:
		.LBE338:
		.LBE337:
		.LBB339:
  888                   %ELSE PRINTSYMBOL(' ')
  889                %FINISH
  890                %IF P > 0 %THEN PRINTSYMBOL('+') %ELSE %C
				testl	%ebx, %ebx
				jle	.L87
		.LVL169:
		.LBB328:
		.LBB329:
				movl	$43, %edi
				call	_imp_printsymbol@PLT
		.LVL170:
		.L91:
		.LDL5:
				addq	$16, %rbp
				addl	$1, %r15d
		.LVL171:
		.LBE329:
		.LBE328:
  891                  PRINTSYMBOL(' ')
  892                Q = Q+1
  893             %REPEAT
  894             PRINTSTRING("!
				movq	$2593, 1297(%rsp)
				movq	$0, 1305(%rsp)
				movb	$0, 1313(%rsp)
				movw	$0, 1314(%rsp)
				movl	$0, 1316(%rsp)
				leaq	1320(%rsp), %rdi
				movl	$29, %ecx
				movl	$0, %eax
				rep stosq
				movb	$2, 1296(%rsp)
				movq	1296(%rsp), %rax
				movq	1304(%rsp), %rdx
				movq	%rax, 272(%rsp)
				movq	%rdx, 280(%rsp)
				movdqa	1312(%rsp), %xmm3
				movaps	%xmm3, 288(%rsp)
				movdqa	1328(%rsp), %xmm4
				movaps	%xmm4, 304(%rsp)
				movdqa	1344(%rsp), %xmm5
				movaps	%xmm5, 320(%rsp)
				movdqa	1360(%rsp), %xmm6
				movaps	%xmm6, 336(%rsp)
				movdqa	1376(%rsp), %xmm7
				movaps	%xmm7, 352(%rsp)
				movdqa	1392(%rsp), %xmm3
				movaps	%xmm3, 368(%rsp)
				movdqa	1408(%rsp), %xmm4
				movaps	%xmm4, 384(%rsp)
				movdqa	1424(%rsp), %xmm5
				movaps	%xmm5, 400(%rsp)
				movdqa	1440(%rsp), %xmm6
				movaps	%xmm6, 416(%rsp)
				movq	1456(%rsp), %r13
				movq	1464(%rsp), %r14
				movq	%r13, 432(%rsp)
				movq	%r14, 440(%rsp)
				movq	1472(%rsp), %rax
				movq	1480(%rsp), %rdx
				movq	%rax, 448(%rsp)
				movq	%rdx, 456(%rsp)
				movq	1488(%rsp), %rcx
				movq	1496(%rsp), %rbx
		.LVL184:
				movq	%rcx, 464(%rsp)
				movq	%rbx, 472(%rsp)
				movq	1504(%rsp), %rsi
				movq	1512(%rsp), %rdi
				movq	%rsi, 480(%rsp)
				movq	%rdi, 488(%rsp)
				movq	1520(%rsp), %r9
				movq	1528(%rsp), %r10
				movq	%r9, 496(%rsp)
				movq	%r10, 504(%rsp)
				movq	1536(%rsp), %r11
				movq	1544(%rsp), %r12
				movq	%r11, 512(%rsp)
				movq	%r12, 520(%rsp)
		.LVL185:
				movb	$2, 272(%rsp)
				movdqa	272(%rsp), %xmm7
				movaps	%xmm7, 1040(%rsp)
				movdqa	1312(%rsp), %xmm3
				movaps	%xmm3, 1056(%rsp)
				movdqa	1328(%rsp), %xmm4
				movaps	%xmm4, 1072(%rsp)
				movdqa	1344(%rsp), %xmm5
				movaps	%xmm5, 1088(%rsp)
				movdqa	1360(%rsp), %xmm6
				movaps	%xmm6, 1104(%rsp)
				movdqa	1376(%rsp), %xmm7
				movaps	%xmm7, 1120(%rsp)
				movdqa	1392(%rsp), %xmm3
				movaps	%xmm3, 1136(%rsp)
				movdqa	1408(%rsp), %xmm4
				movaps	%xmm4, 1152(%rsp)
				movdqa	1424(%rsp), %xmm5
				movaps	%xmm5, 1168(%rsp)
				movdqa	1440(%rsp), %xmm6
				movaps	%xmm6, 1184(%rsp)
				movq	%r13, 1200(%rsp)
				movq	%r14, 1208(%rsp)
				movq	%rax, 1216(%rsp)
				movq	%rdx, 1224(%rsp)
				movq	%rcx, 1232(%rsp)
				movq	%rbx, 1240(%rsp)
				movq	%rsi, 1248(%rsp)
				movq	%rdi, 1256(%rsp)
				movq	%r9, 1264(%rsp)
				movq	%r10, 1272(%rsp)
				movq	%r11, 1280(%rsp)
				movq	%r12, 1288(%rsp)
		.LBE339:
		.LBB340:
		.LBB341:
				pushq	%r12
		.LVL186:
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	520(%rsp)
				pushq	520(%rsp)
				call	_imp_printstring@PLT
		.LVL187:
		.LDL6:
				addq	$-128, 264(%rsp)
		.LBE341:
		.LBE340:
  895 ")
  896          %REPEAT
  897          LINE
				call	LINE.6970
		.LVL195:
		.LBB342:
  898          PRINTSTRING("    A   B   C   D   E   F   G   H
				movabsq	$2314885672552374304, %rax
				movabsq	$2314885681142308930, %rdx
				movq	%rax, 1297(%rsp)
				movq	%rdx, 1305(%rsp)
				movabsq	$2314885689732243524, %rax
				movabsq	$2314885698322178118, %rdx
				movq	%rax, 1313(%rsp)
				movq	%rdx, 1321(%rsp)
				movq	$2632, 1329(%rsp)
				movq	$0, 1337(%rsp)
				movb	$0, 1345(%rsp)
				movw	$0, 1346(%rsp)
				movl	$0, 1348(%rsp)
				leaq	1352(%rsp), %rdi
				movl	$25, %ecx
				movl	$0, %eax
				rep stosq
				movb	$34, 1296(%rsp)
				movq	1296(%rsp), %rax
				movq	1304(%rsp), %rdx
				movq	%rax, 528(%rsp)
				movq	%rdx, 536(%rsp)
				movdqa	1312(%rsp), %xmm7
				movaps	%xmm7, 544(%rsp)
				movdqa	1328(%rsp), %xmm7
				movaps	%xmm7, 560(%rsp)
				movdqa	1344(%rsp), %xmm7
				movaps	%xmm7, 576(%rsp)
				movdqa	1360(%rsp), %xmm7
				movaps	%xmm7, 592(%rsp)
				movdqa	1376(%rsp), %xmm7
				movaps	%xmm7, 608(%rsp)
				movdqa	1392(%rsp), %xmm7
				movaps	%xmm7, 624(%rsp)
				movdqa	1408(%rsp), %xmm7
				movaps	%xmm7, 640(%rsp)
				movdqa	1424(%rsp), %xmm7
				movaps	%xmm7, 656(%rsp)
				movdqa	1440(%rsp), %xmm7
				movaps	%xmm7, 672(%rsp)
				movdqa	1456(%rsp), %xmm3
				movaps	%xmm3, 688(%rsp)
				movq	1472(%rsp), %r13
				movq	1480(%rsp), %r14
				movq	%r13, 704(%rsp)
				movq	%r14, 712(%rsp)
				movq	1488(%rsp), %rcx
				movq	1496(%rsp), %rbx
				movq	%rcx, 720(%rsp)
				movq	%rbx, 728(%rsp)
				movq	1504(%rsp), %rsi
				movq	1512(%rsp), %rdi
				movq	%rsi, 736(%rsp)
				movq	%rdi, 744(%rsp)
				movq	1520(%rsp), %r9
				movq	1528(%rsp), %r10
				movq	%r9, 752(%rsp)
				movq	%r10, 760(%rsp)
				movq	1536(%rsp), %r11
				movq	1544(%rsp), %r12
				movq	%r11, 768(%rsp)
				movq	%r12, 776(%rsp)
		.LVL196:
				movb	$34, 528(%rsp)
				movq	528(%rsp), %rax
				movq	536(%rsp), %rdx
				movq	%rax, 1296(%rsp)
				movq	%rdx, 1304(%rsp)
		.LBE342:
		.LBB343:
		.LBB344:
				pushq	%r12
		.LVL197:
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%r14
				pushq	%r13
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	1544(%rsp)
				pushq	%rdx
				pushq	%rax
				call	_imp_printstring@PLT
		.LVL198:
		.LBE344:
		.LBE343:
  899 ")
  900       %END
				addq	$256, %rsp
		.LVL199:
?I unused
  901       !!
				movq	1640(%rsp), %rax
				xorq	%fs:40, %rax
				jne	.L105
				addq	$1656, %rsp
		.LVL200:
				popq	%rbx
				popq	%rbp
				popq	%r12
				popq	%r13
				popq	%r14
				popq	%r15
		.LVL201:
				ret
		.LVL202:
		.L105:
				call	__stack_chk_fail@PLT
		.LVL203:
		.LFE200:
		TELL.6500:
		.LFB199:
  902          !!
  903       %ROUTINE PRINTMOVE(%RECORD(LISTF)%NAME LIST)
		.LVL157:
				pushq	%rbx
				movq	%rdi, %rbx
  904          %INTEGER I,J,K
  905          %ROUTINE BURP(%INTEGER X)
		.LVL150:
				pushq	%rbx
				movl	%edi, %ebx
		.LVL151:
  906             PRINTSYMBOL((X>>4)+'A'-1)
				shrl	$4, %edi
		.LVL152:
				addl	$64, %edi
				movsbl	%dil, %edi
		.LBB318:
		.LBB319:
				call	_imp_printsymbol@PLT
		.LVL153:
		.LBE319:
		.LBE318:
  907             PRINTSYMBOL(X&15+'0')
				andl	$15, %ebx
		.LVL154:
				leal	48(%rbx), %edi
		.LBB320:
		.LBB321:
				call	_imp_printsymbol@PLT
		.LVL155:
		.LBE321:
		.LBE320:
		.LBB322:
		.LBB323:
				call	_imp_space@PLT
		.LVL156:
		.LBE323:
		.LBE322:
  908             SPACE
  909          %END
  910          !!
				popq	%rbx
				ret
		.LFE203:
		PRINTMOVE.6504:
		.LFB202:
  911          BURP(LIST_FR); BURP(LIST_TO)
				movzbl	4(%rdi), %edi
		.LVL158:
				call	BURP.7004
		.LVL159:
  912          %IF LIST_CHK # 0 %THEN PRINTSYMBOL('+')
				movzbl	5(%rbx), %edi
				call	BURP.7004
		.LVL160:
				cmpl	$0, 12(%rbx)
				jne	.L84
		.L82:
  913          WRITE(LIST_SCORE, 5)
				movl	8(%rbx), %edi
				movl	$5, %esi
				call	_imp_writeint@PLT
		.LVL161:
  914       %END
?K unused
?J unused
?I unused
  915       !!
				popq	%rbx
		.LVL162:
				ret
		.LVL163:
		.L84:
		.LBB324:
		.LBB325:
				movl	$43, %edi
				call	_imp_printsymbol@PLT
		.LVL164:
				jmp	.L82
		.LBE325:
		.LBE324:
		.LFE202:
		PRINTBOARD.6502:
		.LFB200:
  916       %INTEGER %FN CHECK YOUR MOVE(%RECORD(LISTF)%NAME LIST)
  917          %RECORD(LISTF)%NAME L2, MM
  918          %INTEGER I
  919          MM == MMOVE_L
  920          L2 == LIST
  921          %WHILE ADDR(LIST) # 0 %CYCLE
  922             %IF LIST_FR = MM_FR %AND LIST_TO = MM_TO %C
				cmpl	$0, 20(%rsp)
				je	.L404
				movzbl	2900(%rsp), %edx
				testq	%rax, %rax
				je	.L404
		.L408:
				cmpb	%dl, 4(%rax)
				jne	.L407
  923                %START
				movzbl	2901(%rsp), %ecx
				movq	8(%rsp), %rax
				jmp	.L408
		.LVL673:
		.L417:
		.L398:
		.LBE689:
		.LBE688:
		.LBB691:
		.LBB692:
				movq	%r15, %rdi
				call	_imp_readsymbol@PLT
		.LVL674:
		.LBE692:
		.LBE691:
				cmpb	%cl, 5(%rax)
				jne	.L407
  924                   MM_SCORE = LIST_SCORE;  MM_CHK = LIST_CHK
				movl	8(%rax), %edx
				movl	%edx, 2904(%rsp)
  925                   %RESULT = 1
				movl	12(%rax), %eax
		.LVL684:
				movl	%eax, 2908(%rsp)
		.LDL27:
		.LVL685:
		.LBE690:
		.LBE705:
		.LBB706:
		.LBB707:
				call	_imp_skipsymbol@PLT
		.LVL686:
		.LBE707:
		.LBE706:
  926             %FINISH
  927             LIST == LIST_L
				movq	(%rax), %rax
		.LVL683:
		.LDL26:
  928          %REPEAT
  929          %RESULT = 0
  930       %END
?I unused
  931       !!
  932       %INTEGERFN PRINT MOVES(%RECORD(LISTF)%NAME LIST)
  933          %RECORD(LISTF)%NAME L
  934          SELECT OUTPUT(2)
  935          LIST == RECORD(SORT AND PRUNE(LIST, 100, -1))
				movq	(%rsp), %r10
				movl	$-1, %edx
				movl	$100, %esi
				movq	%rbx, %rdi
				call	SORTANDPRUNE.6481
		.LVL699:
				movl	%eax, 20(%rsp)
		.LVL700:
				cltq
		.LVL701:
				movq	%rax, 8(%rsp)
		.LVL702:
  936          L == LIST
				movq	%rax, %rbx
		.L388:
		.LVL703:
		.L414:
		.L389:
  937          %CYCLE
  938             PRINTMOVE(L); NEWLINE
				movq	%rbx, %rdi
				call	PRINTMOVE.6504
		.LVL704:
		.LBB712:
		.LBB713:
				call	_imp_newline@PLT
		.LVL705:
		.LBE713:
		.LBE712:
  939             L == L_L
				movq	(%rbx), %rbx
		.LVL706:
  940             %EXIT %IF ADDR(L) = 0
				testq	%rbx, %rbx
				jne	.L414
		.L390:
		.LVL707:
		.LBB714:
		.LBB715:
				movl	$0, _imp_OutStream(%rip)
				movq	8+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL708:
		.LBE715:
		.LBE714:
		.LBE709:
		.LBE708:
		.LBB716:
		.LBB673:
				leaq	40(%rsp), %r15
				jmp	.L391
		.LBE673:
		.LBE716:
		.LBE718:
		.LBE724:
		.LFE185:
				.section	.rodata
				.align 16
		__PRETTY_FUNCTION__.5991:
				.string	"_imp_SELECTOUTPUT"
				.section	.data.rel.ro.local,"aw",@progbits
				.align 32
		MOVE.6736:
				.quad	.L253
				.quad	.L257
				.quad	.L261
				.quad	.L272
				.quad	.L262
				.quad	.L280
				.section	.rodata
				.align 8
		KCASCH.6732:
				.long	1
				.long	0
				.long	8
				.align 16
		__PRETTY_FUNCTION__.5987:
				.string	"_imp_SELECTINPUT"
				.align 32
		PINX.6432:
				.zero	128
				.align 32
		PINY.6433:
				.zero	128
				.comm	PINPT.6436,4,4
				.comm	PX.6437,4,4
				.comm	PY.6438,4,4
				.comm	KMOVE.6452,3,1
				.comm	KCAS.6453,12,8
				.comm	SCOREA.6464,4,4
				.comm	XDEPTH.6465,4,4
				.comm	JUSTONEPLY.6468,4,4
				.comm	LASTCHK.6470,4,4
				.data
				.align 4
		NO.6463:
				.long	1
				.comm	TIME.6460,8,8
				.comm	TIME2.6461,8,8
				.comm	BRD.6404,1024,32
				.comm	MON.6467,4,4
				.comm	PDEPTH.6466,4,4
		.Letext0:
  941          %REPEAT
  942          SELECT OUTPUT(0)
  943          %RESULT = ADDR(LIST)
  944       %END
  945
  946       %ROUTINE YOUR MOVE
  947          %INTEGER %FN READM(%INTEGERNAME X, Y)
		.LVL242:
				pushq	%rbp
				pushq	%rbx
				subq	$24, %rsp
				movq	%rdi, %rbp
				movq	%rsi, %rbx
				movq	%fs:40, %rax
				movq	%rax, 8(%rsp)
				xorl	%eax, %eax
		.LVL243:
		.L118:
		.LBB370:
		.LBB371:
				call	_imp_nextsymbol@PLT
		.LVL244:
		.LBE371:
		.LBE370:
  948             %INTEGER I,J
  949             SKIPSYMBOL %WHILE NEXTSYMBOL=NL
  950             READSYMBOL(I)
				cmpl	$10, %eax
				jne	.L119
		.LBB372:
		.LBB373:
				call	_imp_skipsymbol@PLT
		.LVL245:
				jmp	.L118
		.L119:
		.LVL246:
		.LBE373:
		.LBE372:
		.LBB374:
		.LBB375:
				movq	%rsp, %rdi
				call	_imp_readsymbol@PLT
		.LVL247:
		.L120:
		.LBE375:
		.LBE374:
		.LBB376:
		.LBB377:
				call	_imp_nextsymbol@PLT
		.LVL248:
		.LBE377:
		.LBE376:
  951             SKIPSYMBOL %WHILE NEXTSYMBOL=NL
  952             READSYMBOL(J)
				cmpl	$10, %eax
				jne	.L121
		.LBB378:
		.LBB379:
				call	_imp_skipsymbol@PLT
		.LVL249:
				jmp	.L120
		.L121:
		.LVL250:
		.LBE379:
		.LBE378:
		.LBB380:
		.LBB381:
				leaq	4(%rsp), %rdi
		.LVL251:
				call	_imp_readsymbol@PLT
		.LVL252:
		.LBE381:
		.LBE380:
  953             X = I-'A'+1;  Y = J-'0'
				movl	(%rsp), %eax
				subl	$64, %eax
				movl	%eax, 0(%rbp)
  954             %RESULT = 0
				movl	4(%rsp), %eax
				subl	$48, %eax
				movl	%eax, (%rbx)
  955          %END
				movl	$0, %eax
				movq	8(%rsp), %rdx
				xorq	%fs:40, %rdx
				jne	.L124
				addq	$24, %rsp
		.LVL253:
				popq	%rbx
		.LVL254:
				popq	%rbp
		.LVL255:
				ret
		.LVL256:
		.L124:
				call	__stack_chk_fail@PLT
		.LVL257:
		.LFE207:
		DOM.6745:
		.LFB194:
  956
  957          %INTEGER I, X, Y, X0, Y0, K
  958          %RECORD(LISTF)%NAME LIST
  959          !!
  960          JUST ONE PLY = 1;              ! DONT ALLOW LOOK AHEAD (NO POINT)
				movl	$1, JUSTONEPLY.6468(%rip)
  961          LIST == RECORD(MOVES(-1, 0));     ! GET OPPS LEGAL MOVES
				leaq	2896(%rsp), %rax
				movq	%rax, (%rsp)
		.LBE647:
		.LBE646:
				movq	(%rsp), %r10
				movl	$0, %esi
				movl	$-1, %edi
				call	MOVES.6487
		.LVL696:
				movslq	%eax, %rbx
  962          JUST ONE PLY = 0
				movl	$0, JUSTONEPLY.6468(%rip)
  963          %IF ADDR(LIST) = 0 %THEN TELL(LIST, -1); ! CHECKMATE
				testq	%rbx, %rbx
				je	.L425
		.L387:
		.LVL697:
		.LBB708:
		.LBB709:
		.LBB710:
		.LBB711:
				movl	$2, _imp_OutStream(%rip)
				movq	584+_imp_outfile(%rip), %rax
				movq	%rax, _imp_OutFile(%rip)
				leaq	__PRETTY_FUNCTION__.5991(%rip), %rdi
				call	check_outstream@PLT
		.LVL698:
		.LBE711:
		.LBE710:
  964          %IF MON&1#0 %THEN LIST == RECORD(PRINT MOVES(LIST))
				movl	$-1, %esi
				movl	$0, %edi
				call	TELL.6500
		.LVL628:
				jmp	.L387
		.L418:
		.LBB648:
		.LBB649:
				call	_imp_skipsymbol@PLT
		.LVL629:
		.LBE649:
		.LBE648:
		.LBB650:
  965 AGAIN:
  966          LM_SPEC = 0
				movl	$0, 2904(%rsp)
		.LBB674:
		.LBB675:
				call	_imp_nextsymbol@PLT
		.LVL658:
		.LBE675:
		.LBE674:
  967          %IF NEXTSYMBOL='M' %START;     ! MONITOR
				cmpl	$77, %eax
				je	.L418
		.L392:
		.LBB676:
		.LBB677:
				call	_imp_nextsymbol@PLT
		.LVL659:
		.LBE677:
		.LBE676:
  968             SKIPSYMBOL
  969             PROMPT("MON?"); READ(MON); SKIPSYMBOL
				movq	$1062096717, 1361(%rsp)
				movq	$0, 1369(%rsp)
				movl	$0, %ebp
				movb	$0, 1377(%rsp)
				movw	$0, 1378(%rsp)
				movl	$0, 1380(%rsp)
				leaq	1384(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbp, %rax
				rep stosq
		.LVL630:
				movb	$4, 1360(%rsp)
				movdqa	1360(%rsp), %xmm4
				movaps	%xmm4, 2640(%rsp)
				movdqa	1376(%rsp), %xmm5
				movaps	%xmm5, 2656(%rsp)
				movdqa	1392(%rsp), %xmm6
				movaps	%xmm6, 2672(%rsp)
				movdqa	1408(%rsp), %xmm7
				movaps	%xmm7, 2688(%rsp)
				movdqa	1424(%rsp), %xmm0
				movaps	%xmm0, 2704(%rsp)
				movdqa	1440(%rsp), %xmm4
				movaps	%xmm4, 2720(%rsp)
				movdqa	1456(%rsp), %xmm5
				movaps	%xmm5, 2736(%rsp)
				movdqa	1472(%rsp), %xmm6
				movaps	%xmm6, 2752(%rsp)
				movdqa	1488(%rsp), %xmm7
				movaps	%xmm7, 2768(%rsp)
				movdqa	1504(%rsp), %xmm0
				movaps	%xmm0, 2784(%rsp)
				movq	1520(%rsp), %r13
				movq	1528(%rsp), %r14
				movq	%r13, 2800(%rsp)
				movq	%r14, 2808(%rsp)
				movq	1536(%rsp), %rax
				movq	1544(%rsp), %rdx
				movq	%rax, 2816(%rsp)
				movq	%rdx, 2824(%rsp)
				movq	1552(%rsp), %rcx
				movq	1560(%rsp), %rbx
				movq	%rcx, 2832(%rsp)
				movq	%rbx, 2840(%rsp)
				movq	1568(%rsp), %rsi
				movq	1576(%rsp), %rdi
				movq	%rsi, 2848(%rsp)
				movq	%rdi, 2856(%rsp)
				movq	1584(%rsp), %r9
				movq	1592(%rsp), %r10
				movq	%r9, 2864(%rsp)
				movq	%r10, 2872(%rsp)
				movq	1600(%rsp), %r11
				movq	1608(%rsp), %r12
				movq	%r11, 2880(%rsp)
				movq	%r12, 2888(%rsp)
		.LVL631:
		.LBE650:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				call	PROMPT@PLT
		.LVL632:
  970             PROMPT("Move?")
				addq	$256, %rsp
				leaq	MON.6467(%rip), %rdi
				call	_imp_readint@PLT
		.LVL633:
		.LBB651:
		.LBB652:
				call	_imp_skipsymbol@PLT
		.LVL634:
		.LBE652:
		.LBE651:
		.LBB653:
				movabsq	$272285200205, %rax
				movl	$0, %edx
				movq	%rax, 1361(%rsp)
				movq	%rdx, 1369(%rsp)
				movb	$0, 1377(%rsp)
				movw	$0, 1378(%rsp)
				movl	$0, 1380(%rsp)
				leaq	1384(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbp, %rax
				rep stosq
		.LVL635:
				movb	$5, 1360(%rsp)
				movdqa	1360(%rsp), %xmm4
				movaps	%xmm4, 2384(%rsp)
				movdqa	1376(%rsp), %xmm5
				movaps	%xmm5, 2400(%rsp)
				movdqa	1392(%rsp), %xmm6
				movaps	%xmm6, 2416(%rsp)
				movdqa	1408(%rsp), %xmm7
				movaps	%xmm7, 2432(%rsp)
				movdqa	1424(%rsp), %xmm0
				movaps	%xmm0, 2448(%rsp)
				movdqa	1440(%rsp), %xmm4
				movaps	%xmm4, 2464(%rsp)
				movdqa	1456(%rsp), %xmm5
				movaps	%xmm5, 2480(%rsp)
				movdqa	1472(%rsp), %xmm6
				movaps	%xmm6, 2496(%rsp)
				movdqa	1488(%rsp), %xmm7
				movaps	%xmm7, 2512(%rsp)
				movdqa	1504(%rsp), %xmm0
				movaps	%xmm0, 2528(%rsp)
				movq	1520(%rsp), %r13
				movq	1528(%rsp), %r14
				movq	%r13, 2544(%rsp)
				movq	%r14, 2552(%rsp)
				movq	1536(%rsp), %rax
				movq	1544(%rsp), %rdx
				movq	%rax, 2560(%rsp)
				movq	%rdx, 2568(%rsp)
				movq	1552(%rsp), %rcx
				movq	1560(%rsp), %rbx
				movq	%rcx, 2576(%rsp)
				movq	%rbx, 2584(%rsp)
				movq	1568(%rsp), %rsi
				movq	1576(%rsp), %rdi
				movq	%rsi, 2592(%rsp)
				movq	%rdi, 2600(%rsp)
				movq	1584(%rsp), %r9
				movq	1592(%rsp), %r10
				movq	%r9, 2608(%rsp)
				movq	%r10, 2616(%rsp)
				movq	1600(%rsp), %r11
				movq	1608(%rsp), %r12
				movq	%r11, 2624(%rsp)
				movq	%r12, 2632(%rsp)
		.LVL636:
		.LBE653:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				call	PROMPT@PLT
		.LVL637:
				addq	$256, %rsp
				jmp	.L391
		.L419:
		.LBB654:
		.LBB655:
				call	_imp_skipsymbol@PLT
		.LVL638:
		.LBE655:
		.LBE654:
		.LBB656:
		.LBB657:
				call	_imp_skipsymbol@PLT
		.LVL639:
				jmp	.L394
		.L420:
		.LVL640:
		.LBE657:
		.LBE656:
		.LBB658:
  971             ->AGAIN
  972          %FINISH
  973          %IF NEXTSYMBOL='X' %START
				cmpl	$88, %eax
				je	.L419
		.L394:
		.LBB678:
		.LBB679:
				call	_imp_nextsymbol@PLT
		.LVL660:
		.LBE679:
		.LBE678:
  974             SKIPSYMBOL; SKIPSYMBOL; !PPROFILE
  975          %FINISH
  976          %IF NEXTSYMBOL = 'P' %START
				cmpl	$80, %eax
				je	.L420
		.L395:
		.LBB680:
		.LBB681:
				call	_imp_nextsymbol@PLT
		.LVL661:
		.LBE681:
		.LBE680:
  977             PROMPT("NEW PLY?");  SKIPSYMBOL
				movabsq	$4564763604340393294, %rax
				movl	$0, %edx
				movq	%rax, 1361(%rsp)
				movq	%rdx, 1369(%rsp)
				movl	$0, %ebp
				movb	$0, 1377(%rsp)
				movw	$0, 1378(%rsp)
				movl	$0, 1380(%rsp)
				leaq	1384(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbp, %rax
				rep stosq
		.LVL641:
				movb	$8, 1360(%rsp)
				movdqa	1360(%rsp), %xmm1
				movaps	%xmm1, 2128(%rsp)
				movdqa	1376(%rsp), %xmm2
				movaps	%xmm2, 2144(%rsp)
				movdqa	1392(%rsp), %xmm3
				movaps	%xmm3, 2160(%rsp)
				movdqa	1408(%rsp), %xmm1
				movaps	%xmm1, 2176(%rsp)
				movdqa	1424(%rsp), %xmm2
				movaps	%xmm2, 2192(%rsp)
				movdqa	1440(%rsp), %xmm3
				movaps	%xmm3, 2208(%rsp)
				movdqa	1456(%rsp), %xmm4
				movaps	%xmm4, 2224(%rsp)
				movdqa	1472(%rsp), %xmm5
				movaps	%xmm5, 2240(%rsp)
				movdqa	1488(%rsp), %xmm6
				movaps	%xmm6, 2256(%rsp)
				movdqa	1504(%rsp), %xmm7
				movaps	%xmm7, 2272(%rsp)
				movq	1520(%rsp), %r13
				movq	1528(%rsp), %r14
				movq	%r13, 2288(%rsp)
				movq	%r14, 2296(%rsp)
				movq	1536(%rsp), %rax
				movq	1544(%rsp), %rdx
				movq	%rax, 2304(%rsp)
				movq	%rdx, 2312(%rsp)
				movq	1552(%rsp), %rcx
				movq	1560(%rsp), %rbx
				movq	%rcx, 2320(%rsp)
				movq	%rbx, 2328(%rsp)
				movq	1568(%rsp), %rsi
				movq	1576(%rsp), %rdi
				movq	%rsi, 2336(%rsp)
				movq	%rdi, 2344(%rsp)
				movq	1584(%rsp), %r9
				movq	1592(%rsp), %r10
				movq	%r9, 2352(%rsp)
				movq	%r10, 2360(%rsp)
				movq	1600(%rsp), %r11
				movq	1608(%rsp), %r12
				movq	%r11, 2368(%rsp)
				movq	%r12, 2376(%rsp)
		.LVL642:
		.LBE658:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				call	PROMPT@PLT
		.LVL643:
		.LBB659:
		.LBB660:
				addq	$256, %rsp
				call	_imp_skipsymbol@PLT
		.LVL644:
		.LBE660:
		.LBE659:
  978             READ(PDEPTH); SKIPSYMBOL
				leaq	PDEPTH.6466(%rip), %rdi
				call	_imp_readint@PLT
		.LVL645:
		.LBB661:
		.LBB662:
				call	_imp_skipsymbol@PLT
		.LVL646:
		.LBE662:
		.LBE661:
		.LBB663:
  979             PROMPT("Move?")
				movabsq	$272285200205, %rax
				movl	$0, %edx
				movq	%rax, 1361(%rsp)
				movq	%rdx, 1369(%rsp)
				movb	$0, 1377(%rsp)
				movw	$0, 1378(%rsp)
				movl	$0, 1380(%rsp)
				leaq	1384(%rsp), %rdi
				movl	$29, %ecx
				movq	%rbp, %rax
				rep stosq
		.LVL647:
				movb	$5, 1360(%rsp)
				movdqa	1360(%rsp), %xmm0
				movaps	%xmm0, 1872(%rsp)
				movdqa	1376(%rsp), %xmm1
				movaps	%xmm1, 1888(%rsp)
				movdqa	1392(%rsp), %xmm2
				movaps	%xmm2, 1904(%rsp)
				movdqa	1408(%rsp), %xmm3
				movaps	%xmm3, 1920(%rsp)
				movdqa	1424(%rsp), %xmm4
				movaps	%xmm4, 1936(%rsp)
				movdqa	1440(%rsp), %xmm5
				movaps	%xmm5, 1952(%rsp)
				movdqa	1456(%rsp), %xmm6
				movaps	%xmm6, 1968(%rsp)
				movdqa	1472(%rsp), %xmm7
				movaps	%xmm7, 1984(%rsp)
				movdqa	1488(%rsp), %xmm0
				movaps	%xmm0, 2000(%rsp)
				movdqa	1504(%rsp), %xmm1
				movaps	%xmm1, 2016(%rsp)
				movq	1520(%rsp), %r13
				movq	1528(%rsp), %r14
				movq	%r13, 2032(%rsp)
				movq	%r14, 2040(%rsp)
				movq	1536(%rsp), %rax
				movq	1544(%rsp), %rdx
				movq	%rax, 2048(%rsp)
				movq	%rdx, 2056(%rsp)
				movq	1552(%rsp), %rcx
				movq	1560(%rsp), %rbx
				movq	%rcx, 2064(%rsp)
				movq	%rbx, 2072(%rsp)
				movq	1568(%rsp), %rsi
				movq	1576(%rsp), %rdi
				movq	%rsi, 2080(%rsp)
				movq	%rdi, 2088(%rsp)
				movq	1584(%rsp), %r9
				movq	1592(%rsp), %r10
				movq	%r9, 2096(%rsp)
				movq	%r10, 2104(%rsp)
				movq	1600(%rsp), %r11
				movq	1608(%rsp), %r12
				movq	%r11, 2112(%rsp)
				movq	%r12, 2120(%rsp)
		.LVL648:
		.LBE663:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				call	PROMPT@PLT
		.LVL649:
				addq	$256, %rsp
				jmp	.L391
		.L421:
  980             -> AGAIN
  981          %FINISH
  982          %IF NEXTSYMBOL='O' %START;     ! CASTLE
				cmpl	$79, %eax
				je	.L421
		.L396:
  983             X = 0
				movl	$0, 44(%rsp)
		.LBB664:
		.LBB665:
				call	_imp_skipsymbol@PLT
		.LVL650:
		.LBE665:
		.LBE664:
		.LBB666:
		.LBB667:
				movq	%r15, %rdi
				call	_imp_readsymbol@PLT
		.LVL651:
		.LBE667:
		.LBE666:
  984             SKIPSYMBOL; READSYMBOL(I)
  985             %IF I # '-' %THEN -> NO
				cmpl	$45, 40(%rsp)
				je	.L417
		.L397:
		.L404:
		.LVL652:
		.LBB668:
  986             READSYMBOL(I); -> NO %IF I#'O'
  987             %IF NEXTSYMBOL = '-' %START; ! QUEEN SIDE
				cmpl	$79, 40(%rsp)
				jne	.L404
		.L399:
		.LBB693:
		.LBB694:
				call	_imp_nextsymbol@PLT
		.LVL675:
		.LBE694:
		.LBE693:
				cmpl	$45, %eax
				je	.L423
		.L400:
  988                X = 1; SKIPSYMBOL; SKIPSYMBOL
				movl	$1, 44(%rsp)
		.LBB695:
		.LBB696:
				call	_imp_skipsymbol@PLT
		.LVL676:
		.LBE696:
		.LBE695:
		.LBB697:
		.LBB698:
				call	_imp_skipsymbol@PLT
		.LVL677:
				jmp	.L400
		.L422:
		.LBE698:
		.LBE697:
		.LBB699:
		.LBB700:
				call	_imp_skipsymbol@PLT
		.LVL678:
		.LBE700:
		.LBE699:
		.LBB701:
		.LBB702:
				leaq	60(%rsp), %rdi
		.LVL679:
				call	_imp_readsymbol@PLT
		.LVL680:
		.LBE702:
		.LBE701:
		.LBB703:
		.LBB704:
				call	_imp_skipsymbol@PLT
		.LVL681:
		.LBE704:
		.LBE703:
  989             %FINISH
  990             LM_SPEC = 6+X
				movl	44(%rsp), %eax
				addl	$6, %eax
				movl	%eax, 2904(%rsp)
  991             LM_FR = 5<<4+1
				movb	$81, 2900(%rsp)
  992             LM_TO = 5<<4+1
				movb	$81, 2901(%rsp)
				jmp	.L401
		.L423:
  993          %FINISHELSESTART
  994             I = READM(X, Y);  I=READM(X0, Y0)
				leaq	48(%rsp), %rsi
				leaq	44(%rsp), %rdi
				call	READM.7028
		.LVL662:
				movl	%eax, 40(%rsp)
  995             %IF NEXTSYMBOL='(' %START
				leaq	56(%rsp), %rsi
				leaq	52(%rsp), %rdi
				call	READM.7028
		.LVL663:
				movl	%eax, 40(%rsp)
		.LBB682:
		.LBB683:
				call	_imp_nextsymbol@PLT
		.LVL664:
		.LBE683:
		.LBE682:
				cmpl	$40, %eax
				je	.L422
		.L402:
		.LBB684:
  996                SKIPSYMBOL;  READSYMBOL(K); SKIPSYMBOL
  997                LM_SPEC = (K-'0')*(-1)
				movl	$48, %eax
				subl	60(%rsp), %eax
				movl	%eax, 2904(%rsp)
				jmp	.L402
		.LVL682:
		.L407:
		.LBB705:
		.LBB690:
  998             %FINISH
  999
 1000             %UNLESS 0<X<9 %AND 0<X0<9 %AND %C
 1001                     0<Y<9 %AND 0<Y0<9 %START
 1002 NO:            PRINTSTRING("INVALID MOVE - MY FORMAT IS D2D4
 1003 ")
				movabsq	$2325063899492535881, %rax
				movabsq	$5557491556800679757, %rdx
				movq	%rax, 1361(%rsp)
				movq	%rdx, 1369(%rsp)
				movabsq	$6071218788584792153, %rax
				movabsq	$3766190456570071328, %rdx
				movq	%rax, 1377(%rsp)
				movq	%rdx, 1385(%rsp)
				movq	$10, 1393(%rsp)
				movq	$0, 1401(%rsp)
				movb	$0, 1409(%rsp)
				movw	$0, 1410(%rsp)
				movl	$0, 1412(%rsp)
				leaq	1416(%rsp), %rdi
				movl	$25, %ecx
				movl	$0, %eax
				rep stosq
		.LVL653:
				movb	$33, 1360(%rsp)
				movq	1360(%rsp), %rax
				movq	1368(%rsp), %rdx
				movq	%rax, 1616(%rsp)
				movq	%rdx, 1624(%rsp)
				movdqa	1376(%rsp), %xmm1
				movaps	%xmm1, 1632(%rsp)
				movdqa	1392(%rsp), %xmm2
				movaps	%xmm2, 1648(%rsp)
				movdqa	1408(%rsp), %xmm3
				movaps	%xmm3, 1664(%rsp)
				movdqa	1424(%rsp), %xmm4
				movaps	%xmm4, 1680(%rsp)
				movdqa	1440(%rsp), %xmm5
				movaps	%xmm5, 1696(%rsp)
				movdqa	1456(%rsp), %xmm6
				movaps	%xmm6, 1712(%rsp)
				movdqa	1472(%rsp), %xmm7
				movaps	%xmm7, 1728(%rsp)
				movdqa	1488(%rsp), %xmm0
				movaps	%xmm0, 1744(%rsp)
				movdqa	1504(%rsp), %xmm1
				movaps	%xmm1, 1760(%rsp)
				movq	1520(%rsp), %r13
				movq	1528(%rsp), %r14
				movq	%r13, 1776(%rsp)
				movq	%r14, 1784(%rsp)
				movq	1536(%rsp), %rax
				movq	1544(%rsp), %rdx
				movq	%rax, 1792(%rsp)
				movq	%rdx, 1800(%rsp)
				movq	1552(%rsp), %rcx
				movq	1560(%rsp), %rbx
				movq	%rcx, 1808(%rsp)
				movq	%rbx, 1816(%rsp)
				movq	1568(%rsp), %rsi
				movq	1576(%rsp), %rdi
				movq	%rsi, 1824(%rsp)
				movq	%rdi, 1832(%rsp)
				movq	1584(%rsp), %r9
				movq	1592(%rsp), %r10
				movq	%r9, 1840(%rsp)
				movq	%r10, 1848(%rsp)
				movq	1600(%rsp), %r11
				movq	1608(%rsp), %r12
				movq	%r11, 1856(%rsp)
				movq	%r12, 1864(%rsp)
		.LVL654:
				movb	$33, 1616(%rsp)
				movdqa	1616(%rsp), %xmm2
				movaps	%xmm2, 1104(%rsp)
				movdqa	1376(%rsp), %xmm3
				movaps	%xmm3, 1120(%rsp)
				movdqa	1392(%rsp), %xmm4
				movaps	%xmm4, 1136(%rsp)
				movdqa	1408(%rsp), %xmm5
				movaps	%xmm5, 1152(%rsp)
				movdqa	1424(%rsp), %xmm6
				movaps	%xmm6, 1168(%rsp)
				movdqa	1440(%rsp), %xmm7
				movaps	%xmm7, 1184(%rsp)
				movdqa	1456(%rsp), %xmm0
				movaps	%xmm0, 1200(%rsp)
				movdqa	1472(%rsp), %xmm1
				movaps	%xmm1, 1216(%rsp)
				movdqa	1488(%rsp), %xmm2
				movaps	%xmm2, 1232(%rsp)
				movdqa	1504(%rsp), %xmm3
				movaps	%xmm3, 1248(%rsp)
				movq	%r13, 1264(%rsp)
				movq	%r14, 1272(%rsp)
				movq	%rax, 1280(%rsp)
				movq	%rdx, 1288(%rsp)
				movq	%rcx, 1296(%rsp)
				movq	%rbx, 1304(%rsp)
				movq	%rsi, 1312(%rsp)
				movq	%rdi, 1320(%rsp)
				movq	%r9, 1328(%rsp)
				movq	%r10, 1336(%rsp)
				movq	%r11, 1344(%rsp)
				movq	%r12, 1352(%rsp)
		.LBE668:
		.LBB669:
		.LBB670:
				pushq	%r12
				pushq	%r11
				pushq	%r10
				pushq	%r9
				pushq	%rdi
				pushq	%rsi
				pushq	%rbx
				pushq	%rcx
				pushq	%rdx
				pushq	%rax
				pushq	%r14
				pushq	%r13
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1608(%rsp)
				pushq	1864(%rsp)
				pushq	1864(%rsp)
				call	_imp_printstring@PLT
		.LVL655:
				addq	$256, %rsp
		.L405:
		.L415:
		.L406:
		.LVL656:
		.LBE670:
		.LBE669:
		.LBB671:
		.LBB672:
				movq	%r15, %rdi
				call	_imp_readsymbol@PLT
		.LVL657:
		.LBE672:
		.LBE671:
				movl	44(%rsp), %eax
		.LVL665:
 1004                %CYCLE
 1005                   READSYMBOL(I)
				leal	-1(%rax), %edx
				cmpl	$7, %edx
				ja	.L404
		.LBE684:
		.LBB685:
 1006                   %EXIT %IF I=NL
				cmpl	$10, 40(%rsp)
				jne	.L415
		.L391:
 1007                %REPEAT
 1008                ->AGAIN
 1009             %FINISH
 1010
				movl	52(%rsp), %edx
		.LVL666:
 1011             !!
 1012             LM_FR = X<<4+Y
				leal	-1(%rdx), %ecx
				cmpl	$7, %ecx
				ja	.L404
		.LBE685:
		.LBB686:
				sall	$4, %eax
		.LVL669:
				addl	%ecx, %eax
				movb	%al, 2900(%rsp)
 1013             LM_TO = X0<<4+Y0
				sall	$4, %edx
		.LVL670:
				leal	(%rdx,%rsi), %eax
				movb	%al, 2901(%rsp)
		.LVL671:
		.L401:
 1014          %FINISH
 1015          MMOVE_L == LM
				movq	(%rsp), %rax
				movq	%rax, 2912(%rsp)
		.LVL672:
		.LBB688:
		.LBB689:
 1016          %IF CHECK YOUR MOVE(LIST) = 0 %THEN ->NO
 1017          SKIPSYMBOL
				movl	48(%rsp), %ecx
		.LVL667:
 1018          RELEASE CHAIN(LIST)
				movq	(%rsp), %r10
				movq	8(%rsp), %rdi
				call	RELEASECHAIN.6544
		.LVL687:
		.LBE717:
		.LBE719:
 1019       %END
				leal	-1(%rcx), %esi
				cmpl	$7, %esi
				ja	.L404
		.LBE686:
		.LBB687:
 1020 %ENDOFPROGRAM
?CHK unused
?BRDOLD unused
?PLYWIDTH unused
  879 Statements compiled
				movl	56(%rsp), %esi
		.LVL668:
				leal	-1(%rsi), %edi
				cmpl	$7, %edi
				ja	.L404
		.L403:
		.LBE687:
