40867d:	83 c4 04             	add    $0x4,%esp
408680:	55                   	push   %ebp
408681:	8b 6b 04             	mov    0x4(%ebx),%ebp
408684:	89 6c 24 04          	mov    %ebp,0x4(%esp)
408688:	8b ec                	mov    %esp,%ebp
40868a:	8b 4b 08             	mov    0x8(%ebx),%ecx
40868d:	83 ec 1c             	sub    $0x1c,%esp
408690:	83 3d 64 45 43 00 01 	cmpl   $0x1,0x434564
408697:	56                   	push   %esi
408698:	7d 32                	jge    0x4086cc
40869a:	0f b7 01             	movzwl (%ecx),%eax
40869d:	8b d0                	mov    %eax,%edx
40869f:	66 85 c0             	test   %ax,%ax
4086a2:	74 1a                	je     0x4086be
4086a4:	8b f0                	mov    %eax,%esi
4086a6:	0f b7 d6             	movzwl %si,%edx
4086a9:	66 3b 73 0c          	cmp    0xc(%ebx),%si
4086ad:	74 0f                	je     0x4086be
4086af:	83 c1 02             	add    $0x2,%ecx
4086b2:	0f b7 01             	movzwl (%ecx),%eax
4086b5:	8b f0                	mov    %eax,%esi
4086b7:	8b d0                	mov    %eax,%edx
4086b9:	66 85 c0             	test   %ax,%ax
4086bc:	75 e8                	jne    0x4086a6
4086be:	33 c0                	xor    %eax,%eax
4086c0:	66 3b 53 0c          	cmp    0xc(%ebx),%dx
4086c4:	0f 95 c0             	setne  %al
4086c7:	48                   	dec    %eax
4086c8:	23 c1                	and    %ecx,%eax
4086ca:	eb 68                	jmp    0x408734
4086cc:	66 8b 53 0c          	mov    0xc(%ebx),%dx
4086d0:	0f b7 c2             	movzwl %dx,%eax
4086d3:	66 0f 6e c0          	movd   %eax,%xmm0
4086d7:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
4086dc:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
4086e1:	8b c1                	mov    %ecx,%eax
4086e3:	25 ff 0f 00 00       	and    $0xfff,%eax
4086e8:	3d f0 0f 00 00       	cmp    $0xff0,%eax
4086ed:	77 1f                	ja     0x40870e
4086ef:	0f 10 01             	movups (%ecx),%xmm0
4086f2:	66 0f ef c9          	pxor   %xmm1,%xmm1
4086f6:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
4086fa:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
4086fe:	66 0f eb c8          	por    %xmm0,%xmm1
408702:	66 0f d7 c1          	pmovmskb %xmm1,%eax
408706:	85 c0                	test   %eax,%eax
408708:	75 18                	jne    0x408722
40870a:	6a 10                	push   $0x10
40870c:	eb 0f                	jmp    0x40871d
40870e:	0f b7 01             	movzwl (%ecx),%eax
408711:	66 3b c2             	cmp    %dx,%ax
408714:	74 1c                	je     0x408732
408716:	66 85 c0             	test   %ax,%ax
408719:	74 13                	je     0x40872e
40871b:	6a 02                	push   $0x2
40871d:	58                   	pop    %eax
40871e:	03 c8                	add    %eax,%ecx
408720:	eb bf                	jmp    0x4086e1
408722:	0f bc c0             	bsf    %eax,%eax
408725:	03 c8                	add    %eax,%ecx
408727:	33 c0                	xor    %eax,%eax
408729:	66 39 11             	cmp    %dx,(%ecx)
40872c:	eb 96                	jmp    0x4086c4
40872e:	33 c0                	xor    %eax,%eax
408730:	eb 02                	jmp    0x408734
408732:	8b c1                	mov    %ecx,%eax
408734:	5e                   	pop    %esi
408735:	8b e5                	mov    %ebp,%esp
408737:	5d                   	pop    %ebp
408738:	8b e3                	mov    %ebx,%esp
40873a:	5b                   	pop    %ebx
40873b:	c3                   	ret
40873c:	6a 08                	push   $0x8
40873e:	68 58 13 43 00       	push   $0x431358
408743:	e8 78 f8 ff ff       	call   0x407fc0
408748:	8b 45 08             	mov    0x8(%ebp),%eax
40874b:	85 c0                	test   %eax,%eax
40874d:	74 7e                	je     0x4087cd
40874f:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408755:	75 76                	jne    0x4087cd
408757:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40875b:	75 70                	jne    0x4087cd
40875d:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
408764:	74 12                	je     0x408778
408766:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
40876d:	74 09                	je     0x408778
40876f:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
408776:	75 55                	jne    0x4087cd
408778:	8b 48 1c             	mov    0x1c(%eax),%ecx
40877b:	85 c9                	test   %ecx,%ecx
40877d:	74 4e                	je     0x4087cd
40877f:	8b 51 04             	mov    0x4(%ecx),%edx
408782:	85 d2                	test   %edx,%edx
408784:	74 29                	je     0x4087af
408786:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40878a:	52                   	push   %edx
40878b:	ff 70 18             	push   0x18(%eax)
40878e:	e8 4a 00 00 00       	call   0x4087dd
408793:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40879a:	eb 31                	jmp    0x4087cd
40879c:	ff 75 0c             	push   0xc(%ebp)
40879f:	ff 75 ec             	push   -0x14(%ebp)
4087a2:	e8 43 00 00 00       	call   0x4087ea
4087a7:	59                   	pop    %ecx
4087a8:	59                   	pop    %ecx
4087a9:	c3                   	ret
4087aa:	8b 65 e8             	mov    -0x18(%ebp),%esp
4087ad:	eb e4                	jmp    0x408793
4087af:	f6 01 10             	testb  $0x10,(%ecx)
4087b2:	74 19                	je     0x4087cd
4087b4:	8b 40 18             	mov    0x18(%eax),%eax
4087b7:	8b 08                	mov    (%eax),%ecx
4087b9:	85 c9                	test   %ecx,%ecx
4087bb:	74 10                	je     0x4087cd
4087bd:	8b 01                	mov    (%ecx),%eax
4087bf:	51                   	push   %ecx
4087c0:	8b 70 08             	mov    0x8(%eax),%esi
4087c3:	8b ce                	mov    %esi,%ecx
4087c5:	ff 15 54 41 42 00    	call   *0x424154
4087cb:	ff d6                	call   *%esi
4087cd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4087d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4087d7:	59                   	pop    %ecx
4087d8:	5f                   	pop    %edi
4087d9:	5e                   	pop    %esi
4087da:	5b                   	pop    %ebx
4087db:	c9                   	leave
4087dc:	c3                   	ret
4087dd:	55                   	push   %ebp
4087de:	8b ec                	mov    %esp,%ebp
4087e0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4087e3:	ff 55 0c             	call   *0xc(%ebp)
4087e6:	5d                   	pop    %ebp
4087e7:	c2 08 00             	ret    $0x8
4087ea:	55                   	push   %ebp
4087eb:	8b ec                	mov    %esp,%ebp
4087ed:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4087f1:	74 32                	je     0x408825
4087f3:	56                   	push   %esi
4087f4:	57                   	push   %edi
4087f5:	8b 7d 08             	mov    0x8(%ebp),%edi
4087f8:	8b 37                	mov    (%edi),%esi
4087fa:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
408800:	75 21                	jne    0x408823
408802:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
408806:	75 1b                	jne    0x408823
408808:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
40880f:	74 18                	je     0x408829
408811:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
408818:	74 0f                	je     0x408829
40881a:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
408821:	74 06                	je     0x408829
408823:	5f                   	pop    %edi
408824:	5e                   	pop    %esi
408825:	33 c0                	xor    %eax,%eax
408827:	5d                   	pop    %ebp
408828:	c3                   	ret
408829:	e8 6e 19 00 00       	call   0x40a19c
40882e:	89 70 10             	mov    %esi,0x10(%eax)
408831:	8b 77 04             	mov    0x4(%edi),%esi
408834:	e8 63 19 00 00       	call   0x40a19c
408839:	89 70 14             	mov    %esi,0x14(%eax)
40883c:	e8 d1 9a 00 00       	call   0x412312
408841:	cc                   	int3
408842:	55                   	push   %ebp
408843:	8b ec                	mov    %esp,%ebp
408845:	e8 52 19 00 00       	call   0x40a19c
40884a:	8b 40 24             	mov    0x24(%eax),%eax
40884d:	85 c0                	test   %eax,%eax
40884f:	74 0e                	je     0x40885f
408851:	8b 4d 08             	mov    0x8(%ebp),%ecx
408854:	39 08                	cmp    %ecx,(%eax)
408856:	74 0c                	je     0x408864
408858:	8b 40 04             	mov    0x4(%eax),%eax
40885b:	85 c0                	test   %eax,%eax
40885d:	75 f5                	jne    0x408854
40885f:	33 c0                	xor    %eax,%eax
408861:	40                   	inc    %eax
408862:	5d                   	pop    %ebp
408863:	c3                   	ret
408864:	33 c0                	xor    %eax,%eax
408866:	5d                   	pop    %ebp
408867:	c3                   	ret
408868:	55                   	push   %ebp
408869:	8b ec                	mov    %esp,%ebp
40886b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40886e:	8b 55 08             	mov    0x8(%ebp),%edx
408871:	56                   	push   %esi
408872:	8b 01                	mov    (%ecx),%eax
408874:	8b 71 04             	mov    0x4(%ecx),%esi
408877:	03 c2                	add    %edx,%eax
408879:	85 f6                	test   %esi,%esi
40887b:	78 0d                	js     0x40888a
40887d:	8b 49 08             	mov    0x8(%ecx),%ecx
408880:	8b 14 16             	mov    (%esi,%edx,1),%edx
408883:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
408886:	03 ce                	add    %esi,%ecx
408888:	03 c1                	add    %ecx,%eax
40888a:	5e                   	pop    %esi
40888b:	5d                   	pop    %ebp
40888c:	c3                   	ret
40888d:	55                   	push   %ebp
40888e:	8b ec                	mov    %esp,%ebp
408890:	56                   	push   %esi
408891:	8b 75 08             	mov    0x8(%ebp),%esi
408894:	57                   	push   %edi
408895:	8b 3e                	mov    (%esi),%edi
408897:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
40889d:	74 12                	je     0x4088b1
40889f:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
4088a5:	74 0a                	je     0x4088b1
4088a7:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
4088ad:	74 1b                	je     0x4088ca
4088af:	eb 13                	jmp    0x4088c4
4088b1:	e8 e6 18 00 00       	call   0x40a19c
4088b6:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
4088ba:	7e 08                	jle    0x4088c4
4088bc:	e8 db 18 00 00       	call   0x40a19c
4088c1:	ff 48 18             	decl   0x18(%eax)
4088c4:	5f                   	pop    %edi
4088c5:	33 c0                	xor    %eax,%eax
4088c7:	5e                   	pop    %esi
4088c8:	5d                   	pop    %ebp
4088c9:	c3                   	ret
4088ca:	e8 cd 18 00 00       	call   0x40a19c
4088cf:	89 78 10             	mov    %edi,0x10(%eax)
4088d2:	8b 76 04             	mov    0x4(%esi),%esi
4088d5:	e8 c2 18 00 00       	call   0x40a19c
4088da:	89 70 14             	mov    %esi,0x14(%eax)
4088dd:	e8 30 9a 00 00       	call   0x412312
4088e2:	cc                   	int3
4088e3:	e8 b4 18 00 00       	call   0x40a19c
4088e8:	83 c0 10             	add    $0x10,%eax
4088eb:	c3                   	ret
4088ec:	e8 ab 18 00 00       	call   0x40a19c
4088f1:	83 c0 14             	add    $0x14,%eax
4088f4:	c3                   	ret
4088f5:	e9 18 9a 00 00       	jmp    0x412312
4088fa:	55                   	push   %ebp
4088fb:	8b ec                	mov    %esp,%ebp
4088fd:	83 ec 10             	sub    $0x10,%esp
408900:	8b 45 08             	mov    0x8(%ebp),%eax
408903:	53                   	push   %ebx
408904:	57                   	push   %edi
408905:	8b 7d 0c             	mov    0xc(%ebp),%edi
408908:	bb 20 05 93 19       	mov    $0x19930520,%ebx
40890d:	89 45 f0             	mov    %eax,-0x10(%ebp)
408910:	85 ff                	test   %edi,%edi
408912:	74 2d                	je     0x408941
408914:	f6 07 10             	testb  $0x10,(%edi)
408917:	74 1e                	je     0x408937
408919:	8b 08                	mov    (%eax),%ecx
40891b:	83 e9 04             	sub    $0x4,%ecx
40891e:	56                   	push   %esi
40891f:	51                   	push   %ecx
408920:	8b 01                	mov    (%ecx),%eax
408922:	8b 70 20             	mov    0x20(%eax),%esi
408925:	8b ce                	mov    %esi,%ecx
408927:	8b 78 18             	mov    0x18(%eax),%edi
40892a:	ff 15 54 41 42 00    	call   *0x424154
408930:	ff d6                	call   *%esi
408932:	5e                   	pop    %esi
408933:	85 ff                	test   %edi,%edi
408935:	74 0a                	je     0x408941
408937:	f6 07 08             	testb  $0x8,(%edi)
40893a:	74 05                	je     0x408941
40893c:	bb 00 40 99 01       	mov    $0x1994000,%ebx
408941:	8b 45 f0             	mov    -0x10(%ebp),%eax
408944:	89 45 f8             	mov    %eax,-0x8(%ebp)
408947:	8d 45 f4             	lea    -0xc(%ebp),%eax
40894a:	50                   	push   %eax
40894b:	6a 03                	push   $0x3
40894d:	6a 01                	push   $0x1
40894f:	68 63 73 6d e0       	push   $0xe06d7363
408954:	89 5d f4             	mov    %ebx,-0xc(%ebp)
408957:	89 7d fc             	mov    %edi,-0x4(%ebp)
40895a:	ff 15 94 40 42 00    	call   *0x424094
408960:	5f                   	pop    %edi
408961:	5b                   	pop    %ebx
408962:	c9                   	leave
408963:	c2 08 00             	ret    $0x8
408966:	cc                   	int3
408967:	cc                   	int3
408968:	cc                   	int3
408969:	cc                   	int3
40896a:	cc                   	int3
40896b:	cc                   	int3
40896c:	cc                   	int3
40896d:	cc                   	int3
40896e:	cc                   	int3
40896f:	cc                   	int3
408970:	57                   	push   %edi
408971:	56                   	push   %esi
408972:	8b 74 24 10          	mov    0x10(%esp),%esi
408976:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40897a:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40897e:	8b c1                	mov    %ecx,%eax
408980:	8b d1                	mov    %ecx,%edx
408982:	03 c6                	add    %esi,%eax
408984:	3b fe                	cmp    %esi,%edi
408986:	76 08                	jbe    0x408990
408988:	3b f8                	cmp    %eax,%edi
40898a:	0f 82 94 02 00 00    	jb     0x408c24
408990:	83 f9 20             	cmp    $0x20,%ecx
408993:	0f 82 d2 04 00 00    	jb     0x408e6b
408999:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
40899f:	73 13                	jae    0x4089b4
4089a1:	0f ba 25 30 30 43 00 	btl    $0x1,0x433030
4089a8:	01
4089a9:	0f 82 8e 04 00 00    	jb     0x408e3d
4089af:	e9 e3 01 00 00       	jmp    0x408b97
4089b4:	0f ba 25 68 45 43 00 	btl    $0x1,0x434568
4089bb:	01
4089bc:	73 09                	jae    0x4089c7
4089be:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4089c0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4089c4:	5e                   	pop    %esi
4089c5:	5f                   	pop    %edi
4089c6:	c3                   	ret
4089c7:	8b c7                	mov    %edi,%eax
4089c9:	33 c6                	xor    %esi,%eax
4089cb:	a9 0f 00 00 00       	test   $0xf,%eax
4089d0:	75 0e                	jne    0x4089e0
4089d2:	0f ba 25 30 30 43 00 	btl    $0x1,0x433030
4089d9:	01
4089da:	0f 82 e0 03 00 00    	jb     0x408dc0
4089e0:	0f ba 25 68 45 43 00 	btl    $0x0,0x434568
4089e7:	00
4089e8:	0f 83 a9 01 00 00    	jae    0x408b97
4089ee:	f7 c7 03 00 00 00    	test   $0x3,%edi
4089f4:	0f 85 9d 01 00 00    	jne    0x408b97
4089fa:	f7 c6 03 00 00 00    	test   $0x3,%esi
408a00:	0f 85 ac 01 00 00    	jne    0x408bb2
408a06:	0f ba e7 02          	bt     $0x2,%edi
408a0a:	73 0d                	jae    0x408a19
408a0c:	8b 06                	mov    (%esi),%eax
408a0e:	83 e9 04             	sub    $0x4,%ecx
408a11:	8d 76 04             	lea    0x4(%esi),%esi
408a14:	89 07                	mov    %eax,(%edi)
408a16:	8d 7f 04             	lea    0x4(%edi),%edi
408a19:	0f ba e7 03          	bt     $0x3,%edi
408a1d:	73 11                	jae    0x408a30
408a1f:	f3 0f 7e 0e          	movq   (%esi),%xmm1
408a23:	83 e9 08             	sub    $0x8,%ecx
408a26:	8d 76 08             	lea    0x8(%esi),%esi
408a29:	66 0f d6 0f          	movq   %xmm1,(%edi)
408a2d:	8d 7f 08             	lea    0x8(%edi),%edi
408a30:	f7 c6 07 00 00 00    	test   $0x7,%esi
408a36:	74 65                	je     0x408a9d
408a38:	0f ba e6 03          	bt     $0x3,%esi