Update codebase to remove clang warnings (and a couple of legit errors
[typhoon.git] / src / see.s
1 # GNU C version 4.0.1 (Apple Inc. build 5465) (i686-apple-darwin9)
2 #       compiled by GNU C version 4.0.1 (Apple Inc. build 5465).
3 # GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
4 # options passed:  -D__DYNAMIC__ -fPIC -mmacosx-version-min=10.5.1 -m64
5 # -mtune=generic -march=apple -auxbase -fverbose-asm
6 # options enabled:  -fPIC -falign-jumps-max-skip -falign-loops
7 # -falign-loops-max-skip -fargument-alias -fasynchronous-unwind-tables
8 # -fbranch-count-reg -fcommon -feliminate-unused-debug-types -ffunction-cse
9 # -fgcse-lm -fident -fivopts -fkeep-static-consts -fleading-underscore
10 # -flocal-alloc -floop-optimize2 -fpeephole -freg-struct-return
11 # -fsched-interblock -fsched-spec -fsched-stalled-insns-dep
12 # -fsplit-ivs-in-unroller -ftree-loop-im -ftree-loop-ivcanon
13 # -ftree-loop-optimize -funwind-tables -fverbose-asm
14 # -fzero-initialized-in-bss -m80387 -mhard-float -mno-soft-float -mieee-fp
15 # -mfp-ret-in-387 -maccumulate-outgoing-args -mmmx -msse -msse2 -msse3
16 # -m128bit-long-double -m64 -mtune=generic64 -march=apple
17 # -mmacosx-version-min=10.5.1
18
19 # Compiler executable checksum: 0a7d9e41e786877ed5cbeb90e063cdab
20
21         .data
22         .align 2
23 _iSeeDelta.5028:
24         .long   -17
25         .long   15
26         .align 2
27 _pPawn.5027:
28         .long   2
29         .long   3
30         .text
31 .globl _SlowGetAttacks
32 _SlowGetAttacks:
33 LFB33:
34         pushq   %rbp    #
35 LCFI0:
36         movq    %rsp, %rbp      #,
37 LCFI1:
38         movq    %rdi, -40(%rbp) # pList, pList
39         movq    %rsi, -48(%rbp) # pos, pos
40         movl    %edx, -52(%rbp) # cSquare, cSquare
41         movl    %ecx, -56(%rbp) # uSide, uSide
42         movq    -40(%rbp), %rax # pList, pList
43         movl    $0, (%rax)      #, <variable>.uCount
44         movl    -56(%rbp), %eax # uSide, uSide.5
45         mov     %eax, %eax      # uSide.5, uSide.5
46         leaq    0(,%rax,4), %rdx        #, tmp125
47         leaq    _iSeeDelta.5028(%rip), %rax     #, tmp126
48         movl    (%rdx,%rax), %eax       # iSeeDelta, D.5038
49         addl    -52(%rbp), %eax # cSquare, tmp127
50         movl    %eax, -16(%rbp) # tmp127, c
51         movl    -16(%rbp), %eax # c, D.5040
52         andl    $136, %eax      #, D.5040
53         testl   %eax, %eax      # D.5040
54         jne     L2      #,
55         movl    -16(%rbp), %eax # c, c.6
56         movq    -48(%rbp), %rdx # pos, pos
57         mov     %eax, %eax      # c.6, c.6
58         movl    (%rdx,%rax,8), %eax     # <variable>.D.2182.pPiece, <variable>.D.2182.pPiece
59         movl    %eax, -20(%rbp) # <variable>.D.2182.pPiece, p
60         movl    -56(%rbp), %eax # uSide, uSide.7
61         mov     %eax, %eax      # uSide.7, uSide.7
62         leaq    0(,%rax,4), %rdx        #, tmp132
63         leaq    _pPawn.5027(%rip), %rax #, tmp133
64         movl    (%rdx,%rax), %eax       # pPawn, D.5043
65         cmpl    -20(%rbp), %eax # p, D.5043
66         jne     L2      #,
67         movq    -40(%rbp), %rdx # pList, pList
68         movl    -20(%rbp), %eax # p, p
69         movl    %eax, 4(%rdx)   # p, <variable>.pPiece
70         movq    -40(%rbp), %rdx # pList, pList
71         movl    -16(%rbp), %eax # c, c
72         movl    %eax, 8(%rdx)   # c, <variable>.cLoc
73         movq    -40(%rbp), %rax # pList, pList
74         movl    $100, 12(%rax)  #, <variable>.uVal
75         movq    -40(%rbp), %rax # pList, pList
76         movl    $1, (%rax)      #, <variable>.uCount
77 L2:
78         leaq    -16(%rbp), %rax #, tmp258
79         addl    $2, (%rax)      #, c
80         movl    -16(%rbp), %eax # c, D.5044
81         andl    $136, %eax      #, D.5044
82         testl   %eax, %eax      # D.5044
83         jne     L5      #,
84         movl    -16(%rbp), %eax # c, c.8
85         movq    -48(%rbp), %rdx # pos, pos
86         mov     %eax, %eax      # c.8, c.8
87         movl    (%rdx,%rax,8), %eax     # <variable>.D.2182.pPiece, <variable>.D.2182.pPiece
88         movl    %eax, -20(%rbp) # <variable>.D.2182.pPiece, p
89         movl    -56(%rbp), %eax # uSide, uSide.9
90         mov     %eax, %eax      # uSide.9, uSide.9
91         leaq    0(,%rax,4), %rdx        #, tmp144
92         leaq    _pPawn.5027(%rip), %rax #, tmp145
93         movl    (%rdx,%rax), %eax       # pPawn, D.5047
94         cmpl    -20(%rbp), %eax # p, D.5047
95         jne     L5      #,
96         movq    -40(%rbp), %rax # pList, pList
97         movl    (%rax), %eax    # <variable>.uCount, D.5048
98         movq    -40(%rbp), %rcx # pList, pList
99         mov     %eax, %edx      # D.5048, D.5048
100         movq    %rdx, %rax      # D.5048, D.5048
101         addq    %rax, %rax      # D.5048
102         addq    %rdx, %rax      # D.5048, D.5048
103         salq    $2, %rax        #, tmp150
104         addq    %rcx, %rax      # pList, tmp151
105         leaq    4(%rax), %rdx   #, tmp152
106         movl    -20(%rbp), %eax # p, p
107         movl    %eax, (%rdx)    # p, <variable>.pPiece
108         movq    -40(%rbp), %rax # pList, pList
109         movl    (%rax), %eax    # <variable>.uCount, D.5049
110         movq    -40(%rbp), %rcx # pList, pList
111         mov     %eax, %edx      # D.5049, D.5049
112         movq    %rdx, %rax      # D.5049, D.5049
113         addq    %rax, %rax      # D.5049
114         addq    %rdx, %rax      # D.5049, D.5049
115         salq    $2, %rax        #, tmp158
116         addq    %rcx, %rax      # pList, tmp159
117         leaq    8(%rax), %rdx   #, tmp160
118         movl    -16(%rbp), %eax # c, c
119         movl    %eax, (%rdx)    # c, <variable>.cLoc
120         movq    -40(%rbp), %rax # pList, pList
121         movl    (%rax), %eax    # <variable>.uCount, D.5050
122         movq    -40(%rbp), %rcx # pList, pList
123         mov     %eax, %edx      # D.5050, D.5050
124         movq    %rdx, %rax      # D.5050, D.5050
125         addq    %rax, %rax      # D.5050
126         addq    %rdx, %rax      # D.5050, D.5050
127         salq    $2, %rax        #, tmp166
128         addq    %rcx, %rax      # pList, tmp167
129         addq    $12, %rax       #, tmp168
130         movl    $100, (%rax)    #, <variable>.uVal
131         movq    -40(%rbp), %rax # pList, pList
132         movl    (%rax), %eax    # <variable>.uCount, D.5051
133         leal    1(%rax), %edx   #, D.5052
134         movq    -40(%rbp), %rax # pList, pList
135         movl    %edx, (%rax)    # D.5052, <variable>.uCount
136 L5:
137         movl    -56(%rbp), %eax # uSide, uSide.10
138         movq    -48(%rbp), %rdx # pos, pos
139         mov     %eax, %eax      # uSide.10, uSide.10
140         salq    $5, %rax        #, tmp173
141         addq    %rdx, %rax      # pos, tmp174
142         addq    $1280, %rax     #, tmp175
143         movl    (%rax), %eax    # <variable>.uNonPawnCount, D.5054
144         decl    %eax    #
145         movl    %eax, -60(%rbp) #, x
146         jmp     L8      #
147 L9:
148         movl    -56(%rbp), %eax # uSide, uSide.11
149         movl    -60(%rbp), %edx # x, x.12
150         movq    -48(%rbp), %rcx # pos, pos
151         mov     %eax, %eax      # uSide.11, uSide.11
152         mov     %edx, %edx      # x.12, x.12
153         salq    $4, %rax        #, tmp179
154         addq    %rdx, %rax      # x.12, tmp180
155         movl    1144(%rcx,%rax,4), %eax # <variable>.cNonPawns, tmp181
156         movl    %eax, -16(%rbp) # tmp181, c
157         movl    -16(%rbp), %eax # c, c.13
158         movq    -48(%rbp), %rdx # pos, pos
159         mov     %eax, %eax      # c.13, c.13
160         movl    (%rdx,%rax,8), %eax     # <variable>.D.2182.pPiece, <variable>.D.2182.pPiece
161         movl    %eax, -20(%rbp) # <variable>.D.2182.pPiece, p
162         movl    -16(%rbp), %edx # c, c.14
163         movl    -52(%rbp), %eax # cSquare, cSquare.15
164         movl    %edx, %ecx      # c.14,
165         subl    %eax, %ecx      # cSquare.15,
166         movl    %ecx, %eax      #, tmp185
167         movl    %eax, -12(%rbp) # tmp185, iIndex
168         movl    -12(%rbp), %eax # iIndex, iIndex
169         cltq
170         salq    $2, %rax        #, D.5061
171         movq    %rax, %rdx      # D.5061, D.5062
172         movq    _g_pVectorDelta@GOTPCREL(%rip), %rax    #, tmp187
173         movq    (%rax), %rax    # g_pVectorDelta, g_pVectorDelta.16
174         addq    %rax, %rdx      # g_pVectorDelta.16, D.5064
175         movl    -20(%rbp), %eax # p, D.5065
176         andl    $1, %eax        #, D.5065
177         mov     %eax, %eax      # D.5065, D.5065
178         movzbl  (%rdx,%rax), %eax       # <variable>.iVector, D.5066
179         movzbl  %al, %edx       # D.5066, D.5067
180         movl    -20(%rbp), %eax # p, p
181         shrl    %eax    # D.5068
182         movl    %eax, %ecx      # D.5068, D.5069
183         movl    %edx, %eax      # D.5067, D.5070
184         sarl    %cl, %eax       # D.5069, D.5070
185         xorl    $1, %eax        #, D.5072
186         andl    $1, %eax        #, D.5074
187         testb   %al, %al        # D.5075
188         jne     L10     #,
189         movl    -20(%rbp), %eax # p, D.5076
190         andl    $6, %eax        #, D.5076
191         cmpl    $4, %eax        #, D.5076
192         jne     L12     #,
193         movq    -40(%rbp), %rax # pList, pList
194         movl    (%rax), %eax    # <variable>.uCount, D.5077
195         movq    -40(%rbp), %rcx # pList, pList
196         mov     %eax, %edx      # D.5077, D.5077
197         movq    %rdx, %rax      # D.5077, D.5077
198         addq    %rax, %rax      # D.5077
199         addq    %rdx, %rax      # D.5077, D.5077
200         salq    $2, %rax        #, tmp194
201         addq    %rcx, %rax      # pList, tmp195
202         leaq    4(%rax), %rdx   #, tmp196
203         movl    -20(%rbp), %eax # p, p
204         movl    %eax, (%rdx)    # p, <variable>.pPiece
205         movq    -40(%rbp), %rax # pList, pList
206         movl    (%rax), %eax    # <variable>.uCount, D.5078
207         movq    -40(%rbp), %rcx # pList, pList
208         mov     %eax, %edx      # D.5078, D.5078
209         movq    %rdx, %rax      # D.5078, D.5078
210         addq    %rax, %rax      # D.5078
211         addq    %rdx, %rax      # D.5078, D.5078
212         salq    $2, %rax        #, tmp202
213         addq    %rcx, %rax      # pList, tmp203
214         leaq    8(%rax), %rdx   #, tmp204
215         movl    -16(%rbp), %eax # c, c
216         movl    %eax, (%rdx)    # c, <variable>.cLoc
217         movq    -40(%rbp), %rax # pList, pList
218         movl    (%rax), %edi    # <variable>.uCount, D.5079
219         movl    -20(%rbp), %eax # p, p
220         shrl    %eax    # D.5080
221         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp208
222         mov     %eax, %edx      # D.5080, D.5080
223         movq    %rdx, %rax      # D.5080, D.5080
224         addq    %rax, %rax      # D.5080
225         addq    %rdx, %rax      # D.5080, D.5080
226         salq    $3, %rax        #, tmp211
227         movl    (%rax,%rcx), %ecx       # <variable>.uValue, D.5081
228         movq    -40(%rbp), %rsi # pList, pList
229         mov     %edi, %edx      # D.5079, D.5079
230         movq    %rdx, %rax      # D.5079, D.5079
231         addq    %rax, %rax      # D.5079
232         addq    %rdx, %rax      # D.5079, D.5079
233         salq    $2, %rax        #, tmp215
234         addq    %rsi, %rax      # pList, tmp216
235         addq    $12, %rax       #, tmp217
236         movl    %ecx, (%rax)    # D.5081, <variable>.uVal
237         movq    -40(%rbp), %rax # pList, pList
238         movl    (%rax), %eax    # <variable>.uCount, D.5082
239         leal    1(%rax), %edx   #, D.5083
240         movq    -40(%rbp), %rax # pList, pList
241         movl    %edx, (%rax)    # D.5083, <variable>.uCount
242         jmp     L10     #
243 L12:
244         movl    -12(%rbp), %eax # iIndex, iIndex
245         cltq
246         salq    $2, %rax        #, D.5085
247         movq    %rax, %rdx      # D.5085, D.5086
248         movq    _g_pVectorDelta@GOTPCREL(%rip), %rax    #, tmp221
249         movq    (%rax), %rax    # g_pVectorDelta, g_pVectorDelta.17
250         leaq    (%rdx,%rax), %rax       #, D.5088
251         movzbl  3(%rax), %eax   # <variable>.iNegDelta, D.5089
252         movsbl  %al,%eax        # D.5089, D.5089
253         movl    %eax, -4(%rbp)  # D.5089, iDelta
254         movl    -4(%rbp), %eax  # iDelta, iDelta.18
255         addl    -52(%rbp), %eax # cSquare, tmp223
256         movl    %eax, -8(%rbp)  # tmp223, cBlockIndex
257         jmp     L14     #
258 L15:
259         movl    -8(%rbp), %eax  # cBlockIndex, cBlockIndex.19
260         movq    -48(%rbp), %rdx # pos, pos
261         mov     %eax, %eax      # cBlockIndex.19, cBlockIndex.19
262         movl    (%rdx,%rax,8), %eax     # <variable>.D.2182.pPiece, D.5092
263         testl   %eax, %eax      # D.5092
264         jne     L10     #,
265         movl    -4(%rbp), %edx  # iDelta, iDelta.20
266         leaq    -8(%rbp), %rax  #, tmp260
267         addl    %edx, (%rax)    # iDelta.20, cBlockIndex
268 L14:
269         movl    -8(%rbp), %eax  # cBlockIndex, cBlockIndex
270         cmpl    -16(%rbp), %eax # c, cBlockIndex
271         jne     L15     #,
272         movq    -40(%rbp), %rax # pList, pList
273         movl    (%rax), %eax    # <variable>.uCount, D.5094
274         movq    -40(%rbp), %rcx # pList, pList
275         mov     %eax, %edx      # D.5094, D.5094
276         movq    %rdx, %rax      # D.5094, D.5094
277         addq    %rax, %rax      # D.5094
278         addq    %rdx, %rax      # D.5094, D.5094
279         salq    $2, %rax        #, tmp231
280         addq    %rcx, %rax      # pList, tmp232
281         leaq    4(%rax), %rdx   #, tmp233
282         movl    -20(%rbp), %eax # p, p
283         movl    %eax, (%rdx)    # p, <variable>.pPiece
284         movq    -40(%rbp), %rax # pList, pList
285         movl    (%rax), %eax    # <variable>.uCount, D.5095
286         movq    -40(%rbp), %rcx # pList, pList
287         mov     %eax, %edx      # D.5095, D.5095
288         movq    %rdx, %rax      # D.5095, D.5095
289         addq    %rax, %rax      # D.5095
290         addq    %rdx, %rax      # D.5095, D.5095
291         salq    $2, %rax        #, tmp239
292         addq    %rcx, %rax      # pList, tmp240
293         leaq    8(%rax), %rdx   #, tmp241
294         movl    -16(%rbp), %eax # c, c
295         movl    %eax, (%rdx)    # c, <variable>.cLoc
296         movq    -40(%rbp), %rax # pList, pList
297         movl    (%rax), %edi    # <variable>.uCount, D.5096
298         movl    -20(%rbp), %eax # p, p
299         shrl    %eax    # D.5097
300         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp245
301         mov     %eax, %edx      # D.5097, D.5097
302         movq    %rdx, %rax      # D.5097, D.5097
303         addq    %rax, %rax      # D.5097
304         addq    %rdx, %rax      # D.5097, D.5097
305         salq    $3, %rax        #, tmp248
306         movl    (%rax,%rcx), %ecx       # <variable>.uValue, D.5098
307         movq    -40(%rbp), %rsi # pList, pList
308         mov     %edi, %edx      # D.5096, D.5096
309         movq    %rdx, %rax      # D.5096, D.5096
310         addq    %rax, %rax      # D.5096
311         addq    %rdx, %rax      # D.5096, D.5096
312         salq    $2, %rax        #, tmp252
313         addq    %rsi, %rax      # pList, tmp253
314         addq    $12, %rax       #, tmp254
315         movl    %ecx, (%rax)    # D.5098, <variable>.uVal
316         movq    -40(%rbp), %rax # pList, pList
317         movl    (%rax), %eax    # <variable>.uCount, D.5099
318         leal    1(%rax), %edx   #, D.5100
319         movq    -40(%rbp), %rax # pList, pList
320         movl    %edx, (%rax)    # D.5100, <variable>.uCount
321 L10:
322         decl    -60(%rbp)       # x
323 L8:
324         cmpl    $-1, -60(%rbp)  #, x
325         jne     L9      #,
326         leave
327         ret
328 LFE33:
329 __PushDown:
330 LFB34:
331         pushq   %rbp    #
332 LCFI2:
333         movq    %rsp, %rbp      #,
334 LCFI3:
335         subq    $48, %rsp       #,
336 LCFI4:
337         movq    %rdi, -40(%rbp) # p, p
338         movl    %esi, -44(%rbp) # u, u
339         movl    -44(%rbp), %eax # u, u
340         addl    %eax, %eax      # D.5121
341         incl    %eax    # tmp74
342         movl    %eax, -12(%rbp) # tmp74, l
343         movq    -40(%rbp), %rax # p, p
344         movl    (%rax), %eax    # <variable>.uCount, D.5122
345         cmpl    -12(%rbp), %eax # l, D.5122
346         jbe     L29     #,
347         movl    -12(%rbp), %eax # l, tmp76
348         incl    %eax    # tmp76
349         movl    %eax, -8(%rbp)  # tmp76, r
350         movl    -44(%rbp), %eax # u, u
351         movl    %eax, -4(%rbp)  # u, uSmallest
352         movl    -12(%rbp), %eax # l, l.21
353         movq    -40(%rbp), %rcx # p, p
354         mov     %eax, %edx      # l.21, l.21
355         movq    %rdx, %rax      # l.21, l.21
356         addq    %rax, %rax      # l.21
357         addq    %rdx, %rax      # l.21, l.21
358         salq    $2, %rax        #, tmp81
359         addq    %rcx, %rax      # p, tmp82
360         addq    $12, %rax       #, tmp83
361         movl    (%rax), %esi    # <variable>.uVal, D.5124
362         movl    -44(%rbp), %eax # u, u.22
363         movq    -40(%rbp), %rcx # p, p
364         mov     %eax, %edx      # u.22, u.22
365         movq    %rdx, %rax      # u.22, u.22
366         addq    %rax, %rax      # u.22
367         addq    %rdx, %rax      # u.22, u.22
368         salq    $2, %rax        #, tmp87
369         addq    %rcx, %rax      # p, tmp88
370         addq    $12, %rax       #, tmp89
371         movl    (%rax), %eax    # <variable>.uVal, D.5126
372         cmpl    %eax, %esi      # D.5126, D.5124
373         jae     L23     #,
374         movl    -12(%rbp), %eax # l, l
375         movl    %eax, -4(%rbp)  # l, uSmallest
376 L23:
377         movq    -40(%rbp), %rax # p, p
378         movl    (%rax), %eax    # <variable>.uCount, D.5127
379         cmpl    -8(%rbp), %eax  # r, D.5127
380         jbe     L25     #,
381         movl    -8(%rbp), %eax  # r, r.23
382         movq    -40(%rbp), %rcx # p, p
383         mov     %eax, %edx      # r.23, r.23
384         movq    %rdx, %rax      # r.23, r.23
385         addq    %rax, %rax      # r.23
386         addq    %rdx, %rax      # r.23, r.23
387         salq    $2, %rax        #, tmp95
388         addq    %rcx, %rax      # p, tmp96
389         addq    $12, %rax       #, tmp97
390         movl    (%rax), %esi    # <variable>.uVal, D.5129
391         movl    -4(%rbp), %eax  # uSmallest, uSmallest.24
392         movq    -40(%rbp), %rcx # p, p
393         mov     %eax, %edx      # uSmallest.24, uSmallest.24
394         movq    %rdx, %rax      # uSmallest.24, uSmallest.24
395         addq    %rax, %rax      # uSmallest.24
396         addq    %rdx, %rax      # uSmallest.24, uSmallest.24
397         salq    $2, %rax        #, tmp101
398         addq    %rcx, %rax      # p, tmp102
399         addq    $12, %rax       #, tmp103
400         movl    (%rax), %eax    # <variable>.uVal, D.5131
401         cmpl    %eax, %esi      # D.5131, D.5129
402         jae     L25     #,
403         movl    -8(%rbp), %eax  # r, r
404         movl    %eax, -4(%rbp)  # r, uSmallest
405 L25:
406         movl    -4(%rbp), %eax  # uSmallest, uSmallest
407         cmpl    -44(%rbp), %eax # u, uSmallest
408         je      L29     #,
409         movl    -4(%rbp), %eax  # uSmallest, uSmallest.25
410         movq    -40(%rbp), %rcx # p, p
411         mov     %eax, %edx      # uSmallest.25, uSmallest.25
412         movq    %rdx, %rax      # uSmallest.25, uSmallest.25
413         addq    %rax, %rax      # uSmallest.25
414         addq    %rdx, %rax      # uSmallest.25, uSmallest.25
415         leaq    0(,%rax,4), %rdx        #, tmp109
416         movq    4(%rdx,%rcx), %rax      # <variable>.data, tmp110
417         movq    %rax, -32(%rbp) # tmp110, temp
418         movl    12(%rdx,%rcx), %eax     # <variable>.data, tmp111
419         movl    %eax, -24(%rbp) # tmp111, temp
420         movl    -4(%rbp), %eax  # uSmallest, uSmallest.26
421         movl    -44(%rbp), %ecx # u, u.27
422         movq    -40(%rbp), %rsi # p, p
423         mov     %eax, %edx      # uSmallest.26, uSmallest.26
424         movq    %rdx, %rax      # uSmallest.26, uSmallest.26
425         addq    %rax, %rax      # uSmallest.26
426         addq    %rdx, %rax      # uSmallest.26, uSmallest.26
427         leaq    0(,%rax,4), %rdi        #, tmp115
428         movq    -40(%rbp), %r8  # p, p
429         mov     %ecx, %edx      # u.27, u.27
430         movq    %rdx, %rax      # u.27, u.27
431         addq    %rax, %rax      # u.27
432         addq    %rdx, %rax      # u.27, u.27
433         leaq    0(,%rax,4), %rdx        #, tmp119
434         movq    4(%rdx,%r8), %rax       # <variable>.data, tmp120
435         movq    %rax, 4(%rdi,%rsi)      # tmp120, <variable>.data
436         movl    12(%rdx,%r8), %eax      # <variable>.data, tmp121
437         movl    %eax, 12(%rdi,%rsi)     # tmp121, <variable>.data
438         movl    -44(%rbp), %eax # u, u.28
439         movq    -40(%rbp), %rcx # p, p
440         mov     %eax, %edx      # u.28, u.28
441         movq    %rdx, %rax      # u.28, u.28
442         addq    %rax, %rax      # u.28
443         addq    %rdx, %rax      # u.28, u.28
444         leaq    0(,%rax,4), %rdx        #, tmp125
445         movq    -32(%rbp), %rax # temp, temp
446         movq    %rax, 4(%rdx,%rcx)      # temp, <variable>.data
447         movl    -24(%rbp), %eax # temp, temp
448         movl    %eax, 12(%rdx,%rcx)     # temp, <variable>.data
449         movl    -4(%rbp), %esi  # uSmallest, uSmallest
450         movq    -40(%rbp), %rdi # p, p
451         call    __PushDown      #
452 L29:
453         leave
454         ret
455 LFE34:
456 __BuildHeap:
457 LFB35:
458         pushq   %rbp    #
459 LCFI5:
460         movq    %rsp, %rbp      #,
461 LCFI6:
462         subq    $32, %rsp       #,
463 LCFI7:
464         movq    %rdi, -24(%rbp) # p, p
465         movq    -24(%rbp), %rax # p, p
466         movl    (%rax), %eax    # <variable>.uCount, D.5154
467         shrl    %eax    # D.5155
468         decl    %eax    # D.5156
469         movl    %eax, -8(%rbp)  # D.5156, iStart
470         movl    -8(%rbp), %eax  # iStart, iStart
471         movl    %eax, -4(%rbp)  # iStart, i
472         jmp     L31     #
473 L32:
474         movl    -4(%rbp), %esi  # i, i.29
475         movq    -24(%rbp), %rdi # p, p
476         call    __PushDown      #
477         leaq    -4(%rbp), %rax  #, tmp66
478         decl    (%rax)  # i
479 L31:
480         cmpl    $-1, -4(%rbp)   #, i
481         jg      L32     #,
482         leave
483         ret
484 LFE35:
485 __BubbleUp:
486 LFB36:
487         pushq   %rbp    #
488 LCFI8:
489         movq    %rsp, %rbp      #,
490 LCFI9:
491         subq    $32, %rsp       #,
492 LCFI10:
493         movq    %rdi, -24(%rbp) # p, p
494         movl    %esi, -28(%rbp) # u, u
495         cmpl    $0, -28(%rbp)   #, u
496         je      L39     #,
497         movl    -28(%rbp), %eax # u, D.5164
498         decl    %eax    # D.5164
499         shrl    %eax    # tmp67
500         movl    %eax, -4(%rbp)  # tmp67, uParent
501         movl    -4(%rbp), %eax  # uParent, uParent.30
502         movq    -24(%rbp), %rcx # p, p
503         mov     %eax, %edx      # uParent.30, uParent.30
504         movq    %rdx, %rax      # uParent.30, uParent.30
505         addq    %rax, %rax      # uParent.30
506         addq    %rdx, %rax      # uParent.30, uParent.30
507         salq    $2, %rax        #, tmp71
508         addq    %rcx, %rax      # p, tmp72
509         addq    $12, %rax       #, tmp73
510         movl    (%rax), %esi    # <variable>.uVal, D.5166
511         movl    -28(%rbp), %eax # u, u.31
512         movq    -24(%rbp), %rcx # p, p
513         mov     %eax, %edx      # u.31, u.31
514         movq    %rdx, %rax      # u.31, u.31
515         addq    %rax, %rax      # u.31
516         addq    %rdx, %rax      # u.31, u.31
517         salq    $2, %rax        #, tmp77
518         addq    %rcx, %rax      # p, tmp78
519         addq    $12, %rax       #, tmp79
520         movl    (%rax), %eax    # <variable>.uVal, D.5168
521         cmpl    %eax, %esi      # D.5168, D.5166
522         jbe     L39     #,
523         movl    -4(%rbp), %eax  # uParent, uParent.32
524         movq    -24(%rbp), %rcx # p, p
525         mov     %eax, %edx      # uParent.32, uParent.32
526         movq    %rdx, %rax      # uParent.32, uParent.32
527         addq    %rax, %rax      # uParent.32
528         addq    %rdx, %rax      # uParent.32, uParent.32
529         leaq    0(,%rax,4), %rdx        #, tmp83
530         movq    4(%rdx,%rcx), %rax      # <variable>.data, tmp84
531         movq    %rax, -16(%rbp) # tmp84, temp
532         movl    12(%rdx,%rcx), %eax     # <variable>.data, tmp85
533         movl    %eax, -8(%rbp)  # tmp85, temp
534         movl    -4(%rbp), %eax  # uParent, uParent.33
535         movl    -28(%rbp), %ecx # u, u.34
536         movq    -24(%rbp), %rsi # p, p
537         mov     %eax, %edx      # uParent.33, uParent.33
538         movq    %rdx, %rax      # uParent.33, uParent.33
539         addq    %rax, %rax      # uParent.33
540         addq    %rdx, %rax      # uParent.33, uParent.33
541         leaq    0(,%rax,4), %rdi        #, tmp89
542         movq    -24(%rbp), %r8  # p, p
543         mov     %ecx, %edx      # u.34, u.34
544         movq    %rdx, %rax      # u.34, u.34
545         addq    %rax, %rax      # u.34
546         addq    %rdx, %rax      # u.34, u.34
547         leaq    0(,%rax,4), %rdx        #, tmp93
548         movq    4(%rdx,%r8), %rax       # <variable>.data, tmp94
549         movq    %rax, 4(%rdi,%rsi)      # tmp94, <variable>.data
550         movl    12(%rdx,%r8), %eax      # <variable>.data, tmp95
551         movl    %eax, 12(%rdi,%rsi)     # tmp95, <variable>.data
552         movl    -28(%rbp), %eax # u, u.35
553         movq    -24(%rbp), %rcx # p, p
554         mov     %eax, %edx      # u.35, u.35
555         movq    %rdx, %rax      # u.35, u.35
556         addq    %rax, %rax      # u.35
557         addq    %rdx, %rax      # u.35, u.35
558         leaq    0(,%rax,4), %rdx        #, tmp99
559         movq    -16(%rbp), %rax # temp, temp
560         movq    %rax, 4(%rdx,%rcx)      # temp, <variable>.data
561         movl    -8(%rbp), %eax  # temp, temp
562         movl    %eax, 12(%rdx,%rcx)     # temp, <variable>.data
563         movl    -4(%rbp), %esi  # uParent, uParent
564         movq    -24(%rbp), %rdi # p, p
565         call    __BubbleUp      #
566 L39:
567         leave
568         ret
569 LFE36:
570 __ClearPieceByLocation:
571 LFB38:
572         pushq   %rbp    #
573 LCFI11:
574         movq    %rsp, %rbp      #,
575 LCFI12:
576         subq    $32, %rsp       #,
577 LCFI13:
578         movq    %rdi, -24(%rbp) # pList, pList
579         movl    %esi, -28(%rbp) # cLoc, cLoc
580         movl    $0, -4(%rbp)    #, x
581         jmp     L41     #
582 L42:
583         movl    -4(%rbp), %eax  # x, x.37
584         movq    -24(%rbp), %rcx # pList, pList
585         mov     %eax, %edx      # x.37, x.37
586         movq    %rdx, %rax      # x.37, x.37
587         addq    %rax, %rax      # x.37
588         addq    %rdx, %rax      # x.37, x.37
589         salq    $2, %rax        #, tmp64
590         addq    %rcx, %rax      # pList, tmp65
591         addq    $8, %rax        #, tmp66
592         movl    (%rax), %eax    # <variable>.cLoc, D.5199
593         cmpl    -28(%rbp), %eax # cLoc, D.5199
594         jne     L43     #,
595         movl    -4(%rbp), %esi  # x, x
596         movq    -24(%rbp), %rdi # pList, pList
597         call    __RemoveItem    #
598         jmp     L46     #
599 L43:
600         leaq    -4(%rbp), %rax  #, tmp71
601         incl    (%rax)  # x
602 L41:
603         movq    -24(%rbp), %rax # pList, pList
604         movl    (%rax), %eax    # <variable>.uCount, D.5200
605         cmpl    -4(%rbp), %eax  # x, D.5200
606         ja      L42     #,
607 L46:
608         leave
609         ret
610 LFE38:
611 __RemoveItem:
612 LFB37:
613         pushq   %rbp    #
614 LCFI14:
615         movq    %rsp, %rbp      #,
616 LCFI15:
617         subq    $16, %rsp       #,
618 LCFI16:
619         movq    %rdi, -8(%rbp)  # pList, pList
620         movl    %esi, -12(%rbp) # x, x
621         movq    -8(%rbp), %rax  # pList, pList
622         movl    (%rax), %eax    # <variable>.uCount, D.5181
623         decl    %eax    # D.5182
624         cmpl    -12(%rbp), %eax # x, D.5182
625         je      L48     #,
626         movl    -12(%rbp), %edx # x, x.36
627         movq    -8(%rbp), %rax  # pList, pList
628         movl    (%rax), %eax    # <variable>.uCount, D.5184
629         leal    -1(%rax), %ecx  #, D.5185
630         movq    -8(%rbp), %rsi  # pList, pList
631         mov     %edx, %edx      # x.36, x.36
632         movq    %rdx, %rax      # x.36, x.36
633         addq    %rax, %rax      # x.36
634         addq    %rdx, %rax      # x.36, x.36
635         leaq    0(,%rax,4), %rdi        #, tmp72
636         movq    -8(%rbp), %r8   # pList, pList
637         mov     %ecx, %edx      # D.5185, D.5185
638         movq    %rdx, %rax      # D.5185, D.5185
639         addq    %rax, %rax      # D.5185
640         addq    %rdx, %rax      # D.5185, D.5185
641         leaq    0(,%rax,4), %rdx        #, tmp76
642         movq    4(%rdx,%r8), %rax       # <variable>.data, tmp77
643         movq    %rax, 4(%rdi,%rsi)      # tmp77, <variable>.data
644         movl    12(%rdx,%r8), %eax      # <variable>.data, tmp78
645         movl    %eax, 12(%rdi,%rsi)     # tmp78, <variable>.data
646         movq    -8(%rbp), %rax  # pList, pList
647         movl    (%rax), %eax    # <variable>.uCount, D.5186
648         leal    -1(%rax), %edx  #, D.5187
649         movq    -8(%rbp), %rax  # pList, pList
650         movl    %edx, (%rax)    # D.5187, <variable>.uCount
651         movq    -8(%rbp), %rdi  # pList, pList
652         movl    $0, %esi        #,
653         call    __PushDown      #
654         jmp     L51     #
655 L48:
656         movq    -8(%rbp), %rax  # pList, pList
657         movl    (%rax), %eax    # <variable>.uCount, D.5188
658         leal    -1(%rax), %edx  #, D.5189
659         movq    -8(%rbp), %rax  # pList, pList
660         movl    %edx, (%rax)    # D.5189, <variable>.uCount
661 L51:
662         leave
663         ret
664 LFE37:
665 __MinLegalPiece:
666 LFB39:
667         pushq   %rbp    #
668 LCFI17:
669         movq    %rsp, %rbp      #,
670 LCFI18:
671         subq    $80, %rsp       #,
672 LCFI19:
673         movq    %rdi, -24(%rbp) # pos, pos
674         movl    %esi, -28(%rbp) # uColor, uColor
675         movq    %rdx, -40(%rbp) # pList, pList
676         movq    %rcx, -48(%rbp) # pOther, pOther
677         movq    %r8, -56(%rbp)  # pc, pc
678         movl    %r9d, -60(%rbp) # cIgnore, cIgnore
679         movl    $0, -64(%rbp)   #, x
680         jmp     L53     #
681 L54:
682         movl    -64(%rbp), %eax # x, x.38
683         movq    -40(%rbp), %rcx # pList, pList
684         mov     %eax, %edx      # x.38, x.38
685         movq    %rdx, %rax      # x.38, x.38
686         addq    %rax, %rax      # x.38
687         addq    %rdx, %rax      # x.38, x.38
688         salq    $2, %rax        #, tmp76
689         addq    %rcx, %rax      # pList, tmp77
690         addq    $4, %rax        #, tmp78
691         movl    (%rax), %eax    # <variable>.pPiece, <variable>.pPiece
692         movl    %eax, -8(%rbp)  # <variable>.pPiece, p
693         movl    -8(%rbp), %eax  # p, D.5223
694         andl    $14, %eax       #, D.5223
695         cmpl    $12, %eax       #, D.5223
696         jne     L55     #,
697         movq    -48(%rbp), %rax # pOther, pOther
698         movl    (%rax), %eax    # <variable>.uCount, D.5224
699         testl   %eax, %eax      # D.5224
700         jne     L57     #,
701         movq    -40(%rbp), %rax # pList, pList
702         movl    8(%rax), %edx   # <variable>.cLoc, D.5225
703         movq    -56(%rbp), %rax # pc, pc
704         movl    %edx, (%rax)    # D.5225,* pc
705         movq    -40(%rbp), %rax # pList, pList
706         movl    $0, (%rax)      #, <variable>.uCount
707         movl    -8(%rbp), %eax  # p,
708         movl    %eax, -68(%rbp) #, D.5226
709         jmp     L59     #
710 L55:
711         movl    -28(%rbp), %eax # uColor, uColor.39
712         movq    -24(%rbp), %rdx # pos, pos
713         mov     %eax, %eax      # uColor.39, uColor.39
714         salq    $6, %rax        #, tmp86
715         addq    %rdx, %rax      # pos, tmp87
716         addq    $1136, %rax     #, tmp88
717         movl    8(%rax), %eax   # <variable>.cNonPawns, tmp89
718         movl    %eax, -12(%rbp) # tmp89, cKing
719         movl    -64(%rbp), %eax # x, x.40
720         movq    -40(%rbp), %rcx # pList, pList
721         mov     %eax, %edx      # x.40, x.40
722         movq    %rdx, %rax      # x.40, x.40
723         addq    %rax, %rax      # x.40
724         addq    %rdx, %rax      # x.40, x.40
725         salq    $2, %rax        #, tmp93
726         addq    %rcx, %rax      # pList, tmp94
727         addq    $8, %rax        #, tmp95
728         movl    (%rax), %esi    # <variable>.cLoc, D.5229
729         movl    -12(%rbp), %edx # cKing, cKing
730         movq    -24(%rbp), %rdi # pos, pos
731         call    _ExposesCheck   #
732         movl    %eax, -4(%rbp)  # D.5230, c
733         movl    -4(%rbp), %eax  # c, D.5233
734         andl    $136, %eax      #, D.5233
735         testl   %eax, %eax      # D.5233
736         jne     L60     #,
737         movl    -4(%rbp), %eax  # c, c
738         cmpl    -60(%rbp), %eax # cIgnore, c
739         jne     L57     #,
740 L60:
741         movl    -64(%rbp), %eax # x, x.41
742         movq    -40(%rbp), %rcx # pList, pList
743         mov     %eax, %edx      # x.41, x.41
744         movq    %rdx, %rax      # x.41, x.41
745         addq    %rax, %rax      # x.41
746         addq    %rdx, %rax      # x.41, x.41
747         salq    $2, %rax        #, tmp102
748         addq    %rcx, %rax      # pList, tmp103
749         addq    $8, %rax        #, tmp104
750         movl    (%rax), %edx    # <variable>.cLoc, D.5235
751         movq    -56(%rbp), %rax # pc, pc
752         movl    %edx, (%rax)    # D.5235,* pc
753         movq    -40(%rbp), %rdi # pList, pList
754         movl    -64(%rbp), %esi # x, x
755         call    __RemoveItem    #
756         movl    -8(%rbp), %eax  # p,
757         movl    %eax, -68(%rbp) #, D.5226
758         jmp     L59     #
759 L57:
760         incl    -64(%rbp)       # x
761 L53:
762         movq    -40(%rbp), %rax # pList, pList
763         movl    (%rax), %eax    # <variable>.uCount, D.5236
764         cmpl    -64(%rbp), %eax # x, D.5236
765         ja      L54     #,
766         movl    $0, -68(%rbp)   #, D.5226
767 L59:
768         movl    -68(%rbp), %eax # D.5226, <result>
769         leave
770         ret
771 LFE39:
772 __AddXRays:
773 LFB40:
774         pushq   %rbp    #
775 LCFI20:
776         movq    %rsp, %rbp      #,
777 LCFI21:
778         subq    $64, %rsp       #,
779 LCFI22:
780         movq    %rdi, -24(%rbp) # pos, pos
781         movl    %esi, -28(%rbp) # iAttackerColor, iAttackerColor
782         movl    %edx, -32(%rbp) # cTarget, cTarget
783         movl    %ecx, -36(%rbp) # cObstacle, cObstacle
784         movq    %r8, -48(%rbp)  # pAttacks, pAttacks
785         movq    %r9, -56(%rbp)  # pDefends, pDefends
786         movl    -32(%rbp), %edx # cTarget, cTarget.42
787         movl    -36(%rbp), %eax # cObstacle, cObstacle.43
788         movl    %edx, %ecx      # cTarget.42,
789         subl    %eax, %ecx      # cObstacle.43,
790         movl    %ecx, %eax      #, tmp118
791         movl    %eax, -4(%rbp)  # tmp118, iIndex
792         movl    -4(%rbp), %eax  # iIndex, iIndex
793         cltq
794         salq    $2, %rax        #, D.5262
795         movq    %rax, %rdx      # D.5262, D.5263
796         movq    _g_pVectorDelta@GOTPCREL(%rip), %rax    #, tmp120
797         movq    (%rax), %rax    # g_pVectorDelta, g_pVectorDelta.44
798         leaq    (%rdx,%rax), %rax       #, D.5265
799         movzbl  (%rax), %eax    # <variable>.iVector, D.5266
800         movzbl  %al, %eax       # D.5266, D.5267
801         shrl    $5, %eax        #, D.5268
802         xorl    $1, %eax        #, D.5269
803         andl    $1, %eax        #, D.5271
804         testb   %al, %al        # D.5272
805         jne     L74     #,
806         movl    -4(%rbp), %eax  # iIndex, iIndex
807         cltq
808         salq    $2, %rax        #, D.5274
809         movq    %rax, %rdx      # D.5274, D.5275
810         movq    _g_pVectorDelta@GOTPCREL(%rip), %rax    #, tmp122
811         movq    (%rax), %rax    # g_pVectorDelta, g_pVectorDelta.45
812         leaq    (%rdx,%rax), %rax       #, D.5277
813         movzbl  2(%rax), %eax   # <variable>.iDelta, D.5278
814         movsbl  %al,%eax        # D.5278, D.5278
815         movl    %eax, -16(%rbp) # D.5278, iDelta
816         movl    -16(%rbp), %eax # iDelta, iDelta.46
817         addl    -36(%rbp), %eax # cObstacle, tmp124
818         movl    %eax, -12(%rbp) # tmp124, cIndex
819         jmp     L67     #
820 L68:
821         movl    -12(%rbp), %eax # cIndex, cIndex.47
822         movq    -24(%rbp), %rdx # pos, pos
823         mov     %eax, %eax      # cIndex.47, cIndex.47
824         movl    (%rdx,%rax,8), %eax     # <variable>.D.2182.pPiece, <variable>.D.2182.pPiece
825         movl    %eax, -8(%rbp)  # <variable>.D.2182.pPiece, xPiece
826         cmpl    $0, -8(%rbp)    #, xPiece
827         je      L69     #,
828         movl    -12(%rbp), %edx # cIndex, cIndex.48
829         movl    -32(%rbp), %eax # cTarget, cTarget.49
830         movl    %edx, %ecx      # cIndex.48,
831         subl    %eax, %ecx      # cTarget.49,
832         movl    %ecx, %eax      #, D.5283
833         cltq
834         salq    $2, %rax        #, D.5285
835         movq    %rax, %rdx      # D.5285, D.5286
836         movq    _g_pVectorDelta@GOTPCREL(%rip), %rax    #, tmp128
837         movq    (%rax), %rax    # g_pVectorDelta, g_pVectorDelta.50
838         addq    %rax, %rdx      # g_pVectorDelta.50, D.5288
839         movl    -8(%rbp), %eax  # xPiece, D.5289
840         andl    $1, %eax        #, D.5289
841         mov     %eax, %eax      # D.5289, D.5289
842         movzbl  (%rdx,%rax), %eax       # <variable>.iVector, D.5290
843         movzbl  %al, %edx       # D.5290, D.5291
844         movl    -8(%rbp), %eax  # xPiece, xPiece
845         shrl    %eax    # D.5292
846         movl    %eax, %ecx      # D.5292, D.5293
847         movl    %edx, %eax      # D.5291, D.5294
848         sarl    %cl, %eax       # D.5293, D.5294
849         andl    $1, %eax        #, D.5295
850         testb   %al, %al        # D.5296
851         je      L74     #,
852         movl    -8(%rbp), %edx  # xPiece, D.5297
853         andl    $1, %edx        #, D.5297
854         movl    -28(%rbp), %eax # iAttackerColor, iAttackerColor.51
855         cmpl    %eax, %edx      # iAttackerColor.51, D.5297
856         jne     L72     #,
857         movq    -48(%rbp), %rax # pAttacks, pAttacks
858         movl    (%rax), %eax    # <variable>.uCount, D.5299
859         movq    -48(%rbp), %rcx # pAttacks, pAttacks
860         mov     %eax, %edx      # D.5299, D.5299
861         movq    %rdx, %rax      # D.5299, D.5299
862         addq    %rax, %rax      # D.5299
863         addq    %rdx, %rax      # D.5299, D.5299
864         salq    $2, %rax        #, tmp135
865         addq    %rcx, %rax      # pAttacks, tmp136
866         leaq    4(%rax), %rdx   #, tmp137
867         movl    -8(%rbp), %eax  # xPiece, xPiece
868         movl    %eax, (%rdx)    # xPiece, <variable>.pPiece
869         movq    -48(%rbp), %rax # pAttacks, pAttacks
870         movl    (%rax), %eax    # <variable>.uCount, D.5300
871         movq    -48(%rbp), %rcx # pAttacks, pAttacks
872         mov     %eax, %edx      # D.5300, D.5300
873         movq    %rdx, %rax      # D.5300, D.5300
874         addq    %rax, %rax      # D.5300
875         addq    %rdx, %rax      # D.5300, D.5300
876         salq    $2, %rax        #, tmp143
877         addq    %rcx, %rax      # pAttacks, tmp144
878         leaq    8(%rax), %rdx   #, tmp145
879         movl    -12(%rbp), %eax # cIndex, cIndex
880         movl    %eax, (%rdx)    # cIndex, <variable>.cLoc
881         movq    -48(%rbp), %rax # pAttacks, pAttacks
882         movl    (%rax), %edi    # <variable>.uCount, D.5301
883         movl    -8(%rbp), %eax  # xPiece, xPiece
884         shrl    %eax    # D.5302
885         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp149
886         mov     %eax, %edx      # D.5302, D.5302
887         movq    %rdx, %rax      # D.5302, D.5302
888         addq    %rax, %rax      # D.5302
889         addq    %rdx, %rax      # D.5302, D.5302
890         salq    $3, %rax        #, tmp152
891         movl    (%rax,%rcx), %ecx       # <variable>.uValue, D.5303
892         movq    -48(%rbp), %rsi # pAttacks, pAttacks
893         mov     %edi, %edx      # D.5301, D.5301
894         movq    %rdx, %rax      # D.5301, D.5301
895         addq    %rax, %rax      # D.5301
896         addq    %rdx, %rax      # D.5301, D.5301
897         salq    $2, %rax        #, tmp156
898         addq    %rsi, %rax      # pAttacks, tmp157
899         addq    $12, %rax       #, tmp158
900         movl    %ecx, (%rax)    # D.5303, <variable>.uVal
901         movq    -48(%rbp), %rax # pAttacks, pAttacks
902         movl    (%rax), %eax    # <variable>.uCount, D.5304
903         leal    1(%rax), %edx   #, D.5305
904         movq    -48(%rbp), %rax # pAttacks, pAttacks
905         movl    %edx, (%rax)    # D.5305, <variable>.uCount
906         movq    -48(%rbp), %rax # pAttacks, pAttacks
907         movl    (%rax), %eax    # <variable>.uCount, D.5306
908         leal    -1(%rax), %esi  #, D.5307
909         movq    -48(%rbp), %rdi # pAttacks, pAttacks
910         call    __BubbleUp      #
911         jmp     L74     #
912 L72:
913         movq    -56(%rbp), %rax # pDefends, pDefends
914         movl    (%rax), %eax    # <variable>.uCount, D.5308
915         movq    -56(%rbp), %rcx # pDefends, pDefends
916         mov     %eax, %edx      # D.5308, D.5308
917         movq    %rdx, %rax      # D.5308, D.5308
918         addq    %rax, %rax      # D.5308
919         addq    %rdx, %rax      # D.5308, D.5308
920         salq    $2, %rax        #, tmp167
921         addq    %rcx, %rax      # pDefends, tmp168
922         leaq    4(%rax), %rdx   #, tmp169
923         movl    -8(%rbp), %eax  # xPiece, xPiece
924         movl    %eax, (%rdx)    # xPiece, <variable>.pPiece
925         movq    -56(%rbp), %rax # pDefends, pDefends
926         movl    (%rax), %eax    # <variable>.uCount, D.5309
927         movq    -56(%rbp), %rcx # pDefends, pDefends
928         mov     %eax, %edx      # D.5309, D.5309
929         movq    %rdx, %rax      # D.5309, D.5309
930         addq    %rax, %rax      # D.5309
931         addq    %rdx, %rax      # D.5309, D.5309
932         salq    $2, %rax        #, tmp175
933         addq    %rcx, %rax      # pDefends, tmp176
934         leaq    8(%rax), %rdx   #, tmp177
935         movl    -12(%rbp), %eax # cIndex, cIndex
936         movl    %eax, (%rdx)    # cIndex, <variable>.cLoc
937         movq    -56(%rbp), %rax # pDefends, pDefends
938         movl    (%rax), %edi    # <variable>.uCount, D.5310
939         movl    -8(%rbp), %eax  # xPiece, xPiece
940         shrl    %eax    # D.5311
941         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp181
942         mov     %eax, %edx      # D.5311, D.5311
943         movq    %rdx, %rax      # D.5311, D.5311
944         addq    %rax, %rax      # D.5311
945         addq    %rdx, %rax      # D.5311, D.5311
946         salq    $3, %rax        #, tmp184
947         movl    (%rax,%rcx), %ecx       # <variable>.uValue, D.5312
948         movq    -56(%rbp), %rsi # pDefends, pDefends
949         mov     %edi, %edx      # D.5310, D.5310
950         movq    %rdx, %rax      # D.5310, D.5310
951         addq    %rax, %rax      # D.5310
952         addq    %rdx, %rax      # D.5310, D.5310
953         salq    $2, %rax        #, tmp188
954         addq    %rsi, %rax      # pDefends, tmp189
955         addq    $12, %rax       #, tmp190
956         movl    %ecx, (%rax)    # D.5312, <variable>.uVal
957         movq    -56(%rbp), %rax # pDefends, pDefends
958         movl    (%rax), %eax    # <variable>.uCount, D.5313
959         leal    1(%rax), %edx   #, D.5314
960         movq    -56(%rbp), %rax # pDefends, pDefends
961         movl    %edx, (%rax)    # D.5314, <variable>.uCount
962         movq    -56(%rbp), %rax # pDefends, pDefends
963         movl    (%rax), %eax    # <variable>.uCount, D.5315
964         leal    -1(%rax), %esi  #, D.5316
965         movq    -56(%rbp), %rdi # pDefends, pDefends
966         call    __BubbleUp      #
967         jmp     L74     #
968 L69:
969         movl    -16(%rbp), %edx # iDelta, iDelta.52
970         leaq    -12(%rbp), %rax #, tmp196
971         addl    %edx, (%rax)    # iDelta.52, cIndex
972 L67:
973         movl    -12(%rbp), %eax # cIndex, D.5318
974         andl    $136, %eax      #, D.5318
975         testl   %eax, %eax      # D.5318
976         je      L68     #,
977 L74:
978         leave
979         ret
980 LFE40:
981         .data
982         .align 4
983 __Table.5343:
984         .long   0
985         .long   0
986         .long   1
987         .long   1
988         .long   0
989         .long   0
990         .text
991 .globl _SEE
992 _SEE:
993 LFB41:
994         pushq   %rbp    #
995 LCFI23:
996         movq    %rsp, %rbp      #,
997 LCFI24:
998         subq    $592, %rsp      #,
999 LCFI25:
1000         movq    %rdi, -584(%rbp)        # pos, pos
1001         movl    %esi, -588(%rbp)        # mv, mv
1002         movl    -588(%rbp), %eax        #, tmp194
1003         shrl    $16, %eax       #, tmp193
1004         andl    $15, %eax       #, D.5349
1005         movzbl  %al, %eax       # D.5349, D.5350
1006         andl    $1, %eax        #, tmp195
1007         movl    %eax, -20(%rbp) # tmp195, uWhoseTurn
1008         movl    -20(%rbp), %eax # uWhoseTurn, uWhoseTurn
1009         movl    %eax, -16(%rbp) # uWhoseTurn, uOrig
1010         movl    $1, -12(%rbp)   #, iSign
1011         movzbl  -588(%rbp), %eax        # mv.D.2138.cFrom, D.5351
1012         movzbl  %al, %eax       # D.5351, D.5352
1013         movl    %eax, -564(%rbp)        # D.5352, cFrom
1014         movzbl  -587(%rbp), %eax        # mv.D.2138.cTo, D.5353
1015         movzbl  %al, %edx       # D.5353, D.5354
1016         mov     -20(%rbp), %eax # uWhoseTurn, D.5355
1017         imulq   $196, %rax, %rax        #, D.5355, D.5356
1018         leaq    -432(%rbp), %rdi        #, D.5358
1019         addq    %rax, %rdi      # D.5357, D.5358
1020         movl    -20(%rbp), %ecx # uWhoseTurn, uWhoseTurn
1021         movq    -584(%rbp), %rsi        # pos, pos
1022         call    _GetAttacks     #
1023         movl    -20(%rbp), %ecx # uWhoseTurn, D.5359
1024         xorl    $1, %ecx        #, D.5359
1025         movzbl  -587(%rbp), %eax        # mv.D.2138.cTo, D.5360
1026         movzbl  %al, %edx       # D.5360, D.5361
1027         movl    -20(%rbp), %eax # uWhoseTurn, D.5362
1028         xorl    $1, %eax        #, D.5362
1029         mov     %eax, %eax      # D.5362, D.5363
1030         imulq   $196, %rax, %rax        #, D.5363, D.5364
1031         leaq    -432(%rbp), %rdi        #, D.5366
1032         addq    %rax, %rdi      # D.5365, D.5366
1033         movq    -584(%rbp), %rsi        # pos, pos
1034         call    _GetAttacks     #
1035         movl    -20(%rbp), %eax # uWhoseTurn, D.5367
1036         xorl    $1, %eax        #, D.5367
1037         mov     %eax, %eax      # D.5367, D.5368
1038         imulq   $196, %rax, %rax        #, D.5368, D.5369
1039         leaq    -432(%rbp), %rdi        #, D.5371
1040         addq    %rax, %rdi      # D.5370, D.5371
1041         call    __BuildHeap     #
1042         mov     -20(%rbp), %eax # uWhoseTurn, D.5372
1043         imulq   $196, %rax, %rax        #, D.5372, D.5373
1044         leaq    -432(%rbp), %rdi        #, D.5375
1045         addq    %rax, %rdi      # D.5374, D.5375
1046         call    __BuildHeap     #
1047         movl    -588(%rbp), %eax        #, tmp202
1048         shrl    $20, %eax       #, tmp201
1049         andl    $15, %eax       #, D.5376
1050         movzbl  %al, %eax       # D.5376, D.5377
1051         sarl    %eax    # D.5378
1052         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp203
1053         movslq  %eax,%rdx       # D.5378, D.5378
1054         movq    %rdx, %rax      # D.5378, D.5378
1055         addq    %rax, %rax      # D.5378
1056         addq    %rdx, %rax      # D.5378, D.5378
1057         salq    $3, %rax        #, tmp206
1058         movl    (%rax,%rcx), %esi       # <variable>.uValue, D.5379
1059         movl    -588(%rbp), %eax        #, tmp209
1060         shrl    $24, %eax       #, tmp208
1061         andl    $15, %eax       #, D.5380
1062         movzbl  %al, %eax       # D.5380, D.5381
1063         sarl    %eax    # D.5382
1064         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp210
1065         movslq  %eax,%rdx       # D.5382, D.5382
1066         movq    %rdx, %rax      # D.5382, D.5382
1067         addq    %rax, %rax      # D.5382
1068         addq    %rdx, %rax      # D.5382, D.5382
1069         salq    $3, %rax        #, tmp213
1070         movl    (%rax,%rcx), %eax       # <variable>.uValue, D.5383
1071         leal    (%rsi,%rax), %eax       #, D.5384
1072         movl    %eax, -560(%rbp)        # D.5385, rgiList
1073         movl    -588(%rbp), %eax        #, tmp216
1074         shrl    $16, %eax       #, tmp215
1075         andl    $15, %eax       #, D.5386
1076         movzbl  %al, %eax       # D.5386, D.5387
1077         sarl    %eax    # D.5388
1078         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp217
1079         movslq  %eax,%rdx       # D.5388, D.5388
1080         movq    %rdx, %rax      # D.5388, D.5388
1081         addq    %rax, %rax      # D.5388
1082         addq    %rdx, %rax      # D.5388, D.5388
1083         salq    $3, %rax        #, tmp220
1084         movl    (%rax,%rcx), %esi       # <variable>.uValue, D.5389
1085         movl    -588(%rbp), %eax        #, tmp223
1086         shrl    $24, %eax       #, tmp222
1087         andl    $15, %eax       #, D.5390
1088         movzbl  %al, %eax       # D.5390, D.5391
1089         sarl    %eax    # D.5392
1090         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp224
1091         movslq  %eax,%rdx       # D.5392, D.5392
1092         movq    %rdx, %rax      # D.5392, D.5392
1093         addq    %rax, %rax      # D.5392
1094         addq    %rdx, %rax      # D.5392, D.5392
1095         salq    $3, %rax        #, tmp227
1096         movl    (%rax,%rcx), %eax       # <variable>.uValue, D.5393
1097         leal    (%rsi,%rax), %eax       #, tmp228
1098         movl    %eax, -28(%rbp) # tmp228, uInPeril
1099         movl    $1, -24(%rbp)   #, uListIndex
1100         movzbl  -588(%rbp), %eax        # mv.D.2138.cFrom, D.5394
1101         movzbl  %al, %esi       # D.5394, D.5395
1102         mov     -20(%rbp), %eax # uWhoseTurn, D.5396
1103         imulq   $196, %rax, %rax        #, D.5396, D.5397
1104         leaq    -432(%rbp), %rdi        #, D.5399
1105         addq    %rax, %rdi      # D.5398, D.5399
1106         call    __ClearPieceByLocation  #
1107         movl    -20(%rbp), %eax # uWhoseTurn, D.5400
1108         xorl    $1, %eax        #, D.5400
1109         mov     %eax, %eax      # D.5400, D.5401
1110         imulq   $196, %rax, %rax        #, D.5401, D.5402
1111         leaq    -432(%rbp), %rcx        #, D.5404
1112         addq    %rax, %rcx      # D.5403, D.5404
1113         mov     -20(%rbp), %eax # uWhoseTurn, D.5405
1114         imulq   $196, %rax, %rax        #, D.5405, D.5406
1115         leaq    -432(%rbp), %rdx        #, D.5408
1116         addq    %rax, %rdx      # D.5407, D.5408
1117         movzbl  -588(%rbp), %eax        # mv.D.2138.cFrom, D.5409
1118         movzbl  %al, %esi       # D.5409, D.5410
1119         movzbl  -587(%rbp), %eax        # mv.D.2138.cTo, D.5411
1120         movzbl  %al, %eax       # D.5411, D.5412
1121         movl    -20(%rbp), %edi # uWhoseTurn, uWhoseTurn.53
1122         movq    -584(%rbp), %r10        # pos, pos
1123         movq    %rcx, %r9       # D.5404, D.5404
1124         movq    %rdx, %r8       # D.5408, D.5408
1125         movl    %esi, %ecx      # D.5410, D.5410
1126         movl    %eax, %edx      # D.5412, D.5412
1127         movl    %edi, %esi      # uWhoseTurn.53, uWhoseTurn.53
1128         movq    %r10, %rdi      # pos, pos
1129         call    __AddXRays      #
1130         jmp     L76     #
1131 L85:
1132         movl    -32(%rbp), %eax # pPiece, D.5425
1133         andl    $14, %eax       #, D.5425
1134         cmpl    $2, %eax        #, D.5425
1135         sete    %al     #, tmp233
1136         movzbl  %al, %ecx       # tmp233, D.5426
1137         movzbl  -587(%rbp), %eax        # mv.D.2138.cTo, D.5427
1138         movzbl  %al, %eax       # D.5427, D.5428
1139         andl    $240, %eax      #, D.5429
1140         cmpl    $112, %eax      #, D.5429
1141         sete    %dl     #, D.5430
1142         movzbl  -587(%rbp), %eax        # mv.D.2138.cTo, D.5431
1143         movzbl  %al, %eax       # D.5431, D.5432
1144         andl    $240, %eax      #, D.5433
1145         testl   %eax, %eax      # D.5433
1146         sete    %al     #, D.5434
1147         orl     %edx, %eax      # D.5430, D.5435
1148         movzbl  %al, %eax       # D.5435, D.5436
1149         andl    %ecx, %eax      # D.5426, D.5437
1150         movl    %eax, -8(%rbp)  # D.5437, uPromValue
1151         movl    -8(%rbp), %edx  # uPromValue, uPromValue
1152         movl    %edx, %eax      # uPromValue, uPromValue
1153         sall    $4, %eax        #, tmp236
1154         subl    %edx, %eax      # uPromValue, tmp236
1155         movl    %eax, %edx      # tmp236, tmp237
1156         sall    $6, %edx        #, tmp237
1157         addl    %edx, %eax      # tmp237, tmp238
1158         movl    %eax, -8(%rbp)  # tmp238, uPromValue
1159         movl    -24(%rbp), %esi # uListIndex, uListIndex.55
1160         movl    -24(%rbp), %eax # uListIndex, D.5439
1161         decl    %eax    # D.5439
1162         mov     %eax, %eax      # D.5439, D.5439
1163         movl    -560(%rbp,%rax,4), %eax # rgiList, D.5440
1164         movl    %eax, %ecx      # D.5440, D.5441
1165         movl    -8(%rbp), %eax  # uPromValue, uPromValue
1166         movl    -28(%rbp), %edx # uInPeril, D.5442
1167         addl    %eax, %edx      # uPromValue, D.5442
1168         movl    -12(%rbp), %eax # iSign, iSign.56
1169         imull   %edx, %eax      # D.5442, D.5444
1170         leal    (%rcx,%rax), %eax       #, D.5445
1171         movl    %eax, %edx      # D.5445, D.5446
1172         mov     %esi, %eax      # uListIndex.55, uListIndex.55
1173         movl    %edx, -560(%rbp,%rax,4) # D.5446, rgiList
1174         leaq    -24(%rbp), %rax #, tmp274
1175         incl    (%rax)  # uListIndex
1176         movl    -32(%rbp), %eax # pPiece, pPiece
1177         shrl    %eax    # D.5447
1178         movq    _g_PieceData@GOTPCREL(%rip), %rcx       #, tmp243
1179         mov     %eax, %edx      # D.5447, D.5447
1180         movq    %rdx, %rax      # D.5447, D.5447
1181         addq    %rax, %rax      # D.5447
1182         addq    %rdx, %rax      # D.5447, D.5447
1183         salq    $3, %rax        #, tmp246
1184         movl    (%rax,%rcx), %eax       # <variable>.uValue, D.5448
1185         addl    -8(%rbp), %eax  # uPromValue, tmp247
1186         movl    %eax, -28(%rbp) # tmp247, uInPeril
1187         movl    -16(%rbp), %eax # uOrig, D.5449
1188         xorl    $1, %eax        #, D.5449
1189         mov     %eax, %eax      # D.5449, D.5450
1190         imulq   $196, %rax, %rax        #, D.5450, D.5451
1191         leaq    -432(%rbp), %rcx        #, D.5453
1192         addq    %rax, %rcx      # D.5452, D.5453
1193         mov     -16(%rbp), %eax # uOrig, D.5454
1194         imulq   $196, %rax, %rax        #, D.5454, D.5455
1195         leaq    -432(%rbp), %rdx        #, D.5457
1196         addq    %rax, %rdx      # D.5456, D.5457
1197         movl    -564(%rbp), %r10d       # cFrom, cFrom.57
1198         movzbl  -587(%rbp), %eax        # mv.D.2138.cTo, D.5459
1199         movzbl  %al, %esi       # D.5459, D.5460
1200         movl    -588(%rbp), %eax        #, tmp250
1201         shrl    $16, %eax       #, tmp249
1202         andl    $15, %eax       #, D.5461
1203         movzbl  %al, %eax       # D.5461, D.5462
1204         andl    $1, %eax        #, D.5463
1205         movq    -584(%rbp), %rdi        # pos, pos
1206         movq    %rcx, %r9       # D.5453, D.5453
1207         movq    %rdx, %r8       # D.5457, D.5457
1208         movl    %r10d, %ecx     # cFrom.57, cFrom.57
1209         movl    %esi, %edx      # D.5460, D.5460
1210         movl    %eax, %esi      # D.5463, D.5463
1211         call    __AddXRays      #
1212 L76:
1213         leaq    -20(%rbp), %rax #, tmp270
1214         xorl    $1, (%rax)      #, uWhoseTurn
1215         leaq    -12(%rbp), %rax #, tmp272
1216         negl    (%rax)  # iSign
1217         movl    -564(%rbp), %r8d        # cFrom, cFrom.54
1218         movl    -20(%rbp), %eax # uWhoseTurn, D.5415
1219         xorl    $1, %eax        #, D.5415
1220         mov     %eax, %eax      # D.5415, D.5416
1221         imulq   $196, %rax, %rax        #, D.5416, D.5417
1222         leaq    -432(%rbp), %rcx        #, D.5419
1223         addq    %rax, %rcx      # D.5418, D.5419
1224         mov     -20(%rbp), %eax # uWhoseTurn, D.5420
1225         imulq   $196, %rax, %rax        #, D.5420, D.5421
1226         leaq    -432(%rbp), %rdx        #, D.5423
1227         addq    %rax, %rdx      # D.5422, D.5423
1228         leaq    -564(%rbp), %rax        #, tmp230
1229         movl    -20(%rbp), %esi # uWhoseTurn, uWhoseTurn
1230         movq    -584(%rbp), %rdi        # pos, pos
1231         movl    %r8d, %r9d      # cFrom.54, cFrom.54
1232         movq    %rax, %r8       # tmp230,
1233         call    __MinLegalPiece #
1234         movl    %eax, -32(%rbp) # D.5424, pPiece
1235         cmpl    $0, -32(%rbp)   #, pPiece
1236         jne     L85     #,
1237 L77:
1238         leaq    -24(%rbp), %rax #, tmp276
1239         decl    (%rax)  # uListIndex
1240         jmp     L79     #
1241 L80:
1242         movl    -24(%rbp), %eax # uListIndex, tmp252
1243         andl    $1, %eax        #, tmp252
1244         movl    %eax, -4(%rbp)  # tmp252, uVal
1245         movl    -24(%rbp), %eax # uListIndex, uListIndex.58
1246         mov     %eax, %eax      # uListIndex.58, uListIndex.58
1247         movl    -560(%rbp,%rax,4), %edx # rgiList, D.5465
1248         movl    -24(%rbp), %eax # uListIndex, D.5466
1249         decl    %eax    # D.5466
1250         mov     %eax, %eax      # D.5466, D.5466
1251         movl    -560(%rbp,%rax,4), %eax # rgiList, D.5467
1252         cmpl    %eax, %edx      # D.5467, D.5465
1253         setg    %al     #, tmp255
1254         movzbl  %al, %ecx       # tmp255, D.5468
1255         movl    -24(%rbp), %eax # uListIndex, uListIndex.59
1256         mov     %eax, %eax      # uListIndex.59, uListIndex.59
1257         movl    -560(%rbp,%rax,4), %edx # rgiList, D.5470
1258         movl    -24(%rbp), %eax # uListIndex, D.5471
1259         decl    %eax    # D.5471
1260         mov     %eax, %eax      # D.5471, D.5471
1261         movl    -560(%rbp,%rax,4), %eax # rgiList, D.5472
1262         cmpl    %eax, %edx      # D.5472, D.5470
1263         setl    %al     #, tmp258
1264         movzbl  %al, %eax       # tmp258, D.5473
1265         movl    %ecx, %edx      # D.5468,
1266         subl    %eax, %edx      # D.5473,
1267         movl    %edx, %eax      #, D.5474
1268         incl    %eax    # tmp259
1269         movl    %eax, -12(%rbp) # tmp259, iSign
1270         movl    -4(%rbp), %eax  # uVal, uVal.60
1271         movl    -12(%rbp), %edx # iSign, iSign.61
1272         mov     %eax, %ecx      # uVal.60, uVal.60
1273         movslq  %edx,%rdx       # iSign.61, iSign.61
1274         movq    %rcx, %rax      # uVal.60, uVal.60
1275         addq    %rax, %rax      # uVal.60
1276         addq    %rcx, %rax      # uVal.60, uVal.60
1277         addq    %rdx, %rax      # iSign.61, tmp263
1278         leaq    0(,%rax,4), %rdx        #, tmp264
1279         leaq    __Table.5343(%rip), %rax        #, tmp265
1280         movl    (%rdx,%rax), %eax       # _Table, D.5477
1281         cmpl    $1, %eax        #, D.5477
1282         jne     L81     #,
1283         movl    -24(%rbp), %ecx # uListIndex, D.5478
1284         decl    %ecx    # D.5478
1285         movl    -24(%rbp), %eax # uListIndex, uListIndex.62
1286         mov     %eax, %eax      # uListIndex.62, uListIndex.62
1287         movl    -560(%rbp,%rax,4), %edx # rgiList, D.5480
1288         mov     %ecx, %eax      # D.5478, D.5478
1289         movl    %edx, -560(%rbp,%rax,4) # D.5480, rgiList
1290 L81:
1291         leaq    -24(%rbp), %rax #, tmp278
1292         decl    (%rax)  # uListIndex
1293 L79:
1294         cmpl    $0, -24(%rbp)   #, uListIndex
1295         jne     L80     #,
1296         movl    -560(%rbp), %eax        # rgiList, D.5481
1297         leave
1298         ret
1299 LFE41:
1300         .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
1301 EH_frame1:
1302         .set L$set$0,LECIE1-LSCIE1
1303         .long L$set$0
1304 LSCIE1:
1305         .long   0x0
1306         .byte   0x1
1307         .ascii "zR\0"
1308         .byte   0x1
1309         .byte   0x78
1310         .byte   0x10
1311         .byte   0x1
1312         .byte   0x10
1313         .byte   0xc
1314         .byte   0x7
1315         .byte   0x8
1316         .byte   0x90
1317         .byte   0x1
1318         .align 3
1319 LECIE1:
1320         .globl _SlowGetAttacks.eh
1321 _SlowGetAttacks.eh:
1322 LSFDE1:
1323         .set L$set$1,LEFDE1-LASFDE1
1324         .long L$set$1
1325 LASFDE1:
1326         .long   LASFDE1-EH_frame1
1327         .quad   LFB33-.
1328         .set L$set$2,LFE33-LFB33
1329         .quad L$set$2
1330         .byte   0x0
1331         .byte   0x4
1332         .set L$set$3,LCFI0-LFB33
1333         .long L$set$3
1334         .byte   0xe
1335         .byte   0x10
1336         .byte   0x86
1337         .byte   0x2
1338         .byte   0x4
1339         .set L$set$4,LCFI1-LCFI0
1340         .long L$set$4
1341         .byte   0xd
1342         .byte   0x6
1343         .align 3
1344 LEFDE1:
1345 __PushDown.eh:
1346 LSFDE3:
1347         .set L$set$5,LEFDE3-LASFDE3
1348         .long L$set$5
1349 LASFDE3:
1350         .long   LASFDE3-EH_frame1
1351         .quad   LFB34-.
1352         .set L$set$6,LFE34-LFB34
1353         .quad L$set$6
1354         .byte   0x0
1355         .byte   0x4
1356         .set L$set$7,LCFI2-LFB34
1357         .long L$set$7
1358         .byte   0xe
1359         .byte   0x10
1360         .byte   0x86
1361         .byte   0x2
1362         .byte   0x4
1363         .set L$set$8,LCFI3-LCFI2
1364         .long L$set$8
1365         .byte   0xd
1366         .byte   0x6
1367         .align 3
1368 LEFDE3:
1369 __BuildHeap.eh:
1370 LSFDE5:
1371         .set L$set$9,LEFDE5-LASFDE5
1372         .long L$set$9
1373 LASFDE5:
1374         .long   LASFDE5-EH_frame1
1375         .quad   LFB35-.
1376         .set L$set$10,LFE35-LFB35
1377         .quad L$set$10
1378         .byte   0x0
1379         .byte   0x4
1380         .set L$set$11,LCFI5-LFB35
1381         .long L$set$11
1382         .byte   0xe
1383         .byte   0x10
1384         .byte   0x86
1385         .byte   0x2
1386         .byte   0x4
1387         .set L$set$12,LCFI6-LCFI5
1388         .long L$set$12
1389         .byte   0xd
1390         .byte   0x6
1391         .align 3
1392 LEFDE5:
1393 __BubbleUp.eh:
1394 LSFDE7:
1395         .set L$set$13,LEFDE7-LASFDE7
1396         .long L$set$13
1397 LASFDE7:
1398         .long   LASFDE7-EH_frame1
1399         .quad   LFB36-.
1400         .set L$set$14,LFE36-LFB36
1401         .quad L$set$14
1402         .byte   0x0
1403         .byte   0x4
1404         .set L$set$15,LCFI8-LFB36
1405         .long L$set$15
1406         .byte   0xe
1407         .byte   0x10
1408         .byte   0x86
1409         .byte   0x2
1410         .byte   0x4
1411         .set L$set$16,LCFI9-LCFI8
1412         .long L$set$16
1413         .byte   0xd
1414         .byte   0x6
1415         .align 3
1416 LEFDE7:
1417 __ClearPieceByLocation.eh:
1418 LSFDE9:
1419         .set L$set$17,LEFDE9-LASFDE9
1420         .long L$set$17
1421 LASFDE9:
1422         .long   LASFDE9-EH_frame1
1423         .quad   LFB38-.
1424         .set L$set$18,LFE38-LFB38
1425         .quad L$set$18
1426         .byte   0x0
1427         .byte   0x4
1428         .set L$set$19,LCFI11-LFB38
1429         .long L$set$19
1430         .byte   0xe
1431         .byte   0x10
1432         .byte   0x86
1433         .byte   0x2
1434         .byte   0x4
1435         .set L$set$20,LCFI12-LCFI11
1436         .long L$set$20
1437         .byte   0xd
1438         .byte   0x6
1439         .align 3
1440 LEFDE9:
1441 __RemoveItem.eh:
1442 LSFDE11:
1443         .set L$set$21,LEFDE11-LASFDE11
1444         .long L$set$21
1445 LASFDE11:
1446         .long   LASFDE11-EH_frame1
1447         .quad   LFB37-.
1448         .set L$set$22,LFE37-LFB37
1449         .quad L$set$22
1450         .byte   0x0
1451         .byte   0x4
1452         .set L$set$23,LCFI14-LFB37
1453         .long L$set$23
1454         .byte   0xe
1455         .byte   0x10
1456         .byte   0x86
1457         .byte   0x2
1458         .byte   0x4
1459         .set L$set$24,LCFI15-LCFI14
1460         .long L$set$24
1461         .byte   0xd
1462         .byte   0x6
1463         .align 3
1464 LEFDE11:
1465 __MinLegalPiece.eh:
1466 LSFDE13:
1467         .set L$set$25,LEFDE13-LASFDE13
1468         .long L$set$25
1469 LASFDE13:
1470         .long   LASFDE13-EH_frame1
1471         .quad   LFB39-.
1472         .set L$set$26,LFE39-LFB39
1473         .quad L$set$26
1474         .byte   0x0
1475         .byte   0x4
1476         .set L$set$27,LCFI17-LFB39
1477         .long L$set$27
1478         .byte   0xe
1479         .byte   0x10
1480         .byte   0x86
1481         .byte   0x2
1482         .byte   0x4
1483         .set L$set$28,LCFI18-LCFI17
1484         .long L$set$28
1485         .byte   0xd
1486         .byte   0x6
1487         .align 3
1488 LEFDE13:
1489 __AddXRays.eh:
1490 LSFDE15:
1491         .set L$set$29,LEFDE15-LASFDE15
1492         .long L$set$29
1493 LASFDE15:
1494         .long   LASFDE15-EH_frame1
1495         .quad   LFB40-.
1496         .set L$set$30,LFE40-LFB40
1497         .quad L$set$30
1498         .byte   0x0
1499         .byte   0x4
1500         .set L$set$31,LCFI20-LFB40
1501         .long L$set$31
1502         .byte   0xe
1503         .byte   0x10
1504         .byte   0x86
1505         .byte   0x2
1506         .byte   0x4
1507         .set L$set$32,LCFI21-LCFI20
1508         .long L$set$32
1509         .byte   0xd
1510         .byte   0x6
1511         .align 3
1512 LEFDE15:
1513         .globl _SEE.eh
1514 _SEE.eh:
1515 LSFDE17:
1516         .set L$set$33,LEFDE17-LASFDE17
1517         .long L$set$33
1518 LASFDE17:
1519         .long   LASFDE17-EH_frame1
1520         .quad   LFB41-.
1521         .set L$set$34,LFE41-LFB41
1522         .quad L$set$34
1523         .byte   0x0
1524         .byte   0x4
1525         .set L$set$35,LCFI23-LFB41
1526         .long L$set$35
1527         .byte   0xe
1528         .byte   0x10
1529         .byte   0x86
1530         .byte   0x2
1531         .byte   0x4
1532         .set L$set$36,LCFI24-LCFI23
1533         .long L$set$36
1534         .byte   0xd
1535         .byte   0x6
1536         .align 3
1537 LEFDE17:
1538         .subsections_via_symbols