63fff3:	83 c4 08             	add    $0x8,%esp
63fff6:	52                   	push   %edx
63fff7:	50                   	push   %eax
63fff8:	8b 44 24 14          	mov    0x14(%esp),%eax
63fffc:	c1 e8 09             	shr    $0x9,%eax
63ffff:	33 d2                	xor    %edx,%edx
640001:	52                   	push   %edx
640002:	50                   	push   %eax
640003:	8b 44 24 18          	mov    0x18(%esp),%eax
640007:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64000b:	0f a4 c2 17          	shld   $0x17,%eax,%edx
64000f:	c1 e0 17             	shl    $0x17,%eax
640012:	0b 04 24             	or     (%esp),%eax
640015:	0b 54 24 04          	or     0x4(%esp),%edx
640019:	83 c4 08             	add    $0x8,%esp
64001c:	33 04 24             	xor    (%esp),%eax
64001f:	33 54 24 04          	xor    0x4(%esp),%edx
640023:	83 c4 08             	add    $0x8,%esp
640026:	03 44 24 20          	add    0x20(%esp),%eax
64002a:	13 54 24 24          	adc    0x24(%esp),%edx
64002e:	52                   	push   %edx
64002f:	50                   	push   %eax
640030:	8b 44 24 10          	mov    0x10(%esp),%eax
640034:	8b 54 24 14          	mov    0x14(%esp),%edx
640038:	23 44 24 18          	and    0x18(%esp),%eax
64003c:	23 54 24 1c          	and    0x1c(%esp),%edx
640040:	52                   	push   %edx
640041:	50                   	push   %eax
640042:	8b 44 24 18          	mov    0x18(%esp),%eax
640046:	8b 54 24 1c          	mov    0x1c(%esp),%edx
64004a:	f7 d0                	not    %eax
64004c:	f7 d2                	not    %edx
64004e:	23 44 24 28          	and    0x28(%esp),%eax
640052:	23 54 24 2c          	and    0x2c(%esp),%edx
640056:	33 04 24             	xor    (%esp),%eax
640059:	33 54 24 04          	xor    0x4(%esp),%edx
64005d:	83 c4 08             	add    $0x8,%esp
640060:	03 04 24             	add    (%esp),%eax
640063:	13 54 24 04          	adc    0x4(%esp),%edx
640067:	83 c4 08             	add    $0x8,%esp
64006a:	05 bc db 89 81       	add    $0x8189dbbc,%eax
64006f:	81 d2 a5 db b5 e9    	adc    $0xe9b5dba5,%edx
640075:	03 44 24 68          	add    0x68(%esp),%eax
640079:	13 54 24 6c          	adc    0x6c(%esp),%edx
64007d:	89 44 24 40          	mov    %eax,0x40(%esp)
640081:	89 54 24 44          	mov    %edx,0x44(%esp)
640085:	8b 44 24 28          	mov    0x28(%esp),%eax
640089:	8b 54 24 2c          	mov    0x2c(%esp),%edx
64008d:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
640091:	c1 ea 1c             	shr    $0x1c,%edx
640094:	52                   	push   %edx
640095:	50                   	push   %eax
640096:	8b 54 24 30          	mov    0x30(%esp),%edx
64009a:	c1 e2 04             	shl    $0x4,%edx
64009d:	33 c0                	xor    %eax,%eax
64009f:	0b 04 24             	or     (%esp),%eax
6400a2:	0b 54 24 04          	or     0x4(%esp),%edx
6400a6:	83 c4 08             	add    $0x8,%esp
6400a9:	52                   	push   %edx
6400aa:	50                   	push   %eax
6400ab:	8b 44 24 34          	mov    0x34(%esp),%eax
6400af:	c1 e8 02             	shr    $0x2,%eax
6400b2:	33 d2                	xor    %edx,%edx
6400b4:	52                   	push   %edx
6400b5:	50                   	push   %eax
6400b6:	8b 44 24 38          	mov    0x38(%esp),%eax
6400ba:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6400be:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6400c2:	c1 e0 1e             	shl    $0x1e,%eax
6400c5:	0b 04 24             	or     (%esp),%eax
6400c8:	0b 54 24 04          	or     0x4(%esp),%edx
6400cc:	83 c4 08             	add    $0x8,%esp
6400cf:	33 04 24             	xor    (%esp),%eax
6400d2:	33 54 24 04          	xor    0x4(%esp),%edx
6400d6:	83 c4 08             	add    $0x8,%esp
6400d9:	52                   	push   %edx
6400da:	50                   	push   %eax
6400db:	8b 44 24 34          	mov    0x34(%esp),%eax
6400df:	c1 e8 07             	shr    $0x7,%eax
6400e2:	33 d2                	xor    %edx,%edx
6400e4:	52                   	push   %edx
6400e5:	50                   	push   %eax
6400e6:	8b 44 24 38          	mov    0x38(%esp),%eax
6400ea:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6400ee:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6400f2:	c1 e0 19             	shl    $0x19,%eax
6400f5:	0b 04 24             	or     (%esp),%eax
6400f8:	0b 54 24 04          	or     0x4(%esp),%edx
6400fc:	83 c4 08             	add    $0x8,%esp
6400ff:	33 04 24             	xor    (%esp),%eax
640102:	33 54 24 04          	xor    0x4(%esp),%edx
640106:	83 c4 08             	add    $0x8,%esp
640109:	52                   	push   %edx
64010a:	50                   	push   %eax
64010b:	8b 44 24 30          	mov    0x30(%esp),%eax
64010f:	8b 54 24 34          	mov    0x34(%esp),%edx
640113:	23 44 24 38          	and    0x38(%esp),%eax
640117:	23 54 24 3c          	and    0x3c(%esp),%edx
64011b:	52                   	push   %edx
64011c:	50                   	push   %eax
64011d:	8b 44 24 38          	mov    0x38(%esp),%eax
640121:	8b 54 24 3c          	mov    0x3c(%esp),%edx
640125:	23 44 24 48          	and    0x48(%esp),%eax
640129:	23 54 24 4c          	and    0x4c(%esp),%edx
64012d:	33 04 24             	xor    (%esp),%eax
640130:	33 54 24 04          	xor    0x4(%esp),%edx
640134:	83 c4 08             	add    $0x8,%esp
640137:	52                   	push   %edx
640138:	50                   	push   %eax
640139:	8b 44 24 40          	mov    0x40(%esp),%eax
64013d:	8b 54 24 44          	mov    0x44(%esp),%edx
640141:	23 44 24 48          	and    0x48(%esp),%eax
640145:	23 54 24 4c          	and    0x4c(%esp),%edx
640149:	33 04 24             	xor    (%esp),%eax
64014c:	33 54 24 04          	xor    0x4(%esp),%edx
640150:	83 c4 08             	add    $0x8,%esp
640153:	03 04 24             	add    (%esp),%eax
640156:	13 54 24 04          	adc    0x4(%esp),%edx
64015a:	83 c4 08             	add    $0x8,%esp
64015d:	89 44 24 48          	mov    %eax,0x48(%esp)
640161:	89 54 24 4c          	mov    %edx,0x4c(%esp)
640165:	8b 04 24             	mov    (%esp),%eax
640168:	8b 54 24 04          	mov    0x4(%esp),%edx
64016c:	03 44 24 40          	add    0x40(%esp),%eax
640170:	13 54 24 44          	adc    0x44(%esp),%edx
640174:	89 04 24             	mov    %eax,(%esp)
640177:	89 54 24 04          	mov    %edx,0x4(%esp)
64017b:	8b 44 24 40          	mov    0x40(%esp),%eax
64017f:	8b 54 24 44          	mov    0x44(%esp),%edx
640183:	03 44 24 48          	add    0x48(%esp),%eax
640187:	13 54 24 4c          	adc    0x4c(%esp),%edx
64018b:	89 44 24 20          	mov    %eax,0x20(%esp)
64018f:	89 54 24 24          	mov    %edx,0x24(%esp)
640193:	8b 04 24             	mov    (%esp),%eax
640196:	8b 54 24 04          	mov    0x4(%esp),%edx
64019a:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
64019e:	c1 ea 0e             	shr    $0xe,%edx
6401a1:	52                   	push   %edx
6401a2:	50                   	push   %eax
6401a3:	8b 54 24 08          	mov    0x8(%esp),%edx
6401a7:	c1 e2 12             	shl    $0x12,%edx
6401aa:	33 c0                	xor    %eax,%eax
6401ac:	0b 04 24             	or     (%esp),%eax
6401af:	0b 54 24 04          	or     0x4(%esp),%edx
6401b3:	83 c4 08             	add    $0x8,%esp
6401b6:	52                   	push   %edx
6401b7:	50                   	push   %eax
6401b8:	8b 44 24 08          	mov    0x8(%esp),%eax
6401bc:	8b 54 24 0c          	mov    0xc(%esp),%edx
6401c0:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6401c4:	c1 ea 12             	shr    $0x12,%edx
6401c7:	52                   	push   %edx
6401c8:	50                   	push   %eax
6401c9:	8b 54 24 10          	mov    0x10(%esp),%edx
6401cd:	c1 e2 0e             	shl    $0xe,%edx
6401d0:	33 c0                	xor    %eax,%eax
6401d2:	0b 04 24             	or     (%esp),%eax
6401d5:	0b 54 24 04          	or     0x4(%esp),%edx
6401d9:	83 c4 08             	add    $0x8,%esp
6401dc:	33 04 24             	xor    (%esp),%eax
6401df:	33 54 24 04          	xor    0x4(%esp),%edx
6401e3:	83 c4 08             	add    $0x8,%esp
6401e6:	52                   	push   %edx
6401e7:	50                   	push   %eax
6401e8:	8b 44 24 0c          	mov    0xc(%esp),%eax
6401ec:	c1 e8 09             	shr    $0x9,%eax
6401ef:	33 d2                	xor    %edx,%edx
6401f1:	52                   	push   %edx
6401f2:	50                   	push   %eax
6401f3:	8b 44 24 10          	mov    0x10(%esp),%eax
6401f7:	8b 54 24 14          	mov    0x14(%esp),%edx
6401fb:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6401ff:	c1 e0 17             	shl    $0x17,%eax
640202:	0b 04 24             	or     (%esp),%eax
640205:	0b 54 24 04          	or     0x4(%esp),%edx
640209:	83 c4 08             	add    $0x8,%esp
64020c:	33 04 24             	xor    (%esp),%eax
64020f:	33 54 24 04          	xor    0x4(%esp),%edx
640213:	83 c4 08             	add    $0x8,%esp
640216:	03 44 24 18          	add    0x18(%esp),%eax
64021a:	13 54 24 1c          	adc    0x1c(%esp),%edx
64021e:	52                   	push   %edx
64021f:	50                   	push   %eax
640220:	8b 44 24 08          	mov    0x8(%esp),%eax
640224:	8b 54 24 0c          	mov    0xc(%esp),%edx
640228:	23 44 24 10          	and    0x10(%esp),%eax
64022c:	23 54 24 14          	and    0x14(%esp),%edx
640230:	52                   	push   %edx
640231:	50                   	push   %eax
640232:	8b 44 24 10          	mov    0x10(%esp),%eax
640236:	8b 54 24 14          	mov    0x14(%esp),%edx
64023a:	f7 d0                	not    %eax
64023c:	f7 d2                	not    %edx
64023e:	23 44 24 20          	and    0x20(%esp),%eax
640242:	23 54 24 24          	and    0x24(%esp),%edx
640246:	33 04 24             	xor    (%esp),%eax
640249:	33 54 24 04          	xor    0x4(%esp),%edx
64024d:	83 c4 08             	add    $0x8,%esp
640250:	03 04 24             	add    (%esp),%eax
640253:	13 54 24 04          	adc    0x4(%esp),%edx
640257:	83 c4 08             	add    $0x8,%esp
64025a:	05 38 b5 48 f3       	add    $0xf348b538,%eax
64025f:	81 d2 5b c2 56 39    	adc    $0x3956c25b,%edx
640265:	03 44 24 70          	add    0x70(%esp),%eax
640269:	13 54 24 74          	adc    0x74(%esp),%edx
64026d:	89 44 24 40          	mov    %eax,0x40(%esp)
640271:	89 54 24 44          	mov    %edx,0x44(%esp)
640275:	8b 44 24 20          	mov    0x20(%esp),%eax
640279:	8b 54 24 24          	mov    0x24(%esp),%edx
64027d:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
640281:	c1 ea 1c             	shr    $0x1c,%edx
640284:	52                   	push   %edx
640285:	50                   	push   %eax
640286:	8b 54 24 28          	mov    0x28(%esp),%edx
64028a:	c1 e2 04             	shl    $0x4,%edx
64028d:	33 c0                	xor    %eax,%eax
64028f:	0b 04 24             	or     (%esp),%eax
640292:	0b 54 24 04          	or     0x4(%esp),%edx
640296:	83 c4 08             	add    $0x8,%esp
640299:	52                   	push   %edx
64029a:	50                   	push   %eax
64029b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64029f:	c1 e8 02             	shr    $0x2,%eax
6402a2:	33 d2                	xor    %edx,%edx
6402a4:	52                   	push   %edx
6402a5:	50                   	push   %eax
6402a6:	8b 44 24 30          	mov    0x30(%esp),%eax
6402aa:	8b 54 24 34          	mov    0x34(%esp),%edx
6402ae:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6402b2:	c1 e0 1e             	shl    $0x1e,%eax
6402b5:	0b 04 24             	or     (%esp),%eax
6402b8:	0b 54 24 04          	or     0x4(%esp),%edx
6402bc:	83 c4 08             	add    $0x8,%esp
6402bf:	33 04 24             	xor    (%esp),%eax
6402c2:	33 54 24 04          	xor    0x4(%esp),%edx
6402c6:	83 c4 08             	add    $0x8,%esp
6402c9:	52                   	push   %edx
6402ca:	50                   	push   %eax
6402cb:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6402cf:	c1 e8 07             	shr    $0x7,%eax
6402d2:	33 d2                	xor    %edx,%edx
6402d4:	52                   	push   %edx
6402d5:	50                   	push   %eax
6402d6:	8b 44 24 30          	mov    0x30(%esp),%eax
6402da:	8b 54 24 34          	mov    0x34(%esp),%edx
6402de:	0f a4 c2 19          	shld   $0x19,%eax,%edx
6402e2:	c1 e0 19             	shl    $0x19,%eax
6402e5:	0b 04 24             	or     (%esp),%eax
6402e8:	0b 54 24 04          	or     0x4(%esp),%edx
6402ec:	83 c4 08             	add    $0x8,%esp
6402ef:	33 04 24             	xor    (%esp),%eax
6402f2:	33 54 24 04          	xor    0x4(%esp),%edx
6402f6:	83 c4 08             	add    $0x8,%esp
6402f9:	52                   	push   %edx
6402fa:	50                   	push   %eax
6402fb:	8b 44 24 28          	mov    0x28(%esp),%eax
6402ff:	8b 54 24 2c          	mov    0x2c(%esp),%edx
640303:	23 44 24 30          	and    0x30(%esp),%eax
640307:	23 54 24 34          	and    0x34(%esp),%edx
64030b:	52                   	push   %edx
64030c:	50                   	push   %eax
64030d:	8b 44 24 30          	mov    0x30(%esp),%eax
640311:	8b 54 24 34          	mov    0x34(%esp),%edx
640315:	23 44 24 40          	and    0x40(%esp),%eax
640319:	23 54 24 44          	and    0x44(%esp),%edx
64031d:	33 04 24             	xor    (%esp),%eax
640320:	33 54 24 04          	xor    0x4(%esp),%edx
640324:	83 c4 08             	add    $0x8,%esp
640327:	52                   	push   %edx
640328:	50                   	push   %eax
640329:	8b 44 24 38          	mov    0x38(%esp),%eax
64032d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
640331:	23 44 24 40          	and    0x40(%esp),%eax
640335:	23 54 24 44          	and    0x44(%esp),%edx
640339:	33 04 24             	xor    (%esp),%eax
64033c:	33 54 24 04          	xor    0x4(%esp),%edx
640340:	83 c4 08             	add    $0x8,%esp
640343:	03 04 24             	add    (%esp),%eax
640346:	13 54 24 04          	adc    0x4(%esp),%edx
64034a:	83 c4 08             	add    $0x8,%esp
64034d:	89 44 24 48          	mov    %eax,0x48(%esp)
640351:	89 54 24 4c          	mov    %edx,0x4c(%esp)
640355:	8b 44 24 38          	mov    0x38(%esp),%eax
640359:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64035d:	03 44 24 40          	add    0x40(%esp),%eax
640361:	13 54 24 44          	adc    0x44(%esp),%edx
640365:	89 44 24 38          	mov    %eax,0x38(%esp)
640369:	89 54 24 3c          	mov    %edx,0x3c(%esp)
64036d:	8b 44 24 40          	mov    0x40(%esp),%eax
640371:	8b 54 24 44          	mov    0x44(%esp),%edx
640375:	03 44 24 48          	add    0x48(%esp),%eax
640379:	13 54 24 4c          	adc    0x4c(%esp),%edx
64037d:	89 44 24 18          	mov    %eax,0x18(%esp)
640381:	89 54 24 1c          	mov    %edx,0x1c(%esp)
640385:	8b 44 24 38          	mov    0x38(%esp),%eax
640389:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64038d:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
640391:	c1 ea 0e             	shr    $0xe,%edx
640394:	52                   	push   %edx
640395:	50                   	push   %eax
640396:	8b 54 24 40          	mov    0x40(%esp),%edx
64039a:	c1 e2 12             	shl    $0x12,%edx
64039d:	33 c0                	xor    %eax,%eax
64039f:	0b 04 24             	or     (%esp),%eax
6403a2:	0b 54 24 04          	or     0x4(%esp),%edx
6403a6:	83 c4 08             	add    $0x8,%esp
6403a9:	52                   	push   %edx
6403aa:	50                   	push   %eax
6403ab:	8b 44 24 40          	mov    0x40(%esp),%eax
6403af:	8b 54 24 44          	mov    0x44(%esp),%edx
6403b3:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6403b7:	c1 ea 12             	shr    $0x12,%edx
6403ba:	52                   	push   %edx
6403bb:	50                   	push   %eax
6403bc:	8b 54 24 48          	mov    0x48(%esp),%edx
6403c0:	c1 e2 0e             	shl    $0xe,%edx
6403c3:	33 c0                	xor    %eax,%eax
6403c5:	0b 04 24             	or     (%esp),%eax
6403c8:	0b 54 24 04          	or     0x4(%esp),%edx
6403cc:	83 c4 08             	add    $0x8,%esp
6403cf:	33 04 24             	xor    (%esp),%eax
6403d2:	33 54 24 04          	xor    0x4(%esp),%edx
6403d6:	83 c4 08             	add    $0x8,%esp
6403d9:	52                   	push   %edx
6403da:	50                   	push   %eax
6403db:	8b 44 24 44          	mov    0x44(%esp),%eax
6403df:	c1 e8 09             	shr    $0x9,%eax
6403e2:	33 d2                	xor    %edx,%edx
6403e4:	52                   	push   %edx
6403e5:	50                   	push   %eax
6403e6:	8b 44 24 48          	mov    0x48(%esp),%eax
6403ea:	8b 54 24 4c          	mov    0x4c(%esp),%edx
6403ee:	0f a4 c2 17          	shld   $0x17,%eax,%edx
6403f2:	c1 e0 17             	shl    $0x17,%eax
6403f5:	0b 04 24             	or     (%esp),%eax
6403f8:	0b 54 24 04          	or     0x4(%esp),%edx
6403fc:	83 c4 08             	add    $0x8,%esp
6403ff:	33 04 24             	xor    (%esp),%eax
640402:	33 54 24 04          	xor    0x4(%esp),%edx
640406:	83 c4 08             	add    $0x8,%esp
640409:	03 44 24 10          	add    0x10(%esp),%eax
64040d:	13 54 24 14          	adc    0x14(%esp),%edx
640411:	52                   	push   %edx
640412:	50                   	push   %eax
640413:	8b 44 24 40          	mov    0x40(%esp),%eax
640417:	8b 54 24 44          	mov    0x44(%esp),%edx
64041b:	23 44 24 08          	and    0x8(%esp),%eax
64041f:	23 54 24 0c          	and    0xc(%esp),%edx
640423:	52                   	push   %edx
640424:	50                   	push   %eax