100023df:	1f                   	pop    %ds
100023e0:	17                   	pop    %ss
100023e1:	9f                   	lahf
100023e2:	42                   	inc    %edx
100023e3:	17                   	pop    %ss
100023e4:	93                   	xchg   %eax,%ebx
100023e5:	af                   	scas   %es:(%edi),%eax
100023e6:	eb a3                	jmp    0x1000238b
100023e8:	36 16                	ss push %ss
100023ea:	90                   	nop
100023eb:	a3 53 ca a8 48       	mov    %eax,0x48a8ca53
100023f0:	69 80 76 15 47 76 05 	imul   $0x9dc34805,0x76471576(%eax),%eax
100023f7:	48 c3 9d
100023fa:	39 22                	cmp    %esp,(%edx)
100023fc:	71 af                	jno    0x100023ad
100023fe:	cf                   	iret
100023ff:	3a 08                	cmp    (%eax),%cl
10002401:	9f                   	lahf
10002402:	62 1c c5 89 44 24 4c 	bound  %ebx,0x4c244489(,%eax,8)
10002409:	8b 44 24 4c          	mov    0x4c(%esp),%eax
1000240d:	83 e0 01             	and    $0x1,%eax
10002410:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
10002417:	00
10002418:	83 f8 00             	cmp    $0x0,%eax
1000241b:	0f 84 3a f4 ff ff    	je     0x1000185b
10002421:	e9 8e fe ff ff       	jmp    0x100022b4
10002426:	b8 0c a1 ae 70       	mov    $0x70aea10c,%eax
1000242b:	2b 44 24 54          	sub    0x54(%esp),%eax
1000242f:	8b 0d 0c 50 00 10    	mov    0x1000500c,%ecx
10002435:	ff d1                	call   *%ecx
10002437:	d3 95 b4 ee 47 33    	rcll   %cl,0x3347eeb4(%ebp)
1000243d:	7a 7c                	jp     0x100024bb
1000243f:	1f                   	pop    %ds
10002440:	17                   	pop    %ss
10002441:	9f                   	lahf
10002442:	42                   	inc    %edx
10002443:	17                   	pop    %ss
10002444:	93                   	xchg   %eax,%ebx
10002445:	af                   	scas   %es:(%edi),%eax
10002446:	eb a3                	jmp    0x100023eb
10002448:	36 16                	ss push %ss
1000244a:	90                   	nop
1000244b:	a3 53 ca a8 48       	mov    %eax,0x48a8ca53
10002450:	69 80 76 15 47 76 05 	imul   $0x9dc34805,0x76471576(%eax),%eax
10002457:	48 c3 9d
1000245a:	39 22                	cmp    %esp,(%edx)
1000245c:	71 af                	jno    0x1000240d
1000245e:	cf                   	iret
1000245f:	3a 08                	cmp    (%eax),%cl
10002461:	9f                   	lahf
10002462:	62 1c c5 89 44 24 4c 	bound  %ebx,0x4c244489(,%eax,8)
10002469:	39 44 24 4c          	cmp    %eax,0x4c(%esp)
1000246d:	0f 84 1c f8 ff ff    	je     0x10001c8f
10002473:	e9 04 fa ff ff       	jmp    0x10001e7c
10002478:	55                   	push   %ebp
10002479:	89 e5                	mov    %esp,%ebp
1000247b:	50                   	push   %eax
1000247c:	a1 38 e1 02 10       	mov    0x1002e138,%eax
10002481:	83 c0 10             	add    $0x10,%eax
10002484:	89 45 fc             	mov    %eax,-0x4(%ebp)
10002487:	8b 4d fc             	mov    -0x4(%ebp),%ecx
1000248a:	64 8b 11             	mov    %fs:(%ecx),%edx
1000248d:	8b 42 34             	mov    0x34(%edx),%eax
10002490:	83 c4 04             	add    $0x4,%esp
10002493:	5d                   	pop    %ebp
10002494:	c3                   	ret
10002495:	55                   	push   %ebp
10002496:	89 e5                	mov    %esp,%ebp
10002498:	83 ec 20             	sub    $0x20,%esp
1000249b:	8b 45 08             	mov    0x8(%ebp),%eax
1000249e:	c7 45 fc 55 f5 b2 46 	movl   $0x46b2f555,-0x4(%ebp)
100024a5:	c6 45 fb 14          	movb   $0x14,-0x5(%ebp)
100024a9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
100024ac:	eb 53                	jmp    0x10002501
100024ae:	8b 45 f0             	mov    -0x10(%ebp),%eax
100024b1:	80 78 04 cd          	cmpb   $0xcd,0x4(%eax)
100024b5:	0f 94 c1             	sete   %cl
100024b8:	80 e1 01             	and    $0x1,%cl
100024bb:	0f b6 c1             	movzbl %cl,%eax
100024be:	89 45 ec             	mov    %eax,-0x14(%ebp)
100024c1:	eb 22                	jmp    0x100024e5
100024c3:	c7 45 e8 9e 7c 93 2b 	movl   $0x2b937c9e,-0x18(%ebp)
100024ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
100024cd:	83 c0 01             	add    $0x1,%eax
100024d0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
100024d3:	81 c1 ec 49 c1 e6    	add    $0xe6c149ec,%ecx
100024d9:	8b 55 e8             	mov    -0x18(%ebp),%edx
100024dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
100024df:	39 ca                	cmp    %ecx,%edx
100024e1:	74 4b                	je     0x1000252e
100024e3:	eb 56                	jmp    0x1000253b
100024e5:	8b 45 ec             	mov    -0x14(%ebp),%eax
100024e8:	83 c4 20             	add    $0x20,%esp
100024eb:	5d                   	pop    %ebp
100024ec:	c3                   	ret
100024ed:	8b 45 f0             	mov    -0x10(%ebp),%eax
100024f0:	8a 48 03             	mov    0x3(%eax),%cl
100024f3:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
100024fa:	80 f9 50             	cmp    $0x50,%cl
100024fd:	74 af                	je     0x100024ae
100024ff:	eb e4                	jmp    0x100024e5
10002501:	8b 45 08             	mov    0x8(%ebp),%eax
10002504:	89 45 f0             	mov    %eax,-0x10(%ebp)
10002507:	8b 45 f0             	mov    -0x10(%ebp),%eax
1000250a:	8a 08                	mov    (%eax),%cl
1000250c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
10002513:	88 ca                	mov    %cl,%dl
10002515:	80 ea b8             	sub    $0xb8,%dl
10002518:	88 4d e3             	mov    %cl,-0x1d(%ebp)
1000251b:	88 55 e2             	mov    %dl,-0x1e(%ebp)
1000251e:	74 cd                	je     0x100024ed
10002520:	eb 00                	jmp    0x10002522
10002522:	8a 45 e3             	mov    -0x1d(%ebp),%al
10002525:	2c ff                	sub    $0xff,%al
10002527:	88 45 e1             	mov    %al,-0x1f(%ebp)
1000252a:	74 97                	je     0x100024c3
1000252c:	eb b7                	jmp    0x100024e5
1000252e:	8b 45 f0             	mov    -0x10(%ebp),%eax
10002531:	8b 40 02             	mov    0x2(%eax),%eax
10002534:	8b 00                	mov    (%eax),%eax
10002536:	89 45 08             	mov    %eax,0x8(%ebp)
10002539:	eb c6                	jmp    0x10002501
1000253b:	8b 45 f4             	mov    -0xc(%ebp),%eax
1000253e:	8a 08                	mov    (%eax),%cl
10002540:	8b 45 fc             	mov    -0x4(%ebp),%eax
10002543:	35 55 f5 b2 46       	xor    $0x46b2f555,%eax
10002548:	8a 55 fb             	mov    -0x5(%ebp),%dl
1000254b:	80 c2 11             	add    $0x11,%dl
1000254e:	89 45 ec             	mov    %eax,-0x14(%ebp)
10002551:	38 d1                	cmp    %dl,%cl
10002553:	74 d9                	je     0x1000252e
10002555:	eb 8e                	jmp    0x100024e5
10002557:	55                   	push   %ebp
10002558:	89 e5                	mov    %esp,%ebp
1000255a:	56                   	push   %esi
1000255b:	83 ec 0c             	sub    $0xc,%esp
1000255e:	8d 05 57 25 00 10    	lea    0x10002557,%eax
10002564:	c7 45 f8 72 ad e8 42 	movl   $0x42e8ad72,-0x8(%ebp)
1000256b:	89 45 f4             	mov    %eax,-0xc(%ebp)
1000256e:	eb 32                	jmp    0x100025a2
10002570:	8b 45 f0             	mov    -0x10(%ebp),%eax
10002573:	05 00 f0 ff ff       	add    $0xfffff000,%eax
10002578:	25 00 f0 ff ff       	and    $0xfffff000,%eax
1000257d:	89 45 f4             	mov    %eax,-0xc(%ebp)
10002580:	eb 20                	jmp    0x100025a2
10002582:	b8 c2 f2 e8 42       	mov    $0x42e8f2c2,%eax
10002587:	8b 4d f8             	mov    -0x8(%ebp),%ecx
1000258a:	8b 55 f0             	mov    -0x10(%ebp),%edx
1000258d:	8b 72 3c             	mov    0x3c(%edx),%esi
10002590:	8b 34 32             	mov    (%edx,%esi,1),%esi
10002593:	29 c8                	sub    %ecx,%eax
10002595:	39 c6                	cmp    %eax,%esi
10002597:	75 d7                	jne    0x10002570
10002599:	8b 45 f0             	mov    -0x10(%ebp),%eax
1000259c:	83 c4 0c             	add    $0xc,%esp
1000259f:	5e                   	pop    %esi
100025a0:	5d                   	pop    %ebp
100025a1:	c3                   	ret
100025a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
100025a5:	66 81 38 4d 5a       	cmpw   $0x5a4d,(%eax)
100025aa:	89 45 f0             	mov    %eax,-0x10(%ebp)
100025ad:	74 d3                	je     0x10002582
100025af:	eb bf                	jmp    0x10002570
100025b1:	55                   	push   %ebp
100025b2:	89 e5                	mov    %esp,%ebp
100025b4:	57                   	push   %edi
100025b5:	56                   	push   %esi
100025b6:	83 ec 1c             	sub    $0x1c,%esp
100025b9:	8b 45 10             	mov    0x10(%ebp),%eax
100025bc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
100025bf:	8b 55 08             	mov    0x8(%ebp),%edx
100025c2:	c7 45 f4 aa af 09 14 	movl   $0x1409afaa,-0xc(%ebp)
100025c9:	66 c7 45 f2 46 a2    	movw   $0xa246,-0xe(%ebp)
100025cf:	66 8b 75 f2          	mov    -0xe(%ebp),%si
100025d3:	c6 45 eb 36          	movb   $0x36,-0x15(%ebp)
100025d7:	66 81 fe 3b 29       	cmp    $0x293b,%si
100025dc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
100025df:	89 4d e0             	mov    %ecx,-0x20(%ebp)
100025e2:	89 55 dc             	mov    %edx,-0x24(%ebp)
100025e5:	76 4c                	jbe    0x10002633
100025e7:	eb 2d                	jmp    0x10002616
100025e9:	8b 45 ec             	mov    -0x14(%ebp),%eax
100025ec:	89 c1                	mov    %eax,%ecx
100025ee:	83 e1 0f             	and    $0xf,%ecx
100025f1:	8a 14 0d a9 d2 01 10 	mov    0x1001d2a9(,%ecx,1),%dl
100025f8:	80 f2 ff             	xor    $0xff,%dl
100025fb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
100025fe:	02 14 01             	add    (%ecx,%eax,1),%dl
10002601:	8b 75 dc             	mov    -0x24(%ebp),%esi
10002604:	88 14 06             	mov    %dl,(%esi,%eax,1)
10002607:	83 c0 01             	add    $0x1,%eax
1000260a:	89 45 ec             	mov    %eax,-0x14(%ebp)
1000260d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
10002610:	39 f8                	cmp    %edi,%eax
10002612:	74 1f                	je     0x10002633
10002614:	eb d3                	jmp    0x100025e9
10002616:	80 7d eb d8          	cmpb   $0xd8,-0x15(%ebp)
1000261a:	72 0f                	jb     0x1000262b
1000261c:	eb 0d                	jmp    0x1000262b
1000261e:	8b 45 f4             	mov    -0xc(%ebp),%eax
10002621:	05 56 50 f6 eb       	add    $0xebf65056,%eax
10002626:	89 45 ec             	mov    %eax,-0x14(%ebp)
10002629:	eb be                	jmp    0x100025e9
1000262b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
1000262e:	83 f8 00             	cmp    $0x0,%eax
10002631:	75 eb                	jne    0x1000261e
10002633:	83 c4 1c             	add    $0x1c,%esp
10002636:	5e                   	pop    %esi
10002637:	5f                   	pop    %edi
10002638:	5d                   	pop    %ebp
10002639:	c3                   	ret
1000263a:	55                   	push   %ebp
1000263b:	89 e5                	mov    %esp,%ebp
1000263d:	56                   	push   %esi
1000263e:	53                   	push   %ebx
1000263f:	57                   	push   %edi
10002640:	81 ec 70 04 00 00    	sub    $0x470,%esp
10002646:	8b 45 0c             	mov    0xc(%ebp),%eax
10002649:	8b 4d 08             	mov    0x8(%ebp),%ecx
1000264c:	8d 95 dc fb ff ff    	lea    -0x424(%ebp),%edx
10002652:	c7 45 f0 7c 13 86 34 	movl   $0x3486137c,-0x10(%ebp)
10002659:	8b 71 3c             	mov    0x3c(%ecx),%esi
1000265c:	89 cf                	mov    %ecx,%edi
1000265e:	8b 4c 31 78          	mov    0x78(%ecx,%esi,1),%ecx
10002662:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
10002669:	89 85 94 fb ff ff    	mov    %eax,-0x46c(%ebp)
1000266f:	89 95 90 fb ff ff    	mov    %edx,-0x470(%ebp)
10002675:	89 bd 8c fb ff ff    	mov    %edi,-0x474(%ebp)
1000267b:	89 8d 88 fb ff ff    	mov    %ecx,-0x478(%ebp)
10002681:	eb 5f                	jmp    0x100026e2
10002683:	8b 45 e0             	mov    -0x20(%ebp),%eax
10002686:	83 f0 ff             	xor    $0xffffffff,%eax
10002689:	89 45 ec             	mov    %eax,-0x14(%ebp)
1000268c:	e9 3a 01 00 00       	jmp    0x100027cb
10002691:	b8 7c 13 86 34       	mov    $0x3486137c,%eax
10002696:	8b 8d d0 fb ff ff    	mov    -0x430(%ebp),%ecx
1000269c:	89 ca                	mov    %ecx,%edx
1000269e:	83 e2 01             	and    $0x1,%edx
100026a1:	c1 e9 01             	shr    $0x1,%ecx
100026a4:	89 ce                	mov    %ecx,%esi
100026a6:	81 f6 20 83 b8 ed    	xor    $0xedb88320,%esi
100026ac:	2b 45 f0             	sub    -0x10(%ebp),%eax
100026af:	8b 7d f0             	mov    -0x10(%ebp),%edi
100026b2:	81 f7 74 13 86 34    	xor    $0x34861374,%edi
100026b8:	39 c2                	cmp    %eax,%edx
100026ba:	0f 44 f1             	cmove  %ecx,%esi
100026bd:	8b 85 ac fb ff ff    	mov    -0x454(%ebp),%eax
100026c3:	89 75 e8             	mov    %esi,-0x18(%ebp)
100026c6:	83 c0 01             	add    $0x1,%eax
100026c9:	89 85 ac fb ff ff    	mov    %eax,-0x454(%ebp)
100026cf:	8b 4d e8             	mov    -0x18(%ebp),%ecx
100026d2:	89 8d d0 fb ff ff    	mov    %ecx,-0x430(%ebp)
100026d8:	39 f8                	cmp    %edi,%eax
100026da:	0f 84 bf 00 00 00    	je     0x1000279f
100026e0:	eb af                	jmp    0x10002691
100026e2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
100026e5:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
100026eb:	8b 85 a4 fb ff ff    	mov    -0x45c(%ebp),%eax
100026f1:	c7 85 ac fb ff ff 00 	movl   $0x0,-0x454(%ebp)
100026f8:	00 00 00
100026fb:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
10002701:	eb 8e                	jmp    0x10002691
10002703:	8b 85 c8 fb ff ff    	mov    -0x438(%ebp),%eax
10002709:	89 85 c4 fb ff ff    	mov    %eax,-0x43c(%ebp)
1000270f:	8b 85 c4 fb ff ff    	mov    -0x43c(%ebp),%eax
10002715:	8b 8d c4 fb ff ff    	mov    -0x43c(%ebp),%ecx
1000271b:	83 c1 01             	add    $0x1,%ecx
1000271e:	8b 95 d4 fb ff ff    	mov    -0x42c(%ebp),%edx
10002724:	8a 1c 02             	mov    (%edx,%eax,1),%bl
10002727:	89 8d c8 fb ff ff    	mov    %ecx,-0x438(%ebp)
1000272d:	80 fb 00             	cmp    $0x0,%bl
10002730:	0f 84 ef 00 00 00    	je     0x10002825
10002736:	eb cb                	jmp    0x10002703
10002738:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
1000273e:	89 c1                	mov    %eax,%ecx
10002740:	81 e1 ff 00 00 00    	and    $0xff,%ecx
10002746:	8b 95 d4 fb ff ff    	mov    -0x42c(%ebp),%edx
1000274c:	8b b5 b8 fb ff ff    	mov    -0x448(%ebp),%esi
10002752:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
10002756:	31 d1                	xor    %edx,%ecx
10002758:	8b 8c 8d dc fb ff ff 	mov    -0x424(%ebp,%ecx,4),%ecx
1000275f:	8b 55 f0             	mov    -0x10(%ebp),%edx
10002762:	81 c2 8c ec 79 cb    	add    $0xcb79ec8c,%edx
10002768:	89 8d 84 fb ff ff    	mov    %ecx,-0x47c(%ebp)
1000276e:	89 d1                	mov    %edx,%ecx
10002770:	d3 e8                	shr    %cl,%eax
10002772:	8b 95 84 fb ff ff    	mov    -0x47c(%ebp),%edx
10002778:	31 c2                	xor    %eax,%edx
1000277a:	89 55 e0             	mov    %edx,-0x20(%ebp)
1000277d:	83 c6 01             	add    $0x1,%esi
10002780:	8b 85 c4 fb ff ff    	mov    -0x43c(%ebp),%eax
10002786:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
1000278c:	8b 55 e0             	mov    -0x20(%ebp),%edx
1000278f:	89 95 a8 fb ff ff    	mov    %edx,-0x458(%ebp)
10002795:	39 c6                	cmp    %eax,%esi
10002797:	0f 84 e6 fe ff ff    	je     0x10002683
1000279d:	eb 99                	jmp    0x10002738
1000279f:	8b 85 a4 fb ff ff    	mov    -0x45c(%ebp),%eax
100027a5:	8b 4d e8             	mov    -0x18(%ebp),%ecx
100027a8:	89 8c 85 dc fb ff ff 	mov    %ecx,-0x424(%ebp,%eax,4)
100027af:	8b 85 a4 fb ff ff    	mov    -0x45c(%ebp),%eax
100027b5:	83 c0 01             	add    $0x1,%eax
100027b8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
100027bb:	3d 00 01 00 00       	cmp    $0x100,%eax
100027c0:	0f 84 8e 00 00 00    	je     0x10002854
100027c6:	e9 17 ff ff ff       	jmp    0x100026e2
100027cb:	8b 85 94 fb ff ff    	mov    -0x46c(%ebp),%eax
100027d1:	39 45 ec             	cmp    %eax,-0x14(%ebp)
100027d4:	0f 84 ca 00 00 00    	je     0x100028a4
100027da:	e9 4e 01 00 00       	jmp    0x1000292d
100027df:	b8 7c 13 86 34       	mov    $0x3486137c,%eax
100027e4:	8b 8d b4 fb ff ff    	mov    -0x44c(%ebp),%ecx
100027ea:	89 8d bc fb ff ff    	mov    %ecx,-0x444(%ebp)
100027f0:	2b 45 f0             	sub    -0x10(%ebp),%eax
100027f3:	8b 8d 9c fb ff ff    	mov    -0x464(%ebp),%ecx
100027f9:	89 8d b0 fb ff ff    	mov    %ecx,-0x450(%ebp)
100027ff:	8b 8d bc fb ff ff    	mov    -0x444(%ebp),%ecx
10002805:	8b 95 a0 fb ff ff    	mov    -0x460(%ebp),%edx
1000280b:	8b b5 8c fb ff ff    	mov    -0x474(%ebp),%esi
10002811:	03 34 8a             	add    (%edx,%ecx,4),%esi
10002814:	89 b5 d4 fb ff ff    	mov    %esi,-0x42c(%ebp)
1000281a:	89 85 c8 fb ff ff    	mov    %eax,-0x438(%ebp)
10002820:	e9 de fe ff ff       	jmp    0x10002703
10002825:	8b 85 c4 fb ff ff    	mov    -0x43c(%ebp),%eax
1000282b:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
10002832:	83 f8 00             	cmp    $0x0,%eax
10002835:	74 94                	je     0x100027cb
10002837:	b8 7b 13 86 34       	mov    $0x3486137b,%eax
1000283c:	2b 45 f0             	sub    -0x10(%ebp),%eax
1000283f:	c7 85 b8 fb ff ff 00 	movl   $0x0,-0x448(%ebp)
10002846:	00 00 00
10002849:	89 85 a8 fb ff ff    	mov    %eax,-0x458(%ebp)
1000284f:	e9 e4 fe ff ff       	jmp    0x10002738
10002854:	b8 7c 13 86 34       	mov    $0x3486137c,%eax
10002859:	8b 8d 8c fb ff ff    	mov    -0x474(%ebp),%ecx
1000285f:	8b 95 88 fb ff ff    	mov    -0x478(%ebp),%edx
10002865:	01 d1                	add    %edx,%ecx
10002867:	89 8d d8 fb ff ff    	mov    %ecx,-0x428(%ebp)
1000286d:	8b 8d d8 fb ff ff    	mov    -0x428(%ebp),%ecx
10002873:	8b b5 8c fb ff ff    	mov    -0x474(%ebp),%esi
10002879:	03 71 20             	add    0x20(%ecx),%esi
1000287c:	89 b5 a0 fb ff ff    	mov    %esi,-0x460(%ebp)
10002882:	8b 4d f0             	mov    -0x10(%ebp),%ecx
10002885:	8b b5 d8 fb ff ff    	mov    -0x428(%ebp),%esi
1000288b:	29 c8                	sub    %ecx,%eax
1000288d:	8b 4e 18             	mov    0x18(%esi),%ecx
10002890:	89 8d 98 fb ff ff    	mov    %ecx,-0x468(%ebp)
10002896:	39 85 98 fb ff ff    	cmp    %eax,-0x468(%ebp)
1000289c:	0f 84 82 00 00 00    	je     0x10002924
100028a2:	eb 29                	jmp    0x100028cd