40afdd:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
40afe2:	8d 76 30             	lea    0x30(%esi),%esi
40afe5:	83 f9 30             	cmp    $0x30,%ecx
40afe8:	66 0f 6f d3          	movdqa %xmm3,%xmm2
40afec:	66 0f 3a 0f d9 04    	palignr $0x4,%xmm1,%xmm3
40aff2:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
40aff6:	66 0f 6f e0          	movdqa %xmm0,%xmm4
40affa:	66 0f 3a 0f c2 04    	palignr $0x4,%xmm2,%xmm0
40b000:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
40b005:	66 0f 6f cd          	movdqa %xmm5,%xmm1
40b009:	66 0f 3a 0f ec 04    	palignr $0x4,%xmm4,%xmm5
40b00f:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
40b014:	8d 7f 30             	lea    0x30(%edi),%edi
40b017:	73 b7                	jae    0x40afd0
40b019:	8d 76 04             	lea    0x4(%esi),%esi
40b01c:	83 f9 10             	cmp    $0x10,%ecx
40b01f:	72 13                	jb     0x40b034
40b021:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
40b025:	83 e9 10             	sub    $0x10,%ecx
40b028:	8d 76 10             	lea    0x10(%esi),%esi
40b02b:	66 0f 7f 0f          	movdqa %xmm1,(%edi)
40b02f:	8d 7f 10             	lea    0x10(%edi),%edi
40b032:	eb e8                	jmp    0x40b01c
40b034:	0f ba e1 02          	bt     $0x2,%ecx
40b038:	73 0d                	jae    0x40b047
40b03a:	8b 06                	mov    (%esi),%eax
40b03c:	83 e9 04             	sub    $0x4,%ecx
40b03f:	8d 76 04             	lea    0x4(%esi),%esi
40b042:	89 07                	mov    %eax,(%edi)
40b044:	8d 7f 04             	lea    0x4(%edi),%edi
40b047:	0f ba e1 03          	bt     $0x3,%ecx
40b04b:	73 11                	jae    0x40b05e
40b04d:	f3 0f 7e 0e          	movq   (%esi),%xmm1
40b051:	83 e9 08             	sub    $0x8,%ecx
40b054:	8d 76 08             	lea    0x8(%esi),%esi
40b057:	66 0f d6 0f          	movq   %xmm1,(%edi)
40b05b:	8d 7f 08             	lea    0x8(%edi),%edi
40b05e:	8b 04 8d a4 b0 40 00 	mov    0x40b0a4(,%ecx,4),%eax
40b065:	ff e0                	jmp    *%eax
40b067:	f7 c7 03 00 00 00    	test   $0x3,%edi
40b06d:	74 13                	je     0x40b082
40b06f:	8a 06                	mov    (%esi),%al
40b071:	88 07                	mov    %al,(%edi)
40b073:	49                   	dec    %ecx
40b074:	83 c6 01             	add    $0x1,%esi
40b077:	83 c7 01             	add    $0x1,%edi
40b07a:	f7 c7 03 00 00 00    	test   $0x3,%edi
40b080:	75 ed                	jne    0x40b06f
40b082:	8b d1                	mov    %ecx,%edx
40b084:	83 f9 20             	cmp    $0x20,%ecx
40b087:	0f 82 ae 02 00 00    	jb     0x40b33b
40b08d:	c1 e9 02             	shr    $0x2,%ecx
40b090:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40b092:	83 e2 03             	and    $0x3,%edx
40b095:	ff 24 95 a4 b0 40 00 	jmp    *0x40b0a4(,%edx,4)
40b09c:	ff 24 8d b4 b0 40 00 	jmp    *0x40b0b4(,%ecx,4)
40b0a3:	90                   	nop
40b0a4:	b4 b0                	mov    $0xb0,%ah
40b0a6:	40                   	inc    %eax
40b0a7:	00 bc b0 40 00 c8 b0 	add    %bh,-0x4f37ffc0(%eax,%esi,4)
40b0ae:	40                   	inc    %eax
40b0af:	00 dc                	add    %bl,%ah
40b0b1:	b0 40                	mov    $0x40,%al
40b0b3:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
40b0b9:	5f                   	pop    %edi
40b0ba:	c3                   	ret
40b0bb:	90                   	nop
40b0bc:	8a 06                	mov    (%esi),%al
40b0be:	88 07                	mov    %al,(%edi)
40b0c0:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b0c4:	5e                   	pop    %esi
40b0c5:	5f                   	pop    %edi
40b0c6:	c3                   	ret
40b0c7:	90                   	nop
40b0c8:	8a 06                	mov    (%esi),%al
40b0ca:	88 07                	mov    %al,(%edi)
40b0cc:	8a 46 01             	mov    0x1(%esi),%al
40b0cf:	88 47 01             	mov    %al,0x1(%edi)
40b0d2:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b0d6:	5e                   	pop    %esi
40b0d7:	5f                   	pop    %edi
40b0d8:	c3                   	ret
40b0d9:	8d 49 00             	lea    0x0(%ecx),%ecx
40b0dc:	8a 06                	mov    (%esi),%al
40b0de:	88 07                	mov    %al,(%edi)
40b0e0:	8a 46 01             	mov    0x1(%esi),%al
40b0e3:	88 47 01             	mov    %al,0x1(%edi)
40b0e6:	8a 46 02             	mov    0x2(%esi),%al
40b0e9:	88 47 02             	mov    %al,0x2(%edi)
40b0ec:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b0f0:	5e                   	pop    %esi
40b0f1:	5f                   	pop    %edi
40b0f2:	c3                   	ret
40b0f3:	90                   	nop
40b0f4:	8d 34 0e             	lea    (%esi,%ecx,1),%esi
40b0f7:	8d 3c 0f             	lea    (%edi,%ecx,1),%edi
40b0fa:	83 f9 20             	cmp    $0x20,%ecx
40b0fd:	0f 82 51 01 00 00    	jb     0x40b254
40b103:	0f ba 25 10 d1 43 00 	btl    $0x1,0x43d110
40b10a:	01
40b10b:	0f 82 94 00 00 00    	jb     0x40b1a5
40b111:	f7 c7 03 00 00 00    	test   $0x3,%edi
40b117:	74 14                	je     0x40b12d
40b119:	8b d7                	mov    %edi,%edx
40b11b:	83 e2 03             	and    $0x3,%edx
40b11e:	2b ca                	sub    %edx,%ecx
40b120:	8a 46 ff             	mov    -0x1(%esi),%al
40b123:	88 47 ff             	mov    %al,-0x1(%edi)
40b126:	4e                   	dec    %esi
40b127:	4f                   	dec    %edi
40b128:	83 ea 01             	sub    $0x1,%edx
40b12b:	75 f3                	jne    0x40b120
40b12d:	83 f9 20             	cmp    $0x20,%ecx
40b130:	0f 82 1e 01 00 00    	jb     0x40b254
40b136:	8b d1                	mov    %ecx,%edx
40b138:	c1 e9 02             	shr    $0x2,%ecx
40b13b:	83 e2 03             	and    $0x3,%edx
40b13e:	83 ee 04             	sub    $0x4,%esi
40b141:	83 ef 04             	sub    $0x4,%edi
40b144:	fd                   	std
40b145:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40b147:	fc                   	cld
40b148:	ff 24 95 50 b1 40 00 	jmp    *0x40b150(,%edx,4)
40b14f:	90                   	nop
40b150:	60                   	pusha
40b151:	b1 40                	mov    $0x40,%cl
40b153:	00 68 b1             	add    %ch,-0x4f(%eax)
40b156:	40                   	inc    %eax
40b157:	00 78 b1             	add    %bh,-0x4f(%eax)
40b15a:	40                   	inc    %eax
40b15b:	00 8c b1 40 00 8b 44 	add    %cl,0x448b0040(%ecx,%esi,4)
40b162:	24 0c                	and    $0xc,%al
40b164:	5e                   	pop    %esi
40b165:	5f                   	pop    %edi
40b166:	c3                   	ret
40b167:	90                   	nop
40b168:	8a 46 03             	mov    0x3(%esi),%al
40b16b:	88 47 03             	mov    %al,0x3(%edi)
40b16e:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b172:	5e                   	pop    %esi
40b173:	5f                   	pop    %edi
40b174:	c3                   	ret
40b175:	8d 49 00             	lea    0x0(%ecx),%ecx
40b178:	8a 46 03             	mov    0x3(%esi),%al
40b17b:	88 47 03             	mov    %al,0x3(%edi)
40b17e:	8a 46 02             	mov    0x2(%esi),%al
40b181:	88 47 02             	mov    %al,0x2(%edi)
40b184:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b188:	5e                   	pop    %esi
40b189:	5f                   	pop    %edi
40b18a:	c3                   	ret
40b18b:	90                   	nop
40b18c:	8a 46 03             	mov    0x3(%esi),%al
40b18f:	88 47 03             	mov    %al,0x3(%edi)
40b192:	8a 46 02             	mov    0x2(%esi),%al
40b195:	88 47 02             	mov    %al,0x2(%edi)
40b198:	8a 46 01             	mov    0x1(%esi),%al
40b19b:	88 47 01             	mov    %al,0x1(%edi)
40b19e:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b1a2:	5e                   	pop    %esi
40b1a3:	5f                   	pop    %edi
40b1a4:	c3                   	ret
40b1a5:	f7 c7 0f 00 00 00    	test   $0xf,%edi
40b1ab:	74 0f                	je     0x40b1bc
40b1ad:	49                   	dec    %ecx
40b1ae:	4e                   	dec    %esi
40b1af:	4f                   	dec    %edi
40b1b0:	8a 06                	mov    (%esi),%al
40b1b2:	88 07                	mov    %al,(%edi)
40b1b4:	f7 c7 0f 00 00 00    	test   $0xf,%edi
40b1ba:	75 f1                	jne    0x40b1ad
40b1bc:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40b1c2:	72 68                	jb     0x40b22c
40b1c4:	81 ee 80 00 00 00    	sub    $0x80,%esi
40b1ca:	81 ef 80 00 00 00    	sub    $0x80,%edi
40b1d0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40b1d4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
40b1d9:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
40b1de:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
40b1e3:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
40b1e8:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
40b1ed:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
40b1f2:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
40b1f7:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40b1fb:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
40b200:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
40b205:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
40b20a:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
40b20f:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
40b214:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
40b219:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
40b21e:	81 e9 80 00 00 00    	sub    $0x80,%ecx
40b224:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
40b22a:	75 90                	jne    0x40b1bc
40b22c:	83 f9 20             	cmp    $0x20,%ecx
40b22f:	72 23                	jb     0x40b254
40b231:	83 ee 20             	sub    $0x20,%esi
40b234:	83 ef 20             	sub    $0x20,%edi
40b237:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40b23b:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
40b240:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40b244:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
40b249:	83 e9 20             	sub    $0x20,%ecx
40b24c:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
40b252:	75 dd                	jne    0x40b231
40b254:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40b25a:	74 15                	je     0x40b271
40b25c:	83 ef 04             	sub    $0x4,%edi
40b25f:	83 ee 04             	sub    $0x4,%esi
40b262:	8b 06                	mov    (%esi),%eax
40b264:	89 07                	mov    %eax,(%edi)
40b266:	83 e9 04             	sub    $0x4,%ecx
40b269:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40b26f:	75 eb                	jne    0x40b25c
40b271:	85 c9                	test   %ecx,%ecx
40b273:	74 0f                	je     0x40b284
40b275:	83 ef 01             	sub    $0x1,%edi
40b278:	83 ee 01             	sub    $0x1,%esi
40b27b:	8a 06                	mov    (%esi),%al
40b27d:	88 07                	mov    %al,(%edi)
40b27f:	83 e9 01             	sub    $0x1,%ecx
40b282:	75 f1                	jne    0x40b275
40b284:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b288:	5e                   	pop    %esi
40b289:	5f                   	pop    %edi
40b28a:	c3                   	ret
40b28b:	eb 03                	jmp    0x40b290
40b28d:	cc                   	int3
40b28e:	cc                   	int3
40b28f:	cc                   	int3
40b290:	8b c6                	mov    %esi,%eax
40b292:	83 e0 0f             	and    $0xf,%eax
40b295:	85 c0                	test   %eax,%eax
40b297:	0f 85 e3 00 00 00    	jne    0x40b380
40b29d:	8b d1                	mov    %ecx,%edx
40b29f:	83 e1 7f             	and    $0x7f,%ecx
40b2a2:	c1 ea 07             	shr    $0x7,%edx
40b2a5:	74 66                	je     0x40b30d
40b2a7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40b2ae:	8b ff                	mov    %edi,%edi
40b2b0:	66 0f 6f 06          	movdqa (%esi),%xmm0
40b2b4:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
40b2b9:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
40b2be:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
40b2c3:	66 0f 7f 07          	movdqa %xmm0,(%edi)
40b2c7:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
40b2cc:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
40b2d1:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
40b2d6:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
40b2db:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
40b2e0:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
40b2e5:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
40b2ea:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
40b2ef:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
40b2f4:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
40b2f9:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
40b2fe:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
40b304:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40b30a:	4a                   	dec    %edx
40b30b:	75 a3                	jne    0x40b2b0
40b30d:	85 c9                	test   %ecx,%ecx
40b30f:	74 5f                	je     0x40b370
40b311:	8b d1                	mov    %ecx,%edx
40b313:	c1 ea 05             	shr    $0x5,%edx
40b316:	85 d2                	test   %edx,%edx
40b318:	74 21                	je     0x40b33b
40b31a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40b320:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40b324:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
40b329:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40b32d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
40b332:	8d 76 20             	lea    0x20(%esi),%esi
40b335:	8d 7f 20             	lea    0x20(%edi),%edi
40b338:	4a                   	dec    %edx
40b339:	75 e5                	jne    0x40b320
40b33b:	83 e1 1f             	and    $0x1f,%ecx
40b33e:	74 30                	je     0x40b370
40b340:	8b c1                	mov    %ecx,%eax
40b342:	c1 e9 02             	shr    $0x2,%ecx
40b345:	74 0f                	je     0x40b356
40b347:	8b 16                	mov    (%esi),%edx
40b349:	89 17                	mov    %edx,(%edi)
40b34b:	83 c7 04             	add    $0x4,%edi
40b34e:	83 c6 04             	add    $0x4,%esi
40b351:	83 e9 01             	sub    $0x1,%ecx
40b354:	75 f1                	jne    0x40b347
40b356:	8b c8                	mov    %eax,%ecx
40b358:	83 e1 03             	and    $0x3,%ecx
40b35b:	74 13                	je     0x40b370
40b35d:	8a 06                	mov    (%esi),%al
40b35f:	88 07                	mov    %al,(%edi)
40b361:	46                   	inc    %esi
40b362:	47                   	inc    %edi
40b363:	49                   	dec    %ecx
40b364:	75 f7                	jne    0x40b35d
40b366:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40b36d:	8d 49 00             	lea    0x0(%ecx),%ecx
40b370:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b374:	5e                   	pop    %esi
40b375:	5f                   	pop    %edi
40b376:	c3                   	ret
40b377:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40b37e:	8b ff                	mov    %edi,%edi
40b380:	ba 10 00 00 00       	mov    $0x10,%edx
40b385:	2b d0                	sub    %eax,%edx
40b387:	2b ca                	sub    %edx,%ecx
40b389:	51                   	push   %ecx
40b38a:	8b c2                	mov    %edx,%eax
40b38c:	8b c8                	mov    %eax,%ecx
40b38e:	83 e1 03             	and    $0x3,%ecx
40b391:	74 09                	je     0x40b39c
40b393:	8a 16                	mov    (%esi),%dl
40b395:	88 17                	mov    %dl,(%edi)
40b397:	46                   	inc    %esi
40b398:	47                   	inc    %edi
40b399:	49                   	dec    %ecx
40b39a:	75 f7                	jne    0x40b393
40b39c:	c1 e8 02             	shr    $0x2,%eax
40b39f:	74 0d                	je     0x40b3ae
40b3a1:	8b 16                	mov    (%esi),%edx
40b3a3:	89 17                	mov    %edx,(%edi)
40b3a5:	8d 76 04             	lea    0x4(%esi),%esi
40b3a8:	8d 7f 04             	lea    0x4(%edi),%edi
40b3ab:	48                   	dec    %eax
40b3ac:	75 f3                	jne    0x40b3a1
40b3ae:	59                   	pop    %ecx
40b3af:	e9 e9 fe ff ff       	jmp    0x40b29d
40b3b4:	cc                   	int3
40b3b5:	cc                   	int3
40b3b6:	cc                   	int3
40b3b7:	cc                   	int3
40b3b8:	cc                   	int3
40b3b9:	cc                   	int3
40b3ba:	cc                   	int3
40b3bb:	cc                   	int3
40b3bc:	cc                   	int3
40b3bd:	cc                   	int3
40b3be:	cc                   	int3
40b3bf:	cc                   	int3
40b3c0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40b3c4:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
40b3c9:	8b d7                	mov    %edi,%edx
40b3cb:	8b 7c 24 04          	mov    0x4(%esp),%edi
40b3cf:	85 c9                	test   %ecx,%ecx
40b3d1:	0f 84 3c 01 00 00    	je     0x40b513
40b3d7:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
40b3dd:	83 f9 20             	cmp    $0x20,%ecx
40b3e0:	0f 86 df 00 00 00    	jbe    0x40b4c5
40b3e6:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40b3ec:	0f 82 8b 00 00 00    	jb     0x40b47d