7b4930:	85 ed                	test   %ebp,%ebp
7b4932:	0f 84 99 02 00 00    	je     0x7b4bd1
7b4938:	0f b6 03             	movzbl (%ebx),%eax
7b493b:	8b ce                	mov    %esi,%ecx
7b493d:	d3 e0                	shl    %cl,%eax
7b493f:	43                   	inc    %ebx
7b4940:	03 d0                	add    %eax,%edx
7b4942:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4946:	83 c6 08             	add    $0x8,%esi
7b4949:	89 54 24 10          	mov    %edx,0x10(%esp)
7b494d:	4d                   	dec    %ebp
7b494e:	83 fe 20             	cmp    $0x20,%esi
7b4951:	72 dd                	jb     0x7b4930
7b4953:	8b 47 20             	mov    0x20(%edi),%eax
7b4956:	85 c0                	test   %eax,%eax
7b4958:	74 03                	je     0x7b495d
7b495a:	89 50 04             	mov    %edx,0x4(%eax)
7b495d:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4964:	74 32                	je     0x7b4998
7b4966:	8b c2                	mov    %edx,%eax
7b4968:	88 54 24 18          	mov    %dl,0x18(%esp)
7b496c:	c1 e8 08             	shr    $0x8,%eax
7b496f:	88 44 24 19          	mov    %al,0x19(%esp)
7b4973:	8b c2                	mov    %edx,%eax
7b4975:	c1 e8 10             	shr    $0x10,%eax
7b4978:	88 44 24 1a          	mov    %al,0x1a(%esp)
7b497c:	8d 44 24 18          	lea    0x18(%esp),%eax
7b4980:	6a 04                	push   $0x4
7b4982:	c1 ea 18             	shr    $0x18,%edx
7b4985:	50                   	push   %eax
7b4986:	88 54 24 23          	mov    %dl,0x23(%esp)
7b498a:	ff 77 18             	push   0x18(%edi)
7b498d:	e8 0b 2c c7 ff       	call   0x42759d
7b4992:	83 c4 0c             	add    $0xc,%esp
7b4995:	89 47 18             	mov    %eax,0x18(%edi)
7b4998:	33 d2                	xor    %edx,%edx
7b499a:	c7 07 03 00 00 00    	movl   $0x3,(%edi)
7b49a0:	89 54 24 10          	mov    %edx,0x10(%esp)
7b49a4:	33 f6                	xor    %esi,%esi
7b49a6:	eb 08                	jmp    0x7b49b0
7b49a8:	83 fe 10             	cmp    $0x10,%esi
7b49ab:	73 26                	jae    0x7b49d3
7b49ad:	0f 1f 00             	nopl   (%eax)
7b49b0:	85 ed                	test   %ebp,%ebp
7b49b2:	0f 84 19 02 00 00    	je     0x7b4bd1
7b49b8:	0f b6 03             	movzbl (%ebx),%eax
7b49bb:	8b ce                	mov    %esi,%ecx
7b49bd:	d3 e0                	shl    %cl,%eax
7b49bf:	43                   	inc    %ebx
7b49c0:	03 d0                	add    %eax,%edx
7b49c2:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b49c6:	83 c6 08             	add    $0x8,%esi
7b49c9:	89 54 24 10          	mov    %edx,0x10(%esp)
7b49cd:	4d                   	dec    %ebp
7b49ce:	83 fe 10             	cmp    $0x10,%esi
7b49d1:	72 dd                	jb     0x7b49b0
7b49d3:	8b 4f 20             	mov    0x20(%edi),%ecx
7b49d6:	85 c9                	test   %ecx,%ecx
7b49d8:	74 11                	je     0x7b49eb
7b49da:	0f b6 c2             	movzbl %dl,%eax
7b49dd:	89 41 08             	mov    %eax,0x8(%ecx)
7b49e0:	8b ca                	mov    %edx,%ecx
7b49e2:	8b 47 20             	mov    0x20(%edi),%eax
7b49e5:	c1 e9 08             	shr    $0x8,%ecx
7b49e8:	89 48 0c             	mov    %ecx,0xc(%eax)
7b49eb:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b49f2:	74 20                	je     0x7b4a14
7b49f4:	88 54 24 18          	mov    %dl,0x18(%esp)
7b49f8:	8d 44 24 18          	lea    0x18(%esp),%eax
7b49fc:	6a 02                	push   $0x2
7b49fe:	c1 ea 08             	shr    $0x8,%edx
7b4a01:	50                   	push   %eax
7b4a02:	88 54 24 21          	mov    %dl,0x21(%esp)
7b4a06:	ff 77 18             	push   0x18(%edi)
7b4a09:	e8 8f 2b c7 ff       	call   0x42759d
7b4a0e:	83 c4 0c             	add    $0xc,%esp
7b4a11:	89 47 18             	mov    %eax,0x18(%edi)
7b4a14:	33 d2                	xor    %edx,%edx
7b4a16:	c7 07 04 00 00 00    	movl   $0x4,(%edi)
7b4a1c:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4a20:	33 f6                	xor    %esi,%esi
7b4a22:	f7 47 10 00 04 00 00 	testl  $0x400,0x10(%edi)
7b4a29:	74 68                	je     0x7b4a93
7b4a2b:	83 fe 10             	cmp    $0x10,%esi
7b4a2e:	73 23                	jae    0x7b4a53
7b4a30:	85 ed                	test   %ebp,%ebp
7b4a32:	0f 84 99 01 00 00    	je     0x7b4bd1
7b4a38:	0f b6 03             	movzbl (%ebx),%eax
7b4a3b:	8b ce                	mov    %esi,%ecx
7b4a3d:	d3 e0                	shl    %cl,%eax
7b4a3f:	43                   	inc    %ebx
7b4a40:	03 d0                	add    %eax,%edx
7b4a42:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4a46:	83 c6 08             	add    $0x8,%esi
7b4a49:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4a4d:	4d                   	dec    %ebp
7b4a4e:	83 fe 10             	cmp    $0x10,%esi
7b4a51:	72 dd                	jb     0x7b4a30
7b4a53:	8b 47 20             	mov    0x20(%edi),%eax
7b4a56:	89 57 40             	mov    %edx,0x40(%edi)
7b4a59:	85 c0                	test   %eax,%eax
7b4a5b:	74 03                	je     0x7b4a60
7b4a5d:	89 50 14             	mov    %edx,0x14(%eax)
7b4a60:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4a67:	74 20                	je     0x7b4a89
7b4a69:	88 54 24 18          	mov    %dl,0x18(%esp)
7b4a6d:	8d 44 24 18          	lea    0x18(%esp),%eax
7b4a71:	6a 02                	push   $0x2
7b4a73:	c1 ea 08             	shr    $0x8,%edx
7b4a76:	50                   	push   %eax
7b4a77:	88 54 24 21          	mov    %dl,0x21(%esp)
7b4a7b:	ff 77 18             	push   0x18(%edi)
7b4a7e:	e8 1a 2b c7 ff       	call   0x42759d
7b4a83:	83 c4 0c             	add    $0xc,%esp
7b4a86:	89 47 18             	mov    %eax,0x18(%edi)
7b4a89:	33 c9                	xor    %ecx,%ecx
7b4a8b:	33 f6                	xor    %esi,%esi
7b4a8d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
7b4a91:	eb 0e                	jmp    0x7b4aa1
7b4a93:	8b 47 20             	mov    0x20(%edi),%eax
7b4a96:	85 c0                	test   %eax,%eax
7b4a98:	74 07                	je     0x7b4aa1
7b4a9a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
7b4aa1:	c7 07 05 00 00 00    	movl   $0x5,(%edi)
7b4aa7:	f7 47 10 00 04 00 00 	testl  $0x400,0x10(%edi)
7b4aae:	0f 84 84 00 00 00    	je     0x7b4b38
7b4ab4:	8b 4f 40             	mov    0x40(%edi),%ecx
7b4ab7:	3b cd                	cmp    %ebp,%ecx
7b4ab9:	0f 47 cd             	cmova  %ebp,%ecx
7b4abc:	89 4c 24 30          	mov    %ecx,0x30(%esp)
7b4ac0:	85 c9                	test   %ecx,%ecx
7b4ac2:	74 6a                	je     0x7b4b2e
7b4ac4:	8b 57 20             	mov    0x20(%edi),%edx
7b4ac7:	85 d2                	test   %edx,%edx
7b4ac9:	74 3b                	je     0x7b4b06
7b4acb:	8b 42 10             	mov    0x10(%edx),%eax
7b4ace:	89 44 24 14          	mov    %eax,0x14(%esp)
7b4ad2:	85 c0                	test   %eax,%eax
7b4ad4:	74 30                	je     0x7b4b06
7b4ad6:	8b 42 14             	mov    0x14(%edx),%eax
7b4ad9:	2b 47 40             	sub    0x40(%edi),%eax
7b4adc:	8b 52 18             	mov    0x18(%edx),%edx
7b4adf:	89 44 24 34          	mov    %eax,0x34(%esp)
7b4ae3:	03 c1                	add    %ecx,%eax
7b4ae5:	3b c2                	cmp    %edx,%eax
7b4ae7:	8b 44 24 34          	mov    0x34(%esp),%eax
7b4aeb:	76 04                	jbe    0x7b4af1
7b4aed:	2b d0                	sub    %eax,%edx
7b4aef:	eb 02                	jmp    0x7b4af3
7b4af1:	8b d1                	mov    %ecx,%edx
7b4af3:	03 44 24 14          	add    0x14(%esp),%eax
7b4af7:	52                   	push   %edx
7b4af8:	53                   	push   %ebx
7b4af9:	50                   	push   %eax
7b4afa:	e8 83 fb c5 ff       	call   0x414682
7b4aff:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
7b4b03:	83 c4 0c             	add    $0xc,%esp
7b4b06:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4b0d:	74 10                	je     0x7b4b1f
7b4b0f:	51                   	push   %ecx
7b4b10:	53                   	push   %ebx
7b4b11:	ff 77 18             	push   0x18(%edi)
7b4b14:	e8 84 2a c7 ff       	call   0x42759d
7b4b19:	83 c4 0c             	add    $0xc,%esp
7b4b1c:	89 47 18             	mov    %eax,0x18(%edi)
7b4b1f:	8b 44 24 30          	mov    0x30(%esp),%eax
7b4b23:	03 d8                	add    %eax,%ebx
7b4b25:	2b e8                	sub    %eax,%ebp
7b4b27:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4b2b:	29 47 40             	sub    %eax,0x40(%edi)
7b4b2e:	83 7f 40 00          	cmpl   $0x0,0x40(%edi)
7b4b32:	0f 85 99 00 00 00    	jne    0x7b4bd1
7b4b38:	c7 47 40 00 00 00 00 	movl   $0x0,0x40(%edi)
7b4b3f:	c7 07 06 00 00 00    	movl   $0x6,(%edi)
7b4b45:	f7 47 10 00 08 00 00 	testl  $0x800,0x10(%edi)
7b4b4c:	0f 84 05 01 00 00    	je     0x7b4c57
7b4b52:	85 ed                	test   %ebp,%ebp
7b4b54:	74 7b                	je     0x7b4bd1
7b4b56:	33 c9                	xor    %ecx,%ecx
7b4b58:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
7b4b5f:	00
7b4b60:	0f b6 04 19          	movzbl (%ecx,%ebx,1),%eax
7b4b64:	41                   	inc    %ecx
7b4b65:	89 44 24 30          	mov    %eax,0x30(%esp)
7b4b69:	8b 47 20             	mov    0x20(%edi),%eax
7b4b6c:	85 c0                	test   %eax,%eax
7b4b6e:	74 20                	je     0x7b4b90
7b4b70:	8b 50 1c             	mov    0x1c(%eax),%edx
7b4b73:	85 d2                	test   %edx,%edx
7b4b75:	74 19                	je     0x7b4b90
7b4b77:	8b 57 40             	mov    0x40(%edi),%edx
7b4b7a:	3b 50 20             	cmp    0x20(%eax),%edx
7b4b7d:	73 11                	jae    0x7b4b90
7b4b7f:	8b 40 1c             	mov    0x1c(%eax),%eax
7b4b82:	8b 5c 24 30          	mov    0x30(%esp),%ebx
7b4b86:	88 1c 10             	mov    %bl,(%eax,%edx,1)
7b4b89:	ff 47 40             	incl   0x40(%edi)
7b4b8c:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b4b90:	8b 44 24 30          	mov    0x30(%esp),%eax
7b4b94:	85 c0                	test   %eax,%eax
7b4b96:	74 04                	je     0x7b4b9c
7b4b98:	3b cd                	cmp    %ebp,%ecx
7b4b9a:	72 c4                	jb     0x7b4b60
7b4b9c:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4ba3:	89 4c 24 34          	mov    %ecx,0x34(%esp)
7b4ba7:	74 18                	je     0x7b4bc1
7b4ba9:	51                   	push   %ecx
7b4baa:	53                   	push   %ebx
7b4bab:	ff 77 18             	push   0x18(%edi)
7b4bae:	e8 ea 29 c7 ff       	call   0x42759d
7b4bb3:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7b4bb7:	83 c4 0c             	add    $0xc,%esp
7b4bba:	89 47 18             	mov    %eax,0x18(%edi)
7b4bbd:	8b 44 24 30          	mov    0x30(%esp),%eax
7b4bc1:	03 d9                	add    %ecx,%ebx
7b4bc3:	2b e9                	sub    %ecx,%ebp
7b4bc5:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4bc9:	85 c0                	test   %eax,%eax
7b4bcb:	0f 84 94 00 00 00    	je     0x7b4c65
7b4bd1:	8b 7c 24 10          	mov    0x10(%esp),%edi
7b4bd5:	8b 54 24 4c          	mov    0x4c(%esp),%edx
7b4bd9:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4bdd:	8b 44 24 20          	mov    0x20(%esp),%eax
7b4be1:	8b 5c 24 24          	mov    0x24(%esp),%ebx
7b4be5:	89 41 0c             	mov    %eax,0xc(%ecx)
7b4be8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7b4bec:	89 41 10             	mov    %eax,0x10(%ecx)
7b4bef:	8b 44 24 14          	mov    0x14(%esp),%eax
7b4bf3:	89 69 04             	mov    %ebp,0x4(%ecx)
7b4bf6:	8b 6c 24 28          	mov    0x28(%esp),%ebp
7b4bfa:	89 01                	mov    %eax,(%ecx)
7b4bfc:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
7b4c00:	89 7b 38             	mov    %edi,0x38(%ebx)
7b4c03:	89 73 3c             	mov    %esi,0x3c(%ebx)
7b4c06:	75 22                	jne    0x7b4c2a
7b4c08:	3b 69 10             	cmp    0x10(%ecx),%ebp
7b4c0b:	0f 84 8a 0f 00 00    	je     0x7b5b9b
7b4c11:	8b 03                	mov    (%ebx),%eax
7b4c13:	83 f8 1d             	cmp    $0x1d,%eax
7b4c16:	0f 8d 7f 0f 00 00    	jge    0x7b5b9b
7b4c1c:	83 f8 1a             	cmp    $0x1a,%eax
7b4c1f:	7c 09                	jl     0x7b4c2a
7b4c21:	83 fa 04             	cmp    $0x4,%edx
7b4c24:	0f 84 71 0f 00 00    	je     0x7b5b9b
7b4c2a:	8b c5                	mov    %ebp,%eax
7b4c2c:	2b 41 10             	sub    0x10(%ecx),%eax
7b4c2f:	50                   	push   %eax
7b4c30:	ff 71 0c             	push   0xc(%ecx)
7b4c33:	51                   	push   %ecx
7b4c34:	e8 a7 1f 00 00       	call   0x7b6be0
7b4c39:	83 c4 0c             	add    $0xc,%esp
7b4c3c:	85 c0                	test   %eax,%eax
7b4c3e:	0f 84 53 0f 00 00    	je     0x7b5b97
7b4c44:	c7 03 1e 00 00 00    	movl   $0x1e,(%ebx)
7b4c4a:	5e                   	pop    %esi
7b4c4b:	5d                   	pop    %ebp
7b4c4c:	5b                   	pop    %ebx
7b4c4d:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
7b4c52:	5f                   	pop    %edi
7b4c53:	83 c4 34             	add    $0x34,%esp
7b4c56:	c3                   	ret
7b4c57:	8b 47 20             	mov    0x20(%edi),%eax
7b4c5a:	85 c0                	test   %eax,%eax
7b4c5c:	74 07                	je     0x7b4c65
7b4c5e:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
7b4c65:	c7 47 40 00 00 00 00 	movl   $0x0,0x40(%edi)
7b4c6c:	c7 07 07 00 00 00    	movl   $0x7,(%edi)
7b4c72:	f7 47 10 00 10 00 00 	testl  $0x1000,0x10(%edi)
7b4c79:	74 7d                	je     0x7b4cf8
7b4c7b:	85 ed                	test   %ebp,%ebp
7b4c7d:	0f 84 4e ff ff ff    	je     0x7b4bd1
7b4c83:	33 c9                	xor    %ecx,%ecx
7b4c85:	0f b6 04 19          	movzbl (%ecx,%ebx,1),%eax
7b4c89:	41                   	inc    %ecx
7b4c8a:	89 44 24 30          	mov    %eax,0x30(%esp)
7b4c8e:	8b 47 20             	mov    0x20(%edi),%eax
7b4c91:	85 c0                	test   %eax,%eax
7b4c93:	74 20                	je     0x7b4cb5
7b4c95:	8b 50 24             	mov    0x24(%eax),%edx
7b4c98:	85 d2                	test   %edx,%edx
7b4c9a:	74 19                	je     0x7b4cb5
7b4c9c:	8b 57 40             	mov    0x40(%edi),%edx
7b4c9f:	3b 50 28             	cmp    0x28(%eax),%edx
7b4ca2:	73 11                	jae    0x7b4cb5
7b4ca4:	8b 40 24             	mov    0x24(%eax),%eax
7b4ca7:	8b 5c 24 30          	mov    0x30(%esp),%ebx
7b4cab:	88 1c 10             	mov    %bl,(%eax,%edx,1)
7b4cae:	ff 47 40             	incl   0x40(%edi)
7b4cb1:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b4cb5:	8b 44 24 30          	mov    0x30(%esp),%eax
7b4cb9:	85 c0                	test   %eax,%eax
7b4cbb:	74 04                	je     0x7b4cc1
7b4cbd:	3b cd                	cmp    %ebp,%ecx
7b4cbf:	72 c4                	jb     0x7b4c85
7b4cc1:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4cc8:	89 4c 24 34          	mov    %ecx,0x34(%esp)
7b4ccc:	74 18                	je     0x7b4ce6
7b4cce:	51                   	push   %ecx
7b4ccf:	53                   	push   %ebx
7b4cd0:	ff 77 18             	push   0x18(%edi)
7b4cd3:	e8 c5 28 c7 ff       	call   0x42759d
7b4cd8:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7b4cdc:	83 c4 0c             	add    $0xc,%esp
7b4cdf:	89 47 18             	mov    %eax,0x18(%edi)
7b4ce2:	8b 44 24 30          	mov    0x30(%esp),%eax
7b4ce6:	03 d9                	add    %ecx,%ebx
7b4ce8:	2b e9                	sub    %ecx,%ebp
7b4cea:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4cee:	85 c0                	test   %eax,%eax
7b4cf0:	0f 85 db fe ff ff    	jne    0x7b4bd1
7b4cf6:	eb 0e                	jmp    0x7b4d06
7b4cf8:	8b 47 20             	mov    0x20(%edi),%eax
7b4cfb:	85 c0                	test   %eax,%eax
7b4cfd:	74 07                	je     0x7b4d06
7b4cff:	c7 40 24 00 00 00 00 	movl   $0x0,0x24(%eax)
7b4d06:	8b 54 24 10          	mov    0x10(%esp),%edx
7b4d0a:	c7 07 08 00 00 00    	movl   $0x8,(%edi)
7b4d10:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4d17:	74 50                	je     0x7b4d69
7b4d19:	83 fe 10             	cmp    $0x10,%esi
7b4d1c:	73 25                	jae    0x7b4d43
7b4d1e:	66 90                	xchg   %ax,%ax
7b4d20:	85 ed                	test   %ebp,%ebp
7b4d22:	0f 84 a9 fe ff ff    	je     0x7b4bd1
7b4d28:	0f b6 03             	movzbl (%ebx),%eax
7b4d2b:	8b ce                	mov    %esi,%ecx
7b4d2d:	d3 e0                	shl    %cl,%eax
7b4d2f:	43                   	inc    %ebx
7b4d30:	03 d0                	add    %eax,%edx
7b4d32:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4d36:	83 c6 08             	add    $0x8,%esi
7b4d39:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4d3d:	4d                   	dec    %ebp
7b4d3e:	83 fe 10             	cmp    $0x10,%esi
7b4d41:	72 dd                	jb     0x7b4d20
7b4d43:	0f b7 47 18          	movzwl 0x18(%edi),%eax
7b4d47:	3b d0                	cmp    %eax,%edx
7b4d49:	74 16                	je     0x7b4d61
7b4d4b:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4d4f:	c7 41 18 cc 86 c2 00 	movl   $0xc286cc,0x18(%ecx)
7b4d56:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b4d5c:	e9 8e 02 00 00       	jmp    0x7b4fef
7b4d61:	33 c9                	xor    %ecx,%ecx
7b4d63:	33 f6                	xor    %esi,%esi
7b4d65:	89 4c 24 10          	mov    %ecx,0x10(%esp)
7b4d69:	8b 4f 20             	mov    0x20(%edi),%ecx
7b4d6c:	85 c9                	test   %ecx,%ecx
7b4d6e:	74 16                	je     0x7b4d86
7b4d70:	8b 47 10             	mov    0x10(%edi),%eax
7b4d73:	c1 f8 09             	sar    $0x9,%eax