4614fd:	75 26                	jne    0x461525
4614ff:	8a 47 01             	mov    0x1(%edi),%al
461502:	24 3f                	and    $0x3f,%al
461504:	25 ff 00 00 00       	and    $0xff,%eax
461509:	66 3b 45 08          	cmp    0x8(%ebp),%ax
46150d:	75 16                	jne    0x461525
46150f:	56                   	push   %esi
461510:	8b c7                	mov    %edi,%eax
461512:	8b fe                	mov    %esi,%edi
461514:	8b f0                	mov    %eax,%esi
461516:	b9 08 00 00 00       	mov    $0x8,%ecx
46151b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46151d:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
46151f:	5e                   	pop    %esi
461520:	e9 96 00 00 00       	jmp    0x4615bb
461525:	8a 47 01             	mov    0x1(%edi),%al
461528:	a8 80                	test   $0x80,%al
46152a:	0f 95 45 f5          	setne  -0xb(%ebp)
46152e:	24 3f                	and    $0x3f,%al
461530:	25 ff 00 00 00       	and    $0xff,%eax
461535:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
461539:	8a 45 fe             	mov    -0x2(%ebp),%al
46153c:	88 06                	mov    %al,(%esi)
46153e:	8a 45 08             	mov    0x8(%ebp),%al
461541:	88 46 01             	mov    %al,0x1(%esi)
461544:	8d 47 02             	lea    0x2(%edi),%eax
461547:	89 45 f8             	mov    %eax,-0x8(%ebp)
46154a:	8d 5e 02             	lea    0x2(%esi),%ebx
46154d:	8b c3                	mov    %ebx,%eax
46154f:	33 c9                	xor    %ecx,%ecx
461551:	ba 20 00 00 00       	mov    $0x20,%edx
461556:	e8 11 18 fa ff       	call   0x402d6c
46155b:	33 c0                	xor    %eax,%eax
46155d:	8a 07                	mov    (%edi),%al
46155f:	66 3b 45 fe          	cmp    -0x2(%ebp),%ax
461563:	76 1a                	jbe    0x46157f
461565:	8b 45 f8             	mov    -0x8(%ebp),%eax
461568:	50                   	push   %eax
461569:	33 c0                	xor    %eax,%eax
46156b:	8a 07                	mov    (%edi),%al
46156d:	50                   	push   %eax
46156e:	e8 c5 fc ff ff       	call   0x461238
461573:	66 3b 45 fe          	cmp    -0x2(%ebp),%ax
461577:	76 06                	jbe    0x46157f
461579:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
46157d:	eb 3c                	jmp    0x4615bb
46157f:	8b 55 f8             	mov    -0x8(%ebp),%edx
461582:	52                   	push   %edx
461583:	8a 45 f6             	mov    -0xa(%ebp),%al
461586:	8a 17                	mov    (%edi),%dl
461588:	2a d0                	sub    %al,%dl
46158a:	52                   	push   %edx
46158b:	50                   	push   %eax
46158c:	8a 45 fe             	mov    -0x2(%ebp),%al
46158f:	8a 55 08             	mov    0x8(%ebp),%dl
461592:	80 e2 3f             	and    $0x3f,%dl
461595:	2a c2                	sub    %dl,%al
461597:	50                   	push   %eax
461598:	8a 45 08             	mov    0x8(%ebp),%al
46159b:	24 3f                	and    $0x3f,%al
46159d:	50                   	push   %eax
46159e:	53                   	push   %ebx
46159f:	e8 f0 f8 ff ff       	call   0x460e94
4615a4:	80 7d f5 00          	cmpb   $0x0,-0xb(%ebp)
4615a8:	74 11                	je     0x4615bb
4615aa:	f6 46 01 80          	testb  $0x80,0x1(%esi)
4615ae:	75 0b                	jne    0x4615bb
4615b0:	8a 46 01             	mov    0x1(%esi),%al
4615b3:	e8 dc fe ff ff       	call   0x461494
4615b8:	88 46 01             	mov    %al,0x1(%esi)
4615bb:	8d 5e 02             	lea    0x2(%esi),%ebx
4615be:	33 d2                	xor    %edx,%edx
4615c0:	8a 16                	mov    (%esi),%dl
4615c2:	8b c2                	mov    %edx,%eax
4615c4:	d1 e8                	shr    $1,%eax
4615c6:	83 e2 01             	and    $0x1,%edx
4615c9:	83 fa 01             	cmp    $0x1,%edx
4615cc:	75 01                	jne    0x4615cf
4615ce:	40                   	inc    %eax
4615cf:	0f bf c0             	movswl %ax,%eax
4615d2:	83 f8 1f             	cmp    $0x1f,%eax
4615d5:	7f 0a                	jg     0x4615e1
4615d7:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
4615db:	40                   	inc    %eax
4615dc:	83 f8 20             	cmp    $0x20,%eax
4615df:	75 f6                	jne    0x4615d7
4615e1:	8a 45 fd             	mov    -0x3(%ebp),%al
4615e4:	5f                   	pop    %edi
4615e5:	5e                   	pop    %esi
4615e6:	5b                   	pop    %ebx
4615e7:	8b e5                	mov    %ebp,%esp
4615e9:	5d                   	pop    %ebp
4615ea:	c2 04 00             	ret    $0x4
4615ed:	8d 40 00             	lea    0x0(%eax),%eax
4615f0:	33 d2                	xor    %edx,%edx
4615f2:	8a 10                	mov    (%eax),%dl
4615f4:	83 c0 02             	add    $0x2,%eax
4615f7:	eb 04                	jmp    0x4615fd
4615f9:	83 ea 02             	sub    $0x2,%edx
4615fc:	40                   	inc    %eax
4615fd:	83 fa 01             	cmp    $0x1,%edx
461600:	7e 05                	jle    0x461607
461602:	80 38 00             	cmpb   $0x0,(%eax)
461605:	74 f2                	je     0x4615f9
461607:	8b c2                	mov    %edx,%eax
461609:	c3                   	ret
46160a:	8b c0                	mov    %eax,%eax
46160c:	53                   	push   %ebx
46160d:	56                   	push   %esi
46160e:	57                   	push   %edi
46160f:	55                   	push   %ebp
461610:	8b d9                	mov    %ecx,%ebx
461612:	8b fa                	mov    %edx,%edi
461614:	8b f0                	mov    %eax,%esi
461616:	8a 06                	mov    (%esi),%al
461618:	33 d2                	xor    %edx,%edx
46161a:	8a d0                	mov    %al,%dl
46161c:	3b fa                	cmp    %edx,%edi
46161e:	7c 0d                	jl     0x46162d
461620:	8b fb                	mov    %ebx,%edi
461622:	b9 08 00 00 00       	mov    $0x8,%ecx
461627:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
461629:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
46162b:	eb 5a                	jmp    0x461687
46162d:	88 03                	mov    %al,(%ebx)
46162f:	8a 46 01             	mov    0x1(%esi),%al
461632:	88 43 01             	mov    %al,0x1(%ebx)
461635:	8d 6b 02             	lea    0x2(%ebx),%ebp
461638:	8b c5                	mov    %ebp,%eax
46163a:	33 c9                	xor    %ecx,%ecx
46163c:	ba 20 00 00 00       	mov    $0x20,%edx
461641:	e8 26 17 fa ff       	call   0x402d6c
461646:	8d 46 02             	lea    0x2(%esi),%eax
461649:	8b f0                	mov    %eax,%esi
46164b:	eb 04                	jmp    0x461651
46164d:	80 2b 02             	subb   $0x2,(%ebx)
461650:	46                   	inc    %esi
461651:	33 c0                	xor    %eax,%eax
461653:	8a 03                	mov    (%ebx),%al
461655:	3b f8                	cmp    %eax,%edi
461657:	7d 05                	jge    0x46165e
461659:	80 3e 00             	cmpb   $0x0,(%esi)
46165c:	74 ef                	je     0x46164d
46165e:	8b c3                	mov    %ebx,%eax
461660:	e8 6f 0a 00 00       	call   0x4620d4
461665:	0f b7 c0             	movzwl %ax,%eax
461668:	33 d2                	xor    %edx,%edx
46166a:	8a 13                	mov    (%ebx),%dl
46166c:	03 c2                	add    %edx,%eax
46166e:	83 c0 02             	add    $0x2,%eax
461671:	d1 e8                	shr    $1,%eax
461673:	83 f8 20             	cmp    $0x20,%eax
461676:	7e 05                	jle    0x46167d
461678:	b8 20 00 00 00       	mov    $0x20,%eax
46167d:	8b d5                	mov    %ebp,%edx
46167f:	8b ce                	mov    %esi,%ecx
461681:	91                   	xchg   %eax,%ecx
461682:	e8 ed 12 fa ff       	call   0x402974
461687:	5d                   	pop    %ebp
461688:	5f                   	pop    %edi
461689:	5e                   	pop    %esi
46168a:	5b                   	pop    %ebx
46168b:	c3                   	ret
46168c:	55                   	push   %ebp
46168d:	8b ec                	mov    %esp,%ebp
46168f:	83 c4 d8             	add    $0xffffffd8,%esp
461692:	53                   	push   %ebx
461693:	56                   	push   %esi
461694:	57                   	push   %edi
461695:	8b f0                	mov    %eax,%esi
461697:	8d 7d da             	lea    -0x26(%ebp),%edi
46169a:	b9 08 00 00 00       	mov    $0x8,%ecx
46169f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4616a1:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4616a3:	8b da                	mov    %edx,%ebx
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