56d1b8:	ba 3f 00 00 00       	mov    $0x3f,%edx
56d1bd:	57                   	push   %edi
56d1be:	8b 46 10             	mov    0x10(%esi),%eax
56d1c1:	83 e0 3f             	and    $0x3f,%eax
56d1c4:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
56d1c7:	2b d0                	sub    %eax,%edx
56d1c9:	c6 41 14 80          	movb   $0x80,0x14(%ecx)
56d1cd:	83 c1 15             	add    $0x15,%ecx
56d1d0:	83 fa 08             	cmp    $0x8,%edx
56d1d3:	73 52                	jae    0x56d227
56d1d5:	52                   	push   %edx
56d1d6:	6a 00                	push   $0x0
56d1d8:	51                   	push   %ecx
56d1d9:	e8 22 68 07 00       	call   0x5e3a00
56d1de:	8d 5e 14             	lea    0x14(%esi),%ebx
56d1e1:	83 c4 0c             	add    $0xc,%esp
56d1e4:	8b d3                	mov    %ebx,%edx
56d1e6:	bf 10 00 00 00       	mov    $0x10,%edi
56d1eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56d1f0:	8a 4a 03             	mov    0x3(%edx),%cl
56d1f3:	8d 52 04             	lea    0x4(%edx),%edx
56d1f6:	0f b6 42 fc          	movzbl -0x4(%edx),%eax
56d1fa:	88 42 ff             	mov    %al,-0x1(%edx)
56d1fd:	0f b6 42 fd          	movzbl -0x3(%edx),%eax
56d201:	88 4a fc             	mov    %cl,-0x4(%edx)
56d204:	8a 4a fe             	mov    -0x2(%edx),%cl
56d207:	88 42 fe             	mov    %al,-0x2(%edx)
56d20a:	88 4a fd             	mov    %cl,-0x3(%edx)
56d20d:	83 ef 01             	sub    $0x1,%edi
56d210:	75 de                	jne    0x56d1f0
56d212:	53                   	push   %ebx
56d213:	56                   	push   %esi
56d214:	e8 47 02 00 00       	call   0x56d460
56d219:	6a 38                	push   $0x38
56d21b:	57                   	push   %edi
56d21c:	53                   	push   %ebx
56d21d:	e8 de 67 07 00       	call   0x5e3a00
56d222:	83 c4 14             	add    $0x14,%esp
56d225:	eb 0f                	jmp    0x56d236
56d227:	8d 42 f8             	lea    -0x8(%edx),%eax
56d22a:	50                   	push   %eax
56d22b:	6a 00                	push   $0x0
56d22d:	51                   	push   %ecx
56d22e:	e8 cd 67 07 00       	call   0x5e3a00
56d233:	83 c4 0c             	add    $0xc,%esp
56d236:	8d 5e 14             	lea    0x14(%esi),%ebx
56d239:	bf 0e 00 00 00       	mov    $0xe,%edi
56d23e:	8b c3                	mov    %ebx,%eax
56d240:	8a 50 03             	mov    0x3(%eax),%dl
56d243:	8d 40 04             	lea    0x4(%eax),%eax
56d246:	0f b6 48 fc          	movzbl -0x4(%eax),%ecx
56d24a:	88 48 ff             	mov    %cl,-0x1(%eax)
56d24d:	0f b6 48 fd          	movzbl -0x3(%eax),%ecx
56d251:	88 50 fc             	mov    %dl,-0x4(%eax)
56d254:	8a 50 fe             	mov    -0x2(%eax),%dl
56d257:	88 48 fe             	mov    %cl,-0x2(%eax)
56d25a:	88 50 fd             	mov    %dl,-0x3(%eax)
56d25d:	83 ef 01             	sub    $0x1,%edi
56d260:	75 de                	jne    0x56d240
56d262:	8b 46 10             	mov    0x10(%esi),%eax
56d265:	c1 e0 03             	shl    $0x3,%eax
56d268:	89 46 4c             	mov    %eax,0x4c(%esi)
56d26b:	8b 46 10             	mov    0x10(%esi),%eax
56d26e:	c1 e8 1d             	shr    $0x1d,%eax
56d271:	53                   	push   %ebx
56d272:	56                   	push   %esi
56d273:	89 46 50             	mov    %eax,0x50(%esi)
56d276:	e8 e5 01 00 00       	call   0x56d460
56d27b:	0f b6 06             	movzbl (%esi),%eax
56d27e:	83 c4 08             	add    $0x8,%esp
56d281:	8a 4e 03             	mov    0x3(%esi),%cl
56d284:	88 46 03             	mov    %al,0x3(%esi)
56d287:	0f b6 46 01          	movzbl 0x1(%esi),%eax
56d28b:	88 0e                	mov    %cl,(%esi)
56d28d:	8a 4e 02             	mov    0x2(%esi),%cl
56d290:	88 46 02             	mov    %al,0x2(%esi)
56d293:	0f b6 46 04          	movzbl 0x4(%esi),%eax
56d297:	88 4e 01             	mov    %cl,0x1(%esi)
56d29a:	8a 4e 07             	mov    0x7(%esi),%cl
56d29d:	88 46 07             	mov    %al,0x7(%esi)
56d2a0:	0f b6 46 05          	movzbl 0x5(%esi),%eax
56d2a4:	88 4e 04             	mov    %cl,0x4(%esi)
56d2a7:	8a 4e 06             	mov    0x6(%esi),%cl
56d2aa:	88 46 06             	mov    %al,0x6(%esi)
56d2ad:	0f b6 46 08          	movzbl 0x8(%esi),%eax
56d2b1:	88 4e 05             	mov    %cl,0x5(%esi)
56d2b4:	8a 4e 0b             	mov    0xb(%esi),%cl
56d2b7:	88 46 0b             	mov    %al,0xb(%esi)
56d2ba:	0f b6 46 09          	movzbl 0x9(%esi),%eax
56d2be:	88 4e 08             	mov    %cl,0x8(%esi)
56d2c1:	8a 4e 0a             	mov    0xa(%esi),%cl
56d2c4:	88 46 0a             	mov    %al,0xa(%esi)
56d2c7:	0f b6 46 0c          	movzbl 0xc(%esi),%eax
56d2cb:	88 4e 09             	mov    %cl,0x9(%esi)
56d2ce:	8a 4e 0f             	mov    0xf(%esi),%cl
56d2d1:	88 46 0f             	mov    %al,0xf(%esi)
56d2d4:	0f b6 46 0d          	movzbl 0xd(%esi),%eax
56d2d8:	88 4e 0c             	mov    %cl,0xc(%esi)
56d2db:	8a 4e 0e             	mov    0xe(%esi),%cl
56d2de:	88 46 0e             	mov    %al,0xe(%esi)
56d2e1:	8b 45 0c             	mov    0xc(%ebp),%eax
56d2e4:	88 4e 0d             	mov    %cl,0xd(%esi)
56d2e7:	0f 10 06             	movups (%esi),%xmm0
56d2ea:	5f                   	pop    %edi
56d2eb:	5e                   	pop    %esi
56d2ec:	0f 11 00             	movups %xmm0,(%eax)
56d2ef:	5b                   	pop    %ebx
56d2f0:	5d                   	pop    %ebp
56d2f1:	c3                   	ret
56d2f2:	cc                   	int3
56d2f3:	cc                   	int3
56d2f4:	cc                   	int3
56d2f5:	cc                   	int3
56d2f6:	cc                   	int3
56d2f7:	cc                   	int3
56d2f8:	cc                   	int3
56d2f9:	cc                   	int3
56d2fa:	cc                   	int3
56d2fb:	cc                   	int3
56d2fc:	cc                   	int3
56d2fd:	cc                   	int3
56d2fe:	cc                   	int3
56d2ff:	cc                   	int3
56d300:	55                   	push   %ebp
56d301:	8b ec                	mov    %esp,%ebp
56d303:	8b 45 08             	mov    0x8(%ebp),%eax
56d306:	c7 00 01 23 45 67    	movl   $0x67452301,(%eax)
56d30c:	c7 40 04 89 ab cd ef 	movl   $0xefcdab89,0x4(%eax)
56d313:	c7 40 08 fe dc ba 98 	movl   $0x98badcfe,0x8(%eax)
56d31a:	c7 40 0c 76 54 32 10 	movl   $0x10325476,0xc(%eax)
56d321:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
56d328:	5d                   	pop    %ebp
56d329:	c3                   	ret
56d32a:	cc                   	int3
56d32b:	cc                   	int3
56d32c:	cc                   	int3
56d32d:	cc                   	int3
56d32e:	cc                   	int3
56d32f:	cc                   	int3
56d330:	55                   	push   %ebp
56d331:	8b ec                	mov    %esp,%ebp
56d333:	51                   	push   %ecx
56d334:	53                   	push   %ebx
56d335:	8b 5d 08             	mov    0x8(%ebp),%ebx
56d338:	56                   	push   %esi
56d339:	57                   	push   %edi
56d33a:	8b 7d 10             	mov    0x10(%ebp),%edi
56d33d:	8b 43 10             	mov    0x10(%ebx),%eax
56d340:	8b c8                	mov    %eax,%ecx
56d342:	8d 04 38             	lea    (%eax,%edi,1),%eax
56d345:	89 43 10             	mov    %eax,0x10(%ebx)
56d348:	83 e1 3f             	and    $0x3f,%ecx
56d34b:	76 7d                	jbe    0x56d3ca
56d34d:	b8 40 00 00 00       	mov    $0x40,%eax
56d352:	8d 53 14             	lea    0x14(%ebx),%edx
56d355:	2b c1                	sub    %ecx,%eax
56d357:	03 d1                	add    %ecx,%edx
56d359:	89 45 fc             	mov    %eax,-0x4(%ebp)
56d35c:	3b f8                	cmp    %eax,%edi
56d35e:	73 14                	jae    0x56d374
56d360:	57                   	push   %edi
56d361:	ff 75 0c             	push   0xc(%ebp)
56d364:	52                   	push   %edx
56d365:	e8 96 5b 07 00       	call   0x5e2f00
56d36a:	83 c4 0c             	add    $0xc,%esp
56d36d:	5f                   	pop    %edi
56d36e:	5e                   	pop    %esi
56d36f:	5b                   	pop    %ebx
56d370:	8b e5                	mov    %ebp,%esp
56d372:	5d                   	pop    %ebp
56d373:	c3                   	ret
56d374:	8b 75 0c             	mov    0xc(%ebp),%esi
56d377:	50                   	push   %eax
56d378:	56                   	push   %esi
56d379:	52                   	push   %edx
56d37a:	e8 81 5b 07 00       	call   0x5e2f00
56d37f:	83 c4 0c             	add    $0xc,%esp
56d382:	8d 53 14             	lea    0x14(%ebx),%edx
56d385:	bf 10 00 00 00       	mov    $0x10,%edi
56d38a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
56d390:	8a 4a 03             	mov    0x3(%edx),%cl
56d393:	8d 52 04             	lea    0x4(%edx),%edx
56d396:	0f b6 42 fc          	movzbl -0x4(%edx),%eax
56d39a:	88 42 ff             	mov    %al,-0x1(%edx)
56d39d:	0f b6 42 fd          	movzbl -0x3(%edx),%eax
56d3a1:	88 4a fc             	mov    %cl,-0x4(%edx)
56d3a4:	8a 4a fe             	mov    -0x2(%edx),%cl
56d3a7:	88 42 fe             	mov    %al,-0x2(%edx)
56d3aa:	88 4a fd             	mov    %cl,-0x3(%edx)
56d3ad:	83 ef 01             	sub    $0x1,%edi
56d3b0:	75 de                	jne    0x56d390
56d3b2:	8d 43 14             	lea    0x14(%ebx),%eax
56d3b5:	50                   	push   %eax
56d3b6:	53                   	push   %ebx
56d3b7:	e8 a4 00 00 00       	call   0x56d460
56d3bc:	8b 7d 10             	mov    0x10(%ebp),%edi
56d3bf:	83 c4 08             	add    $0x8,%esp
56d3c2:	03 75 fc             	add    -0x4(%ebp),%esi
56d3c5:	2b 7d fc             	sub    -0x4(%ebp),%edi
56d3c8:	eb 03                	jmp    0x56d3cd
56d3ca:	8b 75 0c             	mov    0xc(%ebp),%esi
56d3cd:	83 ff 40             	cmp    $0x40,%edi
56d3d0:	72 73                	jb     0x56d445
56d3d2:	83 c3 14             	add    $0x14,%ebx
56d3d5:	8b c7                	mov    %edi,%eax
56d3d7:	c1 e8 06             	shr    $0x6,%eax
56d3da:	89 5d fc             	mov    %ebx,-0x4(%ebp)
56d3dd:	89 45 10             	mov    %eax,0x10(%ebp)
56d3e0:	0f 10 06             	movups (%esi),%xmm0
56d3e3:	8b c3                	mov    %ebx,%eax
56d3e5:	0f 11 03             	movups %xmm0,(%ebx)
56d3e8:	0f 10 46 10          	movups 0x10(%esi),%xmm0
56d3ec:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
56d3f0:	0f 10 46 20          	movups 0x20(%esi),%xmm0
56d3f4:	0f 11 43 20          	movups %xmm0,0x20(%ebx)
56d3f8:	0f 10 46 30          	movups 0x30(%esi),%xmm0
56d3fc:	0f 11 43 30          	movups %xmm0,0x30(%ebx)
56d400:	bb 10 00 00 00       	mov    $0x10,%ebx
56d405:	8a 50 03             	mov    0x3(%eax),%dl
56d408:	8d 40 04             	lea    0x4(%eax),%eax
56d40b:	0f b6 48 fc          	movzbl -0x4(%eax),%ecx
56d40f:	88 48 ff             	mov    %cl,-0x1(%eax)
56d412:	0f b6 48 fd          	movzbl -0x3(%eax),%ecx
56d416:	88 50 fc             	mov    %dl,-0x4(%eax)
56d419:	8a 50 fe             	mov    -0x2(%eax),%dl
56d41c:	88 48 fe             	mov    %cl,-0x2(%eax)
56d41f:	88 50 fd             	mov    %dl,-0x3(%eax)
56d422:	83 eb 01             	sub    $0x1,%ebx
56d425:	75 de                	jne    0x56d405
56d427:	8b 5d fc             	mov    -0x4(%ebp),%ebx
56d42a:	53                   	push   %ebx
56d42b:	ff 75 08             	push   0x8(%ebp)
56d42e:	e8 2d 00 00 00       	call   0x56d460
56d433:	83 c4 08             	add    $0x8,%esp
56d436:	83 c6 40             	add    $0x40,%esi
56d439:	83 ef 40             	sub    $0x40,%edi
56d43c:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
56d440:	75 9e                	jne    0x56d3e0
56d442:	8b 5d 08             	mov    0x8(%ebp),%ebx
56d445:	85 ff                	test   %edi,%edi
56d447:	74 0e                	je     0x56d457
56d449:	57                   	push   %edi
56d44a:	8d 43 14             	lea    0x14(%ebx),%eax
56d44d:	56                   	push   %esi
56d44e:	50                   	push   %eax
56d44f:	e8 ac 5a 07 00       	call   0x5e2f00
56d454:	83 c4 0c             	add    $0xc,%esp
56d457:	5f                   	pop    %edi
56d458:	5e                   	pop    %esi
56d459:	5b                   	pop    %ebx
56d45a:	8b e5                	mov    %ebp,%esp
56d45c:	5d                   	pop    %ebp
56d45d:	c3                   	ret
56d45e:	cc                   	int3
56d45f:	cc                   	int3
56d460:	55                   	push   %ebp
56d461:	8b ec                	mov    %esp,%ebp
56d463:	83 ec 44             	sub    $0x44,%esp
56d466:	8b 4d 08             	mov    0x8(%ebp),%ecx
56d469:	53                   	push   %ebx
56d46a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56d46d:	56                   	push   %esi
56d46e:	8b 71 0c             	mov    0xc(%ecx),%esi
56d471:	8b c6                	mov    %esi,%eax
56d473:	8b 11                	mov    (%ecx),%edx
56d475:	57                   	push   %edi
56d476:	8b 79 08             	mov    0x8(%ecx),%edi
56d479:	33 c7                	xor    %edi,%eax
56d47b:	8b 0b                	mov    (%ebx),%ecx
56d47d:	8b 5d 08             	mov    0x8(%ebp),%ebx
56d480:	89 4d fc             	mov    %ecx,-0x4(%ebp)
56d483:	23 43 04             	and    0x4(%ebx),%eax
56d486:	33 c6                	xor    %esi,%eax
56d488:	03 c1                	add    %ecx,%eax
56d48a:	8d 8a 78 a4 6a d7    	lea    -0x28955b88(%edx),%ecx
56d490:	03 c8                	add    %eax,%ecx
56d492:	8b d3                	mov    %ebx,%edx
56d494:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56d497:	8b c7                	mov    %edi,%eax
56d499:	c1 c1 07             	rol    $0x7,%ecx
56d49c:	03 4a 04             	add    0x4(%edx),%ecx
56d49f:	8b 53 04             	mov    0x4(%ebx),%edx
56d4a2:	8b 5d 08             	mov    0x8(%ebp),%ebx
56d4a5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
56d4a8:	33 43 04             	xor    0x4(%ebx),%eax
56d4ab:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56d4ae:	23 c1                	and    %ecx,%eax
56d4b0:	33 c7                	xor    %edi,%eax
56d4b2:	03 c2                	add    %edx,%eax
56d4b4:	8d 96 56 b7 c7 e8    	lea    -0x173848aa(%esi),%edx
56d4ba:	03 d0                	add    %eax,%edx
56d4bc:	8b 73 08             	mov    0x8(%ebx),%esi
56d4bf:	8b 5d 08             	mov    0x8(%ebp),%ebx
56d4c2:	c1 c2 0c             	rol    $0xc,%edx
56d4c5:	03 d1                	add    %ecx,%edx
56d4c7:	89 75 cc             	mov    %esi,-0x34(%ebp)
56d4ca:	8b 43 04             	mov    0x4(%ebx),%eax
56d4cd:	33 c1                	xor    %ecx,%eax
56d4cf:	23 c2                	and    %edx,%eax
56d4d1:	33 43 04             	xor    0x4(%ebx),%eax
56d4d4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56d4d7:	03 c6                	add    %esi,%eax
56d4d9:	8d b7 db 70 20 24    	lea    0x242070db(%edi),%esi
56d4df:	03 f0                	add    %eax,%esi
56d4e1:	8b c2                	mov    %edx,%eax
56d4e3:	33 c1                	xor    %ecx,%eax
56d4e5:	c1 ce 0f             	ror    $0xf,%esi
56d4e8:	8b 7b 0c             	mov    0xc(%ebx),%edi
56d4eb:	03 f2                	add    %edx,%esi
56d4ed:	8b 5d 08             	mov    0x8(%ebp),%ebx
56d4f0:	23 c6                	and    %esi,%eax
56d4f2:	33 c1                	xor    %ecx,%eax
56d4f4:	89 7d ec             	mov    %edi,-0x14(%ebp)
56d4f7:	03 c7                	add    %edi,%eax
56d4f9:	8b 7b 04             	mov    0x4(%ebx),%edi
56d4fc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
56d4ff:	81 c7 ee ce bd c1    	add    $0xc1bdceee,%edi
56d505:	03 f8                	add    %eax,%edi
56d507:	c1 cf 0a             	ror    $0xa,%edi
56d50a:	03 fe                	add    %esi,%edi
56d50c:	8b 43 10             	mov    0x10(%ebx),%eax
56d50f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
56d512:	8b c2                	mov    %edx,%eax
56d514:	33 c6                	xor    %esi,%eax
56d516:	23 c7                	and    %edi,%eax
56d518:	33 c2                	xor    %edx,%eax
56d51a:	05 af 0f 7c f5       	add    $0xf57c0faf,%eax
56d51f:	03 43 10             	add    0x10(%ebx),%eax
56d522:	03 c8                	add    %eax,%ecx
56d524:	8b 43 14             	mov    0x14(%ebx),%eax
56d527:	89 45 f4             	mov    %eax,-0xc(%ebp)
56d52a:	8b c6                	mov    %esi,%eax
56d52c:	c1 c1 07             	rol    $0x7,%ecx
56d52f:	33 c7                	xor    %edi,%eax
56d531:	03 cf                	add    %edi,%ecx
56d533:	23 c1                	and    %ecx,%eax
56d535:	33 c6                	xor    %esi,%eax
56d537:	05 2a c6 87 47       	add    $0x4787c62a,%eax
56d53c:	03 43 14             	add    0x14(%ebx),%eax
56d53f:	03 d0                	add    %eax,%edx
56d541:	8b 43 18             	mov    0x18(%ebx),%eax
56d544:	89 45 dc             	mov    %eax,-0x24(%ebp)
56d547:	8b c7                	mov    %edi,%eax
56d549:	33 c1                	xor    %ecx,%eax
56d54b:	c1 c2 0c             	rol    $0xc,%edx
56d54e:	03 d1                	add    %ecx,%edx
56d550:	23 c2                	and    %edx,%eax
56d552:	33 c7                	xor    %edi,%eax
56d554:	05 13 46 30 a8       	add    $0xa8304613,%eax
56d559:	03 43 18             	add    0x18(%ebx),%eax