41847d:	75 07                	jne    0x418486
41847f:	66 89 45 de          	mov    %ax,-0x22(%ebp)
418483:	42                   	inc    %edx
418484:	eb 0e                	jmp    0x418494
418486:	66 ff 45 de          	incw   -0x22(%ebp)
41848a:	eb 08                	jmp    0x418494
41848c:	ff 45 da             	incl   -0x26(%ebp)
41848f:	eb 03                	jmp    0x418494
418491:	ff 45 d6             	incl   -0x2a(%ebp)
418494:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
418499:	66 3b d0             	cmp    %ax,%dx
41849c:	72 23                	jb     0x4184c1
41849e:	33 c0                	xor    %eax,%eax
4184a0:	33 c9                	xor    %ecx,%ecx
4184a2:	66 39 45 90          	cmp    %ax,-0x70(%ebp)
4184a6:	89 45 c8             	mov    %eax,-0x38(%ebp)
4184a9:	0f 94 c1             	sete   %cl
4184ac:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4184af:	49                   	dec    %ecx
4184b0:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
4184b6:	81 c1 00 80 ff 7f    	add    $0x7fff8000,%ecx
4184bc:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4184bf:	eb 3b                	jmp    0x4184fc
4184c1:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
4184c5:	0b 55 90             	or     -0x70(%ebp),%edx
4184c8:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
4184cc:	8b 45 d8             	mov    -0x28(%ebp),%eax
4184cf:	89 45 c6             	mov    %eax,-0x3a(%ebp)
4184d2:	8b 45 dc             	mov    -0x24(%ebp),%eax
4184d5:	89 45 ca             	mov    %eax,-0x36(%ebp)
4184d8:	66 89 55 ce          	mov    %dx,-0x32(%ebp)
4184dc:	eb 1e                	jmp    0x4184fc
4184de:	33 c0                	xor    %eax,%eax
4184e0:	66 85 f6             	test   %si,%si
4184e3:	0f 94 c0             	sete   %al
4184e6:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
4184ea:	48                   	dec    %eax
4184eb:	25 00 00 00 80       	and    $0x80000000,%eax
4184f0:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
4184f5:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
4184f9:	89 45 cc             	mov    %eax,-0x34(%ebp)
4184fc:	83 7d ac 00          	cmpl   $0x0,-0x54(%ebp)
418500:	0f 85 3c fd ff ff    	jne    0x418242
418506:	8b 45 cc             	mov    -0x34(%ebp),%eax
418509:	0f b7 4d c4          	movzwl -0x3c(%ebp),%ecx
41850d:	8b 75 c6             	mov    -0x3a(%ebp),%esi
418510:	8b 55 ca             	mov    -0x36(%ebp),%edx
418513:	c1 e8 10             	shr    $0x10,%eax
418516:	eb 2f                	jmp    0x418547
418518:	c7 45 94 04 00 00 00 	movl   $0x4,-0x6c(%ebp)
41851f:	eb 1e                	jmp    0x41853f
418521:	33 f6                	xor    %esi,%esi
418523:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
418528:	ba 00 00 00 80       	mov    $0x80000000,%edx
41852d:	33 c9                	xor    %ecx,%ecx
41852f:	c7 45 94 02 00 00 00 	movl   $0x2,-0x6c(%ebp)
418536:	eb 0f                	jmp    0x418547
418538:	c7 45 94 01 00 00 00 	movl   $0x1,-0x6c(%ebp)
41853f:	33 c9                	xor    %ecx,%ecx
418541:	33 c0                	xor    %eax,%eax
418543:	33 d2                	xor    %edx,%edx
418545:	33 f6                	xor    %esi,%esi
418547:	8b 7d 88             	mov    -0x78(%ebp),%edi
41854a:	0b 45 8c             	or     -0x74(%ebp),%eax
41854d:	66 89 0f             	mov    %cx,(%edi)
418550:	66 89 47 0a          	mov    %ax,0xa(%edi)
418554:	8b 45 94             	mov    -0x6c(%ebp),%eax
418557:	89 77 02             	mov    %esi,0x2(%edi)
41855a:	89 57 06             	mov    %edx,0x6(%edi)
41855d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418560:	5f                   	pop    %edi
418561:	5e                   	pop    %esi
418562:	33 cd                	xor    %ebp,%ecx
418564:	5b                   	pop    %ebx
418565:	e8 bc e0 fe ff       	call   0x406626
41856a:	c9                   	leave
41856b:	c3                   	ret
41856c:	90                   	nop
41856d:	3f                   	aas
41856e:	7f 41                	jg     0x4185b1
418570:	00 93 7f 41 00 e9    	add    %dl,-0x16ffbe81(%ebx)
418576:	7f 41                	jg     0x4185b9
418578:	00 1c 80             	add    %bl,(%eax,%eax,4)
41857b:	41                   	inc    %ecx
41857c:	00 61 80             	add    %ah,-0x80(%ecx)
41857f:	41                   	inc    %ecx
418580:	00 99 80 41 00 ad    	add    %bl,-0x52ffbe80(%ecx)
418586:	80 41 00 08          	addb   $0x8,0x0(%ecx)
41858a:	81 41 00 f3 80 41 00 	addl   $0x4180f3,0x0(%ecx)
418591:	72 81                	jb     0x418514
418593:	41                   	inc    %ecx
418594:	00 67 81             	add    %ah,-0x7f(%edi)
418597:	41                   	inc    %ecx
418598:	00 16                	add    %dl,(%esi)
41859a:	81 41 00 8b ff 55 8b 	addl   $0x8b55ff8b,0x0(%ecx)
4185a1:	ec                   	in     (%dx),%al
4185a2:	83 ec 74             	sub    $0x74,%esp
4185a5:	a1 68 b2 42 00       	mov    0x42b268,%eax
4185aa:	33 c5                	xor    %ebp,%eax
4185ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4185af:	53                   	push   %ebx
4185b0:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4185b3:	56                   	push   %esi
4185b4:	57                   	push   %edi
4185b5:	8d 75 08             	lea    0x8(%ebp),%esi
4185b8:	8d 7d f0             	lea    -0x10(%ebp),%edi
4185bb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4185bc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4185bd:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4185bf:	8b 55 f8             	mov    -0x8(%ebp),%edx
4185c2:	8b ca                	mov    %edx,%ecx
4185c4:	b8 00 80 00 00       	mov    $0x8000,%eax
4185c9:	23 c8                	and    %eax,%ecx
4185cb:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
4185d1:	89 5d a0             	mov    %ebx,-0x60(%ebp)
4185d4:	c6 45 d0 cc          	movb   $0xcc,-0x30(%ebp)
4185d8:	c6 45 d1 cc          	movb   $0xcc,-0x2f(%ebp)
4185dc:	c6 45 d2 cc          	movb   $0xcc,-0x2e(%ebp)
4185e0:	c6 45 d3 cc          	movb   $0xcc,-0x2d(%ebp)
4185e4:	c6 45 d4 cc          	movb   $0xcc,-0x2c(%ebp)
4185e8:	c6 45 d5 cc          	movb   $0xcc,-0x2b(%ebp)
4185ec:	c6 45 d6 cc          	movb   $0xcc,-0x2a(%ebp)
4185f0:	c6 45 d7 cc          	movb   $0xcc,-0x29(%ebp)
4185f4:	c6 45 d8 cc          	movb   $0xcc,-0x28(%ebp)
4185f8:	c6 45 d9 cc          	movb   $0xcc,-0x27(%ebp)
4185fc:	c6 45 da fb          	movb   $0xfb,-0x26(%ebp)
418600:	c6 45 db 3f          	movb   $0x3f,-0x25(%ebp)
418604:	c7 45 8c 01 00 00 00 	movl   $0x1,-0x74(%ebp)
41860b:	89 4d 90             	mov    %ecx,-0x70(%ebp)
41860e:	66 85 c9             	test   %cx,%cx
418611:	74 06                	je     0x418619
418613:	c6 43 02 2d          	movb   $0x2d,0x2(%ebx)
418617:	eb 04                	jmp    0x41861d
418619:	c6 43 02 20          	movb   $0x20,0x2(%ebx)
41861d:	8b 75 f4             	mov    -0xc(%ebp),%esi
418620:	8b 7d f0             	mov    -0x10(%ebp),%edi
418623:	66 85 d2             	test   %dx,%dx
418626:	75 2f                	jne    0x418657
418628:	85 f6                	test   %esi,%esi
41862a:	75 2b                	jne    0x418657
41862c:	85 ff                	test   %edi,%edi
41862e:	75 27                	jne    0x418657
418630:	33 d2                	xor    %edx,%edx
418632:	66 3b c8             	cmp    %ax,%cx
418635:	0f 95 c0             	setne  %al
418638:	fe c8                	dec    %al
41863a:	24 0d                	and    $0xd,%al
41863c:	04 20                	add    $0x20,%al
41863e:	66 89 13             	mov    %dx,(%ebx)
418641:	88 43 02             	mov    %al,0x2(%ebx)
418644:	c6 43 03 01          	movb   $0x1,0x3(%ebx)
418648:	c6 43 04 30          	movb   $0x30,0x4(%ebx)
41864c:	88 53 05             	mov    %dl,0x5(%ebx)
41864f:	33 c0                	xor    %eax,%eax
418651:	40                   	inc    %eax
418652:	e9 1e 08 00 00       	jmp    0x418e75
418657:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
41865c:	66 3b d0             	cmp    %ax,%dx
41865f:	0f 85 9f 00 00 00    	jne    0x418704
418665:	33 c0                	xor    %eax,%eax
418667:	40                   	inc    %eax
418668:	66 89 03             	mov    %ax,(%ebx)
41866b:	b8 00 00 00 80       	mov    $0x80000000,%eax
418670:	3b f0                	cmp    %eax,%esi
418672:	75 04                	jne    0x418678
418674:	85 ff                	test   %edi,%edi
418676:	74 0f                	je     0x418687
418678:	f7 c6 00 00 00 40    	test   $0x40000000,%esi
41867e:	75 07                	jne    0x418687
418680:	68 f8 de 41 00       	push   $0x41def8
418685:	eb 51                	jmp    0x4186d8
418687:	66 85 c9             	test   %cx,%cx
41868a:	74 13                	je     0x41869f
41868c:	81 fe 00 00 00 c0    	cmp    $0xc0000000,%esi
418692:	75 0b                	jne    0x41869f
418694:	85 ff                	test   %edi,%edi
418696:	75 3b                	jne    0x4186d3
418698:	68 f0 de 41 00       	push   $0x41def0
41869d:	eb 0d                	jmp    0x4186ac
41869f:	3b f0                	cmp    %eax,%esi
4186a1:	75 30                	jne    0x4186d3
4186a3:	85 ff                	test   %edi,%edi
4186a5:	75 2c                	jne    0x4186d3
4186a7:	68 e8 de 41 00       	push   $0x41dee8
4186ac:	8d 43 04             	lea    0x4(%ebx),%eax
4186af:	6a 16                	push   $0x16
4186b1:	50                   	push   %eax
4186b2:	e8 00 0f ff ff       	call   0x4095b7
4186b7:	83 c4 0c             	add    $0xc,%esp
4186ba:	33 f6                	xor    %esi,%esi
4186bc:	85 c0                	test   %eax,%eax
4186be:	74 0d                	je     0x4186cd
4186c0:	56                   	push   %esi
4186c1:	56                   	push   %esi
4186c2:	56                   	push   %esi
4186c3:	56                   	push   %esi
4186c4:	56                   	push   %esi
4186c5:	e8 33 ca fe ff       	call   0x4050fd
4186ca:	83 c4 14             	add    $0x14,%esp
4186cd:	c6 43 03 05          	movb   $0x5,0x3(%ebx)
4186d1:	eb 2a                	jmp    0x4186fd
4186d3:	68 e0 de 41 00       	push   $0x41dee0
4186d8:	8d 43 04             	lea    0x4(%ebx),%eax
4186db:	6a 16                	push   $0x16
4186dd:	50                   	push   %eax
4186de:	e8 d4 0e ff ff       	call   0x4095b7
4186e3:	83 c4 0c             	add    $0xc,%esp
4186e6:	33 f6                	xor    %esi,%esi
4186e8:	85 c0                	test   %eax,%eax
4186ea:	74 0d                	je     0x4186f9
4186ec:	56                   	push   %esi
4186ed:	56                   	push   %esi
4186ee:	56                   	push   %esi
4186ef:	56                   	push   %esi
4186f0:	56                   	push   %esi
4186f1:	e8 07 ca fe ff       	call   0x4050fd
4186f6:	83 c4 14             	add    $0x14,%esp
4186f9:	c6 43 03 06          	movb   $0x6,0x3(%ebx)
4186fd:	33 c0                	xor    %eax,%eax
4186ff:	e9 71 07 00 00       	jmp    0x418e75
418704:	0f b7 ca             	movzwl %dx,%ecx
418707:	8b d9                	mov    %ecx,%ebx
418709:	69 c9 10 4d 00 00    	imul   $0x4d10,%ecx,%ecx
41870f:	c1 eb 08             	shr    $0x8,%ebx
418712:	8b c6                	mov    %esi,%eax
418714:	c1 e8 18             	shr    $0x18,%eax
418717:	8d 04 43             	lea    (%ebx,%eax,2),%eax
41871a:	6b c0 4d             	imul   $0x4d,%eax,%eax
41871d:	8d 84 08 0c ed bc ec 	lea    -0x134312f4(%eax,%ecx,1),%eax
418724:	c1 f8 10             	sar    $0x10,%eax
418727:	0f b7 c0             	movzwl %ax,%eax
41872a:	33 c9                	xor    %ecx,%ecx
41872c:	0f bf d8             	movswl %ax,%ebx
41872f:	66 89 4d e0          	mov    %cx,-0x20(%ebp)
418733:	b9 c0 c2 42 00       	mov    $0x42c2c0,%ecx
418738:	f7 db                	neg    %ebx
41873a:	83 e9 60             	sub    $0x60,%ecx
41873d:	89 45 b4             	mov    %eax,-0x4c(%ebp)
418740:	66 89 55 ea          	mov    %dx,-0x16(%ebp)
418744:	89 75 e6             	mov    %esi,-0x1a(%ebp)
418747:	89 7d e2             	mov    %edi,-0x1e(%ebp)
41874a:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
41874d:	85 db                	test   %ebx,%ebx
41874f:	0f 84 9c 02 00 00    	je     0x4189f1
418755:	7d 0d                	jge    0x418764
418757:	b8 20 c4 42 00       	mov    $0x42c420,%eax
41875c:	f7 db                	neg    %ebx
41875e:	83 e8 60             	sub    $0x60,%eax
418761:	89 45 9c             	mov    %eax,-0x64(%ebp)
418764:	85 db                	test   %ebx,%ebx
418766:	0f 84 85 02 00 00    	je     0x4189f1
41876c:	83 45 9c 54          	addl   $0x54,-0x64(%ebp)
418770:	8b cb                	mov    %ebx,%ecx
418772:	83 e1 07             	and    $0x7,%ecx
418775:	c1 fb 03             	sar    $0x3,%ebx
418778:	85 c9                	test   %ecx,%ecx
41877a:	0f 84 67 02 00 00    	je     0x4189e7
418780:	6b c9 0c             	imul   $0xc,%ecx,%ecx
418783:	03 4d 9c             	add    -0x64(%ebp),%ecx
418786:	8b c1                	mov    %ecx,%eax
418788:	89 4d bc             	mov    %ecx,-0x44(%ebp)
41878b:	b9 00 80 00 00       	mov    $0x8000,%ecx
418790:	66 39 08             	cmp    %cx,(%eax)
418793:	72 11                	jb     0x4187a6
418795:	8b f0                	mov    %eax,%esi
418797:	8d 7d c4             	lea    -0x3c(%ebp),%edi
41879a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41879b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41879c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41879f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4187a0:	ff 4d c6             	decl   -0x3a(%ebp)
4187a3:	89 45 bc             	mov    %eax,-0x44(%ebp)
4187a6:	0f b7 50 0a          	movzwl 0xa(%eax),%edx
4187aa:	33 c9                	xor    %ecx,%ecx
4187ac:	89 4d ac             	mov    %ecx,-0x54(%ebp)
4187af:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4187b2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4187b5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4187b8:	8b 4d ea             	mov    -0x16(%ebp),%ecx
4187bb:	8b f2                	mov    %edx,%esi
4187bd:	33 f1                	xor    %ecx,%esi
4187bf:	81 e6 00 80 00 00    	and    $0x8000,%esi
4187c5:	89 75 b8             	mov    %esi,-0x48(%ebp)
4187c8:	be ff 7f 00 00       	mov    $0x7fff,%esi
4187cd:	23 ce                	and    %esi,%ecx
4187cf:	23 d6                	and    %esi,%edx
4187d1:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
4187d4:	0f b7 fe             	movzwl %si,%edi
4187d7:	be ff 7f 00 00       	mov    $0x7fff,%esi
4187dc:	66 3b ce             	cmp    %si,%cx
4187df:	0f 83 ac 02 00 00    	jae    0x418a91
4187e5:	66 3b d6             	cmp    %si,%dx
4187e8:	0f 83 a3 02 00 00    	jae    0x418a91
4187ee:	be fd bf 00 00       	mov    $0xbffd,%esi
4187f3:	66 3b fe             	cmp    %si,%di
4187f6:	0f 87 95 02 00 00    	ja     0x418a91
4187fc:	be bf 3f 00 00       	mov    $0x3fbf,%esi
418801:	66 3b fe             	cmp    %si,%di
418804:	77 10                	ja     0x418816
418806:	33 f6                	xor    %esi,%esi
418808:	89 75 e8             	mov    %esi,-0x18(%ebp)
41880b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41880e:	89 75 e0             	mov    %esi,-0x20(%ebp)
418811:	e9 d3 01 00 00       	jmp    0x4189e9
418816:	33 f6                	xor    %esi,%esi
418818:	66 3b ce             	cmp    %si,%cx
41881b:	75 1f                	jne    0x41883c
41881d:	47                   	inc    %edi
41881e:	f7 45 e8 ff ff ff 7f 	testl  $0x7fffffff,-0x18(%ebp)
418825:	75 15                	jne    0x41883c
418827:	39 75 e4             	cmp    %esi,-0x1c(%ebp)
41882a:	75 10                	jne    0x41883c
41882c:	39 75 e0             	cmp    %esi,-0x20(%ebp)
41882f:	75 0b                	jne    0x41883c
418831:	33 c0                	xor    %eax,%eax
418833:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
418837:	e9 ad 01 00 00       	jmp    0x4189e9
41883c:	66 3b d6             	cmp    %si,%dx
41883f:	75 13                	jne    0x418854
418841:	47                   	inc    %edi
418842:	f7 40 08 ff ff ff 7f 	testl  $0x7fffffff,0x8(%eax)
418849:	75 09                	jne    0x418854
41884b:	39 70 04             	cmp    %esi,0x4(%eax)
41884e:	75 04                	jne    0x418854
418850:	39 30                	cmp    %esi,(%eax)
418852:	74 b4                	je     0x418808
418854:	21 75 a8             	and    %esi,-0x58(%ebp)
418857:	8d 75 f4             	lea    -0xc(%ebp),%esi
41885a:	c7 45 c0 05 00 00 00 	movl   $0x5,-0x40(%ebp)
418861:	8b 4d a8             	mov    -0x58(%ebp),%ecx
418864:	8b 55 c0             	mov    -0x40(%ebp),%edx
418867:	03 c9                	add    %ecx,%ecx
418869:	89 55 b0             	mov    %edx,-0x50(%ebp)
41886c:	85 d2                	test   %edx,%edx
41886e:	7e 55                	jle    0x4188c5
418870:	8d 4c 0d e0          	lea    -0x20(%ebp,%ecx,1),%ecx
418874:	83 c0 08             	add    $0x8,%eax
418877:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
41887a:	89 45 98             	mov    %eax,-0x68(%ebp)
41887d:	8b 45 94             	mov    -0x6c(%ebp),%eax
418880:	0f b7 08             	movzwl (%eax),%ecx
418883:	8b 45 98             	mov    -0x68(%ebp),%eax
418886:	0f b7 00             	movzwl (%eax),%eax
418889:	8b 56 fc             	mov    -0x4(%esi),%edx
41888c:	0f af c8             	imul   %eax,%ecx
41888f:	83 65 a4 00          	andl   $0x0,-0x5c(%ebp)
418893:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
418896:	3b c2                	cmp    %edx,%eax
418898:	72 04                	jb     0x41889e
41889a:	3b c1                	cmp    %ecx,%eax