641dd2:	33 54 24 04          	xor    0x4(%esp),%edx
641dd6:	83 c4 08             	add    $0x8,%esp
641dd9:	03 04 24             	add    (%esp),%eax
641ddc:	13 54 24 04          	adc    0x4(%esp),%edx
641de0:	83 c4 08             	add    $0x8,%esp
641de3:	05 b5 d5 8c 8b       	add    $0x8b8cd5b5,%eax
641de8:	81 d2 c6 9d c1 0f    	adc    $0xfc19dc6,%edx
641dee:	03 84 24 e0 00 00 00 	add    0xe0(%esp),%eax
641df5:	13 94 24 e4 00 00 00 	adc    0xe4(%esp),%edx
641dfc:	89 44 24 40          	mov    %eax,0x40(%esp)
641e00:	89 54 24 44          	mov    %edx,0x44(%esp)
641e04:	8b 44 24 30          	mov    0x30(%esp),%eax
641e08:	8b 54 24 34          	mov    0x34(%esp),%edx
641e0c:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
641e10:	c1 ea 1c             	shr    $0x1c,%edx
641e13:	52                   	push   %edx
641e14:	50                   	push   %eax
641e15:	8b 54 24 38          	mov    0x38(%esp),%edx
641e19:	c1 e2 04             	shl    $0x4,%edx
641e1c:	33 c0                	xor    %eax,%eax
641e1e:	0b 04 24             	or     (%esp),%eax
641e21:	0b 54 24 04          	or     0x4(%esp),%edx
641e25:	83 c4 08             	add    $0x8,%esp
641e28:	52                   	push   %edx
641e29:	50                   	push   %eax
641e2a:	8b 44 24 3c          	mov    0x3c(%esp),%eax
641e2e:	c1 e8 02             	shr    $0x2,%eax
641e31:	33 d2                	xor    %edx,%edx
641e33:	52                   	push   %edx
641e34:	50                   	push   %eax
641e35:	8b 44 24 40          	mov    0x40(%esp),%eax
641e39:	8b 54 24 44          	mov    0x44(%esp),%edx
641e3d:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
641e41:	c1 e0 1e             	shl    $0x1e,%eax
641e44:	0b 04 24             	or     (%esp),%eax
641e47:	0b 54 24 04          	or     0x4(%esp),%edx
641e4b:	83 c4 08             	add    $0x8,%esp
641e4e:	33 04 24             	xor    (%esp),%eax
641e51:	33 54 24 04          	xor    0x4(%esp),%edx
641e55:	83 c4 08             	add    $0x8,%esp
641e58:	52                   	push   %edx
641e59:	50                   	push   %eax
641e5a:	8b 44 24 3c          	mov    0x3c(%esp),%eax
641e5e:	c1 e8 07             	shr    $0x7,%eax
641e61:	33 d2                	xor    %edx,%edx
641e63:	52                   	push   %edx
641e64:	50                   	push   %eax
641e65:	8b 44 24 40          	mov    0x40(%esp),%eax
641e69:	8b 54 24 44          	mov    0x44(%esp),%edx
641e6d:	0f a4 c2 19          	shld   $0x19,%eax,%edx
641e71:	c1 e0 19             	shl    $0x19,%eax
641e74:	0b 04 24             	or     (%esp),%eax
641e77:	0b 54 24 04          	or     0x4(%esp),%edx
641e7b:	83 c4 08             	add    $0x8,%esp
641e7e:	33 04 24             	xor    (%esp),%eax
641e81:	33 54 24 04          	xor    0x4(%esp),%edx
641e85:	83 c4 08             	add    $0x8,%esp
641e88:	52                   	push   %edx
641e89:	50                   	push   %eax
641e8a:	8b 44 24 38          	mov    0x38(%esp),%eax
641e8e:	8b 54 24 3c          	mov    0x3c(%esp),%edx
641e92:	23 44 24 40          	and    0x40(%esp),%eax
641e96:	23 54 24 44          	and    0x44(%esp),%edx
641e9a:	52                   	push   %edx
641e9b:	50                   	push   %eax
641e9c:	8b 44 24 40          	mov    0x40(%esp),%eax
641ea0:	8b 54 24 44          	mov    0x44(%esp),%edx
641ea4:	23 44 24 10          	and    0x10(%esp),%eax
641ea8:	23 54 24 14          	and    0x14(%esp),%edx
641eac:	33 04 24             	xor    (%esp),%eax
641eaf:	33 54 24 04          	xor    0x4(%esp),%edx
641eb3:	83 c4 08             	add    $0x8,%esp
641eb6:	52                   	push   %edx
641eb7:	50                   	push   %eax
641eb8:	8b 44 24 48          	mov    0x48(%esp),%eax
641ebc:	8b 54 24 4c          	mov    0x4c(%esp),%edx
641ec0:	23 44 24 10          	and    0x10(%esp),%eax
641ec4:	23 54 24 14          	and    0x14(%esp),%edx
641ec8:	33 04 24             	xor    (%esp),%eax
641ecb:	33 54 24 04          	xor    0x4(%esp),%edx
641ecf:	83 c4 08             	add    $0x8,%esp
641ed2:	03 04 24             	add    (%esp),%eax
641ed5:	13 54 24 04          	adc    0x4(%esp),%edx
641ed9:	83 c4 08             	add    $0x8,%esp
641edc:	89 44 24 48          	mov    %eax,0x48(%esp)
641ee0:	89 54 24 4c          	mov    %edx,0x4c(%esp)
641ee4:	8b 44 24 08          	mov    0x8(%esp),%eax
641ee8:	8b 54 24 0c          	mov    0xc(%esp),%edx
641eec:	03 44 24 40          	add    0x40(%esp),%eax
641ef0:	13 54 24 44          	adc    0x44(%esp),%edx
641ef4:	89 44 24 08          	mov    %eax,0x8(%esp)
641ef8:	89 54 24 0c          	mov    %edx,0xc(%esp)
641efc:	8b 44 24 40          	mov    0x40(%esp),%eax
641f00:	8b 54 24 44          	mov    0x44(%esp),%edx
641f04:	03 44 24 48          	add    0x48(%esp),%eax
641f08:	13 54 24 4c          	adc    0x4c(%esp),%edx
641f0c:	89 44 24 28          	mov    %eax,0x28(%esp)
641f10:	89 54 24 2c          	mov    %edx,0x2c(%esp)
641f14:	8b 44 24 08          	mov    0x8(%esp),%eax
641f18:	8b 54 24 0c          	mov    0xc(%esp),%edx
641f1c:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
641f20:	c1 ea 0e             	shr    $0xe,%edx
641f23:	52                   	push   %edx
641f24:	50                   	push   %eax
641f25:	8b 54 24 10          	mov    0x10(%esp),%edx
641f29:	c1 e2 12             	shl    $0x12,%edx
641f2c:	33 c0                	xor    %eax,%eax
641f2e:	0b 04 24             	or     (%esp),%eax
641f31:	0b 54 24 04          	or     0x4(%esp),%edx
641f35:	83 c4 08             	add    $0x8,%esp
641f38:	52                   	push   %edx
641f39:	50                   	push   %eax
641f3a:	8b 44 24 10          	mov    0x10(%esp),%eax
641f3e:	8b 54 24 14          	mov    0x14(%esp),%edx
641f42:	0f ac d0 12          	shrd   $0x12,%edx,%eax
641f46:	c1 ea 12             	shr    $0x12,%edx
641f49:	52                   	push   %edx
641f4a:	50                   	push   %eax
641f4b:	8b 54 24 18          	mov    0x18(%esp),%edx
641f4f:	c1 e2 0e             	shl    $0xe,%edx
641f52:	33 c0                	xor    %eax,%eax
641f54:	0b 04 24             	or     (%esp),%eax
641f57:	0b 54 24 04          	or     0x4(%esp),%edx
641f5b:	83 c4 08             	add    $0x8,%esp
641f5e:	33 04 24             	xor    (%esp),%eax
641f61:	33 54 24 04          	xor    0x4(%esp),%edx
641f65:	83 c4 08             	add    $0x8,%esp
641f68:	52                   	push   %edx
641f69:	50                   	push   %eax
641f6a:	8b 44 24 14          	mov    0x14(%esp),%eax
641f6e:	c1 e8 09             	shr    $0x9,%eax
641f71:	33 d2                	xor    %edx,%edx
641f73:	52                   	push   %edx
641f74:	50                   	push   %eax
641f75:	8b 44 24 18          	mov    0x18(%esp),%eax
641f79:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641f7d:	0f a4 c2 17          	shld   $0x17,%eax,%edx
641f81:	c1 e0 17             	shl    $0x17,%eax
641f84:	0b 04 24             	or     (%esp),%eax
641f87:	0b 54 24 04          	or     0x4(%esp),%edx
641f8b:	83 c4 08             	add    $0x8,%esp
641f8e:	33 04 24             	xor    (%esp),%eax
641f91:	33 54 24 04          	xor    0x4(%esp),%edx
641f95:	83 c4 08             	add    $0x8,%esp
641f98:	03 44 24 20          	add    0x20(%esp),%eax
641f9c:	13 54 24 24          	adc    0x24(%esp),%edx
641fa0:	52                   	push   %edx
641fa1:	50                   	push   %eax
641fa2:	8b 44 24 10          	mov    0x10(%esp),%eax
641fa6:	8b 54 24 14          	mov    0x14(%esp),%edx
641faa:	23 44 24 18          	and    0x18(%esp),%eax
641fae:	23 54 24 1c          	and    0x1c(%esp),%edx
641fb2:	52                   	push   %edx
641fb3:	50                   	push   %eax
641fb4:	8b 44 24 18          	mov    0x18(%esp),%eax
641fb8:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641fbc:	f7 d0                	not    %eax
641fbe:	f7 d2                	not    %edx
641fc0:	23 44 24 28          	and    0x28(%esp),%eax
641fc4:	23 54 24 2c          	and    0x2c(%esp),%edx
641fc8:	33 04 24             	xor    (%esp),%eax
641fcb:	33 54 24 04          	xor    0x4(%esp),%edx
641fcf:	83 c4 08             	add    $0x8,%esp
641fd2:	03 04 24             	add    (%esp),%eax
641fd5:	13 54 24 04          	adc    0x4(%esp),%edx
641fd9:	83 c4 08             	add    $0x8,%esp
641fdc:	05 65 9c ac 77       	add    $0x77ac9c65,%eax
641fe1:	81 d2 cc a1 0c 24    	adc    $0x240ca1cc,%edx
641fe7:	03 84 24 e8 00 00 00 	add    0xe8(%esp),%eax
641fee:	13 94 24 ec 00 00 00 	adc    0xec(%esp),%edx
641ff5:	89 44 24 40          	mov    %eax,0x40(%esp)
641ff9:	89 54 24 44          	mov    %edx,0x44(%esp)
641ffd:	8b 44 24 28          	mov    0x28(%esp),%eax
642001:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642005:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
642009:	c1 ea 1c             	shr    $0x1c,%edx
64200c:	52                   	push   %edx
64200d:	50                   	push   %eax
64200e:	8b 54 24 30          	mov    0x30(%esp),%edx
642012:	c1 e2 04             	shl    $0x4,%edx
642015:	33 c0                	xor    %eax,%eax
642017:	0b 04 24             	or     (%esp),%eax
64201a:	0b 54 24 04          	or     0x4(%esp),%edx
64201e:	83 c4 08             	add    $0x8,%esp
642021:	52                   	push   %edx
642022:	50                   	push   %eax
642023:	8b 44 24 34          	mov    0x34(%esp),%eax
642027:	c1 e8 02             	shr    $0x2,%eax
64202a:	33 d2                	xor    %edx,%edx
64202c:	52                   	push   %edx
64202d:	50                   	push   %eax
64202e:	8b 44 24 38          	mov    0x38(%esp),%eax
642032:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642036:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
64203a:	c1 e0 1e             	shl    $0x1e,%eax
64203d:	0b 04 24             	or     (%esp),%eax
642040:	0b 54 24 04          	or     0x4(%esp),%edx
642044:	83 c4 08             	add    $0x8,%esp
642047:	33 04 24             	xor    (%esp),%eax
64204a:	33 54 24 04          	xor    0x4(%esp),%edx
64204e:	83 c4 08             	add    $0x8,%esp
642051:	52                   	push   %edx
642052:	50                   	push   %eax
642053:	8b 44 24 34          	mov    0x34(%esp),%eax
642057:	c1 e8 07             	shr    $0x7,%eax
64205a:	33 d2                	xor    %edx,%edx
64205c:	52                   	push   %edx
64205d:	50                   	push   %eax
64205e:	8b 44 24 38          	mov    0x38(%esp),%eax
642062:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642066:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64206a:	c1 e0 19             	shl    $0x19,%eax
64206d:	0b 04 24             	or     (%esp),%eax
642070:	0b 54 24 04          	or     0x4(%esp),%edx
642074:	83 c4 08             	add    $0x8,%esp
642077:	33 04 24             	xor    (%esp),%eax
64207a:	33 54 24 04          	xor    0x4(%esp),%edx
64207e:	83 c4 08             	add    $0x8,%esp
642081:	52                   	push   %edx
642082:	50                   	push   %eax
642083:	8b 44 24 30          	mov    0x30(%esp),%eax
642087:	8b 54 24 34          	mov    0x34(%esp),%edx
64208b:	23 44 24 38          	and    0x38(%esp),%eax
64208f:	23 54 24 3c          	and    0x3c(%esp),%edx
642093:	52                   	push   %edx
642094:	50                   	push   %eax
642095:	8b 44 24 38          	mov    0x38(%esp),%eax
642099:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64209d:	23 44 24 48          	and    0x48(%esp),%eax
6420a1:	23 54 24 4c          	and    0x4c(%esp),%edx
6420a5:	33 04 24             	xor    (%esp),%eax
6420a8:	33 54 24 04          	xor    0x4(%esp),%edx
6420ac:	83 c4 08             	add    $0x8,%esp
6420af:	52                   	push   %edx
6420b0:	50                   	push   %eax
6420b1:	8b 44 24 40          	mov    0x40(%esp),%eax
6420b5:	8b 54 24 44          	mov    0x44(%esp),%edx
6420b9:	23 44 24 48          	and    0x48(%esp),%eax
6420bd:	23 54 24 4c          	and    0x4c(%esp),%edx
6420c1:	33 04 24             	xor    (%esp),%eax
6420c4:	33 54 24 04          	xor    0x4(%esp),%edx
6420c8:	83 c4 08             	add    $0x8,%esp
6420cb:	03 04 24             	add    (%esp),%eax
6420ce:	13 54 24 04          	adc    0x4(%esp),%edx
6420d2:	83 c4 08             	add    $0x8,%esp
6420d5:	89 44 24 48          	mov    %eax,0x48(%esp)
6420d9:	89 54 24 4c          	mov    %edx,0x4c(%esp)
6420dd:	8b 04 24             	mov    (%esp),%eax
6420e0:	8b 54 24 04          	mov    0x4(%esp),%edx
6420e4:	03 44 24 40          	add    0x40(%esp),%eax
6420e8:	13 54 24 44          	adc    0x44(%esp),%edx
6420ec:	89 04 24             	mov    %eax,(%esp)
6420ef:	89 54 24 04          	mov    %edx,0x4(%esp)
6420f3:	8b 44 24 40          	mov    0x40(%esp),%eax
6420f7:	8b 54 24 44          	mov    0x44(%esp),%edx
6420fb:	03 44 24 48          	add    0x48(%esp),%eax
6420ff:	13 54 24 4c          	adc    0x4c(%esp),%edx
642103:	89 44 24 20          	mov    %eax,0x20(%esp)
642107:	89 54 24 24          	mov    %edx,0x24(%esp)
64210b:	8b 04 24             	mov    (%esp),%eax
64210e:	8b 54 24 04          	mov    0x4(%esp),%edx
642112:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
642116:	c1 ea 0e             	shr    $0xe,%edx
642119:	52                   	push   %edx
64211a:	50                   	push   %eax
64211b:	8b 54 24 08          	mov    0x8(%esp),%edx
64211f:	c1 e2 12             	shl    $0x12,%edx
642122:	33 c0                	xor    %eax,%eax
642124:	0b 04 24             	or     (%esp),%eax
642127:	0b 54 24 04          	or     0x4(%esp),%edx
64212b:	83 c4 08             	add    $0x8,%esp
64212e:	52                   	push   %edx
64212f:	50                   	push   %eax
642130:	8b 44 24 08          	mov    0x8(%esp),%eax
642134:	8b 54 24 0c          	mov    0xc(%esp),%edx
642138:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64213c:	c1 ea 12             	shr    $0x12,%edx
64213f:	52                   	push   %edx
642140:	50                   	push   %eax
642141:	8b 54 24 10          	mov    0x10(%esp),%edx
642145:	c1 e2 0e             	shl    $0xe,%edx
642148:	33 c0                	xor    %eax,%eax
64214a:	0b 04 24             	or     (%esp),%eax
64214d:	0b 54 24 04          	or     0x4(%esp),%edx
642151:	83 c4 08             	add    $0x8,%esp
642154:	33 04 24             	xor    (%esp),%eax
642157:	33 54 24 04          	xor    0x4(%esp),%edx
64215b:	83 c4 08             	add    $0x8,%esp
64215e:	52                   	push   %edx
64215f:	50                   	push   %eax
642160:	8b 44 24 0c          	mov    0xc(%esp),%eax
642164:	c1 e8 09             	shr    $0x9,%eax
642167:	33 d2                	xor    %edx,%edx
642169:	52                   	push   %edx
64216a:	50                   	push   %eax
64216b:	8b 44 24 10          	mov    0x10(%esp),%eax
64216f:	8b 54 24 14          	mov    0x14(%esp),%edx
642173:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642177:	c1 e0 17             	shl    $0x17,%eax
64217a:	0b 04 24             	or     (%esp),%eax
64217d:	0b 54 24 04          	or     0x4(%esp),%edx
642181:	83 c4 08             	add    $0x8,%esp
642184:	33 04 24             	xor    (%esp),%eax
642187:	33 54 24 04          	xor    0x4(%esp),%edx
64218b:	83 c4 08             	add    $0x8,%esp
64218e:	03 44 24 18          	add    0x18(%esp),%eax
642192:	13 54 24 1c          	adc    0x1c(%esp),%edx
642196:	52                   	push   %edx
642197:	50                   	push   %eax
642198:	8b 44 24 08          	mov    0x8(%esp),%eax
64219c:	8b 54 24 0c          	mov    0xc(%esp),%edx
6421a0:	23 44 24 10          	and    0x10(%esp),%eax
6421a4:	23 54 24 14          	and    0x14(%esp),%edx
6421a8:	52                   	push   %edx
6421a9:	50                   	push   %eax
6421aa:	8b 44 24 10          	mov    0x10(%esp),%eax
6421ae:	8b 54 24 14          	mov    0x14(%esp),%edx
6421b2:	f7 d0                	not    %eax
6421b4:	f7 d2                	not    %edx
6421b6:	23 44 24 20          	and    0x20(%esp),%eax
6421ba:	23 54 24 24          	and    0x24(%esp),%edx
6421be:	33 04 24             	xor    (%esp),%eax
6421c1:	33 54 24 04          	xor    0x4(%esp),%edx
6421c5:	83 c4 08             	add    $0x8,%esp
6421c8:	03 04 24             	add    (%esp),%eax
6421cb:	13 54 24 04          	adc    0x4(%esp),%edx
6421cf:	83 c4 08             	add    $0x8,%esp
6421d2:	05 75 02 2b 59       	add    $0x592b0275,%eax
6421d7:	81 d2 6f 2c e9 2d    	adc    $0x2de92c6f,%edx
6421dd:	03 84 24 f0 00 00 00 	add    0xf0(%esp),%eax
6421e4:	13 94 24 f4 00 00 00 	adc    0xf4(%esp),%edx
6421eb:	89 44 24 40          	mov    %eax,0x40(%esp)
6421ef:	89 54 24 44          	mov    %edx,0x44(%esp)
6421f3:	8b 44 24 20          	mov    0x20(%esp),%eax
6421f7:	8b 54 24 24          	mov    0x24(%esp),%edx
6421fb:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6421ff:	c1 ea 1c             	shr    $0x1c,%edx
642202:	52                   	push   %edx
642203:	50                   	push   %eax
642204:	8b 54 24 28          	mov    0x28(%esp),%edx
642208:	c1 e2 04             	shl    $0x4,%edx
64220b:	33 c0                	xor    %eax,%eax
64220d:	0b 04 24             	or     (%esp),%eax
642210:	0b 54 24 04          	or     0x4(%esp),%edx
642214:	83 c4 08             	add    $0x8,%esp
642217:	52                   	push   %edx
642218:	50                   	push   %eax
642219:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64221d:	c1 e8 02             	shr    $0x2,%eax
642220:	33 d2                	xor    %edx,%edx