7720d0:	8b 02                	mov    (%edx),%eax
7720d2:	c1 e0 07             	shl    $0x7,%eax
7720d5:	33 07                	xor    (%edi),%eax
7720d7:	33 01                	xor    (%ecx),%eax
7720d9:	89 07                	mov    %eax,(%edi)
7720db:	8b 06                	mov    (%esi),%eax
7720dd:	33 02                	xor    (%edx),%eax
7720df:	33 01                	xor    (%ecx),%eax
7720e1:	89 06                	mov    %eax,(%esi)
7720e3:	8b 01                	mov    (%ecx),%eax
7720e5:	c1 c8 07             	ror    $0x7,%eax
7720e8:	89 01                	mov    %eax,(%ecx)
7720ea:	8b 02                	mov    (%edx),%eax
7720ec:	d1 c8                	ror    $1,%eax
7720ee:	89 02                	mov    %eax,(%edx)
7720f0:	8b 06                	mov    (%esi),%eax
7720f2:	c1 e0 03             	shl    $0x3,%eax
7720f5:	33 07                	xor    (%edi),%eax
7720f7:	31 01                	xor    %eax,(%ecx)
7720f9:	8b 06                	mov    (%esi),%eax
7720fb:	33 02                	xor    (%edx),%eax
7720fd:	33 07                	xor    (%edi),%eax
7720ff:	89 02                	mov    %eax,(%edx)
772101:	8b 07                	mov    (%edi),%eax
772103:	c1 c8 03             	ror    $0x3,%eax
772106:	89 07                	mov    %eax,(%edi)
772108:	8b 06                	mov    (%esi),%eax
77210a:	c1 c8 0d             	ror    $0xd,%eax
77210d:	5f                   	pop    %edi
77210e:	89 06                	mov    %eax,(%esi)
772110:	5e                   	pop    %esi
772111:	c3                   	ret
772112:	cc                   	int3
772113:	cc                   	int3
772114:	cc                   	int3
772115:	cc                   	int3
772116:	cc                   	int3
772117:	cc                   	int3
772118:	cc                   	int3
772119:	cc                   	int3
77211a:	cc                   	int3
77211b:	cc                   	int3
77211c:	cc                   	int3
77211d:	cc                   	int3
77211e:	cc                   	int3
77211f:	cc                   	int3
772120:	cc                   	int3
772121:	cc                   	int3
772122:	cc                   	int3
772123:	cc                   	int3
772124:	cc                   	int3
772125:	cc                   	int3
772126:	cc                   	int3
772127:	cc                   	int3
772128:	cc                   	int3
772129:	cc                   	int3
77212a:	cc                   	int3
77212b:	cc                   	int3
77212c:	cc                   	int3
77212d:	cc                   	int3
77212e:	cc                   	int3
77212f:	cc                   	int3
772130:	55                   	push   %ebp
772131:	8b ec                	mov    %esp,%ebp
772133:	6a ff                	push   $0xffffffff
772135:	68 5e 40 b9 00       	push   $0xb9405e
77213a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
772140:	50                   	push   %eax
772141:	83 ec 14             	sub    $0x14,%esp
772144:	53                   	push   %ebx
772145:	56                   	push   %esi
772146:	57                   	push   %edi
772147:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
77214c:	33 c5                	xor    %ebp,%eax
77214e:	50                   	push   %eax
77214f:	8d 45 f4             	lea    -0xc(%ebp),%eax
772152:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
772158:	89 4d f0             	mov    %ecx,-0x10(%ebp)
77215b:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
772162:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
772169:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
772170:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
772177:	6a 01                	push   $0x1
772179:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
772180:	e8 2e f2 cb ff       	call   0x4313b3
772185:	83 c4 04             	add    $0x4,%esp
772188:	89 45 ec             	mov    %eax,-0x14(%ebp)
77218b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
77218e:	68 8c 00 00 00       	push   $0x8c
772193:	e8 02 fe c9 ff       	call   0x411f9a
772198:	8b 7d 0c             	mov    0xc(%ebp),%edi
77219b:	8b d7                	mov    %edi,%edx
77219d:	8b 5d e0             	mov    -0x20(%ebp),%ebx
7721a0:	c1 ea 02             	shr    $0x2,%edx
7721a3:	89 55 0c             	mov    %edx,0xc(%ebp)
7721a6:	85 d2                	test   %edx,%edx
7721a8:	74 18                	je     0x7721c2
7721aa:	8b 75 08             	mov    0x8(%ebp),%esi
7721ad:	8b cb                	mov    %ebx,%ecx
7721af:	2b f3                	sub    %ebx,%esi
7721b1:	8b 04 0e             	mov    (%esi,%ecx,1),%eax
7721b4:	8d 49 04             	lea    0x4(%ecx),%ecx
7721b7:	89 41 fc             	mov    %eax,-0x4(%ecx)
7721ba:	83 ea 01             	sub    $0x1,%edx
7721bd:	75 f2                	jne    0x7721b1
7721bf:	8b 55 0c             	mov    0xc(%ebp),%edx
7721c2:	8b 04 93             	mov    (%ebx,%edx,4),%eax
7721c5:	83 e7 03             	and    $0x3,%edi
7721c8:	c1 e7 03             	shl    $0x3,%edi
7721cb:	be 08 00 00 00       	mov    $0x8,%esi
7721d0:	0f ab f8             	bts    %edi,%eax
7721d3:	89 04 93             	mov    %eax,(%ebx,%edx,4)
7721d6:	8d 43 0c             	lea    0xc(%ebx),%eax
7721d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7721e0:	8b 50 10             	mov    0x10(%eax),%edx
7721e3:	8d 4e f8             	lea    -0x8(%esi),%ecx
7721e6:	33 50 f4             	xor    -0xc(%eax),%edx
7721e9:	8d 40 04             	lea    0x4(%eax),%eax
7721ec:	33 50 04             	xor    0x4(%eax),%edx
7721ef:	46                   	inc    %esi
7721f0:	33 d1                	xor    %ecx,%edx
7721f2:	33 50 fc             	xor    -0x4(%eax),%edx
7721f5:	81 f2 b9 79 37 9e    	xor    $0x9e3779b9,%edx
7721fb:	c1 c2 0b             	rol    $0xb,%edx
7721fe:	89 50 10             	mov    %edx,0x10(%eax)
772201:	81 fe 8c 00 00 00    	cmp    $0x8c,%esi
772207:	75 d7                	jne    0x7721e0
772209:	8b 43 24             	mov    0x24(%ebx),%eax
77220c:	8b 7b 2c             	mov    0x2c(%ebx),%edi
77220f:	8b 73 20             	mov    0x20(%ebx),%esi
772212:	8b 53 28             	mov    0x28(%ebx),%edx
772215:	8b de                	mov    %esi,%ebx
772217:	0b f7                	or     %edi,%esi
772219:	33 f8                	xor    %eax,%edi
77221b:	23 c3                	and    %ebx,%eax
77221d:	33 da                	xor    %edx,%ebx
77221f:	33 d7                	xor    %edi,%edx
772221:	0b d8                	or     %eax,%ebx
772223:	23 fe                	and    %esi,%edi
772225:	33 f0                	xor    %eax,%esi
772227:	33 fb                	xor    %ebx,%edi
772229:	23 de                	and    %esi,%ebx
77222b:	8b cf                	mov    %edi,%ecx
77222d:	33 da                	xor    %edx,%ebx
77222f:	33 c8                	xor    %eax,%ecx
772231:	0b ce                	or     %esi,%ecx
772233:	33 f7                	xor    %edi,%esi
772235:	33 ca                	xor    %edx,%ecx
772237:	8b 55 e0             	mov    -0x20(%ebp),%edx
77223a:	8b c1                	mov    %ecx,%eax
77223c:	0b cf                	or     %edi,%ecx
77223e:	33 ce                	xor    %esi,%ecx
772240:	89 4a 20             	mov    %ecx,0x20(%edx)
772243:	89 42 24             	mov    %eax,0x24(%edx)
772246:	89 7a 28             	mov    %edi,0x28(%edx)
772249:	89 5a 2c             	mov    %ebx,0x2c(%edx)
77224c:	8b 4a 34             	mov    0x34(%edx),%ecx
77224f:	8b 5a 30             	mov    0x30(%edx),%ebx
772252:	8b f3                	mov    %ebx,%esi
772254:	8b 42 3c             	mov    0x3c(%edx),%eax
772257:	0b f0                	or     %eax,%esi
772259:	8b 7a 38             	mov    0x38(%edx),%edi
77225c:	33 f1                	xor    %ecx,%esi
77225e:	8b d7                	mov    %edi,%edx
772260:	33 f9                	xor    %ecx,%edi
772262:	23 d3                	and    %ebx,%edx
772264:	33 d0                	xor    %eax,%edx
772266:	33 fa                	xor    %edx,%edi
772268:	33 df                	xor    %edi,%ebx
77226a:	8b cb                	mov    %ebx,%ecx
77226c:	0b ce                	or     %esi,%ecx
77226e:	33 ca                	xor    %edx,%ecx
772270:	23 d6                	and    %esi,%edx
772272:	33 da                	xor    %edx,%ebx
772274:	8b 55 e0             	mov    -0x20(%ebp),%edx
772277:	8b c3                	mov    %ebx,%eax
772279:	f7 d3                	not    %ebx
77227b:	33 c1                	xor    %ecx,%eax
77227d:	33 f0                	xor    %eax,%esi
77227f:	89 7a 30             	mov    %edi,0x30(%edx)
772282:	89 4a 34             	mov    %ecx,0x34(%edx)
772285:	89 72 38             	mov    %esi,0x38(%edx)
772288:	8b 75 e0             	mov    -0x20(%ebp),%esi
77228b:	89 5a 3c             	mov    %ebx,0x3c(%edx)
77228e:	8b 7a 40             	mov    0x40(%edx),%edi
772291:	8b 42 44             	mov    0x44(%edx),%eax
772294:	f7 d7                	not    %edi
772296:	8b 5a 4c             	mov    0x4c(%edx),%ebx
772299:	8b d7                	mov    %edi,%edx
77229b:	8b 76 48             	mov    0x48(%esi),%esi
77229e:	23 f8                	and    %eax,%edi
7722a0:	f7 d6                	not    %esi
7722a2:	33 f7                	xor    %edi,%esi
7722a4:	0b fb                	or     %ebx,%edi
7722a6:	33 c7                	xor    %edi,%eax
7722a8:	33 de                	xor    %esi,%ebx
7722aa:	33 fa                	xor    %edx,%edi
7722ac:	0b d0                	or     %eax,%edx
7722ae:	0b f7                	or     %edi,%esi
7722b0:	33 c3                	xor    %ebx,%eax
7722b2:	23 f2                	and    %edx,%esi
7722b4:	33 f8                	xor    %eax,%edi
7722b6:	8b ce                	mov    %esi,%ecx
7722b8:	23 c8                	and    %eax,%ecx
7722ba:	8b c6                	mov    %esi,%eax
7722bc:	23 c7                	and    %edi,%eax
7722be:	33 cf                	xor    %edi,%ecx
7722c0:	33 c2                	xor    %edx,%eax
7722c2:	8b 55 e0             	mov    -0x20(%ebp),%edx
7722c5:	89 72 40             	mov    %esi,0x40(%edx)
7722c8:	89 42 44             	mov    %eax,0x44(%edx)
7722cb:	89 5a 48             	mov    %ebx,0x48(%edx)
7722ce:	89 4a 4c             	mov    %ecx,0x4c(%edx)
7722d1:	8b 4a 50             	mov    0x50(%edx),%ecx
7722d4:	8b 5a 5c             	mov    0x5c(%edx),%ebx
7722d7:	8b 7a 58             	mov    0x58(%edx),%edi
7722da:	33 d9                	xor    %ecx,%ebx
7722dc:	89 7d 0c             	mov    %edi,0xc(%ebp)
7722df:	8b f3                	mov    %ebx,%esi
7722e1:	23 72 54             	and    0x54(%edx),%esi
7722e4:	33 7a 54             	xor    0x54(%edx),%edi
7722e7:	33 f1                	xor    %ecx,%esi
7722e9:	8b d3                	mov    %ebx,%edx
7722eb:	0b d1                	or     %ecx,%edx
7722ed:	8b 4d 0c             	mov    0xc(%ebp),%ecx
7722f0:	33 d7                	xor    %edi,%edx
7722f2:	33 fb                	xor    %ebx,%edi
7722f4:	33 d9                	xor    %ecx,%ebx
7722f6:	0b ce                	or     %esi,%ecx
7722f8:	33 cf                	xor    %edi,%ecx
7722fa:	f7 d7                	not    %edi
7722fc:	0b fe                	or     %esi,%edi
7722fe:	8b c7                	mov    %edi,%eax
772300:	33 c3                	xor    %ebx,%eax
772302:	0b da                	or     %edx,%ebx
772304:	33 f0                	xor    %eax,%esi
772306:	33 fb                	xor    %ebx,%edi
772308:	8b 45 e0             	mov    -0x20(%ebp),%eax
77230b:	33 f3                	xor    %ebx,%esi
77230d:	89 70 50             	mov    %esi,0x50(%eax)
772310:	89 78 54             	mov    %edi,0x54(%eax)
772313:	89 48 58             	mov    %ecx,0x58(%eax)
772316:	89 50 5c             	mov    %edx,0x5c(%eax)
772319:	8b 58 68             	mov    0x68(%eax),%ebx
77231c:	8b cb                	mov    %ebx,%ecx
77231e:	8b 50 60             	mov    0x60(%eax),%edx
772321:	8b 70 64             	mov    0x64(%eax),%esi
772324:	0b ce                	or     %esi,%ecx
772326:	8b 40 6c             	mov    0x6c(%eax),%eax
772329:	33 f3                	xor    %ebx,%esi
77232b:	33 c8                	xor    %eax,%ecx
77232d:	8b fe                	mov    %esi,%edi
77232f:	33 d9                	xor    %ecx,%ebx
772331:	0b f8                	or     %eax,%edi
772333:	33 f3                	xor    %ebx,%esi
772335:	23 fa                	and    %edx,%edi
772337:	89 75 0c             	mov    %esi,0xc(%ebp)
77233a:	33 f9                	xor    %ecx,%edi
77233c:	0b f1                	or     %ecx,%esi
77233e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
772341:	33 f2                	xor    %edx,%esi
772343:	8b c1                	mov    %ecx,%eax
772345:	33 f1                	xor    %ecx,%esi
772347:	0b c2                	or     %edx,%eax
772349:	8b 55 e0             	mov    -0x20(%ebp),%edx
77234c:	33 c3                	xor    %ebx,%eax
77234e:	33 de                	xor    %esi,%ebx
772350:	23 f0                	and    %eax,%esi
772352:	33 f1                	xor    %ecx,%esi
772354:	f7 d3                	not    %ebx
772356:	0b d8                	or     %eax,%ebx
772358:	33 cb                	xor    %ebx,%ecx
77235a:	89 4a 60             	mov    %ecx,0x60(%edx)
77235d:	89 7a 64             	mov    %edi,0x64(%edx)
772360:	89 72 68             	mov    %esi,0x68(%edx)
772363:	89 42 6c             	mov    %eax,0x6c(%edx)
772366:	8b 4a 7c             	mov    0x7c(%edx),%ecx
772369:	8b d9                	mov    %ecx,%ebx
77236b:	8b 72 70             	mov    0x70(%edx),%esi
77236e:	23 ce                	and    %esi,%ecx
772370:	8b 42 78             	mov    0x78(%edx),%eax
772373:	33 f3                	xor    %ebx,%esi
772375:	8b 7a 74             	mov    0x74(%edx),%edi
772378:	f7 d0                	not    %eax
77237a:	33 c8                	xor    %eax,%ecx
77237c:	8b d3                	mov    %ebx,%edx
77237e:	33 f9                	xor    %ecx,%edi
772380:	89 4d 0c             	mov    %ecx,0xc(%ebp)
772383:	0b d0                	or     %eax,%edx
772385:	33 d6                	xor    %esi,%edx
772387:	0b f7                	or     %edi,%esi
772389:	33 de                	xor    %esi,%ebx
77238b:	0b ce                	or     %esi,%ecx
77238d:	8b 75 0c             	mov    0xc(%ebp),%esi
772390:	33 d7                	xor    %edi,%edx
772392:	33 de                	xor    %esi,%ebx
772394:	33 ca                	xor    %edx,%ecx
772396:	33 d9                	xor    %ecx,%ebx
772398:	f7 d6                	not    %esi
77239a:	8b c3                	mov    %ebx,%eax
77239c:	23 c2                	and    %edx,%eax
77239e:	33 c6                	xor    %esi,%eax
7723a0:	8b 75 e0             	mov    -0x20(%ebp),%esi
7723a3:	89 4e 70             	mov    %ecx,0x70(%esi)
7723a6:	89 7e 74             	mov    %edi,0x74(%esi)
7723a9:	89 5e 78             	mov    %ebx,0x78(%esi)
7723ac:	89 46 7c             	mov    %eax,0x7c(%esi)
7723af:	8b be 84 00 00 00    	mov    0x84(%esi),%edi
7723b5:	8b 96 80 00 00 00    	mov    0x80(%esi),%edx
7723bb:	8b 9e 8c 00 00 00    	mov    0x8c(%esi),%ebx
7723c1:	33 d7                	xor    %edi,%edx
7723c3:	8b b6 88 00 00 00    	mov    0x88(%esi),%esi
7723c9:	33 fb                	xor    %ebx,%edi
7723cb:	8b cf                	mov    %edi,%ecx
7723cd:	f7 d3                	not    %ebx
7723cf:	33 f3                	xor    %ebx,%esi
7723d1:	23 ca                	and    %edx,%ecx
7723d3:	33 ce                	xor    %esi,%ecx
7723d5:	0b f7                	or     %edi,%esi
7723d7:	33 fb                	xor    %ebx,%edi
7723d9:	23 d9                	and    %ecx,%ebx
7723db:	33 da                	xor    %edx,%ebx
7723dd:	33 fe                	xor    %esi,%edi
7723df:	33 f2                	xor    %edx,%esi
7723e1:	33 f9                	xor    %ecx,%edi
7723e3:	8b c3                	mov    %ebx,%eax
7723e5:	f7 d6                	not    %esi
7723e7:	23 c2                	and    %edx,%eax
7723e9:	8b 55 e0             	mov    -0x20(%ebp),%edx
7723ec:	33 c7                	xor    %edi,%eax
7723ee:	0b fb                	or     %ebx,%edi
7723f0:	33 f7                	xor    %edi,%esi
7723f2:	89 8a 80 00 00 00    	mov    %ecx,0x80(%edx)
7723f8:	89 9a 84 00 00 00    	mov    %ebx,0x84(%edx)
7723fe:	89 82 88 00 00 00    	mov    %eax,0x88(%edx)
772404:	89 b2 8c 00 00 00    	mov    %esi,0x8c(%edx)
77240a:	8b 9a 9c 00 00 00    	mov    0x9c(%edx),%ebx
772410:	8b ba 94 00 00 00    	mov    0x94(%edx),%edi
772416:	8b 82 98 00 00 00    	mov    0x98(%edx),%eax
77241c:	33 fb                	xor    %ebx,%edi
77241e:	8b b2 90 00 00 00    	mov    0x90(%edx),%esi
772424:	f7 d3                	not    %ebx
772426:	33 c3                	xor    %ebx,%eax
772428:	33 de                	xor    %esi,%ebx
77242a:	8b d3                	mov    %ebx,%edx
77242c:	23 d7                	and    %edi,%edx
77242e:	33 fb                	xor    %ebx,%edi
772430:	33 d0                	xor    %eax,%edx
772432:	33 f7                	xor    %edi,%esi
772434:	8b cf                	mov    %edi,%ecx