648f59:	8b 04 24             	mov    (%esp),%eax
648f5c:	8b 54 24 04          	mov    0x4(%esp),%edx
648f60:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
648f64:	c1 ea 0e             	shr    $0xe,%edx
648f67:	52                   	push   %edx
648f68:	50                   	push   %eax
648f69:	8b 54 24 08          	mov    0x8(%esp),%edx
648f6d:	c1 e2 12             	shl    $0x12,%edx
648f70:	33 c0                	xor    %eax,%eax
648f72:	0b 04 24             	or     (%esp),%eax
648f75:	0b 54 24 04          	or     0x4(%esp),%edx
648f79:	83 c4 08             	add    $0x8,%esp
648f7c:	52                   	push   %edx
648f7d:	50                   	push   %eax
648f7e:	8b 44 24 08          	mov    0x8(%esp),%eax
648f82:	8b 54 24 0c          	mov    0xc(%esp),%edx
648f86:	0f ac d0 12          	shrd   $0x12,%edx,%eax
648f8a:	c1 ea 12             	shr    $0x12,%edx
648f8d:	52                   	push   %edx
648f8e:	50                   	push   %eax
648f8f:	8b 54 24 10          	mov    0x10(%esp),%edx
648f93:	c1 e2 0e             	shl    $0xe,%edx
648f96:	33 c0                	xor    %eax,%eax
648f98:	0b 04 24             	or     (%esp),%eax
648f9b:	0b 54 24 04          	or     0x4(%esp),%edx
648f9f:	83 c4 08             	add    $0x8,%esp
648fa2:	33 04 24             	xor    (%esp),%eax
648fa5:	33 54 24 04          	xor    0x4(%esp),%edx
648fa9:	83 c4 08             	add    $0x8,%esp
648fac:	52                   	push   %edx
648fad:	50                   	push   %eax
648fae:	8b 44 24 0c          	mov    0xc(%esp),%eax
648fb2:	c1 e8 09             	shr    $0x9,%eax
648fb5:	33 d2                	xor    %edx,%edx
648fb7:	52                   	push   %edx
648fb8:	50                   	push   %eax
648fb9:	8b 44 24 10          	mov    0x10(%esp),%eax
648fbd:	8b 54 24 14          	mov    0x14(%esp),%edx
648fc1:	0f a4 c2 17          	shld   $0x17,%eax,%edx
648fc5:	c1 e0 17             	shl    $0x17,%eax
648fc8:	0b 04 24             	or     (%esp),%eax
648fcb:	0b 54 24 04          	or     0x4(%esp),%edx
648fcf:	83 c4 08             	add    $0x8,%esp
648fd2:	33 04 24             	xor    (%esp),%eax
648fd5:	33 54 24 04          	xor    0x4(%esp),%edx
648fd9:	83 c4 08             	add    $0x8,%esp
648fdc:	03 44 24 18          	add    0x18(%esp),%eax
648fe0:	13 54 24 1c          	adc    0x1c(%esp),%edx
648fe4:	52                   	push   %edx
648fe5:	50                   	push   %eax
648fe6:	8b 44 24 08          	mov    0x8(%esp),%eax
648fea:	8b 54 24 0c          	mov    0xc(%esp),%edx
648fee:	23 44 24 10          	and    0x10(%esp),%eax
648ff2:	23 54 24 14          	and    0x14(%esp),%edx
648ff6:	52                   	push   %edx
648ff7:	50                   	push   %eax
648ff8:	8b 44 24 10          	mov    0x10(%esp),%eax
648ffc:	8b 54 24 14          	mov    0x14(%esp),%edx
649000:	f7 d0                	not    %eax
649002:	f7 d2                	not    %edx
649004:	23 44 24 20          	and    0x20(%esp),%eax
649008:	23 54 24 24          	and    0x24(%esp),%edx
64900c:	33 04 24             	xor    (%esp),%eax
64900f:	33 54 24 04          	xor    0x4(%esp),%edx
649013:	83 c4 08             	add    $0x8,%esp
649016:	03 04 24             	add    (%esp),%eax
649019:	13 54 24 04          	adc    0x4(%esp),%edx
64901d:	83 c4 08             	add    $0x8,%esp
649020:	05 b6 42 3e cb       	add    $0xcb3e42b6,%eax
649025:	81 d2 be d4 c5 4c    	adc    $0x4cc5d4be,%edx
64902b:	03 84 24 b0 02 00 00 	add    0x2b0(%esp),%eax
649032:	13 94 24 b4 02 00 00 	adc    0x2b4(%esp),%edx
649039:	89 44 24 40          	mov    %eax,0x40(%esp)
64903d:	89 54 24 44          	mov    %edx,0x44(%esp)
649041:	8b 44 24 20          	mov    0x20(%esp),%eax
649045:	8b 54 24 24          	mov    0x24(%esp),%edx
649049:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
64904d:	c1 ea 1c             	shr    $0x1c,%edx
649050:	52                   	push   %edx
649051:	50                   	push   %eax
649052:	8b 54 24 28          	mov    0x28(%esp),%edx
649056:	c1 e2 04             	shl    $0x4,%edx
649059:	33 c0                	xor    %eax,%eax
64905b:	0b 04 24             	or     (%esp),%eax
64905e:	0b 54 24 04          	or     0x4(%esp),%edx
649062:	83 c4 08             	add    $0x8,%esp
649065:	52                   	push   %edx
649066:	50                   	push   %eax
649067:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64906b:	c1 e8 02             	shr    $0x2,%eax
64906e:	33 d2                	xor    %edx,%edx
649070:	52                   	push   %edx
649071:	50                   	push   %eax
649072:	8b 44 24 30          	mov    0x30(%esp),%eax
649076:	8b 54 24 34          	mov    0x34(%esp),%edx
64907a:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
64907e:	c1 e0 1e             	shl    $0x1e,%eax
649081:	0b 04 24             	or     (%esp),%eax
649084:	0b 54 24 04          	or     0x4(%esp),%edx
649088:	83 c4 08             	add    $0x8,%esp
64908b:	33 04 24             	xor    (%esp),%eax
64908e:	33 54 24 04          	xor    0x4(%esp),%edx
649092:	83 c4 08             	add    $0x8,%esp
649095:	52                   	push   %edx
649096:	50                   	push   %eax
649097:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64909b:	c1 e8 07             	shr    $0x7,%eax
64909e:	33 d2                	xor    %edx,%edx
6490a0:	52                   	push   %edx
6490a1:	50                   	push   %eax
6490a2:	8b 44 24 30          	mov    0x30(%esp),%eax
6490a6:	8b 54 24 34          	mov    0x34(%esp),%edx
6490aa:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6490ae:	c1 e0 19             	shl    $0x19,%eax
6490b1:	0b 04 24             	or     (%esp),%eax
6490b4:	0b 54 24 04          	or     0x4(%esp),%edx
6490b8:	83 c4 08             	add    $0x8,%esp
6490bb:	33 04 24             	xor    (%esp),%eax
6490be:	33 54 24 04          	xor    0x4(%esp),%edx
6490c2:	83 c4 08             	add    $0x8,%esp
6490c5:	52                   	push   %edx
6490c6:	50                   	push   %eax
6490c7:	8b 44 24 28          	mov    0x28(%esp),%eax
6490cb:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6490cf:	23 44 24 30          	and    0x30(%esp),%eax
6490d3:	23 54 24 34          	and    0x34(%esp),%edx
6490d7:	52                   	push   %edx
6490d8:	50                   	push   %eax
6490d9:	8b 44 24 30          	mov    0x30(%esp),%eax
6490dd:	8b 54 24 34          	mov    0x34(%esp),%edx
6490e1:	23 44 24 40          	and    0x40(%esp),%eax
6490e5:	23 54 24 44          	and    0x44(%esp),%edx
6490e9:	33 04 24             	xor    (%esp),%eax
6490ec:	33 54 24 04          	xor    0x4(%esp),%edx
6490f0:	83 c4 08             	add    $0x8,%esp
6490f3:	52                   	push   %edx
6490f4:	50                   	push   %eax
6490f5:	8b 44 24 38          	mov    0x38(%esp),%eax
6490f9:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6490fd:	23 44 24 40          	and    0x40(%esp),%eax
649101:	23 54 24 44          	and    0x44(%esp),%edx
649105:	33 04 24             	xor    (%esp),%eax
649108:	33 54 24 04          	xor    0x4(%esp),%edx
64910c:	83 c4 08             	add    $0x8,%esp
64910f:	03 04 24             	add    (%esp),%eax
649112:	13 54 24 04          	adc    0x4(%esp),%edx
649116:	83 c4 08             	add    $0x8,%esp
649119:	89 44 24 48          	mov    %eax,0x48(%esp)
64911d:	89 54 24 4c          	mov    %edx,0x4c(%esp)
649121:	8b 44 24 38          	mov    0x38(%esp),%eax
649125:	8b 54 24 3c          	mov    0x3c(%esp),%edx
649129:	03 44 24 40          	add    0x40(%esp),%eax
64912d:	13 54 24 44          	adc    0x44(%esp),%edx
649131:	89 44 24 38          	mov    %eax,0x38(%esp)
649135:	89 54 24 3c          	mov    %edx,0x3c(%esp)
649139:	8b 44 24 40          	mov    0x40(%esp),%eax
64913d:	8b 54 24 44          	mov    0x44(%esp),%edx
649141:	03 44 24 48          	add    0x48(%esp),%eax
649145:	13 54 24 4c          	adc    0x4c(%esp),%edx
649149:	89 44 24 18          	mov    %eax,0x18(%esp)
64914d:	89 54 24 1c          	mov    %edx,0x1c(%esp)
649151:	8b 44 24 38          	mov    0x38(%esp),%eax
649155:	8b 54 24 3c          	mov    0x3c(%esp),%edx
649159:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64915d:	c1 ea 0e             	shr    $0xe,%edx
649160:	52                   	push   %edx
649161:	50                   	push   %eax
649162:	8b 54 24 40          	mov    0x40(%esp),%edx
649166:	c1 e2 12             	shl    $0x12,%edx
649169:	33 c0                	xor    %eax,%eax
64916b:	0b 04 24             	or     (%esp),%eax
64916e:	0b 54 24 04          	or     0x4(%esp),%edx
649172:	83 c4 08             	add    $0x8,%esp
649175:	52                   	push   %edx
649176:	50                   	push   %eax
649177:	8b 44 24 40          	mov    0x40(%esp),%eax
64917b:	8b 54 24 44          	mov    0x44(%esp),%edx
64917f:	0f ac d0 12          	shrd   $0x12,%edx,%eax
649183:	c1 ea 12             	shr    $0x12,%edx
649186:	52                   	push   %edx
649187:	50                   	push   %eax
649188:	8b 54 24 48          	mov    0x48(%esp),%edx
64918c:	c1 e2 0e             	shl    $0xe,%edx
64918f:	33 c0                	xor    %eax,%eax
649191:	0b 04 24             	or     (%esp),%eax
649194:	0b 54 24 04          	or     0x4(%esp),%edx
649198:	83 c4 08             	add    $0x8,%esp
64919b:	33 04 24             	xor    (%esp),%eax
64919e:	33 54 24 04          	xor    0x4(%esp),%edx
6491a2:	83 c4 08             	add    $0x8,%esp
6491a5:	52                   	push   %edx
6491a6:	50                   	push   %eax
6491a7:	8b 44 24 44          	mov    0x44(%esp),%eax
6491ab:	c1 e8 09             	shr    $0x9,%eax
6491ae:	33 d2                	xor    %edx,%edx
6491b0:	52                   	push   %edx
6491b1:	50                   	push   %eax
6491b2:	8b 44 24 48          	mov    0x48(%esp),%eax
6491b6:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6491ba:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6491be:	c1 e0 17             	shl    $0x17,%eax
6491c1:	0b 04 24             	or     (%esp),%eax
6491c4:	0b 54 24 04          	or     0x4(%esp),%edx
6491c8:	83 c4 08             	add    $0x8,%esp
6491cb:	33 04 24             	xor    (%esp),%eax
6491ce:	33 54 24 04          	xor    0x4(%esp),%edx
6491d2:	83 c4 08             	add    $0x8,%esp
6491d5:	03 44 24 10          	add    0x10(%esp),%eax
6491d9:	13 54 24 14          	adc    0x14(%esp),%edx
6491dd:	52                   	push   %edx
6491de:	50                   	push   %eax
6491df:	8b 44 24 40          	mov    0x40(%esp),%eax
6491e3:	8b 54 24 44          	mov    0x44(%esp),%edx
6491e7:	23 44 24 08          	and    0x8(%esp),%eax
6491eb:	23 54 24 0c          	and    0xc(%esp),%edx
6491ef:	52                   	push   %edx
6491f0:	50                   	push   %eax
6491f1:	8b 44 24 48          	mov    0x48(%esp),%eax
6491f5:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6491f9:	f7 d0                	not    %eax
6491fb:	f7 d2                	not    %edx
6491fd:	23 44 24 18          	and    0x18(%esp),%eax
649201:	23 54 24 1c          	and    0x1c(%esp),%edx
649205:	33 04 24             	xor    (%esp),%eax
649208:	33 54 24 04          	xor    0x4(%esp),%edx
64920c:	83 c4 08             	add    $0x8,%esp
64920f:	03 04 24             	add    (%esp),%eax
649212:	13 54 24 04          	adc    0x4(%esp),%edx
649216:	83 c4 08             	add    $0x8,%esp
649219:	05 2a 7e 65 fc       	add    $0xfc657e2a,%eax
64921e:	81 d2 9c 29 7f 59    	adc    $0x597f299c,%edx
649224:	03 84 24 b8 02 00 00 	add    0x2b8(%esp),%eax
64922b:	13 94 24 bc 02 00 00 	adc    0x2bc(%esp),%edx
649232:	89 44 24 40          	mov    %eax,0x40(%esp)
649236:	89 54 24 44          	mov    %edx,0x44(%esp)
64923a:	8b 44 24 18          	mov    0x18(%esp),%eax
64923e:	8b 54 24 1c          	mov    0x1c(%esp),%edx
649242:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
649246:	c1 ea 1c             	shr    $0x1c,%edx
649249:	52                   	push   %edx
64924a:	50                   	push   %eax
64924b:	8b 54 24 20          	mov    0x20(%esp),%edx
64924f:	c1 e2 04             	shl    $0x4,%edx
649252:	33 c0                	xor    %eax,%eax
649254:	0b 04 24             	or     (%esp),%eax
649257:	0b 54 24 04          	or     0x4(%esp),%edx
64925b:	83 c4 08             	add    $0x8,%esp
64925e:	52                   	push   %edx
64925f:	50                   	push   %eax
649260:	8b 44 24 24          	mov    0x24(%esp),%eax
649264:	c1 e8 02             	shr    $0x2,%eax
649267:	33 d2                	xor    %edx,%edx
649269:	52                   	push   %edx
64926a:	50                   	push   %eax
64926b:	8b 44 24 28          	mov    0x28(%esp),%eax
64926f:	8b 54 24 2c          	mov    0x2c(%esp),%edx
649273:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
649277:	c1 e0 1e             	shl    $0x1e,%eax
64927a:	0b 04 24             	or     (%esp),%eax
64927d:	0b 54 24 04          	or     0x4(%esp),%edx
649281:	83 c4 08             	add    $0x8,%esp
649284:	33 04 24             	xor    (%esp),%eax
649287:	33 54 24 04          	xor    0x4(%esp),%edx
64928b:	83 c4 08             	add    $0x8,%esp
64928e:	52                   	push   %edx
64928f:	50                   	push   %eax
649290:	8b 44 24 24          	mov    0x24(%esp),%eax
649294:	c1 e8 07             	shr    $0x7,%eax
649297:	33 d2                	xor    %edx,%edx
649299:	52                   	push   %edx
64929a:	50                   	push   %eax
64929b:	8b 44 24 28          	mov    0x28(%esp),%eax
64929f:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6492a3:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6492a7:	c1 e0 19             	shl    $0x19,%eax
6492aa:	0b 04 24             	or     (%esp),%eax
6492ad:	0b 54 24 04          	or     0x4(%esp),%edx
6492b1:	83 c4 08             	add    $0x8,%esp
6492b4:	33 04 24             	xor    (%esp),%eax
6492b7:	33 54 24 04          	xor    0x4(%esp),%edx
6492bb:	83 c4 08             	add    $0x8,%esp
6492be:	52                   	push   %edx
6492bf:	50                   	push   %eax
6492c0:	8b 44 24 20          	mov    0x20(%esp),%eax
6492c4:	8b 54 24 24          	mov    0x24(%esp),%edx
6492c8:	23 44 24 28          	and    0x28(%esp),%eax
6492cc:	23 54 24 2c          	and    0x2c(%esp),%edx
6492d0:	52                   	push   %edx
6492d1:	50                   	push   %eax
6492d2:	8b 44 24 28          	mov    0x28(%esp),%eax
6492d6:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6492da:	23 44 24 38          	and    0x38(%esp),%eax
6492de:	23 54 24 3c          	and    0x3c(%esp),%edx
6492e2:	33 04 24             	xor    (%esp),%eax
6492e5:	33 54 24 04          	xor    0x4(%esp),%edx
6492e9:	83 c4 08             	add    $0x8,%esp
6492ec:	52                   	push   %edx
6492ed:	50                   	push   %eax
6492ee:	8b 44 24 30          	mov    0x30(%esp),%eax
6492f2:	8b 54 24 34          	mov    0x34(%esp),%edx
6492f6:	23 44 24 38          	and    0x38(%esp),%eax
6492fa:	23 54 24 3c          	and    0x3c(%esp),%edx
6492fe:	33 04 24             	xor    (%esp),%eax
649301:	33 54 24 04          	xor    0x4(%esp),%edx
649305:	83 c4 08             	add    $0x8,%esp
649308:	03 04 24             	add    (%esp),%eax
64930b:	13 54 24 04          	adc    0x4(%esp),%edx
64930f:	83 c4 08             	add    $0x8,%esp
649312:	89 44 24 48          	mov    %eax,0x48(%esp)
649316:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64931a:	8b 44 24 30          	mov    0x30(%esp),%eax
64931e:	8b 54 24 34          	mov    0x34(%esp),%edx
649322:	03 44 24 40          	add    0x40(%esp),%eax
649326:	13 54 24 44          	adc    0x44(%esp),%edx
64932a:	89 44 24 30          	mov    %eax,0x30(%esp)
64932e:	89 54 24 34          	mov    %edx,0x34(%esp)
649332:	8b 44 24 40          	mov    0x40(%esp),%eax
649336:	8b 54 24 44          	mov    0x44(%esp),%edx
64933a:	03 44 24 48          	add    0x48(%esp),%eax
64933e:	13 54 24 4c          	adc    0x4c(%esp),%edx
649342:	89 44 24 10          	mov    %eax,0x10(%esp)
649346:	89 54 24 14          	mov    %edx,0x14(%esp)
64934a:	8b 44 24 30          	mov    0x30(%esp),%eax
64934e:	8b 54 24 34          	mov    0x34(%esp),%edx
649352:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
649356:	c1 ea 0e             	shr    $0xe,%edx
649359:	52                   	push   %edx
64935a:	50                   	push   %eax
64935b:	8b 54 24 38          	mov    0x38(%esp),%edx
64935f:	c1 e2 12             	shl    $0x12,%edx
649362:	33 c0                	xor    %eax,%eax
649364:	0b 04 24             	or     (%esp),%eax
649367:	0b 54 24 04          	or     0x4(%esp),%edx
64936b:	83 c4 08             	add    $0x8,%esp
64936e:	52                   	push   %edx
64936f:	50                   	push   %eax
649370:	8b 44 24 38          	mov    0x38(%esp),%eax
649374:	8b 54 24 3c          	mov    0x3c(%esp),%edx
649378:	0f ac d0 12          	shrd   $0x12,%edx,%eax
64937c:	c1 ea 12             	shr    $0x12,%edx
64937f:	52                   	push   %edx
649380:	50                   	push   %eax
649381:	8b 54 24 40          	mov    0x40(%esp),%edx
649385:	c1 e2 0e             	shl    $0xe,%edx
649388:	33 c0                	xor    %eax,%eax
64938a:	0b 04 24             	or     (%esp),%eax
64938d:	0b 54 24 04          	or     0x4(%esp),%edx
649391:	83 c4 08             	add    $0x8,%esp
649394:	33 04 24             	xor    (%esp),%eax
649397:	33 54 24 04          	xor    0x4(%esp),%edx