5f45d2:	47                   	inc    %edi
5f45d3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f45d6:	8b 45 e8             	mov    -0x18(%ebp),%eax
5f45d9:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f45dc:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
5f45e0:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f45e3:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
5f45e7:	74 12                	je     0x5f45fb
5f45e9:	8b 45 ec             	mov    -0x14(%ebp),%eax
5f45ec:	0f b6 00             	movzbl (%eax),%eax
5f45ef:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5f45f2:	e8 25 4e fb ff       	call   0x5a941c
5f45f7:	88 06                	mov    %al,(%esi)
5f45f9:	eb 03                	jmp    0x5f45fe
5f45fb:	c6 06 00             	movb   $0x0,(%esi)
5f45fe:	46                   	inc    %esi
5f45ff:	ff 45 ec             	incl   -0x14(%ebp)
5f4602:	ff 45 f0             	incl   -0x10(%ebp)
5f4605:	4f                   	dec    %edi
5f4606:	75 ce                	jne    0x5f45d6
5f4608:	ff 45 f4             	incl   -0xc(%ebp)
5f460b:	ff 4d cc             	decl   -0x34(%ebp)
5f460e:	0f 85 0c ff ff ff    	jne    0x5f4520
5f4614:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
5f4618:	74 08                	je     0x5f4622
5f461a:	8b 45 d0             	mov    -0x30(%ebp),%eax
5f461d:	e8 aa e1 e0 ff       	call   0x4027cc
5f4622:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f4625:	e8 ae 32 00 00       	call   0x5f78d8
5f462a:	c6 40 43 00          	movb   $0x0,0x43(%eax)
5f462e:	5f                   	pop    %edi
5f462f:	5e                   	pop    %esi
5f4630:	5b                   	pop    %ebx
5f4631:	8b e5                	mov    %ebp,%esp
5f4633:	5d                   	pop    %ebp
5f4634:	c2 08 00             	ret    $0x8
5f4637:	90                   	nop
5f4638:	55                   	push   %ebp
5f4639:	8b ec                	mov    %esp,%ebp
5f463b:	83 c4 f4             	add    $0xfffffff4,%esp
5f463e:	53                   	push   %ebx
5f463f:	56                   	push   %esi
5f4640:	8b d9                	mov    %ecx,%ebx
5f4642:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f4645:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f4648:	33 d2                	xor    %edx,%edx
5f464a:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f464d:	85 db                	test   %ebx,%ebx
5f464f:	7d 02                	jge    0x5f4653
5f4651:	33 db                	xor    %ebx,%ebx
5f4653:	8b 70 04             	mov    0x4(%eax),%esi
5f4656:	3b 75 0c             	cmp    0xc(%ebp),%esi
5f4659:	7f 04                	jg     0x5f465f
5f465b:	4e                   	dec    %esi
5f465c:	89 75 0c             	mov    %esi,0xc(%ebp)
5f465f:	85 c9                	test   %ecx,%ecx
5f4661:	7d 02                	jge    0x5f4665
5f4663:	33 c9                	xor    %ecx,%ecx
5f4665:	8b 70 08             	mov    0x8(%eax),%esi
5f4668:	3b ce                	cmp    %esi,%ecx
5f466a:	7c 03                	jl     0x5f466f
5f466c:	8b ce                	mov    %esi,%ecx
5f466e:	49                   	dec    %ecx
5f466f:	80 78 68 00          	cmpb   $0x0,0x68(%eax)
5f4673:	74 24                	je     0x5f4699
5f4675:	83 78 0c 08          	cmpl   $0x8,0xc(%eax)
5f4679:	75 19                	jne    0x5f4694
5f467b:	81 7d fc ff 00 00 00 	cmpl   $0xff,-0x4(%ebp)
5f4682:	74 10                	je     0x5f4694
5f4684:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
5f4688:	75 06                	jne    0x5f4690
5f468a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
5f468e:	74 04                	je     0x5f4694
5f4690:	33 d2                	xor    %edx,%edx
5f4692:	eb 02                	jmp    0x5f4696
5f4694:	b2 01                	mov    $0x1,%dl
5f4696:	88 50 68             	mov    %dl,0x68(%eax)
5f4699:	8b 50 0c             	mov    0xc(%eax),%edx
5f469c:	4a                   	dec    %edx
5f469d:	74 07                	je     0x5f46a6
5f469f:	83 ea 07             	sub    $0x7,%edx
5f46a2:	74 3d                	je     0x5f46e1
5f46a4:	eb 63                	jmp    0x5f4709
5f46a6:	8b 50 08             	mov    0x8(%eax),%edx
5f46a9:	2b d1                	sub    %ecx,%edx
5f46ab:	4a                   	dec    %edx
5f46ac:	0f af 50 10          	imul   0x10(%eax),%edx
5f46b0:	03 50 14             	add    0x14(%eax),%edx
5f46b3:	89 55 f4             	mov    %edx,-0xc(%ebp)
5f46b6:	8b c3                	mov    %ebx,%eax
5f46b8:	8b 55 0c             	mov    0xc(%ebp),%edx
5f46bb:	2b d0                	sub    %eax,%edx
5f46bd:	7c 4a                	jl     0x5f4709
5f46bf:	42                   	inc    %edx
5f46c0:	8b c8                	mov    %eax,%ecx
5f46c2:	c1 e9 03             	shr    $0x3,%ecx
5f46c5:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5f46c8:	8d 0c 0b             	lea    (%ebx,%ecx,1),%ecx
5f46cb:	8b d8                	mov    %eax,%ebx
5f46cd:	83 e3 07             	and    $0x7,%ebx
5f46d0:	8a 9b ec 54 6a 00    	mov    0x6a54ec(%ebx),%bl
5f46d6:	08 19                	or     %bl,(%ecx)
5f46d8:	ff 45 f8             	incl   -0x8(%ebp)
5f46db:	40                   	inc    %eax
5f46dc:	4a                   	dec    %edx
5f46dd:	75 e1                	jne    0x5f46c0
5f46df:	eb 28                	jmp    0x5f4709
5f46e1:	8b 55 0c             	mov    0xc(%ebp),%edx
5f46e4:	2b d3                	sub    %ebx,%edx
5f46e6:	42                   	inc    %edx
5f46e7:	8b 70 08             	mov    0x8(%eax),%esi
5f46ea:	2b f1                	sub    %ecx,%esi
5f46ec:	4e                   	dec    %esi
5f46ed:	0f af 70 10          	imul   0x10(%eax),%esi
5f46f1:	03 70 14             	add    0x14(%eax),%esi
5f46f4:	03 f3                	add    %ebx,%esi
5f46f6:	8b c6                	mov    %esi,%eax
5f46f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f46fb:	e8 40 eb e0 ff       	call   0x403240
5f4700:	8b 45 0c             	mov    0xc(%ebp),%eax
5f4703:	2b c3                	sub    %ebx,%eax
5f4705:	40                   	inc    %eax
5f4706:	01 45 f8             	add    %eax,-0x8(%ebp)
5f4709:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f470c:	5e                   	pop    %esi
5f470d:	5b                   	pop    %ebx
5f470e:	8b e5                	mov    %ebp,%esp
5f4710:	5d                   	pop    %ebp
5f4711:	c2 08 00             	ret    $0x8
5f4714:	8b 48 08             	mov    0x8(%eax),%ecx
5f4717:	2b ca                	sub    %edx,%ecx
5f4719:	49                   	dec    %ecx
5f471a:	0f af 48 10          	imul   0x10(%eax),%ecx
5f471e:	03 48 14             	add    0x14(%eax),%ecx
5f4721:	8b c1                	mov    %ecx,%eax
5f4723:	c3                   	ret
5f4724:	53                   	push   %ebx
5f4725:	56                   	push   %esi
5f4726:	8b f2                	mov    %edx,%esi
5f4728:	8b d8                	mov    %eax,%ebx
5f472a:	8b 53 10             	mov    0x10(%ebx),%edx
5f472d:	0f af 53 08          	imul   0x8(%ebx),%edx
5f4731:	8b 43 14             	mov    0x14(%ebx),%eax
5f4734:	8b ce                	mov    %esi,%ecx
5f4736:	e8 05 eb e0 ff       	call   0x403240
5f473b:	83 7b 0c 08          	cmpl   $0x8,0xc(%ebx)
5f473f:	75 16                	jne    0x5f4757
5f4741:	81 fe ff 00 00 00    	cmp    $0xff,%esi
5f4747:	74 0e                	je     0x5f4757
5f4749:	83 7b 0c 01          	cmpl   $0x1,0xc(%ebx)
5f474d:	75 04                	jne    0x5f4753
5f474f:	85 f6                	test   %esi,%esi
5f4751:	74 04                	je     0x5f4757
5f4753:	33 c0                	xor    %eax,%eax
5f4755:	eb 02                	jmp    0x5f4759
5f4757:	b0 01                	mov    $0x1,%al
5f4759:	88 43 68             	mov    %al,0x68(%ebx)
5f475c:	5e                   	pop    %esi
5f475d:	5b                   	pop    %ebx
5f475e:	c3                   	ret
5f475f:	90                   	nop
5f4760:	81 78 18 ff ff ff 7f 	cmpl   $0x7fffffff,0x18(%eax)
5f4767:	0f 94 c0             	sete   %al
5f476a:	c3                   	ret
5f476b:	90                   	nop
5f476c:	53                   	push   %ebx
5f476d:	8b d8                	mov    %eax,%ebx
5f476f:	33 d2                	xor    %edx,%edx
5f4771:	8b c3                	mov    %ebx,%eax
5f4773:	e8 ac ff ff ff       	call   0x5f4724
5f4778:	c7 43 18 ff ff ff 7f 	movl   $0x7fffffff,0x18(%ebx)
5f477f:	c7 43 1c ff ff ff 7f 	movl   $0x7fffffff,0x1c(%ebx)
5f4786:	33 c0                	xor    %eax,%eax
5f4788:	89 43 20             	mov    %eax,0x20(%ebx)
5f478b:	33 c0                	xor    %eax,%eax
5f478d:	89 43 24             	mov    %eax,0x24(%ebx)
5f4790:	5b                   	pop    %ebx
5f4791:	c3                   	ret
5f4792:	8b c0                	mov    %eax,%eax
5f4794:	55                   	push   %ebp
5f4795:	8b ec                	mov    %esp,%ebp
5f4797:	83 c4 f4             	add    $0xfffffff4,%esp
5f479a:	53                   	push   %ebx
5f479b:	56                   	push   %esi
5f479c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5f479f:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f47a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f47a5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f47a9:	7e 3a                	jle    0x5f47e5
5f47ab:	33 c0                	xor    %eax,%eax
5f47ad:	8b 75 08             	mov    0x8(%ebp),%esi
5f47b0:	85 f6                	test   %esi,%esi
5f47b2:	7c 31                	jl     0x5f47e5
5f47b4:	46                   	inc    %esi
5f47b5:	33 db                	xor    %ebx,%ebx
5f47b7:	3b 5d 08             	cmp    0x8(%ebp),%ebx
5f47ba:	74 0c                	je     0x5f47c8
5f47bc:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f47bf:	81 3c da ff ff 0f 00 	cmpl   $0xfffff,(%edx,%ebx,8)
5f47c6:	75 19                	jne    0x5f47e1
5f47c8:	8b d3                	mov    %ebx,%edx
5f47ca:	2b d0                	sub    %eax,%edx
5f47cc:	52                   	push   %edx
5f47cd:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f47d0:	8d 0c c2             	lea    (%edx,%eax,8),%ecx
5f47d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f47d6:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f47d9:	e8 1a 00 00 00       	call   0x5f47f8
5f47de:	8d 43 01             	lea    0x1(%ebx),%eax
5f47e1:	43                   	inc    %ebx
5f47e2:	4e                   	dec    %esi
5f47e3:	75 d2                	jne    0x5f47b7
5f47e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f47e8:	e8 df 07 00 00       	call   0x5f4fcc
5f47ed:	5e                   	pop    %esi
5f47ee:	5b                   	pop    %ebx
5f47ef:	8b e5                	mov    %ebp,%esp
5f47f1:	5d                   	pop    %ebp
5f47f2:	c2 04 00             	ret    $0x4
5f47f5:	8d 40 00             	lea    0x0(%eax),%eax
5f47f8:	55                   	push   %ebp
5f47f9:	8b ec                	mov    %esp,%ebp
5f47fb:	83 c4 b4             	add    $0xffffffb4,%esp
5f47fe:	53                   	push   %ebx
5f47ff:	56                   	push   %esi
5f4800:	57                   	push   %edi
5f4801:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5f4804:	89 55 f8             	mov    %edx,-0x8(%ebp)
5f4807:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f480a:	c7 45 ec ff ff ff 7f 	movl   $0x7fffffff,-0x14(%ebp)
5f4811:	33 c0                	xor    %eax,%eax
5f4813:	8b 55 08             	mov    0x8(%ebp),%edx
5f4816:	4a                   	dec    %edx
5f4817:	85 d2                	test   %edx,%edx
5f4819:	7c 7e                	jl     0x5f4899
5f481b:	42                   	inc    %edx
5f481c:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5f481f:	33 ff                	xor    %edi,%edi
5f4821:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f4824:	8b 34 fa             	mov    (%edx,%edi,8),%esi
5f4827:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f482a:	8b 54 fa 04          	mov    0x4(%edx,%edi,8),%edx
5f482e:	89 55 f0             	mov    %edx,-0x10(%ebp)
5f4831:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f4834:	3b 55 ec             	cmp    -0x14(%ebp),%edx
5f4837:	7d 06                	jge    0x5f483f
5f4839:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f483c:	89 55 ec             	mov    %edx,-0x14(%ebp)
5f483f:	3b 45 f0             	cmp    -0x10(%ebp),%eax
5f4842:	7d 03                	jge    0x5f4847
5f4844:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f4847:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
5f484b:	74 46                	je     0x5f4893
5f484d:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f4850:	3b 72 18             	cmp    0x18(%edx),%esi
5f4853:	7d 06                	jge    0x5f485b
5f4855:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f4858:	89 72 18             	mov    %esi,0x18(%edx)
5f485b:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f485e:	3b 72 20             	cmp    0x20(%edx),%esi
5f4861:	7e 07                	jle    0x5f486a
5f4863:	4e                   	dec    %esi
5f4864:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f4867:	89 72 20             	mov    %esi,0x20(%edx)
5f486a:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f486d:	8b 52 1c             	mov    0x1c(%edx),%edx
5f4870:	3b 55 f0             	cmp    -0x10(%ebp),%edx
5f4873:	7e 09                	jle    0x5f487e
5f4875:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f4878:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f487b:	89 4a 1c             	mov    %ecx,0x1c(%edx)
5f487e:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f4881:	8b 52 24             	mov    0x24(%edx),%edx
5f4884:	3b 55 f0             	cmp    -0x10(%ebp),%edx
5f4887:	7d 0a                	jge    0x5f4893
5f4889:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f488c:	4a                   	dec    %edx
5f488d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f4890:	89 51 24             	mov    %edx,0x24(%ecx)
5f4893:	47                   	inc    %edi
5f4894:	ff 4d b4             	decl   -0x4c(%ebp)
5f4897:	75 88                	jne    0x5f4821
5f4899:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f489c:	83 7a 18 00          	cmpl   $0x0,0x18(%edx)
5f48a0:	7d 08                	jge    0x5f48aa
5f48a2:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48a5:	33 c9                	xor    %ecx,%ecx
5f48a7:	89 4a 18             	mov    %ecx,0x18(%edx)
5f48aa:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48ad:	8b 52 04             	mov    0x4(%edx),%edx
5f48b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f48b3:	3b 51 20             	cmp    0x20(%ecx),%edx
5f48b6:	7f 0d                	jg     0x5f48c5
5f48b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48bb:	8b 52 04             	mov    0x4(%edx),%edx
5f48be:	4a                   	dec    %edx
5f48bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f48c2:	89 51 20             	mov    %edx,0x20(%ecx)
5f48c5:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48c8:	83 7a 1c 00          	cmpl   $0x0,0x1c(%edx)
5f48cc:	7d 08                	jge    0x5f48d6
5f48ce:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48d1:	33 c9                	xor    %ecx,%ecx
5f48d3:	89 4a 1c             	mov    %ecx,0x1c(%edx)
5f48d6:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48d9:	8b 52 08             	mov    0x8(%edx),%edx
5f48dc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f48df:	3b 51 24             	cmp    0x24(%ecx),%edx
5f48e2:	7f 0d                	jg     0x5f48f1
5f48e4:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f48e7:	8b 52 08             	mov    0x8(%edx),%edx
5f48ea:	4a                   	dec    %edx
5f48eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f48ee:	89 51 24             	mov    %edx,0x24(%ecx)
5f48f1:	2b 45 ec             	sub    -0x14(%ebp),%eax
5f48f4:	40                   	inc    %eax
5f48f5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f48f8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f48fb:	c1 e0 02             	shl    $0x2,%eax
5f48fe:	e8 a9 de e0 ff       	call   0x4027ac
5f4903:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f4906:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f4909:	48                   	dec    %eax
5f490a:	85 c0                	test   %eax,%eax
5f490c:	7c 1e                	jl     0x5f492c
5f490e:	40                   	inc    %eax
5f490f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5f4912:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5f4919:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f491c:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f491f:	33 c9                	xor    %ecx,%ecx
5f4921:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
5f4924:	ff 45 e8             	incl   -0x18(%ebp)
5f4927:	ff 4d b4             	decl   -0x4c(%ebp)
5f492a:	75 ed                	jne    0x5f4919
5f492c:	8b 45 08             	mov    0x8(%ebp),%eax
5f492f:	48                   	dec    %eax
5f4930:	85 c0                	test   %eax,%eax
5f4932:	0f 8c 9e 00 00 00    	jl     0x5f49d6
5f4938:	40                   	inc    %eax
5f4939:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5f493c:	33 ff                	xor    %edi,%edi
5f493e:	8d 47 01             	lea    0x1(%edi),%eax
5f4941:	3b 45 08             	cmp    0x8(%ebp),%eax
5f4944:	75 02                	jne    0x5f4948
5f4946:	33 c0                	xor    %eax,%eax
5f4948:	8b 55 f4             	mov    -0xc(%ebp),%edx
5f494b:	8b 14 fa             	mov    (%edx,%edi,8),%edx
5f494e:	89 55 e0             	mov    %edx,-0x20(%ebp)
5f4951:	8b 55 f4             	mov    -0xc(%ebp),%edx