# GNU C version 4.0.1 (Apple Inc. build 5465) (i686-apple-darwin9) # compiled by GNU C version 4.0.1 (Apple Inc. build 5465). # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 # options passed: -D__DYNAMIC__ -fPIC -mmacosx-version-min=10.5.1 -m64 # -mtune=generic -march=apple -auxbase -fverbose-asm # options enabled: -fPIC -falign-jumps-max-skip -falign-loops # -falign-loops-max-skip -fargument-alias -fasynchronous-unwind-tables # -fbranch-count-reg -fcommon -feliminate-unused-debug-types -ffunction-cse # -fgcse-lm -fident -fivopts -fkeep-static-consts -fleading-underscore # -flocal-alloc -floop-optimize2 -fpeephole -freg-struct-return # -fsched-interblock -fsched-spec -fsched-stalled-insns-dep # -fsplit-ivs-in-unroller -ftree-loop-im -ftree-loop-ivcanon # -ftree-loop-optimize -funwind-tables -fverbose-asm # -fzero-initialized-in-bss -m80387 -mhard-float -mno-soft-float -mieee-fp # -mfp-ret-in-387 -maccumulate-outgoing-args -mmmx -msse -msse2 -msse3 # -m128bit-long-double -m64 -mtune=generic64 -march=apple # -mmacosx-version-min=10.5.1 # Compiler executable checksum: 0a7d9e41e786877ed5cbeb90e063cdab .data .align 2 _iSeeDelta.5028: .long -17 .long 15 .align 2 _pPawn.5027: .long 2 .long 3 .text .globl _SlowGetAttacks _SlowGetAttacks: LFB33: pushq %rbp # LCFI0: movq %rsp, %rbp #, LCFI1: movq %rdi, -40(%rbp) # pList, pList movq %rsi, -48(%rbp) # pos, pos movl %edx, -52(%rbp) # cSquare, cSquare movl %ecx, -56(%rbp) # uSide, uSide movq -40(%rbp), %rax # pList, pList movl $0, (%rax) #, .uCount movl -56(%rbp), %eax # uSide, uSide.5 mov %eax, %eax # uSide.5, uSide.5 leaq 0(,%rax,4), %rdx #, tmp125 leaq _iSeeDelta.5028(%rip), %rax #, tmp126 movl (%rdx,%rax), %eax # iSeeDelta, D.5038 addl -52(%rbp), %eax # cSquare, tmp127 movl %eax, -16(%rbp) # tmp127, c movl -16(%rbp), %eax # c, D.5040 andl $136, %eax #, D.5040 testl %eax, %eax # D.5040 jne L2 #, movl -16(%rbp), %eax # c, c.6 movq -48(%rbp), %rdx # pos, pos mov %eax, %eax # c.6, c.6 movl (%rdx,%rax,8), %eax # .D.2182.pPiece, .D.2182.pPiece movl %eax, -20(%rbp) # .D.2182.pPiece, p movl -56(%rbp), %eax # uSide, uSide.7 mov %eax, %eax # uSide.7, uSide.7 leaq 0(,%rax,4), %rdx #, tmp132 leaq _pPawn.5027(%rip), %rax #, tmp133 movl (%rdx,%rax), %eax # pPawn, D.5043 cmpl -20(%rbp), %eax # p, D.5043 jne L2 #, movq -40(%rbp), %rdx # pList, pList movl -20(%rbp), %eax # p, p movl %eax, 4(%rdx) # p, .pPiece movq -40(%rbp), %rdx # pList, pList movl -16(%rbp), %eax # c, c movl %eax, 8(%rdx) # c, .cLoc movq -40(%rbp), %rax # pList, pList movl $100, 12(%rax) #, .uVal movq -40(%rbp), %rax # pList, pList movl $1, (%rax) #, .uCount L2: leaq -16(%rbp), %rax #, tmp258 addl $2, (%rax) #, c movl -16(%rbp), %eax # c, D.5044 andl $136, %eax #, D.5044 testl %eax, %eax # D.5044 jne L5 #, movl -16(%rbp), %eax # c, c.8 movq -48(%rbp), %rdx # pos, pos mov %eax, %eax # c.8, c.8 movl (%rdx,%rax,8), %eax # .D.2182.pPiece, .D.2182.pPiece movl %eax, -20(%rbp) # .D.2182.pPiece, p movl -56(%rbp), %eax # uSide, uSide.9 mov %eax, %eax # uSide.9, uSide.9 leaq 0(,%rax,4), %rdx #, tmp144 leaq _pPawn.5027(%rip), %rax #, tmp145 movl (%rdx,%rax), %eax # pPawn, D.5047 cmpl -20(%rbp), %eax # p, D.5047 jne L5 #, movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5048 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5048, D.5048 movq %rdx, %rax # D.5048, D.5048 addq %rax, %rax # D.5048 addq %rdx, %rax # D.5048, D.5048 salq $2, %rax #, tmp150 addq %rcx, %rax # pList, tmp151 leaq 4(%rax), %rdx #, tmp152 movl -20(%rbp), %eax # p, p movl %eax, (%rdx) # p, .pPiece movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5049 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5049, D.5049 movq %rdx, %rax # D.5049, D.5049 addq %rax, %rax # D.5049 addq %rdx, %rax # D.5049, D.5049 salq $2, %rax #, tmp158 addq %rcx, %rax # pList, tmp159 leaq 8(%rax), %rdx #, tmp160 movl -16(%rbp), %eax # c, c movl %eax, (%rdx) # c, .cLoc movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5050 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5050, D.5050 movq %rdx, %rax # D.5050, D.5050 addq %rax, %rax # D.5050 addq %rdx, %rax # D.5050, D.5050 salq $2, %rax #, tmp166 addq %rcx, %rax # pList, tmp167 addq $12, %rax #, tmp168 movl $100, (%rax) #, .uVal movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5051 leal 1(%rax), %edx #, D.5052 movq -40(%rbp), %rax # pList, pList movl %edx, (%rax) # D.5052, .uCount L5: movl -56(%rbp), %eax # uSide, uSide.10 movq -48(%rbp), %rdx # pos, pos mov %eax, %eax # uSide.10, uSide.10 salq $5, %rax #, tmp173 addq %rdx, %rax # pos, tmp174 addq $1280, %rax #, tmp175 movl (%rax), %eax # .uNonPawnCount, D.5054 decl %eax # movl %eax, -60(%rbp) #, x jmp L8 # L9: movl -56(%rbp), %eax # uSide, uSide.11 movl -60(%rbp), %edx # x, x.12 movq -48(%rbp), %rcx # pos, pos mov %eax, %eax # uSide.11, uSide.11 mov %edx, %edx # x.12, x.12 salq $4, %rax #, tmp179 addq %rdx, %rax # x.12, tmp180 movl 1144(%rcx,%rax,4), %eax # .cNonPawns, tmp181 movl %eax, -16(%rbp) # tmp181, c movl -16(%rbp), %eax # c, c.13 movq -48(%rbp), %rdx # pos, pos mov %eax, %eax # c.13, c.13 movl (%rdx,%rax,8), %eax # .D.2182.pPiece, .D.2182.pPiece movl %eax, -20(%rbp) # .D.2182.pPiece, p movl -16(%rbp), %edx # c, c.14 movl -52(%rbp), %eax # cSquare, cSquare.15 movl %edx, %ecx # c.14, subl %eax, %ecx # cSquare.15, movl %ecx, %eax #, tmp185 movl %eax, -12(%rbp) # tmp185, iIndex movl -12(%rbp), %eax # iIndex, iIndex cltq salq $2, %rax #, D.5061 movq %rax, %rdx # D.5061, D.5062 movq _g_pVectorDelta@GOTPCREL(%rip), %rax #, tmp187 movq (%rax), %rax # g_pVectorDelta, g_pVectorDelta.16 addq %rax, %rdx # g_pVectorDelta.16, D.5064 movl -20(%rbp), %eax # p, D.5065 andl $1, %eax #, D.5065 mov %eax, %eax # D.5065, D.5065 movzbl (%rdx,%rax), %eax # .iVector, D.5066 movzbl %al, %edx # D.5066, D.5067 movl -20(%rbp), %eax # p, p shrl %eax # D.5068 movl %eax, %ecx # D.5068, D.5069 movl %edx, %eax # D.5067, D.5070 sarl %cl, %eax # D.5069, D.5070 xorl $1, %eax #, D.5072 andl $1, %eax #, D.5074 testb %al, %al # D.5075 jne L10 #, movl -20(%rbp), %eax # p, D.5076 andl $6, %eax #, D.5076 cmpl $4, %eax #, D.5076 jne L12 #, movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5077 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5077, D.5077 movq %rdx, %rax # D.5077, D.5077 addq %rax, %rax # D.5077 addq %rdx, %rax # D.5077, D.5077 salq $2, %rax #, tmp194 addq %rcx, %rax # pList, tmp195 leaq 4(%rax), %rdx #, tmp196 movl -20(%rbp), %eax # p, p movl %eax, (%rdx) # p, .pPiece movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5078 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5078, D.5078 movq %rdx, %rax # D.5078, D.5078 addq %rax, %rax # D.5078 addq %rdx, %rax # D.5078, D.5078 salq $2, %rax #, tmp202 addq %rcx, %rax # pList, tmp203 leaq 8(%rax), %rdx #, tmp204 movl -16(%rbp), %eax # c, c movl %eax, (%rdx) # c, .cLoc movq -40(%rbp), %rax # pList, pList movl (%rax), %edi # .uCount, D.5079 movl -20(%rbp), %eax # p, p shrl %eax # D.5080 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp208 mov %eax, %edx # D.5080, D.5080 movq %rdx, %rax # D.5080, D.5080 addq %rax, %rax # D.5080 addq %rdx, %rax # D.5080, D.5080 salq $3, %rax #, tmp211 movl (%rax,%rcx), %ecx # .uValue, D.5081 movq -40(%rbp), %rsi # pList, pList mov %edi, %edx # D.5079, D.5079 movq %rdx, %rax # D.5079, D.5079 addq %rax, %rax # D.5079 addq %rdx, %rax # D.5079, D.5079 salq $2, %rax #, tmp215 addq %rsi, %rax # pList, tmp216 addq $12, %rax #, tmp217 movl %ecx, (%rax) # D.5081, .uVal movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5082 leal 1(%rax), %edx #, D.5083 movq -40(%rbp), %rax # pList, pList movl %edx, (%rax) # D.5083, .uCount jmp L10 # L12: movl -12(%rbp), %eax # iIndex, iIndex cltq salq $2, %rax #, D.5085 movq %rax, %rdx # D.5085, D.5086 movq _g_pVectorDelta@GOTPCREL(%rip), %rax #, tmp221 movq (%rax), %rax # g_pVectorDelta, g_pVectorDelta.17 leaq (%rdx,%rax), %rax #, D.5088 movzbl 3(%rax), %eax # .iNegDelta, D.5089 movsbl %al,%eax # D.5089, D.5089 movl %eax, -4(%rbp) # D.5089, iDelta movl -4(%rbp), %eax # iDelta, iDelta.18 addl -52(%rbp), %eax # cSquare, tmp223 movl %eax, -8(%rbp) # tmp223, cBlockIndex jmp L14 # L15: movl -8(%rbp), %eax # cBlockIndex, cBlockIndex.19 movq -48(%rbp), %rdx # pos, pos mov %eax, %eax # cBlockIndex.19, cBlockIndex.19 movl (%rdx,%rax,8), %eax # .D.2182.pPiece, D.5092 testl %eax, %eax # D.5092 jne L10 #, movl -4(%rbp), %edx # iDelta, iDelta.20 leaq -8(%rbp), %rax #, tmp260 addl %edx, (%rax) # iDelta.20, cBlockIndex L14: movl -8(%rbp), %eax # cBlockIndex, cBlockIndex cmpl -16(%rbp), %eax # c, cBlockIndex jne L15 #, movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5094 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5094, D.5094 movq %rdx, %rax # D.5094, D.5094 addq %rax, %rax # D.5094 addq %rdx, %rax # D.5094, D.5094 salq $2, %rax #, tmp231 addq %rcx, %rax # pList, tmp232 leaq 4(%rax), %rdx #, tmp233 movl -20(%rbp), %eax # p, p movl %eax, (%rdx) # p, .pPiece movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5095 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # D.5095, D.5095 movq %rdx, %rax # D.5095, D.5095 addq %rax, %rax # D.5095 addq %rdx, %rax # D.5095, D.5095 salq $2, %rax #, tmp239 addq %rcx, %rax # pList, tmp240 leaq 8(%rax), %rdx #, tmp241 movl -16(%rbp), %eax # c, c movl %eax, (%rdx) # c, .cLoc movq -40(%rbp), %rax # pList, pList movl (%rax), %edi # .uCount, D.5096 movl -20(%rbp), %eax # p, p shrl %eax # D.5097 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp245 mov %eax, %edx # D.5097, D.5097 movq %rdx, %rax # D.5097, D.5097 addq %rax, %rax # D.5097 addq %rdx, %rax # D.5097, D.5097 salq $3, %rax #, tmp248 movl (%rax,%rcx), %ecx # .uValue, D.5098 movq -40(%rbp), %rsi # pList, pList mov %edi, %edx # D.5096, D.5096 movq %rdx, %rax # D.5096, D.5096 addq %rax, %rax # D.5096 addq %rdx, %rax # D.5096, D.5096 salq $2, %rax #, tmp252 addq %rsi, %rax # pList, tmp253 addq $12, %rax #, tmp254 movl %ecx, (%rax) # D.5098, .uVal movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5099 leal 1(%rax), %edx #, D.5100 movq -40(%rbp), %rax # pList, pList movl %edx, (%rax) # D.5100, .uCount L10: decl -60(%rbp) # x L8: cmpl $-1, -60(%rbp) #, x jne L9 #, leave ret LFE33: __PushDown: LFB34: pushq %rbp # LCFI2: movq %rsp, %rbp #, LCFI3: subq $48, %rsp #, LCFI4: movq %rdi, -40(%rbp) # p, p movl %esi, -44(%rbp) # u, u movl -44(%rbp), %eax # u, u addl %eax, %eax # D.5121 incl %eax # tmp74 movl %eax, -12(%rbp) # tmp74, l movq -40(%rbp), %rax # p, p movl (%rax), %eax # .uCount, D.5122 cmpl -12(%rbp), %eax # l, D.5122 jbe L29 #, movl -12(%rbp), %eax # l, tmp76 incl %eax # tmp76 movl %eax, -8(%rbp) # tmp76, r movl -44(%rbp), %eax # u, u movl %eax, -4(%rbp) # u, uSmallest movl -12(%rbp), %eax # l, l.21 movq -40(%rbp), %rcx # p, p mov %eax, %edx # l.21, l.21 movq %rdx, %rax # l.21, l.21 addq %rax, %rax # l.21 addq %rdx, %rax # l.21, l.21 salq $2, %rax #, tmp81 addq %rcx, %rax # p, tmp82 addq $12, %rax #, tmp83 movl (%rax), %esi # .uVal, D.5124 movl -44(%rbp), %eax # u, u.22 movq -40(%rbp), %rcx # p, p mov %eax, %edx # u.22, u.22 movq %rdx, %rax # u.22, u.22 addq %rax, %rax # u.22 addq %rdx, %rax # u.22, u.22 salq $2, %rax #, tmp87 addq %rcx, %rax # p, tmp88 addq $12, %rax #, tmp89 movl (%rax), %eax # .uVal, D.5126 cmpl %eax, %esi # D.5126, D.5124 jae L23 #, movl -12(%rbp), %eax # l, l movl %eax, -4(%rbp) # l, uSmallest L23: movq -40(%rbp), %rax # p, p movl (%rax), %eax # .uCount, D.5127 cmpl -8(%rbp), %eax # r, D.5127 jbe L25 #, movl -8(%rbp), %eax # r, r.23 movq -40(%rbp), %rcx # p, p mov %eax, %edx # r.23, r.23 movq %rdx, %rax # r.23, r.23 addq %rax, %rax # r.23 addq %rdx, %rax # r.23, r.23 salq $2, %rax #, tmp95 addq %rcx, %rax # p, tmp96 addq $12, %rax #, tmp97 movl (%rax), %esi # .uVal, D.5129 movl -4(%rbp), %eax # uSmallest, uSmallest.24 movq -40(%rbp), %rcx # p, p mov %eax, %edx # uSmallest.24, uSmallest.24 movq %rdx, %rax # uSmallest.24, uSmallest.24 addq %rax, %rax # uSmallest.24 addq %rdx, %rax # uSmallest.24, uSmallest.24 salq $2, %rax #, tmp101 addq %rcx, %rax # p, tmp102 addq $12, %rax #, tmp103 movl (%rax), %eax # .uVal, D.5131 cmpl %eax, %esi # D.5131, D.5129 jae L25 #, movl -8(%rbp), %eax # r, r movl %eax, -4(%rbp) # r, uSmallest L25: movl -4(%rbp), %eax # uSmallest, uSmallest cmpl -44(%rbp), %eax # u, uSmallest je L29 #, movl -4(%rbp), %eax # uSmallest, uSmallest.25 movq -40(%rbp), %rcx # p, p mov %eax, %edx # uSmallest.25, uSmallest.25 movq %rdx, %rax # uSmallest.25, uSmallest.25 addq %rax, %rax # uSmallest.25 addq %rdx, %rax # uSmallest.25, uSmallest.25 leaq 0(,%rax,4), %rdx #, tmp109 movq 4(%rdx,%rcx), %rax # .data, tmp110 movq %rax, -32(%rbp) # tmp110, temp movl 12(%rdx,%rcx), %eax # .data, tmp111 movl %eax, -24(%rbp) # tmp111, temp movl -4(%rbp), %eax # uSmallest, uSmallest.26 movl -44(%rbp), %ecx # u, u.27 movq -40(%rbp), %rsi # p, p mov %eax, %edx # uSmallest.26, uSmallest.26 movq %rdx, %rax # uSmallest.26, uSmallest.26 addq %rax, %rax # uSmallest.26 addq %rdx, %rax # uSmallest.26, uSmallest.26 leaq 0(,%rax,4), %rdi #, tmp115 movq -40(%rbp), %r8 # p, p mov %ecx, %edx # u.27, u.27 movq %rdx, %rax # u.27, u.27 addq %rax, %rax # u.27 addq %rdx, %rax # u.27, u.27 leaq 0(,%rax,4), %rdx #, tmp119 movq 4(%rdx,%r8), %rax # .data, tmp120 movq %rax, 4(%rdi,%rsi) # tmp120, .data movl 12(%rdx,%r8), %eax # .data, tmp121 movl %eax, 12(%rdi,%rsi) # tmp121, .data movl -44(%rbp), %eax # u, u.28 movq -40(%rbp), %rcx # p, p mov %eax, %edx # u.28, u.28 movq %rdx, %rax # u.28, u.28 addq %rax, %rax # u.28 addq %rdx, %rax # u.28, u.28 leaq 0(,%rax,4), %rdx #, tmp125 movq -32(%rbp), %rax # temp, temp movq %rax, 4(%rdx,%rcx) # temp, .data movl -24(%rbp), %eax # temp, temp movl %eax, 12(%rdx,%rcx) # temp, .data movl -4(%rbp), %esi # uSmallest, uSmallest movq -40(%rbp), %rdi # p, p call __PushDown # L29: leave ret LFE34: __BuildHeap: LFB35: pushq %rbp # LCFI5: movq %rsp, %rbp #, LCFI6: subq $32, %rsp #, LCFI7: movq %rdi, -24(%rbp) # p, p movq -24(%rbp), %rax # p, p movl (%rax), %eax # .uCount, D.5154 shrl %eax # D.5155 decl %eax # D.5156 movl %eax, -8(%rbp) # D.5156, iStart movl -8(%rbp), %eax # iStart, iStart movl %eax, -4(%rbp) # iStart, i jmp L31 # L32: movl -4(%rbp), %esi # i, i.29 movq -24(%rbp), %rdi # p, p call __PushDown # leaq -4(%rbp), %rax #, tmp66 decl (%rax) # i L31: cmpl $-1, -4(%rbp) #, i jg L32 #, leave ret LFE35: __BubbleUp: LFB36: pushq %rbp # LCFI8: movq %rsp, %rbp #, LCFI9: subq $32, %rsp #, LCFI10: movq %rdi, -24(%rbp) # p, p movl %esi, -28(%rbp) # u, u cmpl $0, -28(%rbp) #, u je L39 #, movl -28(%rbp), %eax # u, D.5164 decl %eax # D.5164 shrl %eax # tmp67 movl %eax, -4(%rbp) # tmp67, uParent movl -4(%rbp), %eax # uParent, uParent.30 movq -24(%rbp), %rcx # p, p mov %eax, %edx # uParent.30, uParent.30 movq %rdx, %rax # uParent.30, uParent.30 addq %rax, %rax # uParent.30 addq %rdx, %rax # uParent.30, uParent.30 salq $2, %rax #, tmp71 addq %rcx, %rax # p, tmp72 addq $12, %rax #, tmp73 movl (%rax), %esi # .uVal, D.5166 movl -28(%rbp), %eax # u, u.31 movq -24(%rbp), %rcx # p, p mov %eax, %edx # u.31, u.31 movq %rdx, %rax # u.31, u.31 addq %rax, %rax # u.31 addq %rdx, %rax # u.31, u.31 salq $2, %rax #, tmp77 addq %rcx, %rax # p, tmp78 addq $12, %rax #, tmp79 movl (%rax), %eax # .uVal, D.5168 cmpl %eax, %esi # D.5168, D.5166 jbe L39 #, movl -4(%rbp), %eax # uParent, uParent.32 movq -24(%rbp), %rcx # p, p mov %eax, %edx # uParent.32, uParent.32 movq %rdx, %rax # uParent.32, uParent.32 addq %rax, %rax # uParent.32 addq %rdx, %rax # uParent.32, uParent.32 leaq 0(,%rax,4), %rdx #, tmp83 movq 4(%rdx,%rcx), %rax # .data, tmp84 movq %rax, -16(%rbp) # tmp84, temp movl 12(%rdx,%rcx), %eax # .data, tmp85 movl %eax, -8(%rbp) # tmp85, temp movl -4(%rbp), %eax # uParent, uParent.33 movl -28(%rbp), %ecx # u, u.34 movq -24(%rbp), %rsi # p, p mov %eax, %edx # uParent.33, uParent.33 movq %rdx, %rax # uParent.33, uParent.33 addq %rax, %rax # uParent.33 addq %rdx, %rax # uParent.33, uParent.33 leaq 0(,%rax,4), %rdi #, tmp89 movq -24(%rbp), %r8 # p, p mov %ecx, %edx # u.34, u.34 movq %rdx, %rax # u.34, u.34 addq %rax, %rax # u.34 addq %rdx, %rax # u.34, u.34 leaq 0(,%rax,4), %rdx #, tmp93 movq 4(%rdx,%r8), %rax # .data, tmp94 movq %rax, 4(%rdi,%rsi) # tmp94, .data movl 12(%rdx,%r8), %eax # .data, tmp95 movl %eax, 12(%rdi,%rsi) # tmp95, .data movl -28(%rbp), %eax # u, u.35 movq -24(%rbp), %rcx # p, p mov %eax, %edx # u.35, u.35 movq %rdx, %rax # u.35, u.35 addq %rax, %rax # u.35 addq %rdx, %rax # u.35, u.35 leaq 0(,%rax,4), %rdx #, tmp99 movq -16(%rbp), %rax # temp, temp movq %rax, 4(%rdx,%rcx) # temp, .data movl -8(%rbp), %eax # temp, temp movl %eax, 12(%rdx,%rcx) # temp, .data movl -4(%rbp), %esi # uParent, uParent movq -24(%rbp), %rdi # p, p call __BubbleUp # L39: leave ret LFE36: __ClearPieceByLocation: LFB38: pushq %rbp # LCFI11: movq %rsp, %rbp #, LCFI12: subq $32, %rsp #, LCFI13: movq %rdi, -24(%rbp) # pList, pList movl %esi, -28(%rbp) # cLoc, cLoc movl $0, -4(%rbp) #, x jmp L41 # L42: movl -4(%rbp), %eax # x, x.37 movq -24(%rbp), %rcx # pList, pList mov %eax, %edx # x.37, x.37 movq %rdx, %rax # x.37, x.37 addq %rax, %rax # x.37 addq %rdx, %rax # x.37, x.37 salq $2, %rax #, tmp64 addq %rcx, %rax # pList, tmp65 addq $8, %rax #, tmp66 movl (%rax), %eax # .cLoc, D.5199 cmpl -28(%rbp), %eax # cLoc, D.5199 jne L43 #, movl -4(%rbp), %esi # x, x movq -24(%rbp), %rdi # pList, pList call __RemoveItem # jmp L46 # L43: leaq -4(%rbp), %rax #, tmp71 incl (%rax) # x L41: movq -24(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5200 cmpl -4(%rbp), %eax # x, D.5200 ja L42 #, L46: leave ret LFE38: __RemoveItem: LFB37: pushq %rbp # LCFI14: movq %rsp, %rbp #, LCFI15: subq $16, %rsp #, LCFI16: movq %rdi, -8(%rbp) # pList, pList movl %esi, -12(%rbp) # x, x movq -8(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5181 decl %eax # D.5182 cmpl -12(%rbp), %eax # x, D.5182 je L48 #, movl -12(%rbp), %edx # x, x.36 movq -8(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5184 leal -1(%rax), %ecx #, D.5185 movq -8(%rbp), %rsi # pList, pList mov %edx, %edx # x.36, x.36 movq %rdx, %rax # x.36, x.36 addq %rax, %rax # x.36 addq %rdx, %rax # x.36, x.36 leaq 0(,%rax,4), %rdi #, tmp72 movq -8(%rbp), %r8 # pList, pList mov %ecx, %edx # D.5185, D.5185 movq %rdx, %rax # D.5185, D.5185 addq %rax, %rax # D.5185 addq %rdx, %rax # D.5185, D.5185 leaq 0(,%rax,4), %rdx #, tmp76 movq 4(%rdx,%r8), %rax # .data, tmp77 movq %rax, 4(%rdi,%rsi) # tmp77, .data movl 12(%rdx,%r8), %eax # .data, tmp78 movl %eax, 12(%rdi,%rsi) # tmp78, .data movq -8(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5186 leal -1(%rax), %edx #, D.5187 movq -8(%rbp), %rax # pList, pList movl %edx, (%rax) # D.5187, .uCount movq -8(%rbp), %rdi # pList, pList movl $0, %esi #, call __PushDown # jmp L51 # L48: movq -8(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5188 leal -1(%rax), %edx #, D.5189 movq -8(%rbp), %rax # pList, pList movl %edx, (%rax) # D.5189, .uCount L51: leave ret LFE37: __MinLegalPiece: LFB39: pushq %rbp # LCFI17: movq %rsp, %rbp #, LCFI18: subq $80, %rsp #, LCFI19: movq %rdi, -24(%rbp) # pos, pos movl %esi, -28(%rbp) # uColor, uColor movq %rdx, -40(%rbp) # pList, pList movq %rcx, -48(%rbp) # pOther, pOther movq %r8, -56(%rbp) # pc, pc movl %r9d, -60(%rbp) # cIgnore, cIgnore movl $0, -64(%rbp) #, x jmp L53 # L54: movl -64(%rbp), %eax # x, x.38 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # x.38, x.38 movq %rdx, %rax # x.38, x.38 addq %rax, %rax # x.38 addq %rdx, %rax # x.38, x.38 salq $2, %rax #, tmp76 addq %rcx, %rax # pList, tmp77 addq $4, %rax #, tmp78 movl (%rax), %eax # .pPiece, .pPiece movl %eax, -8(%rbp) # .pPiece, p movl -8(%rbp), %eax # p, D.5223 andl $14, %eax #, D.5223 cmpl $12, %eax #, D.5223 jne L55 #, movq -48(%rbp), %rax # pOther, pOther movl (%rax), %eax # .uCount, D.5224 testl %eax, %eax # D.5224 jne L57 #, movq -40(%rbp), %rax # pList, pList movl 8(%rax), %edx # .cLoc, D.5225 movq -56(%rbp), %rax # pc, pc movl %edx, (%rax) # D.5225,* pc movq -40(%rbp), %rax # pList, pList movl $0, (%rax) #, .uCount movl -8(%rbp), %eax # p, movl %eax, -68(%rbp) #, D.5226 jmp L59 # L55: movl -28(%rbp), %eax # uColor, uColor.39 movq -24(%rbp), %rdx # pos, pos mov %eax, %eax # uColor.39, uColor.39 salq $6, %rax #, tmp86 addq %rdx, %rax # pos, tmp87 addq $1136, %rax #, tmp88 movl 8(%rax), %eax # .cNonPawns, tmp89 movl %eax, -12(%rbp) # tmp89, cKing movl -64(%rbp), %eax # x, x.40 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # x.40, x.40 movq %rdx, %rax # x.40, x.40 addq %rax, %rax # x.40 addq %rdx, %rax # x.40, x.40 salq $2, %rax #, tmp93 addq %rcx, %rax # pList, tmp94 addq $8, %rax #, tmp95 movl (%rax), %esi # .cLoc, D.5229 movl -12(%rbp), %edx # cKing, cKing movq -24(%rbp), %rdi # pos, pos call _ExposesCheck # movl %eax, -4(%rbp) # D.5230, c movl -4(%rbp), %eax # c, D.5233 andl $136, %eax #, D.5233 testl %eax, %eax # D.5233 jne L60 #, movl -4(%rbp), %eax # c, c cmpl -60(%rbp), %eax # cIgnore, c jne L57 #, L60: movl -64(%rbp), %eax # x, x.41 movq -40(%rbp), %rcx # pList, pList mov %eax, %edx # x.41, x.41 movq %rdx, %rax # x.41, x.41 addq %rax, %rax # x.41 addq %rdx, %rax # x.41, x.41 salq $2, %rax #, tmp102 addq %rcx, %rax # pList, tmp103 addq $8, %rax #, tmp104 movl (%rax), %edx # .cLoc, D.5235 movq -56(%rbp), %rax # pc, pc movl %edx, (%rax) # D.5235,* pc movq -40(%rbp), %rdi # pList, pList movl -64(%rbp), %esi # x, x call __RemoveItem # movl -8(%rbp), %eax # p, movl %eax, -68(%rbp) #, D.5226 jmp L59 # L57: incl -64(%rbp) # x L53: movq -40(%rbp), %rax # pList, pList movl (%rax), %eax # .uCount, D.5236 cmpl -64(%rbp), %eax # x, D.5236 ja L54 #, movl $0, -68(%rbp) #, D.5226 L59: movl -68(%rbp), %eax # D.5226, leave ret LFE39: __AddXRays: LFB40: pushq %rbp # LCFI20: movq %rsp, %rbp #, LCFI21: subq $64, %rsp #, LCFI22: movq %rdi, -24(%rbp) # pos, pos movl %esi, -28(%rbp) # iAttackerColor, iAttackerColor movl %edx, -32(%rbp) # cTarget, cTarget movl %ecx, -36(%rbp) # cObstacle, cObstacle movq %r8, -48(%rbp) # pAttacks, pAttacks movq %r9, -56(%rbp) # pDefends, pDefends movl -32(%rbp), %edx # cTarget, cTarget.42 movl -36(%rbp), %eax # cObstacle, cObstacle.43 movl %edx, %ecx # cTarget.42, subl %eax, %ecx # cObstacle.43, movl %ecx, %eax #, tmp118 movl %eax, -4(%rbp) # tmp118, iIndex movl -4(%rbp), %eax # iIndex, iIndex cltq salq $2, %rax #, D.5262 movq %rax, %rdx # D.5262, D.5263 movq _g_pVectorDelta@GOTPCREL(%rip), %rax #, tmp120 movq (%rax), %rax # g_pVectorDelta, g_pVectorDelta.44 leaq (%rdx,%rax), %rax #, D.5265 movzbl (%rax), %eax # .iVector, D.5266 movzbl %al, %eax # D.5266, D.5267 shrl $5, %eax #, D.5268 xorl $1, %eax #, D.5269 andl $1, %eax #, D.5271 testb %al, %al # D.5272 jne L74 #, movl -4(%rbp), %eax # iIndex, iIndex cltq salq $2, %rax #, D.5274 movq %rax, %rdx # D.5274, D.5275 movq _g_pVectorDelta@GOTPCREL(%rip), %rax #, tmp122 movq (%rax), %rax # g_pVectorDelta, g_pVectorDelta.45 leaq (%rdx,%rax), %rax #, D.5277 movzbl 2(%rax), %eax # .iDelta, D.5278 movsbl %al,%eax # D.5278, D.5278 movl %eax, -16(%rbp) # D.5278, iDelta movl -16(%rbp), %eax # iDelta, iDelta.46 addl -36(%rbp), %eax # cObstacle, tmp124 movl %eax, -12(%rbp) # tmp124, cIndex jmp L67 # L68: movl -12(%rbp), %eax # cIndex, cIndex.47 movq -24(%rbp), %rdx # pos, pos mov %eax, %eax # cIndex.47, cIndex.47 movl (%rdx,%rax,8), %eax # .D.2182.pPiece, .D.2182.pPiece movl %eax, -8(%rbp) # .D.2182.pPiece, xPiece cmpl $0, -8(%rbp) #, xPiece je L69 #, movl -12(%rbp), %edx # cIndex, cIndex.48 movl -32(%rbp), %eax # cTarget, cTarget.49 movl %edx, %ecx # cIndex.48, subl %eax, %ecx # cTarget.49, movl %ecx, %eax #, D.5283 cltq salq $2, %rax #, D.5285 movq %rax, %rdx # D.5285, D.5286 movq _g_pVectorDelta@GOTPCREL(%rip), %rax #, tmp128 movq (%rax), %rax # g_pVectorDelta, g_pVectorDelta.50 addq %rax, %rdx # g_pVectorDelta.50, D.5288 movl -8(%rbp), %eax # xPiece, D.5289 andl $1, %eax #, D.5289 mov %eax, %eax # D.5289, D.5289 movzbl (%rdx,%rax), %eax # .iVector, D.5290 movzbl %al, %edx # D.5290, D.5291 movl -8(%rbp), %eax # xPiece, xPiece shrl %eax # D.5292 movl %eax, %ecx # D.5292, D.5293 movl %edx, %eax # D.5291, D.5294 sarl %cl, %eax # D.5293, D.5294 andl $1, %eax #, D.5295 testb %al, %al # D.5296 je L74 #, movl -8(%rbp), %edx # xPiece, D.5297 andl $1, %edx #, D.5297 movl -28(%rbp), %eax # iAttackerColor, iAttackerColor.51 cmpl %eax, %edx # iAttackerColor.51, D.5297 jne L72 #, movq -48(%rbp), %rax # pAttacks, pAttacks movl (%rax), %eax # .uCount, D.5299 movq -48(%rbp), %rcx # pAttacks, pAttacks mov %eax, %edx # D.5299, D.5299 movq %rdx, %rax # D.5299, D.5299 addq %rax, %rax # D.5299 addq %rdx, %rax # D.5299, D.5299 salq $2, %rax #, tmp135 addq %rcx, %rax # pAttacks, tmp136 leaq 4(%rax), %rdx #, tmp137 movl -8(%rbp), %eax # xPiece, xPiece movl %eax, (%rdx) # xPiece, .pPiece movq -48(%rbp), %rax # pAttacks, pAttacks movl (%rax), %eax # .uCount, D.5300 movq -48(%rbp), %rcx # pAttacks, pAttacks mov %eax, %edx # D.5300, D.5300 movq %rdx, %rax # D.5300, D.5300 addq %rax, %rax # D.5300 addq %rdx, %rax # D.5300, D.5300 salq $2, %rax #, tmp143 addq %rcx, %rax # pAttacks, tmp144 leaq 8(%rax), %rdx #, tmp145 movl -12(%rbp), %eax # cIndex, cIndex movl %eax, (%rdx) # cIndex, .cLoc movq -48(%rbp), %rax # pAttacks, pAttacks movl (%rax), %edi # .uCount, D.5301 movl -8(%rbp), %eax # xPiece, xPiece shrl %eax # D.5302 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp149 mov %eax, %edx # D.5302, D.5302 movq %rdx, %rax # D.5302, D.5302 addq %rax, %rax # D.5302 addq %rdx, %rax # D.5302, D.5302 salq $3, %rax #, tmp152 movl (%rax,%rcx), %ecx # .uValue, D.5303 movq -48(%rbp), %rsi # pAttacks, pAttacks mov %edi, %edx # D.5301, D.5301 movq %rdx, %rax # D.5301, D.5301 addq %rax, %rax # D.5301 addq %rdx, %rax # D.5301, D.5301 salq $2, %rax #, tmp156 addq %rsi, %rax # pAttacks, tmp157 addq $12, %rax #, tmp158 movl %ecx, (%rax) # D.5303, .uVal movq -48(%rbp), %rax # pAttacks, pAttacks movl (%rax), %eax # .uCount, D.5304 leal 1(%rax), %edx #, D.5305 movq -48(%rbp), %rax # pAttacks, pAttacks movl %edx, (%rax) # D.5305, .uCount movq -48(%rbp), %rax # pAttacks, pAttacks movl (%rax), %eax # .uCount, D.5306 leal -1(%rax), %esi #, D.5307 movq -48(%rbp), %rdi # pAttacks, pAttacks call __BubbleUp # jmp L74 # L72: movq -56(%rbp), %rax # pDefends, pDefends movl (%rax), %eax # .uCount, D.5308 movq -56(%rbp), %rcx # pDefends, pDefends mov %eax, %edx # D.5308, D.5308 movq %rdx, %rax # D.5308, D.5308 addq %rax, %rax # D.5308 addq %rdx, %rax # D.5308, D.5308 salq $2, %rax #, tmp167 addq %rcx, %rax # pDefends, tmp168 leaq 4(%rax), %rdx #, tmp169 movl -8(%rbp), %eax # xPiece, xPiece movl %eax, (%rdx) # xPiece, .pPiece movq -56(%rbp), %rax # pDefends, pDefends movl (%rax), %eax # .uCount, D.5309 movq -56(%rbp), %rcx # pDefends, pDefends mov %eax, %edx # D.5309, D.5309 movq %rdx, %rax # D.5309, D.5309 addq %rax, %rax # D.5309 addq %rdx, %rax # D.5309, D.5309 salq $2, %rax #, tmp175 addq %rcx, %rax # pDefends, tmp176 leaq 8(%rax), %rdx #, tmp177 movl -12(%rbp), %eax # cIndex, cIndex movl %eax, (%rdx) # cIndex, .cLoc movq -56(%rbp), %rax # pDefends, pDefends movl (%rax), %edi # .uCount, D.5310 movl -8(%rbp), %eax # xPiece, xPiece shrl %eax # D.5311 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp181 mov %eax, %edx # D.5311, D.5311 movq %rdx, %rax # D.5311, D.5311 addq %rax, %rax # D.5311 addq %rdx, %rax # D.5311, D.5311 salq $3, %rax #, tmp184 movl (%rax,%rcx), %ecx # .uValue, D.5312 movq -56(%rbp), %rsi # pDefends, pDefends mov %edi, %edx # D.5310, D.5310 movq %rdx, %rax # D.5310, D.5310 addq %rax, %rax # D.5310 addq %rdx, %rax # D.5310, D.5310 salq $2, %rax #, tmp188 addq %rsi, %rax # pDefends, tmp189 addq $12, %rax #, tmp190 movl %ecx, (%rax) # D.5312, .uVal movq -56(%rbp), %rax # pDefends, pDefends movl (%rax), %eax # .uCount, D.5313 leal 1(%rax), %edx #, D.5314 movq -56(%rbp), %rax # pDefends, pDefends movl %edx, (%rax) # D.5314, .uCount movq -56(%rbp), %rax # pDefends, pDefends movl (%rax), %eax # .uCount, D.5315 leal -1(%rax), %esi #, D.5316 movq -56(%rbp), %rdi # pDefends, pDefends call __BubbleUp # jmp L74 # L69: movl -16(%rbp), %edx # iDelta, iDelta.52 leaq -12(%rbp), %rax #, tmp196 addl %edx, (%rax) # iDelta.52, cIndex L67: movl -12(%rbp), %eax # cIndex, D.5318 andl $136, %eax #, D.5318 testl %eax, %eax # D.5318 je L68 #, L74: leave ret LFE40: .data .align 4 __Table.5343: .long 0 .long 0 .long 1 .long 1 .long 0 .long 0 .text .globl _SEE _SEE: LFB41: pushq %rbp # LCFI23: movq %rsp, %rbp #, LCFI24: subq $592, %rsp #, LCFI25: movq %rdi, -584(%rbp) # pos, pos movl %esi, -588(%rbp) # mv, mv movl -588(%rbp), %eax #, tmp194 shrl $16, %eax #, tmp193 andl $15, %eax #, D.5349 movzbl %al, %eax # D.5349, D.5350 andl $1, %eax #, tmp195 movl %eax, -20(%rbp) # tmp195, uWhoseTurn movl -20(%rbp), %eax # uWhoseTurn, uWhoseTurn movl %eax, -16(%rbp) # uWhoseTurn, uOrig movl $1, -12(%rbp) #, iSign movzbl -588(%rbp), %eax # mv.D.2138.cFrom, D.5351 movzbl %al, %eax # D.5351, D.5352 movl %eax, -564(%rbp) # D.5352, cFrom movzbl -587(%rbp), %eax # mv.D.2138.cTo, D.5353 movzbl %al, %edx # D.5353, D.5354 mov -20(%rbp), %eax # uWhoseTurn, D.5355 imulq $196, %rax, %rax #, D.5355, D.5356 leaq -432(%rbp), %rdi #, D.5358 addq %rax, %rdi # D.5357, D.5358 movl -20(%rbp), %ecx # uWhoseTurn, uWhoseTurn movq -584(%rbp), %rsi # pos, pos call _GetAttacks # movl -20(%rbp), %ecx # uWhoseTurn, D.5359 xorl $1, %ecx #, D.5359 movzbl -587(%rbp), %eax # mv.D.2138.cTo, D.5360 movzbl %al, %edx # D.5360, D.5361 movl -20(%rbp), %eax # uWhoseTurn, D.5362 xorl $1, %eax #, D.5362 mov %eax, %eax # D.5362, D.5363 imulq $196, %rax, %rax #, D.5363, D.5364 leaq -432(%rbp), %rdi #, D.5366 addq %rax, %rdi # D.5365, D.5366 movq -584(%rbp), %rsi # pos, pos call _GetAttacks # movl -20(%rbp), %eax # uWhoseTurn, D.5367 xorl $1, %eax #, D.5367 mov %eax, %eax # D.5367, D.5368 imulq $196, %rax, %rax #, D.5368, D.5369 leaq -432(%rbp), %rdi #, D.5371 addq %rax, %rdi # D.5370, D.5371 call __BuildHeap # mov -20(%rbp), %eax # uWhoseTurn, D.5372 imulq $196, %rax, %rax #, D.5372, D.5373 leaq -432(%rbp), %rdi #, D.5375 addq %rax, %rdi # D.5374, D.5375 call __BuildHeap # movl -588(%rbp), %eax #, tmp202 shrl $20, %eax #, tmp201 andl $15, %eax #, D.5376 movzbl %al, %eax # D.5376, D.5377 sarl %eax # D.5378 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp203 movslq %eax,%rdx # D.5378, D.5378 movq %rdx, %rax # D.5378, D.5378 addq %rax, %rax # D.5378 addq %rdx, %rax # D.5378, D.5378 salq $3, %rax #, tmp206 movl (%rax,%rcx), %esi # .uValue, D.5379 movl -588(%rbp), %eax #, tmp209 shrl $24, %eax #, tmp208 andl $15, %eax #, D.5380 movzbl %al, %eax # D.5380, D.5381 sarl %eax # D.5382 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp210 movslq %eax,%rdx # D.5382, D.5382 movq %rdx, %rax # D.5382, D.5382 addq %rax, %rax # D.5382 addq %rdx, %rax # D.5382, D.5382 salq $3, %rax #, tmp213 movl (%rax,%rcx), %eax # .uValue, D.5383 leal (%rsi,%rax), %eax #, D.5384 movl %eax, -560(%rbp) # D.5385, rgiList movl -588(%rbp), %eax #, tmp216 shrl $16, %eax #, tmp215 andl $15, %eax #, D.5386 movzbl %al, %eax # D.5386, D.5387 sarl %eax # D.5388 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp217 movslq %eax,%rdx # D.5388, D.5388 movq %rdx, %rax # D.5388, D.5388 addq %rax, %rax # D.5388 addq %rdx, %rax # D.5388, D.5388 salq $3, %rax #, tmp220 movl (%rax,%rcx), %esi # .uValue, D.5389 movl -588(%rbp), %eax #, tmp223 shrl $24, %eax #, tmp222 andl $15, %eax #, D.5390 movzbl %al, %eax # D.5390, D.5391 sarl %eax # D.5392 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp224 movslq %eax,%rdx # D.5392, D.5392 movq %rdx, %rax # D.5392, D.5392 addq %rax, %rax # D.5392 addq %rdx, %rax # D.5392, D.5392 salq $3, %rax #, tmp227 movl (%rax,%rcx), %eax # .uValue, D.5393 leal (%rsi,%rax), %eax #, tmp228 movl %eax, -28(%rbp) # tmp228, uInPeril movl $1, -24(%rbp) #, uListIndex movzbl -588(%rbp), %eax # mv.D.2138.cFrom, D.5394 movzbl %al, %esi # D.5394, D.5395 mov -20(%rbp), %eax # uWhoseTurn, D.5396 imulq $196, %rax, %rax #, D.5396, D.5397 leaq -432(%rbp), %rdi #, D.5399 addq %rax, %rdi # D.5398, D.5399 call __ClearPieceByLocation # movl -20(%rbp), %eax # uWhoseTurn, D.5400 xorl $1, %eax #, D.5400 mov %eax, %eax # D.5400, D.5401 imulq $196, %rax, %rax #, D.5401, D.5402 leaq -432(%rbp), %rcx #, D.5404 addq %rax, %rcx # D.5403, D.5404 mov -20(%rbp), %eax # uWhoseTurn, D.5405 imulq $196, %rax, %rax #, D.5405, D.5406 leaq -432(%rbp), %rdx #, D.5408 addq %rax, %rdx # D.5407, D.5408 movzbl -588(%rbp), %eax # mv.D.2138.cFrom, D.5409 movzbl %al, %esi # D.5409, D.5410 movzbl -587(%rbp), %eax # mv.D.2138.cTo, D.5411 movzbl %al, %eax # D.5411, D.5412 movl -20(%rbp), %edi # uWhoseTurn, uWhoseTurn.53 movq -584(%rbp), %r10 # pos, pos movq %rcx, %r9 # D.5404, D.5404 movq %rdx, %r8 # D.5408, D.5408 movl %esi, %ecx # D.5410, D.5410 movl %eax, %edx # D.5412, D.5412 movl %edi, %esi # uWhoseTurn.53, uWhoseTurn.53 movq %r10, %rdi # pos, pos call __AddXRays # jmp L76 # L85: movl -32(%rbp), %eax # pPiece, D.5425 andl $14, %eax #, D.5425 cmpl $2, %eax #, D.5425 sete %al #, tmp233 movzbl %al, %ecx # tmp233, D.5426 movzbl -587(%rbp), %eax # mv.D.2138.cTo, D.5427 movzbl %al, %eax # D.5427, D.5428 andl $240, %eax #, D.5429 cmpl $112, %eax #, D.5429 sete %dl #, D.5430 movzbl -587(%rbp), %eax # mv.D.2138.cTo, D.5431 movzbl %al, %eax # D.5431, D.5432 andl $240, %eax #, D.5433 testl %eax, %eax # D.5433 sete %al #, D.5434 orl %edx, %eax # D.5430, D.5435 movzbl %al, %eax # D.5435, D.5436 andl %ecx, %eax # D.5426, D.5437 movl %eax, -8(%rbp) # D.5437, uPromValue movl -8(%rbp), %edx # uPromValue, uPromValue movl %edx, %eax # uPromValue, uPromValue sall $4, %eax #, tmp236 subl %edx, %eax # uPromValue, tmp236 movl %eax, %edx # tmp236, tmp237 sall $6, %edx #, tmp237 addl %edx, %eax # tmp237, tmp238 movl %eax, -8(%rbp) # tmp238, uPromValue movl -24(%rbp), %esi # uListIndex, uListIndex.55 movl -24(%rbp), %eax # uListIndex, D.5439 decl %eax # D.5439 mov %eax, %eax # D.5439, D.5439 movl -560(%rbp,%rax,4), %eax # rgiList, D.5440 movl %eax, %ecx # D.5440, D.5441 movl -8(%rbp), %eax # uPromValue, uPromValue movl -28(%rbp), %edx # uInPeril, D.5442 addl %eax, %edx # uPromValue, D.5442 movl -12(%rbp), %eax # iSign, iSign.56 imull %edx, %eax # D.5442, D.5444 leal (%rcx,%rax), %eax #, D.5445 movl %eax, %edx # D.5445, D.5446 mov %esi, %eax # uListIndex.55, uListIndex.55 movl %edx, -560(%rbp,%rax,4) # D.5446, rgiList leaq -24(%rbp), %rax #, tmp274 incl (%rax) # uListIndex movl -32(%rbp), %eax # pPiece, pPiece shrl %eax # D.5447 movq _g_PieceData@GOTPCREL(%rip), %rcx #, tmp243 mov %eax, %edx # D.5447, D.5447 movq %rdx, %rax # D.5447, D.5447 addq %rax, %rax # D.5447 addq %rdx, %rax # D.5447, D.5447 salq $3, %rax #, tmp246 movl (%rax,%rcx), %eax # .uValue, D.5448 addl -8(%rbp), %eax # uPromValue, tmp247 movl %eax, -28(%rbp) # tmp247, uInPeril movl -16(%rbp), %eax # uOrig, D.5449 xorl $1, %eax #, D.5449 mov %eax, %eax # D.5449, D.5450 imulq $196, %rax, %rax #, D.5450, D.5451 leaq -432(%rbp), %rcx #, D.5453 addq %rax, %rcx # D.5452, D.5453 mov -16(%rbp), %eax # uOrig, D.5454 imulq $196, %rax, %rax #, D.5454, D.5455 leaq -432(%rbp), %rdx #, D.5457 addq %rax, %rdx # D.5456, D.5457 movl -564(%rbp), %r10d # cFrom, cFrom.57 movzbl -587(%rbp), %eax # mv.D.2138.cTo, D.5459 movzbl %al, %esi # D.5459, D.5460 movl -588(%rbp), %eax #, tmp250 shrl $16, %eax #, tmp249 andl $15, %eax #, D.5461 movzbl %al, %eax # D.5461, D.5462 andl $1, %eax #, D.5463 movq -584(%rbp), %rdi # pos, pos movq %rcx, %r9 # D.5453, D.5453 movq %rdx, %r8 # D.5457, D.5457 movl %r10d, %ecx # cFrom.57, cFrom.57 movl %esi, %edx # D.5460, D.5460 movl %eax, %esi # D.5463, D.5463 call __AddXRays # L76: leaq -20(%rbp), %rax #, tmp270 xorl $1, (%rax) #, uWhoseTurn leaq -12(%rbp), %rax #, tmp272 negl (%rax) # iSign movl -564(%rbp), %r8d # cFrom, cFrom.54 movl -20(%rbp), %eax # uWhoseTurn, D.5415 xorl $1, %eax #, D.5415 mov %eax, %eax # D.5415, D.5416 imulq $196, %rax, %rax #, D.5416, D.5417 leaq -432(%rbp), %rcx #, D.5419 addq %rax, %rcx # D.5418, D.5419 mov -20(%rbp), %eax # uWhoseTurn, D.5420 imulq $196, %rax, %rax #, D.5420, D.5421 leaq -432(%rbp), %rdx #, D.5423 addq %rax, %rdx # D.5422, D.5423 leaq -564(%rbp), %rax #, tmp230 movl -20(%rbp), %esi # uWhoseTurn, uWhoseTurn movq -584(%rbp), %rdi # pos, pos movl %r8d, %r9d # cFrom.54, cFrom.54 movq %rax, %r8 # tmp230, call __MinLegalPiece # movl %eax, -32(%rbp) # D.5424, pPiece cmpl $0, -32(%rbp) #, pPiece jne L85 #, L77: leaq -24(%rbp), %rax #, tmp276 decl (%rax) # uListIndex jmp L79 # L80: movl -24(%rbp), %eax # uListIndex, tmp252 andl $1, %eax #, tmp252 movl %eax, -4(%rbp) # tmp252, uVal movl -24(%rbp), %eax # uListIndex, uListIndex.58 mov %eax, %eax # uListIndex.58, uListIndex.58 movl -560(%rbp,%rax,4), %edx # rgiList, D.5465 movl -24(%rbp), %eax # uListIndex, D.5466 decl %eax # D.5466 mov %eax, %eax # D.5466, D.5466 movl -560(%rbp,%rax,4), %eax # rgiList, D.5467 cmpl %eax, %edx # D.5467, D.5465 setg %al #, tmp255 movzbl %al, %ecx # tmp255, D.5468 movl -24(%rbp), %eax # uListIndex, uListIndex.59 mov %eax, %eax # uListIndex.59, uListIndex.59 movl -560(%rbp,%rax,4), %edx # rgiList, D.5470 movl -24(%rbp), %eax # uListIndex, D.5471 decl %eax # D.5471 mov %eax, %eax # D.5471, D.5471 movl -560(%rbp,%rax,4), %eax # rgiList, D.5472 cmpl %eax, %edx # D.5472, D.5470 setl %al #, tmp258 movzbl %al, %eax # tmp258, D.5473 movl %ecx, %edx # D.5468, subl %eax, %edx # D.5473, movl %edx, %eax #, D.5474 incl %eax # tmp259 movl %eax, -12(%rbp) # tmp259, iSign movl -4(%rbp), %eax # uVal, uVal.60 movl -12(%rbp), %edx # iSign, iSign.61 mov %eax, %ecx # uVal.60, uVal.60 movslq %edx,%rdx # iSign.61, iSign.61 movq %rcx, %rax # uVal.60, uVal.60 addq %rax, %rax # uVal.60 addq %rcx, %rax # uVal.60, uVal.60 addq %rdx, %rax # iSign.61, tmp263 leaq 0(,%rax,4), %rdx #, tmp264 leaq __Table.5343(%rip), %rax #, tmp265 movl (%rdx,%rax), %eax # _Table, D.5477 cmpl $1, %eax #, D.5477 jne L81 #, movl -24(%rbp), %ecx # uListIndex, D.5478 decl %ecx # D.5478 movl -24(%rbp), %eax # uListIndex, uListIndex.62 mov %eax, %eax # uListIndex.62, uListIndex.62 movl -560(%rbp,%rax,4), %edx # rgiList, D.5480 mov %ecx, %eax # D.5478, D.5478 movl %edx, -560(%rbp,%rax,4) # D.5480, rgiList L81: leaq -24(%rbp), %rax #, tmp278 decl (%rax) # uListIndex L79: cmpl $0, -24(%rbp) #, uListIndex jne L80 #, movl -560(%rbp), %eax # rgiList, D.5481 leave ret LFE41: .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support EH_frame1: .set L$set$0,LECIE1-LSCIE1 .long L$set$0 LSCIE1: .long 0x0 .byte 0x1 .ascii "zR\0" .byte 0x1 .byte 0x78 .byte 0x10 .byte 0x1 .byte 0x10 .byte 0xc .byte 0x7 .byte 0x8 .byte 0x90 .byte 0x1 .align 3 LECIE1: .globl _SlowGetAttacks.eh _SlowGetAttacks.eh: LSFDE1: .set L$set$1,LEFDE1-LASFDE1 .long L$set$1 LASFDE1: .long LASFDE1-EH_frame1 .quad LFB33-. .set L$set$2,LFE33-LFB33 .quad L$set$2 .byte 0x0 .byte 0x4 .set L$set$3,LCFI0-LFB33 .long L$set$3 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$4,LCFI1-LCFI0 .long L$set$4 .byte 0xd .byte 0x6 .align 3 LEFDE1: __PushDown.eh: LSFDE3: .set L$set$5,LEFDE3-LASFDE3 .long L$set$5 LASFDE3: .long LASFDE3-EH_frame1 .quad LFB34-. .set L$set$6,LFE34-LFB34 .quad L$set$6 .byte 0x0 .byte 0x4 .set L$set$7,LCFI2-LFB34 .long L$set$7 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$8,LCFI3-LCFI2 .long L$set$8 .byte 0xd .byte 0x6 .align 3 LEFDE3: __BuildHeap.eh: LSFDE5: .set L$set$9,LEFDE5-LASFDE5 .long L$set$9 LASFDE5: .long LASFDE5-EH_frame1 .quad LFB35-. .set L$set$10,LFE35-LFB35 .quad L$set$10 .byte 0x0 .byte 0x4 .set L$set$11,LCFI5-LFB35 .long L$set$11 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$12,LCFI6-LCFI5 .long L$set$12 .byte 0xd .byte 0x6 .align 3 LEFDE5: __BubbleUp.eh: LSFDE7: .set L$set$13,LEFDE7-LASFDE7 .long L$set$13 LASFDE7: .long LASFDE7-EH_frame1 .quad LFB36-. .set L$set$14,LFE36-LFB36 .quad L$set$14 .byte 0x0 .byte 0x4 .set L$set$15,LCFI8-LFB36 .long L$set$15 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$16,LCFI9-LCFI8 .long L$set$16 .byte 0xd .byte 0x6 .align 3 LEFDE7: __ClearPieceByLocation.eh: LSFDE9: .set L$set$17,LEFDE9-LASFDE9 .long L$set$17 LASFDE9: .long LASFDE9-EH_frame1 .quad LFB38-. .set L$set$18,LFE38-LFB38 .quad L$set$18 .byte 0x0 .byte 0x4 .set L$set$19,LCFI11-LFB38 .long L$set$19 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$20,LCFI12-LCFI11 .long L$set$20 .byte 0xd .byte 0x6 .align 3 LEFDE9: __RemoveItem.eh: LSFDE11: .set L$set$21,LEFDE11-LASFDE11 .long L$set$21 LASFDE11: .long LASFDE11-EH_frame1 .quad LFB37-. .set L$set$22,LFE37-LFB37 .quad L$set$22 .byte 0x0 .byte 0x4 .set L$set$23,LCFI14-LFB37 .long L$set$23 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$24,LCFI15-LCFI14 .long L$set$24 .byte 0xd .byte 0x6 .align 3 LEFDE11: __MinLegalPiece.eh: LSFDE13: .set L$set$25,LEFDE13-LASFDE13 .long L$set$25 LASFDE13: .long LASFDE13-EH_frame1 .quad LFB39-. .set L$set$26,LFE39-LFB39 .quad L$set$26 .byte 0x0 .byte 0x4 .set L$set$27,LCFI17-LFB39 .long L$set$27 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$28,LCFI18-LCFI17 .long L$set$28 .byte 0xd .byte 0x6 .align 3 LEFDE13: __AddXRays.eh: LSFDE15: .set L$set$29,LEFDE15-LASFDE15 .long L$set$29 LASFDE15: .long LASFDE15-EH_frame1 .quad LFB40-. .set L$set$30,LFE40-LFB40 .quad L$set$30 .byte 0x0 .byte 0x4 .set L$set$31,LCFI20-LFB40 .long L$set$31 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$32,LCFI21-LCFI20 .long L$set$32 .byte 0xd .byte 0x6 .align 3 LEFDE15: .globl _SEE.eh _SEE.eh: LSFDE17: .set L$set$33,LEFDE17-LASFDE17 .long L$set$33 LASFDE17: .long LASFDE17-EH_frame1 .quad LFB41-. .set L$set$34,LFE41-LFB41 .quad L$set$34 .byte 0x0 .byte 0x4 .set L$set$35,LCFI23-LFB41 .long L$set$35 .byte 0xe .byte 0x10 .byte 0x86 .byte 0x2 .byte 0x4 .set L$set$36,LCFI24-LCFI23 .long L$set$36 .byte 0xd .byte 0x6 .align 3 LEFDE17: .subsections_via_symbols