4616a5:	8b fb                	mov    %ebx,%edi
4616a7:	8d 75 da             	lea    -0x26(%ebp),%esi
4616aa:	b9 08 00 00 00       	mov    $0x8,%ecx
4616af:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4616b1:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4616b3:	33 c0                	xor    %eax,%eax
4616b5:	8a 45 da             	mov    -0x26(%ebp),%al
4616b8:	83 e0 01             	and    $0x1,%eax
4616bb:	85 c0                	test   %eax,%eax
4616bd:	74 21                	je     0x4616e0
4616bf:	8d 45 dc             	lea    -0x24(%ebp),%eax
4616c2:	8d 53 02             	lea    0x2(%ebx),%edx
4616c5:	89 55 fc             	mov    %edx,-0x4(%ebp)
4616c8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4616cb:	c6 02 00             	movb   $0x0,(%edx)
4616ce:	8a 55 da             	mov    -0x26(%ebp),%dl
4616d1:	42                   	inc    %edx
4616d2:	88 13                	mov    %dl,(%ebx)
4616d4:	8d 55 fc             	lea    -0x4(%ebp),%edx
4616d7:	8a 4d da             	mov    -0x26(%ebp),%cl
4616da:	92                   	xchg   %eax,%edx
4616db:	e8 c0 fd ff ff       	call   0x4614a0
4616e0:	8d 43 02             	lea    0x2(%ebx),%eax
4616e3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4616e6:	33 c0                	xor    %eax,%eax
4616e8:	8a 03                	mov    (%ebx),%al
4616ea:	d1 e8                	shr    $1,%eax
4616ec:	83 f8 1f             	cmp    $0x1f,%eax
4616ef:	7f 0d                	jg     0x4616fe
4616f1:	8b 55 fc             	mov    -0x4(%ebp),%edx
4616f4:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4616f8:	40                   	inc    %eax
4616f9:	83 f8 20             	cmp    $0x20,%eax
4616fc:	75 f3                	jne    0x4616f1
4616fe:	5f                   	pop    %edi
4616ff:	5e                   	pop    %esi
461700:	5b                   	pop    %ebx
461701:	8b e5                	mov    %ebp,%esp
461703:	5d                   	pop    %ebp
461704:	c3                   	ret
461705:	8d 40 00             	lea    0x0(%eax),%eax
461708:	55                   	push   %ebp
461709:	8b ec                	mov    %esp,%ebp
46170b:	83 c4 94             	add    $0xffffff94,%esp
46170e:	53                   	push   %ebx
46170f:	56                   	push   %esi
461710:	57                   	push   %edi
461711:	89 4d fc             	mov    %ecx,-0x4(%ebp)
461714:	8b f2                	mov    %edx,%esi
461716:	8b d8                	mov    %eax,%ebx
461718:	8d 55 da             	lea    -0x26(%ebp),%edx
46171b:	8b c3                	mov    %ebx,%eax
46171d:	e8 6a ff ff ff       	call   0x46168c
461722:	8d 55 b8             	lea    -0x48(%ebp),%edx
461725:	8b c6                	mov    %esi,%eax
461727:	e8 60 ff ff ff       	call   0x46168c
46172c:	80 7d da 20          	cmpb   $0x20,-0x26(%ebp)
461730:	77 06                	ja     0x461738
461732:	80 7d b8 20          	cmpb   $0x20,-0x48(%ebp)
461736:	76 6c                	jbe    0x4617a4
461738:	8b c6                	mov    %esi,%eax
46173a:	e8 b1 fe ff ff       	call   0x4615f0
46173f:	50                   	push   %eax
461740:	8b c3                	mov    %ebx,%eax
461742:	e8 a9 fe ff ff       	call   0x4615f0
461747:	5a                   	pop    %edx
461748:	e8 93 b4 fc ff       	call   0x42cbe0
46174d:	8b d8                	mov    %eax,%ebx
46174f:	33 c0                	xor    %eax,%eax
461751:	8a 45 da             	mov    -0x26(%ebp),%al
461754:	66 3b d8             	cmp    %ax,%bx
461757:	73 02                	jae    0x46175b
461759:	8b d8                	mov    %eax,%ebx
46175b:	33 c0                	xor    %eax,%eax
46175d:	8a 45 b8             	mov    -0x48(%ebp),%al
461760:	66 3b d8             	cmp    %ax,%bx
461763:	73 02                	jae    0x461767
461765:	8b d8                	mov    %eax,%ebx
461767:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
46176a:	0f b7 f3             	movzwl %bx,%esi
46176d:	8b d6                	mov    %esi,%edx
46176f:	8d 45 da             	lea    -0x26(%ebp),%eax
461772:	e8 95 fe ff ff       	call   0x46160c
461777:	56                   	push   %esi
461778:	8d 75 94             	lea    -0x6c(%ebp),%esi
46177b:	8d 7d da             	lea    -0x26(%ebp),%edi
46177e:	b9 08 00 00 00       	mov    $0x8,%ecx
461783:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
461785:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
461787:	5e                   	pop    %esi
461788:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
46178b:	8b d6                	mov    %esi,%edx
46178d:	8d 45 b8             	lea    -0x48(%ebp),%eax
461790:	e8 77 fe ff ff       	call   0x46160c
461795:	8d 75 94             	lea    -0x6c(%ebp),%esi
461798:	8d 7d b8             	lea    -0x48(%ebp),%edi
46179b:	b9 08 00 00 00       	mov    $0x8,%ecx
4617a0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4617a2:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4617a4:	33 d2                	xor    %edx,%edx
4617a6:	8a 55 b8             	mov    -0x48(%ebp),%dl
4617a9:	33 c0                	xor    %eax,%eax
4617ab:	8a 45 da             	mov    -0x26(%ebp),%al
4617ae:	e8 2d b4 fc ff       	call   0x42cbe0
4617b3:	8b d8                	mov    %eax,%ebx
4617b5:	8d 45 b8             	lea    -0x48(%ebp),%eax
4617b8:	e8 17 09 00 00       	call   0x4620d4
4617bd:	0f b7 c0             	movzwl %ax,%eax
4617c0:	50                   	push   %eax
4617c1:	8d 45 da             	lea    -0x26(%ebp),%eax
4617c4:	e8 0b 09 00 00       	call   0x4620d4
4617c9:	0f b7 c0             	movzwl %ax,%eax
4617cc:	5a                   	pop    %edx
4617cd:	e8 0e b4 fc ff       	call   0x42cbe0
4617d2:	8b f0                	mov    %eax,%esi
4617d4:	eb 04                	jmp    0x4617da
4617d6:	66 83 c3 02          	add    $0x2,%bx
4617da:	66 83 fb 40          	cmp    $0x40,%bx
4617de:	73 34                	jae    0x461814
4617e0:	8d 45 da             	lea    -0x26(%ebp),%eax
4617e3:	e8 ec 08 00 00       	call   0x4620d4
4617e8:	0f b7 c0             	movzwl %ax,%eax
4617eb:	33 d2                	xor    %edx,%edx
4617ed:	8a 55 da             	mov    -0x26(%ebp),%dl
4617f0:	2b d0                	sub    %eax,%edx
4617f2:	0f b7 fb             	movzwl %bx,%edi
4617f5:	0f b7 c6             	movzwl %si,%eax
4617f8:	2b f8                	sub    %eax,%edi
4617fa:	3b d7                	cmp    %edi,%edx
4617fc:	7f d8                	jg     0x4617d6
4617fe:	8d 45 b8             	lea    -0x48(%ebp),%eax
461801:	e8 ce 08 00 00       	call   0x4620d4
461806:	0f b7 c0             	movzwl %ax,%eax
461809:	33 d2                	xor    %edx,%edx
46180b:	8a 55 b8             	mov    -0x48(%ebp),%dl
46180e:	2b d0                	sub    %eax,%edx
461810:	3b fa                	cmp    %edx,%edi
461812:	7c c2                	jl     0x4617d6
461814:	56                   	push   %esi
461815:	8b 55 fc             	mov    -0x4(%ebp),%edx
461818:	8d 45 da             	lea    -0x26(%ebp),%eax
46181b:	8b cb                	mov    %ebx,%ecx
46181d:	e8 be fc ff ff       	call   0x4614e0
461822:	56                   	push   %esi
461823:	8b 55 0c             	mov    0xc(%ebp),%edx
461826:	8d 45 b8             	lea    -0x48(%ebp),%eax
461829:	8b cb                	mov    %ebx,%ecx
46182b:	e8 b0 fc ff ff       	call   0x4614e0
461830:	5f                   	pop    %edi
461831:	5e                   	pop    %esi
461832:	5b                   	pop    %ebx
461833:	8b e5                	mov    %ebp,%esp
461835:	5d                   	pop    %ebp
461836:	c2 08 00             	ret    $0x8
461839:	8d 40 00             	lea    0x0(%eax),%eax
46183c:	53                   	push   %ebx
46183d:	56                   	push   %esi
46183e:	57                   	push   %edi
46183f:	55                   	push   %ebp
461840:	83 c4 b8             	add    $0xffffffb8,%esp
461843:	8b f2                	mov    %edx,%esi
461845:	8b f8                	mov    %eax,%edi
461847:	8a 47 01             	mov    0x1(%edi),%al
46184a:	24 80                	and    $0x80,%al
46184c:	8a 56 01             	mov    0x1(%esi),%dl
46184f:	80 e2 80             	and    $0x80,%dl
461852:	3a c2                	cmp    %dl,%al
461854:	74 16                	je     0x46186c
461856:	84 c0                	test   %al,%al
461858:	74 08                	je     0x461862
46185a:	83 c8 ff             	or     $0xffffffff,%eax
46185d:	e9 9a 00 00 00       	jmp    0x4618fc
461862:	b8 01 00 00 00       	mov    $0x1,%eax
461867:	e9 90 00 00 00       	jmp    0x4618fc
46186c:	84 c0                	test   %al,%al
46186e:	0f 95 44 24 01       	setne  0x1(%esp)
461873:	8d 6f 02             	lea    0x2(%edi),%ebp
461876:	8d 5e 02             	lea    0x2(%esi),%ebx
461879:	55                   	push   %ebp
46187a:	8a 47 01             	mov    0x1(%edi),%al
46187d:	24 3f                	and    $0x3f,%al
46187f:	25 ff 00 00 00       	and    $0xff,%eax
461884:	33 d2                	xor    %edx,%edx
461886:	8a 17                	mov    (%edi),%dl
461888:	66 2b d0             	sub    %ax,%dx
46188b:	52                   	push   %edx
46188c:	e8 a7 f9 ff ff       	call   0x461238
461891:	88 04 24             	mov    %al,(%esp)
461894:	53                   	push   %ebx
461895:	8a 46 01             	mov    0x1(%esi),%al
461898:	24 3f                	and    $0x3f,%al
46189a:	25 ff 00 00 00       	and    $0xff,%eax
46189f:	33 d2                	xor    %edx,%edx
4618a1:	8a 16                	mov    (%esi),%dl
4618a3:	66 2b d0             	sub    %ax,%dx
4618a6:	52                   	push   %edx
4618a7:	e8 8c f9 ff ff       	call   0x461238
4618ac:	3a 04 24             	cmp    (%esp),%al
4618af:	74 11                	je     0x4618c2
4618b1:	3a 04 24             	cmp    (%esp),%al
4618b4:	7d 07                	jge    0x4618bd
4618b6:	b8 01 00 00 00       	mov    $0x1,%eax
4618bb:	eb 36                	jmp    0x4618f3
4618bd:	83 c8 ff             	or     $0xffffffff,%eax
4618c0:	eb 31                	jmp    0x4618f3
4618c2:	8d 44 24 24          	lea    0x24(%esp),%eax
4618c6:	50                   	push   %eax
4618c7:	6a 00                	push   $0x0
4618c9:	8d 4c 24 0a          	lea    0xa(%esp),%ecx
4618cd:	8b d6                	mov    %esi,%edx
4618cf:	8b c7                	mov    %edi,%eax
4618d1:	e8 32 fe ff ff       	call   0x461708
4618d6:	8d 6c 24 04          	lea    0x4(%esp),%ebp
4618da:	8d 5c 24 26          	lea    0x26(%esp),%ebx
4618de:	55                   	push   %ebp
4618df:	53                   	push   %ebx
4618e0:	33 c0                	xor    %eax,%eax
4618e2:	8a 44 24 0a          	mov    0xa(%esp),%al
4618e6:	50                   	push   %eax
4618e7:	33 c0                	xor    %eax,%eax
4618e9:	8a 44 24 30          	mov    0x30(%esp),%al
4618ed:	50                   	push   %eax
4618ee:	e8 f9 fa ff ff       	call   0x4613ec
4618f3:	80 7c 24 01 00       	cmpb   $0x0,0x1(%esp)
4618f8:	74 02                	je     0x4618fc
4618fa:	f7 d8                	neg    %eax
4618fc:	83 c4 48             	add    $0x48,%esp
4618ff:	5d                   	pop    %ebp
461900:	5f                   	pop    %edi
461901:	5e                   	pop    %esi
461902:	5b                   	pop    %ebx
461903:	c3                   	ret
461904:	53                   	push   %ebx
461905:	56                   	push   %esi
461906:	57                   	push   %edi
461907:	83 c4 dc             	add    $0xffffffdc,%esp
46190a:	8b f1                	mov    %ecx,%esi
46190c:	8b d8                	mov    %eax,%ebx
46190e:	56                   	push   %esi
46190f:	8b f2                	mov    %edx,%esi
461911:	8d 7c 24 04          	lea    0x4(%esp),%edi
461915:	b9 08 00 00 00       	mov    $0x8,%ecx
46191a:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46191c:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
46191e:	5e                   	pop    %esi
46191f:	8a 44 24 01          	mov    0x1(%esp),%al
461923:	e8 6c fb ff ff       	call   0x461494
461928:	88 44 24 01          	mov    %al,0x1(%esp)
46192c:	8b ce                	mov    %esi,%ecx
46192e:	8b d4                	mov    %esp,%edx
461930:	8b c3                	mov    %ebx,%eax
461932:	e8 29 03 00 00       	call   0x461c60
461937:	83 c4 24             	add    $0x24,%esp
46193a:	5f                   	pop    %edi
46193b:	5e                   	pop    %esi
46193c:	5b                   	pop    %ebx
46193d:	c3                   	ret
46193e:	8b c0                	mov    %eax,%eax
461940:	55                   	push   %ebp
461941:	8b ec                	mov    %esp,%ebp
461943:	83 c4 d0             	add    $0xffffffd0,%esp
461946:	53                   	push   %ebx
461947:	56                   	push   %esi
461948:	57                   	push   %edi
461949:	33 db                	xor    %ebx,%ebx
46194b:	89 5d f4             	mov    %ebx,-0xc(%ebp)
46194e:	8b f1                	mov    %ecx,%esi
461950:	89 55 f8             	mov    %edx,-0x8(%ebp)
461953:	89 45 fc             	mov    %eax,-0x4(%ebp)
461956:	8b 45 fc             	mov    -0x4(%ebp),%eax
461959:	e8 b6 2c fa ff       	call   0x404614
46195e:	8b 45 f8             	mov    -0x8(%ebp),%eax
461961:	e8 ae 2c fa ff       	call   0x404614
461966:	33 c0                	xor    %eax,%eax
461968:	55                   	push   %ebp
461969:	68 29 1a 46 00       	push   $0x461a29
46196e:	64 ff 30             	push   %fs:(%eax)
461971:	64 89 20             	mov    %esp,%fs:(%eax)
461974:	33 db                	xor    %ebx,%ebx
461976:	8b 45 fc             	mov    -0x4(%ebp),%eax
461979:	e8 a6 2c fa ff       	call   0x404624
46197e:	80 38 2d             	cmpb   $0x2d,(%eax)
461981:	75 1d                	jne    0x4619a0
461983:	43                   	inc    %ebx
461984:	8d 45 fc             	lea    -0x4(%ebp),%eax
461987:	50                   	push   %eax
461988:	8b 45 fc             	mov    -0x4(%ebp),%eax
46198b:	e8 94 2a fa ff       	call   0x404424
461990:	8b c8                	mov    %eax,%ecx
461992:	49                   	dec    %ecx
461993:	ba 02 00 00 00       	mov    $0x2,%edx
461998:	8b 45 fc             	mov    -0x4(%ebp),%eax
46199b:	e8 e4 2c fa ff       	call   0x404684
4619a0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4619a3:	e8 7c 2c fa ff       	call   0x404624
4619a8:	80 38 2d             	cmpb   $0x2d,(%eax)
4619ab:	75 1d                	jne    0x4619ca
4619ad:	43                   	inc    %ebx
4619ae:	8d 45 f8             	lea    -0x8(%ebp),%eax
4619b1:	50                   	push   %eax
4619b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4619b5:	e8 6a 2a fa ff       	call   0x404424
4619ba:	8b c8                	mov    %eax,%ecx
4619bc:	49                   	dec    %ecx
4619bd:	ba 02 00 00 00       	mov    $0x2,%edx
4619c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4619c5:	e8 ba 2c fa ff       	call   0x404684
4619ca:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4619cd:	8b 55 f8             	mov    -0x8(%ebp),%edx
4619d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4619d3:	e8 58 ec ff ff       	call   0x460630
4619d8:	8d 55 d0             	lea    -0x30(%ebp),%edx
4619db:	8b 45 f4             	mov    -0xc(%ebp),%eax
4619de:	e8 45 dd ff ff       	call   0x45f728
4619e3:	56                   	push   %esi
4619e4:	8b fe                	mov    %esi,%edi
4619e6:	8d 75 d0             	lea    -0x30(%ebp),%esi
4619e9:	b9 08 00 00 00       	mov    $0x8,%ecx
4619ee:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4619f0:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4619f2:	5e                   	pop    %esi
4619f3:	81 e3 01 00 00 80    	and    $0x80000001,%ebx
4619f9:	79 05                	jns    0x461a00
4619fb:	4b                   	dec    %ebx
4619fc:	83 cb fe             	or     $0xfffffffe,%ebx
4619ff:	43                   	inc    %ebx
461a00:	85 db                	test   %ebx,%ebx
461a02:	74 0a                	je     0x461a0e
461a04:	8a 46 01             	mov    0x1(%esi),%al
461a07:	24 3f                	and    $0x3f,%al
461a09:	0c 80                	or     $0x80,%al
461a0b:	88 46 01             	mov    %al,0x1(%esi)
461a0e:	33 c0                	xor    %eax,%eax
461a10:	5a                   	pop    %edx
461a11:	59                   	pop    %ecx
461a12:	59                   	pop    %ecx
461a13:	64 89 10             	mov    %edx,%fs:(%eax)
461a16:	68 30 1a 46 00       	push   $0x461a30
461a1b:	8d 45 f4             	lea    -0xc(%ebp),%eax
461a1e:	ba 03 00 00 00       	mov    $0x3,%edx
461a23:	e8 60 27 fa ff       	call   0x404188
461a28:	c3                   	ret
461a29:	e9 3a 21 fa ff       	jmp    0x403b68
461a2e:	eb eb                	jmp    0x461a1b
461a30:	5f                   	pop    %edi
461a31:	5e                   	pop    %esi
461a32:	5b                   	pop    %ebx
461a33:	8b e5                	mov    %ebp,%esp
461a35:	5d                   	pop    %ebp
461a36:	c3                   	ret