4051c0:	0f cb                	bswap  %ebx
4051c2:	8b 77 14             	mov    0x14(%edi),%esi
4051c5:	0f c9                	bswap  %ecx
4051c7:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4051cb:	0f ce                	bswap  %esi
4051cd:	89 4c 24 30          	mov    %ecx,0x30(%esp)
4051d1:	89 74 24 34          	mov    %esi,0x34(%esp)
4051d5:	8b 5f 18             	mov    0x18(%edi),%ebx
4051d8:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4051db:	0f cb                	bswap  %ebx
4051dd:	8b 77 20             	mov    0x20(%edi),%esi
4051e0:	0f c9                	bswap  %ecx
4051e2:	89 5c 24 38          	mov    %ebx,0x38(%esp)
4051e6:	0f ce                	bswap  %esi
4051e8:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
4051ec:	89 74 24 40          	mov    %esi,0x40(%esp)
4051f0:	8b 5f 24             	mov    0x24(%edi),%ebx
4051f3:	8b 4f 28             	mov    0x28(%edi),%ecx
4051f6:	0f cb                	bswap  %ebx
4051f8:	8b 77 2c             	mov    0x2c(%edi),%esi
4051fb:	0f c9                	bswap  %ecx
4051fd:	89 5c 24 44          	mov    %ebx,0x44(%esp)
405201:	0f ce                	bswap  %esi
405203:	89 4c 24 48          	mov    %ecx,0x48(%esp)
405207:	89 74 24 4c          	mov    %esi,0x4c(%esp)
40520b:	8b 5f 30             	mov    0x30(%edi),%ebx
40520e:	8b 4f 34             	mov    0x34(%edi),%ecx
405211:	0f cb                	bswap  %ebx
405213:	8b 77 38             	mov    0x38(%edi),%esi
405216:	0f c9                	bswap  %ecx
405218:	89 5c 24 50          	mov    %ebx,0x50(%esp)
40521c:	0f ce                	bswap  %esi
40521e:	89 4c 24 54          	mov    %ecx,0x54(%esp)
405222:	89 74 24 58          	mov    %esi,0x58(%esp)
405226:	8b 5f 3c             	mov    0x3c(%edi),%ebx
405229:	83 c7 40             	add    $0x40,%edi
40522c:	0f cb                	bswap  %ebx
40522e:	89 7c 24 64          	mov    %edi,0x64(%esp)
405232:	89 5c 24 5c          	mov    %ebx,0x5c(%esp)
405236:	89 d1                	mov    %edx,%ecx
405238:	8b 74 24 14          	mov    0x14(%esp),%esi
40523c:	c1 ca 0e             	ror    $0xe,%edx
40523f:	8b 7c 24 18          	mov    0x18(%esp),%edi
405243:	31 ca                	xor    %ecx,%edx
405245:	8b 5c 24 20          	mov    0x20(%esp),%ebx
405249:	31 fe                	xor    %edi,%esi
40524b:	c1 ca 05             	ror    $0x5,%edx
40524e:	21 ce                	and    %ecx,%esi
405250:	89 4c 24 10          	mov    %ecx,0x10(%esp)
405254:	31 ca                	xor    %ecx,%edx
405256:	03 5c 24 1c          	add    0x1c(%esp),%ebx
40525a:	31 f7                	xor    %esi,%edi
40525c:	c1 ca 06             	ror    $0x6,%edx
40525f:	89 c1                	mov    %eax,%ecx
405261:	01 fb                	add    %edi,%ebx
405263:	c1 c9 09             	ror    $0x9,%ecx
405266:	89 c6                	mov    %eax,%esi
405268:	8b 7c 24 04          	mov    0x4(%esp),%edi
40526c:	31 c1                	xor    %eax,%ecx
40526e:	89 04 24             	mov    %eax,(%esp)
405271:	31 f8                	xor    %edi,%eax
405273:	c1 c9 0b             	ror    $0xb,%ecx
405276:	21 c5                	and    %eax,%ebp
405278:	8d 94 13 98 2f 8a 42 	lea    0x428a2f98(%ebx,%edx,1),%edx
40527f:	31 f1                	xor    %esi,%ecx
405281:	31 fd                	xor    %edi,%ebp
405283:	c1 c9 02             	ror    $0x2,%ecx
405286:	01 d5                	add    %edx,%ebp
405288:	03 54 24 0c          	add    0xc(%esp),%edx
40528c:	01 cd                	add    %ecx,%ebp
40528e:	89 d6                	mov    %edx,%esi
405290:	8b 4c 24 10          	mov    0x10(%esp),%ecx
405294:	c1 ca 0e             	ror    $0xe,%edx
405297:	8b 7c 24 14          	mov    0x14(%esp),%edi
40529b:	31 f2                	xor    %esi,%edx
40529d:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4052a1:	31 f9                	xor    %edi,%ecx
4052a3:	c1 ca 05             	ror    $0x5,%edx
4052a6:	21 f1                	and    %esi,%ecx
4052a8:	89 74 24 0c          	mov    %esi,0xc(%esp)
4052ac:	31 f2                	xor    %esi,%edx
4052ae:	03 5c 24 18          	add    0x18(%esp),%ebx
4052b2:	31 cf                	xor    %ecx,%edi
4052b4:	c1 ca 06             	ror    $0x6,%edx
4052b7:	89 ee                	mov    %ebp,%esi
4052b9:	01 fb                	add    %edi,%ebx
4052bb:	c1 ce 09             	ror    $0x9,%esi
4052be:	89 e9                	mov    %ebp,%ecx
4052c0:	8b 3c 24             	mov    (%esp),%edi
4052c3:	31 ee                	xor    %ebp,%esi
4052c5:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4052c9:	31 fd                	xor    %edi,%ebp
4052cb:	c1 ce 0b             	ror    $0xb,%esi
4052ce:	21 e8                	and    %ebp,%eax
4052d0:	8d 94 13 91 44 37 71 	lea    0x71374491(%ebx,%edx,1),%edx
4052d7:	31 ce                	xor    %ecx,%esi
4052d9:	31 f8                	xor    %edi,%eax
4052db:	c1 ce 02             	ror    $0x2,%esi
4052de:	01 d0                	add    %edx,%eax
4052e0:	03 54 24 08          	add    0x8(%esp),%edx
4052e4:	01 f0                	add    %esi,%eax
4052e6:	89 d1                	mov    %edx,%ecx
4052e8:	8b 74 24 0c          	mov    0xc(%esp),%esi
4052ec:	c1 ca 0e             	ror    $0xe,%edx
4052ef:	8b 7c 24 10          	mov    0x10(%esp),%edi
4052f3:	31 ca                	xor    %ecx,%edx
4052f5:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4052f9:	31 fe                	xor    %edi,%esi
4052fb:	c1 ca 05             	ror    $0x5,%edx
4052fe:	21 ce                	and    %ecx,%esi
405300:	89 4c 24 08          	mov    %ecx,0x8(%esp)
405304:	31 ca                	xor    %ecx,%edx
405306:	03 5c 24 14          	add    0x14(%esp),%ebx
40530a:	31 f7                	xor    %esi,%edi
40530c:	c1 ca 06             	ror    $0x6,%edx
40530f:	89 c1                	mov    %eax,%ecx
405311:	01 fb                	add    %edi,%ebx
405313:	c1 c9 09             	ror    $0x9,%ecx
405316:	89 c6                	mov    %eax,%esi
405318:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
40531c:	31 c1                	xor    %eax,%ecx
40531e:	89 44 24 18          	mov    %eax,0x18(%esp)
405322:	31 f8                	xor    %edi,%eax
405324:	c1 c9 0b             	ror    $0xb,%ecx
405327:	21 c5                	and    %eax,%ebp
405329:	8d 94 13 cf fb c0 b5 	lea    -0x4a3f0431(%ebx,%edx,1),%edx
405330:	31 f1                	xor    %esi,%ecx
405332:	31 fd                	xor    %edi,%ebp
405334:	c1 c9 02             	ror    $0x2,%ecx
405337:	01 d5                	add    %edx,%ebp
405339:	03 54 24 04          	add    0x4(%esp),%edx
40533d:	01 cd                	add    %ecx,%ebp
40533f:	89 d6                	mov    %edx,%esi
405341:	8b 4c 24 08          	mov    0x8(%esp),%ecx
405345:	c1 ca 0e             	ror    $0xe,%edx
405348:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40534c:	31 f2                	xor    %esi,%edx
40534e:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
405352:	31 f9                	xor    %edi,%ecx
405354:	c1 ca 05             	ror    $0x5,%edx
405357:	21 f1                	and    %esi,%ecx
405359:	89 74 24 04          	mov    %esi,0x4(%esp)
40535d:	31 f2                	xor    %esi,%edx
40535f:	03 5c 24 10          	add    0x10(%esp),%ebx
405363:	31 cf                	xor    %ecx,%edi
405365:	c1 ca 06             	ror    $0x6,%edx
405368:	89 ee                	mov    %ebp,%esi
40536a:	01 fb                	add    %edi,%ebx
40536c:	c1 ce 09             	ror    $0x9,%esi
40536f:	89 e9                	mov    %ebp,%ecx
405371:	8b 7c 24 18          	mov    0x18(%esp),%edi
405375:	31 ee                	xor    %ebp,%esi
405377:	89 6c 24 14          	mov    %ebp,0x14(%esp)
40537b:	31 fd                	xor    %edi,%ebp
40537d:	c1 ce 0b             	ror    $0xb,%esi
405380:	21 e8                	and    %ebp,%eax
405382:	8d 94 13 a5 db b5 e9 	lea    -0x164a245b(%ebx,%edx,1),%edx
405389:	31 ce                	xor    %ecx,%esi
40538b:	31 f8                	xor    %edi,%eax
40538d:	c1 ce 02             	ror    $0x2,%esi
405390:	01 d0                	add    %edx,%eax
405392:	03 14 24             	add    (%esp),%edx
405395:	01 f0                	add    %esi,%eax
405397:	89 d1                	mov    %edx,%ecx
405399:	8b 74 24 04          	mov    0x4(%esp),%esi
40539d:	c1 ca 0e             	ror    $0xe,%edx
4053a0:	8b 7c 24 08          	mov    0x8(%esp),%edi
4053a4:	31 ca                	xor    %ecx,%edx
4053a6:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4053aa:	31 fe                	xor    %edi,%esi
4053ac:	c1 ca 05             	ror    $0x5,%edx
4053af:	21 ce                	and    %ecx,%esi
4053b1:	89 0c 24             	mov    %ecx,(%esp)
4053b4:	31 ca                	xor    %ecx,%edx
4053b6:	03 5c 24 0c          	add    0xc(%esp),%ebx
4053ba:	31 f7                	xor    %esi,%edi
4053bc:	c1 ca 06             	ror    $0x6,%edx
4053bf:	89 c1                	mov    %eax,%ecx
4053c1:	01 fb                	add    %edi,%ebx
4053c3:	c1 c9 09             	ror    $0x9,%ecx
4053c6:	89 c6                	mov    %eax,%esi
4053c8:	8b 7c 24 14          	mov    0x14(%esp),%edi
4053cc:	31 c1                	xor    %eax,%ecx
4053ce:	89 44 24 10          	mov    %eax,0x10(%esp)
4053d2:	31 f8                	xor    %edi,%eax
4053d4:	c1 c9 0b             	ror    $0xb,%ecx
4053d7:	21 c5                	and    %eax,%ebp
4053d9:	8d 94 13 5b c2 56 39 	lea    0x3956c25b(%ebx,%edx,1),%edx
4053e0:	31 f1                	xor    %esi,%ecx
4053e2:	31 fd                	xor    %edi,%ebp
4053e4:	c1 c9 02             	ror    $0x2,%ecx
4053e7:	01 d5                	add    %edx,%ebp
4053e9:	03 54 24 1c          	add    0x1c(%esp),%edx
4053ed:	01 cd                	add    %ecx,%ebp
4053ef:	89 d6                	mov    %edx,%esi
4053f1:	8b 0c 24             	mov    (%esp),%ecx
4053f4:	c1 ca 0e             	ror    $0xe,%edx
4053f7:	8b 7c 24 04          	mov    0x4(%esp),%edi
4053fb:	31 f2                	xor    %esi,%edx
4053fd:	8b 5c 24 34          	mov    0x34(%esp),%ebx
405401:	31 f9                	xor    %edi,%ecx
405403:	c1 ca 05             	ror    $0x5,%edx
405406:	21 f1                	and    %esi,%ecx
405408:	89 74 24 1c          	mov    %esi,0x1c(%esp)
40540c:	31 f2                	xor    %esi,%edx
40540e:	03 5c 24 08          	add    0x8(%esp),%ebx
405412:	31 cf                	xor    %ecx,%edi
405414:	c1 ca 06             	ror    $0x6,%edx
405417:	89 ee                	mov    %ebp,%esi
405419:	01 fb                	add    %edi,%ebx
40541b:	c1 ce 09             	ror    $0x9,%esi
40541e:	89 e9                	mov    %ebp,%ecx
405420:	8b 7c 24 10          	mov    0x10(%esp),%edi
405424:	31 ee                	xor    %ebp,%esi
405426:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
40542a:	31 fd                	xor    %edi,%ebp
40542c:	c1 ce 0b             	ror    $0xb,%esi
40542f:	21 e8                	and    %ebp,%eax
405431:	8d 94 13 f1 11 f1 59 	lea    0x59f111f1(%ebx,%edx,1),%edx
405438:	31 ce                	xor    %ecx,%esi
40543a:	31 f8                	xor    %edi,%eax
40543c:	c1 ce 02             	ror    $0x2,%esi
40543f:	01 d0                	add    %edx,%eax
405441:	03 54 24 18          	add    0x18(%esp),%edx
405445:	01 f0                	add    %esi,%eax
405447:	89 d1                	mov    %edx,%ecx
405449:	8b 74 24 1c          	mov    0x1c(%esp),%esi
40544d:	c1 ca 0e             	ror    $0xe,%edx
405450:	8b 3c 24             	mov    (%esp),%edi
405453:	31 ca                	xor    %ecx,%edx
405455:	8b 5c 24 38          	mov    0x38(%esp),%ebx
405459:	31 fe                	xor    %edi,%esi
40545b:	c1 ca 05             	ror    $0x5,%edx
40545e:	21 ce                	and    %ecx,%esi
405460:	89 4c 24 18          	mov    %ecx,0x18(%esp)
405464:	31 ca                	xor    %ecx,%edx
405466:	03 5c 24 04          	add    0x4(%esp),%ebx
40546a:	31 f7                	xor    %esi,%edi
40546c:	c1 ca 06             	ror    $0x6,%edx
40546f:	89 c1                	mov    %eax,%ecx
405471:	01 fb                	add    %edi,%ebx
405473:	c1 c9 09             	ror    $0x9,%ecx
405476:	89 c6                	mov    %eax,%esi
405478:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40547c:	31 c1                	xor    %eax,%ecx
40547e:	89 44 24 08          	mov    %eax,0x8(%esp)
405482:	31 f8                	xor    %edi,%eax
405484:	c1 c9 0b             	ror    $0xb,%ecx
405487:	21 c5                	and    %eax,%ebp
405489:	8d 94 13 a4 82 3f 92 	lea    -0x6dc07d5c(%ebx,%edx,1),%edx
405490:	31 f1                	xor    %esi,%ecx
405492:	31 fd                	xor    %edi,%ebp
405494:	c1 c9 02             	ror    $0x2,%ecx
405497:	01 d5                	add    %edx,%ebp
405499:	03 54 24 14          	add    0x14(%esp),%edx
40549d:	01 cd                	add    %ecx,%ebp
40549f:	89 d6                	mov    %edx,%esi
4054a1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4054a5:	c1 ca 0e             	ror    $0xe,%edx
4054a8:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4054ac:	31 f2                	xor    %esi,%edx
4054ae:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
4054b2:	31 f9                	xor    %edi,%ecx
4054b4:	c1 ca 05             	ror    $0x5,%edx
4054b7:	21 f1                	and    %esi,%ecx
4054b9:	89 74 24 14          	mov    %esi,0x14(%esp)
4054bd:	31 f2                	xor    %esi,%edx
4054bf:	03 1c 24             	add    (%esp),%ebx
4054c2:	31 cf                	xor    %ecx,%edi
4054c4:	c1 ca 06             	ror    $0x6,%edx
4054c7:	89 ee                	mov    %ebp,%esi
4054c9:	01 fb                	add    %edi,%ebx
4054cb:	c1 ce 09             	ror    $0x9,%esi
4054ce:	89 e9                	mov    %ebp,%ecx
4054d0:	8b 7c 24 08          	mov    0x8(%esp),%edi
4054d4:	31 ee                	xor    %ebp,%esi
4054d6:	89 6c 24 04          	mov    %ebp,0x4(%esp)
4054da:	31 fd                	xor    %edi,%ebp
4054dc:	c1 ce 0b             	ror    $0xb,%esi
4054df:	21 e8                	and    %ebp,%eax
4054e1:	8d 94 13 d5 5e 1c ab 	lea    -0x54e3a12b(%ebx,%edx,1),%edx
4054e8:	31 ce                	xor    %ecx,%esi
4054ea:	31 f8                	xor    %edi,%eax
4054ec:	c1 ce 02             	ror    $0x2,%esi
4054ef:	01 d0                	add    %edx,%eax
4054f1:	03 54 24 10          	add    0x10(%esp),%edx
4054f5:	01 f0                	add    %esi,%eax
4054f7:	89 d1                	mov    %edx,%ecx
4054f9:	8b 74 24 14          	mov    0x14(%esp),%esi
4054fd:	c1 ca 0e             	ror    $0xe,%edx
405500:	8b 7c 24 18          	mov    0x18(%esp),%edi
405504:	31 ca                	xor    %ecx,%edx
405506:	8b 5c 24 40          	mov    0x40(%esp),%ebx
40550a:	31 fe                	xor    %edi,%esi
40550c:	c1 ca 05             	ror    $0x5,%edx
40550f:	21 ce                	and    %ecx,%esi
405511:	89 4c 24 10          	mov    %ecx,0x10(%esp)
405515:	31 ca                	xor    %ecx,%edx
405517:	03 5c 24 1c          	add    0x1c(%esp),%ebx
40551b:	31 f7                	xor    %esi,%edi
40551d:	c1 ca 06             	ror    $0x6,%edx
405520:	89 c1                	mov    %eax,%ecx
405522:	01 fb                	add    %edi,%ebx
405524:	c1 c9 09             	ror    $0x9,%ecx
405527:	89 c6                	mov    %eax,%esi
405529:	8b 7c 24 04          	mov    0x4(%esp),%edi
40552d:	31 c1                	xor    %eax,%ecx
40552f:	89 04 24             	mov    %eax,(%esp)
405532:	31 f8                	xor    %edi,%eax
405534:	c1 c9 0b             	ror    $0xb,%ecx
405537:	21 c5                	and    %eax,%ebp
405539:	8d 94 13 98 aa 07 d8 	lea    -0x27f85568(%ebx,%edx,1),%edx
405540:	31 f1                	xor    %esi,%ecx
405542:	31 fd                	xor    %edi,%ebp
405544:	c1 c9 02             	ror    $0x2,%ecx
405547:	01 d5                	add    %edx,%ebp
405549:	03 54 24 0c          	add    0xc(%esp),%edx
40554d:	01 cd                	add    %ecx,%ebp
40554f:	89 d6                	mov    %edx,%esi
405551:	8b 4c 24 10          	mov    0x10(%esp),%ecx
405555:	c1 ca 0e             	ror    $0xe,%edx
405558:	8b 7c 24 14          	mov    0x14(%esp),%edi
40555c:	31 f2                	xor    %esi,%edx
40555e:	8b 5c 24 44          	mov    0x44(%esp),%ebx
405562:	31 f9                	xor    %edi,%ecx
405564:	c1 ca 05             	ror    $0x5,%edx
405567:	21 f1                	and    %esi,%ecx
405569:	89 74 24 0c          	mov    %esi,0xc(%esp)
40556d:	31 f2                	xor    %esi,%edx
40556f:	03 5c 24 18          	add    0x18(%esp),%ebx
405573:	31 cf                	xor    %ecx,%edi
405575:	c1 ca 06             	ror    $0x6,%edx
405578:	89 ee                	mov    %ebp,%esi
40557a:	01 fb                	add    %edi,%ebx
40557c:	c1 ce 09             	ror    $0x9,%esi
40557f:	89 e9                	mov    %ebp,%ecx
405581:	8b 3c 24             	mov    (%esp),%edi
405584:	31 ee                	xor    %ebp,%esi
405586:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
40558a:	31 fd                	xor    %edi,%ebp
40558c:	c1 ce 0b             	ror    $0xb,%esi
40558f:	21 e8                	and    %ebp,%eax
405591:	8d 94 13 01 5b 83 12 	lea    0x12835b01(%ebx,%edx,1),%edx
405598:	31 ce                	xor    %ecx,%esi
40559a:	31 f8                	xor    %edi,%eax
40559c:	c1 ce 02             	ror    $0x2,%esi
40559f:	01 d0                	add    %edx,%eax
4055a1:	03 54 24 08          	add    0x8(%esp),%edx
4055a5:	01 f0                	add    %esi,%eax
4055a7:	89 d1                	mov    %edx,%ecx