5f751c:	66 39 11             	cmp    %dx,(%ecx)
5f751f:	0f 87 6e 01 00 00    	ja     0x5f7693
5f7525:	8a 01                	mov    (%ecx),%al
5f7527:	88 04 37             	mov    %al,(%edi,%esi,1)
5f752a:	0f b7 01             	movzwl (%ecx),%eax
5f752d:	83 c1 02             	add    $0x2,%ecx
5f7530:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f7533:	66 85 c0             	test   %ax,%ax
5f7536:	0f 84 94 01 00 00    	je     0x5f76d0
5f753c:	46                   	inc    %esi
5f753d:	3b f3                	cmp    %ebx,%esi
5f753f:	72 db                	jb     0x5f751c
5f7541:	e9 8a 01 00 00       	jmp    0x5f76d0
5f7546:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
5f754a:	75 61                	jne    0x5f75ad
5f754c:	85 db                	test   %ebx,%ebx
5f754e:	74 23                	je     0x5f7573
5f7550:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f7553:	8b d3                	mov    %ebx,%edx
5f7555:	66 39 30             	cmp    %si,(%eax)
5f7558:	74 08                	je     0x5f7562
5f755a:	83 c0 02             	add    $0x2,%eax
5f755d:	83 ea 01             	sub    $0x1,%edx
5f7560:	75 f3                	jne    0x5f7555
5f7562:	85 d2                	test   %edx,%edx
5f7564:	74 0d                	je     0x5f7573
5f7566:	66 39 30             	cmp    %si,(%eax)
5f7569:	75 08                	jne    0x5f7573
5f756b:	8b d8                	mov    %eax,%ebx
5f756d:	2b 5d e4             	sub    -0x1c(%ebp),%ebx
5f7570:	d1 fb                	sar    $1,%ebx
5f7572:	43                   	inc    %ebx
5f7573:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f7576:	50                   	push   %eax
5f7577:	56                   	push   %esi
5f7578:	53                   	push   %ebx
5f7579:	57                   	push   %edi
5f757a:	53                   	push   %ebx
5f757b:	ff 75 e4             	push   -0x1c(%ebp)
5f757e:	56                   	push   %esi
5f757f:	51                   	push   %ecx
5f7580:	e8 c3 04 01 00       	call   0x607a48
5f7585:	8b f0                	mov    %eax,%esi
5f7587:	83 c4 20             	add    $0x20,%esp
5f758a:	85 f6                	test   %esi,%esi
5f758c:	0f 84 01 01 00 00    	je     0x5f7693
5f7592:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f7596:	0f 85 f7 00 00 00    	jne    0x5f7693
5f759c:	80 7c 37 ff 00       	cmpb   $0x0,-0x1(%edi,%esi,1)
5f75a1:	0f 85 29 01 00 00    	jne    0x5f76d0
5f75a7:	4e                   	dec    %esi
5f75a8:	e9 23 01 00 00       	jmp    0x5f76d0
5f75ad:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f75b0:	50                   	push   %eax
5f75b1:	56                   	push   %esi
5f75b2:	53                   	push   %ebx
5f75b3:	57                   	push   %edi
5f75b4:	6a ff                	push   $0xffffffff
5f75b6:	ff 75 e4             	push   -0x1c(%ebp)
5f75b9:	56                   	push   %esi
5f75ba:	51                   	push   %ecx
5f75bb:	e8 88 04 01 00       	call   0x607a48
5f75c0:	8b f8                	mov    %eax,%edi
5f75c2:	83 c4 20             	add    $0x20,%esp
5f75c5:	85 ff                	test   %edi,%edi
5f75c7:	74 12                	je     0x5f75db
5f75c9:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f75cd:	0f 85 c0 00 00 00    	jne    0x5f7693
5f75d3:	8d 77 ff             	lea    -0x1(%edi),%esi
5f75d6:	e9 f5 00 00 00       	jmp    0x5f76d0
5f75db:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f75df:	0f 85 ae 00 00 00    	jne    0x5f7693
5f75e5:	ff 15 e0 21 68 00    	call   *0x6821e0
5f75eb:	83 f8 7a             	cmp    $0x7a,%eax
5f75ee:	0f 85 9f 00 00 00    	jne    0x5f7693
5f75f4:	85 db                	test   %ebx,%ebx
5f75f6:	0f 84 0b 01 00 00    	je     0x5f7707
5f75fc:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f75ff:	8b 55 c8             	mov    -0x38(%ebp),%edx
5f7602:	8b 4a 04             	mov    0x4(%edx),%ecx
5f7605:	83 f9 05             	cmp    $0x5,%ecx
5f7608:	7e 03                	jle    0x5f760d
5f760a:	6a 05                	push   $0x5
5f760c:	59                   	pop    %ecx
5f760d:	8d 5d e0             	lea    -0x20(%ebp),%ebx
5f7610:	53                   	push   %ebx
5f7611:	56                   	push   %esi
5f7612:	51                   	push   %ecx
5f7613:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f7616:	51                   	push   %ecx
5f7617:	6a 01                	push   $0x1
5f7619:	50                   	push   %eax
5f761a:	56                   	push   %esi
5f761b:	ff 72 08             	push   0x8(%edx)
5f761e:	e8 25 04 01 00       	call   0x607a48
5f7623:	8b 5d 10             	mov    0x10(%ebp),%ebx
5f7626:	8b d0                	mov    %eax,%edx
5f7628:	83 c4 20             	add    $0x20,%esp
5f762b:	85 d2                	test   %edx,%edx
5f762d:	0f 84 c6 00 00 00    	je     0x5f76f9
5f7633:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f7637:	0f 85 bc 00 00 00    	jne    0x5f76f9
5f763d:	85 d2                	test   %edx,%edx
5f763f:	0f 88 b4 00 00 00    	js     0x5f76f9
5f7645:	83 fa 05             	cmp    $0x5,%edx
5f7648:	0f 87 ab 00 00 00    	ja     0x5f76f9
5f764e:	8d 04 3a             	lea    (%edx,%edi,1),%eax
5f7651:	3b c3                	cmp    %ebx,%eax
5f7653:	0f 87 ae 00 00 00    	ja     0x5f7707
5f7659:	8b c6                	mov    %esi,%eax
5f765b:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f765e:	85 d2                	test   %edx,%edx
5f7660:	7e 1e                	jle    0x5f7680
5f7662:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5f7665:	8a 44 05 e8          	mov    -0x18(%ebp,%eax,1),%al
5f7669:	88 04 39             	mov    %al,(%ecx,%edi,1)
5f766c:	84 c0                	test   %al,%al
5f766e:	0f 84 93 00 00 00    	je     0x5f7707
5f7674:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f7677:	40                   	inc    %eax
5f7678:	47                   	inc    %edi
5f7679:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f767c:	3b c2                	cmp    %edx,%eax
5f767e:	7c e5                	jl     0x5f7665
5f7680:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f7683:	83 c0 02             	add    $0x2,%eax
5f7686:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f7689:	3b fb                	cmp    %ebx,%edi
5f768b:	0f 82 6e ff ff ff    	jb     0x5f75ff
5f7691:	eb 74                	jmp    0x5f7707
5f7693:	e8 61 59 ff ff       	call   0x5ecff9
5f7698:	83 ce ff             	or     $0xffffffff,%esi
5f769b:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5f76a1:	eb 2d                	jmp    0x5f76d0
5f76a3:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
5f76a9:	75 29                	jne    0x5f76d4
5f76ab:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5f76ae:	0f b7 01             	movzwl (%ecx),%eax
5f76b1:	66 85 c0             	test   %ax,%ax
5f76b4:	74 1a                	je     0x5f76d0
5f76b6:	8b f8                	mov    %eax,%edi
5f76b8:	ba ff 00 00 00       	mov    $0xff,%edx
5f76bd:	66 3b fa             	cmp    %dx,%di
5f76c0:	77 37                	ja     0x5f76f9
5f76c2:	83 c1 02             	add    $0x2,%ecx
5f76c5:	46                   	inc    %esi
5f76c6:	0f b7 01             	movzwl (%ecx),%eax
5f76c9:	8b f8                	mov    %eax,%edi
5f76cb:	66 85 c0             	test   %ax,%ax
5f76ce:	75 ed                	jne    0x5f76bd
5f76d0:	8b fe                	mov    %esi,%edi
5f76d2:	eb 33                	jmp    0x5f7707
5f76d4:	8d 45 e0             	lea    -0x20(%ebp),%eax
5f76d7:	50                   	push   %eax
5f76d8:	56                   	push   %esi
5f76d9:	56                   	push   %esi
5f76da:	56                   	push   %esi
5f76db:	6a ff                	push   $0xffffffff
5f76dd:	ff 75 e4             	push   -0x1c(%ebp)
5f76e0:	56                   	push   %esi
5f76e1:	51                   	push   %ecx
5f76e2:	e8 61 03 01 00       	call   0x607a48
5f76e7:	83 c4 20             	add    $0x20,%esp
5f76ea:	85 c0                	test   %eax,%eax
5f76ec:	74 0b                	je     0x5f76f9
5f76ee:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
5f76f2:	75 05                	jne    0x5f76f9
5f76f4:	8d 78 ff             	lea    -0x1(%eax),%edi
5f76f7:	eb 0e                	jmp    0x5f7707
5f76f9:	e8 fb 58 ff ff       	call   0x5ecff9
5f76fe:	83 cf ff             	or     $0xffffffff,%edi
5f7701:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5f7707:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
5f770b:	74 0a                	je     0x5f7717
5f770d:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5f7710:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f7717:	8b c7                	mov    %edi,%eax
5f7719:	e8 8c a8 fe ff       	call   0x5e1faa
5f771e:	c3                   	ret
5f771f:	8b ff                	mov    %edi,%edi
5f7721:	55                   	push   %ebp
5f7722:	8b ec                	mov    %esp,%ebp
5f7724:	51                   	push   %ecx
5f7725:	56                   	push   %esi
5f7726:	8b 75 0c             	mov    0xc(%ebp),%esi
5f7729:	33 c0                	xor    %eax,%eax
5f772b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f772e:	57                   	push   %edi
5f772f:	8b 7d 10             	mov    0x10(%ebp),%edi
5f7732:	85 f6                	test   %esi,%esi
5f7734:	74 2e                	je     0x5f7764
5f7736:	85 ff                	test   %edi,%edi
5f7738:	74 2e                	je     0x5f7768
5f773a:	85 f6                	test   %esi,%esi
5f773c:	74 02                	je     0x5f7740
5f773e:	88 06                	mov    %al,(%esi)
5f7740:	53                   	push   %ebx
5f7741:	8b 5d 08             	mov    0x8(%ebp),%ebx
5f7744:	85 db                	test   %ebx,%ebx
5f7746:	74 02                	je     0x5f774a
5f7748:	89 03                	mov    %eax,(%ebx)
5f774a:	8b c7                	mov    %edi,%eax
5f774c:	39 7d 18             	cmp    %edi,0x18(%ebp)
5f774f:	77 03                	ja     0x5f7754
5f7751:	8b 45 18             	mov    0x18(%ebp),%eax
5f7754:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5f7759:	76 20                	jbe    0x5f777b
5f775b:	e8 99 58 ff ff       	call   0x5ecff9
5f7760:	6a 16                	push   $0x16
5f7762:	eb 59                	jmp    0x5f77bd
5f7764:	85 ff                	test   %edi,%edi
5f7766:	74 d2                	je     0x5f773a
5f7768:	e8 8c 58 ff ff       	call   0x5ecff9
5f776d:	6a 16                	push   $0x16
5f776f:	5e                   	pop    %esi
5f7770:	89 30                	mov    %esi,(%eax)
5f7772:	e8 a8 57 ff ff       	call   0x5ecf1f
5f7777:	8b c6                	mov    %esi,%eax
5f7779:	eb 6b                	jmp    0x5f77e6
5f777b:	ff 75 1c             	push   0x1c(%ebp)
5f777e:	50                   	push   %eax
5f777f:	ff 75 14             	push   0x14(%ebp)
5f7782:	56                   	push   %esi
5f7783:	e8 ee fc ff ff       	call   0x5f7476
5f7788:	83 c4 10             	add    $0x10,%esp
5f778b:	83 f8 ff             	cmp    $0xffffffff,%eax
5f778e:	75 10                	jne    0x5f77a0
5f7790:	85 f6                	test   %esi,%esi
5f7792:	74 03                	je     0x5f7797
5f7794:	c6 06 00             	movb   $0x0,(%esi)
5f7797:	e8 5d 58 ff ff       	call   0x5ecff9
5f779c:	8b 00                	mov    (%eax),%eax
5f779e:	eb 45                	jmp    0x5f77e5
5f77a0:	40                   	inc    %eax
5f77a1:	85 f6                	test   %esi,%esi
5f77a3:	74 35                	je     0x5f77da
5f77a5:	3b c7                	cmp    %edi,%eax
5f77a7:	76 27                	jbe    0x5f77d0
5f77a9:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
5f77ad:	74 1a                	je     0x5f77c9
5f77af:	c6 06 00             	movb   $0x0,(%esi)
5f77b2:	3b f8                	cmp    %eax,%edi
5f77b4:	77 13                	ja     0x5f77c9
5f77b6:	e8 3e 58 ff ff       	call   0x5ecff9
5f77bb:	6a 22                	push   $0x22
5f77bd:	5e                   	pop    %esi
5f77be:	89 30                	mov    %esi,(%eax)
5f77c0:	e8 5a 57 ff ff       	call   0x5ecf1f
5f77c5:	8b c6                	mov    %esi,%eax
5f77c7:	eb 1c                	jmp    0x5f77e5
5f77c9:	6a 50                	push   $0x50
5f77cb:	8b c7                	mov    %edi,%eax
5f77cd:	59                   	pop    %ecx
5f77ce:	eb 03                	jmp    0x5f77d3
5f77d0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f77d3:	c6 44 30 ff 00       	movb   $0x0,-0x1(%eax,%esi,1)
5f77d8:	eb 03                	jmp    0x5f77dd
5f77da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f77dd:	85 db                	test   %ebx,%ebx
5f77df:	74 02                	je     0x5f77e3
5f77e1:	89 03                	mov    %eax,(%ebx)
5f77e3:	8b c1                	mov    %ecx,%eax
5f77e5:	5b                   	pop    %ebx
5f77e6:	5f                   	pop    %edi
5f77e7:	5e                   	pop    %esi
5f77e8:	c9                   	leave
5f77e9:	c3                   	ret
5f77ea:	8b ff                	mov    %edi,%edi
5f77ec:	55                   	push   %ebp
5f77ed:	8b ec                	mov    %esp,%ebp
5f77ef:	6a 00                	push   $0x0
5f77f1:	ff 75 10             	push   0x10(%ebp)
5f77f4:	ff 75 0c             	push   0xc(%ebp)
5f77f7:	ff 75 08             	push   0x8(%ebp)
5f77fa:	e8 77 fc ff ff       	call   0x5f7476
5f77ff:	83 c4 10             	add    $0x10,%esp
5f7802:	5d                   	pop    %ebp
5f7803:	c3                   	ret
5f7804:	8b ff                	mov    %edi,%edi
5f7806:	55                   	push   %ebp
5f7807:	8b ec                	mov    %esp,%ebp
5f7809:	6a 00                	push   $0x0
5f780b:	ff 75 18             	push   0x18(%ebp)
5f780e:	ff 75 14             	push   0x14(%ebp)
5f7811:	ff 75 10             	push   0x10(%ebp)
5f7814:	ff 75 0c             	push   0xc(%ebp)
5f7817:	ff 75 08             	push   0x8(%ebp)
5f781a:	e8 00 ff ff ff       	call   0x5f771f
5f781f:	83 c4 18             	add    $0x18,%esp
5f7822:	5d                   	pop    %ebp
5f7823:	c3                   	ret
5f7824:	8b ff                	mov    %edi,%edi
5f7826:	55                   	push   %ebp
5f7827:	8b ec                	mov    %esp,%ebp
5f7829:	83 ec 1c             	sub    $0x1c,%esp
5f782c:	83 ca ff             	or     $0xffffffff,%edx
5f782f:	53                   	push   %ebx
5f7830:	8b 5d 08             	mov    0x8(%ebp),%ebx
5f7833:	3b da                	cmp    %edx,%ebx
5f7835:	0f 84 e8 00 00 00    	je     0x5f7923
5f783b:	57                   	push   %edi
5f783c:	ff 75 0c             	push   0xc(%ebp)
5f783f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5f7842:	e8 46 63 ff ff       	call   0x5edb8d
5f7847:	bf 00 01 00 00       	mov    $0x100,%edi
5f784c:	3b df                	cmp    %edi,%ebx
5f784e:	73 29                	jae    0x5f7879
5f7850:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
5f7854:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f7857:	0f b6 cb             	movzbl %bl,%ecx
5f785a:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
5f7860:	0f b6 14 08          	movzbl (%eax,%ecx,1),%edx
5f7864:	0f 84 b8 00 00 00    	je     0x5f7922
5f786a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f786d:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5f7874:	e9 a9 00 00 00       	jmp    0x5f7922
5f7879:	33 c0                	xor    %eax,%eax
5f787b:	88 45 fe             	mov    %al,-0x2(%ebp)
5f787e:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f7881:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
5f7885:	7e 2e                	jle    0x5f78b5
5f7887:	8b c3                	mov    %ebx,%eax
5f7889:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f788c:	c1 f8 08             	sar    $0x8,%eax
5f788f:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f7892:	51                   	push   %ecx
5f7893:	0f b6 c0             	movzbl %al,%eax
5f7896:	50                   	push   %eax
5f7897:	e8 33 89 00 00       	call   0x6001cf
5f789c:	59                   	pop    %ecx
5f789d:	59                   	pop    %ecx
5f789e:	85 c0                	test   %eax,%eax
5f78a0:	74 13                	je     0x5f78b5
5f78a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f78a5:	88 45 fc             	mov    %al,-0x4(%ebp)
5f78a8:	33 c0                	xor    %eax,%eax
5f78aa:	6a 02                	push   $0x2
5f78ac:	88 5d fd             	mov    %bl,-0x3(%ebp)
5f78af:	88 45 fe             	mov    %al,-0x2(%ebp)
5f78b2:	59                   	pop    %ecx
5f78b3:	eb 16                	jmp    0x5f78cb
5f78b5:	e8 3f 57 ff ff       	call   0x5ecff9
5f78ba:	33 c9                	xor    %ecx,%ecx
5f78bc:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5f78c2:	33 c0                	xor    %eax,%eax
5f78c4:	88 5d fc             	mov    %bl,-0x4(%ebp)
5f78c7:	41                   	inc    %ecx
5f78c8:	88 45 fd             	mov    %al,-0x3(%ebp)
5f78cb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
5f78cf:	8d 55 f8             	lea    -0x8(%ebp),%edx