647c07:	50                   	push   %eax
647c08:	8b 44 24 20          	mov    0x20(%esp),%eax
647c0c:	8b 54 24 24          	mov    0x24(%esp),%edx
647c10:	0f a4 c2 17          	shld   $0x17,%eax,%edx
647c14:	c1 e0 17             	shl    $0x17,%eax
647c17:	0b 04 24             	or     (%esp),%eax
647c1a:	0b 54 24 04          	or     0x4(%esp),%edx
647c1e:	83 c4 08             	add    $0x8,%esp
647c21:	33 04 24             	xor    (%esp),%eax
647c24:	33 54 24 04          	xor    0x4(%esp),%edx
647c28:	83 c4 08             	add    $0x8,%esp
647c2b:	03 44 24 28          	add    0x28(%esp),%eax
647c2f:	13 54 24 2c          	adc    0x2c(%esp),%edx
647c33:	52                   	push   %edx
647c34:	50                   	push   %eax
647c35:	8b 44 24 18          	mov    0x18(%esp),%eax
647c39:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647c3d:	23 44 24 20          	and    0x20(%esp),%eax
647c41:	23 54 24 24          	and    0x24(%esp),%edx
647c45:	52                   	push   %edx
647c46:	50                   	push   %eax
647c47:	8b 44 24 20          	mov    0x20(%esp),%eax
647c4b:	8b 54 24 24          	mov    0x24(%esp),%edx
647c4f:	f7 d0                	not    %eax
647c51:	f7 d2                	not    %edx
647c53:	23 44 24 30          	and    0x30(%esp),%eax
647c57:	23 54 24 34          	and    0x34(%esp),%edx
647c5b:	33 04 24             	xor    (%esp),%eax
647c5e:	33 54 24 04          	xor    0x4(%esp),%edx
647c62:	83 c4 08             	add    $0x8,%esp
647c65:	03 04 24             	add    (%esp),%eax
647c68:	13 54 24 04          	adc    0x4(%esp),%edx
647c6c:	83 c4 08             	add    $0x8,%esp
647c6f:	05 1e eb e0 cd       	add    $0xcde0eb1e,%eax
647c74:	81 d2 d6 7d da ea    	adc    $0xeada7dd6,%edx
647c7a:	03 84 24 60 02 00 00 	add    0x260(%esp),%eax
647c81:	13 94 24 64 02 00 00 	adc    0x264(%esp),%edx
647c88:	89 44 24 40          	mov    %eax,0x40(%esp)
647c8c:	89 54 24 44          	mov    %edx,0x44(%esp)
647c90:	8b 44 24 30          	mov    0x30(%esp),%eax
647c94:	8b 54 24 34          	mov    0x34(%esp),%edx
647c98:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
647c9c:	c1 ea 1c             	shr    $0x1c,%edx
647c9f:	52                   	push   %edx
647ca0:	50                   	push   %eax
647ca1:	8b 54 24 38          	mov    0x38(%esp),%edx
647ca5:	c1 e2 04             	shl    $0x4,%edx
647ca8:	33 c0                	xor    %eax,%eax
647caa:	0b 04 24             	or     (%esp),%eax
647cad:	0b 54 24 04          	or     0x4(%esp),%edx
647cb1:	83 c4 08             	add    $0x8,%esp
647cb4:	52                   	push   %edx
647cb5:	50                   	push   %eax
647cb6:	8b 44 24 3c          	mov    0x3c(%esp),%eax
647cba:	c1 e8 02             	shr    $0x2,%eax
647cbd:	33 d2                	xor    %edx,%edx
647cbf:	52                   	push   %edx
647cc0:	50                   	push   %eax
647cc1:	8b 44 24 40          	mov    0x40(%esp),%eax
647cc5:	8b 54 24 44          	mov    0x44(%esp),%edx
647cc9:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
647ccd:	c1 e0 1e             	shl    $0x1e,%eax
647cd0:	0b 04 24             	or     (%esp),%eax
647cd3:	0b 54 24 04          	or     0x4(%esp),%edx
647cd7:	83 c4 08             	add    $0x8,%esp
647cda:	33 04 24             	xor    (%esp),%eax
647cdd:	33 54 24 04          	xor    0x4(%esp),%edx
647ce1:	83 c4 08             	add    $0x8,%esp
647ce4:	52                   	push   %edx
647ce5:	50                   	push   %eax
647ce6:	8b 44 24 3c          	mov    0x3c(%esp),%eax
647cea:	c1 e8 07             	shr    $0x7,%eax
647ced:	33 d2                	xor    %edx,%edx
647cef:	52                   	push   %edx
647cf0:	50                   	push   %eax
647cf1:	8b 44 24 40          	mov    0x40(%esp),%eax
647cf5:	8b 54 24 44          	mov    0x44(%esp),%edx
647cf9:	0f a4 c2 19          	shld   $0x19,%eax,%edx
647cfd:	c1 e0 19             	shl    $0x19,%eax
647d00:	0b 04 24             	or     (%esp),%eax
647d03:	0b 54 24 04          	or     0x4(%esp),%edx
647d07:	83 c4 08             	add    $0x8,%esp
647d0a:	33 04 24             	xor    (%esp),%eax
647d0d:	33 54 24 04          	xor    0x4(%esp),%edx
647d11:	83 c4 08             	add    $0x8,%esp
647d14:	52                   	push   %edx
647d15:	50                   	push   %eax
647d16:	8b 44 24 38          	mov    0x38(%esp),%eax
647d1a:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647d1e:	23 44 24 40          	and    0x40(%esp),%eax
647d22:	23 54 24 44          	and    0x44(%esp),%edx
647d26:	52                   	push   %edx
647d27:	50                   	push   %eax
647d28:	8b 44 24 40          	mov    0x40(%esp),%eax
647d2c:	8b 54 24 44          	mov    0x44(%esp),%edx
647d30:	23 44 24 10          	and    0x10(%esp),%eax
647d34:	23 54 24 14          	and    0x14(%esp),%edx
647d38:	33 04 24             	xor    (%esp),%eax
647d3b:	33 54 24 04          	xor    0x4(%esp),%edx
647d3f:	83 c4 08             	add    $0x8,%esp
647d42:	52                   	push   %edx
647d43:	50                   	push   %eax
647d44:	8b 44 24 48          	mov    0x48(%esp),%eax
647d48:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647d4c:	23 44 24 10          	and    0x10(%esp),%eax
647d50:	23 54 24 14          	and    0x14(%esp),%edx
647d54:	33 04 24             	xor    (%esp),%eax
647d57:	33 54 24 04          	xor    0x4(%esp),%edx
647d5b:	83 c4 08             	add    $0x8,%esp
647d5e:	03 04 24             	add    (%esp),%eax
647d61:	13 54 24 04          	adc    0x4(%esp),%edx
647d65:	83 c4 08             	add    $0x8,%esp
647d68:	89 44 24 48          	mov    %eax,0x48(%esp)
647d6c:	89 54 24 4c          	mov    %edx,0x4c(%esp)
647d70:	8b 44 24 08          	mov    0x8(%esp),%eax
647d74:	8b 54 24 0c          	mov    0xc(%esp),%edx
647d78:	03 44 24 40          	add    0x40(%esp),%eax
647d7c:	13 54 24 44          	adc    0x44(%esp),%edx
647d80:	89 44 24 08          	mov    %eax,0x8(%esp)
647d84:	89 54 24 0c          	mov    %edx,0xc(%esp)
647d88:	8b 44 24 40          	mov    0x40(%esp),%eax
647d8c:	8b 54 24 44          	mov    0x44(%esp),%edx
647d90:	03 44 24 48          	add    0x48(%esp),%eax
647d94:	13 54 24 4c          	adc    0x4c(%esp),%edx
647d98:	89 44 24 28          	mov    %eax,0x28(%esp)
647d9c:	89 54 24 2c          	mov    %edx,0x2c(%esp)
647da0:	8b 44 24 08          	mov    0x8(%esp),%eax
647da4:	8b 54 24 0c          	mov    0xc(%esp),%edx
647da8:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
647dac:	c1 ea 0e             	shr    $0xe,%edx
647daf:	52                   	push   %edx
647db0:	50                   	push   %eax
647db1:	8b 54 24 10          	mov    0x10(%esp),%edx
647db5:	c1 e2 12             	shl    $0x12,%edx
647db8:	33 c0                	xor    %eax,%eax
647dba:	0b 04 24             	or     (%esp),%eax
647dbd:	0b 54 24 04          	or     0x4(%esp),%edx
647dc1:	83 c4 08             	add    $0x8,%esp
647dc4:	52                   	push   %edx
647dc5:	50                   	push   %eax
647dc6:	8b 44 24 10          	mov    0x10(%esp),%eax
647dca:	8b 54 24 14          	mov    0x14(%esp),%edx
647dce:	0f ac d0 12          	shrd   $0x12,%edx,%eax
647dd2:	c1 ea 12             	shr    $0x12,%edx
647dd5:	52                   	push   %edx
647dd6:	50                   	push   %eax
647dd7:	8b 54 24 18          	mov    0x18(%esp),%edx
647ddb:	c1 e2 0e             	shl    $0xe,%edx
647dde:	33 c0                	xor    %eax,%eax
647de0:	0b 04 24             	or     (%esp),%eax
647de3:	0b 54 24 04          	or     0x4(%esp),%edx
647de7:	83 c4 08             	add    $0x8,%esp
647dea:	33 04 24             	xor    (%esp),%eax
647ded:	33 54 24 04          	xor    0x4(%esp),%edx
647df1:	83 c4 08             	add    $0x8,%esp
647df4:	52                   	push   %edx
647df5:	50                   	push   %eax
647df6:	8b 44 24 14          	mov    0x14(%esp),%eax
647dfa:	c1 e8 09             	shr    $0x9,%eax
647dfd:	33 d2                	xor    %edx,%edx
647dff:	52                   	push   %edx
647e00:	50                   	push   %eax
647e01:	8b 44 24 18          	mov    0x18(%esp),%eax
647e05:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647e09:	0f a4 c2 17          	shld   $0x17,%eax,%edx
647e0d:	c1 e0 17             	shl    $0x17,%eax
647e10:	0b 04 24             	or     (%esp),%eax
647e13:	0b 54 24 04          	or     0x4(%esp),%edx
647e17:	83 c4 08             	add    $0x8,%esp
647e1a:	33 04 24             	xor    (%esp),%eax
647e1d:	33 54 24 04          	xor    0x4(%esp),%edx
647e21:	83 c4 08             	add    $0x8,%esp
647e24:	03 44 24 20          	add    0x20(%esp),%eax
647e28:	13 54 24 24          	adc    0x24(%esp),%edx
647e2c:	52                   	push   %edx
647e2d:	50                   	push   %eax
647e2e:	8b 44 24 10          	mov    0x10(%esp),%eax
647e32:	8b 54 24 14          	mov    0x14(%esp),%edx
647e36:	23 44 24 18          	and    0x18(%esp),%eax
647e3a:	23 54 24 1c          	and    0x1c(%esp),%edx
647e3e:	52                   	push   %edx
647e3f:	50                   	push   %eax
647e40:	8b 44 24 18          	mov    0x18(%esp),%eax
647e44:	8b 54 24 1c          	mov    0x1c(%esp),%edx
647e48:	f7 d0                	not    %eax
647e4a:	f7 d2                	not    %edx
647e4c:	23 44 24 28          	and    0x28(%esp),%eax
647e50:	23 54 24 2c          	and    0x2c(%esp),%edx
647e54:	33 04 24             	xor    (%esp),%eax
647e57:	33 54 24 04          	xor    0x4(%esp),%edx
647e5b:	83 c4 08             	add    $0x8,%esp
647e5e:	03 04 24             	add    (%esp),%eax
647e61:	13 54 24 04          	adc    0x4(%esp),%edx
647e65:	83 c4 08             	add    $0x8,%esp
647e68:	05 78 d1 6e ee       	add    $0xee6ed178,%eax
647e6d:	81 d2 7f 4f 7d f5    	adc    $0xf57d4f7f,%edx
647e73:	03 84 24 68 02 00 00 	add    0x268(%esp),%eax
647e7a:	13 94 24 6c 02 00 00 	adc    0x26c(%esp),%edx
647e81:	89 44 24 40          	mov    %eax,0x40(%esp)
647e85:	89 54 24 44          	mov    %edx,0x44(%esp)
647e89:	8b 44 24 28          	mov    0x28(%esp),%eax
647e8d:	8b 54 24 2c          	mov    0x2c(%esp),%edx
647e91:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
647e95:	c1 ea 1c             	shr    $0x1c,%edx
647e98:	52                   	push   %edx
647e99:	50                   	push   %eax
647e9a:	8b 54 24 30          	mov    0x30(%esp),%edx
647e9e:	c1 e2 04             	shl    $0x4,%edx
647ea1:	33 c0                	xor    %eax,%eax
647ea3:	0b 04 24             	or     (%esp),%eax
647ea6:	0b 54 24 04          	or     0x4(%esp),%edx
647eaa:	83 c4 08             	add    $0x8,%esp
647ead:	52                   	push   %edx
647eae:	50                   	push   %eax
647eaf:	8b 44 24 34          	mov    0x34(%esp),%eax
647eb3:	c1 e8 02             	shr    $0x2,%eax
647eb6:	33 d2                	xor    %edx,%edx
647eb8:	52                   	push   %edx
647eb9:	50                   	push   %eax
647eba:	8b 44 24 38          	mov    0x38(%esp),%eax
647ebe:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647ec2:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
647ec6:	c1 e0 1e             	shl    $0x1e,%eax
647ec9:	0b 04 24             	or     (%esp),%eax
647ecc:	0b 54 24 04          	or     0x4(%esp),%edx
647ed0:	83 c4 08             	add    $0x8,%esp
647ed3:	33 04 24             	xor    (%esp),%eax
647ed6:	33 54 24 04          	xor    0x4(%esp),%edx
647eda:	83 c4 08             	add    $0x8,%esp
647edd:	52                   	push   %edx
647ede:	50                   	push   %eax
647edf:	8b 44 24 34          	mov    0x34(%esp),%eax
647ee3:	c1 e8 07             	shr    $0x7,%eax
647ee6:	33 d2                	xor    %edx,%edx
647ee8:	52                   	push   %edx
647ee9:	50                   	push   %eax
647eea:	8b 44 24 38          	mov    0x38(%esp),%eax
647eee:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647ef2:	0f a4 c2 19          	shld   $0x19,%eax,%edx
647ef6:	c1 e0 19             	shl    $0x19,%eax
647ef9:	0b 04 24             	or     (%esp),%eax
647efc:	0b 54 24 04          	or     0x4(%esp),%edx
647f00:	83 c4 08             	add    $0x8,%esp
647f03:	33 04 24             	xor    (%esp),%eax
647f06:	33 54 24 04          	xor    0x4(%esp),%edx
647f0a:	83 c4 08             	add    $0x8,%esp
647f0d:	52                   	push   %edx
647f0e:	50                   	push   %eax
647f0f:	8b 44 24 30          	mov    0x30(%esp),%eax
647f13:	8b 54 24 34          	mov    0x34(%esp),%edx
647f17:	23 44 24 38          	and    0x38(%esp),%eax
647f1b:	23 54 24 3c          	and    0x3c(%esp),%edx
647f1f:	52                   	push   %edx
647f20:	50                   	push   %eax
647f21:	8b 44 24 38          	mov    0x38(%esp),%eax
647f25:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647f29:	23 44 24 48          	and    0x48(%esp),%eax
647f2d:	23 54 24 4c          	and    0x4c(%esp),%edx
647f31:	33 04 24             	xor    (%esp),%eax
647f34:	33 54 24 04          	xor    0x4(%esp),%edx
647f38:	83 c4 08             	add    $0x8,%esp
647f3b:	52                   	push   %edx
647f3c:	50                   	push   %eax
647f3d:	8b 44 24 40          	mov    0x40(%esp),%eax
647f41:	8b 54 24 44          	mov    0x44(%esp),%edx
647f45:	23 44 24 48          	and    0x48(%esp),%eax
647f49:	23 54 24 4c          	and    0x4c(%esp),%edx
647f4d:	33 04 24             	xor    (%esp),%eax
647f50:	33 54 24 04          	xor    0x4(%esp),%edx
647f54:	83 c4 08             	add    $0x8,%esp
647f57:	03 04 24             	add    (%esp),%eax
647f5a:	13 54 24 04          	adc    0x4(%esp),%edx
647f5e:	83 c4 08             	add    $0x8,%esp
647f61:	89 44 24 48          	mov    %eax,0x48(%esp)
647f65:	89 54 24 4c          	mov    %edx,0x4c(%esp)
647f69:	8b 04 24             	mov    (%esp),%eax
647f6c:	8b 54 24 04          	mov    0x4(%esp),%edx
647f70:	03 44 24 40          	add    0x40(%esp),%eax
647f74:	13 54 24 44          	adc    0x44(%esp),%edx
647f78:	89 04 24             	mov    %eax,(%esp)
647f7b:	89 54 24 04          	mov    %edx,0x4(%esp)
647f7f:	8b 44 24 40          	mov    0x40(%esp),%eax
647f83:	8b 54 24 44          	mov    0x44(%esp),%edx
647f87:	03 44 24 48          	add    0x48(%esp),%eax
647f8b:	13 54 24 4c          	adc    0x4c(%esp),%edx
647f8f:	89 44 24 20          	mov    %eax,0x20(%esp)
647f93:	89 54 24 24          	mov    %edx,0x24(%esp)
647f97:	8b 04 24             	mov    (%esp),%eax
647f9a:	8b 54 24 04          	mov    0x4(%esp),%edx
647f9e:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
647fa2:	c1 ea 0e             	shr    $0xe,%edx
647fa5:	52                   	push   %edx
647fa6:	50                   	push   %eax
647fa7:	8b 54 24 08          	mov    0x8(%esp),%edx
647fab:	c1 e2 12             	shl    $0x12,%edx
647fae:	33 c0                	xor    %eax,%eax
647fb0:	0b 04 24             	or     (%esp),%eax
647fb3:	0b 54 24 04          	or     0x4(%esp),%edx
647fb7:	83 c4 08             	add    $0x8,%esp
647fba:	52                   	push   %edx
647fbb:	50                   	push   %eax
647fbc:	8b 44 24 08          	mov    0x8(%esp),%eax
647fc0:	8b 54 24 0c          	mov    0xc(%esp),%edx
647fc4:	0f ac d0 12          	shrd   $0x12,%edx,%eax
647fc8:	c1 ea 12             	shr    $0x12,%edx
647fcb:	52                   	push   %edx
647fcc:	50                   	push   %eax
647fcd:	8b 54 24 10          	mov    0x10(%esp),%edx
647fd1:	c1 e2 0e             	shl    $0xe,%edx
647fd4:	33 c0                	xor    %eax,%eax
647fd6:	0b 04 24             	or     (%esp),%eax
647fd9:	0b 54 24 04          	or     0x4(%esp),%edx
647fdd:	83 c4 08             	add    $0x8,%esp
647fe0:	33 04 24             	xor    (%esp),%eax
647fe3:	33 54 24 04          	xor    0x4(%esp),%edx
647fe7:	83 c4 08             	add    $0x8,%esp
647fea:	52                   	push   %edx
647feb:	50                   	push   %eax
647fec:	8b 44 24 0c          	mov    0xc(%esp),%eax
647ff0:	c1 e8 09             	shr    $0x9,%eax
647ff3:	33 d2                	xor    %edx,%edx
647ff5:	52                   	push   %edx
647ff6:	50                   	push   %eax
647ff7:	8b 44 24 10          	mov    0x10(%esp),%eax
647ffb:	8b 54 24 14          	mov    0x14(%esp),%edx
647fff:	0f a4 c2 17          	shld   $0x17,%eax,%edx
648003:	c1 e0 17             	shl    $0x17,%eax
648006:	0b 04 24             	or     (%esp),%eax
648009:	0b 54 24 04          	or     0x4(%esp),%edx
64800d:	83 c4 08             	add    $0x8,%esp
648010:	33 04 24             	xor    (%esp),%eax
648013:	33 54 24 04          	xor    0x4(%esp),%edx
648017:	83 c4 08             	add    $0x8,%esp
64801a:	03 44 24 18          	add    0x18(%esp),%eax
64801e:	13 54 24 1c          	adc    0x1c(%esp),%edx
648022:	52                   	push   %edx
648023:	50                   	push   %eax
648024:	8b 44 24 08          	mov    0x8(%esp),%eax
648028:	8b 54 24 0c          	mov    0xc(%esp),%edx
64802c:	23 44 24 10          	and    0x10(%esp),%eax
648030:	23 54 24 14          	and    0x14(%esp),%edx
648034:	52                   	push   %edx
648035:	50                   	push   %eax
648036:	8b 44 24 10          	mov    0x10(%esp),%eax
64803a:	8b 54 24 14          	mov    0x14(%esp),%edx
64803e:	f7 d0                	not    %eax
648040:	f7 d2                	not    %edx
648042:	23 44 24 20          	and    0x20(%esp),%eax
648046:	23 54 24 24          	and    0x24(%esp),%edx
64804a:	33 04 24             	xor    (%esp),%eax