402339:	75 1b                	jne    0x402356
40233b:	8b 45 08             	mov    0x8(%ebp),%eax
40233e:	f6 40 f8 e6          	testb  $0xe6,-0x8(%eax)
402342:	74 12                	je     0x402356
402344:	8b 45 08             	mov    0x8(%ebp),%eax
402347:	f6 40 f9 01          	testb  $0x1,-0x7(%eax)
40234b:	75 09                	jne    0x402356
40234d:	8b c3                	mov    %ebx,%eax
40234f:	83 c0 b4             	add    $0xffffffb4,%eax
402352:	3b 18                	cmp    (%eax),%ebx
402354:	74 04                	je     0x40235a
402356:	33 c0                	xor    %eax,%eax
402358:	eb 02                	jmp    0x40235c
40235a:	b0 01                	mov    $0x1,%al
40235c:	84 c0                	test   %al,%al
40235e:	74 25                	je     0x402385
402360:	83 c3 dc             	add    $0xffffffdc,%ebx
402363:	8b 1b                	mov    (%ebx),%ebx
402365:	85 db                	test   %ebx,%ebx
402367:	74 1a                	je     0x402383
402369:	8b 45 08             	mov    0x8(%ebp),%eax
40236c:	50                   	push   %eax
40236d:	8d 56 01             	lea    0x1(%esi),%edx
402370:	8b c3                	mov    %ebx,%eax
402372:	83 e8 b4             	sub    $0xffffffb4,%eax
402375:	e8 5a ff ff ff       	call   0x4022d4
40237a:	59                   	pop    %ecx
40237b:	84 c0                	test   %al,%al
40237d:	75 04                	jne    0x402383
40237f:	33 c0                	xor    %eax,%eax
402381:	eb 02                	jmp    0x402385
402383:	b0 01                	mov    $0x1,%al
402385:	5e                   	pop    %esi
402386:	5b                   	pop    %ebx
402387:	5d                   	pop    %ebp
402388:	c3                   	ret
402389:	8d 40 00             	lea    0x0(%eax),%eax
40238c:	55                   	push   %ebp
40238d:	8b ec                	mov    %esp,%ebp
40238f:	83 c4 e4             	add    $0xffffffe4,%esp
402392:	53                   	push   %ebx
402393:	8b 18                	mov    (%eax),%ebx
402395:	33 c0                	xor    %eax,%eax
402397:	89 45 f0             	mov    %eax,-0x10(%ebp)
40239a:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
4023a0:	72 0f                	jb     0x4023b1
4023a2:	55                   	push   %ebp
4023a3:	33 d2                	xor    %edx,%edx
4023a5:	8b c3                	mov    %ebx,%eax
4023a7:	e8 28 ff ff ff       	call   0x4022d4
4023ac:	59                   	pop    %ecx
4023ad:	84 c0                	test   %al,%al
4023af:	75 02                	jne    0x4023b3
4023b1:	33 db                	xor    %ebx,%ebx
4023b3:	8b c3                	mov    %ebx,%eax
4023b5:	5b                   	pop    %ebx
4023b6:	8b e5                	mov    %ebp,%esp
4023b8:	5d                   	pop    %ebp
4023b9:	c3                   	ret
4023ba:	8b c0                	mov    %eax,%eax
4023bc:	80 3d 4d e0 46 00 00 	cmpb   $0x0,0x46e04d
4023c3:	74 34                	je     0x4023f9
4023c5:	eb 20                	jmp    0x4023e7
4023c7:	6a 00                	push   $0x0
4023c9:	e8 d2 ef ff ff       	call   0x4013a0
4023ce:	b9 c0 07 47 00       	mov    $0x4707c0,%ecx
4023d3:	b2 01                	mov    $0x1,%dl
4023d5:	33 c0                	xor    %eax,%eax
4023d7:	e8 34 f0 ff ff       	call   0x401410
4023dc:	84 c0                	test   %al,%al
4023de:	74 19                	je     0x4023f9
4023e0:	6a 0a                	push   $0xa
4023e2:	e8 b9 ef ff ff       	call   0x4013a0
4023e7:	b9 c0 07 47 00       	mov    $0x4707c0,%ecx
4023ec:	b2 01                	mov    $0x1,%dl
4023ee:	33 c0                	xor    %eax,%eax
4023f0:	e8 1b f0 ff ff       	call   0x401410
4023f5:	84 c0                	test   %al,%al
4023f7:	75 ce                	jne    0x4023c7
4023f9:	83 3d bc 07 47 00 00 	cmpl   $0x0,0x4707bc
402400:	75 18                	jne    0x40241a
402402:	6a 04                	push   $0x4
402404:	68 00 10 00 00       	push   $0x1000
402409:	68 00 00 01 00       	push   $0x10000
40240e:	6a 00                	push   $0x0
402410:	e8 7b ef ff ff       	call   0x401390
402415:	a3 bc 07 47 00       	mov    %eax,0x4707bc
40241a:	83 3d bc 07 47 00 00 	cmpl   $0x0,0x4707bc
402421:	0f 95 c0             	setne  %al
402424:	c3                   	ret
402425:	8d 40 00             	lea    0x0(%eax),%eax
402428:	53                   	push   %ebx
402429:	8b d8                	mov    %eax,%ebx
40242b:	e8 8c ff ff ff       	call   0x4023bc
402430:	84 c0                	test   %al,%al
402432:	74 29                	je     0x40245d
402434:	a1 bc 07 47 00       	mov    0x4707bc,%eax
402439:	81 38 fe 3f 00 00    	cmpl   $0x3ffe,(%eax)
40243f:	7d 1c                	jge    0x40245d
402441:	a1 bc 07 47 00       	mov    0x4707bc,%eax
402446:	8b 00                	mov    (%eax),%eax
402448:	8b 15 bc 07 47 00    	mov    0x4707bc,%edx
40244e:	89 5c 82 04          	mov    %ebx,0x4(%edx,%eax,4)
402452:	a1 bc 07 47 00       	mov    0x4707bc,%eax
402457:	ff 00                	incl   (%eax)
402459:	b0 01                	mov    $0x1,%al
40245b:	eb 02                	jmp    0x40245f
40245d:	33 c0                	xor    %eax,%eax
40245f:	c6 05 c0 07 47 00 00 	movb   $0x0,0x4707c0
402466:	5b                   	pop    %ebx
402467:	c3                   	ret
402468:	53                   	push   %ebx
402469:	56                   	push   %esi
40246a:	57                   	push   %edi
40246b:	8b f0                	mov    %eax,%esi
40246d:	bf bc 07 47 00       	mov    $0x4707bc,%edi
402472:	33 db                	xor    %ebx,%ebx
402474:	83 3f 00             	cmpl   $0x0,(%edi)
402477:	74 3f                	je     0x4024b8
402479:	e8 3e ff ff ff       	call   0x4023bc
40247e:	84 c0                	test   %al,%al
402480:	74 36                	je     0x4024b8
402482:	8b 07                	mov    (%edi),%eax
402484:	8b 10                	mov    (%eax),%edx
402486:	4a                   	dec    %edx
402487:	85 d2                	test   %edx,%edx
402489:	7c 26                	jl     0x4024b1
40248b:	42                   	inc    %edx
40248c:	33 c0                	xor    %eax,%eax
40248e:	8b 0f                	mov    (%edi),%ecx
402490:	3b 74 81 04          	cmp    0x4(%ecx,%eax,4),%esi
402494:	75 17                	jne    0x4024ad
402496:	8b 17                	mov    (%edi),%edx
402498:	8b 12                	mov    (%edx),%edx
40249a:	8b 0f                	mov    (%edi),%ecx
40249c:	8b 14 91             	mov    (%ecx,%edx,4),%edx
40249f:	8b 0f                	mov    (%edi),%ecx
4024a1:	89 54 81 04          	mov    %edx,0x4(%ecx,%eax,4)
4024a5:	8b 17                	mov    (%edi),%edx
4024a7:	ff 0a                	decl   (%edx)
4024a9:	b3 01                	mov    $0x1,%bl
4024ab:	eb 04                	jmp    0x4024b1
4024ad:	40                   	inc    %eax
4024ae:	4a                   	dec    %edx
4024af:	75 dd                	jne    0x40248e
4024b1:	c6 05 c0 07 47 00 00 	movb   $0x0,0x4707c0
4024b8:	8b c3                	mov    %ebx,%eax
4024ba:	5f                   	pop    %edi
4024bb:	5e                   	pop    %esi
4024bc:	5b                   	pop    %ebx
4024bd:	c3                   	ret
4024be:	8b c0                	mov    %eax,%eax
4024c0:	55                   	push   %ebp
4024c1:	8b ec                	mov    %esp,%ebp
4024c3:	83 c4 e0             	add    $0xffffffe0,%esp
4024c6:	53                   	push   %ebx
4024c7:	56                   	push   %esi
4024c8:	57                   	push   %edi
4024c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4024cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4024cf:	8b 00                	mov    (%eax),%eax
4024d1:	81 e8 40 00 46 00    	sub    $0x460040,%eax
4024d7:	c1 e8 05             	shr    $0x5,%eax
4024da:	c1 e0 08             	shl    $0x8,%eax
4024dd:	8b 55 08             	mov    0x8(%ebp),%edx
4024e0:	8d b4 c2 00 48 fe ff 	lea    -0x1b800(%edx,%eax,8),%esi
4024e7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4024ea:	8d 55 e8             	lea    -0x18(%ebp),%edx
4024ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4024f0:	e8 6f fc ff ff       	call   0x402164
4024f5:	e9 fd 00 00 00       	jmp    0x4025f7
4024fa:	8b 45 e8             	mov    -0x18(%ebp),%eax
4024fd:	83 e8 04             	sub    $0x4,%eax
402500:	f6 00 01             	testb  $0x1,(%eax)
402503:	0f 85 e2 00 00 00    	jne    0x4025eb
402509:	8b 45 e8             	mov    -0x18(%ebp),%eax
40250c:	e8 57 ff ff ff       	call   0x402468
402511:	84 c0                	test   %al,%al
402513:	0f 85 d2 00 00 00    	jne    0x4025eb
402519:	8b 45 08             	mov    0x8(%ebp),%eax
40251c:	c6 80 ff 47 fe ff 00 	movb   $0x0,-0x1b801(%eax)
402523:	33 db                	xor    %ebx,%ebx
402525:	8b 45 e8             	mov    -0x18(%ebp),%eax
402528:	e8 5f fe ff ff       	call   0x40238c
40252d:	8b f8                	mov    %eax,%edi
40252f:	85 ff                	test   %edi,%edi
402531:	0f 85 88 00 00 00    	jne    0x4025bf
402537:	8b 45 e8             	mov    -0x18(%ebp),%eax
40253a:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
402540:	0f 83 a1 00 00 00    	jae    0x4025e7
402546:	8b 45 e8             	mov    -0x18(%ebp),%eax
402549:	83 c0 04             	add    $0x4,%eax
40254c:	8b 00                	mov    (%eax),%eax
40254e:	89 45 f4             	mov    %eax,-0xc(%ebp)
402551:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
402555:	0f 8e 8c 00 00 00    	jle    0x4025e7
40255b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40255e:	8b 00                	mov    (%eax),%eax
402560:	0f b7 40 02          	movzwl 0x2(%eax),%eax
402564:	83 e8 0d             	sub    $0xd,%eax
402567:	3b 45 f4             	cmp    -0xc(%ebp),%eax
40256a:	7e 7b                	jle    0x4025e7
40256c:	8b 45 e8             	mov    -0x18(%ebp),%eax
40256f:	83 c0 08             	add    $0x8,%eax
402572:	89 45 f0             	mov    %eax,-0x10(%ebp)
402575:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
402579:	8b 45 f4             	mov    -0xc(%ebp),%eax
40257c:	85 c0                	test   %eax,%eax
40257e:	7e 2a                	jle    0x4025aa
402580:	89 45 e0             	mov    %eax,-0x20(%ebp)
402583:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
402587:	74 10                	je     0x402599
402589:	8b 45 f0             	mov    -0x10(%ebp),%eax
40258c:	80 38 20             	cmpb   $0x20,(%eax)
40258f:	72 08                	jb     0x402599
402591:	8b 45 f0             	mov    -0x10(%ebp),%eax
402594:	80 38 80             	cmpb   $0x80,(%eax)
402597:	72 04                	jb     0x40259d
402599:	33 c0                	xor    %eax,%eax
40259b:	eb 02                	jmp    0x40259f
40259d:	b0 01                	mov    $0x1,%al
40259f:	88 45 ef             	mov    %al,-0x11(%ebp)
4025a2:	ff 45 f0             	incl   -0x10(%ebp)
4025a5:	ff 4d e0             	decl   -0x20(%ebp)
4025a8:	75 d9                	jne    0x402583
4025aa:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
4025ae:	74 37                	je     0x4025e7
4025b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4025b3:	80 38 00             	cmpb   $0x0,(%eax)
4025b6:	75 2f                	jne    0x4025e7
4025b8:	bb 01 00 00 00       	mov    $0x1,%ebx
4025bd:	eb 28                	jmp    0x4025e7
4025bf:	bb 02 00 00 00       	mov    $0x2,%ebx
4025c4:	3b 3c de             	cmp    (%esi,%ebx,8),%edi
4025c7:	74 0f                	je     0x4025d8
4025c9:	83 3c de 00          	cmpl   $0x0,(%esi,%ebx,8)
4025cd:	74 09                	je     0x4025d8
4025cf:	43                   	inc    %ebx
4025d0:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4025d6:	7e ec                	jle    0x4025c4
4025d8:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4025de:	7f 05                	jg     0x4025e5
4025e0:	89 3c de             	mov    %edi,(%esi,%ebx,8)
4025e3:	eb 02                	jmp    0x4025e7
4025e5:	33 db                	xor    %ebx,%ebx
4025e7:	ff 44 de 04          	incl   0x4(%esi,%ebx,8)
4025eb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4025ee:	8b 00                	mov    (%eax),%eax
4025f0:	0f b7 40 02          	movzwl 0x2(%eax),%eax
4025f4:	01 45 e8             	add    %eax,-0x18(%ebp)
4025f7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4025fa:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
4025fd:	0f 86 f7 fe ff ff    	jbe    0x4024fa
402603:	5f                   	pop    %edi
402604:	5e                   	pop    %esi
402605:	5b                   	pop    %ebx
402606:	8b e5                	mov    %ebp,%esp
402608:	5d                   	pop    %ebp
402609:	c3                   	ret
40260a:	8b c0                	mov    %eax,%eax
40260c:	55                   	push   %ebp
40260d:	8b ec                	mov    %esp,%ebp
40260f:	50                   	push   %eax
402610:	b8 27 00 00 00       	mov    $0x27,%eax
402615:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
40261b:	50                   	push   %eax
40261c:	48                   	dec    %eax
40261d:	75 f6                	jne    0x402615
40261f:	8b 45 fc             	mov    -0x4(%ebp),%eax
402622:	81 c4 dc f6 ff ff    	add    $0xfffff6dc,%esp
402628:	53                   	push   %ebx
402629:	56                   	push   %esi
40262a:	57                   	push   %edi
40262b:	8d 85 00 48 fe ff    	lea    -0x1b800(%ebp),%eax
402631:	33 c9                	xor    %ecx,%ecx
402633:	ba 00 b8 01 00       	mov    $0x1b800,%edx
402638:	e8 f3 0b 00 00       	call   0x403230
40263d:	8d 85 d8 07 fe ff    	lea    -0x1f828(%ebp),%eax
402643:	33 c9                	xor    %ecx,%ecx
402645:	ba 00 40 00 00       	mov    $0x4000,%edx
40264a:	e8 e1 0b 00 00       	call   0x403230
40264f:	33 c0                	xor    %eax,%eax
402651:	89 85 f8 47 fe ff    	mov    %eax,-0x1b808(%ebp)
402657:	c6 85 ff 47 fe ff 01 	movb   $0x1,-0x1b801(%ebp)
40265e:	8b 3d 0c e7 46 00    	mov    0x46e70c,%edi
402664:	e9 82 00 00 00       	jmp    0x4026eb
402669:	8b c7                	mov    %edi,%eax
40266b:	e8 b4 fa ff ff       	call   0x402124
402670:	8b d8                	mov    %eax,%ebx
402672:	85 db                	test   %ebx,%ebx
402674:	74 72                	je     0x4026e8
402676:	8b c3                	mov    %ebx,%eax
402678:	83 e8 04             	sub    $0x4,%eax
40267b:	8b 30                	mov    (%eax),%esi
40267d:	f7 c6 01 00 00 00    	test   $0x1,%esi
402683:	75 56                	jne    0x4026db
402685:	f7 c6 04 00 00 00    	test   $0x4,%esi
40268b:	74 0b                	je     0x402698
40268d:	55                   	push   %ebp
40268e:	8b c3                	mov    %ebx,%eax
402690:	e8 2b fe ff ff       	call   0x4024c0
402695:	59                   	pop    %ecx
402696:	eb 43                	jmp    0x4026db
402698:	81 bd f8 47 fe ff 00 	cmpl   $0x1000,-0x1b808(%ebp)
40269f:	10 00 00
4026a2:	7d 37                	jge    0x4026db
4026a4:	83 e6 f0             	and    $0xfffffff0,%esi
4026a7:	83 ee 04             	sub    $0x4,%esi
4026aa:	89 b5 ec 47 fe ff    	mov    %esi,-0x1b814(%ebp)
4026b0:	8b c3                	mov    %ebx,%eax
4026b2:	e8 b1 fd ff ff       	call   0x402468
4026b7:	84 c0                	test   %al,%al
4026b9:	75 20                	jne    0x4026db
4026bb:	c6 85 ff 47 fe ff 00 	movb   $0x0,-0x1b801(%ebp)
4026c2:	8b 85 f8 47 fe ff    	mov    -0x1b808(%ebp),%eax
4026c8:	8b 95 ec 47 fe ff    	mov    -0x1b814(%ebp),%edx
4026ce:	89 94 85 d8 07 fe ff 	mov    %edx,-0x1f828(%ebp,%eax,4)
4026d5:	ff 85 f8 47 fe ff    	incl   -0x1b808(%ebp)
4026db:	8b c3                	mov    %ebx,%eax
4026dd:	e8 1e fa ff ff       	call   0x402100
4026e2:	8b d8                	mov    %eax,%ebx
4026e4:	85 db                	test   %ebx,%ebx
4026e6:	75 8e                	jne    0x402676
4026e8:	8b 7f 04             	mov    0x4(%edi),%edi
4026eb:	81 ff 08 e7 46 00    	cmp    $0x46e708,%edi
4026f1:	0f 85 72 ff ff ff    	jne    0x402669
4026f7:	8b 1d b0 07 47 00    	mov    0x4707b0,%ebx
4026fd:	eb 37                	jmp    0x402736
4026ff:	8b c3                	mov    %ebx,%eax
402701:	83 c0 10             	add    $0x10,%eax
402704:	e8 5f fd ff ff       	call   0x402468
402709:	84 c0                	test   %al,%al
40270b:	75 26                	jne    0x402733
40270d:	c6 85 ff 47 fe ff 00 	movb   $0x0,-0x1b801(%ebp)
402714:	8b 73 0c             	mov    0xc(%ebx),%esi
402717:	83 e6 f0             	and    $0xfffffff0,%esi
40271a:	83 ee 04             	sub    $0x4,%esi
40271d:	83 ee 10             	sub    $0x10,%esi
402720:	8b 85 f8 47 fe ff    	mov    -0x1b808(%ebp),%eax
402726:	89 b4 85 d8 07 fe ff 	mov    %esi,-0x1f828(%ebp,%eax,4)
40272d:	ff 85 f8 47 fe ff    	incl   -0x1b808(%ebp)
402733:	8b 5b 04             	mov    0x4(%ebx),%ebx
402736:	81 fb ac 07 47 00    	cmp    $0x4707ac,%ebx
40273c:	74 0c                	je     0x40274a
40273e:	81 bd f8 47 fe ff 00 	cmpl   $0x1000,-0x1b808(%ebp)
402745:	10 00 00
402748:	7c b5                	jl     0x4026ff
40274a:	80 bd ff 47 fe ff 00 	cmpb   $0x0,-0x1b801(%ebp)
402751:	0f 85 58 02 00 00    	jne    0x4029af
402757:	c6 85 f7 47 fe ff 00 	movb   $0x0,-0x1b809(%ebp)