4024df:	8b 00                	mov    (%eax),%eax
4024e1:	81 e8 3c b0 49 00    	sub    $0x49b03c,%eax
4024e7:	c1 e8 05             	shr    $0x5,%eax
4024ea:	c1 e0 08             	shl    $0x8,%eax
4024ed:	8b 55 08             	mov    0x8(%ebp),%edx
4024f0:	8d b4 c2 00 48 fe ff 	lea    -0x1b800(%edx,%eax,8),%esi
4024f7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4024fa:	8d 55 e8             	lea    -0x18(%ebp),%edx
4024fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
402500:	e8 6f fc ff ff       	call   0x402174
402505:	e9 fd 00 00 00       	jmp    0x402607
40250a:	8b 45 e8             	mov    -0x18(%ebp),%eax
40250d:	83 e8 04             	sub    $0x4,%eax
402510:	f6 00 01             	testb  $0x1,(%eax)
402513:	0f 85 e2 00 00 00    	jne    0x4025fb
402519:	8b 45 e8             	mov    -0x18(%ebp),%eax
40251c:	e8 57 ff ff ff       	call   0x402478
402521:	84 c0                	test   %al,%al
402523:	0f 85 d2 00 00 00    	jne    0x4025fb
402529:	8b 45 08             	mov    0x8(%ebp),%eax
40252c:	c6 80 ff 47 fe ff 00 	movb   $0x0,-0x1b801(%eax)
402533:	33 db                	xor    %ebx,%ebx
402535:	8b 45 e8             	mov    -0x18(%ebp),%eax
402538:	e8 5f fe ff ff       	call   0x40239c
40253d:	8b f8                	mov    %eax,%edi
40253f:	85 ff                	test   %edi,%edi
402541:	0f 85 88 00 00 00    	jne    0x4025cf
402547:	8b 45 e8             	mov    -0x18(%ebp),%eax
40254a:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
402550:	0f 83 a1 00 00 00    	jae    0x4025f7
402556:	8b 45 e8             	mov    -0x18(%ebp),%eax
402559:	83 c0 04             	add    $0x4,%eax
40255c:	8b 00                	mov    (%eax),%eax
40255e:	89 45 f4             	mov    %eax,-0xc(%ebp)
402561:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
402565:	0f 8e 8c 00 00 00    	jle    0x4025f7
40256b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40256e:	8b 00                	mov    (%eax),%eax
402570:	0f b7 40 02          	movzwl 0x2(%eax),%eax
402574:	83 e8 0d             	sub    $0xd,%eax
402577:	3b 45 f4             	cmp    -0xc(%ebp),%eax
40257a:	7e 7b                	jle    0x4025f7
40257c:	8b 45 e8             	mov    -0x18(%ebp),%eax
40257f:	83 c0 08             	add    $0x8,%eax
402582:	89 45 f0             	mov    %eax,-0x10(%ebp)
402585:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
402589:	8b 45 f4             	mov    -0xc(%ebp),%eax
40258c:	85 c0                	test   %eax,%eax
40258e:	7e 2a                	jle    0x4025ba
402590:	89 45 e0             	mov    %eax,-0x20(%ebp)
402593:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
402597:	74 10                	je     0x4025a9
402599:	8b 45 f0             	mov    -0x10(%ebp),%eax
40259c:	80 38 20             	cmpb   $0x20,(%eax)
40259f:	72 08                	jb     0x4025a9
4025a1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4025a4:	80 38 80             	cmpb   $0x80,(%eax)
4025a7:	72 04                	jb     0x4025ad
4025a9:	33 c0                	xor    %eax,%eax
4025ab:	eb 02                	jmp    0x4025af
4025ad:	b0 01                	mov    $0x1,%al
4025af:	88 45 ef             	mov    %al,-0x11(%ebp)
4025b2:	ff 45 f0             	incl   -0x10(%ebp)
4025b5:	ff 4d e0             	decl   -0x20(%ebp)
4025b8:	75 d9                	jne    0x402593
4025ba:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
4025be:	74 37                	je     0x4025f7
4025c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
4025c3:	80 38 00             	cmpb   $0x0,(%eax)
4025c6:	75 2f                	jne    0x4025f7
4025c8:	bb 01 00 00 00       	mov    $0x1,%ebx
4025cd:	eb 28                	jmp    0x4025f7
4025cf:	bb 02 00 00 00       	mov    $0x2,%ebx
4025d4:	3b 3c de             	cmp    (%esi,%ebx,8),%edi
4025d7:	74 0f                	je     0x4025e8
4025d9:	83 3c de 00          	cmpl   $0x0,(%esi,%ebx,8)
4025dd:	74 09                	je     0x4025e8
4025df:	43                   	inc    %ebx
4025e0:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4025e6:	7e ec                	jle    0x4025d4
4025e8:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
4025ee:	7f 05                	jg     0x4025f5
4025f0:	89 3c de             	mov    %edi,(%esi,%ebx,8)
4025f3:	eb 02                	jmp    0x4025f7
4025f5:	33 db                	xor    %ebx,%ebx
4025f7:	ff 44 de 04          	incl   0x4(%esi,%ebx,8)
4025fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4025fe:	8b 00                	mov    (%eax),%eax
402600:	0f b7 40 02          	movzwl 0x2(%eax),%eax
402604:	01 45 e8             	add    %eax,-0x18(%ebp)
402607:	8b 45 e8             	mov    -0x18(%ebp),%eax
40260a:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
40260d:	0f 86 f7 fe ff ff    	jbe    0x40250a
402613:	5f                   	pop    %edi
402614:	5e                   	pop    %esi
402615:	5b                   	pop    %ebx
402616:	8b e5                	mov    %ebp,%esp
402618:	5d                   	pop    %ebp
402619:	c3                   	ret
40261a:	8b c0                	mov    %eax,%eax
40261c:	55                   	push   %ebp
40261d:	8b ec                	mov    %esp,%ebp
40261f:	50                   	push   %eax
402620:	b8 27 00 00 00       	mov    $0x27,%eax
402625:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
40262b:	50                   	push   %eax
40262c:	48                   	dec    %eax
40262d:	75 f6                	jne    0x402625
40262f:	8b 45 fc             	mov    -0x4(%ebp),%eax
402632:	81 c4 dc f6 ff ff    	add    $0xfffff6dc,%esp
402638:	53                   	push   %ebx
402639:	56                   	push   %esi
40263a:	57                   	push   %edi
40263b:	8d 85 00 48 fe ff    	lea    -0x1b800(%ebp),%eax
402641:	33 c9                	xor    %ecx,%ecx
402643:	ba 00 b8 01 00       	mov    $0x1b800,%edx
402648:	e8 0b 0c 00 00       	call   0x403258
40264d:	8d 85 d8 07 fe ff    	lea    -0x1f828(%ebp),%eax
402653:	33 c9                	xor    %ecx,%ecx
402655:	ba 00 40 00 00       	mov    $0x4000,%edx
40265a:	e8 f9 0b 00 00       	call   0x403258
40265f:	33 c0                	xor    %eax,%eax
402661:	89 85 f8 47 fe ff    	mov    %eax,-0x1b808(%ebp)
402667:	c6 85 ff 47 fe ff 01 	movb   $0x1,-0x1b801(%ebp)
40266e:	8b 3d 0c 87 4a 00    	mov    0x4a870c,%edi
402674:	e9 82 00 00 00       	jmp    0x4026fb
402679:	8b c7                	mov    %edi,%eax
40267b:	e8 b4 fa ff ff       	call   0x402134
402680:	8b d8                	mov    %eax,%ebx
402682:	85 db                	test   %ebx,%ebx
402684:	74 72                	je     0x4026f8
402686:	8b c3                	mov    %ebx,%eax
402688:	83 e8 04             	sub    $0x4,%eax
40268b:	8b 30                	mov    (%eax),%esi
40268d:	f7 c6 01 00 00 00    	test   $0x1,%esi
402693:	75 56                	jne    0x4026eb
402695:	f7 c6 04 00 00 00    	test   $0x4,%esi
40269b:	74 0b                	je     0x4026a8
40269d:	55                   	push   %ebp
40269e:	8b c3                	mov    %ebx,%eax
4026a0:	e8 2b fe ff ff       	call   0x4024d0
4026a5:	59                   	pop    %ecx
4026a6:	eb 43                	jmp    0x4026eb
4026a8:	81 bd f8 47 fe ff 00 	cmpl   $0x1000,-0x1b808(%ebp)
4026af:	10 00 00
4026b2:	7d 37                	jge    0x4026eb
4026b4:	83 e6 f0             	and    $0xfffffff0,%esi
4026b7:	83 ee 04             	sub    $0x4,%esi
4026ba:	89 b5 ec 47 fe ff    	mov    %esi,-0x1b814(%ebp)
4026c0:	8b c3                	mov    %ebx,%eax
4026c2:	e8 b1 fd ff ff       	call   0x402478
4026c7:	84 c0                	test   %al,%al
4026c9:	75 20                	jne    0x4026eb
4026cb:	c6 85 ff 47 fe ff 00 	movb   $0x0,-0x1b801(%ebp)
4026d2:	8b 85 f8 47 fe ff    	mov    -0x1b808(%ebp),%eax
4026d8:	8b 95 ec 47 fe ff    	mov    -0x1b814(%ebp),%edx
4026de:	89 94 85 d8 07 fe ff 	mov    %edx,-0x1f828(%ebp,%eax,4)
4026e5:	ff 85 f8 47 fe ff    	incl   -0x1b808(%ebp)
4026eb:	8b c3                	mov    %ebx,%eax
4026ed:	e8 1e fa ff ff       	call   0x402110
4026f2:	8b d8                	mov    %eax,%ebx
4026f4:	85 db                	test   %ebx,%ebx
4026f6:	75 8e                	jne    0x402686
4026f8:	8b 7f 04             	mov    0x4(%edi),%edi
4026fb:	81 ff 08 87 4a 00    	cmp    $0x4a8708,%edi
402701:	0f 85 72 ff ff ff    	jne    0x402679
402707:	8b 1d b0 a7 4a 00    	mov    0x4aa7b0,%ebx
40270d:	eb 37                	jmp    0x402746
40270f:	8b c3                	mov    %ebx,%eax
402711:	83 c0 10             	add    $0x10,%eax
402714:	e8 5f fd ff ff       	call   0x402478
402719:	84 c0                	test   %al,%al
40271b:	75 26                	jne    0x402743
40271d:	c6 85 ff 47 fe ff 00 	movb   $0x0,-0x1b801(%ebp)
402724:	8b 73 0c             	mov    0xc(%ebx),%esi
402727:	83 e6 f0             	and    $0xfffffff0,%esi
40272a:	83 ee 04             	sub    $0x4,%esi
40272d:	83 ee 10             	sub    $0x10,%esi
402730:	8b 85 f8 47 fe ff    	mov    -0x1b808(%ebp),%eax
402736:	89 b4 85 d8 07 fe ff 	mov    %esi,-0x1f828(%ebp,%eax,4)
40273d:	ff 85 f8 47 fe ff    	incl   -0x1b808(%ebp)
402743:	8b 5b 04             	mov    0x4(%ebx),%ebx
402746:	81 fb ac a7 4a 00    	cmp    $0x4aa7ac,%ebx
40274c:	74 0c                	je     0x40275a
40274e:	81 bd f8 47 fe ff 00 	cmpl   $0x1000,-0x1b808(%ebp)
402755:	10 00 00
402758:	7c b5                	jl     0x40270f
40275a:	80 bd ff 47 fe ff 00 	cmpb   $0x0,-0x1b801(%ebp)
402761:	0f 85 58 02 00 00    	jne    0x4029bf
402767:	c6 85 f7 47 fe ff 00 	movb   $0x0,-0x1b809(%ebp)
40276e:	33 c0                	xor    %eax,%eax
402770:	89 85 e8 47 fe ff    	mov    %eax,-0x1b818(%ebp)
402776:	8d 95 d8 87 fd ff    	lea    -0x27828(%ebp),%edx
40277c:	b8 c8 29 40 00       	mov    $0x4029c8,%eax
402781:	b9 28 00 00 00       	mov    $0x28,%ecx
402786:	e8 41 fb ff ff       	call   0x4022cc
40278b:	8b d8                	mov    %eax,%ebx
40278d:	c7 85 f0 47 fe ff 37 	movl   $0x37,-0x1b810(%ebp)
402794:	00 00 00
402797:	c7 85 dc 47 fe ff 3e 	movl   $0x49b03e,-0x1b824(%ebp)
40279e:	b0 49 00
4027a1:	8d 85 fc 4f fe ff    	lea    -0x1b004(%ebp),%eax
4027a7:	89 85 d8 47 fe ff    	mov    %eax,-0x1b828(%ebp)
4027ad:	8b 85 dc 47 fe ff    	mov    -0x1b824(%ebp),%eax
4027b3:	0f b7 00             	movzwl (%eax),%eax
4027b6:	83 e8 04             	sub    $0x4,%eax
4027b9:	89 85 e4 47 fe ff    	mov    %eax,-0x1b81c(%ebp)
4027bf:	c6 85 f6 47 fe ff 00 	movb   $0x0,-0x1b80a(%ebp)
4027c6:	bf ff 00 00 00       	mov    $0xff,%edi
4027cb:	8b 85 d8 47 fe ff    	mov    -0x1b828(%ebp),%eax
4027d1:	8b f0                	mov    %eax,%esi
4027d3:	8d 85 d7 ff fd ff    	lea    -0x20029(%ebp),%eax
4027d9:	3b d8                	cmp    %eax,%ebx
4027db:	0f 87 09 01 00 00    	ja     0x4028ea
4027e1:	83 3e 00             	cmpl   $0x0,(%esi)
4027e4:	0f 86 f3 00 00 00    	jbe    0x4028dd
4027ea:	80 bd f7 47 fe ff 00 	cmpb   $0x0,-0x1b809(%ebp)
4027f1:	75 1a                	jne    0x40280d
4027f3:	b8 f4 29 40 00       	mov    $0x4029f4,%eax
4027f8:	b9 27 00 00 00       	mov    $0x27,%ecx
4027fd:	8b d3                	mov    %ebx,%edx
4027ff:	e8 c8 fa ff ff       	call   0x4022cc
402804:	8b d8                	mov    %eax,%ebx
402806:	c6 85 f7 47 fe ff 01 	movb   $0x1,-0x1b809(%ebp)
40280d:	80 bd f6 47 fe ff 00 	cmpb   $0x0,-0x1b80a(%ebp)
402814:	75 4f                	jne    0x402865
402816:	c6 03 0d             	movb   $0xd,(%ebx)
402819:	43                   	inc    %ebx
40281a:	c6 03 0a             	movb   $0xa,(%ebx)
40281d:	43                   	inc    %ebx
40281e:	8b 85 e8 47 fe ff    	mov    -0x1b818(%ebp),%eax
402824:	40                   	inc    %eax
402825:	8b d3                	mov    %ebx,%edx
402827:	e8 84 f9 ff ff       	call   0x4021b0
40282c:	8b d8                	mov    %eax,%ebx
40282e:	c6 03 20             	movb   $0x20,(%ebx)
402831:	43                   	inc    %ebx
402832:	c6 03 2d             	movb   $0x2d,(%ebx)
402835:	43                   	inc    %ebx
402836:	c6 03 20             	movb   $0x20,(%ebx)
402839:	43                   	inc    %ebx
40283a:	8b d3                	mov    %ebx,%edx
40283c:	8b 85 e4 47 fe ff    	mov    -0x1b81c(%ebp),%eax
402842:	e8 69 f9 ff ff       	call   0x4021b0
402847:	8b d8                	mov    %eax,%ebx
402849:	b8 1c 2a 40 00       	mov    $0x402a1c,%eax
40284e:	b9 08 00 00 00       	mov    $0x8,%ecx
402853:	8b d3                	mov    %ebx,%edx
402855:	e8 72 fa ff ff       	call   0x4022cc
40285a:	8b d8                	mov    %eax,%ebx
40285c:	c6 85 f6 47 fe ff 01 	movb   $0x1,-0x1b80a(%ebp)
402863:	eb 08                	jmp    0x40286d
402865:	c6 03 2c             	movb   $0x2c,(%ebx)
402868:	43                   	inc    %ebx
402869:	c6 03 20             	movb   $0x20,(%ebx)
40286c:	43                   	inc    %ebx
40286d:	8b c7                	mov    %edi,%eax
40286f:	83 e8 01             	sub    $0x1,%eax
402872:	72 04                	jb     0x402878
402874:	74 17                	je     0x40288d
402876:	eb 2a                	jmp    0x4028a2
402878:	b8 28 2a 40 00       	mov    $0x402a28,%eax
40287d:	b9 07 00 00 00       	mov    $0x7,%ecx
402882:	8b d3                	mov    %ebx,%edx
402884:	e8 43 fa ff ff       	call   0x4022cc
402889:	8b d8                	mov    %eax,%ebx
40288b:	eb 39                	jmp    0x4028c6
40288d:	b8 30 2a 40 00       	mov    $0x402a30,%eax
402892:	b9 06 00 00 00       	mov    $0x6,%ecx
402897:	8b d3                	mov    %ebx,%edx
402899:	e8 2e fa ff ff       	call   0x4022cc
40289e:	8b d8                	mov    %eax,%ebx
4028a0:	eb 24                	jmp    0x4028c6
4028a2:	8d 95 d8 86 fd ff    	lea    -0x27928(%ebp),%edx
4028a8:	8b 46 fc             	mov    -0x4(%esi),%eax
4028ab:	e8 4c 0f 00 00       	call   0x4037fc
4028b0:	0f b6 8d d8 86 fd ff 	movzbl -0x27928(%ebp),%ecx
4028b7:	8d 85 d9 86 fd ff    	lea    -0x27927(%ebp),%eax
4028bd:	8b d3                	mov    %ebx,%edx
4028bf:	e8 08 fa ff ff       	call   0x4022cc
4028c4:	8b d8                	mov    %eax,%ebx
4028c6:	c6 03 20             	movb   $0x20,(%ebx)
4028c9:	43                   	inc    %ebx
4028ca:	c6 03 78             	movb   $0x78,(%ebx)
4028cd:	43                   	inc    %ebx
4028ce:	c6 03 20             	movb   $0x20,(%ebx)
4028d1:	43                   	inc    %ebx
4028d2:	8b 06                	mov    (%esi),%eax
4028d4:	8b d3                	mov    %ebx,%edx
4028d6:	e8 d5 f8 ff ff       	call   0x4021b0
4028db:	8b d8                	mov    %eax,%ebx
4028dd:	4f                   	dec    %edi
4028de:	83 ee 08             	sub    $0x8,%esi
4028e1:	83 ff ff             	cmp    $0xffffffff,%edi
4028e4:	0f 85 e9 fe ff ff    	jne    0x4027d3
4028ea:	8b 85 e4 47 fe ff    	mov    -0x1b81c(%ebp),%eax
4028f0:	89 85 e8 47 fe ff    	mov    %eax,-0x1b818(%ebp)
4028f6:	81 85 d8 47 fe ff 00 	addl   $0x800,-0x1b828(%ebp)
4028fd:	08 00 00
402900:	83 85 dc 47 fe ff 20 	addl   $0x20,-0x1b824(%ebp)
402907:	ff 8d f0 47 fe ff    	decl   -0x1b810(%ebp)
40290d:	0f 85 9a fe ff ff    	jne    0x4027ad
402913:	83 bd f8 47 fe ff 00 	cmpl   $0x0,-0x1b808(%ebp)
40291a:	7e 7a                	jle    0x402996
40291c:	80 bd f7 47 fe ff 00 	cmpb   $0x0,-0x1b809(%ebp)
402923:	74 10                	je     0x402935
402925:	c6 03 0d             	movb   $0xd,(%ebx)
402928:	43                   	inc    %ebx
402929:	c6 03 0a             	movb   $0xa,(%ebx)
40292c:	43                   	inc    %ebx
40292d:	c6 03 0d             	movb   $0xd,(%ebx)
402930:	43                   	inc    %ebx
402931:	c6 03 0a             	movb   $0xa,(%ebx)
402934:	43                   	inc    %ebx
402935:	b8 38 2a 40 00       	mov    $0x402a38,%eax
40293a:	b9 3c 00 00 00       	mov    $0x3c,%ecx
40293f:	8b d3                	mov    %ebx,%edx
402941:	e8 86 f9 ff ff       	call   0x4022cc
402946:	8b d8                	mov    %eax,%ebx
402948:	8b bd f8 47 fe ff    	mov    -0x1b808(%ebp),%edi
40294e:	4f                   	dec    %edi
40294f:	85 ff                	test   %edi,%edi
402951:	72 43                	jb     0x402996
402953:	47                   	inc    %edi
402954:	c7 85 e0 47 fe ff 00 	movl   $0x0,-0x1b820(%ebp)
40295b:	00 00 00
40295e:	8d b5 d8 07 fe ff    	lea    -0x1f828(%ebp),%esi
402964:	83 bd e0 47 fe ff 00 	cmpl   $0x0,-0x1b820(%ebp)
40296b:	74 08                	je     0x402975
40296d:	c6 03 2c             	movb   $0x2c,(%ebx)
402970:	43                   	inc    %ebx
402971:	c6 03 20             	movb   $0x20,(%ebx)
402974:	43                   	inc    %ebx
402975:	8b 06                	mov    (%esi),%eax
402977:	8b d3                	mov    %ebx,%edx
402979:	e8 32 f8 ff ff       	call   0x4021b0
40297e:	8b d8                	mov    %eax,%ebx
402980:	8d 85 d7 ff fd ff    	lea    -0x20029(%ebp),%eax
402986:	3b d8                	cmp    %eax,%ebx
402988:	77 0c                	ja     0x402996
40298a:	ff 85 e0 47 fe ff    	incl   -0x1b820(%ebp)
402990:	83 c6 04             	add    $0x4,%esi
402993:	4f                   	dec    %edi
402994:	75 ce                	jne    0x402964
402996:	b8 78 2a 40 00       	mov    $0x402a78,%eax
40299b:	b9 03 00 00 00       	mov    $0x3,%ecx
4029a0:	8b d3                	mov    %ebx,%edx
4029a2:	e8 25 f9 ff ff       	call   0x4022cc
4029a7:	68 10 20 00 00       	push   $0x2010
4029ac:	68 7c 2a 40 00       	push   $0x402a7c