41b359:	3a 11                	cmp    (%ecx),%dl
41b35b:	75 18                	jne    0x41b375
41b35d:	84 d2                	test   %dl,%dl
41b35f:	74 ec                	je     0x41b34d
41b361:	8a 50 01             	mov    0x1(%eax),%dl
41b364:	3a 51 01             	cmp    0x1(%ecx),%dl
41b367:	75 0c                	jne    0x41b375
41b369:	83 c0 02             	add    $0x2,%eax
41b36c:	83 c1 02             	add    $0x2,%ecx
41b36f:	84 d2                	test   %dl,%dl
41b371:	75 e4                	jne    0x41b357
41b373:	eb d8                	jmp    0x41b34d
41b375:	1b c0                	sbb    %eax,%eax
41b377:	83 c8 01             	or     $0x1,%eax
41b37a:	5d                   	pop    %ebp
41b37b:	c3                   	ret
41b37c:	a1 7c 69 45 00       	mov    0x45697c,%eax
41b381:	90                   	nop
41b382:	c3                   	ret
41b383:	cc                   	int3
41b384:	cc                   	int3
41b385:	cc                   	int3
41b386:	cc                   	int3
41b387:	cc                   	int3
41b388:	cc                   	int3
41b389:	cc                   	int3
41b38a:	cc                   	int3
41b38b:	cc                   	int3
41b38c:	cc                   	int3
41b38d:	cc                   	int3
41b38e:	cc                   	int3
41b38f:	cc                   	int3
41b390:	56                   	push   %esi
41b391:	e8 e6 ff ff ff       	call   0x41b37c
41b396:	8b f0                	mov    %eax,%esi
41b398:	85 f6                	test   %esi,%esi
41b39a:	74 0a                	je     0x41b3a6
41b39c:	8b ce                	mov    %esi,%ecx
41b39e:	ff 15 5c e2 43 00    	call   *0x43e25c
41b3a4:	ff d6                	call   *%esi
41b3a6:	e8 ae bf 00 00       	call   0x427359
41b3ab:	cc                   	int3
41b3ac:	55                   	push   %ebp
41b3ad:	8b ec                	mov    %esp,%ebp
41b3af:	51                   	push   %ecx
41b3b0:	51                   	push   %ecx
41b3b1:	57                   	push   %edi
41b3b2:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b3b5:	33 c0                	xor    %eax,%eax
41b3b7:	0f b7 0f             	movzwl (%edi),%ecx
41b3ba:	0f b7 d1             	movzwl %cx,%edx
41b3bd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41b3c0:	89 55 fc             	mov    %edx,-0x4(%ebp)
41b3c3:	66 3b c1             	cmp    %cx,%ax
41b3c6:	75 08                	jne    0x41b3d0
41b3c8:	8b 45 08             	mov    0x8(%ebp),%eax
41b3cb:	e9 37 02 00 00       	jmp    0x41b607
41b3d0:	83 3d bc 68 45 00 01 	cmpl   $0x1,0x4568bc
41b3d7:	56                   	push   %esi
41b3d8:	0f 8e f1 00 00 00    	jle    0x41b4cf
41b3de:	8b c7                	mov    %edi,%eax
41b3e0:	25 ff 0f 00 00       	and    $0xfff,%eax
41b3e5:	6a 02                	push   $0x2
41b3e7:	5e                   	pop    %esi
41b3e8:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b3ed:	77 05                	ja     0x41b3f4
41b3ef:	0f 10 07             	movups (%edi),%xmm0
41b3f2:	eb 2e                	jmp    0x41b422
41b3f4:	0f 28 05 50 f8 43 00 	movaps 0x43f850,%xmm0
41b3fb:	6a 08                	push   $0x8
41b3fd:	0f b7 d1             	movzwl %cx,%edx
41b400:	59                   	pop    %ecx
41b401:	0f b7 c2             	movzwl %dx,%eax
41b404:	66 0f 73 d8 02       	psrldq $0x2,%xmm0
41b409:	66 0f c4 c0 07       	pinsrw $0x7,%eax,%xmm0
41b40e:	33 c0                	xor    %eax,%eax
41b410:	66 3b c2             	cmp    %dx,%ax
41b413:	74 05                	je     0x41b41a
41b415:	03 fe                	add    %esi,%edi
41b417:	0f b7 17             	movzwl (%edi),%edx
41b41a:	83 e9 01             	sub    $0x1,%ecx
41b41d:	75 e2                	jne    0x41b401
41b41f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b422:	8b 55 08             	mov    0x8(%ebp),%edx
41b425:	8b c2                	mov    %edx,%eax
41b427:	25 ff 0f 00 00       	and    $0xfff,%eax
41b42c:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b431:	77 5f                	ja     0x41b492
41b433:	66 0f 3a 63 02 0d    	pcmpistri $0xd,(%edx),%xmm0
41b439:	76 08                	jbe    0x41b443
41b43b:	83 c2 10             	add    $0x10,%edx
41b43e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b441:	eb e2                	jmp    0x41b425
41b443:	0f 83 bb 01 00 00    	jae    0x41b604
41b449:	66 0f 3a 63 02 0d    	pcmpistri $0xd,(%edx),%xmm0
41b44f:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
41b452:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b455:	8b fa                	mov    %edx,%edi
41b457:	8b c7                	mov    %edi,%eax
41b459:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41b45c:	25 ff 0f 00 00       	and    $0xfff,%eax
41b461:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b466:	77 44                	ja     0x41b4ac
41b468:	8b c1                	mov    %ecx,%eax
41b46a:	25 ff 0f 00 00       	and    $0xfff,%eax
41b46f:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b474:	77 36                	ja     0x41b4ac
41b476:	0f 10 09             	movups (%ecx),%xmm1
41b479:	66 0f 3a 63 0f 0d    	pcmpistri $0xd,(%edi),%xmm1
41b47f:	71 47                	jno    0x41b4c8
41b481:	0f 88 83 01 00 00    	js     0x41b60a
41b487:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b48a:	83 c7 10             	add    $0x10,%edi
41b48d:	83 c1 10             	add    $0x10,%ecx
41b490:	eb c5                	jmp    0x41b457
41b492:	0f b7 02             	movzwl (%edx),%eax
41b495:	33 ff                	xor    %edi,%edi
41b497:	66 3b f8             	cmp    %ax,%di
41b49a:	0f 84 64 01 00 00    	je     0x41b604
41b4a0:	66 3b c1             	cmp    %cx,%ax
41b4a3:	74 ad                	je     0x41b452
41b4a5:	03 d6                	add    %esi,%edx
41b4a7:	e9 79 ff ff ff       	jmp    0x41b425
41b4ac:	0f b7 01             	movzwl (%ecx),%eax
41b4af:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b4b3:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
41b4b7:	0f 84 4d 01 00 00    	je     0x41b60a
41b4bd:	66 39 07             	cmp    %ax,(%edi)
41b4c0:	75 06                	jne    0x41b4c8
41b4c2:	03 fe                	add    %esi,%edi
41b4c4:	03 ce                	add    %esi,%ecx
41b4c6:	eb 8f                	jmp    0x41b457
41b4c8:	03 d6                	add    %esi,%edx
41b4ca:	e9 6f ff ff ff       	jmp    0x41b43e
41b4cf:	0f 85 e3 00 00 00    	jne    0x41b5b8
41b4d5:	0f 28 1d 50 f8 43 00 	movaps 0x43f850,%xmm3
41b4dc:	0f b7 c1             	movzwl %cx,%eax
41b4df:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b4e2:	6a 02                	push   $0x2
41b4e4:	5e                   	pop    %esi
41b4e5:	66 0f 6e c0          	movd   %eax,%xmm0
41b4e9:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
41b4ee:	66 0f 70 e0 00       	pshufd $0x0,%xmm0,%xmm4
41b4f3:	8b c1                	mov    %ecx,%eax
41b4f5:	25 ff 0f 00 00       	and    $0xfff,%eax
41b4fa:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b4ff:	77 27                	ja     0x41b528
41b501:	0f 10 09             	movups (%ecx),%xmm1
41b504:	0f 28 c3             	movaps %xmm3,%xmm0
41b507:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
41b50b:	66 0f 75 cc          	pcmpeqw %xmm4,%xmm1
41b50f:	66 0f eb c1          	por    %xmm1,%xmm0
41b513:	66 0f d7 c0          	pmovmskb %xmm0,%eax
41b517:	85 c0                	test   %eax,%eax
41b519:	75 05                	jne    0x41b520
41b51b:	83 c1 10             	add    $0x10,%ecx
41b51e:	eb d3                	jmp    0x41b4f3
41b520:	0f bc c0             	bsf    %eax,%eax
41b523:	d1 e8                	shr    $1,%eax
41b525:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41b528:	0f b7 01             	movzwl (%ecx),%eax
41b52b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41b52f:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
41b533:	0f 84 cb 00 00 00    	je     0x41b604
41b539:	66 3b d0             	cmp    %ax,%dx
41b53c:	75 6f                	jne    0x41b5ad
41b53e:	8b d1                	mov    %ecx,%edx
41b540:	8b c7                	mov    %edi,%eax
41b542:	25 ff 0f 00 00       	and    $0xfff,%eax
41b547:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b54c:	77 41                	ja     0x41b58f
41b54e:	8b c2                	mov    %edx,%eax
41b550:	25 ff 0f 00 00       	and    $0xfff,%eax
41b555:	3d f0 0f 00 00       	cmp    $0xff0,%eax
41b55a:	77 33                	ja     0x41b58f
41b55c:	0f 10 17             	movups (%edi),%xmm2
41b55f:	0f 10 0a             	movups (%edx),%xmm1
41b562:	0f 28 c3             	movaps %xmm3,%xmm0
41b565:	66 0f 75 ca          	pcmpeqw %xmm2,%xmm1
41b569:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
41b56d:	66 0f 75 cb          	pcmpeqw %xmm3,%xmm1
41b571:	66 0f eb c8          	por    %xmm0,%xmm1
41b575:	66 0f d7 c1          	pmovmskb %xmm1,%eax
41b579:	85 c0                	test   %eax,%eax
41b57b:	75 08                	jne    0x41b585
41b57d:	83 c2 10             	add    $0x10,%edx
41b580:	83 c7 10             	add    $0x10,%edi
41b583:	eb bb                	jmp    0x41b540
41b585:	0f bc c0             	bsf    %eax,%eax
41b588:	83 e0 fe             	and    $0xfffffffe,%eax
41b58b:	03 d0                	add    %eax,%edx
41b58d:	03 f8                	add    %eax,%edi
41b58f:	0f b7 07             	movzwl (%edi),%eax
41b592:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41b596:	66 39 45 f8          	cmp    %ax,-0x8(%ebp)
41b59a:	74 18                	je     0x41b5b4
41b59c:	66 39 02             	cmp    %ax,(%edx)
41b59f:	75 06                	jne    0x41b5a7
41b5a1:	03 d6                	add    %esi,%edx
41b5a3:	03 fe                	add    %esi,%edi
41b5a5:	eb 99                	jmp    0x41b540
41b5a7:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b5aa:	8b 55 fc             	mov    -0x4(%ebp),%edx
41b5ad:	03 ce                	add    %esi,%ecx
41b5af:	e9 3f ff ff ff       	jmp    0x41b4f3
41b5b4:	8b c1                	mov    %ecx,%eax
41b5b6:	eb 4e                	jmp    0x41b606
41b5b8:	8b 55 08             	mov    0x8(%ebp),%edx
41b5bb:	33 c9                	xor    %ecx,%ecx
41b5bd:	66 39 0a             	cmp    %cx,(%edx)
41b5c0:	74 42                	je     0x41b604
41b5c2:	8b c2                	mov    %edx,%eax
41b5c4:	2b c7                	sub    %edi,%eax
41b5c6:	6a 02                	push   $0x2
41b5c8:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b5cb:	5e                   	pop    %esi
41b5cc:	0f b7 0f             	movzwl (%edi),%ecx
41b5cf:	66 85 c9             	test   %cx,%cx
41b5d2:	74 36                	je     0x41b60a
41b5d4:	0f b7 0c 38          	movzwl (%eax,%edi,1),%ecx
41b5d8:	0f b7 07             	movzwl (%edi),%eax
41b5db:	2b c8                	sub    %eax,%ecx
41b5dd:	8b 45 f8             	mov    -0x8(%ebp),%eax
41b5e0:	75 0c                	jne    0x41b5ee
41b5e2:	03 fe                	add    %esi,%edi
41b5e4:	33 c9                	xor    %ecx,%ecx
41b5e6:	66 39 0c 38          	cmp    %cx,(%eax,%edi,1)
41b5ea:	75 e0                	jne    0x41b5cc
41b5ec:	eb 02                	jmp    0x41b5f0
41b5ee:	33 c9                	xor    %ecx,%ecx
41b5f0:	66 39 0f             	cmp    %cx,(%edi)
41b5f3:	74 15                	je     0x41b60a
41b5f5:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b5f8:	03 d6                	add    %esi,%edx
41b5fa:	03 c6                	add    %esi,%eax
41b5fc:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b5ff:	66 39 0a             	cmp    %cx,(%edx)
41b602:	75 c8                	jne    0x41b5cc
41b604:	33 c0                	xor    %eax,%eax
41b606:	5e                   	pop    %esi
41b607:	5f                   	pop    %edi
41b608:	c9                   	leave
41b609:	c3                   	ret
41b60a:	8b c2                	mov    %edx,%eax
41b60c:	eb f8                	jmp    0x41b606
41b60e:	55                   	push   %ebp
41b60f:	8b ec                	mov    %esp,%ebp
41b611:	83 ec 14             	sub    $0x14,%esp
41b614:	8b 45 08             	mov    0x8(%ebp),%eax
41b617:	53                   	push   %ebx
41b618:	57                   	push   %edi
41b619:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b61c:	bb 20 05 93 19       	mov    $0x19930520,%ebx
41b621:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b624:	85 ff                	test   %edi,%edi
41b626:	74 2d                	je     0x41b655
41b628:	f6 07 10             	testb  $0x10,(%edi)
41b62b:	74 1e                	je     0x41b64b
41b62d:	8b 08                	mov    (%eax),%ecx
41b62f:	83 e9 04             	sub    $0x4,%ecx
41b632:	56                   	push   %esi
41b633:	51                   	push   %ecx
41b634:	8b 01                	mov    (%ecx),%eax
41b636:	8b 70 20             	mov    0x20(%eax),%esi
41b639:	8b ce                	mov    %esi,%ecx
41b63b:	8b 78 18             	mov    0x18(%eax),%edi
41b63e:	ff 15 5c e2 43 00    	call   *0x43e25c
41b644:	ff d6                	call   *%esi
41b646:	5e                   	pop    %esi
41b647:	85 ff                	test   %edi,%edi
41b649:	74 0a                	je     0x41b655
41b64b:	f6 07 08             	testb  $0x8,(%edi)
41b64e:	74 05                	je     0x41b655
41b650:	bb 00 40 99 01       	mov    $0x1994000,%ebx
41b655:	8b 45 f0             	mov    -0x10(%ebp),%eax
41b658:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b65b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b65e:	50                   	push   %eax
41b65f:	6a 03                	push   $0x3
41b661:	6a 01                	push   $0x1
41b663:	68 63 73 6d e0       	push   $0xe06d7363
41b668:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41b66b:	89 7d fc             	mov    %edi,-0x4(%ebp)
41b66e:	ff 15 94 e1 43 00    	call   *0x43e194
41b674:	5f                   	pop    %edi
41b675:	5b                   	pop    %ebx
41b676:	c9                   	leave
41b677:	c2 08 00             	ret    $0x8
41b67a:	cc                   	int3
41b67b:	cc                   	int3
41b67c:	cc                   	int3
41b67d:	cc                   	int3
41b67e:	cc                   	int3
41b67f:	cc                   	int3
41b680:	57                   	push   %edi
41b681:	56                   	push   %esi
41b682:	8b 74 24 10          	mov    0x10(%esp),%esi
41b686:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41b68a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
41b68e:	8b c1                	mov    %ecx,%eax
41b690:	8b d1                	mov    %ecx,%edx
41b692:	03 c6                	add    %esi,%eax
41b694:	3b fe                	cmp    %esi,%edi
41b696:	76 08                	jbe    0x41b6a0
41b698:	3b f8                	cmp    %eax,%edi
41b69a:	0f 82 94 02 00 00    	jb     0x41b934
41b6a0:	83 f9 20             	cmp    $0x20,%ecx
41b6a3:	0f 82 d2 04 00 00    	jb     0x41bb7b
41b6a9:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
41b6af:	73 13                	jae    0x41b6c4
41b6b1:	0f ba 25 1c 50 45 00 	btl    $0x1,0x45501c
41b6b8:	01
41b6b9:	0f 82 8e 04 00 00    	jb     0x41bb4d
41b6bf:	e9 e3 01 00 00       	jmp    0x41b8a7
41b6c4:	0f ba 25 c0 68 45 00 	btl    $0x1,0x4568c0
41b6cb:	01
41b6cc:	73 09                	jae    0x41b6d7
41b6ce:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41b6d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
41b6d4:	5e                   	pop    %esi
41b6d5:	5f                   	pop    %edi
41b6d6:	c3                   	ret
41b6d7:	8b c7                	mov    %edi,%eax
41b6d9:	33 c6                	xor    %esi,%eax
41b6db:	a9 0f 00 00 00       	test   $0xf,%eax
41b6e0:	75 0e                	jne    0x41b6f0
41b6e2:	0f ba 25 1c 50 45 00 	btl    $0x1,0x45501c
41b6e9:	01
41b6ea:	0f 82 e0 03 00 00    	jb     0x41bad0
41b6f0:	0f ba 25 c0 68 45 00 	btl    $0x0,0x4568c0
41b6f7:	00
41b6f8:	0f 83 a9 01 00 00    	jae    0x41b8a7
41b6fe:	f7 c7 03 00 00 00    	test   $0x3,%edi
41b704:	0f 85 9d 01 00 00    	jne    0x41b8a7
41b70a:	f7 c6 03 00 00 00    	test   $0x3,%esi
41b710:	0f 85 ac 01 00 00    	jne    0x41b8c2
41b716:	0f ba e7 02          	bt     $0x2,%edi
41b71a:	73 0d                	jae    0x41b729
41b71c:	8b 06                	mov    (%esi),%eax
41b71e:	83 e9 04             	sub    $0x4,%ecx
41b721:	8d 76 04             	lea    0x4(%esi),%esi
41b724:	89 07                	mov    %eax,(%edi)
41b726:	8d 7f 04             	lea    0x4(%edi),%edi
41b729:	0f ba e7 03          	bt     $0x3,%edi
41b72d:	73 11                	jae    0x41b740
41b72f:	f3 0f 7e 0e          	movq   (%esi),%xmm1
41b733:	83 e9 08             	sub    $0x8,%ecx
41b736:	8d 76 08             	lea    0x8(%esi),%esi
41b739:	66 0f d6 0f          	movq   %xmm1,(%edi)
41b73d:	8d 7f 08             	lea    0x8(%edi),%edi