7b565b:	c1 e9 08             	shr    $0x8,%ecx
7b565e:	0f b6 c9             	movzbl %cl,%ecx
7b5661:	03 cb                	add    %ebx,%ecx
7b5663:	3b ce                	cmp    %esi,%ecx
7b5665:	77 a9                	ja     0x7b5610
7b5667:	8b 7c 24 24          	mov    0x24(%esp),%edi
7b566b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b566f:	0f b6 ce             	movzbl %dh,%ecx
7b5672:	8b 54 24 10          	mov    0x10(%esp),%edx
7b5676:	d3 ea                	shr    %cl,%edx
7b5678:	2b f1                	sub    %ecx,%esi
7b567a:	89 8f c4 1b 00 00    	mov    %ecx,0x1bc4(%edi)
7b5680:	8b c8                	mov    %eax,%ecx
7b5682:	c1 e9 08             	shr    $0x8,%ecx
7b5685:	0f b6 c9             	movzbl %cl,%ecx
7b5688:	01 8f c4 1b 00 00    	add    %ecx,0x1bc4(%edi)
7b568e:	2b f1                	sub    %ecx,%esi
7b5690:	d3 ea                	shr    %cl,%edx
7b5692:	8b c8                	mov    %eax,%ecx
7b5694:	c1 e9 10             	shr    $0x10,%ecx
7b5697:	89 54 24 10          	mov    %edx,0x10(%esp)
7b569b:	89 4f 40             	mov    %ecx,0x40(%edi)
7b569e:	84 c0                	test   %al,%al
7b56a0:	75 0b                	jne    0x7b56ad
7b56a2:	c7 07 19 00 00 00    	movl   $0x19,(%edi)
7b56a8:	e9 3e f9 ff ff       	jmp    0x7b4feb
7b56ad:	a8 20                	test   $0x20,%al
7b56af:	74 15                	je     0x7b56c6
7b56b1:	c7 87 c4 1b 00 00 ff 	movl   $0xffffffff,0x1bc4(%edi)
7b56b8:	ff ff ff
7b56bb:	c7 07 0b 00 00 00    	movl   $0xb,(%edi)
7b56c1:	e9 25 f9 ff ff       	jmp    0x7b4feb
7b56c6:	a8 40                	test   $0x40,%al
7b56c8:	74 16                	je     0x7b56e0
7b56ca:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b56ce:	c7 41 18 f8 87 c2 00 	movl   $0xc287f8,0x18(%ecx)
7b56d5:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b56db:	e9 0f f9 ff ff       	jmp    0x7b4fef
7b56e0:	0f b6 c0             	movzbl %al,%eax
7b56e3:	83 e0 0f             	and    $0xf,%eax
7b56e6:	c7 07 15 00 00 00    	movl   $0x15,(%edi)
7b56ec:	89 47 48             	mov    %eax,0x48(%edi)
7b56ef:	8b 4f 48             	mov    0x48(%edi),%ecx
7b56f2:	85 c9                	test   %ecx,%ecx
7b56f4:	74 4a                	je     0x7b5740
7b56f6:	3b f1                	cmp    %ecx,%esi
7b56f8:	73 2b                	jae    0x7b5725
7b56fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7b5700:	85 ed                	test   %ebp,%ebp
7b5702:	0f 84 c9 f4 ff ff    	je     0x7b4bd1
7b5708:	0f b6 03             	movzbl (%ebx),%eax
7b570b:	8b ce                	mov    %esi,%ecx
7b570d:	d3 e0                	shl    %cl,%eax
7b570f:	43                   	inc    %ebx
7b5710:	8b 4f 48             	mov    0x48(%edi),%ecx
7b5713:	03 d0                	add    %eax,%edx
7b5715:	83 c6 08             	add    $0x8,%esi
7b5718:	89 54 24 10          	mov    %edx,0x10(%esp)
7b571c:	4d                   	dec    %ebp
7b571d:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b5721:	3b f1                	cmp    %ecx,%esi
7b5723:	72 db                	jb     0x7b5700
7b5725:	b8 01 00 00 00       	mov    $0x1,%eax
7b572a:	2b f1                	sub    %ecx,%esi
7b572c:	d3 e0                	shl    %cl,%eax
7b572e:	48                   	dec    %eax
7b572f:	23 c2                	and    %edx,%eax
7b5731:	d3 ea                	shr    %cl,%edx
7b5733:	01 47 40             	add    %eax,0x40(%edi)
7b5736:	01 8f c4 1b 00 00    	add    %ecx,0x1bc4(%edi)
7b573c:	89 54 24 10          	mov    %edx,0x10(%esp)
7b5740:	8b 47 40             	mov    0x40(%edi),%eax
7b5743:	89 87 c8 1b 00 00    	mov    %eax,0x1bc8(%edi)
7b5749:	c7 07 16 00 00 00    	movl   $0x16,(%edi)
7b574f:	8b 47 50             	mov    0x50(%edi),%eax
7b5752:	8b 4f 58             	mov    0x58(%edi),%ecx
7b5755:	89 44 24 40          	mov    %eax,0x40(%esp)
7b5759:	b8 01 00 00 00       	mov    $0x1,%eax
7b575e:	d3 e0                	shl    %cl,%eax
7b5760:	8b 4f 50             	mov    0x50(%edi),%ecx
7b5763:	48                   	dec    %eax
7b5764:	23 c2                	and    %edx,%eax
7b5766:	8b 04 81             	mov    (%ecx,%eax,4),%eax
7b5769:	8b c8                	mov    %eax,%ecx
7b576b:	c1 e9 08             	shr    $0x8,%ecx
7b576e:	0f b6 c9             	movzbl %cl,%ecx
7b5771:	3b ce                	cmp    %esi,%ecx
7b5773:	76 43                	jbe    0x7b57b8
7b5775:	85 ed                	test   %ebp,%ebp
7b5777:	0f 84 54 f4 ff ff    	je     0x7b4bd1
7b577d:	0f b6 03             	movzbl (%ebx),%eax
7b5780:	8b ce                	mov    %esi,%ecx
7b5782:	d3 e0                	shl    %cl,%eax
7b5784:	43                   	inc    %ebx
7b5785:	8b 4f 58             	mov    0x58(%edi),%ecx
7b5788:	03 d0                	add    %eax,%edx
7b578a:	8b 47 50             	mov    0x50(%edi),%eax
7b578d:	83 c6 08             	add    $0x8,%esi
7b5790:	89 54 24 10          	mov    %edx,0x10(%esp)
7b5794:	4d                   	dec    %ebp
7b5795:	ba 01 00 00 00       	mov    $0x1,%edx
7b579a:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b579e:	d3 e2                	shl    %cl,%edx
7b57a0:	4a                   	dec    %edx
7b57a1:	23 54 24 10          	and    0x10(%esp),%edx
7b57a5:	8b 04 90             	mov    (%eax,%edx,4),%eax
7b57a8:	8b c8                	mov    %eax,%ecx
7b57aa:	8b 54 24 10          	mov    0x10(%esp),%edx
7b57ae:	c1 e9 08             	shr    $0x8,%ecx
7b57b1:	0f b6 c9             	movzbl %cl,%ecx
7b57b4:	3b ce                	cmp    %esi,%ecx
7b57b6:	77 bd                	ja     0x7b5775
7b57b8:	a8 f0                	test   $0xf0,%al
7b57ba:	0f 85 b4 00 00 00    	jne    0x7b5874
7b57c0:	8b c8                	mov    %eax,%ecx
7b57c2:	bb 01 00 00 00       	mov    $0x1,%ebx
7b57c7:	c1 e9 08             	shr    $0x8,%ecx
7b57ca:	8b d0                	mov    %eax,%edx
7b57cc:	0f b6 f9             	movzbl %cl,%edi
7b57cf:	89 4c 24 30          	mov    %ecx,0x30(%esp)
7b57d3:	0f b6 c8             	movzbl %al,%ecx
7b57d6:	03 cf                	add    %edi,%ecx
7b57d8:	c1 e8 10             	shr    $0x10,%eax
7b57db:	d3 e3                	shl    %cl,%ebx
7b57dd:	8b cf                	mov    %edi,%ecx
7b57df:	4b                   	dec    %ebx
7b57e0:	89 54 24 34          	mov    %edx,0x34(%esp)
7b57e4:	23 5c 24 10          	and    0x10(%esp),%ebx
7b57e8:	d3 eb                	shr    %cl,%ebx
7b57ea:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7b57ee:	03 d8                	add    %eax,%ebx
7b57f0:	8b 04 99             	mov    (%ecx,%ebx,4),%eax
7b57f3:	8b c8                	mov    %eax,%ecx
7b57f5:	c1 e9 08             	shr    $0x8,%ecx
7b57f8:	0f b6 f9             	movzbl %cl,%edi
7b57fb:	8b 4c 24 30          	mov    0x30(%esp),%ecx
7b57ff:	0f b6 c9             	movzbl %cl,%ecx
7b5802:	03 f9                	add    %ecx,%edi
7b5804:	3b fe                	cmp    %esi,%edi
7b5806:	76 57                	jbe    0x7b585f
7b5808:	85 ed                	test   %ebp,%ebp
7b580a:	0f 84 c1 f3 ff ff    	je     0x7b4bd1
7b5810:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b5814:	8b ce                	mov    %esi,%ecx
7b5816:	bf 01 00 00 00       	mov    $0x1,%edi
7b581b:	83 c6 08             	add    $0x8,%esi
7b581e:	4d                   	dec    %ebp
7b581f:	0f b6 03             	movzbl (%ebx),%eax
7b5822:	43                   	inc    %ebx
7b5823:	d3 e0                	shl    %cl,%eax
7b5825:	01 44 24 10          	add    %eax,0x10(%esp)
7b5829:	0f b7 44 24 36       	movzwl 0x36(%esp),%eax
7b582e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b5832:	0f b6 de             	movzbl %dh,%ebx
7b5835:	0f b6 ca             	movzbl %dl,%ecx
7b5838:	03 cb                	add    %ebx,%ecx
7b583a:	d3 e7                	shl    %cl,%edi
7b583c:	8b cb                	mov    %ebx,%ecx
7b583e:	4f                   	dec    %edi
7b583f:	23 7c 24 10          	and    0x10(%esp),%edi
7b5843:	d3 ef                	shr    %cl,%edi
7b5845:	03 f8                	add    %eax,%edi
7b5847:	8b 44 24 24          	mov    0x24(%esp),%eax
7b584b:	8b 40 50             	mov    0x50(%eax),%eax
7b584e:	8b 04 b8             	mov    (%eax,%edi,4),%eax
7b5851:	8b c8                	mov    %eax,%ecx
7b5853:	c1 e9 08             	shr    $0x8,%ecx
7b5856:	0f b6 c9             	movzbl %cl,%ecx
7b5859:	03 cb                	add    %ebx,%ecx
7b585b:	3b ce                	cmp    %esi,%ecx
7b585d:	77 a9                	ja     0x7b5808
7b585f:	8b 7c 24 24          	mov    0x24(%esp),%edi
7b5863:	0f b6 ce             	movzbl %dh,%ecx
7b5866:	8b 54 24 10          	mov    0x10(%esp),%edx
7b586a:	2b f1                	sub    %ecx,%esi
7b586c:	d3 ea                	shr    %cl,%edx
7b586e:	01 8f c4 1b 00 00    	add    %ecx,0x1bc4(%edi)
7b5874:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b5878:	8b c8                	mov    %eax,%ecx
7b587a:	c1 e9 08             	shr    $0x8,%ecx
7b587d:	0f b6 c9             	movzbl %cl,%ecx
7b5880:	01 8f c4 1b 00 00    	add    %ecx,0x1bc4(%edi)
7b5886:	2b f1                	sub    %ecx,%esi
7b5888:	d3 ea                	shr    %cl,%edx
7b588a:	89 54 24 10          	mov    %edx,0x10(%esp)
7b588e:	a8 40                	test   $0x40,%al
7b5890:	74 16                	je     0x7b58a8
7b5892:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b5896:	c7 41 18 1c 88 c2 00 	movl   $0xc2881c,0x18(%ecx)
7b589d:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b58a3:	e9 47 f7 ff ff       	jmp    0x7b4fef
7b58a8:	8b c8                	mov    %eax,%ecx
7b58aa:	c7 07 17 00 00 00    	movl   $0x17,(%edi)
7b58b0:	c1 e9 10             	shr    $0x10,%ecx
7b58b3:	0f b6 c0             	movzbl %al,%eax
7b58b6:	83 e0 0f             	and    $0xf,%eax
7b58b9:	89 4f 44             	mov    %ecx,0x44(%edi)
7b58bc:	89 47 48             	mov    %eax,0x48(%edi)
7b58bf:	8b 4f 48             	mov    0x48(%edi),%ecx
7b58c2:	85 c9                	test   %ecx,%ecx
7b58c4:	74 4a                	je     0x7b5910
7b58c6:	3b f1                	cmp    %ecx,%esi
7b58c8:	73 2b                	jae    0x7b58f5
7b58ca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7b58d0:	85 ed                	test   %ebp,%ebp
7b58d2:	0f 84 f9 f2 ff ff    	je     0x7b4bd1
7b58d8:	0f b6 03             	movzbl (%ebx),%eax
7b58db:	8b ce                	mov    %esi,%ecx
7b58dd:	d3 e0                	shl    %cl,%eax
7b58df:	43                   	inc    %ebx
7b58e0:	8b 4f 48             	mov    0x48(%edi),%ecx
7b58e3:	03 d0                	add    %eax,%edx
7b58e5:	83 c6 08             	add    $0x8,%esi
7b58e8:	89 54 24 10          	mov    %edx,0x10(%esp)
7b58ec:	4d                   	dec    %ebp
7b58ed:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b58f1:	3b f1                	cmp    %ecx,%esi
7b58f3:	72 db                	jb     0x7b58d0
7b58f5:	b8 01 00 00 00       	mov    $0x1,%eax
7b58fa:	2b f1                	sub    %ecx,%esi
7b58fc:	d3 e0                	shl    %cl,%eax
7b58fe:	48                   	dec    %eax
7b58ff:	23 c2                	and    %edx,%eax
7b5901:	d3 ea                	shr    %cl,%edx
7b5903:	01 47 44             	add    %eax,0x44(%edi)
7b5906:	01 8f c4 1b 00 00    	add    %ecx,0x1bc4(%edi)
7b590c:	89 54 24 10          	mov    %edx,0x10(%esp)
7b5910:	c7 07 18 00 00 00    	movl   $0x18,(%edi)
7b5916:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7b591a:	85 c9                	test   %ecx,%ecx
7b591c:	0f 84 af f2 ff ff    	je     0x7b4bd1
7b5922:	8b 44 24 28          	mov    0x28(%esp),%eax
7b5926:	2b c1                	sub    %ecx,%eax
7b5928:	8b 4f 44             	mov    0x44(%edi),%ecx
7b592b:	3b c8                	cmp    %eax,%ecx
7b592d:	76 4e                	jbe    0x7b597d
7b592f:	2b c8                	sub    %eax,%ecx
7b5931:	3b 4f 2c             	cmp    0x2c(%edi),%ecx
7b5934:	76 1f                	jbe    0x7b5955
7b5936:	83 bf c0 1b 00 00 00 	cmpl   $0x0,0x1bc0(%edi)
7b593d:	74 16                	je     0x7b5955
7b593f:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b5943:	c7 41 18 38 88 c2 00 	movl   $0xc28838,0x18(%ecx)
7b594a:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b5950:	e9 9a f6 ff ff       	jmp    0x7b4fef
7b5955:	8b 47 30             	mov    0x30(%edi),%eax
7b5958:	3b c8                	cmp    %eax,%ecx
7b595a:	76 0c                	jbe    0x7b5968
7b595c:	2b c8                	sub    %eax,%ecx
7b595e:	8b 47 34             	mov    0x34(%edi),%eax
7b5961:	03 47 28             	add    0x28(%edi),%eax
7b5964:	2b c1                	sub    %ecx,%eax
7b5966:	eb 08                	jmp    0x7b5970
7b5968:	8b 47 34             	mov    0x34(%edi),%eax
7b596b:	2b c1                	sub    %ecx,%eax
7b596d:	03 47 30             	add    0x30(%edi),%eax
7b5970:	89 44 24 34          	mov    %eax,0x34(%esp)
7b5974:	8b 47 40             	mov    0x40(%edi),%eax
7b5977:	3b c8                	cmp    %eax,%ecx
7b5979:	76 11                	jbe    0x7b598c
7b597b:	eb 0d                	jmp    0x7b598a
7b597d:	8b 44 24 20          	mov    0x20(%esp),%eax
7b5981:	2b c1                	sub    %ecx,%eax
7b5983:	89 44 24 34          	mov    %eax,0x34(%esp)
7b5987:	8b 47 40             	mov    0x40(%edi),%eax
7b598a:	8b c8                	mov    %eax,%ecx
7b598c:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
7b5990:	3b cb                	cmp    %ebx,%ecx
7b5992:	0f 47 cb             	cmova  %ebx,%ecx
7b5995:	2b d9                	sub    %ecx,%ebx
7b5997:	2b c1                	sub    %ecx,%eax
7b5999:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
7b599d:	8b 5c 24 34          	mov    0x34(%esp),%ebx
7b59a1:	89 47 40             	mov    %eax,0x40(%edi)
7b59a4:	8b 7c 24 20          	mov    0x20(%esp),%edi
7b59a8:	2b df                	sub    %edi,%ebx
7b59aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7b59b0:	8a 04 3b             	mov    (%ebx,%edi,1),%al
7b59b3:	88 07                	mov    %al,(%edi)
7b59b5:	47                   	inc    %edi
7b59b6:	83 e9 01             	sub    $0x1,%ecx
7b59b9:	75 f5                	jne    0x7b59b0
7b59bb:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b59bf:	89 7c 24 20          	mov    %edi,0x20(%esp)
7b59c3:	8b 7c 24 24          	mov    0x24(%esp),%edi
7b59c7:	39 4f 40             	cmp    %ecx,0x40(%edi)
7b59ca:	0f 85 1b f6 ff ff    	jne    0x7b4feb
7b59d0:	c7 07 14 00 00 00    	movl   $0x14,(%edi)
7b59d6:	e9 10 f6 ff ff       	jmp    0x7b4feb
7b59db:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
7b59e0:	0f 84 eb f1 ff ff    	je     0x7b4bd1
7b59e6:	8b 5c 24 20          	mov    0x20(%esp),%ebx
7b59ea:	8a 47 40             	mov    0x40(%edi),%al
7b59ed:	ff 44 24 20          	incl   0x20(%esp)
7b59f1:	ff 4c 24 1c          	decl   0x1c(%esp)
7b59f5:	88 03                	mov    %al,(%ebx)
7b59f7:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b59fb:	c7 07 14 00 00 00    	movl   $0x14,(%edi)
7b5a01:	e9 e9 f5 ff ff       	jmp    0x7b4fef
7b5a06:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
7b5a0a:	0f 84 c8 00 00 00    	je     0x7b5ad8
7b5a10:	83 fe 20             	cmp    $0x20,%esi
7b5a13:	73 27                	jae    0x7b5a3c
7b5a15:	85 ed                	test   %ebp,%ebp
7b5a17:	0f 84 b4 f1 ff ff    	je     0x7b4bd1
7b5a1d:	0f b6 03             	movzbl (%ebx),%eax
7b5a20:	8b ce                	mov    %esi,%ecx
7b5a22:	d3 e0                	shl    %cl,%eax
7b5a24:	43                   	inc    %ebx
7b5a25:	03 d0                	add    %eax,%edx
7b5a27:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b5a2b:	83 c6 08             	add    $0x8,%esi
7b5a2e:	89 54 24 10          	mov    %edx,0x10(%esp)
7b5a32:	4d                   	dec    %ebp
7b5a33:	83 fe 20             	cmp    $0x20,%esi
7b5a36:	72 dd                	jb     0x7b5a15
7b5a38:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b5a3c:	8b 44 24 28          	mov    0x28(%esp),%eax
7b5a40:	2b 44 24 1c          	sub    0x1c(%esp),%eax
7b5a44:	01 41 14             	add    %eax,0x14(%ecx)
7b5a47:	01 47 1c             	add    %eax,0x1c(%edi)
7b5a4a:	89 44 24 28          	mov    %eax,0x28(%esp)
7b5a4e:	85 c0                	test   %eax,%eax
7b5a50:	74 30                	je     0x7b5a82
7b5a52:	50                   	push   %eax
7b5a53:	8b 44 24 24          	mov    0x24(%esp),%eax
7b5a57:	2b 44 24 2c          	sub    0x2c(%esp),%eax
7b5a5b:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
7b5a5f:	50                   	push   %eax
7b5a60:	ff 77 18             	push   0x18(%edi)
7b5a63:	74 07                	je     0x7b5a6c
7b5a65:	e8 33 1b c7 ff       	call   0x42759d
7b5a6a:	eb 05                	jmp    0x7b5a71
7b5a6c:	e8 64 56 c7 ff       	call   0x42b0d5
7b5a71:	8b 4c 24 54          	mov    0x54(%esp),%ecx
7b5a75:	83 c4 0c             	add    $0xc,%esp
7b5a78:	8b 54 24 10          	mov    0x10(%esp),%edx
7b5a7c:	89 47 18             	mov    %eax,0x18(%edi)
7b5a7f:	89 41 30             	mov    %eax,0x30(%ecx)
7b5a82:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
7b5a86:	8b ca                	mov    %edx,%ecx
7b5a88:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7b5a8c:	89 44 24 28          	mov    %eax,0x28(%esp)
7b5a90:	75 23                	jne    0x7b5ab5
7b5a92:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7b5a98:	8b c2                	mov    %edx,%eax
7b5a9a:	c1 e0 10             	shl    $0x10,%eax
7b5a9d:	03 c8                	add    %eax,%ecx
7b5a9f:	8b c2                	mov    %edx,%eax
7b5aa1:	c1 e8 08             	shr    $0x8,%eax