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
7b4d76:	83 e0 01             	and    $0x1,%eax
7b4d79:	89 41 2c             	mov    %eax,0x2c(%ecx)
7b4d7c:	8b 47 20             	mov    0x20(%edi),%eax
7b4d7f:	c7 40 30 01 00 00 00 	movl   $0x1,0x30(%eax)
7b4d86:	6a 00                	push   $0x0
7b4d88:	6a 00                	push   $0x0
7b4d8a:	6a 00                	push   $0x0
7b4d8c:	e8 0c 28 c7 ff       	call   0x42759d
7b4d91:	8b 4c 24 54          	mov    0x54(%esp),%ecx
7b4d95:	83 c4 0c             	add    $0xc,%esp
7b4d98:	8b 54 24 10          	mov    0x10(%esp),%edx
7b4d9c:	89 47 18             	mov    %eax,0x18(%edi)
7b4d9f:	89 41 30             	mov    %eax,0x30(%ecx)
7b4da2:	c7 07 0b 00 00 00    	movl   $0xb,(%edi)
7b4da8:	e9 42 02 00 00       	jmp    0x7b4fef
7b4dad:	83 fe 20             	cmp    $0x20,%esi
7b4db0:	73 23                	jae    0x7b4dd5
7b4db2:	85 ed                	test   %ebp,%ebp
7b4db4:	0f 84 17 fe ff ff    	je     0x7b4bd1
7b4dba:	0f b6 03             	movzbl (%ebx),%eax
7b4dbd:	8b ce                	mov    %esi,%ecx
7b4dbf:	d3 e0                	shl    %cl,%eax
7b4dc1:	43                   	inc    %ebx
7b4dc2:	03 d0                	add    %eax,%edx
7b4dc4:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4dc8:	83 c6 08             	add    $0x8,%esi
7b4dcb:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4dcf:	4d                   	dec    %ebp
7b4dd0:	83 fe 20             	cmp    $0x20,%esi
7b4dd3:	72 dd                	jb     0x7b4db2
7b4dd5:	8b ca                	mov    %edx,%ecx
7b4dd7:	8b c2                	mov    %edx,%eax
7b4dd9:	c1 e0 10             	shl    $0x10,%eax
7b4ddc:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7b4de2:	03 c8                	add    %eax,%ecx
7b4de4:	8b c2                	mov    %edx,%eax
7b4de6:	c1 e8 08             	shr    $0x8,%eax
7b4de9:	c1 e1 08             	shl    $0x8,%ecx
7b4dec:	25 00 ff 00 00       	and    $0xff00,%eax
7b4df1:	03 c1                	add    %ecx,%eax
7b4df3:	c1 ea 18             	shr    $0x18,%edx
7b4df6:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4dfa:	03 c2                	add    %edx,%eax
7b4dfc:	33 d2                	xor    %edx,%edx
7b4dfe:	89 47 18             	mov    %eax,0x18(%edi)
7b4e01:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4e05:	33 f6                	xor    %esi,%esi
7b4e07:	89 41 30             	mov    %eax,0x30(%ecx)
7b4e0a:	c7 07 0a 00 00 00    	movl   $0xa,(%edi)
7b4e10:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
7b4e14:	0f 84 14 0d 00 00    	je     0x7b5b2e
7b4e1a:	6a 00                	push   $0x0
7b4e1c:	6a 00                	push   $0x0
7b4e1e:	6a 00                	push   $0x0
7b4e20:	e8 b0 62 c7 ff       	call   0x42b0d5
7b4e25:	8b 4c 24 54          	mov    0x54(%esp),%ecx
7b4e29:	83 c4 0c             	add    $0xc,%esp
7b4e2c:	8b 54 24 10          	mov    0x10(%esp),%edx
7b4e30:	89 47 18             	mov    %eax,0x18(%edi)
7b4e33:	89 41 30             	mov    %eax,0x30(%ecx)
7b4e36:	c7 07 0b 00 00 00    	movl   $0xb,(%edi)
7b4e3c:	8b 44 24 4c          	mov    0x4c(%esp),%eax
7b4e40:	83 f8 05             	cmp    $0x5,%eax
7b4e43:	0f 84 43 0d 00 00    	je     0x7b5b8c
7b4e49:	83 f8 06             	cmp    $0x6,%eax
7b4e4c:	0f 84 3a 0d 00 00    	je     0x7b5b8c
7b4e52:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
7b4e56:	74 18                	je     0x7b4e70
7b4e58:	8b ce                	mov    %esi,%ecx
7b4e5a:	c7 07 1a 00 00 00    	movl   $0x1a,(%edi)
7b4e60:	83 e1 07             	and    $0x7,%ecx
7b4e63:	d3 ea                	shr    %cl,%edx
7b4e65:	2b f1                	sub    %ecx,%esi
7b4e67:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4e6b:	e9 7b 01 00 00       	jmp    0x7b4feb
7b4e70:	83 fe 03             	cmp    $0x3,%esi
7b4e73:	73 23                	jae    0x7b4e98
7b4e75:	85 ed                	test   %ebp,%ebp
7b4e77:	0f 84 54 fd ff ff    	je     0x7b4bd1
7b4e7d:	0f b6 03             	movzbl (%ebx),%eax
7b4e80:	8b ce                	mov    %esi,%ecx
7b4e82:	d3 e0                	shl    %cl,%eax
7b4e84:	43                   	inc    %ebx
7b4e85:	03 d0                	add    %eax,%edx
7b4e87:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4e8b:	83 c6 08             	add    $0x8,%esi
7b4e8e:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4e92:	4d                   	dec    %ebp
7b4e93:	83 fe 03             	cmp    $0x3,%esi
7b4e96:	72 dd                	jb     0x7b4e75
7b4e98:	8b c2                	mov    %edx,%eax
7b4e9a:	d1 ea                	shr    $1,%edx
7b4e9c:	83 e0 01             	and    $0x1,%eax
7b4e9f:	89 47 04             	mov    %eax,0x4(%edi)
7b4ea2:	8b c2                	mov    %edx,%eax
7b4ea4:	83 e0 03             	and    $0x3,%eax
7b4ea7:	ff 24 85 f0 5c 7b 00 	jmp    *0x7b5cf0(,%eax,4)
7b4eae:	c7 07 0d 00 00 00    	movl   $0xd,(%edi)
7b4eb4:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4eb8:	c1 ea 02             	shr    $0x2,%edx
7b4ebb:	83 ee 03             	sub    $0x3,%esi
7b4ebe:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4ec2:	e9 28 01 00 00       	jmp    0x7b4fef
7b4ec7:	57                   	push   %edi
7b4ec8:	e8 73 f7 ff ff       	call   0x7b4640
7b4ecd:	83 c4 04             	add    $0x4,%esp
7b4ed0:	c7 07 13 00 00 00    	movl   $0x13,(%edi)
7b4ed6:	83 7c 24 4c 06       	cmpl   $0x6,0x4c(%esp)
7b4edb:	75 d7                	jne    0x7b4eb4
7b4edd:	c1 ea 02             	shr    $0x2,%edx
7b4ee0:	83 ee 03             	sub    $0x3,%esi
7b4ee3:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4ee7:	e9 e5 fc ff ff       	jmp    0x7b4bd1
7b4eec:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4ef0:	c1 ea 02             	shr    $0x2,%edx
7b4ef3:	83 ee 03             	sub    $0x3,%esi
7b4ef6:	c7 07 10 00 00 00    	movl   $0x10,(%edi)
7b4efc:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4f00:	e9 ea 00 00 00       	jmp    0x7b4fef
7b4f05:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4f09:	c1 ea 02             	shr    $0x2,%edx
7b4f0c:	83 ee 03             	sub    $0x3,%esi
7b4f0f:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4f13:	c7 41 18 e4 86 c2 00 	movl   $0xc286e4,0x18(%ecx)
7b4f1a:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b4f20:	e9 ca 00 00 00       	jmp    0x7b4fef
7b4f25:	8b ce                	mov    %esi,%ecx
7b4f27:	83 e1 07             	and    $0x7,%ecx
7b4f2a:	d3 ea                	shr    %cl,%edx
7b4f2c:	2b f1                	sub    %ecx,%esi
7b4f2e:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4f32:	83 fe 20             	cmp    $0x20,%esi
7b4f35:	73 23                	jae    0x7b4f5a
7b4f37:	85 ed                	test   %ebp,%ebp
7b4f39:	0f 84 92 fc ff ff    	je     0x7b4bd1
7b4f3f:	0f b6 03             	movzbl (%ebx),%eax
7b4f42:	8b ce                	mov    %esi,%ecx
7b4f44:	d3 e0                	shl    %cl,%eax
7b4f46:	43                   	inc    %ebx
7b4f47:	03 d0                	add    %eax,%edx
7b4f49:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4f4d:	83 c6 08             	add    $0x8,%esi
7b4f50:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4f54:	4d                   	dec    %ebp
7b4f55:	83 fe 20             	cmp    $0x20,%esi
7b4f58:	72 dd                	jb     0x7b4f37
7b4f5a:	8b c2                	mov    %edx,%eax
7b4f5c:	0f b7 ca             	movzwl %dx,%ecx
7b4f5f:	f7 d0                	not    %eax
7b4f61:	c1 e8 10             	shr    $0x10,%eax
7b4f64:	3b c8                	cmp    %eax,%ecx
7b4f66:	74 13                	je     0x7b4f7b
7b4f68:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4f6c:	c7 41 18 fc 86 c2 00 	movl   $0xc286fc,0x18(%ecx)
7b4f73:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b4f79:	eb 74                	jmp    0x7b4fef
7b4f7b:	33 d2                	xor    %edx,%edx
7b4f7d:	89 4f 40             	mov    %ecx,0x40(%edi)
7b4f80:	33 f6                	xor    %esi,%esi
7b4f82:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4f86:	83 7c 24 4c 06       	cmpl   $0x6,0x4c(%esp)
7b4f8b:	c7 07 0e 00 00 00    	movl   $0xe,(%edi)
7b4f91:	0f 84 ee 0b 00 00    	je     0x7b5b85
7b4f97:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4f9b:	c7 07 0f 00 00 00    	movl   $0xf,(%edi)
7b4fa1:	8b 47 40             	mov    0x40(%edi),%eax
7b4fa4:	85 c0                	test   %eax,%eax
7b4fa6:	74 5f                	je     0x7b5007
7b4fa8:	3b c5                	cmp    %ebp,%eax
7b4faa:	0f 47 c5             	cmova  %ebp,%eax
7b4fad:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
7b4fb1:	0f 47 44 24 1c       	cmova  0x1c(%esp),%eax
7b4fb6:	89 44 24 34          	mov    %eax,0x34(%esp)
7b4fba:	85 c0                	test   %eax,%eax
7b4fbc:	0f 84 0f fc ff ff    	je     0x7b4bd1