414581:	8a d3                	mov    %bl,%dl
414583:	88 95 a7 f8 ff ff    	mov    %dl,-0x759(%ebp)
414589:	eb 09                	jmp    0x414594
41458b:	88 14 38             	mov    %dl,(%eax,%edi,1)
41458e:	8a 95 a7 f8 ff ff    	mov    -0x759(%ebp),%dl
414594:	48                   	dec    %eax
414595:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
41459b:	83 f8 ff             	cmp    $0xffffffff,%eax
41459e:	8b 85 a8 f8 ff ff    	mov    -0x758(%ebp),%eax
4145a4:	75 a0                	jne    0x414546
4145a6:	83 f9 09             	cmp    $0x9,%ecx
4145a9:	76 03                	jbe    0x4145ae
4145ab:	6a 09                	push   $0x9
4145ad:	59                   	pop    %ecx
4145ae:	03 f9                	add    %ecx,%edi
4145b0:	89 bd b8 f8 ff ff    	mov    %edi,-0x748(%ebp)
4145b6:	3b bd ac f8 ff ff    	cmp    -0x754(%ebp),%edi
4145bc:	0f 85 78 fe ff ff    	jne    0x41443a
4145c2:	c6 07 00             	movb   $0x0,(%edi)
4145c5:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
4145cc:	75 04                	jne    0x4145d2
4145ce:	84 d2                	test   %dl,%dl
4145d0:	74 02                	je     0x4145d4
4145d2:	33 db                	xor    %ebx,%ebx
4145d4:	ff b5 70 f8 ff ff    	push   -0x790(%ebp)
4145da:	8d 85 88 f8 ff ff    	lea    -0x778(%ebp),%eax
4145e0:	ff b5 6c f8 ff ff    	push   -0x794(%ebp)
4145e6:	50                   	push   %eax
4145e7:	e8 a3 5e ff ff       	call   0x40a48f
4145ec:	83 c4 0c             	add    $0xc,%esp
4145ef:	80 bd 68 f8 ff ff 00 	cmpb   $0x0,-0x798(%ebp)
4145f6:	5f                   	pop    %edi
4145f7:	5e                   	pop    %esi
4145f8:	74 0d                	je     0x414607
4145fa:	8d 85 60 f8 ff ff    	lea    -0x7a0(%ebp),%eax
414600:	50                   	push   %eax
414601:	e8 13 11 00 00       	call   0x415719
414606:	59                   	pop    %ecx
414607:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41460a:	8b c3                	mov    %ebx,%eax
41460c:	33 cd                	xor    %ebp,%ecx
41460e:	5b                   	pop    %ebx
41460f:	e8 b4 fa fe ff       	call   0x4040c8
414614:	c9                   	leave
414615:	c3                   	ret
414616:	33 c0                	xor    %eax,%eax
414618:	50                   	push   %eax
414619:	50                   	push   %eax
41461a:	50                   	push   %eax
41461b:	50                   	push   %eax
41461c:	50                   	push   %eax
41461d:	e8 d4 2e ff ff       	call   0x4074f6
414622:	cc                   	int3
414623:	e8 b0 16 00 00       	call   0x415cd8
414628:	50                   	push   %eax
414629:	e8 88 16 00 00       	call   0x415cb6
41462e:	59                   	pop    %ecx
41462f:	c3                   	ret
414630:	8b ff                	mov    %edi,%edi
414632:	55                   	push   %ebp
414633:	8b ec                	mov    %esp,%ebp
414635:	8b 55 08             	mov    0x8(%ebp),%edx
414638:	85 d2                	test   %edx,%edx
41463a:	75 0f                	jne    0x41464b
41463c:	33 c9                	xor    %ecx,%ecx
41463e:	8b 45 10             	mov    0x10(%ebp),%eax
414641:	89 08                	mov    %ecx,(%eax)
414643:	89 48 04             	mov    %ecx,0x4(%eax)
414646:	33 c0                	xor    %eax,%eax
414648:	40                   	inc    %eax
414649:	5d                   	pop    %ebp
41464a:	c3                   	ret
41464b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41464e:	85 c9                	test   %ecx,%ecx
414650:	75 04                	jne    0x414656
414652:	88 0a                	mov    %cl,(%edx)
414654:	eb e8                	jmp    0x41463e
414656:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
41465c:	75 04                	jne    0x414662
41465e:	88 0a                	mov    %cl,(%edx)
414660:	eb e4                	jmp    0x414646
414662:	53                   	push   %ebx
414663:	56                   	push   %esi
414664:	f7 c1 00 f8 ff ff    	test   $0xfffff800,%ecx
41466a:	75 07                	jne    0x414673
41466c:	33 f6                	xor    %esi,%esi
41466e:	b3 c0                	mov    $0xc0,%bl
414670:	46                   	inc    %esi
414671:	eb 33                	jmp    0x4146a6
414673:	f7 c1 00 00 ff ff    	test   $0xffff0000,%ecx
414679:	75 16                	jne    0x414691
41467b:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
414681:	72 08                	jb     0x41468b
414683:	81 f9 ff df 00 00    	cmp    $0xdfff,%ecx
414689:	76 44                	jbe    0x4146cf
41468b:	6a 02                	push   $0x2
41468d:	b3 e0                	mov    $0xe0,%bl
41468f:	eb 14                	jmp    0x4146a5
414691:	f7 c1 00 00 e0 ff    	test   $0xffe00000,%ecx
414697:	75 36                	jne    0x4146cf
414699:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
41469f:	77 2e                	ja     0x4146cf
4146a1:	6a 03                	push   $0x3
4146a3:	b3 f0                	mov    $0xf0,%bl
4146a5:	5e                   	pop    %esi
4146a6:	57                   	push   %edi
4146a7:	8b fe                	mov    %esi,%edi
4146a9:	8a c1                	mov    %cl,%al
4146ab:	c1 e9 06             	shr    $0x6,%ecx
4146ae:	24 3f                	and    $0x3f,%al
4146b0:	0c 80                	or     $0x80,%al
4146b2:	88 04 17             	mov    %al,(%edi,%edx,1)
4146b5:	83 ef 01             	sub    $0x1,%edi
4146b8:	75 ef                	jne    0x4146a9
4146ba:	ff 75 10             	push   0x10(%ebp)
4146bd:	8d 46 01             	lea    0x1(%esi),%eax
4146c0:	0a cb                	or     %bl,%cl
4146c2:	50                   	push   %eax
4146c3:	88 0a                	mov    %cl,(%edx)
4146c5:	e8 af 18 00 00       	call   0x415f79
4146ca:	59                   	pop    %ecx
4146cb:	59                   	pop    %ecx
4146cc:	5f                   	pop    %edi
4146cd:	eb 0d                	jmp    0x4146dc
4146cf:	ff 75 14             	push   0x14(%ebp)
4146d2:	ff 75 10             	push   0x10(%ebp)
4146d5:	e8 b3 18 00 00       	call   0x415f8d
4146da:	59                   	pop    %ecx
4146db:	59                   	pop    %ecx
4146dc:	5e                   	pop    %esi
4146dd:	5b                   	pop    %ebx
4146de:	5d                   	pop    %ebp
4146df:	c3                   	ret
4146e0:	8b ff                	mov    %edi,%edi
4146e2:	55                   	push   %ebp
4146e3:	8b ec                	mov    %esp,%ebp
4146e5:	81 ec 18 01 00 00    	sub    $0x118,%esp
4146eb:	a1 c0 10 42 00       	mov    0x4210c0,%eax
4146f0:	33 c5                	xor    %ebp,%eax
4146f2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4146f5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4146f8:	53                   	push   %ebx
4146f9:	8b 5d 14             	mov    0x14(%ebp),%ebx
4146fc:	56                   	push   %esi
4146fd:	8b 75 08             	mov    0x8(%ebp),%esi
414700:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
414706:	89 9d f8 fe ff ff    	mov    %ebx,-0x108(%ebp)
41470c:	57                   	push   %edi
41470d:	8b 7d 10             	mov    0x10(%ebp),%edi
414710:	89 bd 00 ff ff ff    	mov    %edi,-0x100(%ebp)
414716:	85 f6                	test   %esi,%esi
414718:	75 25                	jne    0x41473f
41471a:	85 c9                	test   %ecx,%ecx
41471c:	74 21                	je     0x41473f
41471e:	e8 0c 60 ff ff       	call   0x40a72f
414723:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
414729:	e8 9b 2d ff ff       	call   0x4074c9
41472e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414731:	5f                   	pop    %edi
414732:	5e                   	pop    %esi
414733:	33 cd                	xor    %ebp,%ecx
414735:	5b                   	pop    %ebx
414736:	e8 8d f9 fe ff       	call   0x4040c8
41473b:	8b e5                	mov    %ebp,%esp
41473d:	5d                   	pop    %ebp
41473e:	c3                   	ret
41473f:	85 ff                	test   %edi,%edi
414741:	74 db                	je     0x41471e
414743:	85 db                	test   %ebx,%ebx
414745:	74 d7                	je     0x41471e
414747:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
41474e:	00 00 00
414751:	83 f9 02             	cmp    $0x2,%ecx
414754:	72 d8                	jb     0x41472e
414756:	49                   	dec    %ecx
414757:	0f af cf             	imul   %edi,%ecx
41475a:	03 ce                	add    %esi,%ecx
41475c:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
414762:	8b c1                	mov    %ecx,%eax
414764:	33 d2                	xor    %edx,%edx
414766:	2b c6                	sub    %esi,%eax
414768:	f7 f7                	div    %edi
41476a:	40                   	inc    %eax
41476b:	83 f8 08             	cmp    $0x8,%eax
41476e:	0f 87 b6 00 00 00    	ja     0x41482a
414774:	3b ce                	cmp    %esi,%ecx
414776:	0f 86 27 04 00 00    	jbe    0x414ba3
41477c:	8d 14 37             	lea    (%edi,%esi,1),%edx
41477f:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
414785:	8b c6                	mov    %esi,%eax
414787:	8b f2                	mov    %edx,%esi
414789:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
41478f:	3b f1                	cmp    %ecx,%esi
414791:	77 2f                	ja     0x4147c2
414793:	50                   	push   %eax
414794:	56                   	push   %esi
414795:	8b cb                	mov    %ebx,%ecx
414797:	ff 15 54 91 41 00    	call   *0x419154
41479d:	ff d3                	call   *%ebx
41479f:	83 c4 08             	add    $0x8,%esp
4147a2:	85 c0                	test   %eax,%eax
4147a4:	7e 0a                	jle    0x4147b0
4147a6:	8b c6                	mov    %esi,%eax
4147a8:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
4147ae:	eb 06                	jmp    0x4147b6
4147b0:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
4147b6:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
4147bc:	03 f7                	add    %edi,%esi
4147be:	3b f1                	cmp    %ecx,%esi
4147c0:	76 d1                	jbe    0x414793
4147c2:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
4147c8:	8b d1                	mov    %ecx,%edx
4147ca:	3b c1                	cmp    %ecx,%eax
4147cc:	74 3b                	je     0x414809
4147ce:	2b c1                	sub    %ecx,%eax
4147d0:	8b df                	mov    %edi,%ebx
4147d2:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
4147d8:	eb 06                	jmp    0x4147e0
4147da:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4147e0:	8a 0c 10             	mov    (%eax,%edx,1),%cl
4147e3:	8d 52 01             	lea    0x1(%edx),%edx
4147e6:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
4147ec:	8a 42 ff             	mov    -0x1(%edx),%al
4147ef:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
4147f3:	8b c6                	mov    %esi,%eax
4147f5:	88 4a ff             	mov    %cl,-0x1(%edx)
4147f8:	83 eb 01             	sub    $0x1,%ebx
4147fb:	75 e3                	jne    0x4147e0
4147fd:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
414803:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
414809:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
41480f:	2b cf                	sub    %edi,%ecx
414811:	8b 95 f0 fe ff ff    	mov    -0x110(%ebp),%edx
414817:	89 8d 08 ff ff ff    	mov    %ecx,-0xf8(%ebp)
41481d:	3b ce                	cmp    %esi,%ecx
41481f:	0f 87 60 ff ff ff    	ja     0x414785
414825:	e9 79 03 00 00       	jmp    0x414ba3
41482a:	d1 e8                	shr    $1,%eax
41482c:	8b cb                	mov    %ebx,%ecx
41482e:	0f af c7             	imul   %edi,%eax
414831:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
414837:	8d 3c 30             	lea    (%eax,%esi,1),%edi
41483a:	57                   	push   %edi
41483b:	56                   	push   %esi
41483c:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
414842:	ff 15 54 91 41 00    	call   *0x419154
414848:	ff d3                	call   *%ebx
41484a:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
414850:	83 c4 08             	add    $0x8,%esp
414853:	85 c0                	test   %eax,%eax
414855:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
41485b:	7e 4d                	jle    0x4148aa
41485d:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
414863:	89 bd f0 fe ff ff    	mov    %edi,-0x110(%ebp)
414869:	3b c7                	cmp    %edi,%eax
41486b:	74 3d                	je     0x4148aa
41486d:	8b 9d f4 fe ff ff    	mov    -0x10c(%ebp),%ebx
414873:	8b f7                	mov    %edi,%esi
414875:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
41487b:	eb 03                	jmp    0x414880
41487d:	8d 49 00             	lea    0x0(%ecx),%ecx
414880:	8a 06                	mov    (%esi),%al
414882:	8b d6                	mov    %esi,%edx
414884:	2b d7                	sub    %edi,%edx
414886:	8a 0a                	mov    (%edx),%cl
414888:	88 02                	mov    %al,(%edx)
41488a:	88 0e                	mov    %cl,(%esi)
41488c:	46                   	inc    %esi
41488d:	83 eb 01             	sub    $0x1,%ebx
414890:	75 ee                	jne    0x414880
414892:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
414898:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
41489e:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4148a4:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
4148aa:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
4148b0:	8b cb                	mov    %ebx,%ecx
4148b2:	50                   	push   %eax
4148b3:	ff 15 54 91 41 00    	call   *0x419154
4148b9:	ff d3                	call   *%ebx
4148bb:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4148c1:	83 c4 08             	add    $0x8,%esp
4148c4:	85 c0                	test   %eax,%eax
4148c6:	7e 49                	jle    0x414911
4148c8:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
4148ce:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
4148d4:	8b f2                	mov    %edx,%esi
4148d6:	3b c2                	cmp    %edx,%eax
4148d8:	74 37                	je     0x414911
4148da:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
4148e0:	2b c2                	sub    %edx,%eax
4148e2:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
4148e8:	8b d0                	mov    %eax,%edx
4148ea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4148f0:	8a 06                	mov    (%esi),%al
4148f2:	8d 76 01             	lea    0x1(%esi),%esi
4148f5:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
4148f9:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
4148fd:	88 4e ff             	mov    %cl,-0x1(%esi)
414900:	83 eb 01             	sub    $0x1,%ebx
414903:	75 eb                	jne    0x4148f0
414905:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
41490b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
414911:	52                   	push   %edx
414912:	57                   	push   %edi
414913:	8b cb                	mov    %ebx,%ecx
414915:	ff 15 54 91 41 00    	call   *0x419154
41491b:	ff d3                	call   *%ebx
41491d:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
414923:	83 c4 08             	add    $0x8,%esp
414926:	85 c0                	test   %eax,%eax
414928:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
41492e:	7e 35                	jle    0x414965
414930:	8b d8                	mov    %eax,%ebx
414932:	8b f2                	mov    %edx,%esi
414934:	3b fa                	cmp    %edx,%edi
414936:	74 2d                	je     0x414965
414938:	8b c7                	mov    %edi,%eax
41493a:	2b c2                	sub    %edx,%eax
41493c:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
414942:	8b d0                	mov    %eax,%edx
414944:	8a 06                	mov    (%esi),%al
414946:	8d 76 01             	lea    0x1(%esi),%esi
414949:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
41494d:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
414951:	88 4e ff             	mov    %cl,-0x1(%esi)
414954:	83 eb 01             	sub    $0x1,%ebx
414957:	75 eb                	jne    0x414944
414959:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
41495f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
414965:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
41496b:	8b da                	mov    %edx,%ebx
41496d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
414973:	3b fe                	cmp    %esi,%edi
414975:	76 3e                	jbe    0x4149b5
414977:	eb 07                	jmp    0x414980
414979:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
414980:	03 f0                	add    %eax,%esi
414982:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
414988:	3b f7                	cmp    %edi,%esi
41498a:	73 23                	jae    0x4149af
41498c:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
414992:	57                   	push   %edi
414993:	56                   	push   %esi
414994:	ff 15 54 91 41 00    	call   *0x419154
41499a:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
4149a0:	83 c4 08             	add    $0x8,%esp
4149a3:	85 c0                	test   %eax,%eax
4149a5:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
4149ab:	7e d3                	jle    0x414980
4149ad:	eb 42                	jmp    0x4149f1