40422a:	81 ef 80 00 00 00    	sub    $0x80,%edi
404230:	f3 0f 6f 06          	movdqu (%esi),%xmm0
404234:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
404239:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
40423e:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
404243:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
404248:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
40424d:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
404252:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
404257:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40425b:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
404260:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
404265:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
40426a:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
40426f:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
404274:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
404279:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
40427e:	81 e9 80 00 00 00    	sub    $0x80,%ecx
404284:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
40428a:	75 90                	jne    0x40421c
40428c:	83 f9 20             	cmp    $0x20,%ecx
40428f:	72 23                	jb     0x4042b4
404291:	83 ee 20             	sub    $0x20,%esi
404294:	83 ef 20             	sub    $0x20,%edi
404297:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40429b:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
4042a0:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
4042a4:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
4042a9:	83 e9 20             	sub    $0x20,%ecx
4042ac:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
4042b2:	75 dd                	jne    0x404291
4042b4:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
4042ba:	74 15                	je     0x4042d1
4042bc:	83 ef 04             	sub    $0x4,%edi
4042bf:	83 ee 04             	sub    $0x4,%esi
4042c2:	8b 06                	mov    (%esi),%eax
4042c4:	89 07                	mov    %eax,(%edi)
4042c6:	83 e9 04             	sub    $0x4,%ecx
4042c9:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
4042cf:	75 eb                	jne    0x4042bc
4042d1:	85 c9                	test   %ecx,%ecx
4042d3:	74 0f                	je     0x4042e4
4042d5:	83 ef 01             	sub    $0x1,%edi
4042d8:	83 ee 01             	sub    $0x1,%esi
4042db:	8a 06                	mov    (%esi),%al
4042dd:	88 07                	mov    %al,(%edi)
4042df:	83 e9 01             	sub    $0x1,%ecx
4042e2:	75 f1                	jne    0x4042d5
4042e4:	8b 44 24 0c          	mov    0xc(%esp),%eax
4042e8:	5e                   	pop    %esi
4042e9:	5f                   	pop    %edi
4042ea:	c3                   	ret
4042eb:	eb 03                	jmp    0x4042f0
4042ed:	cc                   	int3
4042ee:	cc                   	int3
4042ef:	cc                   	int3
4042f0:	8b c6                	mov    %esi,%eax
4042f2:	83 e0 0f             	and    $0xf,%eax
4042f5:	85 c0                	test   %eax,%eax
4042f7:	0f 85 e3 00 00 00    	jne    0x4043e0
4042fd:	8b d1                	mov    %ecx,%edx
4042ff:	83 e1 7f             	and    $0x7f,%ecx
404302:	c1 ea 07             	shr    $0x7,%edx
404305:	74 66                	je     0x40436d
404307:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40430e:	8b ff                	mov    %edi,%edi
404310:	66 0f 6f 06          	movdqa (%esi),%xmm0
404314:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
404319:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
40431e:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
404323:	66 0f 7f 07          	movdqa %xmm0,(%edi)
404327:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
40432c:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
404331:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
404336:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
40433b:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
404340:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
404345:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
40434a:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
40434f:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
404354:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
404359:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
40435e:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
404364:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40436a:	4a                   	dec    %edx
40436b:	75 a3                	jne    0x404310
40436d:	85 c9                	test   %ecx,%ecx
40436f:	74 5f                	je     0x4043d0
404371:	8b d1                	mov    %ecx,%edx
404373:	c1 ea 05             	shr    $0x5,%edx
404376:	85 d2                	test   %edx,%edx
404378:	74 21                	je     0x40439b
40437a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404380:	f3 0f 6f 06          	movdqu (%esi),%xmm0
404384:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
404389:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40438d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
404392:	8d 76 20             	lea    0x20(%esi),%esi
404395:	8d 7f 20             	lea    0x20(%edi),%edi
404398:	4a                   	dec    %edx
404399:	75 e5                	jne    0x404380
40439b:	83 e1 1f             	and    $0x1f,%ecx
40439e:	74 30                	je     0x4043d0
4043a0:	8b c1                	mov    %ecx,%eax
4043a2:	c1 e9 02             	shr    $0x2,%ecx
4043a5:	74 0f                	je     0x4043b6
4043a7:	8b 16                	mov    (%esi),%edx
4043a9:	89 17                	mov    %edx,(%edi)
4043ab:	83 c7 04             	add    $0x4,%edi
4043ae:	83 c6 04             	add    $0x4,%esi
4043b1:	83 e9 01             	sub    $0x1,%ecx
4043b4:	75 f1                	jne    0x4043a7
4043b6:	8b c8                	mov    %eax,%ecx
4043b8:	83 e1 03             	and    $0x3,%ecx
4043bb:	74 13                	je     0x4043d0
4043bd:	8a 06                	mov    (%esi),%al
4043bf:	88 07                	mov    %al,(%edi)
4043c1:	46                   	inc    %esi
4043c2:	47                   	inc    %edi
4043c3:	49                   	dec    %ecx
4043c4:	75 f7                	jne    0x4043bd
4043c6:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4043cd:	8d 49 00             	lea    0x0(%ecx),%ecx
4043d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4043d4:	5e                   	pop    %esi
4043d5:	5f                   	pop    %edi
4043d6:	c3                   	ret
4043d7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4043de:	8b ff                	mov    %edi,%edi
4043e0:	ba 10 00 00 00       	mov    $0x10,%edx
4043e5:	2b d0                	sub    %eax,%edx
4043e7:	2b ca                	sub    %edx,%ecx
4043e9:	51                   	push   %ecx
4043ea:	8b c2                	mov    %edx,%eax
4043ec:	8b c8                	mov    %eax,%ecx
4043ee:	83 e1 03             	and    $0x3,%ecx
4043f1:	74 09                	je     0x4043fc
4043f3:	8a 16                	mov    (%esi),%dl
4043f5:	88 17                	mov    %dl,(%edi)
4043f7:	46                   	inc    %esi
4043f8:	47                   	inc    %edi
4043f9:	49                   	dec    %ecx
4043fa:	75 f7                	jne    0x4043f3
4043fc:	c1 e8 02             	shr    $0x2,%eax
4043ff:	74 0d                	je     0x40440e
404401:	8b 16                	mov    (%esi),%edx
404403:	89 17                	mov    %edx,(%edi)
404405:	8d 76 04             	lea    0x4(%esi),%esi
404408:	8d 7f 04             	lea    0x4(%edi),%edi
40440b:	48                   	dec    %eax
40440c:	75 f3                	jne    0x404401
40440e:	59                   	pop    %ecx
40440f:	e9 e9 fe ff ff       	jmp    0x4042fd
404414:	55                   	push   %ebp
404415:	8b ec                	mov    %esp,%ebp
404417:	56                   	push   %esi
404418:	33 f6                	xor    %esi,%esi
40441a:	83 3d 14 3e 42 00 02 	cmpl   $0x2,0x423e14
404421:	7d 2d                	jge    0x404450
404423:	8b 4d 08             	mov    0x8(%ebp),%ecx
404426:	8b d1                	mov    %ecx,%edx
404428:	66 8b 01             	mov    (%ecx),%ax
40442b:	83 c1 02             	add    $0x2,%ecx
40442e:	66 85 c0             	test   %ax,%ax
404431:	75 f5                	jne    0x404428
404433:	66 8b 45 0c          	mov    0xc(%ebp),%ax
404437:	83 e9 02             	sub    $0x2,%ecx
40443a:	3b ca                	cmp    %edx,%ecx
40443c:	74 05                	je     0x404443
40443e:	66 39 01             	cmp    %ax,(%ecx)
404441:	75 f4                	jne    0x404437
404443:	66 39 01             	cmp    %ax,(%ecx)
404446:	75 04                	jne    0x40444c
404448:	8b c1                	mov    %ecx,%eax
40444a:	eb 66                	jmp    0x4044b2
40444c:	33 c0                	xor    %eax,%eax
40444e:	eb 62                	jmp    0x4044b2
404450:	8b 55 08             	mov    0x8(%ebp),%edx
404453:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
404457:	eb 12                	jmp    0x40446b
404459:	0f b7 02             	movzwl (%edx),%eax
40445c:	66 3b c1             	cmp    %cx,%ax
40445f:	75 02                	jne    0x404463
404461:	8b f2                	mov    %edx,%esi
404463:	66 85 c0             	test   %ax,%ax
404466:	74 48                	je     0x4044b0
404468:	83 c2 02             	add    $0x2,%edx
40446b:	8d 42 01             	lea    0x1(%edx),%eax
40446e:	a8 0e                	test   $0xe,%al
404470:	75 e7                	jne    0x404459
404472:	33 c0                	xor    %eax,%eax
404474:	66 3b c1             	cmp    %cx,%ax
404477:	75 1e                	jne    0x404497
404479:	b8 01 00 ff ff       	mov    $0xffff0001,%eax
40447e:	66 0f 6e c8          	movd   %eax,%xmm1
404482:	eb 03                	jmp    0x404487
404484:	83 c2 10             	add    $0x10,%edx
404487:	0f 10 02             	movups (%edx),%xmm0
40448a:	66 0f 3a 63 c8 15    	pcmpistri $0x15,%xmm0,%xmm1
404490:	75 f2                	jne    0x404484
404492:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
404495:	eb 1b                	jmp    0x4044b2
404497:	0f b7 c1             	movzwl %cx,%eax
40449a:	66 0f 6e c0          	movd   %eax,%xmm0
40449e:	66 0f 3a 63 02 41    	pcmpistri $0x41,(%edx),%xmm0
4044a4:	73 03                	jae    0x4044a9
4044a6:	8d 34 4a             	lea    (%edx,%ecx,2),%esi
4044a9:	74 05                	je     0x4044b0
4044ab:	83 c2 10             	add    $0x10,%edx
4044ae:	eb ee                	jmp    0x40449e
4044b0:	8b c6                	mov    %esi,%eax
4044b2:	5e                   	pop    %esi
4044b3:	5d                   	pop    %ebp
4044b4:	c3                   	ret
4044b5:	55                   	push   %ebp
4044b6:	8b ec                	mov    %esp,%ebp
4044b8:	57                   	push   %edi
4044b9:	8b 7d 08             	mov    0x8(%ebp),%edi
4044bc:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
4044c0:	74 48                	je     0x40450a
4044c2:	8b 0f                	mov    (%edi),%ecx
4044c4:	85 c9                	test   %ecx,%ecx
4044c6:	74 42                	je     0x40450a
4044c8:	8d 51 01             	lea    0x1(%ecx),%edx
4044cb:	8a 01                	mov    (%ecx),%al
4044cd:	41                   	inc    %ecx
4044ce:	84 c0                	test   %al,%al
4044d0:	75 f9                	jne    0x4044cb
4044d2:	2b ca                	sub    %edx,%ecx
4044d4:	53                   	push   %ebx
4044d5:	56                   	push   %esi
4044d6:	8d 59 01             	lea    0x1(%ecx),%ebx
4044d9:	53                   	push   %ebx
4044da:	e8 d1 4d 00 00       	call   0x4092b0
4044df:	8b f0                	mov    %eax,%esi
4044e1:	59                   	pop    %ecx
4044e2:	85 f6                	test   %esi,%esi
4044e4:	74 19                	je     0x4044ff
4044e6:	ff 37                	push   (%edi)
4044e8:	53                   	push   %ebx
4044e9:	56                   	push   %esi
4044ea:	e8 98 52 00 00       	call   0x409787
4044ef:	8b 45 0c             	mov    0xc(%ebp),%eax
4044f2:	8b ce                	mov    %esi,%ecx
4044f4:	83 c4 0c             	add    $0xc,%esp
4044f7:	33 f6                	xor    %esi,%esi
4044f9:	89 08                	mov    %ecx,(%eax)
4044fb:	c6 40 04 01          	movb   $0x1,0x4(%eax)
4044ff:	56                   	push   %esi
404500:	e8 5a 35 00 00       	call   0x407a5f
404505:	59                   	pop    %ecx
404506:	5e                   	pop    %esi
404507:	5b                   	pop    %ebx
404508:	eb 0b                	jmp    0x404515
40450a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40450d:	8b 07                	mov    (%edi),%eax
40450f:	89 01                	mov    %eax,(%ecx)
404511:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
404515:	5f                   	pop    %edi
404516:	5d                   	pop    %ebp
404517:	c3                   	ret
404518:	55                   	push   %ebp
404519:	8b ec                	mov    %esp,%ebp
40451b:	56                   	push   %esi
40451c:	8b 75 08             	mov    0x8(%ebp),%esi
40451f:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
404523:	74 08                	je     0x40452d
404525:	ff 36                	push   (%esi)
404527:	e8 33 35 00 00       	call   0x407a5f
40452c:	59                   	pop    %ecx
40452d:	83 26 00             	andl   $0x0,(%esi)
404530:	c6 46 04 00          	movb   $0x0,0x4(%esi)
404534:	5e                   	pop    %esi
404535:	5d                   	pop    %ebp
404536:	c3                   	ret
404537:	55                   	push   %ebp
404538:	8b ec                	mov    %esp,%ebp
40453a:	83 ec 20             	sub    $0x20,%esp
40453d:	53                   	push   %ebx
40453e:	8b 5d 08             	mov    0x8(%ebp),%ebx
404541:	56                   	push   %esi
404542:	57                   	push   %edi
404543:	6a 08                	push   $0x8
404545:	59                   	pop    %ecx
404546:	be 84 b3 41 00       	mov    $0x41b384,%esi
40454b:	8d 7d e0             	lea    -0x20(%ebp),%edi
40454e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
404550:	8b 7d 0c             	mov    0xc(%ebp),%edi
404553:	85 ff                	test   %edi,%edi
404555:	74 1c                	je     0x404573
404557:	f6 07 10             	testb  $0x10,(%edi)
40455a:	74 17                	je     0x404573
40455c:	8b 0b                	mov    (%ebx),%ecx
40455e:	83 e9 04             	sub    $0x4,%ecx
404561:	51                   	push   %ecx
404562:	8b 01                	mov    (%ecx),%eax
404564:	8b 70 20             	mov    0x20(%eax),%esi
404567:	8b ce                	mov    %esi,%ecx
404569:	8b 78 18             	mov    0x18(%eax),%edi
40456c:	e8 d4 f5 ff ff       	call   0x403b45
404571:	ff d6                	call   *%esi
404573:	89 5d f8             	mov    %ebx,-0x8(%ebp)
404576:	89 7d fc             	mov    %edi,-0x4(%ebp)
404579:	85 ff                	test   %edi,%edi
40457b:	74 0c                	je     0x404589
40457d:	f6 07 08             	testb  $0x8,(%edi)
404580:	74 07                	je     0x404589
404582:	c7 45 f4 00 40 99 01 	movl   $0x1994000,-0xc(%ebp)
404589:	8d 45 f4             	lea    -0xc(%ebp),%eax
40458c:	50                   	push   %eax
40458d:	ff 75 f0             	push   -0x10(%ebp)
404590:	ff 75 e4             	push   -0x1c(%ebp)
404593:	ff 75 e0             	push   -0x20(%ebp)
404596:	ff 15 44 b0 41 00    	call   *0x41b044
40459c:	5f                   	pop    %edi
40459d:	5e                   	pop    %esi
40459e:	5b                   	pop    %ebx
40459f:	8b e5                	mov    %ebp,%esp
4045a1:	5d                   	pop    %ebp
4045a2:	c2 08 00             	ret    $0x8
4045a5:	e8 4c 06 00 00       	call   0x404bf6
4045aa:	e8 39 04 00 00       	call   0x4049e8
4045af:	e8 69 07 00 00       	call   0x404d1d
4045b4:	84 c0                	test   %al,%al
4045b6:	75 03                	jne    0x4045bb
4045b8:	32 c0                	xor    %al,%al
4045ba:	c3                   	ret
4045bb:	e8 0f 07 00 00       	call   0x404ccf
4045c0:	84 c0                	test   %al,%al
4045c2:	75 07                	jne    0x4045cb
4045c4:	e8 90 07 00 00       	call   0x404d59
4045c9:	eb ed                	jmp    0x4045b8
4045cb:	b0 01                	mov    $0x1,%al
4045cd:	c3                   	ret
4045ce:	55                   	push   %ebp
4045cf:	8b ec                	mov    %esp,%ebp
4045d1:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4045d5:	75 12                	jne    0x4045e9
4045d7:	e8 26 07 00 00       	call   0x404d02
4045dc:	e8 78 07 00 00       	call   0x404d59
4045e1:	6a 00                	push   $0x0
4045e3:	e8 3a 04 00 00       	call   0x404a22
4045e8:	59                   	pop    %ecx
4045e9:	b0 01                	mov    $0x1,%al
4045eb:	5d                   	pop    %ebp
4045ec:	c3                   	ret
4045ed:	cc                   	int3
4045ee:	cc                   	int3
4045ef:	cc                   	int3
4045f0:	55                   	push   %ebp