646f30:	0f a4 c2 19          	shld   $0x19,%eax,%edx
646f34:	c1 e0 19             	shl    $0x19,%eax
646f37:	0b 04 24             	or     (%esp),%eax
646f3a:	0b 54 24 04          	or     0x4(%esp),%edx
646f3e:	83 c4 08             	add    $0x8,%esp
646f41:	33 04 24             	xor    (%esp),%eax
646f44:	33 54 24 04          	xor    0x4(%esp),%edx
646f48:	83 c4 08             	add    $0x8,%esp
646f4b:	52                   	push   %edx
646f4c:	50                   	push   %eax
646f4d:	8b 44 24 30          	mov    0x30(%esp),%eax
646f51:	8b 54 24 34          	mov    0x34(%esp),%edx
646f55:	23 44 24 38          	and    0x38(%esp),%eax
646f59:	23 54 24 3c          	and    0x3c(%esp),%edx
646f5d:	52                   	push   %edx
646f5e:	50                   	push   %eax
646f5f:	8b 44 24 38          	mov    0x38(%esp),%eax
646f63:	8b 54 24 3c          	mov    0x3c(%esp),%edx
646f67:	23 44 24 48          	and    0x48(%esp),%eax
646f6b:	23 54 24 4c          	and    0x4c(%esp),%edx
646f6f:	33 04 24             	xor    (%esp),%eax
646f72:	33 54 24 04          	xor    0x4(%esp),%edx
646f76:	83 c4 08             	add    $0x8,%esp
646f79:	52                   	push   %edx
646f7a:	50                   	push   %eax
646f7b:	8b 44 24 40          	mov    0x40(%esp),%eax
646f7f:	8b 54 24 44          	mov    0x44(%esp),%edx
646f83:	23 44 24 48          	and    0x48(%esp),%eax
646f87:	23 54 24 4c          	and    0x4c(%esp),%edx
646f8b:	33 04 24             	xor    (%esp),%eax
646f8e:	33 54 24 04          	xor    0x4(%esp),%edx
646f92:	83 c4 08             	add    $0x8,%esp
646f95:	03 04 24             	add    (%esp),%eax
646f98:	13 54 24 04          	adc    0x4(%esp),%edx
646f9c:	83 c4 08             	add    $0x8,%esp
646f9f:	89 44 24 48          	mov    %eax,0x48(%esp)
646fa3:	89 54 24 4c          	mov    %edx,0x4c(%esp)
646fa7:	8b 04 24             	mov    (%esp),%eax
646faa:	8b 54 24 04          	mov    0x4(%esp),%edx
646fae:	03 44 24 40          	add    0x40(%esp),%eax
646fb2:	13 54 24 44          	adc    0x44(%esp),%edx
646fb6:	89 04 24             	mov    %eax,(%esp)
646fb9:	89 54 24 04          	mov    %edx,0x4(%esp)
646fbd:	8b 44 24 40          	mov    0x40(%esp),%eax
646fc1:	8b 54 24 44          	mov    0x44(%esp),%edx
646fc5:	03 44 24 48          	add    0x48(%esp),%eax
646fc9:	13 54 24 4c          	adc    0x4c(%esp),%edx
646fcd:	89 44 24 20          	mov    %eax,0x20(%esp)
646fd1:	89 54 24 24          	mov    %edx,0x24(%esp)
646fd5:	8b 04 24             	mov    (%esp),%eax
646fd8:	8b 54 24 04          	mov    0x4(%esp),%edx
646fdc:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
646fe0:	c1 ea 0e             	shr    $0xe,%edx
646fe3:	52                   	push   %edx
646fe4:	50                   	push   %eax
646fe5:	8b 54 24 08          	mov    0x8(%esp),%edx
646fe9:	c1 e2 12             	shl    $0x12,%edx
646fec:	33 c0                	xor    %eax,%eax
646fee:	0b 04 24             	or     (%esp),%eax
646ff1:	0b 54 24 04          	or     0x4(%esp),%edx
646ff5:	83 c4 08             	add    $0x8,%esp
646ff8:	52                   	push   %edx
646ff9:	50                   	push   %eax
646ffa:	8b 44 24 08          	mov    0x8(%esp),%eax
646ffe:	8b 54 24 0c          	mov    0xc(%esp),%edx
647002:	0f ac d0 12          	shrd   $0x12,%edx,%eax
647006:	c1 ea 12             	shr    $0x12,%edx
647009:	52                   	push   %edx
64700a:	50                   	push   %eax
64700b:	8b 54 24 10          	mov    0x10(%esp),%edx
64700f:	c1 e2 0e             	shl    $0xe,%edx
647012:	33 c0                	xor    %eax,%eax
647014:	0b 04 24             	or     (%esp),%eax
647017:	0b 54 24 04          	or     0x4(%esp),%edx
64701b:	83 c4 08             	add    $0x8,%esp
64701e:	33 04 24             	xor    (%esp),%eax
647021:	33 54 24 04          	xor    0x4(%esp),%edx
647025:	83 c4 08             	add    $0x8,%esp
647028:	52                   	push   %edx
647029:	50                   	push   %eax
64702a:	8b 44 24 0c          	mov    0xc(%esp),%eax
64702e:	c1 e8 09             	shr    $0x9,%eax
647031:	33 d2                	xor    %edx,%edx
647033:	52                   	push   %edx
647034:	50                   	push   %eax
647035:	8b 44 24 10          	mov    0x10(%esp),%eax
647039:	8b 54 24 14          	mov    0x14(%esp),%edx
64703d:	0f a4 c2 17          	shld   $0x17,%eax,%edx
647041:	c1 e0 17             	shl    $0x17,%eax
647044:	0b 04 24             	or     (%esp),%eax
647047:	0b 54 24 04          	or     0x4(%esp),%edx
64704b:	83 c4 08             	add    $0x8,%esp
64704e:	33 04 24             	xor    (%esp),%eax
647051:	33 54 24 04          	xor    0x4(%esp),%edx
647055:	83 c4 08             	add    $0x8,%esp
647058:	03 44 24 18          	add    0x18(%esp),%eax
64705c:	13 54 24 1c          	adc    0x1c(%esp),%edx
647060:	52                   	push   %edx
647061:	50                   	push   %eax
647062:	8b 44 24 08          	mov    0x8(%esp),%eax
647066:	8b 54 24 0c          	mov    0xc(%esp),%edx
64706a:	23 44 24 10          	and    0x10(%esp),%eax
64706e:	23 54 24 14          	and    0x14(%esp),%edx
647072:	52                   	push   %edx
647073:	50                   	push   %eax
647074:	8b 44 24 10          	mov    0x10(%esp),%eax
647078:	8b 54 24 14          	mov    0x14(%esp),%edx
64707c:	f7 d0                	not    %eax
64707e:	f7 d2                	not    %edx
647080:	23 44 24 20          	and    0x20(%esp),%eax
647084:	23 54 24 24          	and    0x24(%esp),%edx
647088:	33 04 24             	xor    (%esp),%eax
64708b:	33 54 24 04          	xor    0x4(%esp),%edx
64708f:	83 c4 08             	add    $0x8,%esp
647092:	03 04 24             	add    (%esp),%eax
647095:	13 54 24 04          	adc    0x4(%esp),%edx
647099:	83 c4 08             	add    $0x8,%esp
64709c:	05 28 1e 63 23       	add    $0x23631e28,%eax
6470a1:	81 d2 fa ff be 90    	adc    $0x90befffa,%edx
6470a7:	03 84 24 30 02 00 00 	add    0x230(%esp),%eax
6470ae:	13 94 24 34 02 00 00 	adc    0x234(%esp),%edx
6470b5:	89 44 24 40          	mov    %eax,0x40(%esp)
6470b9:	89 54 24 44          	mov    %edx,0x44(%esp)
6470bd:	8b 44 24 20          	mov    0x20(%esp),%eax
6470c1:	8b 54 24 24          	mov    0x24(%esp),%edx
6470c5:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6470c9:	c1 ea 1c             	shr    $0x1c,%edx
6470cc:	52                   	push   %edx
6470cd:	50                   	push   %eax
6470ce:	8b 54 24 28          	mov    0x28(%esp),%edx
6470d2:	c1 e2 04             	shl    $0x4,%edx
6470d5:	33 c0                	xor    %eax,%eax
6470d7:	0b 04 24             	or     (%esp),%eax
6470da:	0b 54 24 04          	or     0x4(%esp),%edx
6470de:	83 c4 08             	add    $0x8,%esp
6470e1:	52                   	push   %edx
6470e2:	50                   	push   %eax
6470e3:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6470e7:	c1 e8 02             	shr    $0x2,%eax
6470ea:	33 d2                	xor    %edx,%edx
6470ec:	52                   	push   %edx
6470ed:	50                   	push   %eax
6470ee:	8b 44 24 30          	mov    0x30(%esp),%eax
6470f2:	8b 54 24 34          	mov    0x34(%esp),%edx
6470f6:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6470fa:	c1 e0 1e             	shl    $0x1e,%eax
6470fd:	0b 04 24             	or     (%esp),%eax
647100:	0b 54 24 04          	or     0x4(%esp),%edx
647104:	83 c4 08             	add    $0x8,%esp
647107:	33 04 24             	xor    (%esp),%eax
64710a:	33 54 24 04          	xor    0x4(%esp),%edx
64710e:	83 c4 08             	add    $0x8,%esp
647111:	52                   	push   %edx
647112:	50                   	push   %eax
647113:	8b 44 24 2c          	mov    0x2c(%esp),%eax
647117:	c1 e8 07             	shr    $0x7,%eax
64711a:	33 d2                	xor    %edx,%edx
64711c:	52                   	push   %edx
64711d:	50                   	push   %eax
64711e:	8b 44 24 30          	mov    0x30(%esp),%eax
647122:	8b 54 24 34          	mov    0x34(%esp),%edx
647126:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64712a:	c1 e0 19             	shl    $0x19,%eax
64712d:	0b 04 24             	or     (%esp),%eax
647130:	0b 54 24 04          	or     0x4(%esp),%edx
647134:	83 c4 08             	add    $0x8,%esp
647137:	33 04 24             	xor    (%esp),%eax
64713a:	33 54 24 04          	xor    0x4(%esp),%edx
64713e:	83 c4 08             	add    $0x8,%esp
647141:	52                   	push   %edx
647142:	50                   	push   %eax
647143:	8b 44 24 28          	mov    0x28(%esp),%eax
647147:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64714b:	23 44 24 30          	and    0x30(%esp),%eax
64714f:	23 54 24 34          	and    0x34(%esp),%edx
647153:	52                   	push   %edx
647154:	50                   	push   %eax
647155:	8b 44 24 30          	mov    0x30(%esp),%eax
647159:	8b 54 24 34          	mov    0x34(%esp),%edx
64715d:	23 44 24 40          	and    0x40(%esp),%eax
647161:	23 54 24 44          	and    0x44(%esp),%edx
647165:	33 04 24             	xor    (%esp),%eax
647168:	33 54 24 04          	xor    0x4(%esp),%edx
64716c:	83 c4 08             	add    $0x8,%esp
64716f:	52                   	push   %edx
647170:	50                   	push   %eax
647171:	8b 44 24 38          	mov    0x38(%esp),%eax
647175:	8b 54 24 3c          	mov    0x3c(%esp),%edx
647179:	23 44 24 40          	and    0x40(%esp),%eax
64717d:	23 54 24 44          	and    0x44(%esp),%edx
647181:	33 04 24             	xor    (%esp),%eax
647184:	33 54 24 04          	xor    0x4(%esp),%edx
647188:	83 c4 08             	add    $0x8,%esp
64718b:	03 04 24             	add    (%esp),%eax
64718e:	13 54 24 04          	adc    0x4(%esp),%edx
647192:	83 c4 08             	add    $0x8,%esp
647195:	89 44 24 48          	mov    %eax,0x48(%esp)
647199:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64719d:	8b 44 24 38          	mov    0x38(%esp),%eax
6471a1:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6471a5:	03 44 24 40          	add    0x40(%esp),%eax
6471a9:	13 54 24 44          	adc    0x44(%esp),%edx
6471ad:	89 44 24 38          	mov    %eax,0x38(%esp)
6471b1:	89 54 24 3c          	mov    %edx,0x3c(%esp)
6471b5:	8b 44 24 40          	mov    0x40(%esp),%eax
6471b9:	8b 54 24 44          	mov    0x44(%esp),%edx
6471bd:	03 44 24 48          	add    0x48(%esp),%eax
6471c1:	13 54 24 4c          	adc    0x4c(%esp),%edx
6471c5:	89 44 24 18          	mov    %eax,0x18(%esp)
6471c9:	89 54 24 1c          	mov    %edx,0x1c(%esp)
6471cd:	8b 44 24 38          	mov    0x38(%esp),%eax
6471d1:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6471d5:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6471d9:	c1 ea 0e             	shr    $0xe,%edx
6471dc:	52                   	push   %edx
6471dd:	50                   	push   %eax
6471de:	8b 54 24 40          	mov    0x40(%esp),%edx
6471e2:	c1 e2 12             	shl    $0x12,%edx
6471e5:	33 c0                	xor    %eax,%eax
6471e7:	0b 04 24             	or     (%esp),%eax
6471ea:	0b 54 24 04          	or     0x4(%esp),%edx
6471ee:	83 c4 08             	add    $0x8,%esp
6471f1:	52                   	push   %edx
6471f2:	50                   	push   %eax
6471f3:	8b 44 24 40          	mov    0x40(%esp),%eax
6471f7:	8b 54 24 44          	mov    0x44(%esp),%edx
6471fb:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6471ff:	c1 ea 12             	shr    $0x12,%edx
647202:	52                   	push   %edx
647203:	50                   	push   %eax
647204:	8b 54 24 48          	mov    0x48(%esp),%edx
647208:	c1 e2 0e             	shl    $0xe,%edx
64720b:	33 c0                	xor    %eax,%eax
64720d:	0b 04 24             	or     (%esp),%eax
647210:	0b 54 24 04          	or     0x4(%esp),%edx
647214:	83 c4 08             	add    $0x8,%esp
647217:	33 04 24             	xor    (%esp),%eax
64721a:	33 54 24 04          	xor    0x4(%esp),%edx
64721e:	83 c4 08             	add    $0x8,%esp
647221:	52                   	push   %edx
647222:	50                   	push   %eax
647223:	8b 44 24 44          	mov    0x44(%esp),%eax
647227:	c1 e8 09             	shr    $0x9,%eax
64722a:	33 d2                	xor    %edx,%edx
64722c:	52                   	push   %edx
64722d:	50                   	push   %eax
64722e:	8b 44 24 48          	mov    0x48(%esp),%eax
647232:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647236:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64723a:	c1 e0 17             	shl    $0x17,%eax
64723d:	0b 04 24             	or     (%esp),%eax
647240:	0b 54 24 04          	or     0x4(%esp),%edx
647244:	83 c4 08             	add    $0x8,%esp
647247:	33 04 24             	xor    (%esp),%eax
64724a:	33 54 24 04          	xor    0x4(%esp),%edx
64724e:	83 c4 08             	add    $0x8,%esp
647251:	03 44 24 10          	add    0x10(%esp),%eax
647255:	13 54 24 14          	adc    0x14(%esp),%edx
647259:	52                   	push   %edx
64725a:	50                   	push   %eax
64725b:	8b 44 24 40          	mov    0x40(%esp),%eax
64725f:	8b 54 24 44          	mov    0x44(%esp),%edx
647263:	23 44 24 08          	and    0x8(%esp),%eax
647267:	23 54 24 0c          	and    0xc(%esp),%edx
64726b:	52                   	push   %edx
64726c:	50                   	push   %eax
64726d:	8b 44 24 48          	mov    0x48(%esp),%eax
647271:	8b 54 24 4c          	mov    0x4c(%esp),%edx
647275:	f7 d0                	not    %eax
647277:	f7 d2                	not    %edx
647279:	23 44 24 18          	and    0x18(%esp),%eax
64727d:	23 54 24 1c          	and    0x1c(%esp),%edx
647281:	33 04 24             	xor    (%esp),%eax
647284:	33 54 24 04          	xor    0x4(%esp),%edx
647288:	83 c4 08             	add    $0x8,%esp
64728b:	03 04 24             	add    (%esp),%eax
64728e:	13 54 24 04          	adc    0x4(%esp),%edx
647292:	83 c4 08             	add    $0x8,%esp
647295:	05 e9 bd 82 de       	add    $0xde82bde9,%eax
64729a:	81 d2 eb 6c 50 a4    	adc    $0xa4506ceb,%edx
6472a0:	03 84 24 38 02 00 00 	add    0x238(%esp),%eax
6472a7:	13 94 24 3c 02 00 00 	adc    0x23c(%esp),%edx
6472ae:	89 44 24 40          	mov    %eax,0x40(%esp)
6472b2:	89 54 24 44          	mov    %edx,0x44(%esp)
6472b6:	8b 44 24 18          	mov    0x18(%esp),%eax
6472ba:	8b 54 24 1c          	mov    0x1c(%esp),%edx
6472be:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6472c2:	c1 ea 1c             	shr    $0x1c,%edx
6472c5:	52                   	push   %edx
6472c6:	50                   	push   %eax
6472c7:	8b 54 24 20          	mov    0x20(%esp),%edx
6472cb:	c1 e2 04             	shl    $0x4,%edx
6472ce:	33 c0                	xor    %eax,%eax
6472d0:	0b 04 24             	or     (%esp),%eax
6472d3:	0b 54 24 04          	or     0x4(%esp),%edx
6472d7:	83 c4 08             	add    $0x8,%esp
6472da:	52                   	push   %edx
6472db:	50                   	push   %eax
6472dc:	8b 44 24 24          	mov    0x24(%esp),%eax
6472e0:	c1 e8 02             	shr    $0x2,%eax
6472e3:	33 d2                	xor    %edx,%edx
6472e5:	52                   	push   %edx
6472e6:	50                   	push   %eax
6472e7:	8b 44 24 28          	mov    0x28(%esp),%eax
6472eb:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6472ef:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6472f3:	c1 e0 1e             	shl    $0x1e,%eax
6472f6:	0b 04 24             	or     (%esp),%eax
6472f9:	0b 54 24 04          	or     0x4(%esp),%edx
6472fd:	83 c4 08             	add    $0x8,%esp
647300:	33 04 24             	xor    (%esp),%eax
647303:	33 54 24 04          	xor    0x4(%esp),%edx
647307:	83 c4 08             	add    $0x8,%esp
64730a:	52                   	push   %edx
64730b:	50                   	push   %eax
64730c:	8b 44 24 24          	mov    0x24(%esp),%eax
647310:	c1 e8 07             	shr    $0x7,%eax
647313:	33 d2                	xor    %edx,%edx
647315:	52                   	push   %edx
647316:	50                   	push   %eax
647317:	8b 44 24 28          	mov    0x28(%esp),%eax
64731b:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64731f:	0f a4 c2 19          	shld   $0x19,%eax,%edx
647323:	c1 e0 19             	shl    $0x19,%eax
647326:	0b 04 24             	or     (%esp),%eax
647329:	0b 54 24 04          	or     0x4(%esp),%edx
64732d:	83 c4 08             	add    $0x8,%esp
647330:	33 04 24             	xor    (%esp),%eax
647333:	33 54 24 04          	xor    0x4(%esp),%edx
647337:	83 c4 08             	add    $0x8,%esp
64733a:	52                   	push   %edx
64733b:	50                   	push   %eax
64733c:	8b 44 24 20          	mov    0x20(%esp),%eax
647340:	8b 54 24 24          	mov    0x24(%esp),%edx
647344:	23 44 24 28          	and    0x28(%esp),%eax
647348:	23 54 24 2c          	and    0x2c(%esp),%edx
64734c:	52                   	push   %edx
64734d:	50                   	push   %eax
64734e:	8b 44 24 28          	mov    0x28(%esp),%eax
647352:	8b 54 24 2c          	mov    0x2c(%esp),%edx
647356:	23 44 24 38          	and    0x38(%esp),%eax
64735a:	23 54 24 3c          	and    0x3c(%esp),%edx
64735e:	33 04 24             	xor    (%esp),%eax
647361:	33 54 24 04          	xor    0x4(%esp),%edx
647365:	83 c4 08             	add    $0x8,%esp
647368:	52                   	push   %edx
647369:	50                   	push   %eax
64736a:	8b 44 24 30          	mov    0x30(%esp),%eax
64736e:	8b 54 24 34          	mov    0x34(%esp),%edx
647372:	23 44 24 38          	and    0x38(%esp),%eax