4048f8:	74 29                	je     0x404923
4048fa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4048fe:	52                   	push   %edx
4048ff:	ff 70 18             	push   0x18(%eax)
404902:	e8 4a 00 00 00       	call   0x404951
404907:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40490e:	eb 31                	jmp    0x404941
404910:	ff 75 0c             	push   0xc(%ebp)
404913:	ff 75 ec             	push   -0x14(%ebp)
404916:	e8 43 00 00 00       	call   0x40495e
40491b:	59                   	pop    %ecx
40491c:	59                   	pop    %ecx
40491d:	c3                   	ret
40491e:	8b 65 e8             	mov    -0x18(%ebp),%esp
404921:	eb e4                	jmp    0x404907
404923:	f6 01 10             	testb  $0x10,(%ecx)
404926:	74 19                	je     0x404941
404928:	8b 40 18             	mov    0x18(%eax),%eax
40492b:	8b 08                	mov    (%eax),%ecx
40492d:	85 c9                	test   %ecx,%ecx
40492f:	74 10                	je     0x404941
404931:	8b 01                	mov    (%ecx),%eax
404933:	51                   	push   %ecx
404934:	8b 70 08             	mov    0x8(%eax),%esi
404937:	8b ce                	mov    %esi,%ecx
404939:	ff 15 54 91 41 00    	call   *0x419154
40493f:	ff d6                	call   *%esi
404941:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404944:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40494b:	59                   	pop    %ecx
40494c:	5f                   	pop    %edi
40494d:	5e                   	pop    %esi
40494e:	5b                   	pop    %ebx
40494f:	c9                   	leave
404950:	c3                   	ret
404951:	55                   	push   %ebp
404952:	8b ec                	mov    %esp,%ebp
404954:	8b 4d 08             	mov    0x8(%ebp),%ecx
404957:	ff 55 0c             	call   *0xc(%ebp)
40495a:	5d                   	pop    %ebp
40495b:	c2 08 00             	ret    $0x8
40495e:	55                   	push   %ebp
40495f:	8b ec                	mov    %esp,%ebp
404961:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
404965:	74 32                	je     0x404999
404967:	56                   	push   %esi
404968:	57                   	push   %edi
404969:	8b 7d 08             	mov    0x8(%ebp),%edi
40496c:	8b 37                	mov    (%edi),%esi
40496e:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
404974:	75 21                	jne    0x404997
404976:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40497a:	75 1b                	jne    0x404997
40497c:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
404983:	74 18                	je     0x40499d
404985:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
40498c:	74 0f                	je     0x40499d
40498e:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
404995:	74 06                	je     0x40499d
404997:	5f                   	pop    %edi
404998:	5e                   	pop    %esi
404999:	33 c0                	xor    %eax,%eax
40499b:	5d                   	pop    %ebp
40499c:	c3                   	ret
40499d:	e8 fa 08 00 00       	call   0x40529c
4049a2:	89 70 10             	mov    %esi,0x10(%eax)
4049a5:	8b 77 04             	mov    0x4(%edi),%esi
4049a8:	e8 ef 08 00 00       	call   0x40529c
4049ad:	89 70 14             	mov    %esi,0x14(%eax)
4049b0:	e8 39 5b 00 00       	call   0x40a4ee
4049b5:	cc                   	int3
4049b6:	55                   	push   %ebp
4049b7:	8b ec                	mov    %esp,%ebp
4049b9:	e8 de 08 00 00       	call   0x40529c
4049be:	8b 40 24             	mov    0x24(%eax),%eax
4049c1:	85 c0                	test   %eax,%eax
4049c3:	74 0e                	je     0x4049d3
4049c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4049c8:	39 08                	cmp    %ecx,(%eax)
4049ca:	74 0c                	je     0x4049d8
4049cc:	8b 40 04             	mov    0x4(%eax),%eax
4049cf:	85 c0                	test   %eax,%eax
4049d1:	75 f5                	jne    0x4049c8
4049d3:	33 c0                	xor    %eax,%eax
4049d5:	40                   	inc    %eax
4049d6:	5d                   	pop    %ebp
4049d7:	c3                   	ret
4049d8:	33 c0                	xor    %eax,%eax
4049da:	5d                   	pop    %ebp
4049db:	c3                   	ret
4049dc:	55                   	push   %ebp
4049dd:	8b ec                	mov    %esp,%ebp
4049df:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4049e2:	8b 55 08             	mov    0x8(%ebp),%edx
4049e5:	56                   	push   %esi
4049e6:	8b 01                	mov    (%ecx),%eax
4049e8:	8b 71 04             	mov    0x4(%ecx),%esi
4049eb:	03 c2                	add    %edx,%eax
4049ed:	85 f6                	test   %esi,%esi
4049ef:	78 0d                	js     0x4049fe
4049f1:	8b 49 08             	mov    0x8(%ecx),%ecx
4049f4:	8b 14 16             	mov    (%esi,%edx,1),%edx
4049f7:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
4049fa:	03 ce                	add    %esi,%ecx
4049fc:	03 c1                	add    %ecx,%eax
4049fe:	5e                   	pop    %esi
4049ff:	5d                   	pop    %ebp
404a00:	c3                   	ret
404a01:	55                   	push   %ebp
404a02:	8b ec                	mov    %esp,%ebp
404a04:	56                   	push   %esi
404a05:	8b 75 08             	mov    0x8(%ebp),%esi
404a08:	57                   	push   %edi
404a09:	8b 3e                	mov    (%esi),%edi
404a0b:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
404a11:	74 12                	je     0x404a25
404a13:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
404a19:	74 0a                	je     0x404a25
404a1b:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
404a21:	74 1b                	je     0x404a3e
404a23:	eb 13                	jmp    0x404a38
404a25:	e8 72 08 00 00       	call   0x40529c
404a2a:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
404a2e:	7e 08                	jle    0x404a38
404a30:	e8 67 08 00 00       	call   0x40529c
404a35:	ff 48 18             	decl   0x18(%eax)
404a38:	5f                   	pop    %edi
404a39:	33 c0                	xor    %eax,%eax
404a3b:	5e                   	pop    %esi
404a3c:	5d                   	pop    %ebp
404a3d:	c3                   	ret
404a3e:	e8 59 08 00 00       	call   0x40529c
404a43:	89 78 10             	mov    %edi,0x10(%eax)
404a46:	8b 76 04             	mov    0x4(%esi),%esi
404a49:	e8 4e 08 00 00       	call   0x40529c
404a4e:	89 70 14             	mov    %esi,0x14(%eax)
404a51:	e8 98 5a 00 00       	call   0x40a4ee
404a56:	cc                   	int3
404a57:	e8 40 08 00 00       	call   0x40529c
404a5c:	83 c0 10             	add    $0x10,%eax
404a5f:	c3                   	ret
404a60:	e8 37 08 00 00       	call   0x40529c
404a65:	83 c0 14             	add    $0x14,%eax
404a68:	c3                   	ret
404a69:	e9 80 5a 00 00       	jmp    0x40a4ee
404a6e:	cc                   	int3
404a6f:	cc                   	int3
404a70:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
404a74:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
404a79:	8b d7                	mov    %edi,%edx
404a7b:	8b 7c 24 04          	mov    0x4(%esp),%edi
404a7f:	85 c9                	test   %ecx,%ecx
404a81:	0f 84 3c 01 00 00    	je     0x404bc3
404a87:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
404a8d:	83 f9 20             	cmp    $0x20,%ecx
404a90:	0f 86 df 00 00 00    	jbe    0x404b75
404a96:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
404a9c:	0f 82 8b 00 00 00    	jb     0x404b2d
404aa2:	0f ba 25 70 1a 42 00 	btl    $0x1,0x421a70
404aa9:	01
404aaa:	73 09                	jae    0x404ab5
404aac:	f3 aa                	rep stos %al,%es:(%edi)
404aae:	8b 44 24 04          	mov    0x4(%esp),%eax
404ab2:	8b fa                	mov    %edx,%edi
404ab4:	c3                   	ret
404ab5:	0f ba 25 b0 10 42 00 	btl    $0x1,0x4210b0
404abc:	01
404abd:	0f 83 b2 00 00 00    	jae    0x404b75
404ac3:	66 0f 6e c0          	movd   %eax,%xmm0
404ac7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
404acc:	03 cf                	add    %edi,%ecx
404ace:	0f 11 07             	movups %xmm0,(%edi)
404ad1:	83 c7 10             	add    $0x10,%edi
404ad4:	83 e7 f0             	and    $0xfffffff0,%edi
404ad7:	2b cf                	sub    %edi,%ecx
404ad9:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
404adf:	76 4c                	jbe    0x404b2d
404ae1:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404ae8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404aef:	90                   	nop
404af0:	66 0f 7f 07          	movdqa %xmm0,(%edi)
404af4:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
404af9:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
404afe:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
404b03:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
404b08:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
404b0d:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
404b12:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
404b17:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
404b1d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
404b23:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
404b29:	75 c5                	jne    0x404af0
404b2b:	eb 13                	jmp    0x404b40
404b2d:	0f ba 25 b0 10 42 00 	btl    $0x1,0x4210b0
404b34:	01
404b35:	73 3e                	jae    0x404b75
404b37:	66 0f 6e c0          	movd   %eax,%xmm0
404b3b:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
404b40:	83 f9 20             	cmp    $0x20,%ecx
404b43:	72 1c                	jb     0x404b61
404b45:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404b49:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
404b4e:	83 c7 20             	add    $0x20,%edi
404b51:	83 e9 20             	sub    $0x20,%ecx
404b54:	83 f9 20             	cmp    $0x20,%ecx
404b57:	73 ec                	jae    0x404b45
404b59:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
404b5f:	74 62                	je     0x404bc3
404b61:	8d 7c 0f e0          	lea    -0x20(%edi,%ecx,1),%edi
404b65:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404b69:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
404b6e:	8b 44 24 04          	mov    0x4(%esp),%eax
404b72:	8b fa                	mov    %edx,%edi
404b74:	c3                   	ret
404b75:	f7 c1 03 00 00 00    	test   $0x3,%ecx
404b7b:	74 0e                	je     0x404b8b
404b7d:	88 07                	mov    %al,(%edi)
404b7f:	47                   	inc    %edi
404b80:	83 e9 01             	sub    $0x1,%ecx
404b83:	f7 c1 03 00 00 00    	test   $0x3,%ecx
404b89:	75 f2                	jne    0x404b7d
404b8b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
404b91:	74 08                	je     0x404b9b
404b93:	89 07                	mov    %eax,(%edi)
404b95:	83 c7 04             	add    $0x4,%edi
404b98:	83 e9 04             	sub    $0x4,%ecx
404b9b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404ba1:	74 20                	je     0x404bc3
404ba3:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404baa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404bb0:	89 07                	mov    %eax,(%edi)
404bb2:	89 47 04             	mov    %eax,0x4(%edi)
404bb5:	83 c7 08             	add    $0x8,%edi
404bb8:	83 e9 08             	sub    $0x8,%ecx
404bbb:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404bc1:	75 ed                	jne    0x404bb0
404bc3:	8b 44 24 04          	mov    0x4(%esp),%eax
404bc7:	8b fa                	mov    %edx,%edi
404bc9:	c3                   	ret
404bca:	55                   	push   %ebp
404bcb:	8b ec                	mov    %esp,%ebp
404bcd:	83 ec 14             	sub    $0x14,%esp
404bd0:	8b 45 08             	mov    0x8(%ebp),%eax
404bd3:	53                   	push   %ebx
404bd4:	57                   	push   %edi
404bd5:	8b 7d 0c             	mov    0xc(%ebp),%edi
404bd8:	bb 20 05 93 19       	mov    $0x19930520,%ebx
404bdd:	89 45 f0             	mov    %eax,-0x10(%ebp)
404be0:	85 ff                	test   %edi,%edi
404be2:	74 2d                	je     0x404c11
404be4:	f6 07 10             	testb  $0x10,(%edi)
404be7:	74 1e                	je     0x404c07
404be9:	8b 08                	mov    (%eax),%ecx
404beb:	83 e9 04             	sub    $0x4,%ecx
404bee:	56                   	push   %esi
404bef:	51                   	push   %ecx
404bf0:	8b 01                	mov    (%ecx),%eax
404bf2:	8b 70 20             	mov    0x20(%eax),%esi
404bf5:	8b ce                	mov    %esi,%ecx
404bf7:	8b 78 18             	mov    0x18(%eax),%edi
404bfa:	ff 15 54 91 41 00    	call   *0x419154
404c00:	ff d6                	call   *%esi
404c02:	5e                   	pop    %esi
404c03:	85 ff                	test   %edi,%edi
404c05:	74 0a                	je     0x404c11
404c07:	f6 07 08             	testb  $0x8,(%edi)
404c0a:	74 05                	je     0x404c11
404c0c:	bb 00 40 99 01       	mov    $0x1994000,%ebx
404c11:	8b 45 f0             	mov    -0x10(%ebp),%eax
404c14:	89 45 f8             	mov    %eax,-0x8(%ebp)
404c17:	8d 45 f4             	lea    -0xc(%ebp),%eax
404c1a:	50                   	push   %eax
404c1b:	6a 03                	push   $0x3
404c1d:	6a 01                	push   $0x1
404c1f:	68 63 73 6d e0       	push   $0xe06d7363
404c24:	89 5d f4             	mov    %ebx,-0xc(%ebp)
404c27:	89 7d fc             	mov    %edi,-0x4(%ebp)
404c2a:	ff 15 80 90 41 00    	call   *0x419080
404c30:	5f                   	pop    %edi
404c31:	5b                   	pop    %ebx
404c32:	c9                   	leave
404c33:	c2 08 00             	ret    $0x8
404c36:	55                   	push   %ebp
404c37:	8b ec                	mov    %esp,%ebp
404c39:	57                   	push   %edi
404c3a:	8b 7d 08             	mov    0x8(%ebp),%edi
404c3d:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
404c41:	74 48                	je     0x404c8b
404c43:	8b 0f                	mov    (%edi),%ecx
404c45:	85 c9                	test   %ecx,%ecx
404c47:	74 42                	je     0x404c8b
404c49:	8d 51 01             	lea    0x1(%ecx),%edx
404c4c:	8a 01                	mov    (%ecx),%al
404c4e:	41                   	inc    %ecx
404c4f:	84 c0                	test   %al,%al
404c51:	75 f9                	jne    0x404c4c
404c53:	2b ca                	sub    %edx,%ecx
404c55:	53                   	push   %ebx
404c56:	56                   	push   %esi
404c57:	8d 59 01             	lea    0x1(%ecx),%ebx
404c5a:	53                   	push   %ebx
404c5b:	e8 68 45 00 00       	call   0x4091c8
404c60:	8b f0                	mov    %eax,%esi
404c62:	59                   	pop    %ecx
404c63:	85 f6                	test   %esi,%esi
404c65:	74 19                	je     0x404c80
404c67:	ff 37                	push   (%edi)
404c69:	53                   	push   %ebx
404c6a:	56                   	push   %esi
404c6b:	e8 fe 58 00 00       	call   0x40a56e
404c70:	8b 45 0c             	mov    0xc(%ebp),%eax
404c73:	8b ce                	mov    %esi,%ecx
404c75:	83 c4 0c             	add    $0xc,%esp
404c78:	33 f6                	xor    %esi,%esi
404c7a:	89 08                	mov    %ecx,(%eax)
404c7c:	c6 40 04 01          	movb   $0x1,0x4(%eax)
404c80:	56                   	push   %esi
404c81:	e8 4d 45 00 00       	call   0x4091d3
404c86:	59                   	pop    %ecx
404c87:	5e                   	pop    %esi
404c88:	5b                   	pop    %ebx
404c89:	eb 0b                	jmp    0x404c96
404c8b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404c8e:	8b 07                	mov    (%edi),%eax
404c90:	89 01                	mov    %eax,(%ecx)
404c92:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
404c96:	5f                   	pop    %edi
404c97:	5d                   	pop    %ebp
404c98:	c3                   	ret
404c99:	55                   	push   %ebp
404c9a:	8b ec                	mov    %esp,%ebp
404c9c:	56                   	push   %esi
404c9d:	8b 75 08             	mov    0x8(%ebp),%esi
404ca0:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
404ca4:	74 08                	je     0x404cae
404ca6:	ff 36                	push   (%esi)
404ca8:	e8 26 45 00 00       	call   0x4091d3
404cad:	59                   	pop    %ecx
404cae:	83 26 00             	andl   $0x0,(%esi)
404cb1:	c6 46 04 00          	movb   $0x0,0x4(%esi)
404cb5:	5e                   	pop    %esi
404cb6:	5d                   	pop    %ebp
404cb7:	c3                   	ret
404cb8:	55                   	push   %ebp
404cb9:	8b ec                	mov    %esp,%ebp
404cbb:	51                   	push   %ecx
404cbc:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
404cbf:	53                   	push   %ebx
404cc0:	56                   	push   %esi
404cc1:	57                   	push   %edi