529b0f:	8b 54 24 20          	mov    0x20(%esp),%edx
529b13:	89 4a 0c             	mov    %ecx,0xc(%edx)
529b16:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b1a:	8b 51 14             	mov    0x14(%ecx),%edx
529b1d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b21:	89 51 08             	mov    %edx,0x8(%ecx)
529b24:	8b 54 24 20          	mov    0x20(%esp),%edx
529b28:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
529b2e:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b32:	8b 51 0c             	mov    0xc(%ecx),%edx
529b35:	89 54 24 04          	mov    %edx,0x4(%esp)
529b39:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529b3d:	73 5a                	jae    0x529b99
529b3f:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
529b44:	74 07                	je     0x529b4d
529b46:	33 c9                	xor    %ecx,%ecx
529b48:	89 0c 24             	mov    %ecx,(%esp)
529b4b:	eb 2e                	jmp    0x529b7b
529b4d:	8b 54 24 10          	mov    0x10(%esp),%edx
529b51:	89 53 20             	mov    %edx,0x20(%ebx)
529b54:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529b57:	8b 4c 24 14          	mov    0x14(%esp),%ecx
529b5b:	89 4e 04             	mov    %ecx,0x4(%esi)
529b5e:	8b d7                	mov    %edi,%edx
529b60:	2b 16                	sub    (%esi),%edx
529b62:	01 56 08             	add    %edx,0x8(%esi)
529b65:	89 3e                	mov    %edi,(%esi)
529b67:	89 43 34             	mov    %eax,0x34(%ebx)
529b6a:	8b 0c 24             	mov    (%esp),%ecx
529b6d:	8b d6                	mov    %esi,%edx
529b6f:	8b c3                	mov    %ebx,%eax
529b71:	e8 0a 07 00 00       	call   0x52a280
529b76:	e9 f0 06 00 00       	jmp    0x52a26b
529b7b:	ff 4c 24 14          	decl   0x14(%esp)
529b7f:	8b cd                	mov    %ebp,%ecx
529b81:	8a 17                	mov    (%edi),%dl
529b83:	47                   	inc    %edi
529b84:	81 e2 ff 00 00 00    	and    $0xff,%edx
529b8a:	83 c5 08             	add    $0x8,%ebp
529b8d:	d3 e2                	shl    %cl,%edx
529b8f:	09 54 24 10          	or     %edx,0x10(%esp)
529b93:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529b97:	72 a6                	jb     0x529b3f
529b99:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b9d:	8b 51 08             	mov    0x8(%ecx),%edx
529ba0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529ba4:	8b 0c 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%ecx
529bab:	23 4c 24 10          	and    0x10(%esp),%ecx
529baf:	c1 e1 03             	shl    $0x3,%ecx
529bb2:	03 d1                	add    %ecx,%edx
529bb4:	89 54 24 08          	mov    %edx,0x8(%esp)
529bb8:	8b 54 24 08          	mov    0x8(%esp),%edx
529bbc:	8a 52 01             	mov    0x1(%edx),%dl
529bbf:	8b ca                	mov    %edx,%ecx
529bc1:	81 e2 ff 00 00 00    	and    $0xff,%edx
529bc7:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
529bcb:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529bcf:	2b ea                	sub    %edx,%ebp
529bd1:	33 d2                	xor    %edx,%edx
529bd3:	8a 11                	mov    (%ecx),%dl
529bd5:	89 54 24 0c          	mov    %edx,0xc(%esp)
529bd9:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
529bde:	75 1d                	jne    0x529bfd
529be0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529be4:	8b 51 04             	mov    0x4(%ecx),%edx
529be7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529beb:	89 51 08             	mov    %edx,0x8(%ecx)
529bee:	8b 54 24 20          	mov    0x20(%esp),%edx
529bf2:	c7 02 06 00 00 00    	movl   $0x6,(%edx)
529bf8:	e9 1c fe ff ff       	jmp    0x529a19
529bfd:	f6 44 24 0c 10       	testb  $0x10,0xc(%esp)
529c02:	74 2b                	je     0x529c2f
529c04:	8b 54 24 20          	mov    0x20(%esp),%edx
529c08:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
529c0c:	83 e1 0f             	and    $0xf,%ecx
529c0f:	89 4a 08             	mov    %ecx,0x8(%edx)
529c12:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529c16:	8b 51 04             	mov    0x4(%ecx),%edx
529c19:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c1d:	89 51 04             	mov    %edx,0x4(%ecx)
529c20:	8b 54 24 20          	mov    0x20(%esp),%edx
529c24:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
529c2a:	e9 ea fd ff ff       	jmp    0x529a19
529c2f:	f6 44 24 0c 40       	testb  $0x40,0xc(%esp)
529c34:	75 25                	jne    0x529c5b
529c36:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c3a:	8b 54 24 0c          	mov    0xc(%esp),%edx
529c3e:	89 51 0c             	mov    %edx,0xc(%ecx)
529c41:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529c45:	8b 51 04             	mov    0x4(%ecx),%edx
529c48:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c4c:	c1 e2 03             	shl    $0x3,%edx
529c4f:	03 54 24 08          	add    0x8(%esp),%edx
529c53:	89 51 08             	mov    %edx,0x8(%ecx)
529c56:	e9 be fd ff ff       	jmp    0x529a19
529c5b:	f6 44 24 0c 20       	testb  $0x20,0xc(%esp)
529c60:	74 0f                	je     0x529c71
529c62:	8b 54 24 20          	mov    0x20(%esp),%edx
529c66:	c7 02 07 00 00 00    	movl   $0x7,(%edx)
529c6c:	e9 a8 fd ff ff       	jmp    0x529a19
529c71:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c75:	c7 01 09 00 00 00    	movl   $0x9,(%ecx)
529c7b:	c7 46 18 90 91 69 00 	movl   $0x699190,0x18(%esi)
529c82:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
529c89:	8b 54 24 10          	mov    0x10(%esp),%edx
529c8d:	89 53 20             	mov    %edx,0x20(%ebx)
529c90:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529c93:	8b 4c 24 14          	mov    0x14(%esp),%ecx
529c97:	89 4e 04             	mov    %ecx,0x4(%esi)
529c9a:	8b d7                	mov    %edi,%edx
529c9c:	2b 16                	sub    (%esi),%edx
529c9e:	01 56 08             	add    %edx,0x8(%esi)
529ca1:	89 3e                	mov    %edi,(%esi)
529ca3:	89 43 34             	mov    %eax,0x34(%ebx)
529ca6:	8b 0c 24             	mov    (%esp),%ecx
529ca9:	8b d6                	mov    %esi,%edx
529cab:	8b c3                	mov    %ebx,%eax
529cad:	e8 ce 05 00 00       	call   0x52a280
529cb2:	e9 b4 05 00 00       	jmp    0x52a26b
529cb7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529cbb:	8b 51 08             	mov    0x8(%ecx),%edx
529cbe:	89 54 24 04          	mov    %edx,0x4(%esp)
529cc2:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529cc6:	73 5a                	jae    0x529d22
529cc8:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
529ccd:	74 07                	je     0x529cd6
529ccf:	33 c9                	xor    %ecx,%ecx
529cd1:	89 0c 24             	mov    %ecx,(%esp)
529cd4:	eb 2e                	jmp    0x529d04
529cd6:	8b 54 24 10          	mov    0x10(%esp),%edx
529cda:	89 53 20             	mov    %edx,0x20(%ebx)
529cdd:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529ce0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
529ce4:	89 4e 04             	mov    %ecx,0x4(%esi)
529ce7:	8b d7                	mov    %edi,%edx
529ce9:	2b 16                	sub    (%esi),%edx
529ceb:	01 56 08             	add    %edx,0x8(%esi)
529cee:	89 3e                	mov    %edi,(%esi)
529cf0:	89 43 34             	mov    %eax,0x34(%ebx)
529cf3:	8b 0c 24             	mov    (%esp),%ecx
529cf6:	8b d6                	mov    %esi,%edx
529cf8:	8b c3                	mov    %ebx,%eax
529cfa:	e8 81 05 00 00       	call   0x52a280
529cff:	e9 67 05 00 00       	jmp    0x52a26b
529d04:	ff 4c 24 14          	decl   0x14(%esp)
529d08:	8b cd                	mov    %ebp,%ecx
529d0a:	8a 17                	mov    (%edi),%dl
529d0c:	47                   	inc    %edi
529d0d:	81 e2 ff 00 00 00    	and    $0xff,%edx
529d13:	83 c5 08             	add    $0x8,%ebp
529d16:	d3 e2                	shl    %cl,%edx
529d18:	09 54 24 10          	or     %edx,0x10(%esp)
529d1c:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529d20:	72 a6                	jb     0x529cc8
529d22:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529d26:	8b 14 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%edx
529d2d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529d31:	23 54 24 10          	and    0x10(%esp),%edx
529d35:	01 51 04             	add    %edx,0x4(%ecx)
529d38:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529d3c:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
529d40:	8b 54 24 20          	mov    0x20(%esp),%edx
529d44:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529d48:	2b 6c 24 04          	sub    0x4(%esp),%ebp
529d4c:	0f b6 52 11          	movzbl 0x11(%edx),%edx
529d50:	89 51 0c             	mov    %edx,0xc(%ecx)
529d53:	8b 54 24 20          	mov    0x20(%esp),%edx
529d57:	8b 4a 18             	mov    0x18(%edx),%ecx
529d5a:	8b 54 24 20          	mov    0x20(%esp),%edx
529d5e:	89 4a 08             	mov    %ecx,0x8(%edx)
529d61:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529d65:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
529d6b:	8b 54 24 20          	mov    0x20(%esp),%edx
529d6f:	8b 4a 0c             	mov    0xc(%edx),%ecx
529d72:	89 4c 24 04          	mov    %ecx,0x4(%esp)
529d76:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529d7a:	73 5a                	jae    0x529dd6
529d7c:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
529d81:	74 07                	je     0x529d8a
529d83:	33 d2                	xor    %edx,%edx
529d85:	89 14 24             	mov    %edx,(%esp)
529d88:	eb 2e                	jmp    0x529db8
529d8a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
529d8e:	89 4b 20             	mov    %ecx,0x20(%ebx)
529d91:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529d94:	8b 54 24 14          	mov    0x14(%esp),%edx
529d98:	8b cf                	mov    %edi,%ecx
529d9a:	89 56 04             	mov    %edx,0x4(%esi)
529d9d:	8b d6                	mov    %esi,%edx
529d9f:	2b 0e                	sub    (%esi),%ecx
529da1:	01 4e 08             	add    %ecx,0x8(%esi)
529da4:	89 3e                	mov    %edi,(%esi)
529da6:	89 43 34             	mov    %eax,0x34(%ebx)
529da9:	8b c3                	mov    %ebx,%eax
529dab:	8b 0c 24             	mov    (%esp),%ecx
529dae:	e8 cd 04 00 00       	call   0x52a280
529db3:	e9 b3 04 00 00       	jmp    0x52a26b
529db8:	ff 4c 24 14          	decl   0x14(%esp)
529dbc:	8b cd                	mov    %ebp,%ecx
529dbe:	8a 17                	mov    (%edi),%dl
529dc0:	47                   	inc    %edi
529dc1:	81 e2 ff 00 00 00    	and    $0xff,%edx
529dc7:	83 c5 08             	add    $0x8,%ebp
529dca:	d3 e2                	shl    %cl,%edx
529dcc:	09 54 24 10          	or     %edx,0x10(%esp)
529dd0:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529dd4:	72 a6                	jb     0x529d7c
529dd6:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529dda:	8b 51 08             	mov    0x8(%ecx),%edx
529ddd:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529de1:	8b 0c 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%ecx
529de8:	23 4c 24 10          	and    0x10(%esp),%ecx
529dec:	c1 e1 03             	shl    $0x3,%ecx
529def:	03 d1                	add    %ecx,%edx
529df1:	89 54 24 08          	mov    %edx,0x8(%esp)
529df5:	8b 54 24 08          	mov    0x8(%esp),%edx
529df9:	8a 52 01             	mov    0x1(%edx),%dl
529dfc:	8b ca                	mov    %edx,%ecx
529dfe:	81 e2 ff 00 00 00    	and    $0xff,%edx
529e04:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
529e08:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529e0c:	2b ea                	sub    %edx,%ebp
529e0e:	33 d2                	xor    %edx,%edx
529e10:	8a 11                	mov    (%ecx),%dl
529e12:	89 54 24 0c          	mov    %edx,0xc(%esp)
529e16:	f6 44 24 0c 10       	testb  $0x10,0xc(%esp)
529e1b:	74 2b                	je     0x529e48
529e1d:	8b 54 24 20          	mov    0x20(%esp),%edx
529e21:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
529e25:	83 e1 0f             	and    $0xf,%ecx
529e28:	89 4a 08             	mov    %ecx,0x8(%edx)
529e2b:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529e2f:	8b 51 04             	mov    0x4(%ecx),%edx
529e32:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529e36:	89 51 0c             	mov    %edx,0xc(%ecx)
529e39:	8b 54 24 20          	mov    0x20(%esp),%edx
529e3d:	c7 02 04 00 00 00    	movl   $0x4,(%edx)
529e43:	e9 d1 fb ff ff       	jmp    0x529a19
529e48:	f6 44 24 0c 40       	testb  $0x40,0xc(%esp)
529e4d:	75 25                	jne    0x529e74
529e4f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529e53:	8b 54 24 0c          	mov    0xc(%esp),%edx
529e57:	89 51 0c             	mov    %edx,0xc(%ecx)
529e5a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529e5e:	8b 51 04             	mov    0x4(%ecx),%edx
529e61:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529e65:	c1 e2 03             	shl    $0x3,%edx
529e68:	03 54 24 08          	add    0x8(%esp),%edx
529e6c:	89 51 08             	mov    %edx,0x8(%ecx)
529e6f:	e9 a5 fb ff ff       	jmp    0x529a19
529e74:	8b 54 24 20          	mov    0x20(%esp),%edx
529e78:	c7 02 09 00 00 00    	movl   $0x9,(%edx)
529e7e:	c7 46 18 ac 91 69 00 	movl   $0x6991ac,0x18(%esi)
529e85:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
529e8c:	8b 4c 24 10          	mov    0x10(%esp),%ecx
529e90:	89 4b 20             	mov    %ecx,0x20(%ebx)
529e93:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529e96:	8b 54 24 14          	mov    0x14(%esp),%edx
529e9a:	8b cf                	mov    %edi,%ecx
529e9c:	89 56 04             	mov    %edx,0x4(%esi)
529e9f:	8b d6                	mov    %esi,%edx
529ea1:	2b 0e                	sub    (%esi),%ecx
529ea3:	01 4e 08             	add    %ecx,0x8(%esi)
529ea6:	89 3e                	mov    %edi,(%esi)
529ea8:	89 43 34             	mov    %eax,0x34(%ebx)
529eab:	8b c3                	mov    %ebx,%eax
529ead:	8b 0c 24             	mov    (%esp),%ecx
529eb0:	e8 cb 03 00 00       	call   0x52a280
529eb5:	e9 b1 03 00 00       	jmp    0x52a26b
529eba:	8b 54 24 20          	mov    0x20(%esp),%edx
529ebe:	8b 4a 08             	mov    0x8(%edx),%ecx
529ec1:	89 4c 24 04          	mov    %ecx,0x4(%esp)
529ec5:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529ec9:	73 5a                	jae    0x529f25
529ecb:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
529ed0:	74 07                	je     0x529ed9
529ed2:	33 d2                	xor    %edx,%edx
529ed4:	89 14 24             	mov    %edx,(%esp)
529ed7:	eb 2e                	jmp    0x529f07
529ed9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
529edd:	89 4b 20             	mov    %ecx,0x20(%ebx)
529ee0:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529ee3:	8b 54 24 14          	mov    0x14(%esp),%edx
529ee7:	8b cf                	mov    %edi,%ecx
529ee9:	89 56 04             	mov    %edx,0x4(%esi)
529eec:	8b d6                	mov    %esi,%edx
529eee:	2b 0e                	sub    (%esi),%ecx
529ef0:	01 4e 08             	add    %ecx,0x8(%esi)
529ef3:	89 3e                	mov    %edi,(%esi)
529ef5:	89 43 34             	mov    %eax,0x34(%ebx)
529ef8:	8b c3                	mov    %ebx,%eax
529efa:	8b 0c 24             	mov    (%esp),%ecx
529efd:	e8 7e 03 00 00       	call   0x52a280
529f02:	e9 64 03 00 00       	jmp    0x52a26b
529f07:	ff 4c 24 14          	decl   0x14(%esp)
529f0b:	8b cd                	mov    %ebp,%ecx
529f0d:	8a 17                	mov    (%edi),%dl
529f0f:	47                   	inc    %edi
529f10:	81 e2 ff 00 00 00    	and    $0xff,%edx
529f16:	83 c5 08             	add    $0x8,%ebp
529f19:	d3 e2                	shl    %cl,%edx
529f1b:	09 54 24 10          	or     %edx,0x10(%esp)
529f1f:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529f23:	72 a6                	jb     0x529ecb
529f25:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529f29:	8b 14 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%edx
529f30:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529f34:	23 54 24 10          	and    0x10(%esp),%edx
529f38:	01 51 0c             	add    %edx,0xc(%ecx)
529f3b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529f3f:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
529f43:	8b 54 24 20          	mov    0x20(%esp),%edx
529f47:	2b 6c 24 04          	sub    0x4(%esp),%ebp
529f4b:	c7 02 05 00 00 00    	movl   $0x5,(%edx)
529f51:	8b 54 24 20          	mov    0x20(%esp),%edx
529f55:	8b c8                	mov    %eax,%ecx
529f57:	2b 4a 0c             	sub    0xc(%edx),%ecx
529f5a:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
529f5e:	eb 09                	jmp    0x529f69
529f60:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
529f63:	2b ca                	sub    %edx,%ecx
529f65:	01 4c 24 1c          	add    %ecx,0x1c(%esp)
529f69:	8b 53 28             	mov    0x28(%ebx),%edx
529f6c:	3b 54 24 1c          	cmp    0x1c(%esp),%edx
529f70:	77 ee                	ja     0x529f60
529f72:	e9 ef 00 00 00       	jmp    0x52a066
529f77:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
529f7c:	0f 85 b7 00 00 00    	jne    0x52a039
529f82:	3b 43 2c             	cmp    0x2c(%ebx),%eax
529f85:	75 21                	jne    0x529fa8
529f87:	8b 53 30             	mov    0x30(%ebx),%edx
529f8a:	3b 53 28             	cmp    0x28(%ebx),%edx
529f8d:	74 19                	je     0x529fa8
529f8f:	8b 43 28             	mov    0x28(%ebx),%eax
529f92:	3b 43 30             	cmp    0x30(%ebx),%eax
529f95:	73 08                	jae    0x529f9f
529f97:	8b 4b 30             	mov    0x30(%ebx),%ecx
529f9a:	2b c8                	sub    %eax,%ecx
529f9c:	49                   	dec    %ecx
529f9d:	eb 05                	jmp    0x529fa4
529f9f:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
529fa2:	2b c8                	sub    %eax,%ecx
529fa4:	89 4c 24 18          	mov    %ecx,0x18(%esp)
529fa8:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
529fad:	0f 85 86 00 00 00    	jne    0x52a039
529fb3:	89 43 34             	mov    %eax,0x34(%ebx)
529fb6:	8b 0c 24             	mov    (%esp),%ecx
529fb9:	8b d6                	mov    %esi,%edx
529fbb:	8b c3                	mov    %ebx,%eax
529fbd:	e8 be 02 00 00       	call   0x52a280