643bd2:	0b 54 24 04          	or     0x4(%esp),%edx
643bd6:	83 c4 08             	add    $0x8,%esp
643bd9:	33 04 24             	xor    (%esp),%eax
643bdc:	33 54 24 04          	xor    0x4(%esp),%edx
643be0:	83 c4 08             	add    $0x8,%esp
643be3:	52                   	push   %edx
643be4:	50                   	push   %eax
643be5:	8b 44 24 44          	mov    0x44(%esp),%eax
643be9:	c1 e8 07             	shr    $0x7,%eax
643bec:	33 d2                	xor    %edx,%edx
643bee:	52                   	push   %edx
643bef:	50                   	push   %eax
643bf0:	8b 44 24 48          	mov    0x48(%esp),%eax
643bf4:	8b 54 24 4c          	mov    0x4c(%esp),%edx
643bf8:	0f a4 c2 19          	shld   $0x19,%eax,%edx
643bfc:	c1 e0 19             	shl    $0x19,%eax
643bff:	0b 04 24             	or     (%esp),%eax
643c02:	0b 54 24 04          	or     0x4(%esp),%edx
643c06:	83 c4 08             	add    $0x8,%esp
643c09:	33 04 24             	xor    (%esp),%eax
643c0c:	33 54 24 04          	xor    0x4(%esp),%edx
643c10:	83 c4 08             	add    $0x8,%esp
643c13:	52                   	push   %edx
643c14:	50                   	push   %eax
643c15:	8b 44 24 40          	mov    0x40(%esp),%eax
643c19:	8b 54 24 44          	mov    0x44(%esp),%edx
643c1d:	23 44 24 08          	and    0x8(%esp),%eax
643c21:	23 54 24 0c          	and    0xc(%esp),%edx
643c25:	52                   	push   %edx
643c26:	50                   	push   %eax
643c27:	8b 44 24 48          	mov    0x48(%esp),%eax
643c2b:	8b 54 24 4c          	mov    0x4c(%esp),%edx
643c2f:	23 44 24 18          	and    0x18(%esp),%eax
643c33:	23 54 24 1c          	and    0x1c(%esp),%edx
643c37:	33 04 24             	xor    (%esp),%eax
643c3a:	33 54 24 04          	xor    0x4(%esp),%edx
643c3e:	83 c4 08             	add    $0x8,%esp
643c41:	52                   	push   %edx
643c42:	50                   	push   %eax
643c43:	8b 44 24 10          	mov    0x10(%esp),%eax
643c47:	8b 54 24 14          	mov    0x14(%esp),%edx
643c4b:	23 44 24 18          	and    0x18(%esp),%eax
643c4f:	23 54 24 1c          	and    0x1c(%esp),%edx
643c53:	33 04 24             	xor    (%esp),%eax
643c56:	33 54 24 04          	xor    0x4(%esp),%edx
643c5a:	83 c4 08             	add    $0x8,%esp
643c5d:	03 04 24             	add    (%esp),%eax
643c60:	13 54 24 04          	adc    0x4(%esp),%edx
643c64:	83 c4 08             	add    $0x8,%esp
643c67:	89 44 24 48          	mov    %eax,0x48(%esp)
643c6b:	89 54 24 4c          	mov    %edx,0x4c(%esp)
643c6f:	8b 44 24 10          	mov    0x10(%esp),%eax
643c73:	8b 54 24 14          	mov    0x14(%esp),%edx
643c77:	03 44 24 40          	add    0x40(%esp),%eax
643c7b:	13 54 24 44          	adc    0x44(%esp),%edx
643c7f:	89 44 24 10          	mov    %eax,0x10(%esp)
643c83:	89 54 24 14          	mov    %edx,0x14(%esp)
643c87:	8b 44 24 40          	mov    0x40(%esp),%eax
643c8b:	8b 54 24 44          	mov    0x44(%esp),%edx
643c8f:	03 44 24 48          	add    0x48(%esp),%eax
643c93:	13 54 24 4c          	adc    0x4c(%esp),%edx
643c97:	89 44 24 30          	mov    %eax,0x30(%esp)
643c9b:	89 54 24 34          	mov    %edx,0x34(%esp)
643c9f:	8b 44 24 10          	mov    0x10(%esp),%eax
643ca3:	8b 54 24 14          	mov    0x14(%esp),%edx
643ca7:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
643cab:	c1 ea 0e             	shr    $0xe,%edx
643cae:	52                   	push   %edx
643caf:	50                   	push   %eax
643cb0:	8b 54 24 18          	mov    0x18(%esp),%edx
643cb4:	c1 e2 12             	shl    $0x12,%edx
643cb7:	33 c0                	xor    %eax,%eax
643cb9:	0b 04 24             	or     (%esp),%eax
643cbc:	0b 54 24 04          	or     0x4(%esp),%edx
643cc0:	83 c4 08             	add    $0x8,%esp
643cc3:	52                   	push   %edx
643cc4:	50                   	push   %eax
643cc5:	8b 44 24 18          	mov    0x18(%esp),%eax
643cc9:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643ccd:	0f ac d0 12          	shrd   $0x12,%edx,%eax
643cd1:	c1 ea 12             	shr    $0x12,%edx
643cd4:	52                   	push   %edx
643cd5:	50                   	push   %eax
643cd6:	8b 54 24 20          	mov    0x20(%esp),%edx
643cda:	c1 e2 0e             	shl    $0xe,%edx
643cdd:	33 c0                	xor    %eax,%eax
643cdf:	0b 04 24             	or     (%esp),%eax
643ce2:	0b 54 24 04          	or     0x4(%esp),%edx
643ce6:	83 c4 08             	add    $0x8,%esp
643ce9:	33 04 24             	xor    (%esp),%eax
643cec:	33 54 24 04          	xor    0x4(%esp),%edx
643cf0:	83 c4 08             	add    $0x8,%esp
643cf3:	52                   	push   %edx
643cf4:	50                   	push   %eax
643cf5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
643cf9:	c1 e8 09             	shr    $0x9,%eax
643cfc:	33 d2                	xor    %edx,%edx
643cfe:	52                   	push   %edx
643cff:	50                   	push   %eax
643d00:	8b 44 24 20          	mov    0x20(%esp),%eax
643d04:	8b 54 24 24          	mov    0x24(%esp),%edx
643d08:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643d0c:	c1 e0 17             	shl    $0x17,%eax
643d0f:	0b 04 24             	or     (%esp),%eax
643d12:	0b 54 24 04          	or     0x4(%esp),%edx
643d16:	83 c4 08             	add    $0x8,%esp
643d19:	33 04 24             	xor    (%esp),%eax
643d1c:	33 54 24 04          	xor    0x4(%esp),%edx
643d20:	83 c4 08             	add    $0x8,%esp
643d23:	03 44 24 28          	add    0x28(%esp),%eax
643d27:	13 54 24 2c          	adc    0x2c(%esp),%edx
643d2b:	52                   	push   %edx
643d2c:	50                   	push   %eax
643d2d:	8b 44 24 18          	mov    0x18(%esp),%eax
643d31:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643d35:	23 44 24 20          	and    0x20(%esp),%eax
643d39:	23 54 24 24          	and    0x24(%esp),%edx
643d3d:	52                   	push   %edx
643d3e:	50                   	push   %eax
643d3f:	8b 44 24 20          	mov    0x20(%esp),%eax
643d43:	8b 54 24 24          	mov    0x24(%esp),%edx
643d47:	f7 d0                	not    %eax
643d49:	f7 d2                	not    %edx
643d4b:	23 44 24 30          	and    0x30(%esp),%eax
643d4f:	23 54 24 34          	and    0x34(%esp),%edx
643d53:	33 04 24             	xor    (%esp),%eax
643d56:	33 54 24 04          	xor    0x4(%esp),%edx
643d5a:	83 c4 08             	add    $0x8,%esp
643d5d:	03 04 24             	add    (%esp),%eax
643d60:	13 54 24 04          	adc    0x4(%esp),%edx
643d64:	83 c4 08             	add    $0x8,%esp
643d67:	05 ed 2a c4 5a       	add    $0x5ac42aed,%eax
643d6c:	81 d2 fc 6d 2c 4d    	adc    $0x4d2c6dfc,%edx
643d72:	03 84 24 60 01 00 00 	add    0x160(%esp),%eax
643d79:	13 94 24 64 01 00 00 	adc    0x164(%esp),%edx
643d80:	89 44 24 40          	mov    %eax,0x40(%esp)
643d84:	89 54 24 44          	mov    %edx,0x44(%esp)
643d88:	8b 44 24 30          	mov    0x30(%esp),%eax
643d8c:	8b 54 24 34          	mov    0x34(%esp),%edx
643d90:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
643d94:	c1 ea 1c             	shr    $0x1c,%edx
643d97:	52                   	push   %edx
643d98:	50                   	push   %eax
643d99:	8b 54 24 38          	mov    0x38(%esp),%edx
643d9d:	c1 e2 04             	shl    $0x4,%edx
643da0:	33 c0                	xor    %eax,%eax
643da2:	0b 04 24             	or     (%esp),%eax
643da5:	0b 54 24 04          	or     0x4(%esp),%edx
643da9:	83 c4 08             	add    $0x8,%esp
643dac:	52                   	push   %edx
643dad:	50                   	push   %eax
643dae:	8b 44 24 3c          	mov    0x3c(%esp),%eax
643db2:	c1 e8 02             	shr    $0x2,%eax
643db5:	33 d2                	xor    %edx,%edx
643db7:	52                   	push   %edx
643db8:	50                   	push   %eax
643db9:	8b 44 24 40          	mov    0x40(%esp),%eax
643dbd:	8b 54 24 44          	mov    0x44(%esp),%edx
643dc1:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
643dc5:	c1 e0 1e             	shl    $0x1e,%eax
643dc8:	0b 04 24             	or     (%esp),%eax
643dcb:	0b 54 24 04          	or     0x4(%esp),%edx
643dcf:	83 c4 08             	add    $0x8,%esp
643dd2:	33 04 24             	xor    (%esp),%eax
643dd5:	33 54 24 04          	xor    0x4(%esp),%edx
643dd9:	83 c4 08             	add    $0x8,%esp
643ddc:	52                   	push   %edx
643ddd:	50                   	push   %eax
643dde:	8b 44 24 3c          	mov    0x3c(%esp),%eax
643de2:	c1 e8 07             	shr    $0x7,%eax
643de5:	33 d2                	xor    %edx,%edx
643de7:	52                   	push   %edx
643de8:	50                   	push   %eax
643de9:	8b 44 24 40          	mov    0x40(%esp),%eax
643ded:	8b 54 24 44          	mov    0x44(%esp),%edx
643df1:	0f a4 c2 19          	shld   $0x19,%eax,%edx
643df5:	c1 e0 19             	shl    $0x19,%eax
643df8:	0b 04 24             	or     (%esp),%eax
643dfb:	0b 54 24 04          	or     0x4(%esp),%edx
643dff:	83 c4 08             	add    $0x8,%esp
643e02:	33 04 24             	xor    (%esp),%eax
643e05:	33 54 24 04          	xor    0x4(%esp),%edx
643e09:	83 c4 08             	add    $0x8,%esp
643e0c:	52                   	push   %edx
643e0d:	50                   	push   %eax
643e0e:	8b 44 24 38          	mov    0x38(%esp),%eax
643e12:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643e16:	23 44 24 40          	and    0x40(%esp),%eax
643e1a:	23 54 24 44          	and    0x44(%esp),%edx
643e1e:	52                   	push   %edx
643e1f:	50                   	push   %eax
643e20:	8b 44 24 40          	mov    0x40(%esp),%eax
643e24:	8b 54 24 44          	mov    0x44(%esp),%edx
643e28:	23 44 24 10          	and    0x10(%esp),%eax
643e2c:	23 54 24 14          	and    0x14(%esp),%edx
643e30:	33 04 24             	xor    (%esp),%eax
643e33:	33 54 24 04          	xor    0x4(%esp),%edx
643e37:	83 c4 08             	add    $0x8,%esp
643e3a:	52                   	push   %edx
643e3b:	50                   	push   %eax
643e3c:	8b 44 24 48          	mov    0x48(%esp),%eax
643e40:	8b 54 24 4c          	mov    0x4c(%esp),%edx
643e44:	23 44 24 10          	and    0x10(%esp),%eax
643e48:	23 54 24 14          	and    0x14(%esp),%edx
643e4c:	33 04 24             	xor    (%esp),%eax
643e4f:	33 54 24 04          	xor    0x4(%esp),%edx
643e53:	83 c4 08             	add    $0x8,%esp
643e56:	03 04 24             	add    (%esp),%eax
643e59:	13 54 24 04          	adc    0x4(%esp),%edx
643e5d:	83 c4 08             	add    $0x8,%esp
643e60:	89 44 24 48          	mov    %eax,0x48(%esp)
643e64:	89 54 24 4c          	mov    %edx,0x4c(%esp)
643e68:	8b 44 24 08          	mov    0x8(%esp),%eax
643e6c:	8b 54 24 0c          	mov    0xc(%esp),%edx
643e70:	03 44 24 40          	add    0x40(%esp),%eax
643e74:	13 54 24 44          	adc    0x44(%esp),%edx
643e78:	89 44 24 08          	mov    %eax,0x8(%esp)
643e7c:	89 54 24 0c          	mov    %edx,0xc(%esp)
643e80:	8b 44 24 40          	mov    0x40(%esp),%eax
643e84:	8b 54 24 44          	mov    0x44(%esp),%edx
643e88:	03 44 24 48          	add    0x48(%esp),%eax
643e8c:	13 54 24 4c          	adc    0x4c(%esp),%edx
643e90:	89 44 24 28          	mov    %eax,0x28(%esp)
643e94:	89 54 24 2c          	mov    %edx,0x2c(%esp)
643e98:	8b 44 24 08          	mov    0x8(%esp),%eax
643e9c:	8b 54 24 0c          	mov    0xc(%esp),%edx
643ea0:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
643ea4:	c1 ea 0e             	shr    $0xe,%edx
643ea7:	52                   	push   %edx
643ea8:	50                   	push   %eax
643ea9:	8b 54 24 10          	mov    0x10(%esp),%edx
643ead:	c1 e2 12             	shl    $0x12,%edx
643eb0:	33 c0                	xor    %eax,%eax
643eb2:	0b 04 24             	or     (%esp),%eax
643eb5:	0b 54 24 04          	or     0x4(%esp),%edx
643eb9:	83 c4 08             	add    $0x8,%esp
643ebc:	52                   	push   %edx
643ebd:	50                   	push   %eax
643ebe:	8b 44 24 10          	mov    0x10(%esp),%eax
643ec2:	8b 54 24 14          	mov    0x14(%esp),%edx
643ec6:	0f ac d0 12          	shrd   $0x12,%edx,%eax
643eca:	c1 ea 12             	shr    $0x12,%edx
643ecd:	52                   	push   %edx
643ece:	50                   	push   %eax
643ecf:	8b 54 24 18          	mov    0x18(%esp),%edx
643ed3:	c1 e2 0e             	shl    $0xe,%edx
643ed6:	33 c0                	xor    %eax,%eax
643ed8:	0b 04 24             	or     (%esp),%eax
643edb:	0b 54 24 04          	or     0x4(%esp),%edx
643edf:	83 c4 08             	add    $0x8,%esp
643ee2:	33 04 24             	xor    (%esp),%eax
643ee5:	33 54 24 04          	xor    0x4(%esp),%edx
643ee9:	83 c4 08             	add    $0x8,%esp
643eec:	52                   	push   %edx
643eed:	50                   	push   %eax
643eee:	8b 44 24 14          	mov    0x14(%esp),%eax
643ef2:	c1 e8 09             	shr    $0x9,%eax
643ef5:	33 d2                	xor    %edx,%edx
643ef7:	52                   	push   %edx
643ef8:	50                   	push   %eax
643ef9:	8b 44 24 18          	mov    0x18(%esp),%eax
643efd:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643f01:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643f05:	c1 e0 17             	shl    $0x17,%eax
643f08:	0b 04 24             	or     (%esp),%eax
643f0b:	0b 54 24 04          	or     0x4(%esp),%edx
643f0f:	83 c4 08             	add    $0x8,%esp
643f12:	33 04 24             	xor    (%esp),%eax
643f15:	33 54 24 04          	xor    0x4(%esp),%edx
643f19:	83 c4 08             	add    $0x8,%esp
643f1c:	03 44 24 20          	add    0x20(%esp),%eax
643f20:	13 54 24 24          	adc    0x24(%esp),%edx
643f24:	52                   	push   %edx
643f25:	50                   	push   %eax
643f26:	8b 44 24 10          	mov    0x10(%esp),%eax
643f2a:	8b 54 24 14          	mov    0x14(%esp),%edx
643f2e:	23 44 24 18          	and    0x18(%esp),%eax
643f32:	23 54 24 1c          	and    0x1c(%esp),%edx
643f36:	52                   	push   %edx
643f37:	50                   	push   %eax
643f38:	8b 44 24 18          	mov    0x18(%esp),%eax
643f3c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
643f40:	f7 d0                	not    %eax
643f42:	f7 d2                	not    %edx
643f44:	23 44 24 28          	and    0x28(%esp),%eax
643f48:	23 54 24 2c          	and    0x2c(%esp),%edx
643f4c:	33 04 24             	xor    (%esp),%eax
643f4f:	33 54 24 04          	xor    0x4(%esp),%edx
643f53:	83 c4 08             	add    $0x8,%esp
643f56:	03 04 24             	add    (%esp),%eax
643f59:	13 54 24 04          	adc    0x4(%esp),%edx
643f5d:	83 c4 08             	add    $0x8,%esp
643f60:	05 df b3 95 9d       	add    $0x9d95b3df,%eax
643f65:	81 d2 13 0d 38 53    	adc    $0x53380d13,%edx
643f6b:	03 84 24 68 01 00 00 	add    0x168(%esp),%eax
643f72:	13 94 24 6c 01 00 00 	adc    0x16c(%esp),%edx
643f79:	89 44 24 40          	mov    %eax,0x40(%esp)
643f7d:	89 54 24 44          	mov    %edx,0x44(%esp)
643f81:	8b 44 24 28          	mov    0x28(%esp),%eax
643f85:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643f89:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
643f8d:	c1 ea 1c             	shr    $0x1c,%edx
643f90:	52                   	push   %edx
643f91:	50                   	push   %eax
643f92:	8b 54 24 30          	mov    0x30(%esp),%edx
643f96:	c1 e2 04             	shl    $0x4,%edx
643f99:	33 c0                	xor    %eax,%eax
643f9b:	0b 04 24             	or     (%esp),%eax
643f9e:	0b 54 24 04          	or     0x4(%esp),%edx
643fa2:	83 c4 08             	add    $0x8,%esp
643fa5:	52                   	push   %edx
643fa6:	50                   	push   %eax
643fa7:	8b 44 24 34          	mov    0x34(%esp),%eax
643fab:	c1 e8 02             	shr    $0x2,%eax
643fae:	33 d2                	xor    %edx,%edx
643fb0:	52                   	push   %edx
643fb1:	50                   	push   %eax
643fb2:	8b 44 24 38          	mov    0x38(%esp),%eax
643fb6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643fba:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
643fbe:	c1 e0 1e             	shl    $0x1e,%eax
643fc1:	0b 04 24             	or     (%esp),%eax
643fc4:	0b 54 24 04          	or     0x4(%esp),%edx
643fc8:	83 c4 08             	add    $0x8,%esp
643fcb:	33 04 24             	xor    (%esp),%eax
643fce:	33 54 24 04          	xor    0x4(%esp),%edx
643fd2:	83 c4 08             	add    $0x8,%esp
643fd5:	52                   	push   %edx
643fd6:	50                   	push   %eax
643fd7:	8b 44 24 34          	mov    0x34(%esp),%eax
643fdb:	c1 e8 07             	shr    $0x7,%eax
643fde:	33 d2                	xor    %edx,%edx
643fe0:	52                   	push   %edx
643fe1:	50                   	push   %eax
643fe2:	8b 44 24 38          	mov    0x38(%esp),%eax
643fe6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643fea:	0f a4 c2 19          	shld   $0x19,%eax,%edx
643fee:	c1 e0 19             	shl    $0x19,%eax
643ff1:	0b 04 24             	or     (%esp),%eax
643ff4:	0b 54 24 04          	or     0x4(%esp),%edx
643ff8:	83 c4 08             	add    $0x8,%esp
643ffb:	33 04 24             	xor    (%esp),%eax
643ffe:	33 54 24 04          	xor    0x4(%esp),%edx
644002:	83 c4 08             	add    $0x8,%esp
644005:	52                   	push   %edx
644006:	50                   	push   %eax
644007:	8b 44 24 30          	mov    0x30(%esp),%eax
64400b:	8b 54 24 34          	mov    0x34(%esp),%edx
64400f:	23 44 24 38          	and    0x38(%esp),%eax
644013:	23 54 24 3c          	and    0x3c(%esp),%edx