         Edinburgh IMP77 Compiler - Version 8.4
    1 %EXTERNALROUTINE DRAUGHTS(%STRING(12) S)
		.Ltext0:
		VALIDPOS.6094:
		.LFB190:
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$22732, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -32(%ebp)
    2 !%EXTERNALROUTINESPEC CPULIMIT (%STRING(255) S)
    3 %EXTERNALROUTINESPEC PROMPT(%STRING(15) S)
    4 %OWNINTEGER MOB WT = 6
    5 %CONSTINTEGER TRUE =1, FALSE = 0
    6
    7 %OWNINTEGER BACK WT = 4
    8 %OWNINTEGER CENT WT = 4
    9 %OWNINTEGER ADV1 WT = 450
   10 %OWNINTEGER ADV2 WT = 50
   11 %OWNINTEGER CRAMP WT = 6
   12 %OWNINTEGER MON = 'Q'
   13 %OWNINTEGER A WIN = 0
   14 %OWNINTEGER SEARCH LIMIT = 3
   15 %OWNINTEGER CROWN = 1800
   16 %OWNINTEGERARRAY BACK1(1:5) = 77, 75, 73, 71, 64
				leal	-22536(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	BACK1.6032@GOTOFF(%ebx), %eax
				movl	%eax, -22536(%ebp)
				movl	$4, -22532(%ebp)
   17 %OWNINTEGERARRAY BACK2(1:5) =  0,  2,  4,  6, 13
				leal	-22468(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	BACK2.6034@GOTOFF(%ebx), %eax
				movl	%eax, -22468(%ebp)
				movl	$4, -22464(%ebp)
   18 %OWNINTEGERARRAY CENTSQ(0:7) = 51, 53, 42, 44, 33, 35, 24, 26
				leal	-22400(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	CENTSQ.6036@GOTOFF(%ebx), %eax
				movl	%eax, -22400(%ebp)
				movl	$4, -22396(%ebp)
   19 %OWNINTEGERARRAY MOVE(0:7) =  9, 18, 11, 22, -9,-18,-11,-22
				leal	-22332(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	MOVE.6038@GOTOFF(%ebx), %eax
				movl	%eax, -22332(%ebp)
				movl	$4, -22328(%ebp)
   20 %OWNINTEGERARRAY PLAYER1(-1:26) =     'W',    1,
				leal	-22264(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	PLAYER1.6040@GOTOFF(%ebx), %eax
				movl	%eax, -22264(%ebp)
				movl	$4, -22260(%ebp)
   21    77,   75,   73,   71,   64,   66,   62,   60,   57,   55,   53,   51,
   22  1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
   23    12,    0
   24 %OWNINTEGERARRAY PLAYER2(-1:26) =     'B',    2,
				leal	-22196(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	PLAYER2.6042@GOTOFF(%ebx), %eax
				movl	%eax, -22196(%ebp)
				movl	$4, -22192(%ebp)
   25     0,    2,    4,    6,   13,   11,   15,   17,   20,   22,   24,   26,
   26  1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000,
   27    12,    0
   28 %OWNINTEGERARRAY BOARD(-1:78) = %C
				leal	-22128(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	BOARD.6044@GOTOFF(%ebx), %eax
				movl	%eax, -22128(%ebp)
				movl	$4, -22124(%ebp)
   29   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   30   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   31   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   32   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   33   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   34   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   35   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
   36   ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
   37 %INTEGERARRAY MIN, MAX(1:12)
				leal	-22060(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$60, %eax
				movl	%eax, -22060(%ebp)
				movl	$4, -22056(%ebp)
				leal	-21992(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$12, %eax
				movl	%eax, -21992(%ebp)
				movl	$4, -21988(%ebp)
   38 %INTEGERARRAY REPLY(1:9)
				leal	-21924(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-22572(%ebp), %eax
				movl	%eax, -21924(%ebp)
				movl	$4, -21920(%ebp)
   39 %INTEGERARRAY COMP, OPP(-1:26)
				leal	-21856(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$376, %eax
				movl	%eax, -21856(%ebp)
				movl	$4, -21852(%ebp)
				leal	-21788(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$260, %eax
				movl	%eax, -21788(%ebp)
				movl	$4, -21784(%ebp)
   40 %INTEGERNAME COMPNUM, OPPNUM
   41 %INTEGERARRAY PSTACK(1:12);            ! piece position take stack
				leal	-21720(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$208, %eax
				movl	%eax, -21720(%ebp)
				movl	$4, -21716(%ebp)
   42 %INTEGERARRAY TSTACK(1:12);            ! piece type stack
				leal	-21652(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$160, %eax
				movl	%eax, -21652(%ebp)
				movl	$4, -21648(%ebp)
   43 %INTEGERARRAY NSTACK(1:12);            ! piece number stack
				leal	-21584(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-524(%ebp), %eax
				addl	$112, %eax
				movl	%eax, -21584(%ebp)
				movl	$4, -21580(%ebp)
   44 %OWNINTEGER SP;                        ! stack pointer
   45 %OWNINTEGER ME = 1
   46 %OWNINTEGER ONE = 1
   47 %OWNINTEGER TWO = 2
   48 %OWNINTEGER THREE = 3
   49 %INTEGER BEST PIECE, BEST MOVE, BEST TAKE
   50 %INTEGER VALUEB, I, P, M, PIECE, JMAN, JUMP, DIF, MODIF, MORE
   51 %INTEGER OLDPOS, NEWPOS, LASTPOS, COMPOS
   52 %INTEGER NODES, PLY NUMBER, EXPECTED MOVE
   53 %INTEGER A,B,C,POS
   54
   55 !*   P L A Y I N G   F U N C T I O N S
   56
   57    %INTEGERFN VALID POS(%INTEGER POS)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$40, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %eax
				movl	%ecx, -28(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
   58    %INTEGER I
   59       ! on the board?
   60       I = POS>>1
				movl	8(%ebp), %edx
				shrl	%edx
				movl	%edx, -16(%ebp)
   61       %RESULT = -1 %IF POS < 0 %OR POS > 77 %C
				cmpl	$0, 8(%ebp)
				js	.L21
				cmpl	$77, 8(%ebp)
				jg	.L22
				cmpl	$4, -16(%ebp)
				je	.L23
				cmpl	$14, -16(%ebp)
				je	.L24
				cmpl	$24, -16(%ebp)
				je	.L25
				cmpl	$34, -16(%ebp)
				jne	.L26
				jmp	.L3
		.L21:
				nop
				jmp	.L3
		.L22:
				nop
				jmp	.L3
		.L23:
				nop
				jmp	.L3
		.L24:
				nop
				jmp	.L3
		.L25:
				nop
		.L3:
				movl	$-1, %eax
				jmp	.L9
		.L26:
				nop
		.L8:
   62                    %OR I = 4 %OR I = 14 %OR I = 24 %OR I = 34
   63       ! square vacant?
   64       %CYCLE I = 1, 1, 12
				movl	$0, -16(%ebp)
		.L10:
				cmpl	$12, -16(%ebp)
				je	.L27
				addl	$1, -16(%ebp)
				nop
		.L12:
   65          %RESULT = 1 %IF (I <= COMPNUM %AND POS = COMP(I)) %C
				movl	488(%eax), %edx
				movl	(%edx), %edx
				cmpl	%edx, -16(%ebp)
				jg	.L28
				movl	-16(%ebp), %edx
				addl	$1, %edx
				addl	$92, %edx
				movl	8(%eax,%edx,4), %edx
				cmpl	%edx, 8(%ebp)
				je	.L29
				jmp	.L14
		.L28:
				nop
		.L14:
				movl	372(%eax), %edx
				movl	(%edx), %edx
				cmpl	%edx, -16(%ebp)
				jg	.L30
				movl	-16(%ebp), %edx
				addl	$1, %edx
				addl	$64, %edx
				movl	4(%eax,%edx,4), %edx
				cmpl	%edx, 8(%ebp)
				jne	.L31
				jmp	.L15
		.L29:
				nop
		.L15:
				movl	$1, %eax
				jmp	.L9
		.L30:
				nop
				jmp	.L10
		.L31:
				nop
		.L17:
   66                      %OR (I <= OPPNUM %AND POS = OPP(I))
   67       %REPEAT
				jmp	.L10
		.L27:
   68       %RESULT = 0
				movl	$0, %eax
		.L9:
   69    %END
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L18
				call	__stack_chk_fail_local
		.L18:
				leave
				ret
		.LFE190:
				.section	.rodata
				.align 4
		.LC40:
				.string	"Illegal cycle P = 1, 1, OPP[26]"
				.align 4
		.LC41:
				.string	"Illegal cycle I = 1, 1, COMP[26]"
				.align 32
		.LC0:
				.byte	34
				.string	"The Draughts programme  DRAFT4.4\n\n"
				.zero	220
				.align 32
		.LC1:
				.byte	22
				.string	"Do you want some help?"
				.zero	232
				.align 32
		.LC2:
				.byte	114
				.string	"\n\n   Moves are typed in in the following form:  (e.g.)\n\n      C3-D4      move the pie
				.zero	140
				.align 32
		.LC3:
				.byte	56
				.string	"\n      C3-E5      move C3 to E5, taking the piece on D4\n"
				.zero	198
				.align 32
		.LC4:
				.byte	119
				.string	"      C3-E5,\n      E5-C7      an example of a multiple jump\n\n
				.zero	135
				.align 32
		.LC5:
				.byte	21
				.string	"Do you want to start?"
				.zero	233
				.align 32
		.LC6:
				.byte	22
				.string	"Where are your pieces?"
				.zero	232
				.align 32
		.LC7:
				.byte	20
				.string	"Where are my pieces?"
				.zero	234
				.align 32
		.LC8:
				.byte	24
				.string	"Think of a number please"
				.zero	230
				.align 32
		.LC9:
				.byte	25
				.string	"DRAFT4's opening move is "
				.zero	229
				.align 32
		.LC10:
				.byte	5
				.string	"D6-C5"
				.zero	249
				.align 32
		.LC11:
				.byte	5
				.string	"D6-E5"
				.zero	249
				.align 32
		.LC12:
				.byte	5
				.string	"F6-E5"
				.zero	249
				.align 32
		.LC13:
				.byte	11
				.string	"The square "
				.zero	243
				.align 32
		.LC14:
				.byte	17
				.string	" does not exist!\n"
				.zero	237
				.align 32
		.LC15:
				.byte	26
				.string	"You cannot move to square "
				.zero	228
				.align 32
		.LC16:
				.byte	22
				.string	";  it does not exist!\n"
				.zero	232
				.align 32
		.LC17:
				.byte	27
				.string	";  it is already occupied!\n"
				.zero	227
				.align 32
		.LC18:
				.byte	18
				.string	"test-in/draft4.imp"
				.zero	236
				.align 32
		.LC19:
				.byte	34
				.string	"You do not have a piece on square "
				.zero	220
				.align 32
		.LC20:
				.byte	47
				.string	"You MUST take the piece that I am offering you\n"
				.zero	207
				.align 32
		.LC21:
				.byte	40
				.string	"That's not part of a multiple jump move\n"
				.zero	214
				.align 32
		.LC22:
				.byte	38
				.string	"You cannot move that piece backwards!\n"
				.zero	216
				.align 32
		.LC23:
				.byte	42
				.string	"That move does not exist in my rule book!\n"
				.zero	212
				.align 32
		.LC24:
				.byte	58
				.string	"You cannot do that.  You are not jumping one of my pieces\n"
				.zero	196
				.align 32
		.LC25:
				.byte	60
				.string	"That's not part of a multiple jump\nPlease re-type that part\n"
				.zero	194
				.align 32
		.LC26:
				.byte	49
				.string	" I have no pieces left so I suppose you have won\n"
				.zero	205
				.align 32
		.LC27:
				.byte	42
				.string	"I cannot move any of my pieces so you win\n"
				.zero	212
				.align 32
		.LC28:
				.byte	9
				.string	"I resign\n"
				.zero	245
				.align 32
		.LC29:
				.byte	18
				.string	"Nodes considered ="
				.zero	236
				.align 32
		.LC30:
				.byte	17
				.string	"\nValue of board ="
				.zero	237
				.align 32
		.LC31:
				.byte	33
				.string	"You have no pieces left so I win\n"
				.zero	221
				.align 32
		.LC32:
				.byte	44
				.string	"You cannot move any of your pieces so I win\n"
				.zero	210
				.align 32
		.LC33:
				.byte	28
				.string	"He-He!  I am going to win!!\n"
				.zero	226
				.align 32
		.LC34:
				.byte	31
				.string	"\nThe final board position is -\n"
				.zero	223
				.globl	DRAUGHTS
		DRAUGHTS:
		.LFB189:
   70
   71    %INTEGERFN VALID MOVE(%INTEGER M, P, %INTEGERARRAYNAME COMP, OPP)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$828, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	16(%ebp), %eax
				movl	%eax, -828(%ebp)
				movl	20(%ebp), %eax
				movl	%eax, -832(%ebp)
				movl	%ecx, %esi
				movl	%ecx, -836(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
   72       %INTEGER CPOS, I, T
   73       %UNLESS COMP(P+12) = CROWN %START
				movl	12(%ebp), %eax
				addl	$12, %eax
				leal	0(,%eax,4), %edx
				movl	-828(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L351
				nop
		.L325:
   74          %IF COMP(0) = 1 %START;       ! player 1
				movl	-828(%ebp), %eax
				movl	(%eax), %eax
				cmpl	$1, %eax
				jne	.L352
				nop
   75             %RESULT = -1 %IF M&4 = 0;  ! backward move
				movl	8(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L353
				movl	$-1, %eax
				jmp	.L323
		.L353:
				nop
		.L322:
   76          %FINISH %ELSE %START;         ! else player 2
				jmp	.L325
		.L320:
		.L352:
   77             %RESULT = -1 %IF M&4 # 0;  ! backward move
				movl	$-1, %eax
				jmp	.L323
		.L318:
		.L324:
		.L351:
   78          %FINISH
   79       %FINISH
   80       CPOS = COMP(P)
				movl	12(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-828(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %eax
				movl	%eax, -812(%ebp)
   81       %RESULT = -1 %UNLESS VALID POS(CPOS+MOVE(M)) = 0
				movl	8(%ebp), %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %edx
				movl	-812(%ebp), %eax
				addl	%edx, %eax
				subl	$12, %esp
				pushl	%eax
				movl	%esi, %ecx
				call	VALIDPOS.6094
				addl	$16, %esp
				testl	%eax, %eax
				je	.L354
				movl	$-1, %eax
				jmp	.L323
		.L354:
				nop
		.L327:
   82       %RESULT = 0 %IF M&1 = 0;         ! ordinary move
				movl	8(%ebp), %eax
				andl	$1, %eax
				testl	%eax, %eax
				jne	.L355
				movl	$0, %eax
				jmp	.L323
		.L355:
				nop
		.L329:
   83       %RESULT = -1 %IF OPP(25)=0
				movl	-832(%ebp), %eax
				addl	$100, %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L356
				movl	$-1, %eax
				jmp	.L323
		.L356:
				nop
		.L331:
   84       I = CPOS+MOVE(M-1);              !  else take-move
				movl	8(%ebp), %eax
				subl	$1, %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %edx
				movl	-812(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -808(%ebp)
		.LBB451:
   85       %CYCLE T = 1, 1, OPP(25)
				movl	-832(%ebp), %eax
				movl	100(%eax), %eax
				movl	%eax, -804(%ebp)
		.LBB452:
				movl	-804(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -800(%ebp)
				movl	-800(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE452:
				testl	%eax, %eax
				je	.L332
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC42@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L333
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -840(%ebp)
				jmp	.L334
		.L333:
				movl	$85, -840(%ebp)
		.L334:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L335
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L336
		.L335:
		.LBB453:
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE453:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L336:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-840(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L332:
				movl	$0, -816(%ebp)
		.L337:
				movl	-816(%ebp), %eax
				cmpl	-804(%ebp), %eax
				je	.L357
				addl	$1, -816(%ebp)
				nop
		.L339:
		.LBE451:
   86          %RESULT = T %IF I = OPP(T);   ! piece to take?
				movl	-816(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-832(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %eax
				cmpl	%eax, -808(%ebp)
				jne	.L358
				movl	-816(%ebp), %eax
				jmp	.L323
		.L358:
				nop
		.L341:
   87       %REPEAT
				jmp	.L337
		.L357:
   88       %RESULT = -1
				movl	$-1, %eax
		.L323:
   89    %END
				movl	-28(%ebp), %edi
				xorl	%gs:20, %edi
				je	.L342
				call	__stack_chk_fail_local
		.L342:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE191:
				.section	.rodata
				.align 4
		.LC43:
				.string	"Illegal cycle P = 1, 1, COMPNUM"
		PENDINGMOVE.6131:
		.LFB192:
   90
   91    %INTEGERFN PENDING MOVE(%INTEGERARRAYNAME COMP, OPP)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1628, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	8(%ebp), %eax
				movl	%eax, -1612(%ebp)
				movl	12(%ebp), %eax
				movl	%eax, -1616(%ebp)
				movl	%ecx, -1628(%ebp)
				movl	%ecx, -1620(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
   92    %INTEGER P, M, T, COMPNUM
   93       COMPNUM = COMP(25)
				movl	-1612(%ebp), %eax
				movl	100(%eax), %eax
				movl	%eax, -1588(%ebp)
   94       %RESULT = -1 %IF COMPNUM = 0;    ! no pieces left!!
				cmpl	$0, -1588(%ebp)
				jne	.L397
				movl	$-1, %eax
				jmp	.L362
		.L397:
				nop
		.L361:
		.LBB454:
   95       %CYCLE P = 1, 1, COMPNUM
				movl	-1588(%ebp), %eax
				movl	%eax, -1584(%ebp)
		.LBB455:
				movl	-1584(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1580(%ebp)
				movl	-1580(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE455:
				testl	%eax, %eax
				je	.L363
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				leal	.LC43@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L364
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1624(%ebp)
				jmp	.L365
		.L364:
				movl	$95, -1624(%ebp)
		.L365:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L366
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-796(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L367
		.L366:
		.LBB456:
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE456:
				leal	-796(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L367:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1624(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L363:
				movl	$0, -1596(%ebp)
		.L368:
				movl	-1596(%ebp), %eax
				cmpl	-1584(%ebp), %eax
				je	.L398
				addl	$1, -1596(%ebp)
				nop
		.L370:
		.LBE454:
		.LBB457:
   96          %CYCLE M = 1, 2, 7
				movl	$-1, -1592(%ebp)
		.L371:
				cmpl	$7, -1592(%ebp)
				je	.L399
				addl	$2, -1592(%ebp)
				nop
		.L373:
   97             T = VALID MOVE(M, P, COMP, OPP)
				pushl	-1616(%ebp)
				pushl	-1612(%ebp)
				pushl	-1596(%ebp)
				pushl	-1592(%ebp)
				movl	-1628(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				movl	%eax, -1576(%ebp)
   98             %RESULT = P %IF T > 0;     ! return piece doing take
				cmpl	$0, -1576(%ebp)
				jle	.L400
				movl	-1596(%ebp), %eax
				jmp	.L362
		.L400:
				nop
		.L375:
   99          %REPEAT
				jmp	.L371
		.L399:
  100       %REPEAT
				jmp	.L368
		.L398:
  101       ! ordinary moves
  102       %CYCLE P = 1, 1, COMPNUM
				movl	-1588(%ebp), %eax
				movl	%eax, -1572(%ebp)
		.LBB458:
				movl	-1572(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1568(%ebp)
				movl	-1568(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE458:
				testl	%eax, %eax
				je	.L376
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC43@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L377
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1624(%ebp)
				jmp	.L378
		.L377:
				movl	$102, -1624(%ebp)
		.L378:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L379
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L380
		.L379:
		.LBB459:
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE459:
				leal	-284(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L380:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1624(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L376:
				movl	$0, -1596(%ebp)
		.L381:
				movl	-1596(%ebp), %eax
				cmpl	-1572(%ebp), %eax
				je	.L401
				addl	$1, -1596(%ebp)
				nop
		.L383:
		.LBE457:
  103          %CYCLE M = 0, 2, 6
				movl	$-2, -1592(%ebp)
		.L384:
				cmpl	$6, -1592(%ebp)
				je	.L402
				addl	$2, -1592(%ebp)
				nop
		.L386:
  104             T = VALID MOVE(M, P, COMP, OPP)
				pushl	-1616(%ebp)
				pushl	-1612(%ebp)
				pushl	-1596(%ebp)
				pushl	-1592(%ebp)
				movl	-1628(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				movl	%eax, -1576(%ebp)
  105             %RESULT = 0 %IF T = 0;     ! move ok
				cmpl	$0, -1576(%ebp)
				jne	.L403
				movl	$0, %eax
				jmp	.L362
		.L403:
				nop
		.L388:
  106          %REPEAT
				jmp	.L384
		.L402:
  107       %REPEAT
				jmp	.L381
		.L401:
  108       %RESULT = -1;                   ! no moves
				movl	$-1, %eax
		.L362:
  109    %END
				movl	-28(%ebp), %esi
				xorl	%gs:20, %esi
				je	.L389
				call	__stack_chk_fail_local
		.L389:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE192:
		CROWNING.6160:
		.LFB193:
  110
  111    %INTEGERFN CROWNING(%INTEGER POS, PLAYER)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, -4(%ebp)
  112       ! assumes valid pos
  113       %RESULT=TRUE %IF (PLAYER = 1 %AND POS < 7) %C
				cmpl	$1, 12(%ebp)
				jne	.L411
				cmpl	$6, 8(%ebp)
				jle	.L412
				jmp	.L406
		.L411:
				nop
		.L406:
				cmpl	$2, 12(%ebp)
				jne	.L413
				cmpl	$70, 8(%ebp)
				jle	.L414
				jmp	.L407
		.L412:
				nop
		.L407:
				movl	$1, %eax
				jmp	.L410
		.L413:
				nop
				jmp	.L409
		.L414:
				nop
		.L409:
  114             %OR (PLAYER = 2 %AND POS > 70)
  115       %RESULT=FALSE
				movl	$0, %eax
		.L410:
  116    %END
				leave
				ret
		.LFE193:
		MOD.6166:
		.LFB194:
  117
  118    %INTEGERFN MOD(%INTEGER N)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, -4(%ebp)
  119
  120       %RESULT = -N %IF N<0
				cmpl	$0, 8(%ebp)
				jns	.L420
				movl	8(%ebp), %eax
				negl	%eax
				jmp	.L418
		.L420:
				nop
		.L417:
  121       %RESULT = N
				movl	8(%ebp), %eax
		.L418:
  122
  123    %END
				leave
				ret
		.LFE194:
				.section	.rodata
				.align 4
		.LC44:
				.string	"Illegal cycle P = 1, 1, COMP[/*BUG*/25]"
				.align 4
		.LC45:
				.string	"Illegal cycle PP = 1, 1, OPP[/*BUG*/25]"
		VALUEOFSIDE.6171:
		.LFB195:
  124
  125    %INTEGERFN VALUE OF SIDE(%INTEGERARRAYNAME COMP, OPP)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1932, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	8(%ebp), %eax
				movl	%eax, -1916(%ebp)
				movl	12(%ebp), %eax
				movl	%eax, -1920(%ebp)
				movl	%ecx, -1928(%ebp)
				movl	%ecx, -1924(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  126    %INTEGER V1, V2, V3, V4, V5, V6, V7
  127    %INTEGER P, PP, M, MM, MV, ADV1, VM, PLAYER
  128    %INTEGERNAME CPOS, CTYPE
  129       PLAYER = COMP(0)
				movl	-1916(%ebp), %eax
				movl	(%eax), %eax
				movl	%eax, -1860(%ebp)
  130
  131       ! back control
  132       V2 = 0
				movl	$0, -1900(%ebp)
  133       %IF OPP(26) = 0 %START;          ! OPP has no crowns yet
				movl	-1920(%ebp), %eax
				addl	$104, %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L494
				nop
				jmp	.L436
		.L498:
  134          %IF PLAYER = 1 %START;        ! player 1
				cmpl	$1, -1860(%ebp)
				jne	.L495
				nop
		.L425:
  135             %CYCLE P = 1, 1, 5
				movl	$0, -1880(%ebp)
		.L426:
				cmpl	$5, -1880(%ebp)
				je	.L496
				addl	$1, -1880(%ebp)
				nop
		.L428:
  136                V2 = V2+BACK WT %IF COMP(P) = BACK1(P)
				movl	-1880(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %edx
				movl	-1880(%ebp), %eax
				subl	$1, %eax
				movl	BACK1.6032@GOTOFF(%ebx,%eax,4), %eax
				cmpl	%eax, %edx
				jne	.L497
				movl	BACKWT.6023@GOTOFF(%ebx), %eax
				addl	%eax, -1900(%ebp)
				jmp	.L426
		.L497:
				nop
		.L430:
  137             %REPEAT
				jmp	.L426
		.L496:
  138          %FINISH %ELSE %START;         ! player 2
				jmp	.L436
		.L495:
  139             %CYCLE P = 1, 1, 5
				movl	$0, -1880(%ebp)
		.L431:
				cmpl	$5, -1880(%ebp)
				je	.L498
				addl	$1, -1880(%ebp)
				nop
		.L436:
  140                V2 = V2+BACK WT %IF COMP(P) = BACK2(P)
				movl	-1880(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %edx
				movl	-1880(%ebp), %eax
				subl	$1, %eax
				movl	BACK2.6034@GOTOFF(%ebx,%eax,4), %eax
				cmpl	%eax, %edx
				jne	.L499
				movl	BACKWT.6023@GOTOFF(%ebx), %eax
				addl	%eax, -1900(%ebp)
				jmp	.L431
		.L499:
				nop
		.L434:
  141             %REPEAT
				jmp	.L431
		.L423:
		.L435:
		.L494:
  142          %FINISH
  143       %FINISH
  144
  145       V1 = 0;  V3 = 0;  V4 = 0;  V5 = 0;  V6 = 0;  V7 = 0
				movl	$0, -1904(%ebp)
				movl	$0, -1896(%ebp)
				movl	$0, -1892(%ebp)
				movl	$0, -1888(%ebp)
				movl	$0, -1884(%ebp)
				movl	$0, -1856(%ebp)
		.LBB460:
  146       %CYCLE P = 1, 1, COMP(25)
				movl	-1916(%ebp), %eax
				movl	100(%eax), %eax
				movl	%eax, -1852(%ebp)
		.LBB461:
				movl	-1852(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1848(%ebp)
				movl	-1848(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE461:
				testl	%eax, %eax
				je	.L437
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				leal	.LC44@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L438
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1932(%ebp)
				jmp	.L439
		.L438:
				movl	$146, -1932(%ebp)
		.L439:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L440
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-796(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L441
		.L440:
		.LBB462:
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE462:
				leal	-796(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L441:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1932(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L437:
				movl	$0, -1880(%ebp)
		.L442:
				movl	-1880(%ebp), %eax
				cmpl	-1852(%ebp), %eax
				je	.L500
				addl	$1, -1880(%ebp)
				nop
		.L444:
		.LBE460:
  147          CPOS ==COMP(P);  CTYPE ==  COMP(P+12)
				movl	-1880(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -1844(%ebp)
				movl	-1880(%ebp), %eax
				addl	$12, %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -1840(%ebp)
  148          ADV1 = 0
				movl	$0, -1864(%ebp)
  149
  150          ! add up piece values
  151          V1 = V1+CTYPE
				movl	-1840(%ebp), %eax
				movl	(%eax), %eax
				addl	%eax, -1904(%ebp)
  152
  153          %CYCLE M = 0, 1, 7
				movl	$-1, -1872(%ebp)
		.L445:
				cmpl	$7, -1872(%ebp)
				je	.L501
				addl	$1, -1872(%ebp)
				nop
		.L447:
  154             VM = VALID MOVE(M, P, COMP, OPP)
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				pushl	-1880(%ebp)
				pushl	-1872(%ebp)
				movl	-1928(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				movl	%eax, -1836(%ebp)
  155             MV = MOVE(M)
				movl	-1872(%ebp), %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %eax
				movl	%eax, -1832(%ebp)
  156
  157             ! centre control
  158             %IF CPOS = CENTSQ(M) %START
				movl	-1844(%ebp), %eax
				movl	(%eax), %edx
				movl	-1872(%ebp), %eax
				movl	CENTSQ.6036@GOTOFF(%ebx,%eax,4), %eax
				cmpl	%eax, %edx
				jne	.L502
				nop
				jmp	.L451
		.L503:
  159                V4 = V4+CENT WT
				movl	CENTWT.6024@GOTOFF(%ebx), %eax
				addl	%eax, -1892(%ebp)
  160                V4 = V4+CENT WT+1 %IF CTYPE = CROWN
				movl	-1840(%ebp), %eax
				movl	(%eax), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L503
				movl	CENTWT.6024@GOTOFF(%ebx), %edx
				movl	-1892(%ebp), %eax
				addl	%edx, %eax
				addl	$1, %eax
				movl	%eax, -1892(%ebp)
				jmp	.L451
		.L449:
		.L502:
				nop
		.L451:
  161             %FINISH
  162
  163             %IF VM >= 0 %START
				cmpl	$0, -1836(%ebp)
				js	.L504
				nop
				jmp	.L445
		.L513:
  164
  165                ! mobility
  166                V3 = V3+MOB WT
				movl	MOBWT.6022@GOTOFF(%ebx), %eax
				addl	%eax, -1896(%ebp)
  167                V3 = V3+MOB WT %IF VM > 0
				cmpl	$0, -1836(%ebp)
				jle	.L505
				movl	MOBWT.6022@GOTOFF(%ebx), %eax
				addl	%eax, -1896(%ebp)
				jmp	.L455
		.L505:
				nop
		.L455:
  168
  169                %IF CTYPE # CROWN %START
				movl	-1840(%ebp), %eax
				movl	(%eax), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L506
				nop
				jmp	.L468
		.L509:
  170
  171                   ! advancement 1
  172                   %IF ADV1 = 0 %AND TRUE=CROWNING(CPOS+MV, PLAYER) %THEN %C
				cmpl	$0, -1864(%ebp)
				jne	.L507
				movl	-1844(%ebp), %eax
				movl	(%eax), %edx
				movl	-1832(%ebp), %eax
				addl	%edx, %eax
				subl	$8, %esp
				pushl	-1860(%ebp)
				pushl	%eax
				movl	-1928(%ebp), %ecx
				call	CROWNING.6160
				addl	$16, %esp
				cmpl	$1, %eax
				jne	.L508
				movl	ADV1WT.6025@GOTOFF(%ebx), %eax
				addl	%eax, -1888(%ebp)
				movl	$1, -1864(%ebp)
				jmp	.L459
		.L507:
				nop
				jmp	.L459
		.L508:
				nop
		.L459:
  173                    V5 = V5+ADV1 WT %AND ADV1 = 1
  174
  175                   ! advancement 2
  176                   %IF VM = 0 %START;   ! ignore jumps to crown
				cmpl	$0, -1836(%ebp)
				jne	.L509
				nop
		.L468:
  177                      CPOS = CPOS+MV
				movl	-1844(%ebp), %eax
				movl	(%eax), %edx
				movl	-1832(%ebp), %eax
				addl	%eax, %edx
				movl	-1844(%ebp), %eax
				movl	%edx, (%eax)
  178                      %CYCLE MM = 0, 2, 6
				movl	$-2, -1868(%ebp)
		.L462:
				cmpl	$6, -1868(%ebp)
				je	.L510
				addl	$2, -1868(%ebp)
				nop
		.L464:
  179                         %IF TRUE=CROWNING(CPOS+MOVE(MM), PLAYER) %C
				movl	-1844(%ebp), %eax
				movl	(%eax), %edx
				movl	-1868(%ebp), %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %eax
				addl	%edx, %eax
				subl	$8, %esp
				pushl	-1860(%ebp)
				pushl	%eax
				movl	-1928(%ebp), %ecx
				call	CROWNING.6160
				addl	$16, %esp
				cmpl	$1, %eax
				jne	.L511
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				pushl	-1880(%ebp)
				pushl	-1868(%ebp)
				movl	-1928(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				testl	%eax, %eax
				js	.L512
				nop
				jmp	.L462
		.L512:
				nop
		.L466:
  180                          %AND VALID MOVE(MM, P, COMP, OPP) >= 0 %START
  181                            V6 = V6+ADV2 WT;  %EXIT
				movl	ADV2WT.6026@GOTOFF(%ebx), %eax
				addl	%eax, -1884(%ebp)
				jmp	.L464
		.L511:
  182                         %FINISH
  183                      %REPEAT
				jmp	.L462
		.L510:
  184                      CPOS = CPOS-MV
				movl	-1844(%ebp), %eax
				movl	(%eax), %eax
				subl	-1832(%ebp), %eax
				movl	%eax, %edx
				movl	-1844(%ebp), %eax
				movl	%edx, (%eax)
				jmp	.L468
		.L457:
		.L506:
  185                   %FINISH
  186                %FINISH
  187
  188                ! cramp
  189                %IF VM = 0 %AND CTYPE = CROWN %AND OPP(25) > 0 %START
				cmpl	$0, -1836(%ebp)
				jne	.L513
				movl	-1840(%ebp), %eax
				movl	(%eax), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L514
				movl	-1920(%ebp), %eax
				addl	$100, %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jle	.L515
				nop
				jmp	.L445
		.L514:
				nop
				jmp	.L445
		.L515:
				nop
		.L485:
  190                   CPOS = CPOS+MV
				movl	-1844(%ebp), %eax
				movl	(%eax), %edx
				movl	-1832(%ebp), %eax
				addl	%eax, %edx
				movl	-1844(%ebp), %eax
				movl	%edx, (%eax)
		.LBB463:
  191                   %CYCLE PP = 1, 1, OPP(25)
				movl	-1920(%ebp), %eax
				movl	100(%eax), %eax
				movl	%eax, -1828(%ebp)
		.LBB464:
				movl	-1828(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1824(%ebp)
				movl	-1824(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE464:
				testl	%eax, %eax
				je	.L472
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC45@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L473
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1932(%ebp)
				jmp	.L474
		.L473:
				movl	$191, -1932(%ebp)
		.L474:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L475
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L476
		.L475:
		.LBB465:
				leal	-1564(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE465:
				leal	-284(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L476:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1932(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L472:
				movl	$0, -1876(%ebp)
		.L477:
				movl	-1876(%ebp), %eax
				cmpl	-1828(%ebp), %eax
				je	.L516
				addl	$1, -1876(%ebp)
				nop
		.L479:
		.LBE463:
  192                      %CYCLE MM = 1, 2, 7
				movl	$-1, -1868(%ebp)
		.L480:
				cmpl	$7, -1868(%ebp)
				je	.L517
				addl	$2, -1868(%ebp)
				nop
		.L482:
  193                         %IF VALID MOVE(MM, PP, OPP, COMP) >= 0 %START
				pushl	-1916(%ebp)
				pushl	-1920(%ebp)
				pushl	-1876(%ebp)
				pushl	-1868(%ebp)
				movl	-1928(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				testl	%eax, %eax
				js	.L518
				nop
		.L484:
  194                            V5 = V5-CRAMP WT;  %EXIT
				movl	CRAMPWT.6027@GOTOFF(%ebx), %eax
				subl	%eax, -1888(%ebp)
				jmp	.L482
		.L518:
  195                         %FINISH
  196                      %REPEAT
				jmp	.L480
		.L517:
  197                   %REPEAT
				jmp	.L477
		.L516:
  198                   CPOS = CPOS-MV
				movl	-1844(%ebp), %eax
				movl	(%eax), %eax
				subl	-1832(%ebp), %eax
				movl	%eax, %edx
				movl	-1844(%ebp), %eax
				movl	%edx, (%eax)
				jmp	.L445
		.L453:
		.L504:
  199                %FINISH
  200             %FINISH
  201          %REPEAT
				jmp	.L445
		.L501:
  202       %REPEAT
				jmp	.L442
		.L500:
  203       %RESULT = V1+V2+V3+V4+V5+V6+V7
				movl	-1904(%ebp), %edx
				movl	-1900(%ebp), %eax
				addl	%eax, %edx
				movl	-1896(%ebp), %eax
				addl	%eax, %edx
				movl	-1892(%ebp), %eax
				addl	%eax, %edx
				movl	-1888(%ebp), %eax
				addl	%eax, %edx
				movl	-1884(%ebp), %eax
				addl	%eax, %edx
				movl	-1856(%ebp), %eax
				addl	%edx, %eax
  204    %END
				movl	-28(%ebp), %esi
				xorl	%gs:20, %esi
				je	.L487
				call	__stack_chk_fail_local
		.L487:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE195:
		VALUEOFPOS.6231:
		.LFB196:
  205
  206    %INTEGERFN VALUE OF POS(%INTEGERARRAYNAME COMP, OPP)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$44, %esp
				call	__x86.get_pc_thunk.si
				addl	$_GLOBAL_OFFSET_TABLE_, %esi
				movl	%ecx, %ebx
				movl	%ecx, -44(%ebp)
  207    %INTEGER VALUE
  208       %IF PENDING MOVE(COMP, OPP) >= 0 %START
				subl	$8, %esp
				pushl	12(%ebp)
				pushl	8(%ebp)
				movl	%ebx, %ecx
				call	PENDINGMOVE.6131
				addl	$16, %esp
				testl	%eax, %eax
				js	.L528
				nop
		.L521:
  209          VALUE = VALUE OF SIDE(COMP, OPP)-VALUE OF SIDE(OPP, COMP)-PLY NUMBER
				subl	$8, %esp
				pushl	12(%ebp)
				pushl	8(%ebp)
				movl	%ebx, %ecx
				call	VALUEOFSIDE.6171
				addl	$16, %esp
				movl	%eax, %edi
				subl	$8, %esp
				pushl	8(%ebp)
				pushl	12(%ebp)
				movl	%ebx, %ecx
				call	VALUEOFSIDE.6171
				addl	$16, %esp
				subl	%eax, %edi
				movl	%edi, %edx
				movl	256(%ebx), %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -28(%ebp)
  210       %FINISH %ELSE VALUE = -100000+PLYNUMBER;   ! no mobility!!
				jmp	.L522
		.L528:
				movl	256(%ebx), %eax
				subl	$100000, %eax
				movl	%eax, -28(%ebp)
		.L522:
  211       %RESULT = VALUE %IF COMP(0) = ME
				movl	8(%ebp), %eax
				movl	(%eax), %edx
				movl	ME.6065@GOTOFF(%esi), %eax
				cmpl	%eax, %edx
				jne	.L529
				movl	-28(%ebp), %eax
				jmp	.L525
		.L529:
				nop
		.L524:
  212       %RESULT = -VALUE
				movl	-28(%ebp), %eax
				negl	%eax
		.L525:
  213    %END
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE196:
		MAKEMOVE.6242:
		.LFB197:
  214
  215    %ROUTINE MAKE MOVE(%INTEGER MV, P, %INTEGERNAME T, %C
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$52, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	16(%ebp), %eax
				movl	%eax, -44(%ebp)
				movl	20(%ebp), %eax
				movl	%eax, -48(%ebp)
				movl	24(%ebp), %eax
				movl	%eax, -52(%ebp)
				movl	%ecx, %eax
				movl	%ecx, -56(%ebp)
				movl	%gs:20, %ecx
				movl	%ecx, -12(%ebp)
				xorl	%ecx, %ecx
  216                                      %INTEGERARRAYNAME COMP, OPP)
  217    %INTEGERNAME CPOS, CTYPE, OPOS, OTYPE, ONUM, ONUMC
  218       CPOS == COMP(P);  CTYPE == COMP(P+12)
				movl	12(%ebp), %edx
				leal	0(,%edx,4), %ecx
				movl	-48(%ebp), %edx
				addl	%ecx, %edx
				movl	%edx, -36(%ebp)
				movl	12(%ebp), %edx
				addl	$12, %edx
				leal	0(,%edx,4), %ecx
				movl	-48(%ebp), %edx
				addl	%ecx, %edx
				movl	%edx, -32(%ebp)
  219       CPOS = CPOS+MV
				movl	-36(%ebp), %edx
				movl	(%edx), %ecx
				movl	8(%ebp), %edx
				addl	%edx, %ecx
				movl	-36(%ebp), %edx
				movl	%ecx, (%edx)
  220       %IF T # 0 %START;                ! a take
				movl	-44(%ebp), %edx
				movl	(%edx), %edx
				testl	%edx, %edx
				je	.L540
				nop
		.L532:
  221          OPOS == OPP(T);  OTYPE == OPP(T+12)
				movl	-44(%ebp), %edx
				movl	(%edx), %edx
				leal	0(,%edx,4), %ecx
				movl	-52(%ebp), %edx
				addl	%ecx, %edx
				movl	%edx, -28(%ebp)
				movl	-44(%ebp), %edx
				movl	(%edx), %edx
				addl	$12, %edx
				leal	0(,%edx,4), %ecx
				movl	-52(%ebp), %edx
				addl	%ecx, %edx
				movl	%edx, -24(%ebp)
  222          ONUM == OPP(25);  ONUMC == OPP(26)
				movl	-52(%ebp), %edx
				addl	$100, %edx
				movl	%edx, -20(%ebp)
				movl	-52(%ebp), %edx
				addl	$104, %edx
				movl	%edx, -16(%ebp)
  223          SP = SP+1
				movl	SP.6064@GOTOFF(%ebx), %edx
				addl	$1, %edx
				movl	%edx, SP.6064@GOTOFF(%ebx)
  224          PSTACK(SP) = OPOS;            ! save position of taken piece
				movl	SP.6064@GOTOFF(%ebx), %edx
				leal	-1(%edx), %ecx
				movl	-28(%ebp), %edx
				movl	(%edx), %edx
				addl	$52, %ecx
				movl	%edx, (%eax,%ecx,4)
  225          TSTACK(SP) = OTYPE;           ! save piece type
				movl	SP.6064@GOTOFF(%ebx), %edx
				leal	-1(%edx), %ecx
				movl	-24(%ebp), %edx
				movl	(%edx), %edx
				addl	$40, %ecx
				movl	%edx, (%eax,%ecx,4)
  226          NSTACK(SP) = T;               ! save piece number
				movl	SP.6064@GOTOFF(%ebx), %edx
				leal	-1(%edx), %ecx
				movl	-44(%ebp), %edx
				movl	(%edx), %edx
				addl	$28, %ecx
				movl	%edx, (%eax,%ecx,4)
  227          OPOS = OPP(ONUM);             ! remove piece from board
				movl	-20(%ebp), %edx
				movl	(%edx), %edx
				leal	0(,%edx,4), %ecx
				movl	-52(%ebp), %edx
				addl	%ecx, %edx
				movl	(%edx), %ecx
				movl	-28(%ebp), %edx
				movl	%ecx, (%edx)
  228          ONUM = ONUM-1;                ! reduce piece count for opp
				movl	-20(%ebp), %edx
				movl	(%edx), %edx
				leal	-1(%edx), %ecx
				movl	-20(%ebp), %edx
				movl	%ecx, (%edx)
  229          ONUMC = ONUMC-1 %IF OTYPE = CROWN
				movl	-24(%ebp), %edx
				movl	(%edx), %ecx
				movl	CROWN.6031@GOTOFF(%ebx), %edx
				cmpl	%edx, %ecx
				jne	.L541
				movl	-16(%ebp), %edx
				movl	(%edx), %edx
				leal	-1(%edx), %ecx
				movl	-16(%ebp), %edx
				movl	%ecx, (%edx)
				jmp	.L534
		.L541:
				nop
		.L534:
  230          OTYPE = OPP(ONUM+13)
				movl	-20(%ebp), %edx
				movl	(%edx), %edx
				addl	$13, %edx
				leal	0(,%edx,4), %ecx
				movl	-52(%ebp), %edx
				addl	%ecx, %edx
				movl	(%edx), %ecx
				movl	-24(%ebp), %edx
				movl	%ecx, (%edx)
				jmp	.L532
		.L540:
  231       %FINISH
  232       %IF CTYPE # CROWN %AND TRUE=CROWNING(CPOS, COMP(0)) %START
				movl	-32(%ebp), %edx
				movl	(%edx), %ecx
				movl	CROWN.6031@GOTOFF(%ebx), %edx
				cmpl	%edx, %ecx
				je	.L542
				movl	-48(%ebp), %edx
				movl	(%edx), %ecx
				movl	-36(%ebp), %edx
				movl	(%edx), %edx
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	CROWNING.6160
				addl	$8, %esp
				cmpl	$1, %eax
				jne	.L543
				nop
				jmp	.L536
		.L543:
				nop
		.L536:
  233          CTYPE = CROWN;                ! crown piece
				movl	CROWN.6031@GOTOFF(%ebx), %edx
				movl	-32(%ebp), %eax
				movl	%edx, (%eax)
  234          COMP(26) = COMP(26)+1;        ! increase crown count
				movl	-48(%ebp), %eax
				addl	$104, %eax
				movl	(%eax), %edx
				movl	-48(%ebp), %eax
				addl	$104, %eax
				addl	$1, %edx
				movl	%edx, (%eax)
  235          T = 0;                        ! no more takes
				movl	-44(%ebp), %eax
				movl	$0, (%eax)
  236       %FINISH
  237    %END
				jmp	.L536
		.L542:
				nop
				movl	-12(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L539
				call	__stack_chk_fail_local
		.L539:
				movl	-4(%ebp), %ebx
				leave
				ret
		.LFE197:
		PURSUIT.6274:
		.LFB199:
  238
  239    %INTEGERFN TRY POSSIBLE MOVES(%INTEGER PLY, DEPTH, %C
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1932, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	8(%ebp), %edx
				movl	16(%ebp), %eax
				movl	%eax, -1916(%ebp)
				movl	20(%ebp), %eax
				movl	%eax, -1920(%ebp)
				movl	%ecx, %esi
				movl	%esi, -1928(%ebp)
				movl	%ecx, -1924(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
				leal	8(%ebp), %eax
				movl	%eax, -1824(%ebp)
				movl	%edx, -1828(%ebp)
  240                                  %INTEGERARRAYNAME COMP, OPP)
  241    %INTEGER M,MM,MMM,MMF,P,T,TT,APT,VALUE,TAKES,OLDPOS,OLDTYPE
  242    %INTEGERNAME MAXPLY, MINPLY
  243
  244       %INTEGERFN PURSUIT
				pushl	%ebp
				movl	%esp, %ebp
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, %eax
				movl	%ecx, -4(%ebp)
  245          %RESULT = 1 %IF PLY = 1
				movl	4(%eax), %edx
				cmpl	$1, %edx
				jne	.L549
				movl	$1, %eax
				jmp	.L547
		.L549:
				nop
		.L546:
  246          %RESULT = \M&1
				movl	(%eax), %eax
				andl	$1, %eax
				testl	%eax, %eax
				sete	%al
				movzbl	%al, %eax
		.L547:
  247       %END
				leave
				ret
		.LFE199:
				.section	.rodata
				.align 4
		.LC46:
				.string	"Illegal cycle P = P, 1, COMP[/*BUG*/25]"
				.align 4
		.LC47:
				.string	"Illegal cycle M = MMM, APT, MMF"
		TRYPOSSIBLEMOVES.6257:
		.LFB198:
  248
  249       NODES = NODES+1
				movl	108(%esi), %eax
				addl	$1, %eax
				movl	%eax, 108(%esi)
  250       APT = PENDING MOVE(COMP, OPP)
				subl	$8, %esp
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				movl	%esi, %ecx
				call	PENDINGMOVE.6131
				addl	$16, %esp
				movl	%eax, -1892(%ebp)
  251       PLY NUMBER = PLY-1 %AND %RESULT = VALUE OF POS(COMP, OPP) %C
				movl	SEARCHLIMIT.6030@GOTOFF(%ebx), %eax
				cmpl	%eax, 12(%ebp)
				jl	.L623
				cmpl	$0, -1892(%ebp)
				jle	.L624
				jmp	.L552
		.L623:
				nop
		.L552:
				movl	-1828(%ebp), %eax
				cmpl	$12, %eax
				jle	.L625
				jmp	.L553
		.L624:
				nop
		.L553:
				movl	-1828(%ebp), %eax
				subl	$1, %eax
				movl	-1928(%ebp), %ecx
				movl	%ecx, %esi
				movl	%eax, 256(%esi)
				subl	$8, %esp
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				call	VALUEOFPOS.6231
				addl	$16, %esp
				jmp	.L613
		.L625:
				nop
		.L554:
  252        %IF (DEPTH >= SEARCH LIMIT %AND APT <=0) %OR PLY > 12
  253       MINPLY == MIN(PLY);  MINPLY = 100000
				movl	-1828(%ebp), %eax
				subl	$1, %eax
				addl	$12, %eax
				sall	$2, %eax
				movl	-1928(%ebp), %esi
				addl	%esi, %eax
				addl	$12, %eax
				movl	%eax, -1884(%ebp)
				movl	-1884(%ebp), %eax
				movl	$100000, (%eax)
  254       MAXPLY == MAX(PLY);  MAXPLY =-100000
				movl	-1828(%ebp), %eax
				subl	$1, %eax
				sall	$2, %eax
				addl	%esi, %eax
				addl	$12, %eax
				movl	%eax, -1880(%ebp)
				movl	-1880(%ebp), %eax
				movl	$-100000, (%eax)
  255       %IF APT >= 0 %START;             ! COMP able to move
				cmpl	$0, -1892(%ebp)
				js	.L626
				nop
				jmp	.L610
		.L629:
		.LBB472:
  256          %IF APT > 0 %START;           ! take priority
				cmpl	$0, -1892(%ebp)
				jle	.L627
				nop
		.L559:
  257             P = APT;  APT = 2;  MMM = 1 ; MMF = 7
				movl	-1892(%ebp), %eax
				movl	%eax, -1896(%ebp)
				movl	$2, -1892(%ebp)
				movl	$1, -1904(%ebp)
				movl	$7, -1900(%ebp)
  258             SEARCH LIMIT = 2 %IF PLY = 1
				movl	-1828(%ebp), %eax
				cmpl	$1, %eax
				jne	.L628
				movl	$2, SEARCHLIMIT.6030@GOTOFF(%ebx)
				nop
		.L561:
  259          %FINISH %ELSE %START
				jmp	.L562
		.L628:
				jmp	.L562
		.L627:
  260             P = 1;  APT = 2;  MMM = 0; MMF=6
				movl	$1, -1896(%ebp)
				movl	$2, -1892(%ebp)
				movl	$0, -1904(%ebp)
				movl	$6, -1900(%ebp)
		.L562:
		.LBB466:
  261          %FINISH
  262          %CYCLE P = P, 1, COMP(25)
				movl	-1896(%ebp), %eax
				movl	%eax, -1876(%ebp)
				movl	-1916(%ebp), %eax
				movl	100(%eax), %eax
				movl	%eax, -1872(%ebp)
		.LBB467:
				movl	-1872(%ebp), %eax
				subl	-1876(%ebp), %eax
				movl	%eax, -1868(%ebp)
				movl	-1868(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE467:
				testl	%eax, %eax
				je	.L563
				leal	-1052(%ebp), %eax
				subl	$8, %esp
				leal	.LC46@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L564
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1932(%ebp)
				jmp	.L565
		.L564:
				movl	$262, -1932(%ebp)
		.L565:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L566
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-796(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L567
		.L566:
		.LBB468:
				leal	-284(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1820(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE468:
				leal	-796(%ebp), %eax
				leal	-1820(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L567:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1052(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1932(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L563:
				movl	-1876(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -1896(%ebp)
		.L568:
				movl	-1896(%ebp), %eax
				cmpl	-1872(%ebp), %eax
				je	.L629
				addl	$1, -1896(%ebp)
				nop
		.L610:
		.LBE472:
  263             OLDPOS = COMP(P);  OLDTYPE = COMP(P+12)
				movl	-1896(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %eax
				movl	%eax, -1864(%ebp)
				movl	-1896(%ebp), %eax
				addl	$12, %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%edx, %eax
				movl	(%eax), %eax
				movl	%eax, -1860(%ebp)
		.LBB469:
  264             %CYCLE M = MMM, APT, MMF
				movl	-1904(%ebp), %eax
				movl	%eax, -1856(%ebp)
				movl	-1892(%ebp), %eax
				movl	%eax, -1852(%ebp)
				movl	-1900(%ebp), %eax
				movl	%eax, -1848(%ebp)
		.LBB470:
				movl	-1848(%ebp), %eax
				subl	-1856(%ebp), %eax
				movl	%eax, -1844(%ebp)
				movl	-1844(%ebp), %eax
				xorl	-1852(%ebp), %eax
				testl	%eax, %eax
				js	.L570
				cmpl	$1, -1852(%ebp)
				je	.L571
				cmpl	$-1, -1852(%ebp)
				je	.L571
				movl	-1844(%ebp), %eax
				cltd
				idivl	-1852(%ebp)
				movl	%edx, %eax
				testl	%eax, %eax
				je	.L571
		.L570:
				movl	$1, %eax
				jmp	.L572
		.L571:
				movl	$0, %eax
		.L572:
		.LBE470:
				testl	%eax, %eax
				je	.L573
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC47@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L574
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1932(%ebp)
				jmp	.L575
		.L574:
				movl	$264, -1932(%ebp)
		.L575:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L576
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L577
		.L576:
		.LBB471:
				leal	-1564(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE471:
				leal	-284(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L577:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1932(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L573:
				movl	-1856(%ebp), %eax
				subl	-1852(%ebp), %eax
				movl	%eax, -1832(%ebp)
		.L578:
				movl	-1832(%ebp), %eax
				cmpl	-1848(%ebp), %eax
				je	.L630
				movl	-1832(%ebp), %edx
				movl	-1852(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -1832(%ebp)
				nop
		.L580:
		.LBE469:
  265                TAKES = 0
				movl	$0, -1888(%ebp)
  266                T = VALID MOVE(M, P, COMP, OPP)
				movl	-1832(%ebp), %eax
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				pushl	-1896(%ebp)
				pushl	%eax
				movl	-1928(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				movl	%eax, -1840(%ebp)
  267                %IF T >= 0 %START;               ! valid move
				cmpl	$0, -1840(%ebp)
				js	.L631
				nop
				jmp	.L578
		.L643:
  268                   MM = M;  TT = T
				movl	-1832(%ebp), %eax
				movl	%eax, -1908(%ebp)
				movl	-1840(%ebp), %eax
				movl	%eax, -1912(%ebp)
		.L583:
  269 ANOTHER TAKE:     TAKES = TAKES+1 %IF TT > 0
				movl	-1912(%ebp), %eax
				testl	%eax, %eax
				jle	.L632
				addl	$1, -1888(%ebp)
				jmp	.L585
		.L632:
				nop
		.L585:
  270                   MAKE MOVE(MOVE(MM), P, TT, COMP, OPP);! try this move
				movl	-1908(%ebp), %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %eax
				subl	$12, %esp
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				leal	-1912(%ebp), %edx
				pushl	%edx
				pushl	-1896(%ebp)
				pushl	%eax
				movl	-1928(%ebp), %ecx
				call	MAKEMOVE.6242
				addl	$32, %esp
  271                   %IF TT > 0 %START;             ! another take
				movl	-1912(%ebp), %eax
				testl	%eax, %eax
				jle	.L633
				nop
				jmp	.L592
		.L634:
  272                      %CYCLE MM = 1, 2, 7
				movl	$-1, -1908(%ebp)
		.L588:
				cmpl	$7, -1908(%ebp)
				je	.L634
				addl	$2, -1908(%ebp)
				nop
		.L592:
  273                         TT = VALID MOVE(MM, P, COMP, OPP)
				pushl	-1920(%ebp)
				pushl	-1916(%ebp)
				pushl	-1896(%ebp)
				pushl	-1908(%ebp)
				movl	-1928(%ebp), %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				movl	%eax, -1912(%ebp)
  274                         -> ANOTHER TAKE %IF TT > 0
				movl	-1912(%ebp), %eax
				testl	%eax, %eax
				jle	.L635
				jmp	.L583
		.L635:
				nop
		.L591:
  275                      %REPEAT
				jmp	.L588
		.L587:
		.L633:
  276                   %FINISH
  277                   VALUE = TRY POSSIBLE MOVES(PLY+1, DEPTH+PURSUIT, OPP, COMP)
				leal	-1832(%ebp), %eax
				movl	%eax, %ecx
				call	PURSUIT.6274
				movl	%eax, %edx
				movl	12(%ebp), %eax
				addl	%eax, %edx
				movl	-1828(%ebp), %eax
				addl	$1, %eax
				pushl	-1916(%ebp)
				pushl	-1920(%ebp)
				pushl	%edx
				pushl	%eax
				movl	-1928(%ebp), %ecx
				call	TRYPOSSIBLEMOVES.6257
				addl	$16, %esp
				movl	%eax, -1836(%ebp)
  278                   COMP(P) = OLDPOS;  COMP(P+12) = OLDTYPE
				movl	-1896(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%eax, %edx
				movl	-1864(%ebp), %eax
				movl	%eax, (%edx)
				movl	-1896(%ebp), %eax
				addl	$12, %eax
				leal	0(,%eax,4), %edx
				movl	-1916(%ebp), %eax
				addl	%eax, %edx
				movl	-1860(%ebp), %eax
				movl	%eax, (%edx)
  279                   OPP(25) = OPP(25)+TAKES
				movl	-1920(%ebp), %eax
				addl	$100, %eax
				movl	(%eax), %ecx
				movl	-1920(%ebp), %eax
				addl	$100, %eax
				movl	-1888(%ebp), %edx
				addl	%ecx, %edx
				movl	%edx, (%eax)
		.L593:
  280                   %WHILE TAKES > 0 %CYCLE
				cmpl	$0, -1888(%ebp)
				jle	.L636
				nop
		.L595:
  281                      TT = NSTACK(SP)
				movl	SP.6064@GOTOFF(%ebx), %eax
				subl	$1, %eax
				addl	$28, %eax
				movl	-1928(%ebp), %edi
				movl	(%edi,%eax,4), %eax
				movl	%eax, -1912(%ebp)
  282                      OPP(TT) = PSTACK(SP)
				movl	SP.6064@GOTOFF(%ebx), %eax
				leal	-1(%eax), %ecx
				movl	-1912(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-1920(%ebp), %eax
				addl	%eax, %edx
				leal	52(%ecx), %eax
				movl	(%edi,%eax,4), %eax
				movl	%eax, (%edx)
  283                      OPP(TT+12) = TSTACK(SP)
				movl	SP.6064@GOTOFF(%ebx), %eax
				leal	-1(%eax), %ecx
				movl	-1912(%ebp), %eax
				addl	$12, %eax
				leal	0(,%eax,4), %edx
				movl	-1920(%ebp), %eax
				addl	%eax, %edx
				leal	40(%ecx), %eax
				movl	(%edi,%eax,4), %eax
				movl	%eax, (%edx)
  284                      TAKES = TAKES-1
				subl	$1, -1888(%ebp)
  285                      SP = SP-1
				movl	SP.6064@GOTOFF(%ebx), %eax
				subl	$1, %eax
				movl	%eax, SP.6064@GOTOFF(%ebx)
  286                   %REPEAT
				jmp	.L593
		.L636:
  287                   %IF COMP(0) = ME %START
				movl	-1916(%ebp), %eax
				movl	(%eax), %edx
				movl	ME.6065@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L637
				nop
		.L597:
  288                      %IF VALUE > MAXPLY %START
				movl	-1880(%ebp), %eax
				movl	(%eax), %eax
				cmpl	%eax, -1836(%ebp)
				jle	.L638
				nop
				jmp	.L601
		.L639:
  289                         MAXPLY = VALUE
				movl	-1880(%ebp), %eax
				movl	-1836(%ebp), %edx
				movl	%edx, (%eax)
  290                         %IF PLY = 1 %START
				movl	-1828(%ebp), %eax
				cmpl	$1, %eax
				jne	.L639
				nop
		.L601:
  291                            BEST MOVE = M
				movl	-1832(%ebp), %eax
				movl	-1928(%ebp), %edi
				movl	%eax, 8(%edi)
  292                            BEST TAKE = T
				movl	-1840(%ebp), %eax
				movl	%eax, 4(%edi)
  293                            BEST PIECE = P
				movl	-1896(%ebp), %eax
				movl	%eax, (%edi)
				jmp	.L601
		.L599:
		.L638:
  294                         %FINISH
  295                      %FINISH
  296                      %RESULT = MAXPLY %IF PLY # 1 %AND MAXPLY >= MIN(PLY-1)
				movl	-1828(%ebp), %eax
				cmpl	$1, %eax
				je	.L640
				movl	-1880(%ebp), %eax
				movl	(%eax), %edx
				movl	-1828(%ebp), %eax
				subl	$2, %eax
				addl	$12, %eax
				movl	-1928(%ebp), %ecx
				movl	12(%ecx,%eax,4), %eax
				cmpl	%eax, %edx
				jl	.L641
				movl	-1880(%ebp), %eax
				movl	(%eax), %eax
				jmp	.L613
		.L640:
				nop
				jmp	.L609
		.L641:
				nop
		.L603:
  297                   %FINISH %ELSE %START
				jmp	.L609
		.L637:
  298                      MINPLY = VALUE %IF VALUE < MINPLY
				movl	-1884(%ebp), %eax
				movl	(%eax), %eax
				cmpl	%eax, -1836(%ebp)
				jge	.L642
				movl	-1884(%ebp), %eax
				movl	-1836(%ebp), %edx
				movl	%edx, (%eax)
				jmp	.L606
		.L642:
				nop
		.L606:
  299                      %RESULT = MINPLY %IF MINPLY <= MAX(PLY-1)
				movl	-1884(%ebp), %eax
				movl	(%eax), %edx
				movl	-1828(%ebp), %eax
				subl	$2, %eax
				movl	-1928(%ebp), %ecx
				movl	12(%ecx,%eax,4), %eax
				cmpl	%eax, %edx
				jg	.L643
				movl	-1884(%ebp), %eax
				movl	(%eax), %eax
				jmp	.L613
		.L582:
		.L608:
		.L631:
				nop
		.L609:
  300                   %FINISH
  301                %FINISH
  302             %REPEAT
				jmp	.L578
		.L630:
  303          %REPEAT
				jmp	.L568
		.L557:
		.L626:
		.LBE466:
  304       %FINISH
  305       %RESULT = MAXPLY %IF COMP(0) = ME
				movl	-1916(%ebp), %eax
				movl	(%eax), %edx
				movl	ME.6065@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				jne	.L644
				movl	-1880(%ebp), %eax
				movl	(%eax), %eax
				jmp	.L613
		.L644:
				nop
		.L612:
  306       %RESULT = MINPLY
				movl	-1884(%ebp), %eax
				movl	(%eax), %eax
		.L613:
  307    %END
				movl	-28(%ebp), %ebx
				xorl	%gs:20, %ebx
				je	.L614
				call	__stack_chk_fail_local
		.L614:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE198:
				.section	.rodata
				.align 32
		.LC39:
				.byte	25
				.string	"Please re-type your move\n"
				.zero	229
		SAYPLEASE.6319:
		.LFB200:
  308
  309    %ROUTINE SAY PLEASE
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$556, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ebx, -560(%ebp)
				movl	%ecx, -556(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
		.LBB473:
  310       PRINTSTRING("Please re-type your move
				leal	-284(%ebp), %eax
				movl	%ebx, -560(%ebp)
				leal	.LC39@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE473:
		.LBB474:
		.LBB475:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %ebx
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%ebx, %edi
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				movl	-560(%ebp), %ebx
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE475:
		.LBE474:
  311 ")
  312    %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L647
				call	__stack_chk_fail_local
		.L647:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE200:
				.section	.rodata
				.align 32
		.LC37:
				.byte	18
				.string	"\n  A B C D E F G H"
				.zero	236
				.align 32
		.LC38:
				.byte	19
				.string	"\n  A B C D E F G H\n"
				.zero	235
		PRINTBOARD.6324:
		.LFB201:
  313
  314    %ROUTINE PRINT BOARD
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1084, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %edx
				movl	%ecx, -1084(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  315    %INTEGER I, J, POS
  316       %CYCLE I = 0, 1, 7
				movl	$-1, -1064(%ebp)
		.L649:
				cmpl	$7, -1064(%ebp)
				je	.L683
				addl	$1, -1064(%ebp)
				nop
		.L651:
  317          %CYCLE J = 0, 2, 6
				movl	$-2, -1060(%ebp)
		.L652:
				cmpl	$6, -1060(%ebp)
				je	.L684
				addl	$2, -1060(%ebp)
				nop
		.L654:
  318             BOARD(10*I+J+I&1) = '#'
				movl	-1064(%ebp), %ecx
				movl	%ecx, %eax
				sall	$2, %eax
				addl	%ecx, %eax
				addl	%eax, %eax
				movl	%eax, %ecx
				movl	-1060(%ebp), %eax
				addl	%eax, %ecx
				movl	-1064(%ebp), %eax
				andl	$1, %eax
				addl	%ecx, %eax
				addl	$1, %eax
				movl	$35, BOARD.6044@GOTOFF(%ebx,%eax,4)
  319          %REPEAT
				jmp	.L652
		.L684:
  320       %REPEAT
				jmp	.L649
		.L683:
  321       %CYCLE I = 1, 1, 12
				movl	$0, -1064(%ebp)
		.L655:
				cmpl	$12, -1064(%ebp)
				je	.L685
				addl	$1, -1064(%ebp)
				nop
		.L657:
		.LBB476:
  322          %IF I <= COMP(25) %START
				movl	480(%edx), %eax
				cmpl	%eax, -1064(%ebp)
				jg	.L686
				nop
		.L662:
  323             POS = COMP(I)
				movl	-1064(%ebp), %eax
				addl	$1, %eax
				addl	$92, %eax
				movl	8(%edx,%eax,4), %eax
				movl	%eax, -1056(%ebp)
  324            %IF COMP(I+12) = CROWN %THEN BOARD(POS) = 'X' %C
				movl	-1064(%ebp), %eax
				addl	$13, %eax
				addl	$92, %eax
				movl	8(%edx,%eax,4), %ecx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %ecx
				jne	.L687
				movl	-1056(%ebp), %eax
				addl	$1, %eax
				movl	$88, BOARD.6044@GOTOFF(%ebx,%eax,4)
				jmp	.L662
		.L687:
				nop
		.L661:
				movl	-1056(%ebp), %eax
				addl	$1, %eax
				movl	$120, BOARD.6044@GOTOFF(%ebx,%eax,4)
				jmp	.L662
		.L659:
		.L686:
  325              %ELSE BOARD(POS) = 'x'
  326          %FINISH
  327          %IF I <= OPP(25) %START
				movl	364(%edx), %eax
				cmpl	%eax, -1064(%ebp)
				jg	.L688
				nop
		.L667:
  328             POS = OPP(I)
				movl	-1064(%ebp), %eax
				addl	$1, %eax
				addl	$64, %eax
				movl	4(%edx,%eax,4), %eax
				movl	%eax, -1056(%ebp)
  329             %IF OPP(I+12) = CROWN %THEN BOARD(POS) = 'O' %C
				movl	-1064(%ebp), %eax
				addl	$13, %eax
				addl	$64, %eax
				movl	4(%edx,%eax,4), %ecx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %ecx
				jne	.L689
				movl	-1056(%ebp), %eax
				addl	$1, %eax
				movl	$79, BOARD.6044@GOTOFF(%ebx,%eax,4)
				jmp	.L667
		.L689:
				nop
		.L666:
				movl	-1056(%ebp), %eax
				addl	$1, %eax
				movl	$111, BOARD.6044@GOTOFF(%ebx,%eax,4)
				jmp	.L655
		.L664:
		.L688:
  330              %ELSE BOARD(POS) = 'o'
  331          %FINISH
  332       %REPEAT
				jmp	.L655
		.L685:
  333       PRINTSTRING("
				leal	-284(%ebp), %eax
				leal	.LC37@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE476:
		.LBB477:
		.LBB478:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE478:
		.LBE477:
  334   A B C D E F G H")
  335       %CYCLE I = 70, -10, 0
				movl	$80, -1064(%ebp)
		.L668:
				cmpl	$0, -1064(%ebp)
				je	.L690
				subl	$10, -1064(%ebp)
		.LBB479:
		.LBB480:
				call	_imp_newline@PLT
		.LBE480:
		.LBE479:
				nop
		.L670:
		.LBB491:
  336          NEWLINE
  337          PRINTSYMBOL(I//10+'1')
				movl	-1064(%ebp), %ecx
				movl	$1717986919, %edx
				movl	%ecx, %eax
				imull	%edx
				sarl	$2, %edx
				movl	%ecx, %eax
				sarl	$31, %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$49, %eax
				movsbl	%al, %eax
				movb	%al, -1067(%ebp)
		.LBB481:
		.LBB482:
				movsbl	-1067(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE482:
		.LBE481:
  338          %CYCLE J = 0, 1, 7
				movl	$-1, -1060(%ebp)
		.L671:
				cmpl	$7, -1060(%ebp)
				je	.L691
				addl	$1, -1060(%ebp)
		.LBB483:
		.LBB484:
				call	_imp_space@PLT
		.LBE484:
		.LBE483:
				nop
		.L673:
		.LBB487:
		.LBB488:
				call	_imp_space@PLT
		.LBE488:
		.LBE487:
  339             SPACE
  340             PRINTSYMBOL(BOARD(J+I))
				movl	-1060(%ebp), %edx
				movl	-1064(%ebp), %eax
				addl	%edx, %eax
				addl	$1, %eax
				movl	BOARD.6044@GOTOFF(%ebx,%eax,4), %eax
				movsbl	%al, %eax
				movb	%al, -1066(%ebp)
		.LBB485:
		.LBB486:
				movsbl	-1066(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE486:
		.LBE485:
  341          %REPEAT
				jmp	.L671
		.L691:
  342          SPACE
  343          PRINTSYMBOL(I//10+'1')
				movl	-1064(%ebp), %ecx
				movl	$1717986919, %edx
				movl	%ecx, %eax
				imull	%edx
				sarl	$2, %edx
				movl	%ecx, %eax
				sarl	$31, %eax
				subl	%eax, %edx
				movl	%edx, %eax
				addl	$49, %eax
				movsbl	%al, %eax
				movb	%al, -1065(%ebp)
		.LBB489:
		.LBB490:
				movsbl	-1065(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE490:
		.LBE489:
  344       %REPEAT
				jmp	.L668
		.L690:
  345       PRINTSTRING("
				leal	-284(%ebp), %eax
				leal	.LC38@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE491:
		.LBB492:
		.LBB493:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE493:
		.LBE492:
  346   A B C D E F G H
  347 ")
  348    %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L675
				call	__stack_chk_fail_local
		.L675:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE201:
				.section	.rodata
				.align 32
		.LC35:
				.byte	17
				.string	"DRAFT4's move is "
				.zero	237
				.align 32
		.LC36:
				.byte	3
				.string	" , "
				.zero	251
		TROUT.6352:
		.LFB202:
  349
  350    %ROUTINE TROUT(%INTEGER OLDPOS, NEWPOS, %INTEGERNAME MODE)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1084, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	16(%ebp), %eax
				movl	%eax, -1084(%ebp)
				movl	%ecx, -1088(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
  351    %INTEGER OLDX, OLDY, NEWX, NEWY
  352       OLDY = OLDPOS//10;  OLDX = OLDPOS-10*OLDY
				movl	8(%ebp), %ecx
				movl	$1717986919, %edx
				movl	%ecx, %eax
				imull	%edx
				sarl	$2, %edx
				movl	%ecx, %eax
				sarl	$31, %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -1068(%ebp)
				movl	-1068(%ebp), %eax
				imull	$-10, %eax, %edx
				movl	8(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -1064(%ebp)
  353       NEWY = NEWPOS//10;  NEWX = NEWPOS-10*NEWY
				movl	12(%ebp), %ecx
				movl	$1717986919, %edx
				movl	%ecx, %eax
				imull	%edx
				sarl	$2, %edx
				movl	%ecx, %eax
				sarl	$31, %eax
				subl	%eax, %edx
				movl	%edx, %eax
				movl	%eax, -1060(%ebp)
				movl	-1060(%ebp), %eax
				imull	$-10, %eax, %edx
				movl	12(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -1056(%ebp)
  354       %IF MODE = 0 %THEN PRINTSTRING("DRAFT4's move is ") %AND MODE = 1  %C
				movl	-1084(%ebp), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L699
		.LBB494:
				leal	-284(%ebp), %eax
				leal	.LC35@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE494:
		.LBB495:
		.LBB496:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE496:
		.LBE495:
				movl	-1084(%ebp), %eax
				movl	$1, (%eax)
				jmp	.L695
		.L699:
				nop
		.L694:
		.LBB497:
				leal	-284(%ebp), %eax
				leal	.LC36@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE497:
		.LBB498:
		.LBB499:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.L695:
		.LBE499:
		.LBE498:
  355                    %ELSE PRINTSTRING(" , ")
  356       PRINTSYMBOL(OLDX+'A')
				movl	-1064(%ebp), %eax
				addl	$65, %eax
				movsbl	%al, %eax
				movb	%al, -1069(%ebp)
		.LBB500:
		.LBB501:
				movsbl	-1069(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE501:
		.LBE500:
  357       PRINTSYMBOL(OLDY+'1')
				movl	-1068(%ebp), %eax
				addl	$49, %eax
				movsbl	%al, %eax
				movb	%al, -1070(%ebp)
		.LBB502:
		.LBB503:
				movsbl	-1070(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
				movb	$45, -1071(%ebp)
		.LBE503:
		.LBE502:
		.LBB504:
		.LBB505:
				movsbl	-1071(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE505:
		.LBE504:
  358       PRINTSYMBOL('-')
  359       PRINTSYMBOL(NEWX+'A')
				movl	-1056(%ebp), %eax
				addl	$65, %eax
				movsbl	%al, %eax
				movb	%al, -1072(%ebp)
		.LBB506:
		.LBB507:
				movsbl	-1072(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE507:
		.LBE506:
  360       PRINTSYMBOL(NEWY+'1')
				movl	-1060(%ebp), %eax
				addl	$49, %eax
				movsbl	%al, %eax
				movb	%al, -1073(%ebp)
		.LBB508:
		.LBB509:
				movsbl	-1073(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE509:
		.LBE508:
  361    %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L697
				call	__stack_chk_fail_local
		.L697:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE202:
		POSITIONOF.6366:
		.LFB203:
  362
  363    %INTEGERFN POSITION OF(%INTEGER S1, S2)
				pushl	%ebp
				movl	%esp, %ebp
				subl	$4, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	%ecx, -4(%ebp)
  364       %RESULT = (S1-'A')+10*(S2-'1')
				movl	8(%ebp), %eax
				leal	-65(%eax), %ecx
				movl	12(%ebp), %eax
				leal	-49(%eax), %edx
				movl	%edx, %eax
				sall	$2, %eax
				addl	%edx, %eax
				addl	%eax, %eax
				addl	%ecx, %eax
  365    %END
				leave
				ret
		.LFE203:
		SKIPSPACESANDNLS.6369:
		.LFB204:
  366
  367    %ROUTINE SKIP SPACES AND NLS
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%ebx
				subl	$20, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, -12(%ebp)
		.L703:
		.LBB510:
		.LBB511:
				call	_imp_nextsymbol@PLT
		.LBE511:
		.LBE510:
  368       SKIP SYMBOL %WHILE NEXT SYMBOL=' ' %OR NEXT SYMBOL=NL
				cmpl	$32, %eax
				je	.L711
		.LBB512:
		.LBB513:
				call	_imp_nextsymbol@PLT
		.LBE513:
		.LBE512:
				cmpl	$10, %eax
				jne	.L712
				jmp	.L706
		.L711:
				nop
		.L706:
		.LBB514:
		.LBB515:
				call	_imp_skipsymbol@PLT
		.LBE515:
		.LBE514:
				jmp	.L703
		.L712:
				nop
		.L708:
  369    %END
				nop
				addl	$20, %esp
				popl	%ebx
				popl	%ebp
				ret
		.LFE204:
				.data
				.align 4
		BACK1.6032:
				.long	77
				.long	75
				.long	73
				.long	71
				.long	64
				.align 4
		BACK2.6034:
				.long	0
				.long	2
				.long	4
				.long	6
				.long	13
				.align 32
		CENTSQ.6036:
				.long	51
				.long	53
				.long	42
				.long	44
				.long	33
				.long	35
				.long	24
				.long	26
				.align 32
		MOVE.6038:
				.long	9
				.long	18
				.long	11
				.long	22
				.long	-9
				.long	-18
				.long	-11
				.long	-22
				.align 32
		PLAYER1.6040:
				.long	87
				.long	1
				.long	77
				.long	75
				.long	73
				.long	71
				.long	64
				.long	66
				.long	62
				.long	60
				.long	57
				.long	55
				.long	53
				.long	51
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	12
				.long	0
				.align 32
		PLAYER2.6042:
				.long	66
				.long	2
				.long	0
				.long	2
				.long	4
				.long	6
				.long	13
				.long	11
				.long	15
				.long	17
				.long	20
				.long	22
				.long	24
				.long	26
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	1000
				.long	12
				.long	0
				.align 32
		BOARD.6044:
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.long	32
				.align 4
		CROWN.6031:
				.long	1800
				.align 4
		ME.6065:
				.long	1
				.align 4
		MON.6028:
				.long	81
				.align 4
		SEARCHLIMIT.6030:
				.long	3
				.comm	SP.6064,4,4
				.comm	AWIN.6029,4,4
				.align 4
		THREE.6068:
				.long	3
				.align 4
		TWO.6067:
				.long	2
				.align 4
		ONE.6066:
				.long	1
				.align 4
		CRAMPWT.6027:
				.long	6
				.align 4
		ADV2WT.6026:
				.long	50
				.align 4
		ADV1WT.6025:
				.long	450
				.align 4
		CENTWT.6024:
				.long	4
				.align 4
		BACKWT.6023:
				.long	4
				.align 4
		MOBWT.6022:
				.long	6
				.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
				.globl	__x86.get_pc_thunk.ax
				.hidden	__x86.get_pc_thunk.ax
		__x86.get_pc_thunk.ax:
		.LFB205:
				movl	(%esp), %eax
				ret
		.LFE205:
				.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
				.globl	__x86.get_pc_thunk.bx
				.hidden	__x86.get_pc_thunk.bx
		__x86.get_pc_thunk.bx:
		.LFB206:
				movl	(%esp), %ebx
				ret
		.LFE206:
				.section	.text.__x86.get_pc_thunk.si,"axG",@progbits,__x86.get_pc_thunk.si,comdat
				.globl	__x86.get_pc_thunk.si
				.hidden	__x86.get_pc_thunk.si
		__x86.get_pc_thunk.si:
		.LFB207:
				movl	(%esp), %esi
				ret
		.LFE207:
		.Letext0:
  370
  371    COMPNUM == COMP(25);  OPPNUM == OPP(25)
				leal	-524(%ebp), %eax
				addl	$480, %eax
				movl	%eax, -36(%ebp)
				leal	-524(%ebp), %eax
				addl	$364, %eax
				movl	%eax, -152(%ebp)
		.LBB248:
  372    !CPULIMIT ("12"); ! FOR EMAS - JGH MOD, AS CS1 WERE RUNNING OUT
  373    PRINTSTRING("The Draughts programme  DRAFT4.4
				leal	-780(%ebp), %eax
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-21516(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-9228(%ebp), %eax
				leal	-21516(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE248:
		.LBB249:
		.LBB250:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-9228(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE250:
		.LBE249:
		.LBB251:
  374
  375 ")
  376    PRINT STRING("Do you want some help?"); NEWLINE
				leal	-780(%ebp), %eax
				leal	.LC1@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-21260(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-9484(%ebp), %eax
				leal	-21260(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE251:
		.LBB252:
		.LBB253:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-9484(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE253:
		.LBE252:
		.LBB254:
		.LBB255:
				call	_imp_newline@PLT
		.LBE255:
		.LBE254:
		.LBB256:
  377    PROMPT(":")
				leal	-780(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$1, -780(%ebp)
				movl	$58, -779(%ebp)
				movl	$0, -775(%ebp)
				movl	$0, -771(%ebp)
				movw	$0, -767(%ebp)
				movb	$0, -765(%ebp)
				leal	-21004(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE256:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-21004(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	PROMPT@PLT
				addl	$256, %esp
				leal	-22572(%ebp), %eax
				movl	%eax, -22620(%ebp)
		.LBB257:
		.LBB258:
				subl	$12, %esp
				pushl	-22620(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.L33:
		.LBE258:
		.LBE257:
		.LBB259:
		.LBB260:
				call	_imp_nextsymbol@PLT
		.LBE260:
		.LBE259:
  378    READ SYMBOL(REPLY(1)); SKIP SYMBOL %WHILE NEXT SYMBOL#NL; SKIP SYMBOL
				cmpl	$10, %eax
				je	.L243
		.LBB261:
		.LBB262:
				call	_imp_skipsymbol@PLT
		.LBE262:
		.LBE261:
				jmp	.L33
		.L243:
				nop
		.L36:
		.LBB263:
		.LBB264:
				call	_imp_skipsymbol@PLT
		.LBE264:
		.LBE263:
  379    REPLY(1) = REPLY(1)-32 %IF REPLY(1)>='a'
				movl	-22572(%ebp), %eax
				cmpl	$96, %eax
				jle	.L244
				movl	-22572(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22572(%ebp)
				jmp	.L38
		.L244:
				nop
		.L38:
  380    %IF REPLY(1)='Y' %START
				movl	-22572(%ebp), %eax
				cmpl	$89, %eax
				jne	.L245
		.LBB265:
				nop
		.L41:
  381       PRINTSTRING("
				leal	-780(%ebp), %eax
				leal	.LC2@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-20748(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-8460(%ebp), %eax
				leal	-20748(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE265:
		.LBB266:
		.LBB267:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-8460(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE267:
		.LBE266:
		.LBB268:
  382
  383    Moves are typed in in the following form:  (e.g.)
  384
  385       C3-D4      move the piece on square C3 to square D4.")
  386 PRINTSTRING("
				leal	-780(%ebp), %eax
				leal	.LC3@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-20492(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-8716(%ebp), %eax
				leal	-20492(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE268:
		.LBB269:
		.LBB270:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-8716(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE270:
		.LBE269:
		.LBB271:
  387       C3-E5      move C3 to E5, taking the piece on D4
  388 "); PRINTSTRING("      C3-E5,
				leal	-780(%ebp), %eax
				leal	.LC4@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-20236(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-8972(%ebp), %eax
				leal	-20236(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE271:
		.LBB272:
		.LBB273:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-8972(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
				jmp	.L41
		.L40:
		.L245:
		.LBE273:
		.LBE272:
  389       E5-C7      an example of a multiple jump
  390
  391                                                     e.t.c.")
  392    %FINISH
  393 RESTART:
  394    EXPECTED MOVE = 0
				movl	$0, -22684(%ebp)
  395    ! setting up the pieces
  396    %CYCLE P = -1, 1, 26
				movl	$-2, -22692(%ebp)
		.L42:
				cmpl	$26, -22692(%ebp)
				je	.L246
				addl	$1, -22692(%ebp)
				nop
		.L44:
		.LBB274:
		.LBB275:
				call	_imp_newline@PLT
		.LBE275:
		.LBE274:
		.LBB276:
  397       COMP(P) = PLAYER1(P)
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				movl	-22692(%ebp), %edx
				addl	$1, %edx
				movl	PLAYER1.6040@GOTOFF(%ebx,%eax,4), %eax
				addl	$92, %edx
				movl	%eax, -516(%ebp,%edx,4)
  398       OPP(P) = PLAYER2(P)
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				movl	-22692(%ebp), %edx
				addl	$1, %edx
				movl	PLAYER2.6042@GOTOFF(%ebx,%eax,4), %eax
				addl	$64, %edx
				movl	%eax, -520(%ebp,%edx,4)
  399    %REPEAT
				jmp	.L42
		.L246:
  400    NEWLINE
  401    PRINT STRING("Do you want to start?")
				leal	-780(%ebp), %eax
				leal	.LC5@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-19980(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-8204(%ebp), %eax
				leal	-19980(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE276:
		.LBB277:
		.LBB278:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-8204(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE278:
		.LBE277:
		.LBB279:
		.LBB280:
				call	_imp_newline@PLT
		.LBE280:
		.LBE279:
		.LBB281:
  402    NEWLINE
  403    PROMPT(":")
				leal	-780(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$1, -780(%ebp)
				movl	$58, -779(%ebp)
				movl	$0, -775(%ebp)
				movl	$0, -771(%ebp)
				movw	$0, -767(%ebp)
				movb	$0, -765(%ebp)
				leal	-19724(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE281:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-19724(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	PROMPT@PLT
				addl	$256, %esp
				leal	-22572(%ebp), %eax
				movl	%eax, -22616(%ebp)
		.LBB282:
		.LBB283:
				subl	$12, %esp
				pushl	-22616(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE283:
		.LBE282:
  404    READ SYMBOL(REPLY(1))
  405    REPLY(1) = REPLY(1)-32 %IF REPLY(1)>='a'
				movl	-22572(%ebp), %eax
				cmpl	$96, %eax
				jle	.L247
				movl	-22572(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22572(%ebp)
				jmp	.L51
		.L46:
		.L247:
				nop
		.L47:
		.L51:
		.LBB284:
		.LBB285:
				call	_imp_nextsymbol@PLT
		.LBE285:
		.LBE284:
  406    SKIP SYMBOL %WHILE NEXT SYMBOL#NL; SKIP SYMBOL
				cmpl	$10, %eax
				je	.L248
		.LBB286:
		.LBB287:
				call	_imp_skipsymbol@PLT
		.LBE287:
		.LBE286:
				jmp	.L51
		.L248:
				nop
		.L50:
		.LBB288:
		.LBB289:
				call	_imp_skipsymbol@PLT
		.LBE289:
		.LBE288:
  407    %IF REPLY(1)='R' %START
				movl	-22572(%ebp), %eax
				cmpl	$82, %eax
				jne	.L249
				nop
		.L53:
  408       ! Read board position
  409       %CYCLE P = -1,1,26
				movl	$-2, -22692(%ebp)
		.L54:
				cmpl	$26, -22692(%ebp)
				je	.L250
				addl	$1, -22692(%ebp)
				nop
		.L56:
		.LBB290:
  410          COMP(P) = 0
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				addl	$92, %eax
				movl	$0, -516(%ebp,%eax,4)
  411          OPP(P) = 0
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				addl	$64, %eax
				movl	$0, -520(%ebp,%eax,4)
  412       %REPEAT
				jmp	.L54
		.L250:
  413       PRINT STRING("Where are your pieces?"); NEWLINE
				leal	-780(%ebp), %eax
				leal	.LC6@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-19468(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-7948(%ebp), %eax
				leal	-19468(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE290:
		.LBB291:
		.LBB292:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-7948(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE292:
		.LBE291:
		.LBB293:
		.LBB294:
				call	_imp_newline@PLT
		.LBE294:
		.LBE293:
		.LBB295:
  414       PROMPT(":")
				leal	-780(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$1, -780(%ebp)
				movl	$58, -779(%ebp)
				movl	$0, -775(%ebp)
				movl	$0, -771(%ebp)
				movw	$0, -767(%ebp)
				movb	$0, -765(%ebp)
				leal	-19212(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE295:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-19212(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	PROMPT@PLT
				addl	$256, %esp
  415       %CYCLE P = 1,1,12
				movl	$0, -22692(%ebp)
		.L57:
				cmpl	$12, -22692(%ebp)
				je	.L251
				addl	$1, -22692(%ebp)
				nop
				jmp	.L59
		.L252:
  416          SKIP SPACES AND NLS
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SKIPSPACESANDNLS.6369
				leal	-22704(%ebp), %eax
				movl	%eax, -22612(%ebp)
		.LBB296:
		.LBB297:
				subl	$12, %esp
				pushl	-22612(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE297:
		.LBE296:
  417          READ SYMBOL(A); %IF A='.' %THEN %EXIT
				movl	-22704(%ebp), %eax
				cmpl	$46, %eax
				je	.L252
				nop
		.L61:
				leal	-22700(%ebp), %eax
				movl	%eax, -22604(%ebp)
		.LBB298:
		.LBB299:
				subl	$12, %esp
				pushl	-22604(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
				leal	-22696(%ebp), %eax
				movl	%eax, -22608(%ebp)
		.LBE299:
		.LBE298:
		.LBB300:
		.LBB301:
				subl	$12, %esp
				pushl	-22608(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE301:
		.LBE300:
				nop
		.L59:
  418          READ SYMBOL(B); READ SYMBOL(C)
  419          A = A-32 %IF A>='a'
				movl	-22704(%ebp), %eax
				cmpl	$96, %eax
				jle	.L253
				movl	-22704(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22704(%ebp)
				jmp	.L63
		.L253:
				nop
		.L63:
  420          B = B-32 %IF A>='a'
				movl	-22704(%ebp), %eax
				cmpl	$96, %eax
				jle	.L254
				movl	-22700(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22700(%ebp)
				jmp	.L65
		.L254:
				nop
		.L65:
  421          POS = POSITION OF(A,B)
				movl	-22700(%ebp), %ecx
				movl	-22704(%ebp), %edx
				subl	$8, %esp
				leal	-524(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	POSITIONOF.6366
				addl	$16, %esp
				movl	%eax, -22680(%ebp)
  422          OPP(P) = POS
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				leal	64(%eax), %edx
				movl	-22680(%ebp), %eax
				movl	%eax, -520(%ebp,%edx,4)
  423          %IF C=' ' %THEN OPP(P+12) = 1000 %ELSE OPP(P+12) = CROWN
				movl	-22696(%ebp), %eax
				cmpl	$32, %eax
				jne	.L255
				movl	-22692(%ebp), %eax
				addl	$13, %eax
				addl	$64, %eax
				movl	$1000, -520(%ebp,%eax,4)
				jmp	.L68
		.L255:
				nop
		.L67:
				movl	-22692(%ebp), %eax
				leal	13(%eax), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				addl	$64, %edx
				movl	%eax, -520(%ebp,%edx,4)
		.L68:
  424       %REPEAT
				jmp	.L57
		.L251:
  425       OPP(0) = 2
				movl	$2, -260(%ebp)
  426       OPP(25) = P;        ! no of pieces.
				movl	-22692(%ebp), %eax
				movl	%eax, -160(%ebp)
		.LBB302:
  427       PRINT STRING("Where are my pieces?"); NEWLINE
				leal	-780(%ebp), %eax
				leal	.LC7@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-18956(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-7692(%ebp), %eax
				leal	-18956(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE302:
		.LBB303:
		.LBB304:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-7692(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE304:
		.LBE303:
		.LBB305:
		.LBB306:
				call	_imp_newline@PLT
		.LBE306:
		.LBE305:
  428       %CYCLE P = 1,1,12
				movl	$0, -22692(%ebp)
		.L69:
				cmpl	$12, -22692(%ebp)
				je	.L256
				addl	$1, -22692(%ebp)
				nop
				jmp	.L71
		.L257:
  429          SKIP SPACES AND NLS
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SKIPSPACESANDNLS.6369
				leal	-22704(%ebp), %eax
				movl	%eax, -22600(%ebp)
		.LBB307:
		.LBB308:
				subl	$12, %esp
				pushl	-22600(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE308:
		.LBE307:
  430          READ SYMBOL(A); %IF A='.' %THEN %EXIT
				movl	-22704(%ebp), %eax
				cmpl	$46, %eax
				je	.L257
				nop
		.L73:
				leal	-22700(%ebp), %eax
				movl	%eax, -22592(%ebp)
		.LBB309:
		.LBB310:
				subl	$12, %esp
				pushl	-22592(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
				leal	-22696(%ebp), %eax
				movl	%eax, -22596(%ebp)
		.LBE310:
		.LBE309:
		.LBB311:
		.LBB312:
				subl	$12, %esp
				pushl	-22596(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE312:
		.LBE311:
				nop
		.L71:
  431          READ SYMBOL(B); READ SYMBOL(C)
  432          A = A-32 %IF A>='a'
				movl	-22704(%ebp), %eax
				cmpl	$96, %eax
				jle	.L258
				movl	-22704(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22704(%ebp)
				jmp	.L75
		.L258:
				nop
		.L75:
  433          B = B-32 %IF B>='a'
				movl	-22700(%ebp), %eax
				cmpl	$96, %eax
				jle	.L259
				movl	-22700(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22700(%ebp)
				jmp	.L77
		.L259:
				nop
		.L77:
  434          POS = POSITION OF(A,B)
				movl	-22700(%ebp), %ecx
				movl	-22704(%ebp), %edx
				subl	$8, %esp
				leal	-524(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	POSITIONOF.6366
				addl	$16, %esp
				movl	%eax, -22680(%ebp)
  435          COMP(P) = POS
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				leal	92(%eax), %edx
				movl	-22680(%ebp), %eax
				movl	%eax, -516(%ebp,%edx,4)
  436          %IF C=' ' %THEN COMP(P+12) = 1000 %ELSE COMP(P+12) = CROWN
				movl	-22696(%ebp), %eax
				cmpl	$32, %eax
				jne	.L260
				movl	-22692(%ebp), %eax
				addl	$13, %eax
				addl	$92, %eax
				movl	$1000, -516(%ebp,%eax,4)
				jmp	.L80
		.L260:
				nop
		.L79:
				movl	-22692(%ebp), %eax
				leal	13(%eax), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				addl	$92, %edx
				movl	%eax, -516(%ebp,%edx,4)
		.L80:
  437       %REPEAT
				jmp	.L69
		.L256:
  438       COMP(0)  = ME
				movl	ME.6065@GOTOFF(%ebx), %eax
				movl	%eax, -144(%ebp)
  439       COMP(25) = P;        ! NO OF PIECES
				movl	-22692(%ebp), %eax
				movl	%eax, -44(%ebp)
		.LBB313:
		.LBB314:
				call	_imp_skipsymbol@PLT
		.LBE314:
		.LBE313:
		.LBB315:
  440       SKIP SYMBOL;       ! NL
  441       PROMPT("Your move?")
				leal	-780(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$10, -780(%ebp)
				movl	$1920298841, -779(%ebp)
				movl	$1987013920, -775(%ebp)
				movl	$16229, -771(%ebp)
				movw	$0, -767(%ebp)
				movb	$0, -765(%ebp)
				leal	-18700(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE315:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-18700(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	PROMPT@PLT
				addl	$256, %esp
				leal	-22704(%ebp), %eax
				movl	%eax, -22588(%ebp)
		.LBB316:
		.LBB317:
				subl	$12, %esp
				pushl	-22588(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.L81:
		.LBE317:
		.LBE316:
		.LBB318:
		.LBB319:
				call	_imp_nextsymbol@PLT
		.LBE319:
		.LBE318:
  442       READ SYMBOL(A)
  443       SKIP SYMBOL %WHILE NEXT SYMBOL#NL; SKIP SYMBOL
				cmpl	$10, %eax
				je	.L261
		.LBB320:
		.LBB321:
				call	_imp_skipsymbol@PLT
		.LBE321:
		.LBE320:
				jmp	.L81
		.L261:
				nop
		.L84:
		.LBB322:
		.LBB323:
				call	_imp_skipsymbol@PLT
		.LBE323:
		.LBE322:
  444       A = A-32 %IF A>='a'
				movl	-22704(%ebp), %eax
				cmpl	$96, %eax
				jle	.L262
				movl	-22704(%ebp), %eax
				subl	$32, %eax
				movl	%eax, -22704(%ebp)
				jmp	.L86
		.L262:
				nop
		.L86:
  445       %IF A='Y' %THEN -> READ MOVE %ELSE -> COMP MOVE
				movl	-22704(%ebp), %eax
				cmpl	$89, %eax
				je	.L263
				nop
		.L88:
				jmp	.L190
		.L249:
				nop
				jmp	.L116
		.L264:
  446    %FINISH
  447    %IF REPLY(1) = 'N' %START
				movl	-22572(%ebp), %eax
				cmpl	$78, %eax
				jne	.L264
		.LBB324:
				nop
		.L98:
		.L116:
  448       PRINT STRING("Think of a number please"); NEWLINE
				leal	-780(%ebp), %eax
				leal	.LC8@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-18444(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-7180(%ebp), %eax
				leal	-18444(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE324:
		.LBB325:
		.LBB326:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-7180(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE326:
		.LBE325:
		.LBB327:
		.LBB328:
				call	_imp_newline@PLT
				leal	-22712(%ebp), %eax
				movl	%eax, -22584(%ebp)
		.LBE328:
		.LBE327:
		.LBB329:
		.LBB330:
				subl	$12, %esp
				pushl	-22584(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE330:
		.LBE329:
		.LBB331:
		.LBB332:
				call	_imp_skipsymbol@PLT
		.LBE332:
		.LBE331:
  449       READ SYMBOL(I); SKIP SYMBOL
  450       I = (I-'0')&3
				movl	-22712(%ebp), %eax
				andl	$3, %eax
				movl	%eax, -22712(%ebp)
  451       COMP(-1) = 'B';  OPP(-1) = 'W'
				movl	$66, -148(%ebp)
				movl	$87, -264(%ebp)
		.LBB333:
  452       PRINTSTRING("DRAFT4's opening move is ")
				leal	-780(%ebp), %eax
				leal	.LC9@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-18188(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-7436(%ebp), %eax
				leal	-18188(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE333:
		.LBB334:
		.LBB335:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-7436(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE335:
		.LBE334:
  453       %IF I = 1 %THEN PRINTSTRING("D6-C5") %AND COMP(11) = 42
				movl	-22712(%ebp), %eax
				cmpl	$1, %eax
				jne	.L265
		.LBB336:
				leal	-780(%ebp), %eax
				leal	.LC10@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-17932(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6924(%ebp), %eax
				leal	-17932(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE336:
		.LBB337:
		.LBB338:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-6924(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE338:
		.LBE337:
				movl	$42, -100(%ebp)
				jmp	.L93
		.L265:
				nop
		.L93:
  454       %IF I = 2 %THEN PRINTSTRING("D6-E5") %AND COMP(11) = 44
				movl	-22712(%ebp), %eax
				cmpl	$2, %eax
				jne	.L266
		.LBB339:
				leal	-780(%ebp), %eax
				leal	.LC11@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-17676(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6668(%ebp), %eax
				leal	-17676(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE339:
		.LBB340:
		.LBB341:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-6668(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE341:
		.LBE340:
				movl	$44, -100(%ebp)
				jmp	.L95
		.L266:
				nop
		.L95:
  455       %IF I = 3 %THEN PRINTSTRING("F6-E5") %AND COMP(10) = 44
				movl	-22712(%ebp), %eax
				cmpl	$3, %eax
				jne	.L267
		.LBB342:
				leal	-780(%ebp), %eax
				leal	.LC12@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-17420(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6412(%ebp), %eax
				leal	-17420(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE342:
		.LBB343:
		.LBB344:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-6412(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE344:
		.LBE343:
				movl	$44, -104(%ebp)
				jmp	.L97
		.L267:
				nop
		.L97:
		.LBB345:
		.LBB346:
				call	_imp_newline@PLT
				jmp	.L116
		.L89:
		.L263:
		.LBE346:
		.LBE345:
  456       NEWLINE
  457    %FINISH
  458 READ MOVE:
  459    PRINT BOARD
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	PRINTBOARD.6324
		.LBB347:
  460    PROMPT("Your move:")
				leal	-780(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$10, -780(%ebp)
				movl	$1920298841, -779(%ebp)
				movl	$1987013920, -775(%ebp)
				movl	$14949, -771(%ebp)
				movw	$0, -767(%ebp)
				movb	$0, -765(%ebp)
				leal	-17164(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE347:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-17164(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	PROMPT@PLT
				addl	$256, %esp
		.L99:
		.LBB348:
		.LBB349:
				call	_imp_nextsymbol@PLT
		.LBE349:
		.LBE348:
  461    SKIP SYMBOL %WHILE NEXT SYMBOL <= ' '
				cmpl	$32, %eax
				jg	.L268
		.LBB350:
		.LBB351:
				call	_imp_skipsymbol@PLT
		.LBE351:
		.LBE350:
				jmp	.L99
		.L268:
				nop
		.L102:
  462    %CYCLE I = 1, 1, 8
				movl	$0, -22712(%ebp)
		.L103:
				movl	-22712(%ebp), %eax
				cmpl	$8, %eax
				je	.L269
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -22712(%ebp)
				nop
				jmp	.L113
		.L271:
  463       READ SYMBOL(REPLY(I))
				movl	-22712(%ebp), %eax
				leal	-1(%eax), %edx
				leal	-22572(%ebp), %eax
				sall	$2, %edx
				addl	%edx, %eax
				movl	%eax, -22580(%ebp)
		.LBB352:
		.LBB353:
				subl	$12, %esp
				pushl	-22580(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE353:
		.LBE352:
  464       REPLY(I) = REPLY(I)-32 %IF REPLY(I)>='a'
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	-22572(%ebp,%eax,4), %eax
				cmpl	$96, %eax
				jle	.L270
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	-22572(%ebp,%eax,4), %edx
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				subl	$32, %edx
				movl	%edx, -22572(%ebp,%eax,4)
				jmp	.L107
		.L270:
				nop
		.L107:
  465       %EXIT %IF REPLY(I) = NL
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	-22572(%ebp,%eax,4), %eax
				cmpl	$10, %eax
				je	.L271
				nop
		.L109:
				nop
		.L110:
		.L113:
  466    %REPEAT
				jmp	.L103
		.L105:
		.L269:
  467    REPLY(I) = ' ' %AND I = I+1 %UNTIL I = 9
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	$32, -22572(%ebp,%eax,4)
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -22712(%ebp)
				movl	-22712(%ebp), %eax
				cmpl	$9, %eax
				je	.L272
				jmp	.L113
		.L272:
				nop
		.L112:
  468    %IF REPLY(1) = 'M' %THEN MON = 'M' %AND -> READ MOVE
				movl	-22572(%ebp), %eax
				cmpl	$77, %eax
				jne	.L273
				movl	$77, MON.6028@GOTOFF(%ebx)
				jmp	.L116
		.L273:
				nop
		.L115:
  469    %IF REPLY(1) = 'Q' %THEN MON = 'Q' %AND -> READ MOVE
				movl	-22572(%ebp), %eax
				cmpl	$81, %eax
				je	.L117
				jmp	.L118
		.L117:
				movl	$81, MON.6028@GOTOFF(%ebx)
				jmp	.L116
		.L118:
		.L119:
  470 TRANS:
  471    %IF REPLY(1) = 'I' %THEN -> STOP
				movl	-22572(%ebp), %eax
				cmpl	$73, %eax
				je	.L274
				nop
		.L121:
				nop
		.L122:
		.LBB448:
  472    %IF REPLY(6) = ','%THEN MORE = 'M' %ELSE MORE = ' '
				movl	-22552(%ebp), %eax
				cmpl	$44, %eax
				jne	.L275
				movl	$77, -22688(%ebp)
				jmp	.L125
		.L275:
				nop
		.L124:
				movl	$32, -22688(%ebp)
		.L125:
  473    OLDPOS = POSITION OF(REPLY(1), REPLY(2))
				movl	-22568(%ebp), %ecx
				movl	-22572(%ebp), %edx
				subl	$8, %esp
				leal	-524(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	POSITIONOF.6366
				addl	$16, %esp
				movl	%eax, -22676(%ebp)
  474    NEWPOS = POSITION OF(REPLY(4), REPLY(5))
				movl	-22556(%ebp), %ecx
				movl	-22560(%ebp), %edx
				subl	$8, %esp
				leal	-524(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	POSITIONOF.6366
				addl	$16, %esp
				movl	%eax, -22672(%ebp)
  475    %IF VALID POS(OLDPOS) = -1 %START
				subl	$12, %esp
				leal	-524(%ebp), %eax
				pushl	-22676(%ebp)
				movl	%eax, %ecx
				call	VALIDPOS.6094
				addl	$16, %esp
				cmpl	$-1, %eax
				jne	.L276
		.LBB354:
				nop
		.L127:
  476       PRINTSTRING("The square ")
				leal	-780(%ebp), %eax
				leal	.LC13@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-16908(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5900(%ebp), %eax
				leal	-16908(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE354:
		.LBB355:
		.LBB356:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-5900(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE356:
		.LBE355:
  477       PRINT SYMBOL(REPLY(1));  PRINT SYMBOL(REPLY(2))
				movl	-22572(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22719(%ebp)
		.LBB357:
		.LBB358:
				movsbl	-22719(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE358:
		.LBE357:
				movl	-22568(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22720(%ebp)
		.LBB359:
		.LBB360:
				movsbl	-22720(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE360:
		.LBE359:
		.LBB361:
  478       PRINTSTRING(" does not exist!
				leal	-780(%ebp), %eax
				leal	.LC14@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-16652(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-6156(%ebp), %eax
				leal	-16652(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE361:
		.LBB362:
		.LBB363:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-6156(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE363:
		.LBE362:
  479 ")
  480       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  481       -> READ MOVE
				jmp	.L116
		.L276:
  482    %FINISH
  483    M = VALID POS(NEWPOS)
				subl	$12, %esp
				leal	-524(%ebp), %eax
				pushl	-22672(%ebp)
				movl	%eax, %ecx
				call	VALIDPOS.6094
				addl	$16, %esp
				movl	%eax, -22668(%ebp)
  484    %IF M = -1 %START
				cmpl	$-1, -22668(%ebp)
				jne	.L277
		.LBB364:
				nop
		.L129:
  485       PRINTSTRING("You cannot move to square ")
				leal	-780(%ebp), %eax
				leal	.LC15@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-16396(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5388(%ebp), %eax
				leal	-16396(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE364:
		.LBB365:
		.LBB366:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-5388(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE366:
		.LBE365:
  486       PRINTSYMBOL(REPLY(4));  PRINTSYMBOL(REPLY(5))
				movl	-22560(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22717(%ebp)
		.LBB367:
		.LBB368:
				movsbl	-22717(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE368:
		.LBE367:
				movl	-22556(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22718(%ebp)
		.LBB369:
		.LBB370:
				movsbl	-22718(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE370:
		.LBE369:
		.LBB371:
  487       PRINTSTRING(";  it does not exist!
				leal	-780(%ebp), %eax
				leal	.LC16@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-16140(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5644(%ebp), %eax
				leal	-16140(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE371:
		.LBB372:
		.LBB373:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-5644(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE373:
		.LBE372:
  488 ")
  489       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  490       -> READ MOVE
				jmp	.L116
		.L277:
  491    %FINISH
  492    %IF M = 1 %START
				cmpl	$1, -22668(%ebp)
				jne	.L278
		.LBB374:
				nop
		.L131:
		.LBB384:
  493       PRINTSTRING("You cannot move to square ")
				leal	-780(%ebp), %eax
				leal	.LC15@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-15884(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4876(%ebp), %eax
				leal	-15884(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE374:
		.LBB375:
		.LBB376:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-4876(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE376:
		.LBE375:
  494       PRINT SYMBOL(REPLY(4));  PRINT SYMBOL(REPLY(5))
				movl	-22560(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22715(%ebp)
		.LBB377:
		.LBB378:
				movsbl	-22715(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE378:
		.LBE377:
				movl	-22556(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22716(%ebp)
		.LBB379:
		.LBB380:
				movsbl	-22716(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE380:
		.LBE379:
		.LBB381:
  495       PRINTSTRING(";  it is already occupied!
				leal	-780(%ebp), %eax
				leal	.LC17@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-15628(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-5132(%ebp), %eax
				leal	-15628(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE381:
		.LBB382:
		.LBB383:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-5132(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE383:
		.LBE382:
  496 ")
  497       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  498       -> READ MOVE
				jmp	.L116
		.L278:
  499    %FINISH
  500    %CYCLE P = 1, 1, OPP(25)
				movl	-160(%ebp), %eax
				movl	%eax, -22664(%ebp)
		.LBB385:
				movl	-22664(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -22660(%ebp)
				movl	-22660(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE385:
				testl	%eax, %eax
				je	.L132
				leal	-10508(%ebp), %eax
				subl	$8, %esp
				leal	.LC40@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L133
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -22732(%ebp)
				jmp	.L134
		.L133:
				movl	$500, -22732(%ebp)
		.L134:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L135
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-10252(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L136
		.L135:
		.LBB386:
				leal	-780(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-15372(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE386:
				leal	-10252(%ebp), %eax
				leal	-15372(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L136:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-10508(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-22732(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-10252(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L132:
				movl	$0, -22692(%ebp)
		.L137:
				movl	-22692(%ebp), %eax
				cmpl	-22664(%ebp), %eax
				je	.L279
				addl	$1, -22692(%ebp)
				nop
				jmp	.L139
		.L280:
  501       %IF OLDPOS = OPP(P) %THENEXIT
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				addl	$64, %eax
				movl	-520(%ebp,%eax,4), %eax
				cmpl	%eax, -22676(%ebp)
				je	.L280
				nop
		.L141:
				nop
		.L139:
		.LBE384:
  502    %REPEAT
				jmp	.L137
		.L279:
  503    %UNLESS OLDPOS = OPP(P) %START
				movl	-22692(%ebp), %eax
				addl	$1, %eax
				addl	$64, %eax
				movl	-520(%ebp,%eax,4), %eax
				cmpl	%eax, -22676(%ebp)
				je	.L281
		.LBB387:
				nop
		.L143:
  504       PRINTSTRING("You do not have a piece on square ")
				leal	-780(%ebp), %eax
				leal	.LC19@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-15116(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4620(%ebp), %eax
				leal	-15116(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE387:
		.LBB388:
		.LBB389:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-4620(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE389:
		.LBE388:
  505       PRINT SYMBOL(REPLY(1));  PRINT SYMBOL(REPLY(2))
				movl	-22572(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22713(%ebp)
		.LBB390:
		.LBB391:
				movsbl	-22713(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE391:
		.LBE390:
				movl	-22568(%ebp), %eax
				movsbl	%al, %eax
				movb	%al, -22714(%ebp)
		.LBB392:
		.LBB393:
				movsbl	-22714(%ebp), %eax
				subl	$12, %esp
				pushl	%eax
				call	_imp_printsymbol@PLT
				addl	$16, %esp
		.LBE393:
		.LBE392:
		.LBB394:
		.LBB395:
				call	_imp_newline@PLT
		.LBE395:
		.LBE394:
  506       NEWLINE
  507       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  508       -> READ MOVE
				jmp	.L116
		.L281:
  509    %FINISH
  510    PIECE = P
				movl	-22692(%ebp), %eax
				movl	%eax, -22656(%ebp)
  511    DIF = NEWPOS-OLDPOS
				movl	-22672(%ebp), %eax
				subl	-22676(%ebp), %eax
				movl	%eax, -22652(%ebp)
  512    MODIF = MOD(DIF)
				subl	$12, %esp
				leal	-524(%ebp), %eax
				pushl	-22652(%ebp)
				movl	%eax, %ecx
				call	MOD.6166
				addl	$16, %esp
				movl	%eax, -22648(%ebp)
  513    %IF MODIF < 12 %AND EXPECTED MOVE > 0 %START
				cmpl	$11, -22648(%ebp)
				jg	.L282
				cmpl	$0, -22684(%ebp)
				jle	.L283
		.LBB396:
				nop
				jmp	.L145
		.L283:
				nop
		.L145:
  514       PRINTSTRING("You MUST take the piece that I am offering you
				leal	-780(%ebp), %eax
				leal	.LC20@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-14860(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4364(%ebp), %eax
				leal	-14860(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE396:
		.LBB397:
		.LBB398:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-4364(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE398:
		.LBE397:
  515 ")
  516       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  517       -> READ MOVE
				jmp	.L116
		.L282:
  518    %FINISH
  519    %IF MODIF < 12 %AND MORE = 'M' %START
				cmpl	$11, -22648(%ebp)
				jg	.L284
				cmpl	$77, -22688(%ebp)
				jne	.L285
		.LBB399:
				nop
				jmp	.L148
		.L285:
				nop
		.L148:
  520       PRINTSTRING("That's not part of a multiple jump move
				leal	-780(%ebp), %eax
				leal	.LC21@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-14604(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-4108(%ebp), %eax
				leal	-14604(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE399:
		.LBB400:
		.LBB401:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-4108(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE401:
		.LBE400:
  521 ")
  522       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  523       -> READ MOVE
				jmp	.L116
		.L284:
  524    %FINISH
  525    %IF DIF < 0 %AND OPP(PIECE+12) # CROWN %START
				cmpl	$0, -22652(%ebp)
				jns	.L286
				movl	-22656(%ebp), %eax
				addl	$13, %eax
				addl	$64, %eax
				movl	-520(%ebp,%eax,4), %edx
				movl	CROWN.6031@GOTOFF(%ebx), %eax
				cmpl	%eax, %edx
				je	.L287
		.LBB402:
				nop
				jmp	.L151
		.L287:
				nop
		.L151:
  526       PRINTSTRING("You cannot move that piece backwards!
				leal	-780(%ebp), %eax
				leal	.LC22@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-14348(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3852(%ebp), %eax
				leal	-14348(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE402:
		.LBB403:
		.LBB404:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-3852(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE404:
		.LBE403:
  527 ")
  528       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  529       -> READ MOVE
				jmp	.L116
		.L286:
  530    %FINISH
  531    %UNLESS MODIF = 11 %OR MODIF = 9 %OR MODIF = 22 %OR MODIF = 18 %START
				cmpl	$11, -22648(%ebp)
				je	.L288
				cmpl	$9, -22648(%ebp)
				je	.L289
				cmpl	$22, -22648(%ebp)
				je	.L290
				cmpl	$18, -22648(%ebp)
				je	.L291
		.LBB405:
				nop
				jmp	.L154
		.L289:
				nop
				jmp	.L154
		.L290:
				nop
				jmp	.L154
		.L291:
				nop
		.L154:
  532       PRINTSTRING("That move does not exist in my rule book!
				leal	-780(%ebp), %eax
				leal	.LC23@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-14092(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3596(%ebp), %eax
				leal	-14092(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE405:
		.LBB406:
		.LBB407:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-3596(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE407:
		.LBE406:
  533 ")
  534       SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  535       -> READ MOVE
				jmp	.L116
		.L288:
  536    %FINISH
  537    %IF MODIF > 11 %START
				cmpl	$11, -22648(%ebp)
				jle	.L292
				nop
		.L159:
				movl	$0, -22708(%ebp)
		.L172:
  538       JUMP = DIF//2
				movl	-22652(%ebp), %eax
				movl	%eax, %edx
				shrl	$31, %edx
				addl	%edx, %eax
				sarl	%eax
				movl	%eax, -22644(%ebp)
  539       COMPOS = OLDPOS+JUMP
				movl	-22676(%ebp), %edx
				movl	-22644(%ebp), %eax
				addl	%edx, %eax
				movl	%eax, -22640(%ebp)
		.LBB408:
  540       %CYCLE I = 1, 1, COMP(25)
				movl	-44(%ebp), %eax
				movl	%eax, -22636(%ebp)
		.LBB409:
				movl	-22636(%ebp), %eax
				subl	$1, %eax
				movl	%eax, -22632(%ebp)
				movl	-22632(%ebp), %eax
				xorl	$1, %eax
				shrl	$31, %eax
				movzbl	%al, %eax
		.LBE409:
				testl	%eax, %eax
				je	.L160
				leal	-9996(%ebp), %eax
				subl	$8, %esp
				leal	.LC41@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L161
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -22732(%ebp)
				jmp	.L162
		.L161:
				movl	$540, -22732(%ebp)
		.L162:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L163
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-9740(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L164
		.L163:
		.LBB410:
				leal	-780(%ebp), %eax
				leal	.LC18@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-13836(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE410:
				leal	-9740(%ebp), %eax
				leal	-13836(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L164:
				pushl	$0
				pushl	$1
				pushl	$5
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-9996(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-22732(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-9740(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
		.L160:
				movl	$0, -22712(%ebp)
		.L165:
				movl	-22712(%ebp), %eax
				cmpl	%eax, -22636(%ebp)
				je	.L293
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -22712(%ebp)
				nop
				jmp	.L167
		.L294:
  541          %EXIT %IF COMPOS = COMP(I)
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				addl	$92, %eax
				movl	-516(%ebp,%eax,4), %eax
				cmpl	%eax, -22640(%ebp)
				je	.L294
				nop
		.L169:
				nop
		.L167:
		.LBE408:
  542       %REPEAT
				jmp	.L165
		.L293:
  543       %UNLESS COMPOS = COMP(I) %START
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				addl	$92, %eax
				movl	-516(%ebp,%eax,4), %eax
				cmpl	%eax, -22640(%ebp)
				je	.L295
		.LBB411:
				nop
		.L171:
  544          PRINTSTRING("You cannot do that.  You are not jumping one of my pieces
				leal	-780(%ebp), %eax
				leal	.LC24@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-13580(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3340(%ebp), %eax
				leal	-13580(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE411:
		.LBB412:
		.LBB413:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-3340(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE413:
		.LBE412:
  545 ")
  546          SAY PLEASE
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	SAYPLEASE.6319
  547          -> READ MOVE
				jmp	.L116
		.L295:
  548       %FINISH
  549       JMAN = I
				movl	-22712(%ebp), %eax
				movl	%eax, -22708(%ebp)
  550    %FINISH %ELSE JMAN = 0
				jmp	.L172
		.L292:
  551    MAKE MOVE(DIF, PIECE, JMAN, OPP, COMP)
				subl	$12, %esp
				leal	-524(%ebp), %eax
				leal	-524(%ebp), %edx
				addl	$376, %edx
				pushl	%edx
				leal	-524(%ebp), %edx
				addl	$260, %edx
				pushl	%edx
				leal	-22708(%ebp), %edx
				pushl	%edx
				pushl	-22656(%ebp)
				pushl	-22652(%ebp)
				movl	%eax, %ecx
				call	MAKEMOVE.6242
				addl	$32, %esp
  552    %IF MORE = 'M' %START
				cmpl	$77, -22688(%ebp)
				jne	.L296
				nop
				jmp	.L190
		.L300:
  553       LASTPOS = NEWPOS
				movl	-22672(%ebp), %eax
				movl	%eax, -22628(%ebp)
		.L174:
		.LBB414:
  554 READ AGAIN:
  555       PROMPT("and:")
				leal	-780(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$4, -780(%ebp)
				movl	$979660385, -779(%ebp)
				movl	$0, -775(%ebp)
				movl	$0, -771(%ebp)
				movw	$0, -767(%ebp)
				movb	$0, -765(%ebp)
				leal	-13324(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE414:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-13324(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	PROMPT@PLT
				addl	$256, %esp
  556       %CYCLE I = 1, 1, 8
				movl	$0, -22712(%ebp)
		.L175:
				movl	-22712(%ebp), %eax
				cmpl	$8, %eax
				je	.L297
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -22712(%ebp)
				nop
				jmp	.L177
		.L299:
  557          READ SYMBOL(REPLY(I))
				movl	-22712(%ebp), %eax
				leal	-1(%eax), %edx
				leal	-22572(%ebp), %eax
				sall	$2, %edx
				addl	%edx, %eax
				movl	%eax, -22576(%ebp)
		.LBB415:
		.LBB416:
				subl	$12, %esp
				pushl	-22576(%ebp)
				call	_imp_readsymbol@PLT
				addl	$16, %esp
		.LBE416:
		.LBE415:
  558          REPLY(I) = REPLY(I)-32 %IF REPLY(I)>='a'
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	-22572(%ebp,%eax,4), %eax
				cmpl	$96, %eax
				jle	.L298
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	-22572(%ebp,%eax,4), %edx
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				subl	$32, %edx
				movl	%edx, -22572(%ebp,%eax,4)
				jmp	.L179
		.L298:
				nop
		.L179:
  559          %EXIT %IF REPLY(I) = NL
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	-22572(%ebp,%eax,4), %eax
				cmpl	$10, %eax
				je	.L299
				nop
		.L181:
				nop
		.L177:
  560       %REPEAT
				jmp	.L175
		.L297:
  561       %IF REPLY(1) = '.'%THEN -> COMP MOVE
				movl	-22572(%ebp), %eax
				cmpl	$46, %eax
				je	.L300
				nop
		.L183:
		.L184:
				nop
		.L190:
  562       REPLY(I) = ' ' %AND I = I+1 %UNTIL I = 9
				movl	-22712(%ebp), %eax
				subl	$1, %eax
				movl	$32, -22572(%ebp,%eax,4)
				movl	-22712(%ebp), %eax
				addl	$1, %eax
				movl	%eax, -22712(%ebp)
				movl	-22712(%ebp), %eax
				cmpl	$9, %eax
				je	.L301
				jmp	.L183
		.L301:
				nop
		.L186:
  563       OLDPOS = POSITION OF(REPLY(1), REPLY(2))
				movl	-22568(%ebp), %ecx
				movl	-22572(%ebp), %edx
				subl	$8, %esp
				leal	-524(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	POSITIONOF.6366
				addl	$16, %esp
				movl	%eax, -22676(%ebp)
  564       NEWPOS = POSITION OF(REPLY(4), REPLY(5))
				movl	-22556(%ebp), %ecx
				movl	-22560(%ebp), %edx
				subl	$8, %esp
				leal	-524(%ebp), %eax
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	POSITIONOF.6366
				addl	$16, %esp
				movl	%eax, -22672(%ebp)
  565       DIF = NEWPOS-OLDPOS
				movl	-22672(%ebp), %eax
				subl	-22676(%ebp), %eax
				movl	%eax, -22652(%ebp)
  566       DIF = MOD(DIF)
				subl	$12, %esp
				leal	-524(%ebp), %eax
				pushl	-22652(%ebp)
				movl	%eax, %ecx
				call	MOD.6166
				addl	$16, %esp
				movl	%eax, -22652(%ebp)
  567       %IF DIF > 11 %AND OLDPOS = LASTPOS %THEN -> TRANS
				cmpl	$11, -22652(%ebp)
				jle	.L302
				movl	-22676(%ebp), %eax
				cmpl	-22628(%ebp), %eax
				jne	.L303
				jmp	.L118
		.L302:
				nop
				jmp	.L188
		.L303:
				nop
		.L188:
		.LBB417:
  568       PRINTSTRING("That's not part of a multiple jump
				leal	-780(%ebp), %eax
				leal	.LC25@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-13068(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-3084(%ebp), %eax
				leal	-13068(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE417:
		.LBB418:
		.LBB419:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-3084(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE419:
		.LBE418:
  569 Please re-type that part
  570 ")
  571       -> READ AGAIN
				jmp	.L174
		.L90:
		.L296:
  572    %FINISH
  573 COMP MOVE: ! COMPUTER MAKES MOVE.
  574    %IF COMPNUM = 0 %START
				movl	-36(%ebp), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L304
		.LBB420:
				nop
		.L192:
  575       PRINTSTRING(" I have no pieces left so I suppose you have won
				leal	-780(%ebp), %eax
				leal	.LC26@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12812(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2828(%ebp), %eax
				leal	-12812(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE420:
		.LBB421:
		.LBB422:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2828(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE422:
		.LBE421:
  576 ")
  577       -> STOP
				jmp	.L122
		.L304:
  578    %FINISH
  579    %IF PENDING MOVE(COMP, OPP) = -1 %START
				subl	$8, %esp
				leal	-524(%ebp), %eax
				leal	-524(%ebp), %edx
				addl	$260, %edx
				pushl	%edx
				leal	-524(%ebp), %edx
				addl	$376, %edx
				pushl	%edx
				movl	%eax, %ecx
				call	PENDINGMOVE.6131
				addl	$16, %esp
				cmpl	$-1, %eax
				jne	.L305
		.LBB423:
				nop
		.L194:
  580       PRINTSTRING("I cannot move any of my pieces so you win
				leal	-780(%ebp), %eax
				leal	.LC27@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12556(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2572(%ebp), %eax
				leal	-12556(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE423:
		.LBB424:
		.LBB425:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2572(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE425:
		.LBE424:
  581 ")
  582        -> STOP
				jmp	.L122
		.L305:
  583    %FINISH
  584    ! If in end game then increase search.
  585    I = COMPNUM+OPPNUM
				movl	-36(%ebp), %eax
				movl	(%eax), %edx
				movl	-152(%ebp), %eax
				movl	(%eax), %eax
				addl	%edx, %eax
				movl	%eax, -22712(%ebp)
  586    %IF I <= 6 %THEN SEARCH LIMIT = 4
				movl	-22712(%ebp), %eax
				cmpl	$6, %eax
				jg	.L306
				movl	$4, SEARCHLIMIT.6030@GOTOFF(%ebx)
				jmp	.L196
		.L306:
				nop
		.L196:
  587    ! FIND BEST MOVE.
  588    NODES = 0;  SP = 0
				movl	$0, %eax
				movl	%eax, -416(%ebp)
				movl	$0, SP.6064@GOTOFF(%ebx)
  589    VALUEB = TRY POSSIBLE MOVES(1, 1, COMP, OPP)
				leal	-524(%ebp), %eax
				leal	-524(%ebp), %edx
				addl	$260, %edx
				pushl	%edx
				leal	-524(%ebp), %edx
				addl	$376, %edx
				pushl	%edx
				pushl	$1
				pushl	$1
				movl	%eax, %ecx
				call	TRYPOSSIBLEMOVES.6257
				addl	$16, %esp
				movl	%eax, -22624(%ebp)
  590    %IF VALUEB <= -99990 %START
				cmpl	$-99989, -22624(%ebp)
				jge	.L307
		.LBB426:
				nop
		.L198:
  591        PRINTSTRING("I resign
				leal	-780(%ebp), %eax
				leal	.LC28@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12300(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2316(%ebp), %eax
				leal	-12300(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE426:
		.LBB427:
		.LBB428:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2316(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE428:
		.LBE427:
  592 ")
  593        -> STOP
				jmp	.L122
		.L307:
  594    %FINISH
  595    I = 0
				movl	$0, -22712(%ebp)
		.L199:
  596 ANOTHER TAKE:
  597    TROUT(COMP(BEST PIECE), COMP(BEST PIECE)+MOVE(BEST MOVE), I)
				movl	-524(%ebp), %eax
				addl	$1, %eax
				addl	$92, %eax
				movl	-516(%ebp,%eax,4), %edx
				movl	-516(%ebp), %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %eax
				leal	(%edx,%eax), %esi
				movl	-524(%ebp), %eax
				addl	$1, %eax
				addl	$92, %eax
				movl	-516(%ebp,%eax,4), %edx
				subl	$4, %esp
				leal	-524(%ebp), %eax
				leal	-22712(%ebp), %ecx
				pushl	%ecx
				pushl	%esi
				pushl	%edx
				movl	%eax, %ecx
				call	TROUT.6352
				addl	$16, %esp
  598    MAKE MOVE(MOVE(BEST MOVE), BEST PIECE, BEST TAKE, COMP, OPP)
				movl	-516(%ebp), %eax
				movl	MOVE.6038@GOTOFF(%ebx,%eax,4), %edx
				movl	-524(%ebp), %ecx
				subl	$12, %esp
				leal	-524(%ebp), %eax
				leal	-524(%ebp), %esi
				addl	$260, %esi
				pushl	%esi
				leal	-524(%ebp), %esi
				addl	$376, %esi
				pushl	%esi
				leal	-524(%ebp), %esi
				addl	$4, %esi
				pushl	%esi
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	MAKEMOVE.6242
				addl	$32, %esp
  599    %IF BEST TAKE > 0 %START
				movl	-520(%ebp), %eax
				testl	%eax, %eax
				jle	.L308
				nop
				jmp	.L206
		.L309:
  600       %CYCLE BEST MOVE = 1, 2, 7
				movl	$-1, %eax
				movl	%eax, -516(%ebp)
		.L202:
				movl	-516(%ebp), %eax
				cmpl	$7, %eax
				je	.L309
				movl	-516(%ebp), %eax
				addl	$2, %eax
				movl	%eax, -516(%ebp)
				nop
		.L206:
		.LBB429:
		.LBB430:
				call	_imp_newline@PLT
		.LBE430:
		.LBE429:
  601          BEST TAKE = VALID MOVE(BEST MOVE, BEST PIECE, COMP, OPP)
				movl	-516(%ebp), %edx
				movl	-524(%ebp), %ecx
				leal	-524(%ebp), %eax
				leal	-524(%ebp), %esi
				addl	$260, %esi
				pushl	%esi
				leal	-524(%ebp), %esi
				addl	$376, %esi
				pushl	%esi
				pushl	%ecx
				pushl	%edx
				movl	%eax, %ecx
				call	VALIDMOVE.6108
				addl	$16, %esp
				movl	%eax, -520(%ebp)
  602          -> ANOTHER TAKE %IF BEST TAKE>0
				movl	-520(%ebp), %eax
				testl	%eax, %eax
				jle	.L310
				jmp	.L199
		.L310:
				nop
		.L205:
  603       %REPEAT
				jmp	.L202
		.L201:
		.L308:
  604    %FINISH
  605    NEWLINE
  606    %IF MON = 'M' %START
				movl	MON.6028@GOTOFF(%ebx), %eax
				cmpl	$77, %eax
				jne	.L311
		.LBB431:
				nop
		.L208:
  607       PRINTSTRING("Nodes considered =");  WRITE(NODES, 4)
				leal	-780(%ebp), %eax
				leal	.LC29@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-12044(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-2060(%ebp), %eax
				leal	-12044(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE431:
		.LBB432:
		.LBB433:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-2060(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE433:
		.LBE432:
				movl	-416(%ebp), %eax
				subl	$8, %esp
				pushl	$4
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB434:
  608       PRINTSTRING("
				leal	-780(%ebp), %eax
				leal	.LC30@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-11788(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1804(%ebp), %eax
				leal	-11788(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE434:
		.LBB435:
		.LBB436:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1804(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE436:
		.LBE435:
  609 Value of board =");  WRITE(VALUEB, 4)
				subl	$8, %esp
				pushl	$4
				pushl	-22624(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB437:
		.LBB438:
				call	_imp_newline@PLT
				jmp	.L208
		.L311:
		.LBE438:
		.LBE437:
  610       NEWLINE
  611    %FINISH
  612    %IF OPPNUM = 0 %START
				movl	-152(%ebp), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				jne	.L312
		.LBB439:
				nop
		.L210:
  613        PRINTSTRING("You have no pieces left so I win
				leal	-780(%ebp), %eax
				leal	.LC31@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-11532(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1548(%ebp), %eax
				leal	-11532(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE439:
		.LBB440:
		.LBB441:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1548(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE441:
		.LBE440:
  614 ")
  615       -> STOP
				jmp	.L122
		.L312:
  616    %FINISH
  617    EXPECTED MOVE = PENDING MOVE(OPP, COMP)
				subl	$8, %esp
				leal	-524(%ebp), %eax
				leal	-524(%ebp), %edx
				addl	$376, %edx
				pushl	%edx
				leal	-524(%ebp), %edx
				addl	$260, %edx
				pushl	%edx
				movl	%eax, %ecx
				call	PENDINGMOVE.6131
				addl	$16, %esp
				movl	%eax, -22684(%ebp)
  618    %IF EXPECTED MOVE = -1 %START
				cmpl	$-1, -22684(%ebp)
				jne	.L313
		.LBB442:
				nop
		.L212:
  619       PRINTSTRING("You cannot move any of your pieces so I win
				leal	-780(%ebp), %eax
				leal	.LC32@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-11276(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1292(%ebp), %eax
				leal	-11276(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE442:
		.LBB443:
		.LBB444:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1292(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE444:
		.LBE443:
  620 ")
  621       -> STOP
				jmp	.L122
		.L313:
  622    %FINISH
  623    %IF VALUEB >= 99990  %AND AWIN = 0 %START
				cmpl	$99989, -22624(%ebp)
				jle	.L314
				movl	AWIN.6029@GOTOFF(%ebx), %eax
				testl	%eax, %eax
				jne	.L315
		.LBB445:
				nop
				jmp	.L116
		.L315:
				nop
		.L214:
				jmp	.L116
		.L274:
  624       PRINTSTRING("He-He!  I am going to win!!
				leal	-780(%ebp), %eax
				leal	.LC33@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-11020(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1036(%ebp), %eax
				leal	-11020(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE445:
		.LBB446:
		.LBB447:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1036(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE447:
		.LBE446:
  625 ")
  626       AWIN = 1
				movl	$1, AWIN.6029@GOTOFF(%ebx)
  627    %FINISH
  628    -> READ MOVE
				jmp	.L116
		.L314:
  629 STOP:
  630    PRINTSTRING("
				leal	-780(%ebp), %eax
				leal	.LC34@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-10764(%ebp), %eax
				leal	-780(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-780(%ebp), %eax
				leal	-10764(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE448:
		.LBB449:
		.LBB450:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-780(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE450:
		.LBE449:
  631 The final board position is -
  632 ")
  633    PRINT BOARD
				leal	-524(%ebp), %eax
				movl	%eax, %ecx
				call	PRINTBOARD.6324
  634 %END
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L217
				call	__stack_chk_fail_local
		.L217:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE189:
				.section	.rodata
				.align 4
		.LC42:
				.string	"Illegal cycle T = 1, 1, OPP[/*BUG*/25]"
		VALIDMOVE.6108:
		.LFB191:
?RESTART unused
?THREE unused
?TWO unused
?ONE unused
?S unused
  635 %ENDOFFILE
  566 Statements compiled
