5f5643:	42                   	inc    %edx
5f5644:	85 c0                	test   %eax,%eax
5f5646:	75 11                	jne    0x5f5659
5f5648:	8b c2                	mov    %edx,%eax
5f564a:	bf 64 25 60 00       	mov    $0x602564,%edi
5f564f:	89 45 10             	mov    %eax,0x10(%ebp)
5f5652:	8b c3                	mov    %ebx,%eax
5f5654:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f5657:	eb 12                	jmp    0x5f566b
5f5659:	8b f8                	mov    %eax,%edi
5f565b:	39 5d 10             	cmp    %ebx,0x10(%ebp)
5f565e:	75 08                	jne    0x5f5668
5f5660:	6a fe                	push   $0xfffffffe
5f5662:	58                   	pop    %eax
5f5663:	e9 46 01 00 00       	jmp    0x5f57ae
5f5668:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f566b:	66 39 5e 06          	cmp    %bx,0x6(%esi)
5f566f:	75 5c                	jne    0x5f56cd
5f5671:	8a 1f                	mov    (%edi),%bl
5f5673:	47                   	inc    %edi
5f5674:	84 db                	test   %bl,%bl
5f5676:	78 18                	js     0x5f5690
5f5678:	85 c0                	test   %eax,%eax
5f567a:	74 08                	je     0x5f5684
5f567c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f567f:	0f b6 c3             	movzbl %bl,%eax
5f5682:	89 01                	mov    %eax,(%ecx)
5f5684:	33 c0                	xor    %eax,%eax
5f5686:	84 db                	test   %bl,%bl
5f5688:	0f 95 c0             	setne  %al
5f568b:	e9 1e 01 00 00       	jmp    0x5f57ae
5f5690:	8a c3                	mov    %bl,%al
5f5692:	24 e0                	and    $0xe0,%al
5f5694:	3c c0                	cmp    $0xc0,%al
5f5696:	75 04                	jne    0x5f569c
5f5698:	b7 02                	mov    $0x2,%bh
5f569a:	eb 1a                	jmp    0x5f56b6
5f569c:	8a c3                	mov    %bl,%al
5f569e:	24 f0                	and    $0xf0,%al
5f56a0:	3c e0                	cmp    $0xe0,%al
5f56a2:	75 04                	jne    0x5f56a8
5f56a4:	b7 03                	mov    $0x3,%bh
5f56a6:	eb 0e                	jmp    0x5f56b6
5f56a8:	8a c3                	mov    %bl,%al
5f56aa:	24 f8                	and    $0xf8,%al
5f56ac:	3c f0                	cmp    $0xf0,%al
5f56ae:	0f 85 f1 00 00 00    	jne    0x5f57a5
5f56b4:	b7 04                	mov    $0x4,%bh
5f56b6:	6a 07                	push   $0x7
5f56b8:	0f b6 c7             	movzbl %bh,%eax
5f56bb:	59                   	pop    %ecx
5f56bc:	2b c8                	sub    %eax,%ecx
5f56be:	88 7d ef             	mov    %bh,-0x11(%ebp)
5f56c1:	d3 e2                	shl    %cl,%edx
5f56c3:	0f b6 c3             	movzbl %bl,%eax
5f56c6:	4a                   	dec    %edx
5f56c7:	23 d0                	and    %eax,%edx
5f56c9:	8a df                	mov    %bh,%bl
5f56cb:	eb 28                	jmp    0x5f56f5
5f56cd:	8a 7e 04             	mov    0x4(%esi),%bh
5f56d0:	8a 5e 06             	mov    0x6(%esi),%bl
5f56d3:	8a c7                	mov    %bh,%al
5f56d5:	8b 16                	mov    (%esi),%edx
5f56d7:	2c 02                	sub    $0x2,%al
5f56d9:	88 5d ef             	mov    %bl,-0x11(%ebp)
5f56dc:	3c 02                	cmp    $0x2,%al
5f56de:	0f 87 c1 00 00 00    	ja     0x5f57a5
5f56e4:	80 fb 01             	cmp    $0x1,%bl
5f56e7:	0f 82 b8 00 00 00    	jb     0x5f57a5
5f56ed:	3a df                	cmp    %bh,%bl
5f56ef:	0f 83 b0 00 00 00    	jae    0x5f57a5
5f56f5:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f56f8:	0f b6 c3             	movzbl %bl,%eax
5f56fb:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f56fe:	3b c1                	cmp    %ecx,%eax
5f5700:	73 02                	jae    0x5f5704
5f5702:	8b c8                	mov    %eax,%ecx
5f5704:	8b c7                	mov    %edi,%eax
5f5706:	2b 45 e0             	sub    -0x20(%ebp),%eax
5f5709:	eb 25                	jmp    0x5f5730
5f570b:	8a 1f                	mov    (%edi),%bl
5f570d:	47                   	inc    %edi
5f570e:	40                   	inc    %eax
5f570f:	88 5d ee             	mov    %bl,-0x12(%ebp)
5f5712:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f5715:	8a e3                	mov    %bl,%ah
5f5717:	8a 5d ef             	mov    -0x11(%ebp),%bl
5f571a:	8a c4                	mov    %ah,%al
5f571c:	24 c0                	and    $0xc0,%al
5f571e:	3c 80                	cmp    $0x80,%al
5f5720:	75 30                	jne    0x5f5752
5f5722:	0f b6 c4             	movzbl %ah,%eax
5f5725:	83 e0 3f             	and    $0x3f,%eax
5f5728:	c1 e2 06             	shl    $0x6,%edx
5f572b:	0b d0                	or     %eax,%edx
5f572d:	8b 45 e0             	mov    -0x20(%ebp),%eax
5f5730:	3b c1                	cmp    %ecx,%eax
5f5732:	72 d7                	jb     0x5f570b
5f5734:	8b 7d dc             	mov    -0x24(%ebp),%edi
5f5737:	3b cf                	cmp    %edi,%ecx
5f5739:	73 1c                	jae    0x5f5757
5f573b:	0f b6 c7             	movzbl %bh,%eax
5f573e:	2a d9                	sub    %cl,%bl
5f5740:	66 89 46 04          	mov    %ax,0x4(%esi)
5f5744:	0f b6 c3             	movzbl %bl,%eax
5f5747:	89 16                	mov    %edx,(%esi)
5f5749:	66 89 46 06          	mov    %ax,0x6(%esi)
5f574d:	e9 0e ff ff ff       	jmp    0x5f5660
5f5752:	ff 75 e4             	push   -0x1c(%ebp)
5f5755:	eb 4f                	jmp    0x5f57a6
5f5757:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
5f575d:	72 08                	jb     0x5f5767
5f575f:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
5f5765:	76 eb                	jbe    0x5f5752
5f5767:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
5f576d:	77 e3                	ja     0x5f5752
5f576f:	0f b6 c7             	movzbl %bh,%eax
5f5772:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
5f5779:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
5f5780:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
5f5787:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
5f578b:	72 c5                	jb     0x5f5752
5f578d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5f5790:	85 c9                	test   %ecx,%ecx
5f5792:	74 02                	je     0x5f5796
5f5794:	89 11                	mov    %edx,(%ecx)
5f5796:	f7 da                	neg    %edx
5f5798:	56                   	push   %esi
5f5799:	1b d2                	sbb    %edx,%edx
5f579b:	23 d7                	and    %edi,%edx
5f579d:	52                   	push   %edx
5f579e:	e8 3d 03 00 00       	call   0x5f5ae0
5f57a3:	eb 07                	jmp    0x5f57ac
5f57a5:	51                   	push   %ecx
5f57a6:	56                   	push   %esi
5f57a7:	e8 48 03 00 00       	call   0x5f5af4
5f57ac:	59                   	pop    %ecx
5f57ad:	59                   	pop    %ecx
5f57ae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f57b1:	5f                   	pop    %edi
5f57b2:	5e                   	pop    %esi
5f57b3:	33 cd                	xor    %ebp,%ecx
5f57b5:	5b                   	pop    %ebx
5f57b6:	e8 6b c2 fd ff       	call   0x5d1a26
5f57bb:	c9                   	leave
5f57bc:	c3                   	ret
5f57bd:	33 c0                	xor    %eax,%eax
5f57bf:	50                   	push   %eax
5f57c0:	50                   	push   %eax
5f57c1:	6a 03                	push   $0x3
5f57c3:	50                   	push   %eax
5f57c4:	6a 03                	push   $0x3
5f57c6:	68 00 00 00 40       	push   $0x40000000
5f57cb:	68 90 ad 67 00       	push   $0x67ad90
5f57d0:	ff 15 18 21 60 00    	call   *0x602118
5f57d6:	a3 78 1f 69 00       	mov    %eax,0x691f78
5f57db:	c3                   	ret
5f57dc:	8b 0d 78 1f 69 00    	mov    0x691f78,%ecx
5f57e2:	83 f9 fe             	cmp    $0xfffffffe,%ecx
5f57e5:	75 0b                	jne    0x5f57f2
5f57e7:	e8 d1 ff ff ff       	call   0x5f57bd
5f57ec:	8b 0d 78 1f 69 00    	mov    0x691f78,%ecx
5f57f2:	33 c0                	xor    %eax,%eax
5f57f4:	83 f9 ff             	cmp    $0xffffffff,%ecx
5f57f7:	0f 95 c0             	setne  %al
5f57fa:	c3                   	ret
5f57fb:	a1 78 1f 69 00       	mov    0x691f78,%eax
5f5800:	83 f8 ff             	cmp    $0xffffffff,%eax
5f5803:	74 0c                	je     0x5f5811
5f5805:	83 f8 fe             	cmp    $0xfffffffe,%eax
5f5808:	74 07                	je     0x5f5811
5f580a:	50                   	push   %eax
5f580b:	ff 15 5c 21 60 00    	call   *0x60215c
5f5811:	c3                   	ret
5f5812:	8b ff                	mov    %edi,%edi
5f5814:	55                   	push   %ebp
5f5815:	8b ec                	mov    %esp,%ebp
5f5817:	56                   	push   %esi
5f5818:	6a 00                	push   $0x0
5f581a:	ff 75 10             	push   0x10(%ebp)
5f581d:	ff 75 0c             	push   0xc(%ebp)
5f5820:	ff 75 08             	push   0x8(%ebp)
5f5823:	ff 35 78 1f 69 00    	push   0x691f78
5f5829:	ff 15 a4 20 60 00    	call   *0x6020a4
5f582f:	8b f0                	mov    %eax,%esi
5f5831:	85 f6                	test   %esi,%esi
5f5833:	75 2d                	jne    0x5f5862
5f5835:	ff 15 58 21 60 00    	call   *0x602158
5f583b:	83 f8 06             	cmp    $0x6,%eax
5f583e:	75 22                	jne    0x5f5862
5f5840:	e8 b6 ff ff ff       	call   0x5f57fb
5f5845:	e8 73 ff ff ff       	call   0x5f57bd
5f584a:	56                   	push   %esi
5f584b:	ff 75 10             	push   0x10(%ebp)
5f584e:	ff 75 0c             	push   0xc(%ebp)
5f5851:	ff 75 08             	push   0x8(%ebp)
5f5854:	ff 35 78 1f 69 00    	push   0x691f78
5f585a:	ff 15 a4 20 60 00    	call   *0x6020a4
5f5860:	8b f0                	mov    %eax,%esi
5f5862:	8b c6                	mov    %esi,%eax
5f5864:	5e                   	pop    %esi
5f5865:	5d                   	pop    %ebp
5f5866:	c3                   	ret
5f5867:	8b ff                	mov    %edi,%edi
5f5869:	55                   	push   %ebp
5f586a:	8b ec                	mov    %esp,%ebp
5f586c:	6a 00                	push   $0x0
5f586e:	ff 75 0c             	push   0xc(%ebp)
5f5871:	ff 75 08             	push   0x8(%ebp)
5f5874:	e8 05 00 00 00       	call   0x5f587e
5f5879:	83 c4 0c             	add    $0xc,%esp
5f587c:	5d                   	pop    %ebp
5f587d:	c3                   	ret
5f587e:	8b ff                	mov    %edi,%edi
5f5880:	55                   	push   %ebp
5f5881:	8b ec                	mov    %esp,%ebp
5f5883:	83 ec 10             	sub    $0x10,%esp
5f5886:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f588a:	75 14                	jne    0x5f58a0
5f588c:	e8 f7 53 fe ff       	call   0x5dac88
5f5891:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f5897:	e8 44 09 fe ff       	call   0x5d61e0
5f589c:	33 c0                	xor    %eax,%eax
5f589e:	c9                   	leave
5f589f:	c3                   	ret
5f58a0:	56                   	push   %esi
5f58a1:	8b 75 0c             	mov    0xc(%ebp),%esi
5f58a4:	85 f6                	test   %esi,%esi
5f58a6:	75 12                	jne    0x5f58ba
5f58a8:	e8 db 53 fe ff       	call   0x5dac88
5f58ad:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f58b3:	e8 28 09 fe ff       	call   0x5d61e0
5f58b8:	eb 05                	jmp    0x5f58bf
5f58ba:	39 75 08             	cmp    %esi,0x8(%ebp)
5f58bd:	72 04                	jb     0x5f58c3
5f58bf:	33 c0                	xor    %eax,%eax
5f58c1:	eb 45                	jmp    0x5f5908
5f58c3:	ff 75 10             	push   0x10(%ebp)
5f58c6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5f58c9:	e8 07 54 fe ff       	call   0x5dacd5
5f58ce:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f58d1:	8d 56 ff             	lea    -0x1(%esi),%edx
5f58d4:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
5f58d8:	74 1c                	je     0x5f58f6
5f58da:	4a                   	dec    %edx
5f58db:	39 55 08             	cmp    %edx,0x8(%ebp)
5f58de:	77 0a                	ja     0x5f58ea
5f58e0:	0f b6 02             	movzbl (%edx),%eax
5f58e3:	f6 44 08 19 04       	testb  $0x4,0x19(%eax,%ecx,1)
5f58e8:	75 f0                	jne    0x5f58da
5f58ea:	8b c6                	mov    %esi,%eax
5f58ec:	2b c2                	sub    %edx,%eax
5f58ee:	8b d6                	mov    %esi,%edx
5f58f0:	83 e0 01             	and    $0x1,%eax
5f58f3:	2b d0                	sub    %eax,%edx
5f58f5:	4a                   	dec    %edx
5f58f6:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
5f58fa:	74 0a                	je     0x5f5906
5f58fc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f58ff:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f5906:	8b c2                	mov    %edx,%eax
5f5908:	5e                   	pop    %esi
5f5909:	c9                   	leave
5f590a:	c3                   	ret
5f590b:	e8 e0 c0 ff ff       	call   0x5f19f0
5f5910:	33 c9                	xor    %ecx,%ecx
5f5912:	84 c0                	test   %al,%al
5f5914:	0f 94 c1             	sete   %cl
5f5917:	8b c1                	mov    %ecx,%eax
5f5919:	c3                   	ret
5f591a:	8b ff                	mov    %edi,%edi
5f591c:	55                   	push   %ebp
5f591d:	8b ec                	mov    %esp,%ebp
5f591f:	56                   	push   %esi
5f5920:	e8 00 dc ff ff       	call   0x5f3525
5f5925:	8b 75 08             	mov    0x8(%ebp),%esi
5f5928:	89 06                	mov    %eax,(%esi)
5f592a:	e8 76 dc ff ff       	call   0x5f35a5
5f592f:	89 46 04             	mov    %eax,0x4(%esi)
5f5932:	33 c0                	xor    %eax,%eax
5f5934:	5e                   	pop    %esi
5f5935:	5d                   	pop    %ebp
5f5936:	c3                   	ret
5f5937:	8b ff                	mov    %edi,%edi
5f5939:	55                   	push   %ebp
5f593a:	8b ec                	mov    %esp,%ebp
5f593c:	51                   	push   %ecx
5f593d:	51                   	push   %ecx
5f593e:	56                   	push   %esi
5f593f:	8b 75 08             	mov    0x8(%ebp),%esi
5f5942:	ff 36                	push   (%esi)
5f5944:	e8 06 dd ff ff       	call   0x5f364f
5f5949:	ff 76 04             	push   0x4(%esi)
5f594c:	e8 79 dd ff ff       	call   0x5f36ca
5f5951:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f5955:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f5958:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f595c:	50                   	push   %eax
5f595d:	e8 b8 ff ff ff       	call   0x5f591a
5f5962:	83 c4 0c             	add    $0xc,%esp
5f5965:	85 c0                	test   %eax,%eax
5f5967:	75 14                	jne    0x5f597d
5f5969:	8b 06                	mov    (%esi),%eax
5f596b:	3b 45 f8             	cmp    -0x8(%ebp),%eax
5f596e:	75 0d                	jne    0x5f597d
5f5970:	8b 4e 04             	mov    0x4(%esi),%ecx
5f5973:	33 c0                	xor    %eax,%eax
5f5975:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
5f5978:	0f 95 c0             	setne  %al
5f597b:	eb 03                	jmp    0x5f5980
5f597d:	33 c0                	xor    %eax,%eax
5f597f:	40                   	inc    %eax
5f5980:	5e                   	pop    %esi
5f5981:	c9                   	leave
5f5982:	c3                   	ret
5f5983:	8b ff                	mov    %edi,%edi
5f5985:	55                   	push   %ebp
5f5986:	8b ec                	mov    %esp,%ebp
5f5988:	51                   	push   %ecx
5f5989:	51                   	push   %ecx
5f598a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
5f598e:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f5991:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f5995:	50                   	push   %eax
5f5996:	e8 7f ff ff ff       	call   0x5f591a
5f599b:	59                   	pop    %ecx
5f599c:	85 c0                	test   %eax,%eax
5f599e:	75 2b                	jne    0x5f59cb
5f59a0:	8b 45 08             	mov    0x8(%ebp),%eax
5f59a3:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f59a6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f59a9:	89 10                	mov    %edx,(%eax)
5f59ab:	83 ca 1f             	or     $0x1f,%edx
5f59ae:	89 48 04             	mov    %ecx,0x4(%eax)
5f59b1:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f59b4:	50                   	push   %eax
5f59b5:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f59b8:	e8 7a ff ff ff       	call   0x5f5937
5f59bd:	59                   	pop    %ecx
5f59be:	85 c0                	test   %eax,%eax
5f59c0:	75 09                	jne    0x5f59cb
5f59c2:	e8 f6 d3 ff ff       	call   0x5f2dbd
5f59c7:	33 c0                	xor    %eax,%eax
5f59c9:	c9                   	leave
5f59ca:	c3                   	ret
5f59cb:	33 c0                	xor    %eax,%eax
5f59cd:	40                   	inc    %eax
5f59ce:	c9                   	leave
5f59cf:	c3                   	ret
5f59d0:	83 3d b8 73 71 00 00 	cmpl   $0x0,0x7173b8