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
408a3c:	0f 83 b4 00 00 00    	jae    0x408af6
408a42:	66 0f 6f 4e f4       	movdqa -0xc(%esi),%xmm1
408a47:	8d 76 f4             	lea    -0xc(%esi),%esi
408a4a:	8b ff                	mov    %edi,%edi
408a4c:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
408a51:	83 e9 30             	sub    $0x30,%ecx
408a54:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
408a59:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
408a5e:	8d 76 30             	lea    0x30(%esi),%esi
408a61:	83 f9 30             	cmp    $0x30,%ecx
408a64:	66 0f 6f d3          	movdqa %xmm3,%xmm2
408a68:	66 0f 3a 0f d9 0c    	palignr $0xc,%xmm1,%xmm3
408a6e:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
408a72:	66 0f 6f e0          	movdqa %xmm0,%xmm4
408a76:	66 0f 3a 0f c2 0c    	palignr $0xc,%xmm2,%xmm0
408a7c:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408a81:	66 0f 6f cd          	movdqa %xmm5,%xmm1
408a85:	66 0f 3a 0f ec 0c    	palignr $0xc,%xmm4,%xmm5
408a8b:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
408a90:	8d 7f 30             	lea    0x30(%edi),%edi
408a93:	73 b7                	jae    0x408a4c
408a95:	8d 76 0c             	lea    0xc(%esi),%esi
408a98:	e9 af 00 00 00       	jmp    0x408b4c
408a9d:	66 0f 6f 4e f8       	movdqa -0x8(%esi),%xmm1
408aa2:	8d 76 f8             	lea    -0x8(%esi),%esi
408aa5:	8d 49 00             	lea    0x0(%ecx),%ecx
408aa8:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
408aad:	83 e9 30             	sub    $0x30,%ecx
408ab0:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
408ab5:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
408aba:	8d 76 30             	lea    0x30(%esi),%esi
408abd:	83 f9 30             	cmp    $0x30,%ecx
408ac0:	66 0f 6f d3          	movdqa %xmm3,%xmm2
408ac4:	66 0f 3a 0f d9 08    	palignr $0x8,%xmm1,%xmm3
408aca:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
408ace:	66 0f 6f e0          	movdqa %xmm0,%xmm4
408ad2:	66 0f 3a 0f c2 08    	palignr $0x8,%xmm2,%xmm0
408ad8:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408add:	66 0f 6f cd          	movdqa %xmm5,%xmm1
408ae1:	66 0f 3a 0f ec 08    	palignr $0x8,%xmm4,%xmm5
408ae7:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
408aec:	8d 7f 30             	lea    0x30(%edi),%edi
408aef:	73 b7                	jae    0x408aa8
408af1:	8d 76 08             	lea    0x8(%esi),%esi
408af4:	eb 56                	jmp    0x408b4c
408af6:	66 0f 6f 4e fc       	movdqa -0x4(%esi),%xmm1
408afb:	8d 76 fc             	lea    -0x4(%esi),%esi
408afe:	8b ff                	mov    %edi,%edi
408b00:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
408b05:	83 e9 30             	sub    $0x30,%ecx
408b08:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
408b0d:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
408b12:	8d 76 30             	lea    0x30(%esi),%esi
408b15:	83 f9 30             	cmp    $0x30,%ecx
408b18:	66 0f 6f d3          	movdqa %xmm3,%xmm2
408b1c:	66 0f 3a 0f d9 04    	palignr $0x4,%xmm1,%xmm3
408b22:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
408b26:	66 0f 6f e0          	movdqa %xmm0,%xmm4
408b2a:	66 0f 3a 0f c2 04    	palignr $0x4,%xmm2,%xmm0
408b30:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408b35:	66 0f 6f cd          	movdqa %xmm5,%xmm1
408b39:	66 0f 3a 0f ec 04    	palignr $0x4,%xmm4,%xmm5
408b3f:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
408b44:	8d 7f 30             	lea    0x30(%edi),%edi
408b47:	73 b7                	jae    0x408b00
408b49:	8d 76 04             	lea    0x4(%esi),%esi
408b4c:	83 f9 10             	cmp    $0x10,%ecx
408b4f:	72 13                	jb     0x408b64
408b51:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
408b55:	83 e9 10             	sub    $0x10,%ecx
408b58:	8d 76 10             	lea    0x10(%esi),%esi
408b5b:	66 0f 7f 0f          	movdqa %xmm1,(%edi)
408b5f:	8d 7f 10             	lea    0x10(%edi),%edi
408b62:	eb e8                	jmp    0x408b4c
408b64:	0f ba e1 02          	bt     $0x2,%ecx
408b68:	73 0d                	jae    0x408b77
408b6a:	8b 06                	mov    (%esi),%eax
408b6c:	83 e9 04             	sub    $0x4,%ecx
408b6f:	8d 76 04             	lea    0x4(%esi),%esi
408b72:	89 07                	mov    %eax,(%edi)
408b74:	8d 7f 04             	lea    0x4(%edi),%edi
408b77:	0f ba e1 03          	bt     $0x3,%ecx
408b7b:	73 11                	jae    0x408b8e
408b7d:	f3 0f 7e 0e          	movq   (%esi),%xmm1
408b81:	83 e9 08             	sub    $0x8,%ecx
408b84:	8d 76 08             	lea    0x8(%esi),%esi
408b87:	66 0f d6 0f          	movq   %xmm1,(%edi)
408b8b:	8d 7f 08             	lea    0x8(%edi),%edi
408b8e:	8b 04 8d d4 8b 40 00 	mov    0x408bd4(,%ecx,4),%eax
408b95:	ff e0                	jmp    *%eax
408b97:	f7 c7 03 00 00 00    	test   $0x3,%edi
408b9d:	74 13                	je     0x408bb2
408b9f:	8a 06                	mov    (%esi),%al
408ba1:	88 07                	mov    %al,(%edi)
408ba3:	49                   	dec    %ecx
408ba4:	83 c6 01             	add    $0x1,%esi
408ba7:	83 c7 01             	add    $0x1,%edi
408baa:	f7 c7 03 00 00 00    	test   $0x3,%edi
408bb0:	75 ed                	jne    0x408b9f
408bb2:	8b d1                	mov    %ecx,%edx
408bb4:	83 f9 20             	cmp    $0x20,%ecx
408bb7:	0f 82 ae 02 00 00    	jb     0x408e6b
408bbd:	c1 e9 02             	shr    $0x2,%ecx
408bc0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
408bc2:	83 e2 03             	and    $0x3,%edx
408bc5:	ff 24 95 d4 8b 40 00 	jmp    *0x408bd4(,%edx,4)
408bcc:	ff 24 8d e4 8b 40 00 	jmp    *0x408be4(,%ecx,4)
408bd3:	90                   	nop
408bd4:	e4 8b                	in     $0x8b,%al
408bd6:	40                   	inc    %eax
408bd7:	00 ec                	add    %ch,%ah
408bd9:	8b 40 00             	mov    0x0(%eax),%eax
408bdc:	f8                   	clc
408bdd:	8b 40 00             	mov    0x0(%eax),%eax
408be0:	0c 8c                	or     $0x8c,%al
408be2:	40                   	inc    %eax
408be3:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
408be9:	5f                   	pop    %edi
408bea:	c3                   	ret
408beb:	90                   	nop
408bec:	8a 06                	mov    (%esi),%al
408bee:	88 07                	mov    %al,(%edi)
408bf0:	8b 44 24 0c          	mov    0xc(%esp),%eax
408bf4:	5e                   	pop    %esi
408bf5:	5f                   	pop    %edi
408bf6:	c3                   	ret
408bf7:	90                   	nop
408bf8:	8a 06                	mov    (%esi),%al
408bfa:	88 07                	mov    %al,(%edi)
408bfc:	8a 46 01             	mov    0x1(%esi),%al
408bff:	88 47 01             	mov    %al,0x1(%edi)
408c02:	8b 44 24 0c          	mov    0xc(%esp),%eax
408c06:	5e                   	pop    %esi
408c07:	5f                   	pop    %edi
408c08:	c3                   	ret
408c09:	8d 49 00             	lea    0x0(%ecx),%ecx
408c0c:	8a 06                	mov    (%esi),%al
408c0e:	88 07                	mov    %al,(%edi)
408c10:	8a 46 01             	mov    0x1(%esi),%al
408c13:	88 47 01             	mov    %al,0x1(%edi)
408c16:	8a 46 02             	mov    0x2(%esi),%al
408c19:	88 47 02             	mov    %al,0x2(%edi)
408c1c:	8b 44 24 0c          	mov    0xc(%esp),%eax
408c20:	5e                   	pop    %esi
408c21:	5f                   	pop    %edi
408c22:	c3                   	ret
408c23:	90                   	nop
408c24:	8d 34 0e             	lea    (%esi,%ecx,1),%esi
408c27:	8d 3c 0f             	lea    (%edi,%ecx,1),%edi
408c2a:	83 f9 20             	cmp    $0x20,%ecx
408c2d:	0f 82 51 01 00 00    	jb     0x408d84
408c33:	0f ba 25 30 30 43 00 	btl    $0x1,0x433030
408c3a:	01
408c3b:	0f 82 94 00 00 00    	jb     0x408cd5
408c41:	f7 c7 03 00 00 00    	test   $0x3,%edi
408c47:	74 14                	je     0x408c5d
408c49:	8b d7                	mov    %edi,%edx
408c4b:	83 e2 03             	and    $0x3,%edx
408c4e:	2b ca                	sub    %edx,%ecx
408c50:	8a 46 ff             	mov    -0x1(%esi),%al
408c53:	88 47 ff             	mov    %al,-0x1(%edi)
408c56:	4e                   	dec    %esi
408c57:	4f                   	dec    %edi
408c58:	83 ea 01             	sub    $0x1,%edx
408c5b:	75 f3                	jne    0x408c50
408c5d:	83 f9 20             	cmp    $0x20,%ecx
408c60:	0f 82 1e 01 00 00    	jb     0x408d84
408c66:	8b d1                	mov    %ecx,%edx
408c68:	c1 e9 02             	shr    $0x2,%ecx
408c6b:	83 e2 03             	and    $0x3,%edx
408c6e:	83 ee 04             	sub    $0x4,%esi
408c71:	83 ef 04             	sub    $0x4,%edi
408c74:	fd                   	std
408c75:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
408c77:	fc                   	cld