562229:	5b                   	pop    %ebx
56222a:	c3                   	ret
56222b:	90                   	nop
56222c:	53                   	push   %ebx
56222d:	56                   	push   %esi
56222e:	57                   	push   %edi
56222f:	55                   	push   %ebp
562230:	8b fa                	mov    %edx,%edi
562232:	8b e8                	mov    %eax,%ebp
562234:	33 db                	xor    %ebx,%ebx
562236:	eb 33                	jmp    0x56226b
562238:	8b 47 04             	mov    0x4(%edi),%eax
56223b:	8b d3                	mov    %ebx,%edx
56223d:	03 d2                	add    %edx,%edx
56223f:	8d 14 92             	lea    (%edx,%edx,4),%edx
562242:	03 c2                	add    %edx,%eax
562244:	e8 ab aa 00 00       	call   0x56ccf4
562249:	8b f0                	mov    %eax,%esi
56224b:	85 c0                	test   %eax,%eax
56224d:	75 05                	jne    0x562254
56224f:	83 c8 ff             	or     $0xffffffff,%eax
562252:	eb 1f                	jmp    0x562273
562254:	8b 45 4c             	mov    0x4c(%ebp),%eax
562257:	8b ce                	mov    %esi,%ecx
562259:	83 ca ff             	or     $0xffffffff,%edx
56225c:	e8 df a9 00 00       	call   0x56cc40
562261:	85 c0                	test   %eax,%eax
562263:	74 05                	je     0x56226a
562265:	83 c8 ff             	or     $0xffffffff,%eax
562268:	eb 09                	jmp    0x562273
56226a:	43                   	inc    %ebx
56226b:	8b 17                	mov    (%edi),%edx
56226d:	3b da                	cmp    %edx,%ebx
56226f:	7c c7                	jl     0x562238
562271:	33 c0                	xor    %eax,%eax
562273:	5d                   	pop    %ebp
562274:	5f                   	pop    %edi
562275:	5e                   	pop    %esi
562276:	5b                   	pop    %ebx
562277:	c3                   	ret
562278:	53                   	push   %ebx
562279:	56                   	push   %esi
56227a:	57                   	push   %edi
56227b:	55                   	push   %ebp
56227c:	51                   	push   %ecx
56227d:	89 0c 24             	mov    %ecx,(%esp)
562280:	8b ea                	mov    %edx,%ebp
562282:	8b f8                	mov    %eax,%edi
562284:	8b 04 24             	mov    (%esp),%eax
562287:	85 c0                	test   %eax,%eax
562289:	74 21                	je     0x5622ac
56228b:	eb 13                	jmp    0x5622a0
56228d:	8b 47 04             	mov    0x4(%edi),%eax
562290:	33 d2                	xor    %edx,%edx
562292:	e8 15 aa 00 00       	call   0x56ccac
562297:	8b f0                	mov    %eax,%esi
562299:	8b c6                	mov    %esi,%eax
56229b:	e8 0c ab 00 00       	call   0x56cdac
5622a0:	8b 47 04             	mov    0x4(%edi),%eax
5622a3:	e8 14 ab 00 00       	call   0x56cdbc
5622a8:	85 c0                	test   %eax,%eax
5622aa:	7f e1                	jg     0x56228d
5622ac:	33 db                	xor    %ebx,%ebx
5622ae:	eb 33                	jmp    0x5622e3
5622b0:	8b 45 04             	mov    0x4(%ebp),%eax
5622b3:	8b d3                	mov    %ebx,%edx
5622b5:	03 d2                	add    %edx,%edx
5622b7:	8d 14 92             	lea    (%edx,%edx,4),%edx
5622ba:	03 c2                	add    %edx,%eax
5622bc:	e8 33 aa 00 00       	call   0x56ccf4
5622c1:	8b f0                	mov    %eax,%esi
5622c3:	85 c0                	test   %eax,%eax
5622c5:	75 05                	jne    0x5622cc
5622c7:	83 c8 ff             	or     $0xffffffff,%eax
5622ca:	eb 20                	jmp    0x5622ec
5622cc:	8b 47 04             	mov    0x4(%edi),%eax
5622cf:	8b ce                	mov    %esi,%ecx
5622d1:	83 ca ff             	or     $0xffffffff,%edx
5622d4:	e8 67 a9 00 00       	call   0x56cc40
5622d9:	85 c0                	test   %eax,%eax
5622db:	74 05                	je     0x5622e2
5622dd:	83 c8 ff             	or     $0xffffffff,%eax
5622e0:	eb 0a                	jmp    0x5622ec
5622e2:	43                   	inc    %ebx
5622e3:	8b 55 00             	mov    0x0(%ebp),%edx
5622e6:	3b da                	cmp    %edx,%ebx
5622e8:	7c c6                	jl     0x5622b0
5622ea:	33 c0                	xor    %eax,%eax
5622ec:	5a                   	pop    %edx
5622ed:	5d                   	pop    %ebp
5622ee:	5f                   	pop    %edi
5622ef:	5e                   	pop    %esi
5622f0:	5b                   	pop    %ebx
5622f1:	c3                   	ret
5622f2:	90                   	nop
5622f3:	90                   	nop
5622f4:	53                   	push   %ebx
5622f5:	56                   	push   %esi
5622f6:	57                   	push   %edi
5622f7:	be 00 20 00 00       	mov    $0x2000,%esi
5622fc:	bb 02 00 00 00       	mov    $0x2,%ebx
562301:	85 db                	test   %ebx,%ebx
562303:	7c 0e                	jl     0x562313
562305:	8b cb                	mov    %ebx,%ecx
562307:	8b f8                	mov    %eax,%edi
562309:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
56230f:	d3 e7                	shl    %cl,%edi
562311:	eb 0e                	jmp    0x562321
562313:	8b cb                	mov    %ebx,%ecx
562315:	8b f8                	mov    %eax,%edi
562317:	f7 d9                	neg    %ecx
562319:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
56231f:	d3 ff                	sar    %cl,%edi
562321:	c1 f8 0b             	sar    $0xb,%eax
562324:	8b da                	mov    %edx,%ebx
562326:	2b d8                	sub    %eax,%ebx
562328:	0b f7                	or     %edi,%esi
56232a:	85 db                	test   %ebx,%ebx
56232c:	7c 08                	jl     0x562336
56232e:	8b cb                	mov    %ebx,%ecx
562330:	8b c6                	mov    %esi,%eax
562332:	d3 e0                	shl    %cl,%eax
562334:	eb 08                	jmp    0x56233e
562336:	8b cb                	mov    %ebx,%ecx
562338:	8b c6                	mov    %esi,%eax
56233a:	f7 d9                	neg    %ecx
56233c:	d3 f8                	sar    %cl,%eax
56233e:	8b f0                	mov    %eax,%esi
562340:	8b c6                	mov    %esi,%eax
562342:	5f                   	pop    %edi
562343:	5e                   	pop    %esi
562344:	5b                   	pop    %ebx
562345:	c3                   	ret
562346:	90                   	nop
562347:	90                   	nop
562348:	53                   	push   %ebx
562349:	56                   	push   %esi
56234a:	57                   	push   %edi
56234b:	55                   	push   %ebp
56234c:	51                   	push   %ecx
56234d:	89 14 24             	mov    %edx,(%esp)
562350:	8b f8                	mov    %eax,%edi
562352:	8b 04 24             	mov    (%esp),%eax
562355:	85 c0                	test   %eax,%eax
562357:	7d 17                	jge    0x562370
562359:	68 0d 07 00 00       	push   $0x70d
56235e:	68 b1 ef 69 00       	push   $0x69efb1
562363:	68 a0 ef 69 00       	push   $0x69efa0
562368:	e8 d3 87 ff ff       	call   0x55ab40
56236d:	83 c4 0c             	add    $0xc,%esp
562370:	8b 14 24             	mov    (%esp),%edx
562373:	81 fa 00 20 00 00    	cmp    $0x2000,%edx
562379:	74 49                	je     0x5623c4
56237b:	33 ed                	xor    %ebp,%ebp
56237d:	eb 3e                	jmp    0x5623bd
56237f:	33 f6                	xor    %esi,%esi
562381:	eb 32                	jmp    0x5623b5
562383:	8b 47 1c             	mov    0x1c(%edi),%eax
562386:	8b 14 a8             	mov    (%eax,%ebp,4),%edx
562389:	8b 1c b2             	mov    (%edx,%esi,4),%ebx
56238c:	85 db                	test   %ebx,%ebx
56238e:	74 19                	je     0x5623a9
562390:	8b 04 24             	mov    (%esp),%eax
562393:	99                   	cltd
562394:	52                   	push   %edx
562395:	50                   	push   %eax
562396:	8b c3                	mov    %ebx,%eax
562398:	99                   	cltd
562399:	e8 e6 8c ff ff       	call   0x55b084
56239e:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
5623a2:	c1 fa 0d             	sar    $0xd,%edx
5623a5:	8b d8                	mov    %eax,%ebx
5623a7:	eb 02                	jmp    0x5623ab
5623a9:	33 db                	xor    %ebx,%ebx
5623ab:	8b 47 1c             	mov    0x1c(%edi),%eax
5623ae:	8b 14 a8             	mov    (%eax,%ebp,4),%edx
5623b1:	89 1c b2             	mov    %ebx,(%edx,%esi,4)
5623b4:	46                   	inc    %esi
5623b5:	8b 4f 18             	mov    0x18(%edi),%ecx
5623b8:	3b f1                	cmp    %ecx,%esi
5623ba:	7c c7                	jl     0x562383
5623bc:	45                   	inc    %ebp
5623bd:	8b 47 14             	mov    0x14(%edi),%eax
5623c0:	3b e8                	cmp    %eax,%ebp
5623c2:	7c bb                	jl     0x56237f
5623c4:	5a                   	pop    %edx
5623c5:	5d                   	pop    %ebp
5623c6:	5f                   	pop    %edi
5623c7:	5e                   	pop    %esi
5623c8:	5b                   	pop    %ebx
5623c9:	c3                   	ret
5623ca:	90                   	nop
5623cb:	90                   	nop
5623cc:	55                   	push   %ebp
5623cd:	8b ec                	mov    %esp,%ebp
5623cf:	83 c4 e8             	add    $0xffffffe8,%esp
5623d2:	53                   	push   %ebx
5623d3:	56                   	push   %esi
5623d4:	57                   	push   %edi
5623d5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5623d8:	89 55 f8             	mov    %edx,-0x8(%ebp)
5623db:	89 45 fc             	mov    %eax,-0x4(%ebp)
5623de:	8b 45 f8             	mov    -0x8(%ebp),%eax
5623e1:	85 c0                	test   %eax,%eax
5623e3:	75 0b                	jne    0x5623f0
5623e5:	8b 55 f4             	mov    -0xc(%ebp),%edx
5623e8:	85 d2                	test   %edx,%edx
5623ea:	0f 84 e0 00 00 00    	je     0x5624d0
5623f0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5623f3:	b8 01 00 00 00       	mov    $0x1,%eax
5623f8:	d3 e0                	shl    %cl,%eax
5623fa:	89 45 ec             	mov    %eax,-0x14(%ebp)
5623fd:	33 c0                	xor    %eax,%eax
5623ff:	33 d2                	xor    %edx,%edx
562401:	89 55 f0             	mov    %edx,-0x10(%ebp)
562404:	e9 b6 00 00 00       	jmp    0x5624bf
562409:	33 ff                	xor    %edi,%edi
56240b:	e9 9e 00 00 00       	jmp    0x5624ae
562410:	8b 55 fc             	mov    -0x4(%ebp),%edx
562413:	8b 4a 1c             	mov    0x1c(%edx),%ecx
562416:	8b 55 f0             	mov    -0x10(%ebp),%edx
562419:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
56241c:	8b 1c b9             	mov    (%ecx,%edi,4),%ebx
56241f:	85 db                	test   %ebx,%ebx
562421:	7c 04                	jl     0x562427
562423:	8b f3                	mov    %ebx,%esi
562425:	eb 04                	jmp    0x56242b
562427:	8b f3                	mov    %ebx,%esi
562429:	f7 de                	neg    %esi
56242b:	8b 55 ec             	mov    -0x14(%ebp),%edx
56242e:	3b f2                	cmp    %edx,%esi
562430:	7c 24                	jl     0x562456
562432:	8b 4d f8             	mov    -0x8(%ebp),%ecx
562435:	d3 fe                	sar    %cl,%esi
562437:	85 db                	test   %ebx,%ebx
562439:	7d 06                	jge    0x562441
56243b:	8b d6                	mov    %esi,%edx
56243d:	f7 da                	neg    %edx
56243f:	eb 02                	jmp    0x562443
562441:	8b d6                	mov    %esi,%edx
562443:	8b da                	mov    %edx,%ebx
562445:	8b 4d fc             	mov    -0x4(%ebp),%ecx
562448:	8b 51 1c             	mov    0x1c(%ecx),%edx
56244b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
56244e:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
562451:	89 1c ba             	mov    %ebx,(%edx,%edi,4)
562454:	eb 57                	jmp    0x5624ad
562456:	8b 4d f4             	mov    -0xc(%ebp),%ecx
562459:	d3 e6                	shl    %cl,%esi
56245b:	8b 4d 08             	mov    0x8(%ebp),%ecx
56245e:	ba 01 00 00 00       	mov    $0x1,%edx
562463:	d3 e2                	shl    %cl,%edx
562465:	4a                   	dec    %edx
562466:	89 55 e8             	mov    %edx,-0x18(%ebp)
562469:	8b 55 e8             	mov    -0x18(%ebp),%edx
56246c:	f7 d2                	not    %edx
56246e:	23 d6                	and    %esi,%edx
562470:	74 1e                	je     0x562490
562472:	85 c0                	test   %eax,%eax
562474:	75 17                	jne    0x56248d
562476:	68 bb ef 69 00       	push   $0x69efbb
56247b:	68 80 2e 6a 00       	push   $0x6a2e80
562480:	e8 47 7c 01 00       	call   0x57a0cc
562485:	83 c4 08             	add    $0x8,%esp
562488:	b8 01 00 00 00       	mov    $0x1,%eax
56248d:	23 75 e8             	and    -0x18(%ebp),%esi
562490:	85 db                	test   %ebx,%ebx
562492:	7d 06                	jge    0x56249a
562494:	8b ce                	mov    %esi,%ecx
562496:	f7 d9                	neg    %ecx
562498:	eb 02                	jmp    0x56249c
56249a:	8b ce                	mov    %esi,%ecx
56249c:	8b d9                	mov    %ecx,%ebx
56249e:	8b 55 fc             	mov    -0x4(%ebp),%edx
5624a1:	8b 52 1c             	mov    0x1c(%edx),%edx
5624a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5624a7:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
5624aa:	89 1c ba             	mov    %ebx,(%edx,%edi,4)
5624ad:	47                   	inc    %edi
5624ae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5624b1:	8b 51 18             	mov    0x18(%ecx),%edx
5624b4:	3b fa                	cmp    %edx,%edi
5624b6:	0f 8c 54 ff ff ff    	jl     0x562410
5624bc:	ff 45 f0             	incl   -0x10(%ebp)
5624bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5624c2:	8b 51 14             	mov    0x14(%ecx),%edx
5624c5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5624c8:	3b d1                	cmp    %ecx,%edx
5624ca:	0f 8f 39 ff ff ff    	jg     0x562409
5624d0:	5f                   	pop    %edi
5624d1:	5e                   	pop    %esi
5624d2:	5b                   	pop    %ebx
5624d3:	8b e5                	mov    %ebp,%esp
5624d5:	5d                   	pop    %ebp
5624d6:	c2 04 00             	ret    $0x4
5624d9:	90                   	nop
5624da:	90                   	nop
5624db:	90                   	nop
5624dc:	53                   	push   %ebx
5624dd:	56                   	push   %esi
5624de:	57                   	push   %edi
5624df:	8b fa                	mov    %edx,%edi
5624e1:	8b f0                	mov    %eax,%esi
5624e3:	b8 6c 00 00 00       	mov    $0x6c,%eax
5624e8:	e8 8f 5e 01 00       	call   0x57837c
5624ed:	8b d8                	mov    %eax,%ebx
5624ef:	85 c0                	test   %eax,%eax
5624f1:	75 07                	jne    0x5624fa
5624f3:	33 c0                	xor    %eax,%eax
5624f5:	e9 83 00 00 00       	jmp    0x56257d
5624fa:	33 d2                	xor    %edx,%edx
5624fc:	33 c9                	xor    %ecx,%ecx
5624fe:	89 13                	mov    %edx,(%ebx)
562500:	89 4b 04             	mov    %ecx,0x4(%ebx)
562503:	33 c0                	xor    %eax,%eax
562505:	33 d2                	xor    %edx,%edx
562507:	89 43 08             	mov    %eax,0x8(%ebx)
56250a:	89 53 0c             	mov    %edx,0xc(%ebx)
56250d:	33 c9                	xor    %ecx,%ecx
56250f:	33 c0                	xor    %eax,%eax
562511:	89 4b 10             	mov    %ecx,0x10(%ebx)
562514:	89 43 14             	mov    %eax,0x14(%ebx)
562517:	33 d2                	xor    %edx,%edx
562519:	33 c9                	xor    %ecx,%ecx
56251b:	89 53 18             	mov    %edx,0x18(%ebx)
56251e:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
562521:	33 c0                	xor    %eax,%eax
562523:	33 d2                	xor    %edx,%edx
562525:	89 43 20             	mov    %eax,0x20(%ebx)
562528:	89 53 24             	mov    %edx,0x24(%ebx)
56252b:	33 c9                	xor    %ecx,%ecx
56252d:	33 c0                	xor    %eax,%eax
56252f:	89 4b 28             	mov    %ecx,0x28(%ebx)
562532:	89 43 2c             	mov    %eax,0x2c(%ebx)
562535:	33 d2                	xor    %edx,%edx
562537:	33 c9                	xor    %ecx,%ecx
562539:	89 53 30             	mov    %edx,0x30(%ebx)
56253c:	89 4b 34             	mov    %ecx,0x34(%ebx)
56253f:	33 c0                	xor    %eax,%eax
562541:	33 d2                	xor    %edx,%edx
562543:	89 43 38             	mov    %eax,0x38(%ebx)
562546:	89 7b 3c             	mov    %edi,0x3c(%ebx)
562549:	89 53 40             	mov    %edx,0x40(%ebx)
56254c:	33 d2                	xor    %edx,%edx
56254e:	8b 4e 04             	mov    0x4(%esi),%ecx
562551:	89 4b 44             	mov    %ecx,0x44(%ebx)
562554:	33 c9                	xor    %ecx,%ecx
562556:	8b 46 08             	mov    0x8(%esi),%eax
562559:	89 43 48             	mov    %eax,0x48(%ebx)
56255c:	89 53 4c             	mov    %edx,0x4c(%ebx)