642aac:	89 44 24 48          	mov    %eax,0x48(%esp)
642ab0:	89 54 24 4c          	mov    %edx,0x4c(%esp)
642ab4:	8b 44 24 18          	mov    0x18(%esp),%eax
642ab8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642abc:	03 44 24 40          	add    0x40(%esp),%eax
642ac0:	13 54 24 44          	adc    0x44(%esp),%edx
642ac4:	89 44 24 18          	mov    %eax,0x18(%esp)
642ac8:	89 54 24 1c          	mov    %edx,0x1c(%esp)
642acc:	8b 44 24 40          	mov    0x40(%esp),%eax
642ad0:	8b 54 24 44          	mov    0x44(%esp),%edx
642ad4:	03 44 24 48          	add    0x48(%esp),%eax
642ad8:	13 54 24 4c          	adc    0x4c(%esp),%edx
642adc:	89 44 24 38          	mov    %eax,0x38(%esp)
642ae0:	89 54 24 3c          	mov    %edx,0x3c(%esp)
642ae4:	8b 44 24 18          	mov    0x18(%esp),%eax
642ae8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642aec:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
642af0:	c1 ea 0e             	shr    $0xe,%edx
642af3:	52                   	push   %edx
642af4:	50                   	push   %eax
642af5:	8b 54 24 20          	mov    0x20(%esp),%edx
642af9:	c1 e2 12             	shl    $0x12,%edx
642afc:	33 c0                	xor    %eax,%eax
642afe:	0b 04 24             	or     (%esp),%eax
642b01:	0b 54 24 04          	or     0x4(%esp),%edx
642b05:	83 c4 08             	add    $0x8,%esp
642b08:	52                   	push   %edx
642b09:	50                   	push   %eax
642b0a:	8b 44 24 20          	mov    0x20(%esp),%eax
642b0e:	8b 54 24 24          	mov    0x24(%esp),%edx
642b12:	0f ac d0 12          	shrd   $0x12,%edx,%eax
642b16:	c1 ea 12             	shr    $0x12,%edx
642b19:	52                   	push   %edx
642b1a:	50                   	push   %eax
642b1b:	8b 54 24 28          	mov    0x28(%esp),%edx
642b1f:	c1 e2 0e             	shl    $0xe,%edx
642b22:	33 c0                	xor    %eax,%eax
642b24:	0b 04 24             	or     (%esp),%eax
642b27:	0b 54 24 04          	or     0x4(%esp),%edx
642b2b:	83 c4 08             	add    $0x8,%esp
642b2e:	33 04 24             	xor    (%esp),%eax
642b31:	33 54 24 04          	xor    0x4(%esp),%edx
642b35:	83 c4 08             	add    $0x8,%esp
642b38:	52                   	push   %edx
642b39:	50                   	push   %eax
642b3a:	8b 44 24 24          	mov    0x24(%esp),%eax
642b3e:	c1 e8 09             	shr    $0x9,%eax
642b41:	33 d2                	xor    %edx,%edx
642b43:	52                   	push   %edx
642b44:	50                   	push   %eax
642b45:	8b 44 24 28          	mov    0x28(%esp),%eax
642b49:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642b4d:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642b51:	c1 e0 17             	shl    $0x17,%eax
642b54:	0b 04 24             	or     (%esp),%eax
642b57:	0b 54 24 04          	or     0x4(%esp),%edx
642b5b:	83 c4 08             	add    $0x8,%esp
642b5e:	33 04 24             	xor    (%esp),%eax
642b61:	33 54 24 04          	xor    0x4(%esp),%edx
642b65:	83 c4 08             	add    $0x8,%esp
642b68:	03 44 24 30          	add    0x30(%esp),%eax
642b6c:	13 54 24 34          	adc    0x34(%esp),%edx
642b70:	52                   	push   %edx
642b71:	50                   	push   %eax
642b72:	8b 44 24 20          	mov    0x20(%esp),%eax
642b76:	8b 54 24 24          	mov    0x24(%esp),%edx
642b7a:	23 44 24 28          	and    0x28(%esp),%eax
642b7e:	23 54 24 2c          	and    0x2c(%esp),%edx
642b82:	52                   	push   %edx
642b83:	50                   	push   %eax
642b84:	8b 44 24 28          	mov    0x28(%esp),%eax
642b88:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642b8c:	f7 d0                	not    %eax
642b8e:	f7 d2                	not    %edx
642b90:	23 44 24 38          	and    0x38(%esp),%eax
642b94:	23 54 24 3c          	and    0x3c(%esp),%edx
642b98:	33 04 24             	xor    (%esp),%eax
642b9b:	33 54 24 04          	xor    0x4(%esp),%edx
642b9f:	83 c4 08             	add    $0x8,%esp
642ba2:	03 04 24             	add    (%esp),%eax
642ba5:	13 54 24 04          	adc    0x4(%esp),%edx
642ba9:	83 c4 08             	add    $0x8,%esp
642bac:	05 10 32 b4 2d       	add    $0x2db43210,%eax
642bb1:	81 d2 6d c6 31 a8    	adc    $0xa831c66d,%edx
642bb7:	03 84 24 18 01 00 00 	add    0x118(%esp),%eax
642bbe:	13 94 24 1c 01 00 00 	adc    0x11c(%esp),%edx
642bc5:	89 44 24 40          	mov    %eax,0x40(%esp)
642bc9:	89 54 24 44          	mov    %edx,0x44(%esp)
642bcd:	8b 44 24 38          	mov    0x38(%esp),%eax
642bd1:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642bd5:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
642bd9:	c1 ea 1c             	shr    $0x1c,%edx
642bdc:	52                   	push   %edx
642bdd:	50                   	push   %eax
642bde:	8b 54 24 40          	mov    0x40(%esp),%edx
642be2:	c1 e2 04             	shl    $0x4,%edx
642be5:	33 c0                	xor    %eax,%eax
642be7:	0b 04 24             	or     (%esp),%eax
642bea:	0b 54 24 04          	or     0x4(%esp),%edx
642bee:	83 c4 08             	add    $0x8,%esp
642bf1:	52                   	push   %edx
642bf2:	50                   	push   %eax
642bf3:	8b 44 24 44          	mov    0x44(%esp),%eax
642bf7:	c1 e8 02             	shr    $0x2,%eax
642bfa:	33 d2                	xor    %edx,%edx
642bfc:	52                   	push   %edx
642bfd:	50                   	push   %eax
642bfe:	8b 44 24 48          	mov    0x48(%esp),%eax
642c02:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642c06:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642c0a:	c1 e0 1e             	shl    $0x1e,%eax
642c0d:	0b 04 24             	or     (%esp),%eax
642c10:	0b 54 24 04          	or     0x4(%esp),%edx
642c14:	83 c4 08             	add    $0x8,%esp
642c17:	33 04 24             	xor    (%esp),%eax
642c1a:	33 54 24 04          	xor    0x4(%esp),%edx
642c1e:	83 c4 08             	add    $0x8,%esp
642c21:	52                   	push   %edx
642c22:	50                   	push   %eax
642c23:	8b 44 24 44          	mov    0x44(%esp),%eax
642c27:	c1 e8 07             	shr    $0x7,%eax
642c2a:	33 d2                	xor    %edx,%edx
642c2c:	52                   	push   %edx
642c2d:	50                   	push   %eax
642c2e:	8b 44 24 48          	mov    0x48(%esp),%eax
642c32:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642c36:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642c3a:	c1 e0 19             	shl    $0x19,%eax
642c3d:	0b 04 24             	or     (%esp),%eax
642c40:	0b 54 24 04          	or     0x4(%esp),%edx
642c44:	83 c4 08             	add    $0x8,%esp
642c47:	33 04 24             	xor    (%esp),%eax
642c4a:	33 54 24 04          	xor    0x4(%esp),%edx
642c4e:	83 c4 08             	add    $0x8,%esp
642c51:	52                   	push   %edx
642c52:	50                   	push   %eax
642c53:	8b 44 24 40          	mov    0x40(%esp),%eax
642c57:	8b 54 24 44          	mov    0x44(%esp),%edx
642c5b:	23 44 24 08          	and    0x8(%esp),%eax
642c5f:	23 54 24 0c          	and    0xc(%esp),%edx
642c63:	52                   	push   %edx
642c64:	50                   	push   %eax
642c65:	8b 44 24 48          	mov    0x48(%esp),%eax
642c69:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642c6d:	23 44 24 18          	and    0x18(%esp),%eax
642c71:	23 54 24 1c          	and    0x1c(%esp),%edx
642c75:	33 04 24             	xor    (%esp),%eax
642c78:	33 54 24 04          	xor    0x4(%esp),%edx
642c7c:	83 c4 08             	add    $0x8,%esp
642c7f:	52                   	push   %edx
642c80:	50                   	push   %eax
642c81:	8b 44 24 10          	mov    0x10(%esp),%eax
642c85:	8b 54 24 14          	mov    0x14(%esp),%edx
642c89:	23 44 24 18          	and    0x18(%esp),%eax
642c8d:	23 54 24 1c          	and    0x1c(%esp),%edx
642c91:	33 04 24             	xor    (%esp),%eax
642c94:	33 54 24 04          	xor    0x4(%esp),%edx
642c98:	83 c4 08             	add    $0x8,%esp
642c9b:	03 04 24             	add    (%esp),%eax
642c9e:	13 54 24 04          	adc    0x4(%esp),%edx
642ca2:	83 c4 08             	add    $0x8,%esp
642ca5:	89 44 24 48          	mov    %eax,0x48(%esp)
642ca9:	89 54 24 4c          	mov    %edx,0x4c(%esp)
642cad:	8b 44 24 10          	mov    0x10(%esp),%eax
642cb1:	8b 54 24 14          	mov    0x14(%esp),%edx
642cb5:	03 44 24 40          	add    0x40(%esp),%eax
642cb9:	13 54 24 44          	adc    0x44(%esp),%edx
642cbd:	89 44 24 10          	mov    %eax,0x10(%esp)
642cc1:	89 54 24 14          	mov    %edx,0x14(%esp)
642cc5:	8b 44 24 40          	mov    0x40(%esp),%eax
642cc9:	8b 54 24 44          	mov    0x44(%esp),%edx
642ccd:	03 44 24 48          	add    0x48(%esp),%eax
642cd1:	13 54 24 4c          	adc    0x4c(%esp),%edx
642cd5:	89 44 24 30          	mov    %eax,0x30(%esp)
642cd9:	89 54 24 34          	mov    %edx,0x34(%esp)
642cdd:	8b 44 24 10          	mov    0x10(%esp),%eax
642ce1:	8b 54 24 14          	mov    0x14(%esp),%edx
642ce5:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
642ce9:	c1 ea 0e             	shr    $0xe,%edx
642cec:	52                   	push   %edx
642ced:	50                   	push   %eax
642cee:	8b 54 24 18          	mov    0x18(%esp),%edx
642cf2:	c1 e2 12             	shl    $0x12,%edx
642cf5:	33 c0                	xor    %eax,%eax
642cf7:	0b 04 24             	or     (%esp),%eax
642cfa:	0b 54 24 04          	or     0x4(%esp),%edx
642cfe:	83 c4 08             	add    $0x8,%esp
642d01:	52                   	push   %edx
642d02:	50                   	push   %eax
642d03:	8b 44 24 18          	mov    0x18(%esp),%eax
642d07:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642d0b:	0f ac d0 12          	shrd   $0x12,%edx,%eax
642d0f:	c1 ea 12             	shr    $0x12,%edx
642d12:	52                   	push   %edx
642d13:	50                   	push   %eax
642d14:	8b 54 24 20          	mov    0x20(%esp),%edx
642d18:	c1 e2 0e             	shl    $0xe,%edx
642d1b:	33 c0                	xor    %eax,%eax
642d1d:	0b 04 24             	or     (%esp),%eax
642d20:	0b 54 24 04          	or     0x4(%esp),%edx
642d24:	83 c4 08             	add    $0x8,%esp
642d27:	33 04 24             	xor    (%esp),%eax
642d2a:	33 54 24 04          	xor    0x4(%esp),%edx
642d2e:	83 c4 08             	add    $0x8,%esp
642d31:	52                   	push   %edx
642d32:	50                   	push   %eax
642d33:	8b 44 24 1c          	mov    0x1c(%esp),%eax
642d37:	c1 e8 09             	shr    $0x9,%eax
642d3a:	33 d2                	xor    %edx,%edx
642d3c:	52                   	push   %edx
642d3d:	50                   	push   %eax
642d3e:	8b 44 24 20          	mov    0x20(%esp),%eax
642d42:	8b 54 24 24          	mov    0x24(%esp),%edx
642d46:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642d4a:	c1 e0 17             	shl    $0x17,%eax
642d4d:	0b 04 24             	or     (%esp),%eax
642d50:	0b 54 24 04          	or     0x4(%esp),%edx
642d54:	83 c4 08             	add    $0x8,%esp
642d57:	33 04 24             	xor    (%esp),%eax
642d5a:	33 54 24 04          	xor    0x4(%esp),%edx
642d5e:	83 c4 08             	add    $0x8,%esp
642d61:	03 44 24 28          	add    0x28(%esp),%eax
642d65:	13 54 24 2c          	adc    0x2c(%esp),%edx
642d69:	52                   	push   %edx
642d6a:	50                   	push   %eax
642d6b:	8b 44 24 18          	mov    0x18(%esp),%eax
642d6f:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642d73:	23 44 24 20          	and    0x20(%esp),%eax
642d77:	23 54 24 24          	and    0x24(%esp),%edx
642d7b:	52                   	push   %edx
642d7c:	50                   	push   %eax
642d7d:	8b 44 24 20          	mov    0x20(%esp),%eax
642d81:	8b 54 24 24          	mov    0x24(%esp),%edx
642d85:	f7 d0                	not    %eax
642d87:	f7 d2                	not    %edx
642d89:	23 44 24 30          	and    0x30(%esp),%eax
642d8d:	23 54 24 34          	and    0x34(%esp),%edx
642d91:	33 04 24             	xor    (%esp),%eax
642d94:	33 54 24 04          	xor    0x4(%esp),%edx
642d98:	83 c4 08             	add    $0x8,%esp
642d9b:	03 04 24             	add    (%esp),%eax
642d9e:	13 54 24 04          	adc    0x4(%esp),%edx
642da2:	83 c4 08             	add    $0x8,%esp
642da5:	05 3f 21 fb 98       	add    $0x98fb213f,%eax
642daa:	81 d2 c8 27 03 b0    	adc    $0xb00327c8,%edx
642db0:	03 84 24 20 01 00 00 	add    0x120(%esp),%eax
642db7:	13 94 24 24 01 00 00 	adc    0x124(%esp),%edx
642dbe:	89 44 24 40          	mov    %eax,0x40(%esp)
642dc2:	89 54 24 44          	mov    %edx,0x44(%esp)
642dc6:	8b 44 24 30          	mov    0x30(%esp),%eax
642dca:	8b 54 24 34          	mov    0x34(%esp),%edx
642dce:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
642dd2:	c1 ea 1c             	shr    $0x1c,%edx
642dd5:	52                   	push   %edx
642dd6:	50                   	push   %eax
642dd7:	8b 54 24 38          	mov    0x38(%esp),%edx
642ddb:	c1 e2 04             	shl    $0x4,%edx
642dde:	33 c0                	xor    %eax,%eax
642de0:	0b 04 24             	or     (%esp),%eax
642de3:	0b 54 24 04          	or     0x4(%esp),%edx
642de7:	83 c4 08             	add    $0x8,%esp
642dea:	52                   	push   %edx
642deb:	50                   	push   %eax
642dec:	8b 44 24 3c          	mov    0x3c(%esp),%eax
642df0:	c1 e8 02             	shr    $0x2,%eax
642df3:	33 d2                	xor    %edx,%edx
642df5:	52                   	push   %edx
642df6:	50                   	push   %eax
642df7:	8b 44 24 40          	mov    0x40(%esp),%eax
642dfb:	8b 54 24 44          	mov    0x44(%esp),%edx
642dff:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642e03:	c1 e0 1e             	shl    $0x1e,%eax
642e06:	0b 04 24             	or     (%esp),%eax
642e09:	0b 54 24 04          	or     0x4(%esp),%edx
642e0d:	83 c4 08             	add    $0x8,%esp
642e10:	33 04 24             	xor    (%esp),%eax
642e13:	33 54 24 04          	xor    0x4(%esp),%edx
642e17:	83 c4 08             	add    $0x8,%esp
642e1a:	52                   	push   %edx
642e1b:	50                   	push   %eax
642e1c:	8b 44 24 3c          	mov    0x3c(%esp),%eax
642e20:	c1 e8 07             	shr    $0x7,%eax
642e23:	33 d2                	xor    %edx,%edx
642e25:	52                   	push   %edx
642e26:	50                   	push   %eax
642e27:	8b 44 24 40          	mov    0x40(%esp),%eax
642e2b:	8b 54 24 44          	mov    0x44(%esp),%edx
642e2f:	0f a4 c2 19          	shld   $0x19,%eax,%edx
642e33:	c1 e0 19             	shl    $0x19,%eax
642e36:	0b 04 24             	or     (%esp),%eax
642e39:	0b 54 24 04          	or     0x4(%esp),%edx
642e3d:	83 c4 08             	add    $0x8,%esp
642e40:	33 04 24             	xor    (%esp),%eax
642e43:	33 54 24 04          	xor    0x4(%esp),%edx
642e47:	83 c4 08             	add    $0x8,%esp
642e4a:	52                   	push   %edx
642e4b:	50                   	push   %eax
642e4c:	8b 44 24 38          	mov    0x38(%esp),%eax
642e50:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642e54:	23 44 24 40          	and    0x40(%esp),%eax
642e58:	23 54 24 44          	and    0x44(%esp),%edx
642e5c:	52                   	push   %edx
642e5d:	50                   	push   %eax
642e5e:	8b 44 24 40          	mov    0x40(%esp),%eax
642e62:	8b 54 24 44          	mov    0x44(%esp),%edx
642e66:	23 44 24 10          	and    0x10(%esp),%eax
642e6a:	23 54 24 14          	and    0x14(%esp),%edx
642e6e:	33 04 24             	xor    (%esp),%eax
642e71:	33 54 24 04          	xor    0x4(%esp),%edx
642e75:	83 c4 08             	add    $0x8,%esp
642e78:	52                   	push   %edx
642e79:	50                   	push   %eax
642e7a:	8b 44 24 48          	mov    0x48(%esp),%eax
642e7e:	8b 54 24 4c          	mov    0x4c(%esp),%edx
642e82:	23 44 24 10          	and    0x10(%esp),%eax
642e86:	23 54 24 14          	and    0x14(%esp),%edx
642e8a:	33 04 24             	xor    (%esp),%eax
642e8d:	33 54 24 04          	xor    0x4(%esp),%edx
642e91:	83 c4 08             	add    $0x8,%esp
642e94:	03 04 24             	add    (%esp),%eax
642e97:	13 54 24 04          	adc    0x4(%esp),%edx
642e9b:	83 c4 08             	add    $0x8,%esp
642e9e:	89 44 24 48          	mov    %eax,0x48(%esp)
642ea2:	89 54 24 4c          	mov    %edx,0x4c(%esp)
642ea6:	8b 44 24 08          	mov    0x8(%esp),%eax
642eaa:	8b 54 24 0c          	mov    0xc(%esp),%edx
642eae:	03 44 24 40          	add    0x40(%esp),%eax
642eb2:	13 54 24 44          	adc    0x44(%esp),%edx
642eb6:	89 44 24 08          	mov    %eax,0x8(%esp)
642eba:	89 54 24 0c          	mov    %edx,0xc(%esp)
642ebe:	8b 44 24 40          	mov    0x40(%esp),%eax
642ec2:	8b 54 24 44          	mov    0x44(%esp),%edx
642ec6:	03 44 24 48          	add    0x48(%esp),%eax
642eca:	13 54 24 4c          	adc    0x4c(%esp),%edx
642ece:	89 44 24 28          	mov    %eax,0x28(%esp)
642ed2:	89 54 24 2c          	mov    %edx,0x2c(%esp)
642ed6:	8b 44 24 08          	mov    0x8(%esp),%eax
642eda:	8b 54 24 0c          	mov    0xc(%esp),%edx
642ede:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
642ee2:	c1 ea 0e             	shr    $0xe,%edx
642ee5:	52                   	push   %edx
642ee6:	50                   	push   %eax
642ee7:	8b 54 24 10          	mov    0x10(%esp),%edx
642eeb:	c1 e2 12             	shl    $0x12,%edx
642eee:	33 c0                	xor    %eax,%eax
642ef0:	0b 04 24             	or     (%esp),%eax
642ef3:	0b 54 24 04          	or     0x4(%esp),%edx
642ef7:	83 c4 08             	add    $0x8,%esp
642efa:	52                   	push   %edx
642efb:	50                   	push   %eax