4070ce:	31 f3                	xor    %esi,%ebx
4070d0:	c1 c9 11             	ror    $0x11,%ecx
4070d3:	03 5c 24 5c          	add    0x5c(%esp),%ebx
4070d7:	c1 ef 0a             	shr    $0xa,%edi
4070da:	03 5c 24 40          	add    0x40(%esp),%ebx
4070de:	89 d6                	mov    %edx,%esi
4070e0:	31 cf                	xor    %ecx,%edi
4070e2:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4070e6:	c1 ca 0e             	ror    $0xe,%edx
4070e9:	01 fb                	add    %edi,%ebx
4070eb:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4070ef:	31 f2                	xor    %esi,%edx
4070f1:	31 f9                	xor    %edi,%ecx
4070f3:	c1 ca 05             	ror    $0x5,%edx
4070f6:	21 f1                	and    %esi,%ecx
4070f8:	89 74 24 14          	mov    %esi,0x14(%esp)
4070fc:	31 f2                	xor    %esi,%edx
4070fe:	03 1c 24             	add    (%esp),%ebx
407101:	31 cf                	xor    %ecx,%edi
407103:	c1 ca 06             	ror    $0x6,%edx
407106:	89 ee                	mov    %ebp,%esi
407108:	01 fb                	add    %edi,%ebx
40710a:	c1 ce 09             	ror    $0x9,%esi
40710d:	89 e9                	mov    %ebp,%ecx
40710f:	8b 7c 24 08          	mov    0x8(%esp),%edi
407113:	31 ee                	xor    %ebp,%esi
407115:	89 6c 24 04          	mov    %ebp,0x4(%esp)
407119:	31 fd                	xor    %edi,%ebp
40711b:	c1 ce 0b             	ror    $0xb,%esi
40711e:	21 e8                	and    %ebp,%eax
407120:	8d 94 13 f2 78 71 c6 	lea    -0x398e870e(%ebx,%edx,1),%edx
407127:	31 ce                	xor    %ecx,%esi
407129:	31 f8                	xor    %edi,%eax
40712b:	c1 ce 02             	ror    $0x2,%esi
40712e:	01 d0                	add    %edx,%eax
407130:	03 54 24 10          	add    0x10(%esp),%edx
407134:	01 f0                	add    %esi,%eax
407136:	8b 74 24 60          	mov    0x60(%esp),%esi
40713a:	31 fd                	xor    %edi,%ebp
40713c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
407140:	03 06                	add    (%esi),%eax
407142:	03 6e 04             	add    0x4(%esi),%ebp
407145:	03 7e 08             	add    0x8(%esi),%edi
407148:	03 4e 0c             	add    0xc(%esi),%ecx
40714b:	89 06                	mov    %eax,(%esi)
40714d:	89 6e 04             	mov    %ebp,0x4(%esi)
407150:	89 7e 08             	mov    %edi,0x8(%esi)
407153:	89 4e 0c             	mov    %ecx,0xc(%esi)
407156:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40715a:	31 fd                	xor    %edi,%ebp
40715c:	89 7c 24 08          	mov    %edi,0x8(%esp)
407160:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
407164:	8b 7c 24 14          	mov    0x14(%esp),%edi
407168:	8b 5c 24 18          	mov    0x18(%esp),%ebx
40716c:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
407170:	03 56 10             	add    0x10(%esi),%edx
407173:	03 7e 14             	add    0x14(%esi),%edi
407176:	03 5e 18             	add    0x18(%esi),%ebx
407179:	03 4e 1c             	add    0x1c(%esi),%ecx
40717c:	89 56 10             	mov    %edx,0x10(%esi)
40717f:	89 7e 14             	mov    %edi,0x14(%esi)
407182:	89 5e 18             	mov    %ebx,0x18(%esi)
407185:	89 4e 1c             	mov    %ecx,0x1c(%esi)
407188:	89 7c 24 14          	mov    %edi,0x14(%esp)
40718c:	8b 7c 24 64          	mov    0x64(%esp),%edi
407190:	89 5c 24 18          	mov    %ebx,0x18(%esp)
407194:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
407198:	3b 7c 24 68          	cmp    0x68(%esp),%edi
40719c:	0f 82 fe df ff ff    	jb     0x4051a0
4071a2:	8b 64 24 6c          	mov    0x6c(%esp),%esp
4071a6:	5f                   	pop    %edi
4071a7:	5e                   	pop    %esi
4071a8:	5b                   	pop    %ebx
4071a9:	5d                   	pop    %ebp
4071aa:	c3                   	ret
4071ab:	90                   	nop
4071ac:	90                   	nop
4071ad:	90                   	nop
4071ae:	90                   	nop
4071af:	90                   	nop
4071b0:	90                   	nop
4071b1:	90                   	nop
4071b2:	90                   	nop
4071b3:	90                   	nop
4071b4:	90                   	nop
4071b5:	90                   	nop
4071b6:	90                   	nop
4071b7:	90                   	nop
4071b8:	90                   	nop
4071b9:	90                   	nop
4071ba:	90                   	nop
4071bb:	90                   	nop
4071bc:	90                   	nop
4071bd:	90                   	nop
4071be:	90                   	nop
4071bf:	90                   	nop
4071c0:	83 ec 20             	sub    $0x20,%esp
4071c3:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
4071c7:	8d ad 80 00 00 00    	lea    0x80(%ebp),%ebp
4071cd:	f3 0f 6f 56 10       	movdqu 0x10(%esi),%xmm2
4071d2:	66 0f 6f bd 80 00 00 	movdqa 0x80(%ebp),%xmm7
4071d9:	00
4071da:	66 0f 70 c1 1b       	pshufd $0x1b,%xmm1,%xmm0
4071df:	66 0f 70 c9 b1       	pshufd $0xb1,%xmm1,%xmm1
4071e4:	66 0f 70 d2 1b       	pshufd $0x1b,%xmm2,%xmm2
4071e9:	66 0f 3a 0f ca 08    	palignr $0x8,%xmm2,%xmm1
4071ef:	66 0f 6c d0          	punpcklqdq %xmm0,%xmm2
4071f3:	e9 08 00 00 00       	jmp    0x407200
4071f8:	90                   	nop
4071f9:	90                   	nop
4071fa:	90                   	nop
4071fb:	90                   	nop
4071fc:	90                   	nop
4071fd:	90                   	nop
4071fe:	90                   	nop
4071ff:	90                   	nop
407200:	f3 0f 6f 1f          	movdqu (%edi),%xmm3
407204:	f3 0f 6f 67 10       	movdqu 0x10(%edi),%xmm4
407209:	f3 0f 6f 6f 20       	movdqu 0x20(%edi),%xmm5
40720e:	66 0f 38 00 df       	pshufb %xmm7,%xmm3
407213:	f3 0f 6f 77 30       	movdqu 0x30(%edi),%xmm6
407218:	66 0f 7f 54 24 10    	movdqa %xmm2,0x10(%esp)
40721e:	66 0f 6f 45 80       	movdqa -0x80(%ebp),%xmm0
407223:	66 0f fe c3          	paddd  %xmm3,%xmm0
407227:	66 0f 38 00 e7       	pshufb %xmm7,%xmm4
40722c:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407230:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
407235:	90                   	nop
407236:	66 0f 7f 0c 24       	movdqa %xmm1,(%esp)
40723b:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
40723f:	66 0f 6f 45 90       	movdqa -0x70(%ebp),%xmm0
407244:	66 0f fe c4          	paddd  %xmm4,%xmm0
407248:	66 0f 38 00 ef       	pshufb %xmm7,%xmm5
40724d:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407251:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
407256:	8d 7f 40             	lea    0x40(%edi),%edi
407259:	0f 38 cc dc          	sha256msg1 %xmm4,%xmm3
40725d:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407261:	66 0f 6f 45 a0       	movdqa -0x60(%ebp),%xmm0
407266:	66 0f fe c5          	paddd  %xmm5,%xmm0
40726a:	66 0f 38 00 f7       	pshufb %xmm7,%xmm6
40726f:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407273:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
407278:	66 0f 6f fe          	movdqa %xmm6,%xmm7
40727c:	66 0f 3a 0f fd 04    	palignr $0x4,%xmm5,%xmm7
407282:	90                   	nop
407283:	66 0f fe df          	paddd  %xmm7,%xmm3
407287:	0f 38 cc e5          	sha256msg1 %xmm5,%xmm4
40728b:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
40728f:	66 0f 6f 45 b0       	movdqa -0x50(%ebp),%xmm0
407294:	66 0f fe c6          	paddd  %xmm6,%xmm0
407298:	0f 38 cd de          	sha256msg2 %xmm6,%xmm3
40729c:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
4072a0:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
4072a5:	66 0f 6f fb          	movdqa %xmm3,%xmm7
4072a9:	66 0f 3a 0f fe 04    	palignr $0x4,%xmm6,%xmm7
4072af:	90                   	nop
4072b0:	66 0f fe e7          	paddd  %xmm7,%xmm4
4072b4:	0f 38 cc ee          	sha256msg1 %xmm6,%xmm5
4072b8:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
4072bc:	66 0f 6f 45 c0       	movdqa -0x40(%ebp),%xmm0
4072c1:	66 0f fe c3          	paddd  %xmm3,%xmm0
4072c5:	0f 38 cd e3          	sha256msg2 %xmm3,%xmm4
4072c9:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
4072cd:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
4072d2:	66 0f 6f fc          	movdqa %xmm4,%xmm7
4072d6:	66 0f 3a 0f fb 04    	palignr $0x4,%xmm3,%xmm7
4072dc:	90                   	nop
4072dd:	66 0f fe ef          	paddd  %xmm7,%xmm5
4072e1:	0f 38 cc f3          	sha256msg1 %xmm3,%xmm6
4072e5:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
4072e9:	66 0f 6f 45 d0       	movdqa -0x30(%ebp),%xmm0
4072ee:	66 0f fe c4          	paddd  %xmm4,%xmm0
4072f2:	0f 38 cd ec          	sha256msg2 %xmm4,%xmm5
4072f6:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
4072fa:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
4072ff:	66 0f 6f fd          	movdqa %xmm5,%xmm7
407303:	66 0f 3a 0f fc 04    	palignr $0x4,%xmm4,%xmm7
407309:	90                   	nop
40730a:	66 0f fe f7          	paddd  %xmm7,%xmm6
40730e:	0f 38 cc dc          	sha256msg1 %xmm4,%xmm3
407312:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407316:	66 0f 6f 45 e0       	movdqa -0x20(%ebp),%xmm0
40731b:	66 0f fe c5          	paddd  %xmm5,%xmm0
40731f:	0f 38 cd f5          	sha256msg2 %xmm5,%xmm6
407323:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407327:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
40732c:	66 0f 6f fe          	movdqa %xmm6,%xmm7
407330:	66 0f 3a 0f fd 04    	palignr $0x4,%xmm5,%xmm7
407336:	90                   	nop
407337:	66 0f fe df          	paddd  %xmm7,%xmm3
40733b:	0f 38 cc e5          	sha256msg1 %xmm5,%xmm4
40733f:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407343:	66 0f 6f 45 f0       	movdqa -0x10(%ebp),%xmm0
407348:	66 0f fe c6          	paddd  %xmm6,%xmm0
40734c:	0f 38 cd de          	sha256msg2 %xmm6,%xmm3
407350:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407354:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
407359:	66 0f 6f fb          	movdqa %xmm3,%xmm7
40735d:	66 0f 3a 0f fe 04    	palignr $0x4,%xmm6,%xmm7
407363:	90                   	nop
407364:	66 0f fe e7          	paddd  %xmm7,%xmm4
407368:	0f 38 cc ee          	sha256msg1 %xmm6,%xmm5
40736c:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407370:	66 0f 6f 45 00       	movdqa 0x0(%ebp),%xmm0
407375:	66 0f fe c3          	paddd  %xmm3,%xmm0
407379:	0f 38 cd e3          	sha256msg2 %xmm3,%xmm4
40737d:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407381:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
407386:	66 0f 6f fc          	movdqa %xmm4,%xmm7
40738a:	66 0f 3a 0f fb 04    	palignr $0x4,%xmm3,%xmm7
407390:	90                   	nop
407391:	66 0f fe ef          	paddd  %xmm7,%xmm5
407395:	0f 38 cc f3          	sha256msg1 %xmm3,%xmm6
407399:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
40739d:	66 0f 6f 45 10       	movdqa 0x10(%ebp),%xmm0
4073a2:	66 0f fe c4          	paddd  %xmm4,%xmm0
4073a6:	0f 38 cd ec          	sha256msg2 %xmm4,%xmm5
4073aa:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
4073ae:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
4073b3:	66 0f 6f fd          	movdqa %xmm5,%xmm7
4073b7:	66 0f 3a 0f fc 04    	palignr $0x4,%xmm4,%xmm7
4073bd:	90                   	nop
4073be:	66 0f fe f7          	paddd  %xmm7,%xmm6
4073c2:	0f 38 cc dc          	sha256msg1 %xmm4,%xmm3
4073c6:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
4073ca:	66 0f 6f 45 20       	movdqa 0x20(%ebp),%xmm0
4073cf:	66 0f fe c5          	paddd  %xmm5,%xmm0
4073d3:	0f 38 cd f5          	sha256msg2 %xmm5,%xmm6
4073d7:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
4073db:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
4073e0:	66 0f 6f fe          	movdqa %xmm6,%xmm7
4073e4:	66 0f 3a 0f fd 04    	palignr $0x4,%xmm5,%xmm7
4073ea:	90                   	nop
4073eb:	66 0f fe df          	paddd  %xmm7,%xmm3
4073ef:	0f 38 cc e5          	sha256msg1 %xmm5,%xmm4
4073f3:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
4073f7:	66 0f 6f 45 30       	movdqa 0x30(%ebp),%xmm0
4073fc:	66 0f fe c6          	paddd  %xmm6,%xmm0
407400:	0f 38 cd de          	sha256msg2 %xmm6,%xmm3
407404:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407408:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
40740d:	66 0f 6f fb          	movdqa %xmm3,%xmm7
407411:	66 0f 3a 0f fe 04    	palignr $0x4,%xmm6,%xmm7
407417:	90                   	nop
407418:	66 0f fe e7          	paddd  %xmm7,%xmm4
40741c:	0f 38 cc ee          	sha256msg1 %xmm6,%xmm5
407420:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407424:	66 0f 6f 45 40       	movdqa 0x40(%ebp),%xmm0
407429:	66 0f fe c3          	paddd  %xmm3,%xmm0
40742d:	0f 38 cd e3          	sha256msg2 %xmm3,%xmm4
407431:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407435:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
40743a:	66 0f 6f fc          	movdqa %xmm4,%xmm7
40743e:	66 0f 3a 0f fb 04    	palignr $0x4,%xmm3,%xmm7
407444:	90                   	nop
407445:	66 0f fe ef          	paddd  %xmm7,%xmm5
407449:	0f 38 cc f3          	sha256msg1 %xmm3,%xmm6
40744d:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407451:	66 0f 6f 45 50       	movdqa 0x50(%ebp),%xmm0
407456:	66 0f fe c4          	paddd  %xmm4,%xmm0
40745a:	0f 38 cd ec          	sha256msg2 %xmm4,%xmm5
40745e:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407462:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
407467:	66 0f 6f fd          	movdqa %xmm5,%xmm7
40746b:	66 0f 3a 0f fc 04    	palignr $0x4,%xmm4,%xmm7
407471:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
407475:	66 0f fe f7          	paddd  %xmm7,%xmm6
407479:	66 0f 6f 45 60       	movdqa 0x60(%ebp),%xmm0
40747e:	66 0f fe c5          	paddd  %xmm5,%xmm0
407482:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
407486:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
40748b:	0f 38 cd f5          	sha256msg2 %xmm5,%xmm6
40748f:	66 0f 6f bd 80 00 00 	movdqa 0x80(%ebp),%xmm7
407496:	00
407497:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
40749b:	66 0f 6f 45 70       	movdqa 0x70(%ebp),%xmm0
4074a0:	66 0f fe c6          	paddd  %xmm6,%xmm0
4074a4:	90                   	nop
4074a5:	0f 38 cb d1          	sha256rnds2 %xmm0,%xmm1,%xmm2
4074a9:	66 0f 70 c0 0e       	pshufd $0xe,%xmm0,%xmm0
4074ae:	39 f8                	cmp    %edi,%eax
4074b0:	90                   	nop
4074b1:	0f 38 cb ca          	sha256rnds2 %xmm0,%xmm2,%xmm1
4074b5:	66 0f fe 54 24 10    	paddd  0x10(%esp),%xmm2
4074bb:	66 0f fe 0c 24       	paddd  (%esp),%xmm1
4074c0:	0f 85 3a fd ff ff    	jne    0x407200
4074c6:	66 0f 70 d2 b1       	pshufd $0xb1,%xmm2,%xmm2
4074cb:	66 0f 70 f9 1b       	pshufd $0x1b,%xmm1,%xmm7
4074d0:	66 0f 70 c9 b1       	pshufd $0xb1,%xmm1,%xmm1
4074d5:	66 0f 6d ca          	punpckhqdq %xmm2,%xmm1
4074d9:	66 0f 3a 0f d7 08    	palignr $0x8,%xmm7,%xmm2
4074df:	8b 64 24 2c          	mov    0x2c(%esp),%esp
4074e3:	f3 0f 7f 0e          	movdqu %xmm1,(%esi)
4074e7:	f3 0f 7f 56 10       	movdqu %xmm2,0x10(%esi)
4074ec:	5f                   	pop    %edi
4074ed:	5e                   	pop    %esi
4074ee:	5b                   	pop    %ebx
4074ef:	5d                   	pop    %ebp
4074f0:	c3                   	ret
4074f1:	90                   	nop
4074f2:	90                   	nop
4074f3:	90                   	nop
4074f4:	90                   	nop
4074f5:	90                   	nop
4074f6:	90                   	nop
4074f7:	90                   	nop
4074f8:	90                   	nop
4074f9:	90                   	nop
4074fa:	90                   	nop
4074fb:	90                   	nop
4074fc:	90                   	nop
4074fd:	90                   	nop
4074fe:	90                   	nop
4074ff:	90                   	nop
407500:	8d 64 24 a0          	lea    -0x60(%esp),%esp
407504:	8b 06                	mov    (%esi),%eax
407506:	8b 5e 04             	mov    0x4(%esi),%ebx
407509:	8b 4e 08             	mov    0x8(%esi),%ecx
40750c:	8b 7e 0c             	mov    0xc(%esi),%edi
40750f:	89 5c 24 04          	mov    %ebx,0x4(%esp)
407513:	31 cb                	xor    %ecx,%ebx
407515:	89 4c 24 08          	mov    %ecx,0x8(%esp)
407519:	89 7c 24 0c          	mov    %edi,0xc(%esp)
40751d:	8b 56 10             	mov    0x10(%esi),%edx
407520:	8b 7e 14             	mov    0x14(%esi),%edi
407523:	8b 4e 18             	mov    0x18(%esi),%ecx
407526:	8b 76 1c             	mov    0x1c(%esi),%esi
407529:	89 7c 24 14          	mov    %edi,0x14(%esp)
40752d:	8b 7c 24 64          	mov    0x64(%esp),%edi
407531:	89 4c 24 18          	mov    %ecx,0x18(%esp)
407535:	89 74 24 1c          	mov    %esi,0x1c(%esp)
407539:	66 0f 6f bd 00 01 00 	movdqa 0x100(%ebp),%xmm7
407540:	00
407541:	e9 0a 00 00 00       	jmp    0x407550
407546:	90                   	nop
407547:	90                   	nop
407548:	90                   	nop
407549:	90                   	nop
40754a:	90                   	nop
40754b:	90                   	nop
40754c:	90                   	nop
40754d:	90                   	nop
40754e:	90                   	nop
40754f:	90                   	nop
407550:	f3 0f 6f 07          	movdqu (%edi),%xmm0
407554:	f3 0f 6f 4f 10       	movdqu 0x10(%edi),%xmm1
407559:	f3 0f 6f 57 20       	movdqu 0x20(%edi),%xmm2
40755e:	f3 0f 6f 5f 30       	movdqu 0x30(%edi),%xmm3
407563:	83 c7 40             	add    $0x40,%edi