4b4706:	85 d2                	test   %edx,%edx
4b4708:	74 09                	je     0x4b4713
4b470a:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
4b4710:	ff 46 04             	incl   0x4(%esi)
4b4713:	5d                   	pop    %ebp
4b4714:	5b                   	pop    %ebx
4b4715:	5f                   	pop    %edi
4b4716:	b8 01 00 00 00       	mov    $0x1,%eax
4b471b:	5e                   	pop    %esi
4b471c:	c3                   	ret
4b471d:	cc                   	int3
4b471e:	cc                   	int3
4b471f:	cc                   	int3
4b4720:	b8 0c 00 00 00       	mov    $0xc,%eax
4b4725:	e8 c6 cd 12 00       	call   0x5e14f0
4b472a:	57                   	push   %edi
4b472b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4b472f:	85 ff                	test   %edi,%edi
4b4731:	79 22                	jns    0x4b4755
4b4733:	68 b7 00 00 00       	push   $0xb7
4b4738:	68 dc a7 6a 00       	push   $0x6aa7dc
4b473d:	6a 77                	push   $0x77
4b473f:	68 92 00 00 00       	push   $0x92
4b4744:	6a 03                	push   $0x3
4b4746:	e8 55 cd fe ff       	call   0x4a14a0
4b474b:	83 c4 14             	add    $0x14,%esp
4b474e:	33 c0                	xor    %eax,%eax
4b4750:	5f                   	pop    %edi
4b4751:	83 c4 0c             	add    $0xc,%esp
4b4754:	c3                   	ret
4b4755:	8b c7                	mov    %edi,%eax
4b4757:	99                   	cltd
4b4758:	83 e2 1f             	and    $0x1f,%edx
4b475b:	55                   	push   %ebp
4b475c:	56                   	push   %esi
4b475d:	8b f7                	mov    %edi,%esi
4b475f:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
4b4762:	c1 f9 05             	sar    $0x5,%ecx
4b4765:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4b4769:	81 e6 1f 00 00 80    	and    $0x8000001f,%esi
4b476f:	79 05                	jns    0x4b4776
4b4771:	4e                   	dec    %esi
4b4772:	83 ce e0             	or     $0xffffffe0,%esi
4b4775:	46                   	inc    %esi
4b4776:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4b477a:	b8 20 00 00 00       	mov    $0x20,%eax
4b477f:	2b c6                	sub    %esi,%eax
4b4781:	89 74 24 24          	mov    %esi,0x24(%esp)
4b4785:	89 44 24 14          	mov    %eax,0x14(%esp)
4b4789:	8b 45 04             	mov    0x4(%ebp),%eax
4b478c:	3b c8                	cmp    %eax,%ecx
4b478e:	0f 8d de 00 00 00    	jge    0x4b4872
4b4794:	85 c0                	test   %eax,%eax
4b4796:	0f 84 d6 00 00 00    	je     0x4b4872
4b479c:	53                   	push   %ebx
4b479d:	55                   	push   %ebp
4b479e:	e8 cd eb ff ff       	call   0x4b3370
4b47a3:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4b47a7:	b9 1f 00 00 00       	mov    $0x1f,%ecx
4b47ac:	2b cf                	sub    %edi,%ecx
4b47ae:	83 c4 04             	add    $0x4,%esp
4b47b1:	03 c1                	add    %ecx,%eax
4b47b3:	99                   	cltd
4b47b4:	83 e2 1f             	and    $0x1f,%edx
4b47b7:	03 c2                	add    %edx,%eax
4b47b9:	c1 f8 05             	sar    $0x5,%eax
4b47bc:	89 44 24 14          	mov    %eax,0x14(%esp)
4b47c0:	3b dd                	cmp    %ebp,%ebx
4b47c2:	74 25                	je     0x4b47e9
4b47c4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4b47c7:	89 4b 0c             	mov    %ecx,0xc(%ebx)
4b47ca:	3b 43 08             	cmp    0x8(%ebx),%eax
4b47cd:	7f 04                	jg     0x4b47d3
4b47cf:	8b c3                	mov    %ebx,%eax
4b47d1:	eb 0a                	jmp    0x4b47dd
4b47d3:	50                   	push   %eax
4b47d4:	53                   	push   %ebx
4b47d5:	e8 c6 ee ff ff       	call   0x4b36a0
4b47da:	83 c4 08             	add    $0x8,%esp
4b47dd:	85 c0                	test   %eax,%eax
4b47df:	75 0c                	jne    0x4b47ed
4b47e1:	5b                   	pop    %ebx
4b47e2:	5e                   	pop    %esi
4b47e3:	5d                   	pop    %ebp
4b47e4:	5f                   	pop    %edi
4b47e5:	83 c4 0c             	add    $0xc,%esp
4b47e8:	c3                   	ret
4b47e9:	85 ff                	test   %edi,%edi
4b47eb:	74 78                	je     0x4b4865
4b47ed:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4b47f1:	8b 45 00             	mov    0x0(%ebp),%eax
4b47f4:	8b 55 04             	mov    0x4(%ebp),%edx
4b47f7:	8b 3b                	mov    (%ebx),%edi
4b47f9:	2b d1                	sub    %ecx,%edx
4b47fb:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4b47fe:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4b4802:	89 4b 04             	mov    %ecx,0x4(%ebx)
4b4805:	85 f6                	test   %esi,%esi
4b4807:	75 22                	jne    0x4b482b
4b4809:	85 d2                	test   %edx,%edx
4b480b:	74 58                	je     0x4b4865
4b480d:	0f 1f 00             	nopl   (%eax)
4b4810:	8b 08                	mov    (%eax),%ecx
4b4812:	8d 7f 04             	lea    0x4(%edi),%edi
4b4815:	89 4f fc             	mov    %ecx,-0x4(%edi)
4b4818:	8d 40 04             	lea    0x4(%eax),%eax
4b481b:	83 ea 01             	sub    $0x1,%edx
4b481e:	75 f0                	jne    0x4b4810
4b4820:	5b                   	pop    %ebx
4b4821:	5e                   	pop    %esi
4b4822:	5d                   	pop    %ebp
4b4823:	8d 42 01             	lea    0x1(%edx),%eax
4b4826:	5f                   	pop    %edi
4b4827:	83 c4 0c             	add    $0xc,%esp
4b482a:	c3                   	ret
4b482b:	8b 18                	mov    (%eax),%ebx
4b482d:	8d 6a ff             	lea    -0x1(%edx),%ebp
4b4830:	83 c0 04             	add    $0x4,%eax
4b4833:	85 ed                	test   %ebp,%ebp
4b4835:	74 24                	je     0x4b485b
4b4837:	8b ce                	mov    %esi,%ecx
4b4839:	8d 40 04             	lea    0x4(%eax),%eax
4b483c:	d3 eb                	shr    %cl,%ebx
4b483e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4b4842:	8b f3                	mov    %ebx,%esi
4b4844:	8b 58 fc             	mov    -0x4(%eax),%ebx
4b4847:	8b d3                	mov    %ebx,%edx
4b4849:	d3 e2                	shl    %cl,%edx
4b484b:	0b d6                	or     %esi,%edx
4b484d:	8b 74 24 28          	mov    0x28(%esp),%esi
4b4851:	89 17                	mov    %edx,(%edi)
4b4853:	83 c7 04             	add    $0x4,%edi
4b4856:	83 ed 01             	sub    $0x1,%ebp
4b4859:	75 dc                	jne    0x4b4837
4b485b:	8b ce                	mov    %esi,%ecx
4b485d:	d3 eb                	shr    %cl,%ebx
4b485f:	85 db                	test   %ebx,%ebx
4b4861:	74 02                	je     0x4b4865
4b4863:	89 1f                	mov    %ebx,(%edi)
4b4865:	5b                   	pop    %ebx
4b4866:	5e                   	pop    %esi
4b4867:	5d                   	pop    %ebp
4b4868:	b8 01 00 00 00       	mov    $0x1,%eax
4b486d:	5f                   	pop    %edi
4b486e:	83 c4 0c             	add    $0xc,%esp
4b4871:	c3                   	ret
4b4872:	6a 00                	push   $0x0
4b4874:	ff 74 24 20          	push   0x20(%esp)
4b4878:	e8 73 ec ff ff       	call   0x4b34f0
4b487d:	83 c4 08             	add    $0x8,%esp
4b4880:	b8 01 00 00 00       	mov    $0x1,%eax
4b4885:	5e                   	pop    %esi
4b4886:	5d                   	pop    %ebp
4b4887:	5f                   	pop    %edi
4b4888:	83 c4 0c             	add    $0xc,%esp
4b488b:	c3                   	ret
4b488c:	cc                   	int3
4b488d:	cc                   	int3
4b488e:	cc                   	int3
4b488f:	cc                   	int3
4b4890:	56                   	push   %esi
4b4891:	57                   	push   %edi
4b4892:	8b 7c 24 10          	mov    0x10(%esp),%edi
4b4896:	8b 77 04             	mov    0x4(%edi),%esi
4b4899:	85 f6                	test   %esi,%esi
4b489b:	75 13                	jne    0x4b48b0
4b489d:	56                   	push   %esi
4b489e:	ff 74 24 10          	push   0x10(%esp)
4b48a2:	e8 49 ec ff ff       	call   0x4b34f0
4b48a7:	83 c4 08             	add    $0x8,%esp
4b48aa:	8d 46 01             	lea    0x1(%esi),%eax
4b48ad:	5f                   	pop    %edi
4b48ae:	5e                   	pop    %esi
4b48af:	c3                   	ret
4b48b0:	53                   	push   %ebx
4b48b1:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4b48b5:	33 c0                	xor    %eax,%eax
4b48b7:	55                   	push   %ebp
4b48b8:	8b 2f                	mov    (%edi),%ebp
4b48ba:	8b ce                	mov    %esi,%ecx
4b48bc:	83 7c b5 fc 01       	cmpl   $0x1,-0x4(%ebp,%esi,4)
4b48c1:	0f 94 c0             	sete   %al
4b48c4:	2b c8                	sub    %eax,%ecx
4b48c6:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4b48ca:	3b fb                	cmp    %ebx,%edi
4b48cc:	74 22                	je     0x4b48f0
4b48ce:	3b 4b 08             	cmp    0x8(%ebx),%ecx
4b48d1:	7f 04                	jg     0x4b48d7
4b48d3:	8b c3                	mov    %ebx,%eax
4b48d5:	eb 0a                	jmp    0x4b48e1
4b48d7:	51                   	push   %ecx
4b48d8:	53                   	push   %ebx
4b48d9:	e8 c2 ed ff ff       	call   0x4b36a0
4b48de:	83 c4 08             	add    $0x8,%esp
4b48e1:	85 c0                	test   %eax,%eax
4b48e3:	75 05                	jne    0x4b48ea
4b48e5:	5d                   	pop    %ebp
4b48e6:	5b                   	pop    %ebx
4b48e7:	5f                   	pop    %edi
4b48e8:	5e                   	pop    %esi
4b48e9:	c3                   	ret
4b48ea:	8b 47 0c             	mov    0xc(%edi),%eax
4b48ed:	89 43 0c             	mov    %eax,0xc(%ebx)
4b48f0:	8b 44 b5 fc          	mov    -0x4(%ebp,%esi,4),%eax
4b48f4:	4e                   	dec    %esi
4b48f5:	8b 0b                	mov    (%ebx),%ecx
4b48f7:	8b f8                	mov    %eax,%edi
4b48f9:	c1 e7 1f             	shl    $0x1f,%edi
4b48fc:	d1 e8                	shr    $1,%eax
4b48fe:	74 03                	je     0x4b4903
4b4900:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
4b4903:	85 f6                	test   %esi,%esi
4b4905:	7e 22                	jle    0x4b4929
4b4907:	8d 14 b1             	lea    (%ecx,%esi,4),%edx
4b490a:	2b e9                	sub    %ecx,%ebp
4b490c:	0f 1f 40 00          	nopl   0x0(%eax)
4b4910:	8b 4c 2a fc          	mov    -0x4(%edx,%ebp,1),%ecx
4b4914:	8d 52 fc             	lea    -0x4(%edx),%edx
4b4917:	8b c1                	mov    %ecx,%eax
4b4919:	4e                   	dec    %esi
4b491a:	d1 e8                	shr    $1,%eax
4b491c:	0b c7                	or     %edi,%eax
4b491e:	8b f9                	mov    %ecx,%edi
4b4920:	c1 e7 1f             	shl    $0x1f,%edi
4b4923:	89 02                	mov    %eax,(%edx)
4b4925:	85 f6                	test   %esi,%esi
4b4927:	7f e7                	jg     0x4b4910
4b4929:	8b 44 24 18          	mov    0x18(%esp),%eax
4b492d:	5d                   	pop    %ebp
4b492e:	89 43 04             	mov    %eax,0x4(%ebx)
4b4931:	b8 01 00 00 00       	mov    $0x1,%eax
4b4936:	5b                   	pop    %ebx
4b4937:	5f                   	pop    %edi
4b4938:	5e                   	pop    %esi
4b4939:	c3                   	ret
4b493a:	cc                   	int3
4b493b:	cc                   	int3
4b493c:	cc                   	int3
4b493d:	cc                   	int3
4b493e:	cc                   	int3
4b493f:	cc                   	int3
4b4940:	56                   	push   %esi
4b4941:	8b 74 24 0c          	mov    0xc(%esp),%esi
4b4945:	8b c6                	mov    %esi,%eax
4b4947:	57                   	push   %edi
4b4948:	80 3e 2d             	cmpb   $0x2d,(%esi)
4b494b:	75 03                	jne    0x4b4950
4b494d:	8d 46 01             	lea    0x1(%esi),%eax
4b4950:	80 38 30             	cmpb   $0x30,(%eax)
4b4953:	75 25                	jne    0x4b497a
4b4955:	8a 48 01             	mov    0x1(%eax),%cl
4b4958:	80 f9 58             	cmp    $0x58,%cl
4b495b:	74 05                	je     0x4b4962
4b495d:	80 f9 78             	cmp    $0x78,%cl
4b4960:	75 18                	jne    0x4b497a
4b4962:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4b4966:	83 c0 02             	add    $0x2,%eax
4b4969:	50                   	push   %eax
4b496a:	57                   	push   %edi
4b496b:	e8 d0 03 00 00       	call   0x4b4d40
4b4970:	83 c4 08             	add    $0x8,%esp
4b4973:	85 c0                	test   %eax,%eax
4b4975:	75 18                	jne    0x4b498f
4b4977:	5f                   	pop    %edi
4b4978:	5e                   	pop    %esi
4b4979:	c3                   	ret
4b497a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4b497e:	50                   	push   %eax
4b497f:	57                   	push   %edi
4b4980:	e8 1b 02 00 00       	call   0x4b4ba0
4b4985:	83 c4 08             	add    $0x8,%esp
4b4988:	85 c0                	test   %eax,%eax
4b498a:	75 03                	jne    0x4b498f
4b498c:	5f                   	pop    %edi
4b498d:	5e                   	pop    %esi
4b498e:	c3                   	ret
4b498f:	80 3e 2d             	cmpb   $0x2d,(%esi)
4b4992:	75 0f                	jne    0x4b49a3
4b4994:	8b 07                	mov    (%edi),%eax
4b4996:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4b499a:	74 07                	je     0x4b49a3
4b499c:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
4b49a3:	5f                   	pop    %edi
4b49a4:	b8 01 00 00 00       	mov    $0x1,%eax
4b49a9:	5e                   	pop    %esi
4b49aa:	c3                   	ret
4b49ab:	cc                   	int3
4b49ac:	cc                   	int3
4b49ad:	cc                   	int3
4b49ae:	cc                   	int3
4b49af:	cc                   	int3
4b49b0:	b8 14 00 00 00       	mov    $0x14,%eax
4b49b5:	e8 36 cb 12 00       	call   0x5e14f0
4b49ba:	53                   	push   %ebx
4b49bb:	55                   	push   %ebp
4b49bc:	56                   	push   %esi
4b49bd:	57                   	push   %edi
4b49be:	ff 74 24 28          	push   0x28(%esp)
4b49c2:	33 ed                	xor    %ebp,%ebp
4b49c4:	e8 a7 e9 ff ff       	call   0x4b3370
4b49c9:	6a 78                	push   $0x78
4b49cb:	68 08 a8 6a 00       	push   $0x6aa808
4b49d0:	8d 34 40             	lea    (%eax,%eax,2),%esi
4b49d3:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
4b49d8:	f7 ee                	imul   %esi
4b49da:	b8 67 66 66 66       	mov    $0x66666667,%eax
4b49df:	c1 fa 06             	sar    $0x6,%edx
4b49e2:	8b da                	mov    %edx,%ebx
4b49e4:	c1 eb 1f             	shr    $0x1f,%ebx
4b49e7:	03 da                	add    %edx,%ebx
4b49e9:	f7 ee                	imul   %esi
4b49eb:	c1 fa 02             	sar    $0x2,%edx
4b49ee:	8b c2                	mov    %edx,%eax
4b49f0:	03 da                	add    %edx,%ebx
4b49f2:	c1 e8 1f             	shr    $0x1f,%eax
4b49f5:	83 c0 02             	add    $0x2,%eax
4b49f8:	03 d8                	add    %eax,%ebx
4b49fa:	b8 39 8e e3 38       	mov    $0x38e38e39,%eax
4b49ff:	f7 eb                	imul   %ebx
4b4a01:	89 5c 24 24          	mov    %ebx,0x24(%esp)
4b4a05:	d1 fa                	sar    $1,%edx
4b4a07:	8b c2                	mov    %edx,%eax
4b4a09:	42                   	inc    %edx
4b4a0a:	c1 e8 1f             	shr    $0x1f,%eax
4b4a0d:	03 c2                	add    %edx,%eax
4b4a0f:	89 44 24 28          	mov    %eax,0x28(%esp)
4b4a13:	c1 e0 02             	shl    $0x2,%eax
4b4a16:	50                   	push   %eax
4b4a17:	e8 94 b7 fe ff       	call   0x4a01b0
4b4a1c:	6a 79                	push   $0x79
4b4a1e:	8d 4b 03             	lea    0x3(%ebx),%ecx
4b4a21:	8b f8                	mov    %eax,%edi
4b4a23:	68 08 a8 6a 00       	push   $0x6aa808
4b4a28:	51                   	push   %ecx
4b4a29:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
4b4a2d:	e8 7e b7 fe ff       	call   0x4a01b0
4b4a32:	8b d8                	mov    %eax,%ebx
4b4a34:	83 c4 1c             	add    $0x1c,%esp
4b4a37:	85 db                	test   %ebx,%ebx
4b4a39:	0f 84 ff 00 00 00    	je     0x4b4b3e
4b4a3f:	85 ff                	test   %edi,%edi
4b4a41:	0f 84 f7 00 00 00    	je     0x4b4b3e
4b4a47:	ff 74 24 28          	push   0x28(%esp)
4b4a4b:	e8 50 e7 ff ff       	call   0x4b31a0
4b4a50:	8b e8                	mov    %eax,%ebp
4b4a52:	83 c4 04             	add    $0x4,%esp
4b4a55:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4b4a59:	85 ed                	test   %ebp,%ebp
4b4a5b:	0f 84 f8 00 00 00    	je     0x4b4b59
4b4a61:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)