414544:	0f ac f7 04          	shrd   $0x4,%esi,%edi
414548:	8b cb                	mov    %ebx,%ecx
41454a:	23 7d 0c             	and    0xc(%ebp),%edi
41454d:	c1 ee 04             	shr    $0x4,%esi
414550:	8b c7                	mov    %edi,%eax
414552:	23 75 10             	and    0x10(%ebp),%esi
414555:	81 e6 ff ff 00 00    	and    $0xffff,%esi
41455b:	8b d6                	mov    %esi,%edx
41455d:	e8 4e e0 00 00       	call   0x4225b0
414562:	8a c8                	mov    %al,%cl
414564:	eb 10                	jmp    0x414576
414566:	33 c9                	xor    %ecx,%ecx
414568:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
41456e:	8b c1                	mov    %ecx,%eax
414570:	0b c6                	or     %esi,%eax
414572:	74 02                	je     0x414576
414574:	b1 01                	mov    $0x1,%cl
414576:	80 e1 01             	and    $0x1,%cl
414579:	8a c1                	mov    %cl,%al
41457b:	eb 02                	jmp    0x41457f
41457d:	b0 01                	mov    $0x1,%al
41457f:	5f                   	pop    %edi
414580:	5e                   	pop    %esi
414581:	5b                   	pop    %ebx
414582:	5d                   	pop    %ebp
414583:	c3                   	ret
414584:	8b ff                	mov    %edi,%edi
414586:	55                   	push   %ebp
414587:	8b ec                	mov    %esp,%ebp
414589:	83 ec 38             	sub    $0x38,%esp
41458c:	33 c0                	xor    %eax,%eax
41458e:	57                   	push   %edi
41458f:	8b 7d 1c             	mov    0x1c(%ebp),%edi
414592:	85 ff                	test   %edi,%edi
414594:	79 02                	jns    0x414598
414596:	8b f8                	mov    %eax,%edi
414598:	53                   	push   %ebx
414599:	56                   	push   %esi
41459a:	8b 75 0c             	mov    0xc(%ebp),%esi
41459d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4145a0:	ff 75 28             	push   0x28(%ebp)
4145a3:	88 06                	mov    %al,(%esi)
4145a5:	e8 d4 76 ff ff       	call   0x40bc7e
4145aa:	8d 47 0b             	lea    0xb(%edi),%eax
4145ad:	39 45 10             	cmp    %eax,0x10(%ebp)
4145b0:	77 14                	ja     0x4145c6
4145b2:	e8 44 a8 ff ff       	call   0x40edfb
4145b7:	6a 22                	push   $0x22
4145b9:	5f                   	pop    %edi
4145ba:	89 38                	mov    %edi,(%eax)
4145bc:	e8 c0 8a ff ff       	call   0x40d081
4145c1:	e9 b6 02 00 00       	jmp    0x41487c
4145c6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4145c9:	8b 4b 04             	mov    0x4(%ebx),%ecx
4145cc:	8b c1                	mov    %ecx,%eax
4145ce:	8b 13                	mov    (%ebx),%edx
4145d0:	c1 e8 14             	shr    $0x14,%eax
4145d3:	25 ff 07 00 00       	and    $0x7ff,%eax
4145d8:	3d ff 07 00 00       	cmp    $0x7ff,%eax
4145dd:	75 53                	jne    0x414632
4145df:	ff 75 2c             	push   0x2c(%ebp)
4145e2:	33 c0                	xor    %eax,%eax
4145e4:	50                   	push   %eax
4145e5:	ff 75 24             	push   0x24(%ebp)
4145e8:	50                   	push   %eax
4145e9:	57                   	push   %edi
4145ea:	ff 75 18             	push   0x18(%ebp)
4145ed:	ff 75 14             	push   0x14(%ebp)
4145f0:	ff 75 10             	push   0x10(%ebp)
4145f3:	56                   	push   %esi
4145f4:	53                   	push   %ebx
4145f5:	e8 99 02 00 00       	call   0x414893
4145fa:	8b f8                	mov    %eax,%edi
4145fc:	83 c4 28             	add    $0x28,%esp
4145ff:	85 ff                	test   %edi,%edi
414601:	74 08                	je     0x41460b
414603:	c6 06 00             	movb   $0x0,(%esi)
414606:	e9 71 02 00 00       	jmp    0x41487c
41460b:	6a 65                	push   $0x65
41460d:	56                   	push   %esi
41460e:	e8 dd e1 00 00       	call   0x4227f0
414613:	59                   	pop    %ecx
414614:	59                   	pop    %ecx
414615:	85 c0                	test   %eax,%eax
414617:	74 12                	je     0x41462b
414619:	8a 4d 20             	mov    0x20(%ebp),%cl
41461c:	80 f1 01             	xor    $0x1,%cl
41461f:	c0 e1 05             	shl    $0x5,%cl
414622:	80 c1 50             	add    $0x50,%cl
414625:	88 08                	mov    %cl,(%eax)
414627:	c6 40 03 00          	movb   $0x0,0x3(%eax)
41462b:	33 ff                	xor    %edi,%edi
41462d:	e9 4a 02 00 00       	jmp    0x41487c
414632:	33 c0                	xor    %eax,%eax
414634:	3b c8                	cmp    %eax,%ecx
414636:	7f 0d                	jg     0x414645
414638:	7c 04                	jl     0x41463e
41463a:	3b d0                	cmp    %eax,%edx
41463c:	73 07                	jae    0x414645
41463e:	c6 06 2d             	movb   $0x2d,(%esi)
414641:	46                   	inc    %esi
414642:	8b 4b 04             	mov    0x4(%ebx),%ecx
414645:	8a 45 20             	mov    0x20(%ebp),%al
414648:	8d 56 01             	lea    0x1(%esi),%edx
41464b:	34 01                	xor    $0x1,%al
41464d:	c7 45 f4 ff 03 00 00 	movl   $0x3ff,-0xc(%ebp)
414654:	88 45 ff             	mov    %al,-0x1(%ebp)
414657:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
41465d:	0f b6 c0             	movzbl %al,%eax
414660:	c1 e0 05             	shl    $0x5,%eax
414663:	83 c0 07             	add    $0x7,%eax
414666:	89 55 dc             	mov    %edx,-0x24(%ebp)
414669:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41466c:	33 c0                	xor    %eax,%eax
41466e:	0b c1                	or     %ecx,%eax
414670:	6a 30                	push   $0x30
414672:	58                   	pop    %eax
414673:	75 1e                	jne    0x414693
414675:	88 06                	mov    %al,(%esi)
414677:	8b 43 04             	mov    0x4(%ebx),%eax
41467a:	8b 0b                	mov    (%ebx),%ecx
41467c:	25 ff ff 0f 00       	and    $0xfffff,%eax
414681:	0b c8                	or     %eax,%ecx
414683:	75 05                	jne    0x41468a
414685:	89 4d f4             	mov    %ecx,-0xc(%ebp)
414688:	eb 0e                	jmp    0x414698
41468a:	c7 45 f4 fe 03 00 00 	movl   $0x3fe,-0xc(%ebp)
414691:	eb 03                	jmp    0x414696
414693:	c6 06 31             	movb   $0x31,(%esi)
414696:	33 c9                	xor    %ecx,%ecx
414698:	8d 72 01             	lea    0x1(%edx),%esi
41469b:	89 75 f8             	mov    %esi,-0x8(%ebp)
41469e:	85 ff                	test   %edi,%edi
4146a0:	75 04                	jne    0x4146a6
4146a2:	8a c1                	mov    %cl,%al
4146a4:	eb 0d                	jmp    0x4146b3
4146a6:	8b 45 cc             	mov    -0x34(%ebp),%eax
4146a9:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
4146af:	8b 00                	mov    (%eax),%eax
4146b1:	8a 00                	mov    (%eax),%al
4146b3:	88 02                	mov    %al,(%edx)
4146b5:	8b 43 04             	mov    0x4(%ebx),%eax
4146b8:	25 ff ff 0f 00       	and    $0xfffff,%eax
4146bd:	89 45 ec             	mov    %eax,-0x14(%ebp)
4146c0:	77 08                	ja     0x4146ca
4146c2:	39 0b                	cmp    %ecx,(%ebx)
4146c4:	0f 86 b7 00 00 00    	jbe    0x414781
4146ca:	6a 30                	push   $0x30
4146cc:	8b d1                	mov    %ecx,%edx
4146ce:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
4146d3:	58                   	pop    %eax
4146d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4146d7:	89 55 f0             	mov    %edx,-0x10(%ebp)
4146da:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4146dd:	85 ff                	test   %edi,%edi
4146df:	7e 50                	jle    0x414731
4146e1:	8b 03                	mov    (%ebx),%eax
4146e3:	23 c2                	and    %edx,%eax
4146e5:	8b 53 04             	mov    0x4(%ebx),%edx
4146e8:	23 d1                	and    %ecx,%edx
4146ea:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4146ed:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4146f3:	0f bf c9             	movswl %cx,%ecx
4146f6:	e8 b5 de 00 00       	call   0x4225b0
4146fb:	6a 30                	push   $0x30
4146fd:	59                   	pop    %ecx
4146fe:	66 03 c1             	add    %cx,%ax
414701:	0f b7 c0             	movzwl %ax,%eax
414704:	83 f8 39             	cmp    $0x39,%eax
414707:	76 03                	jbe    0x41470c
414709:	03 45 e4             	add    -0x1c(%ebp),%eax
41470c:	8b 55 f0             	mov    -0x10(%ebp),%edx
41470f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
414712:	0f ac ca 04          	shrd   $0x4,%ecx,%edx
414716:	88 06                	mov    %al,(%esi)
414718:	46                   	inc    %esi
414719:	8b 45 f8             	mov    -0x8(%ebp),%eax
41471c:	c1 e9 04             	shr    $0x4,%ecx
41471f:	83 e8 04             	sub    $0x4,%eax
414722:	4f                   	dec    %edi
414723:	89 55 f0             	mov    %edx,-0x10(%ebp)
414726:	89 4d ec             	mov    %ecx,-0x14(%ebp)
414729:	89 45 f8             	mov    %eax,-0x8(%ebp)
41472c:	66 85 c0             	test   %ax,%ax
41472f:	79 ac                	jns    0x4146dd
414731:	89 75 f8             	mov    %esi,-0x8(%ebp)
414734:	66 85 c0             	test   %ax,%ax
414737:	78 48                	js     0x414781
414739:	ff 75 2c             	push   0x2c(%ebp)
41473c:	50                   	push   %eax
41473d:	51                   	push   %ecx
41473e:	52                   	push   %edx
41473f:	53                   	push   %ebx
414740:	e8 5a 06 00 00       	call   0x414d9f
414745:	83 c4 14             	add    $0x14,%esp
414748:	84 c0                	test   %al,%al
41474a:	74 35                	je     0x414781
41474c:	6a 30                	push   $0x30
41474e:	8d 46 ff             	lea    -0x1(%esi),%eax
414751:	5b                   	pop    %ebx
414752:	8a 08                	mov    (%eax),%cl
414754:	80 f9 66             	cmp    $0x66,%cl
414757:	74 05                	je     0x41475e
414759:	80 f9 46             	cmp    $0x46,%cl
41475c:	75 05                	jne    0x414763
41475e:	88 18                	mov    %bl,(%eax)
414760:	48                   	dec    %eax
414761:	eb ef                	jmp    0x414752
414763:	8b 5d 08             	mov    0x8(%ebp),%ebx
414766:	3b 45 dc             	cmp    -0x24(%ebp),%eax
414769:	74 13                	je     0x41477e
41476b:	80 f9 39             	cmp    $0x39,%cl
41476e:	75 08                	jne    0x414778
414770:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
414773:	80 c1 3a             	add    $0x3a,%cl
414776:	eb 02                	jmp    0x41477a
414778:	fe c1                	inc    %cl
41477a:	88 08                	mov    %cl,(%eax)
41477c:	eb 03                	jmp    0x414781
41477e:	fe 40 ff             	incb   -0x1(%eax)
414781:	85 ff                	test   %edi,%edi
414783:	7e 13                	jle    0x414798
414785:	57                   	push   %edi
414786:	6a 30                	push   $0x30
414788:	58                   	pop    %eax
414789:	50                   	push   %eax
41478a:	56                   	push   %esi
41478b:	e8 60 47 ff ff       	call   0x408ef0
414790:	83 c4 0c             	add    $0xc,%esp
414793:	03 f7                	add    %edi,%esi
414795:	89 75 f8             	mov    %esi,-0x8(%ebp)
414798:	8b 45 dc             	mov    -0x24(%ebp),%eax
41479b:	80 38 00             	cmpb   $0x0,(%eax)
41479e:	75 05                	jne    0x4147a5
4147a0:	8b f0                	mov    %eax,%esi
4147a2:	89 75 f8             	mov    %esi,-0x8(%ebp)
4147a5:	8a 45 ff             	mov    -0x1(%ebp),%al
4147a8:	b1 34                	mov    $0x34,%cl
4147aa:	c0 e0 05             	shl    $0x5,%al
4147ad:	04 50                	add    $0x50,%al
4147af:	88 06                	mov    %al,(%esi)
4147b1:	8b 03                	mov    (%ebx),%eax
4147b3:	8b 53 04             	mov    0x4(%ebx),%edx
4147b6:	e8 f5 dd 00 00       	call   0x4225b0
4147bb:	8b c8                	mov    %eax,%ecx
4147bd:	33 f6                	xor    %esi,%esi
4147bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4147c2:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
4147c8:	2b 4d f4             	sub    -0xc(%ebp),%ecx
4147cb:	1b f6                	sbb    %esi,%esi
4147cd:	8d 50 02             	lea    0x2(%eax),%edx
4147d0:	89 55 dc             	mov    %edx,-0x24(%ebp)
4147d3:	78 0a                	js     0x4147df
4147d5:	7f 04                	jg     0x4147db
4147d7:	85 c9                	test   %ecx,%ecx
4147d9:	72 04                	jb     0x4147df
4147db:	b3 2b                	mov    $0x2b,%bl
4147dd:	eb 0a                	jmp    0x4147e9
4147df:	f7 d9                	neg    %ecx
4147e1:	6a 2d                	push   $0x2d
4147e3:	83 d6 00             	adc    $0x0,%esi
4147e6:	f7 de                	neg    %esi
4147e8:	5b                   	pop    %ebx
4147e9:	88 58 01             	mov    %bl,0x1(%eax)
4147ec:	8b fa                	mov    %edx,%edi
4147ee:	6a 30                	push   $0x30
4147f0:	58                   	pop    %eax
4147f1:	88 02                	mov    %al,(%edx)
4147f3:	33 c0                	xor    %eax,%eax
4147f5:	3b f0                	cmp    %eax,%esi
4147f7:	7c 28                	jl     0x414821
4147f9:	bb e8 03 00 00       	mov    $0x3e8,%ebx
4147fe:	7f 04                	jg     0x414804
414800:	3b cb                	cmp    %ebx,%ecx
414802:	72 1d                	jb     0x414821
414804:	53                   	push   %ebx
414805:	50                   	push   %eax
414806:	53                   	push   %ebx
414807:	56                   	push   %esi
414808:	51                   	push   %ecx
414809:	e8 c2 dd 00 00       	call   0x4225d0
41480e:	8b f3                	mov    %ebx,%esi
414810:	5b                   	pop    %ebx
414811:	90                   	nop
414812:	89 55 e4             	mov    %edx,-0x1c(%ebp)
414815:	04 30                	add    $0x30,%al
414817:	8b 55 dc             	mov    -0x24(%ebp),%edx
41481a:	88 02                	mov    %al,(%edx)
41481c:	8d 7a 01             	lea    0x1(%edx),%edi
41481f:	33 c0                	xor    %eax,%eax
414821:	3b fa                	cmp    %edx,%edi
414823:	75 0b                	jne    0x414830
414825:	3b f0                	cmp    %eax,%esi
414827:	7c 23                	jl     0x41484c
414829:	7f 05                	jg     0x414830
41482b:	83 f9 64             	cmp    $0x64,%ecx
41482e:	72 1c                	jb     0x41484c
414830:	53                   	push   %ebx
414831:	50                   	push   %eax
414832:	6a 64                	push   $0x64
414834:	56                   	push   %esi
414835:	51                   	push   %ecx
414836:	e8 95 dd 00 00       	call   0x4225d0
41483b:	8b f3                	mov    %ebx,%esi
41483d:	5b                   	pop    %ebx
41483e:	90                   	nop
41483f:	04 30                	add    $0x30,%al
414841:	89 55 e4             	mov    %edx,-0x1c(%ebp)
414844:	8b 55 dc             	mov    -0x24(%ebp),%edx
414847:	88 07                	mov    %al,(%edi)
414849:	47                   	inc    %edi
41484a:	33 c0                	xor    %eax,%eax
41484c:	3b fa                	cmp    %edx,%edi
41484e:	75 0b                	jne    0x41485b
414850:	3b f0                	cmp    %eax,%esi
414852:	7c 1e                	jl     0x414872
414854:	7f 05                	jg     0x41485b
414856:	83 f9 0a             	cmp    $0xa,%ecx
414859:	72 17                	jb     0x414872
41485b:	53                   	push   %ebx
41485c:	50                   	push   %eax
41485d:	6a 0a                	push   $0xa
41485f:	56                   	push   %esi
414860:	51                   	push   %ecx
414861:	e8 6a dd 00 00       	call   0x4225d0
414866:	5b                   	pop    %ebx
414867:	90                   	nop
414868:	04 30                	add    $0x30,%al
41486a:	89 55 dc             	mov    %edx,-0x24(%ebp)
41486d:	88 07                	mov    %al,(%edi)
41486f:	47                   	inc    %edi
414870:	33 c0                	xor    %eax,%eax
414872:	80 c1 30             	add    $0x30,%cl
414875:	88 0f                	mov    %cl,(%edi)
414877:	88 47 01             	mov    %al,0x1(%edi)
41487a:	8b f8                	mov    %eax,%edi
41487c:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
414880:	5e                   	pop    %esi
414881:	5b                   	pop    %ebx
414882:	74 0a                	je     0x41488e
414884:	8b 4d c8             	mov    -0x38(%ebp),%ecx
414887:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41488e:	8b c7                	mov    %edi,%eax
414890:	5f                   	pop    %edi
414891:	c9                   	leave
414892:	c3                   	ret
414893:	8b ff                	mov    %edi,%edi
414895:	55                   	push   %ebp
414896:	8b ec                	mov    %esp,%ebp
414898:	83 ec 0c             	sub    $0xc,%esp