646af2:	0b 54 24 04          	or     0x4(%esp),%edx
646af6:	83 c4 08             	add    $0x8,%esp
646af9:	52                   	push   %edx
646afa:	50                   	push   %eax
646afb:	8b 44 24 44          	mov    0x44(%esp),%eax
646aff:	c1 e8 02             	shr    $0x2,%eax
646b02:	33 d2                	xor    %edx,%edx
646b04:	52                   	push   %edx
646b05:	50                   	push   %eax
646b06:	8b 44 24 48          	mov    0x48(%esp),%eax
646b0a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
646b0e:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
646b12:	c1 e0 1e             	shl    $0x1e,%eax
646b15:	0b 04 24             	or     (%esp),%eax
646b18:	0b 54 24 04          	or     0x4(%esp),%edx
646b1c:	83 c4 08             	add    $0x8,%esp
646b1f:	33 04 24             	xor    (%esp),%eax
646b22:	33 54 24 04          	xor    0x4(%esp),%edx
646b26:	83 c4 08             	add    $0x8,%esp
646b29:	52                   	push   %edx
646b2a:	50                   	push   %eax
646b2b:	8b 44 24 44          	mov    0x44(%esp),%eax
646b2f:	c1 e8 07             	shr    $0x7,%eax
646b32:	33 d2                	xor    %edx,%edx
646b34:	52                   	push   %edx
646b35:	50                   	push   %eax
646b36:	8b 44 24 48          	mov    0x48(%esp),%eax
646b3a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
646b3e:	0f a4 c2 19          	shld   $0x19,%eax,%edx
646b42:	c1 e0 19             	shl    $0x19,%eax
646b45:	0b 04 24             	or     (%esp),%eax
646b48:	0b 54 24 04          	or     0x4(%esp),%edx
646b4c:	83 c4 08             	add    $0x8,%esp
646b4f:	33 04 24             	xor    (%esp),%eax
646b52:	33 54 24 04          	xor    0x4(%esp),%edx
646b56:	83 c4 08             	add    $0x8,%esp
646b59:	52                   	push   %edx
646b5a:	50                   	push   %eax
646b5b:	8b 44 24 40          	mov    0x40(%esp),%eax
646b5f:	8b 54 24 44          	mov    0x44(%esp),%edx
646b63:	23 44 24 08          	and    0x8(%esp),%eax
646b67:	23 54 24 0c          	and    0xc(%esp),%edx
646b6b:	52                   	push   %edx
646b6c:	50                   	push   %eax
646b6d:	8b 44 24 48          	mov    0x48(%esp),%eax
646b71:	8b 54 24 4c          	mov    0x4c(%esp),%edx
646b75:	23 44 24 18          	and    0x18(%esp),%eax
646b79:	23 54 24 1c          	and    0x1c(%esp),%edx
646b7d:	33 04 24             	xor    (%esp),%eax
646b80:	33 54 24 04          	xor    0x4(%esp),%edx
646b84:	83 c4 08             	add    $0x8,%esp
646b87:	52                   	push   %edx
646b88:	50                   	push   %eax
646b89:	8b 44 24 10          	mov    0x10(%esp),%eax
646b8d:	8b 54 24 14          	mov    0x14(%esp),%edx
646b91:	23 44 24 18          	and    0x18(%esp),%eax
646b95:	23 54 24 1c          	and    0x1c(%esp),%edx
646b99:	33 04 24             	xor    (%esp),%eax
646b9c:	33 54 24 04          	xor    0x4(%esp),%edx
646ba0:	83 c4 08             	add    $0x8,%esp
646ba3:	03 04 24             	add    (%esp),%eax
646ba6:	13 54 24 04          	adc    0x4(%esp),%edx
646baa:	83 c4 08             	add    $0x8,%esp
646bad:	89 44 24 48          	mov    %eax,0x48(%esp)
646bb1:	89 54 24 4c          	mov    %edx,0x4c(%esp)
646bb5:	8b 44 24 10          	mov    0x10(%esp),%eax
646bb9:	8b 54 24 14          	mov    0x14(%esp),%edx
646bbd:	03 44 24 40          	add    0x40(%esp),%eax
646bc1:	13 54 24 44          	adc    0x44(%esp),%edx
646bc5:	89 44 24 10          	mov    %eax,0x10(%esp)
646bc9:	89 54 24 14          	mov    %edx,0x14(%esp)
646bcd:	8b 44 24 40          	mov    0x40(%esp),%eax
646bd1:	8b 54 24 44          	mov    0x44(%esp),%edx
646bd5:	03 44 24 48          	add    0x48(%esp),%eax
646bd9:	13 54 24 4c          	adc    0x4c(%esp),%edx
646bdd:	89 44 24 30          	mov    %eax,0x30(%esp)
646be1:	89 54 24 34          	mov    %edx,0x34(%esp)
646be5:	8b 44 24 10          	mov    0x10(%esp),%eax
646be9:	8b 54 24 14          	mov    0x14(%esp),%edx
646bed:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
646bf1:	c1 ea 0e             	shr    $0xe,%edx
646bf4:	52                   	push   %edx
646bf5:	50                   	push   %eax
646bf6:	8b 54 24 18          	mov    0x18(%esp),%edx
646bfa:	c1 e2 12             	shl    $0x12,%edx
646bfd:	33 c0                	xor    %eax,%eax
646bff:	0b 04 24             	or     (%esp),%eax
646c02:	0b 54 24 04          	or     0x4(%esp),%edx
646c06:	83 c4 08             	add    $0x8,%esp
646c09:	52                   	push   %edx
646c0a:	50                   	push   %eax
646c0b:	8b 44 24 18          	mov    0x18(%esp),%eax
646c0f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
646c13:	0f ac d0 12          	shrd   $0x12,%edx,%eax
646c17:	c1 ea 12             	shr    $0x12,%edx
646c1a:	52                   	push   %edx
646c1b:	50                   	push   %eax
646c1c:	8b 54 24 20          	mov    0x20(%esp),%edx
646c20:	c1 e2 0e             	shl    $0xe,%edx
646c23:	33 c0                	xor    %eax,%eax
646c25:	0b 04 24             	or     (%esp),%eax
646c28:	0b 54 24 04          	or     0x4(%esp),%edx
646c2c:	83 c4 08             	add    $0x8,%esp
646c2f:	33 04 24             	xor    (%esp),%eax
646c32:	33 54 24 04          	xor    0x4(%esp),%edx
646c36:	83 c4 08             	add    $0x8,%esp
646c39:	52                   	push   %edx
646c3a:	50                   	push   %eax
646c3b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
646c3f:	c1 e8 09             	shr    $0x9,%eax
646c42:	33 d2                	xor    %edx,%edx
646c44:	52                   	push   %edx
646c45:	50                   	push   %eax
646c46:	8b 44 24 20          	mov    0x20(%esp),%eax
646c4a:	8b 54 24 24          	mov    0x24(%esp),%edx
646c4e:	0f a4 c2 17          	shld   $0x17,%eax,%edx
646c52:	c1 e0 17             	shl    $0x17,%eax
646c55:	0b 04 24             	or     (%esp),%eax
646c58:	0b 54 24 04          	or     0x4(%esp),%edx
646c5c:	83 c4 08             	add    $0x8,%esp
646c5f:	33 04 24             	xor    (%esp),%eax
646c62:	33 54 24 04          	xor    0x4(%esp),%edx
646c66:	83 c4 08             	add    $0x8,%esp
646c69:	03 44 24 28          	add    0x28(%esp),%eax
646c6d:	13 54 24 2c          	adc    0x2c(%esp),%edx
646c71:	52                   	push   %edx
646c72:	50                   	push   %eax
646c73:	8b 44 24 18          	mov    0x18(%esp),%eax
646c77:	8b 54 24 1c          	mov    0x1c(%esp),%edx
646c7b:	23 44 24 20          	and    0x20(%esp),%eax
646c7f:	23 54 24 24          	and    0x24(%esp),%edx
646c83:	52                   	push   %edx
646c84:	50                   	push   %eax
646c85:	8b 44 24 20          	mov    0x20(%esp),%eax
646c89:	8b 54 24 24          	mov    0x24(%esp),%edx
646c8d:	f7 d0                	not    %eax
646c8f:	f7 d2                	not    %edx
646c91:	23 44 24 30          	and    0x30(%esp),%eax
646c95:	23 54 24 34          	and    0x34(%esp),%edx
646c99:	33 04 24             	xor    (%esp),%eax
646c9c:	33 54 24 04          	xor    0x4(%esp),%edx
646ca0:	83 c4 08             	add    $0x8,%esp
646ca3:	03 04 24             	add    (%esp),%eax
646ca6:	13 54 24 04          	adc    0x4(%esp),%edx
646caa:	83 c4 08             	add    $0x8,%esp
646cad:	05 72 ab f0 a1       	add    $0xa1f0ab72,%eax
646cb2:	81 d2 14 78 c8 84    	adc    $0x84c87814,%edx
646cb8:	03 84 24 20 02 00 00 	add    0x220(%esp),%eax
646cbf:	13 94 24 24 02 00 00 	adc    0x224(%esp),%edx
646cc6:	89 44 24 40          	mov    %eax,0x40(%esp)
646cca:	89 54 24 44          	mov    %edx,0x44(%esp)
646cce:	8b 44 24 30          	mov    0x30(%esp),%eax
646cd2:	8b 54 24 34          	mov    0x34(%esp),%edx
646cd6:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
646cda:	c1 ea 1c             	shr    $0x1c,%edx
646cdd:	52                   	push   %edx
646cde:	50                   	push   %eax
646cdf:	8b 54 24 38          	mov    0x38(%esp),%edx
646ce3:	c1 e2 04             	shl    $0x4,%edx
646ce6:	33 c0                	xor    %eax,%eax
646ce8:	0b 04 24             	or     (%esp),%eax
646ceb:	0b 54 24 04          	or     0x4(%esp),%edx
646cef:	83 c4 08             	add    $0x8,%esp
646cf2:	52                   	push   %edx
646cf3:	50                   	push   %eax
646cf4:	8b 44 24 3c          	mov    0x3c(%esp),%eax
646cf8:	c1 e8 02             	shr    $0x2,%eax
646cfb:	33 d2                	xor    %edx,%edx
646cfd:	52                   	push   %edx
646cfe:	50                   	push   %eax
646cff:	8b 44 24 40          	mov    0x40(%esp),%eax
646d03:	8b 54 24 44          	mov    0x44(%esp),%edx
646d07:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
646d0b:	c1 e0 1e             	shl    $0x1e,%eax
646d0e:	0b 04 24             	or     (%esp),%eax
646d11:	0b 54 24 04          	or     0x4(%esp),%edx
646d15:	83 c4 08             	add    $0x8,%esp
646d18:	33 04 24             	xor    (%esp),%eax
646d1b:	33 54 24 04          	xor    0x4(%esp),%edx
646d1f:	83 c4 08             	add    $0x8,%esp
646d22:	52                   	push   %edx
646d23:	50                   	push   %eax
646d24:	8b 44 24 3c          	mov    0x3c(%esp),%eax
646d28:	c1 e8 07             	shr    $0x7,%eax
646d2b:	33 d2                	xor    %edx,%edx
646d2d:	52                   	push   %edx
646d2e:	50                   	push   %eax
646d2f:	8b 44 24 40          	mov    0x40(%esp),%eax
646d33:	8b 54 24 44          	mov    0x44(%esp),%edx
646d37:	0f a4 c2 19          	shld   $0x19,%eax,%edx
646d3b:	c1 e0 19             	shl    $0x19,%eax
646d3e:	0b 04 24             	or     (%esp),%eax
646d41:	0b 54 24 04          	or     0x4(%esp),%edx
646d45:	83 c4 08             	add    $0x8,%esp
646d48:	33 04 24             	xor    (%esp),%eax
646d4b:	33 54 24 04          	xor    0x4(%esp),%edx
646d4f:	83 c4 08             	add    $0x8,%esp
646d52:	52                   	push   %edx
646d53:	50                   	push   %eax
646d54:	8b 44 24 38          	mov    0x38(%esp),%eax
646d58:	8b 54 24 3c          	mov    0x3c(%esp),%edx
646d5c:	23 44 24 40          	and    0x40(%esp),%eax
646d60:	23 54 24 44          	and    0x44(%esp),%edx
646d64:	52                   	push   %edx
646d65:	50                   	push   %eax
646d66:	8b 44 24 40          	mov    0x40(%esp),%eax
646d6a:	8b 54 24 44          	mov    0x44(%esp),%edx
646d6e:	23 44 24 10          	and    0x10(%esp),%eax
646d72:	23 54 24 14          	and    0x14(%esp),%edx
646d76:	33 04 24             	xor    (%esp),%eax
646d79:	33 54 24 04          	xor    0x4(%esp),%edx
646d7d:	83 c4 08             	add    $0x8,%esp
646d80:	52                   	push   %edx
646d81:	50                   	push   %eax
646d82:	8b 44 24 48          	mov    0x48(%esp),%eax
646d86:	8b 54 24 4c          	mov    0x4c(%esp),%edx
646d8a:	23 44 24 10          	and    0x10(%esp),%eax
646d8e:	23 54 24 14          	and    0x14(%esp),%edx
646d92:	33 04 24             	xor    (%esp),%eax
646d95:	33 54 24 04          	xor    0x4(%esp),%edx
646d99:	83 c4 08             	add    $0x8,%esp
646d9c:	03 04 24             	add    (%esp),%eax
646d9f:	13 54 24 04          	adc    0x4(%esp),%edx
646da3:	83 c4 08             	add    $0x8,%esp
646da6:	89 44 24 48          	mov    %eax,0x48(%esp)
646daa:	89 54 24 4c          	mov    %edx,0x4c(%esp)
646dae:	8b 44 24 08          	mov    0x8(%esp),%eax
646db2:	8b 54 24 0c          	mov    0xc(%esp),%edx
646db6:	03 44 24 40          	add    0x40(%esp),%eax
646dba:	13 54 24 44          	adc    0x44(%esp),%edx
646dbe:	89 44 24 08          	mov    %eax,0x8(%esp)
646dc2:	89 54 24 0c          	mov    %edx,0xc(%esp)
646dc6:	8b 44 24 40          	mov    0x40(%esp),%eax
646dca:	8b 54 24 44          	mov    0x44(%esp),%edx
646dce:	03 44 24 48          	add    0x48(%esp),%eax
646dd2:	13 54 24 4c          	adc    0x4c(%esp),%edx
646dd6:	89 44 24 28          	mov    %eax,0x28(%esp)
646dda:	89 54 24 2c          	mov    %edx,0x2c(%esp)
646dde:	8b 44 24 08          	mov    0x8(%esp),%eax
646de2:	8b 54 24 0c          	mov    0xc(%esp),%edx
646de6:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
646dea:	c1 ea 0e             	shr    $0xe,%edx
646ded:	52                   	push   %edx
646dee:	50                   	push   %eax
646def:	8b 54 24 10          	mov    0x10(%esp),%edx
646df3:	c1 e2 12             	shl    $0x12,%edx
646df6:	33 c0                	xor    %eax,%eax
646df8:	0b 04 24             	or     (%esp),%eax
646dfb:	0b 54 24 04          	or     0x4(%esp),%edx
646dff:	83 c4 08             	add    $0x8,%esp
646e02:	52                   	push   %edx
646e03:	50                   	push   %eax
646e04:	8b 44 24 10          	mov    0x10(%esp),%eax
646e08:	8b 54 24 14          	mov    0x14(%esp),%edx
646e0c:	0f ac d0 12          	shrd   $0x12,%edx,%eax
646e10:	c1 ea 12             	shr    $0x12,%edx
646e13:	52                   	push   %edx
646e14:	50                   	push   %eax
646e15:	8b 54 24 18          	mov    0x18(%esp),%edx
646e19:	c1 e2 0e             	shl    $0xe,%edx
646e1c:	33 c0                	xor    %eax,%eax
646e1e:	0b 04 24             	or     (%esp),%eax
646e21:	0b 54 24 04          	or     0x4(%esp),%edx
646e25:	83 c4 08             	add    $0x8,%esp
646e28:	33 04 24             	xor    (%esp),%eax
646e2b:	33 54 24 04          	xor    0x4(%esp),%edx
646e2f:	83 c4 08             	add    $0x8,%esp
646e32:	52                   	push   %edx
646e33:	50                   	push   %eax
646e34:	8b 44 24 14          	mov    0x14(%esp),%eax
646e38:	c1 e8 09             	shr    $0x9,%eax
646e3b:	33 d2                	xor    %edx,%edx
646e3d:	52                   	push   %edx
646e3e:	50                   	push   %eax
646e3f:	8b 44 24 18          	mov    0x18(%esp),%eax
646e43:	8b 54 24 1c          	mov    0x1c(%esp),%edx
646e47:	0f a4 c2 17          	shld   $0x17,%eax,%edx
646e4b:	c1 e0 17             	shl    $0x17,%eax
646e4e:	0b 04 24             	or     (%esp),%eax
646e51:	0b 54 24 04          	or     0x4(%esp),%edx
646e55:	83 c4 08             	add    $0x8,%esp
646e58:	33 04 24             	xor    (%esp),%eax
646e5b:	33 54 24 04          	xor    0x4(%esp),%edx
646e5f:	83 c4 08             	add    $0x8,%esp
646e62:	03 44 24 20          	add    0x20(%esp),%eax
646e66:	13 54 24 24          	adc    0x24(%esp),%edx
646e6a:	52                   	push   %edx
646e6b:	50                   	push   %eax
646e6c:	8b 44 24 10          	mov    0x10(%esp),%eax
646e70:	8b 54 24 14          	mov    0x14(%esp),%edx
646e74:	23 44 24 18          	and    0x18(%esp),%eax
646e78:	23 54 24 1c          	and    0x1c(%esp),%edx
646e7c:	52                   	push   %edx
646e7d:	50                   	push   %eax
646e7e:	8b 44 24 18          	mov    0x18(%esp),%eax
646e82:	8b 54 24 1c          	mov    0x1c(%esp),%edx
646e86:	f7 d0                	not    %eax
646e88:	f7 d2                	not    %edx
646e8a:	23 44 24 28          	and    0x28(%esp),%eax
646e8e:	23 54 24 2c          	and    0x2c(%esp),%edx
646e92:	33 04 24             	xor    (%esp),%eax
646e95:	33 54 24 04          	xor    0x4(%esp),%edx
646e99:	83 c4 08             	add    $0x8,%esp
646e9c:	03 04 24             	add    (%esp),%eax
646e9f:	13 54 24 04          	adc    0x4(%esp),%edx
646ea3:	83 c4 08             	add    $0x8,%esp
646ea6:	05 ec 39 64 1a       	add    $0x1a6439ec,%eax
646eab:	81 d2 08 02 c7 8c    	adc    $0x8cc70208,%edx
646eb1:	03 84 24 28 02 00 00 	add    0x228(%esp),%eax
646eb8:	13 94 24 2c 02 00 00 	adc    0x22c(%esp),%edx
646ebf:	89 44 24 40          	mov    %eax,0x40(%esp)
646ec3:	89 54 24 44          	mov    %edx,0x44(%esp)
646ec7:	8b 44 24 28          	mov    0x28(%esp),%eax
646ecb:	8b 54 24 2c          	mov    0x2c(%esp),%edx
646ecf:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
646ed3:	c1 ea 1c             	shr    $0x1c,%edx
646ed6:	52                   	push   %edx
646ed7:	50                   	push   %eax
646ed8:	8b 54 24 30          	mov    0x30(%esp),%edx
646edc:	c1 e2 04             	shl    $0x4,%edx
646edf:	33 c0                	xor    %eax,%eax
646ee1:	0b 04 24             	or     (%esp),%eax
646ee4:	0b 54 24 04          	or     0x4(%esp),%edx
646ee8:	83 c4 08             	add    $0x8,%esp
646eeb:	52                   	push   %edx
646eec:	50                   	push   %eax
646eed:	8b 44 24 34          	mov    0x34(%esp),%eax
646ef1:	c1 e8 02             	shr    $0x2,%eax
646ef4:	33 d2                	xor    %edx,%edx
646ef6:	52                   	push   %edx
646ef7:	50                   	push   %eax
646ef8:	8b 44 24 38          	mov    0x38(%esp),%eax
646efc:	8b 54 24 3c          	mov    0x3c(%esp),%edx
646f00:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
646f04:	c1 e0 1e             	shl    $0x1e,%eax
646f07:	0b 04 24             	or     (%esp),%eax
646f0a:	0b 54 24 04          	or     0x4(%esp),%edx
646f0e:	83 c4 08             	add    $0x8,%esp
646f11:	33 04 24             	xor    (%esp),%eax
646f14:	33 54 24 04          	xor    0x4(%esp),%edx
646f18:	83 c4 08             	add    $0x8,%esp
646f1b:	52                   	push   %edx
646f1c:	50                   	push   %eax
646f1d:	8b 44 24 34          	mov    0x34(%esp),%eax
646f21:	c1 e8 07             	shr    $0x7,%eax
646f24:	33 d2                	xor    %edx,%edx
646f26:	52                   	push   %edx
646f27:	50                   	push   %eax
646f28:	8b 44 24 38          	mov    0x38(%esp),%eax
646f2c:	8b 54 24 3c          	mov    0x3c(%esp),%edx