406ee0:	89 74 24 04          	mov    %esi,0x4(%esp)
406ee4:	31 f2                	xor    %esi,%edx
406ee6:	03 5c 24 10          	add    0x10(%esp),%ebx
406eea:	31 cf                	xor    %ecx,%edi
406eec:	c1 ca 06             	ror    $0x6,%edx
406eef:	89 ee                	mov    %ebp,%esi
406ef1:	01 fb                	add    %edi,%ebx
406ef3:	c1 ce 09             	ror    $0x9,%esi
406ef6:	89 e9                	mov    %ebp,%ecx
406ef8:	8b 7c 24 18          	mov    0x18(%esp),%edi
406efc:	31 ee                	xor    %ebp,%esi
406efe:	89 6c 24 14          	mov    %ebp,0x14(%esp)
406f02:	31 fd                	xor    %edi,%ebp
406f04:	c1 ce 0b             	ror    $0xb,%esi
406f07:	21 e8                	and    %ebp,%eax
406f09:	8d 94 13 08 02 c7 8c 	lea    -0x7338fdf8(%ebx,%edx,1),%edx
406f10:	31 ce                	xor    %ecx,%esi
406f12:	31 f8                	xor    %edi,%eax
406f14:	8b 4c 24 54          	mov    0x54(%esp),%ecx
406f18:	c1 ce 02             	ror    $0x2,%esi
406f1b:	01 d0                	add    %edx,%eax
406f1d:	03 14 24             	add    (%esp),%edx
406f20:	01 f0                	add    %esi,%eax
406f22:	8b 74 24 48          	mov    0x48(%esp),%esi
406f26:	89 cb                	mov    %ecx,%ebx
406f28:	c1 c9 0b             	ror    $0xb,%ecx
406f2b:	89 f7                	mov    %esi,%edi
406f2d:	c1 ce 02             	ror    $0x2,%esi
406f30:	31 d9                	xor    %ebx,%ecx
406f32:	c1 eb 03             	shr    $0x3,%ebx
406f35:	c1 c9 07             	ror    $0x7,%ecx
406f38:	31 fe                	xor    %edi,%esi
406f3a:	31 cb                	xor    %ecx,%ebx
406f3c:	c1 ce 11             	ror    $0x11,%esi
406f3f:	03 5c 24 50          	add    0x50(%esp),%ebx
406f43:	c1 ef 0a             	shr    $0xa,%edi
406f46:	03 5c 24 34          	add    0x34(%esp),%ebx
406f4a:	89 d1                	mov    %edx,%ecx
406f4c:	31 f7                	xor    %esi,%edi
406f4e:	8b 74 24 04          	mov    0x4(%esp),%esi
406f52:	c1 ca 0e             	ror    $0xe,%edx
406f55:	01 fb                	add    %edi,%ebx
406f57:	8b 7c 24 08          	mov    0x8(%esp),%edi
406f5b:	31 ca                	xor    %ecx,%edx
406f5d:	89 5c 24 50          	mov    %ebx,0x50(%esp)
406f61:	31 fe                	xor    %edi,%esi
406f63:	c1 ca 05             	ror    $0x5,%edx
406f66:	21 ce                	and    %ecx,%esi
406f68:	89 0c 24             	mov    %ecx,(%esp)
406f6b:	31 ca                	xor    %ecx,%edx
406f6d:	03 5c 24 0c          	add    0xc(%esp),%ebx
406f71:	31 f7                	xor    %esi,%edi
406f73:	c1 ca 06             	ror    $0x6,%edx
406f76:	89 c1                	mov    %eax,%ecx
406f78:	01 fb                	add    %edi,%ebx
406f7a:	c1 c9 09             	ror    $0x9,%ecx
406f7d:	89 c6                	mov    %eax,%esi
406f7f:	8b 7c 24 14          	mov    0x14(%esp),%edi
406f83:	31 c1                	xor    %eax,%ecx
406f85:	89 44 24 10          	mov    %eax,0x10(%esp)
406f89:	31 f8                	xor    %edi,%eax
406f8b:	c1 c9 0b             	ror    $0xb,%ecx
406f8e:	21 c5                	and    %eax,%ebp
406f90:	8d 94 13 fa ff be 90 	lea    -0x6f410006(%ebx,%edx,1),%edx
406f97:	31 f1                	xor    %esi,%ecx
406f99:	31 fd                	xor    %edi,%ebp
406f9b:	8b 74 24 58          	mov    0x58(%esp),%esi
406f9f:	c1 c9 02             	ror    $0x2,%ecx
406fa2:	01 d5                	add    %edx,%ebp
406fa4:	03 54 24 1c          	add    0x1c(%esp),%edx
406fa8:	01 cd                	add    %ecx,%ebp
406faa:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
406fae:	89 f3                	mov    %esi,%ebx
406fb0:	c1 ce 0b             	ror    $0xb,%esi
406fb3:	89 cf                	mov    %ecx,%edi
406fb5:	c1 c9 02             	ror    $0x2,%ecx
406fb8:	31 de                	xor    %ebx,%esi
406fba:	c1 eb 03             	shr    $0x3,%ebx
406fbd:	c1 ce 07             	ror    $0x7,%esi
406fc0:	31 f9                	xor    %edi,%ecx
406fc2:	31 f3                	xor    %esi,%ebx
406fc4:	c1 c9 11             	ror    $0x11,%ecx
406fc7:	03 5c 24 54          	add    0x54(%esp),%ebx
406fcb:	c1 ef 0a             	shr    $0xa,%edi
406fce:	03 5c 24 38          	add    0x38(%esp),%ebx
406fd2:	89 d6                	mov    %edx,%esi
406fd4:	31 cf                	xor    %ecx,%edi
406fd6:	8b 0c 24             	mov    (%esp),%ecx
406fd9:	c1 ca 0e             	ror    $0xe,%edx
406fdc:	01 fb                	add    %edi,%ebx
406fde:	8b 7c 24 04          	mov    0x4(%esp),%edi
406fe2:	31 f2                	xor    %esi,%edx
406fe4:	89 5c 24 54          	mov    %ebx,0x54(%esp)
406fe8:	31 f9                	xor    %edi,%ecx
406fea:	c1 ca 05             	ror    $0x5,%edx
406fed:	21 f1                	and    %esi,%ecx
406fef:	89 74 24 1c          	mov    %esi,0x1c(%esp)
406ff3:	31 f2                	xor    %esi,%edx
406ff5:	03 5c 24 08          	add    0x8(%esp),%ebx
406ff9:	31 cf                	xor    %ecx,%edi
406ffb:	c1 ca 06             	ror    $0x6,%edx
406ffe:	89 ee                	mov    %ebp,%esi
407000:	01 fb                	add    %edi,%ebx
407002:	c1 ce 09             	ror    $0x9,%esi
407005:	89 e9                	mov    %ebp,%ecx
407007:	8b 7c 24 10          	mov    0x10(%esp),%edi
40700b:	31 ee                	xor    %ebp,%esi
40700d:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
407011:	31 fd                	xor    %edi,%ebp
407013:	c1 ce 0b             	ror    $0xb,%esi
407016:	21 e8                	and    %ebp,%eax
407018:	8d 94 13 eb 6c 50 a4 	lea    -0x5baf9315(%ebx,%edx,1),%edx
40701f:	31 ce                	xor    %ecx,%esi
407021:	31 f8                	xor    %edi,%eax
407023:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
407027:	c1 ce 02             	ror    $0x2,%esi
40702a:	01 d0                	add    %edx,%eax
40702c:	03 54 24 18          	add    0x18(%esp),%edx
407030:	01 f0                	add    %esi,%eax
407032:	8b 74 24 50          	mov    0x50(%esp),%esi
407036:	89 cb                	mov    %ecx,%ebx
407038:	c1 c9 0b             	ror    $0xb,%ecx
40703b:	89 f7                	mov    %esi,%edi
40703d:	c1 ce 02             	ror    $0x2,%esi
407040:	31 d9                	xor    %ebx,%ecx
407042:	c1 eb 03             	shr    $0x3,%ebx
407045:	c1 c9 07             	ror    $0x7,%ecx
407048:	31 fe                	xor    %edi,%esi
40704a:	31 cb                	xor    %ecx,%ebx
40704c:	c1 ce 11             	ror    $0x11,%esi
40704f:	03 5c 24 58          	add    0x58(%esp),%ebx
407053:	c1 ef 0a             	shr    $0xa,%edi
407056:	03 5c 24 3c          	add    0x3c(%esp),%ebx
40705a:	89 d1                	mov    %edx,%ecx
40705c:	31 f7                	xor    %esi,%edi
40705e:	8b 74 24 1c          	mov    0x1c(%esp),%esi
407062:	c1 ca 0e             	ror    $0xe,%edx
407065:	01 fb                	add    %edi,%ebx
407067:	8b 3c 24             	mov    (%esp),%edi
40706a:	31 ca                	xor    %ecx,%edx
40706c:	31 fe                	xor    %edi,%esi
40706e:	c1 ca 05             	ror    $0x5,%edx
407071:	21 ce                	and    %ecx,%esi
407073:	89 4c 24 18          	mov    %ecx,0x18(%esp)
407077:	31 ca                	xor    %ecx,%edx
407079:	03 5c 24 04          	add    0x4(%esp),%ebx
40707d:	31 f7                	xor    %esi,%edi
40707f:	c1 ca 06             	ror    $0x6,%edx
407082:	89 c1                	mov    %eax,%ecx
407084:	01 fb                	add    %edi,%ebx
407086:	c1 c9 09             	ror    $0x9,%ecx
407089:	89 c6                	mov    %eax,%esi
40708b:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40708f:	31 c1                	xor    %eax,%ecx
407091:	89 44 24 08          	mov    %eax,0x8(%esp)
407095:	31 f8                	xor    %edi,%eax
407097:	c1 c9 0b             	ror    $0xb,%ecx
40709a:	21 c5                	and    %eax,%ebp
40709c:	8d 94 13 f7 a3 f9 be 	lea    -0x41065c09(%ebx,%edx,1),%edx
4070a3:	31 f1                	xor    %esi,%ecx
4070a5:	31 fd                	xor    %edi,%ebp
4070a7:	8b 74 24 20          	mov    0x20(%esp),%esi
4070ab:	c1 c9 02             	ror    $0x2,%ecx
4070ae:	01 d5                	add    %edx,%ebp
4070b0:	03 54 24 14          	add    0x14(%esp),%edx
4070b4:	01 cd                	add    %ecx,%ebp
4070b6:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4070ba:	89 f3                	mov    %esi,%ebx
4070bc:	c1 ce 0b             	ror    $0xb,%esi
4070bf:	89 cf                	mov    %ecx,%edi
4070c1:	c1 c9 02             	ror    $0x2,%ecx
4070c4:	31 de                	xor    %ebx,%esi
4070c6:	c1 eb 03             	shr    $0x3,%ebx
4070c9:	c1 ce 07             	ror    $0x7,%esi
4070cc:	31 f9                	xor    %edi,%ecx
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