642efc:	8b 44 24 10          	mov    0x10(%esp),%eax
642f00:	8b 54 24 14          	mov    0x14(%esp),%edx
642f04:	0f ac d0 12          	shrd   $0x12,%edx,%eax
642f08:	c1 ea 12             	shr    $0x12,%edx
642f0b:	52                   	push   %edx
642f0c:	50                   	push   %eax
642f0d:	8b 54 24 18          	mov    0x18(%esp),%edx
642f11:	c1 e2 0e             	shl    $0xe,%edx
642f14:	33 c0                	xor    %eax,%eax
642f16:	0b 04 24             	or     (%esp),%eax
642f19:	0b 54 24 04          	or     0x4(%esp),%edx
642f1d:	83 c4 08             	add    $0x8,%esp
642f20:	33 04 24             	xor    (%esp),%eax
642f23:	33 54 24 04          	xor    0x4(%esp),%edx
642f27:	83 c4 08             	add    $0x8,%esp
642f2a:	52                   	push   %edx
642f2b:	50                   	push   %eax
642f2c:	8b 44 24 14          	mov    0x14(%esp),%eax
642f30:	c1 e8 09             	shr    $0x9,%eax
642f33:	33 d2                	xor    %edx,%edx
642f35:	52                   	push   %edx
642f36:	50                   	push   %eax
642f37:	8b 44 24 18          	mov    0x18(%esp),%eax
642f3b:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642f3f:	0f a4 c2 17          	shld   $0x17,%eax,%edx
642f43:	c1 e0 17             	shl    $0x17,%eax
642f46:	0b 04 24             	or     (%esp),%eax
642f49:	0b 54 24 04          	or     0x4(%esp),%edx
642f4d:	83 c4 08             	add    $0x8,%esp
642f50:	33 04 24             	xor    (%esp),%eax
642f53:	33 54 24 04          	xor    0x4(%esp),%edx
642f57:	83 c4 08             	add    $0x8,%esp
642f5a:	03 44 24 20          	add    0x20(%esp),%eax
642f5e:	13 54 24 24          	adc    0x24(%esp),%edx
642f62:	52                   	push   %edx
642f63:	50                   	push   %eax
642f64:	8b 44 24 10          	mov    0x10(%esp),%eax
642f68:	8b 54 24 14          	mov    0x14(%esp),%edx
642f6c:	23 44 24 18          	and    0x18(%esp),%eax
642f70:	23 54 24 1c          	and    0x1c(%esp),%edx
642f74:	52                   	push   %edx
642f75:	50                   	push   %eax
642f76:	8b 44 24 18          	mov    0x18(%esp),%eax
642f7a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
642f7e:	f7 d0                	not    %eax
642f80:	f7 d2                	not    %edx
642f82:	23 44 24 28          	and    0x28(%esp),%eax
642f86:	23 54 24 2c          	and    0x2c(%esp),%edx
642f8a:	33 04 24             	xor    (%esp),%eax
642f8d:	33 54 24 04          	xor    0x4(%esp),%edx
642f91:	83 c4 08             	add    $0x8,%esp
642f94:	03 04 24             	add    (%esp),%eax
642f97:	13 54 24 04          	adc    0x4(%esp),%edx
642f9b:	83 c4 08             	add    $0x8,%esp
642f9e:	05 e4 0e ef be       	add    $0xbeef0ee4,%eax
642fa3:	81 d2 c7 7f 59 bf    	adc    $0xbf597fc7,%edx
642fa9:	03 84 24 28 01 00 00 	add    0x128(%esp),%eax
642fb0:	13 94 24 2c 01 00 00 	adc    0x12c(%esp),%edx
642fb7:	89 44 24 40          	mov    %eax,0x40(%esp)
642fbb:	89 54 24 44          	mov    %edx,0x44(%esp)
642fbf:	8b 44 24 28          	mov    0x28(%esp),%eax
642fc3:	8b 54 24 2c          	mov    0x2c(%esp),%edx
642fc7:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
642fcb:	c1 ea 1c             	shr    $0x1c,%edx
642fce:	52                   	push   %edx
642fcf:	50                   	push   %eax
642fd0:	8b 54 24 30          	mov    0x30(%esp),%edx
642fd4:	c1 e2 04             	shl    $0x4,%edx
642fd7:	33 c0                	xor    %eax,%eax
642fd9:	0b 04 24             	or     (%esp),%eax
642fdc:	0b 54 24 04          	or     0x4(%esp),%edx
642fe0:	83 c4 08             	add    $0x8,%esp
642fe3:	52                   	push   %edx
642fe4:	50                   	push   %eax
642fe5:	8b 44 24 34          	mov    0x34(%esp),%eax
642fe9:	c1 e8 02             	shr    $0x2,%eax
642fec:	33 d2                	xor    %edx,%edx
642fee:	52                   	push   %edx
642fef:	50                   	push   %eax
642ff0:	8b 44 24 38          	mov    0x38(%esp),%eax
642ff4:	8b 54 24 3c          	mov    0x3c(%esp),%edx
642ff8:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
642ffc:	c1 e0 1e             	shl    $0x1e,%eax
642fff:	0b 04 24             	or     (%esp),%eax
643002:	0b 54 24 04          	or     0x4(%esp),%edx
643006:	83 c4 08             	add    $0x8,%esp
643009:	33 04 24             	xor    (%esp),%eax
64300c:	33 54 24 04          	xor    0x4(%esp),%edx
643010:	83 c4 08             	add    $0x8,%esp
643013:	52                   	push   %edx
643014:	50                   	push   %eax
643015:	8b 44 24 34          	mov    0x34(%esp),%eax
643019:	c1 e8 07             	shr    $0x7,%eax
64301c:	33 d2                	xor    %edx,%edx
64301e:	52                   	push   %edx
64301f:	50                   	push   %eax
643020:	8b 44 24 38          	mov    0x38(%esp),%eax
643024:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643028:	0f a4 c2 19          	shld   $0x19,%eax,%edx
64302c:	c1 e0 19             	shl    $0x19,%eax
64302f:	0b 04 24             	or     (%esp),%eax
643032:	0b 54 24 04          	or     0x4(%esp),%edx
643036:	83 c4 08             	add    $0x8,%esp
643039:	33 04 24             	xor    (%esp),%eax
64303c:	33 54 24 04          	xor    0x4(%esp),%edx
643040:	83 c4 08             	add    $0x8,%esp
643043:	52                   	push   %edx
643044:	50                   	push   %eax
643045:	8b 44 24 30          	mov    0x30(%esp),%eax
643049:	8b 54 24 34          	mov    0x34(%esp),%edx
64304d:	23 44 24 38          	and    0x38(%esp),%eax
643051:	23 54 24 3c          	and    0x3c(%esp),%edx
643055:	52                   	push   %edx
643056:	50                   	push   %eax
643057:	8b 44 24 38          	mov    0x38(%esp),%eax
64305b:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64305f:	23 44 24 48          	and    0x48(%esp),%eax
643063:	23 54 24 4c          	and    0x4c(%esp),%edx
643067:	33 04 24             	xor    (%esp),%eax
64306a:	33 54 24 04          	xor    0x4(%esp),%edx
64306e:	83 c4 08             	add    $0x8,%esp
643071:	52                   	push   %edx
643072:	50                   	push   %eax
643073:	8b 44 24 40          	mov    0x40(%esp),%eax
643077:	8b 54 24 44          	mov    0x44(%esp),%edx
64307b:	23 44 24 48          	and    0x48(%esp),%eax
64307f:	23 54 24 4c          	and    0x4c(%esp),%edx
643083:	33 04 24             	xor    (%esp),%eax
643086:	33 54 24 04          	xor    0x4(%esp),%edx
64308a:	83 c4 08             	add    $0x8,%esp
64308d:	03 04 24             	add    (%esp),%eax
643090:	13 54 24 04          	adc    0x4(%esp),%edx
643094:	83 c4 08             	add    $0x8,%esp
643097:	89 44 24 48          	mov    %eax,0x48(%esp)
64309b:	89 54 24 4c          	mov    %edx,0x4c(%esp)
64309f:	8b 04 24             	mov    (%esp),%eax
6430a2:	8b 54 24 04          	mov    0x4(%esp),%edx
6430a6:	03 44 24 40          	add    0x40(%esp),%eax
6430aa:	13 54 24 44          	adc    0x44(%esp),%edx
6430ae:	89 04 24             	mov    %eax,(%esp)
6430b1:	89 54 24 04          	mov    %edx,0x4(%esp)
6430b5:	8b 44 24 40          	mov    0x40(%esp),%eax
6430b9:	8b 54 24 44          	mov    0x44(%esp),%edx
6430bd:	03 44 24 48          	add    0x48(%esp),%eax
6430c1:	13 54 24 4c          	adc    0x4c(%esp),%edx
6430c5:	89 44 24 20          	mov    %eax,0x20(%esp)
6430c9:	89 54 24 24          	mov    %edx,0x24(%esp)
6430cd:	8b 04 24             	mov    (%esp),%eax
6430d0:	8b 54 24 04          	mov    0x4(%esp),%edx
6430d4:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6430d8:	c1 ea 0e             	shr    $0xe,%edx
6430db:	52                   	push   %edx
6430dc:	50                   	push   %eax
6430dd:	8b 54 24 08          	mov    0x8(%esp),%edx
6430e1:	c1 e2 12             	shl    $0x12,%edx
6430e4:	33 c0                	xor    %eax,%eax
6430e6:	0b 04 24             	or     (%esp),%eax
6430e9:	0b 54 24 04          	or     0x4(%esp),%edx
6430ed:	83 c4 08             	add    $0x8,%esp
6430f0:	52                   	push   %edx
6430f1:	50                   	push   %eax
6430f2:	8b 44 24 08          	mov    0x8(%esp),%eax
6430f6:	8b 54 24 0c          	mov    0xc(%esp),%edx
6430fa:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6430fe:	c1 ea 12             	shr    $0x12,%edx
643101:	52                   	push   %edx
643102:	50                   	push   %eax
643103:	8b 54 24 10          	mov    0x10(%esp),%edx
643107:	c1 e2 0e             	shl    $0xe,%edx
64310a:	33 c0                	xor    %eax,%eax
64310c:	0b 04 24             	or     (%esp),%eax
64310f:	0b 54 24 04          	or     0x4(%esp),%edx
643113:	83 c4 08             	add    $0x8,%esp
643116:	33 04 24             	xor    (%esp),%eax
643119:	33 54 24 04          	xor    0x4(%esp),%edx
64311d:	83 c4 08             	add    $0x8,%esp
643120:	52                   	push   %edx
643121:	50                   	push   %eax
643122:	8b 44 24 0c          	mov    0xc(%esp),%eax
643126:	c1 e8 09             	shr    $0x9,%eax
643129:	33 d2                	xor    %edx,%edx
64312b:	52                   	push   %edx
64312c:	50                   	push   %eax
64312d:	8b 44 24 10          	mov    0x10(%esp),%eax
643131:	8b 54 24 14          	mov    0x14(%esp),%edx
643135:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643139:	c1 e0 17             	shl    $0x17,%eax
64313c:	0b 04 24             	or     (%esp),%eax
64313f:	0b 54 24 04          	or     0x4(%esp),%edx
643143:	83 c4 08             	add    $0x8,%esp
643146:	33 04 24             	xor    (%esp),%eax
643149:	33 54 24 04          	xor    0x4(%esp),%edx
64314d:	83 c4 08             	add    $0x8,%esp
643150:	03 44 24 18          	add    0x18(%esp),%eax
643154:	13 54 24 1c          	adc    0x1c(%esp),%edx
643158:	52                   	push   %edx
643159:	50                   	push   %eax
64315a:	8b 44 24 08          	mov    0x8(%esp),%eax
64315e:	8b 54 24 0c          	mov    0xc(%esp),%edx
643162:	23 44 24 10          	and    0x10(%esp),%eax
643166:	23 54 24 14          	and    0x14(%esp),%edx
64316a:	52                   	push   %edx
64316b:	50                   	push   %eax
64316c:	8b 44 24 10          	mov    0x10(%esp),%eax
643170:	8b 54 24 14          	mov    0x14(%esp),%edx
643174:	f7 d0                	not    %eax
643176:	f7 d2                	not    %edx
643178:	23 44 24 20          	and    0x20(%esp),%eax
64317c:	23 54 24 24          	and    0x24(%esp),%edx
643180:	33 04 24             	xor    (%esp),%eax
643183:	33 54 24 04          	xor    0x4(%esp),%edx
643187:	83 c4 08             	add    $0x8,%esp
64318a:	03 04 24             	add    (%esp),%eax
64318d:	13 54 24 04          	adc    0x4(%esp),%edx
643191:	83 c4 08             	add    $0x8,%esp
643194:	05 c2 8f a8 3d       	add    $0x3da88fc2,%eax
643199:	81 d2 f3 0b e0 c6    	adc    $0xc6e00bf3,%edx
64319f:	03 84 24 30 01 00 00 	add    0x130(%esp),%eax
6431a6:	13 94 24 34 01 00 00 	adc    0x134(%esp),%edx
6431ad:	89 44 24 40          	mov    %eax,0x40(%esp)
6431b1:	89 54 24 44          	mov    %edx,0x44(%esp)
6431b5:	8b 44 24 20          	mov    0x20(%esp),%eax
6431b9:	8b 54 24 24          	mov    0x24(%esp),%edx
6431bd:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
6431c1:	c1 ea 1c             	shr    $0x1c,%edx
6431c4:	52                   	push   %edx
6431c5:	50                   	push   %eax
6431c6:	8b 54 24 28          	mov    0x28(%esp),%edx
6431ca:	c1 e2 04             	shl    $0x4,%edx
6431cd:	33 c0                	xor    %eax,%eax
6431cf:	0b 04 24             	or     (%esp),%eax
6431d2:	0b 54 24 04          	or     0x4(%esp),%edx
6431d6:	83 c4 08             	add    $0x8,%esp
6431d9:	52                   	push   %edx
6431da:	50                   	push   %eax
6431db:	8b 44 24 2c          	mov    0x2c(%esp),%eax
6431df:	c1 e8 02             	shr    $0x2,%eax
6431e2:	33 d2                	xor    %edx,%edx
6431e4:	52                   	push   %edx
6431e5:	50                   	push   %eax
6431e6:	8b 44 24 30          	mov    0x30(%esp),%eax
6431ea:	8b 54 24 34          	mov    0x34(%esp),%edx
6431ee:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
6431f2:	c1 e0 1e             	shl    $0x1e,%eax
6431f5:	0b 04 24             	or     (%esp),%eax
6431f8:	0b 54 24 04          	or     0x4(%esp),%edx
6431fc:	83 c4 08             	add    $0x8,%esp
6431ff:	33 04 24             	xor    (%esp),%eax
643202:	33 54 24 04          	xor    0x4(%esp),%edx
643206:	83 c4 08             	add    $0x8,%esp
643209:	52                   	push   %edx
64320a:	50                   	push   %eax
64320b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
64320f:	c1 e8 07             	shr    $0x7,%eax
643212:	33 d2                	xor    %edx,%edx
643214:	52                   	push   %edx
643215:	50                   	push   %eax
643216:	8b 44 24 30          	mov    0x30(%esp),%eax
64321a:	8b 54 24 34          	mov    0x34(%esp),%edx
64321e:	0f a4 c2 19          	shld   $0x19,%eax,%edx
643222:	c1 e0 19             	shl    $0x19,%eax
643225:	0b 04 24             	or     (%esp),%eax
643228:	0b 54 24 04          	or     0x4(%esp),%edx
64322c:	83 c4 08             	add    $0x8,%esp
64322f:	33 04 24             	xor    (%esp),%eax
643232:	33 54 24 04          	xor    0x4(%esp),%edx
643236:	83 c4 08             	add    $0x8,%esp
643239:	52                   	push   %edx
64323a:	50                   	push   %eax
64323b:	8b 44 24 28          	mov    0x28(%esp),%eax
64323f:	8b 54 24 2c          	mov    0x2c(%esp),%edx
643243:	23 44 24 30          	and    0x30(%esp),%eax
643247:	23 54 24 34          	and    0x34(%esp),%edx
64324b:	52                   	push   %edx
64324c:	50                   	push   %eax
64324d:	8b 44 24 30          	mov    0x30(%esp),%eax
643251:	8b 54 24 34          	mov    0x34(%esp),%edx
643255:	23 44 24 40          	and    0x40(%esp),%eax
643259:	23 54 24 44          	and    0x44(%esp),%edx
64325d:	33 04 24             	xor    (%esp),%eax
643260:	33 54 24 04          	xor    0x4(%esp),%edx
643264:	83 c4 08             	add    $0x8,%esp
643267:	52                   	push   %edx
643268:	50                   	push   %eax
643269:	8b 44 24 38          	mov    0x38(%esp),%eax
64326d:	8b 54 24 3c          	mov    0x3c(%esp),%edx
643271:	23 44 24 40          	and    0x40(%esp),%eax
643275:	23 54 24 44          	and    0x44(%esp),%edx
643279:	33 04 24             	xor    (%esp),%eax
64327c:	33 54 24 04          	xor    0x4(%esp),%edx
643280:	83 c4 08             	add    $0x8,%esp
643283:	03 04 24             	add    (%esp),%eax
643286:	13 54 24 04          	adc    0x4(%esp),%edx
64328a:	83 c4 08             	add    $0x8,%esp
64328d:	89 44 24 48          	mov    %eax,0x48(%esp)
643291:	89 54 24 4c          	mov    %edx,0x4c(%esp)
643295:	8b 44 24 38          	mov    0x38(%esp),%eax
643299:	8b 54 24 3c          	mov    0x3c(%esp),%edx
64329d:	03 44 24 40          	add    0x40(%esp),%eax
6432a1:	13 54 24 44          	adc    0x44(%esp),%edx
6432a5:	89 44 24 38          	mov    %eax,0x38(%esp)
6432a9:	89 54 24 3c          	mov    %edx,0x3c(%esp)
6432ad:	8b 44 24 40          	mov    0x40(%esp),%eax
6432b1:	8b 54 24 44          	mov    0x44(%esp),%edx
6432b5:	03 44 24 48          	add    0x48(%esp),%eax
6432b9:	13 54 24 4c          	adc    0x4c(%esp),%edx
6432bd:	89 44 24 18          	mov    %eax,0x18(%esp)
6432c1:	89 54 24 1c          	mov    %edx,0x1c(%esp)
6432c5:	8b 44 24 38          	mov    0x38(%esp),%eax
6432c9:	8b 54 24 3c          	mov    0x3c(%esp),%edx
6432cd:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
6432d1:	c1 ea 0e             	shr    $0xe,%edx
6432d4:	52                   	push   %edx
6432d5:	50                   	push   %eax
6432d6:	8b 54 24 40          	mov    0x40(%esp),%edx
6432da:	c1 e2 12             	shl    $0x12,%edx
6432dd:	33 c0                	xor    %eax,%eax
6432df:	0b 04 24             	or     (%esp),%eax
6432e2:	0b 54 24 04          	or     0x4(%esp),%edx
6432e6:	83 c4 08             	add    $0x8,%esp
6432e9:	52                   	push   %edx
6432ea:	50                   	push   %eax
6432eb:	8b 44 24 40          	mov    0x40(%esp),%eax
6432ef:	8b 54 24 44          	mov    0x44(%esp),%edx
6432f3:	0f ac d0 12          	shrd   $0x12,%edx,%eax
6432f7:	c1 ea 12             	shr    $0x12,%edx
6432fa:	52                   	push   %edx
6432fb:	50                   	push   %eax
6432fc:	8b 54 24 48          	mov    0x48(%esp),%edx
643300:	c1 e2 0e             	shl    $0xe,%edx
643303:	33 c0                	xor    %eax,%eax
643305:	0b 04 24             	or     (%esp),%eax
643308:	0b 54 24 04          	or     0x4(%esp),%edx
64330c:	83 c4 08             	add    $0x8,%esp
64330f:	33 04 24             	xor    (%esp),%eax
643312:	33 54 24 04          	xor    0x4(%esp),%edx
643316:	83 c4 08             	add    $0x8,%esp
643319:	52                   	push   %edx
64331a:	50                   	push   %eax
64331b:	8b 44 24 44          	mov    0x44(%esp),%eax
64331f:	c1 e8 09             	shr    $0x9,%eax
643322:	33 d2                	xor    %edx,%edx
643324:	52                   	push   %edx
643325:	50                   	push   %eax
643326:	8b 44 24 48          	mov    0x48(%esp),%eax
64332a:	8b 54 24 4c          	mov    0x4c(%esp),%edx
64332e:	0f a4 c2 17          	shld   $0x17,%eax,%edx
643332:	c1 e0 17             	shl    $0x17,%eax
643335:	0b 04 24             	or     (%esp),%eax
643338:	0b 54 24 04          	or     0x4(%esp),%edx