411aa6:	50                   	push   %eax
411aa7:	e8 f3 38 00 00       	call   0x41539f
411aac:	59                   	pop    %ecx
411aad:	59                   	pop    %ecx
411aae:	5d                   	pop    %ebp
411aaf:	c3                   	ret
411ab0:	8b ff                	mov    %edi,%edi
411ab2:	55                   	push   %ebp
411ab3:	8b ec                	mov    %esp,%ebp
411ab5:	83 3d 98 20 42 00 00 	cmpl   $0x0,0x422098
411abc:	75 29                	jne    0x411ae7
411abe:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411ac2:	75 17                	jne    0x411adb
411ac4:	e8 66 8c ff ff       	call   0x40a72f
411ac9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411acf:	e8 f5 59 ff ff       	call   0x4074c9
411ad4:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411ad9:	5d                   	pop    %ebp
411ada:	c3                   	ret
411adb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
411adf:	74 e3                	je     0x411ac4
411ae1:	5d                   	pop    %ebp
411ae2:	e9 3b ff ff ff       	jmp    0x411a22
411ae7:	6a 00                	push   $0x0
411ae9:	ff 75 10             	push   0x10(%ebp)
411aec:	ff 75 0c             	push   0xc(%ebp)
411aef:	ff 75 08             	push   0x8(%ebp)
411af2:	e8 05 00 00 00       	call   0x411afc
411af7:	83 c4 10             	add    $0x10,%esp
411afa:	5d                   	pop    %ebp
411afb:	c3                   	ret
411afc:	8b ff                	mov    %edi,%edi
411afe:	55                   	push   %ebp
411aff:	8b ec                	mov    %esp,%ebp
411b01:	83 ec 14             	sub    $0x14,%esp
411b04:	57                   	push   %edi
411b05:	8b 7d 08             	mov    0x8(%ebp),%edi
411b08:	85 ff                	test   %edi,%edi
411b0a:	75 1a                	jne    0x411b26
411b0c:	e8 1e 8c ff ff       	call   0x40a72f
411b11:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411b17:	e8 ad 59 ff ff       	call   0x4074c9
411b1c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411b21:	e9 a6 00 00 00       	jmp    0x411bcc
411b26:	53                   	push   %ebx
411b27:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411b2a:	85 db                	test   %ebx,%ebx
411b2c:	75 1a                	jne    0x411b48
411b2e:	e8 fc 8b ff ff       	call   0x40a72f
411b33:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411b39:	e8 8b 59 ff ff       	call   0x4074c9
411b3e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411b43:	e9 83 00 00 00       	jmp    0x411bcb
411b48:	56                   	push   %esi
411b49:	8b 75 10             	mov    0x10(%ebp),%esi
411b4c:	85 f6                	test   %esi,%esi
411b4e:	75 04                	jne    0x411b54
411b50:	33 c0                	xor    %eax,%eax
411b52:	eb 76                	jmp    0x411bca
411b54:	ff 75 14             	push   0x14(%ebp)
411b57:	8d 4d ec             	lea    -0x14(%ebp),%ecx
411b5a:	e8 c3 c9 ff ff       	call   0x40e522
411b5f:	8b 45 f0             	mov    -0x10(%ebp),%eax
411b62:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
411b69:	75 0f                	jne    0x411b7a
411b6b:	56                   	push   %esi
411b6c:	53                   	push   %ebx
411b6d:	57                   	push   %edi
411b6e:	e8 af fe ff ff       	call   0x411a22
411b73:	83 c4 0c             	add    $0xc,%esp
411b76:	8b c8                	mov    %eax,%ecx
411b78:	eb 3e                	jmp    0x411bb8
411b7a:	0f b7 07             	movzwl (%edi),%eax
411b7d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411b80:	51                   	push   %ecx
411b81:	50                   	push   %eax
411b82:	8d 7f 02             	lea    0x2(%edi),%edi
411b85:	e8 e7 fe ff ff       	call   0x411a71
411b8a:	0f b7 c0             	movzwl %ax,%eax
411b8d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411b90:	89 45 fc             	mov    %eax,-0x4(%ebp)
411b93:	0f b7 03             	movzwl (%ebx),%eax
411b96:	8d 5b 02             	lea    0x2(%ebx),%ebx
411b99:	51                   	push   %ecx
411b9a:	50                   	push   %eax
411b9b:	e8 d1 fe ff ff       	call   0x411a71
411ba0:	8b 55 fc             	mov    -0x4(%ebp),%edx
411ba3:	83 c4 10             	add    $0x10,%esp
411ba6:	0f b7 c0             	movzwl %ax,%eax
411ba9:	8b ca                	mov    %edx,%ecx
411bab:	2b c8                	sub    %eax,%ecx
411bad:	75 09                	jne    0x411bb8
411baf:	85 d2                	test   %edx,%edx
411bb1:	74 05                	je     0x411bb8
411bb3:	83 ee 01             	sub    $0x1,%esi
411bb6:	75 c2                	jne    0x411b7a
411bb8:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
411bbc:	74 0a                	je     0x411bc8
411bbe:	8b 45 ec             	mov    -0x14(%ebp),%eax
411bc1:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
411bc8:	8b c1                	mov    %ecx,%eax
411bca:	5e                   	pop    %esi
411bcb:	5b                   	pop    %ebx
411bcc:	5f                   	pop    %edi
411bcd:	c9                   	leave
411bce:	c3                   	ret
411bcf:	6a 10                	push   $0x10
411bd1:	68 e8 02 42 00       	push   $0x4202e8
411bd6:	e8 c5 22 ff ff       	call   0x403ea0
411bdb:	8b 75 18             	mov    0x18(%ebp),%esi
411bde:	85 f6                	test   %esi,%esi
411be0:	75 13                	jne    0x411bf5
411be2:	e8 48 8b ff ff       	call   0x40a72f
411be7:	6a 16                	push   $0x16
411be9:	5e                   	pop    %esi
411bea:	89 30                	mov    %esi,(%eax)
411bec:	e8 d8 58 ff ff       	call   0x4074c9
411bf1:	8b c6                	mov    %esi,%eax
411bf3:	eb 59                	jmp    0x411c4e
411bf5:	83 0e ff             	orl    $0xffffffff,(%esi)
411bf8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411bfc:	74 e4                	je     0x411be2
411bfe:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
411c02:	74 09                	je     0x411c0d
411c04:	f7 45 14 7f fe ff ff 	testl  $0xfffffe7f,0x14(%ebp)
411c0b:	75 d5                	jne    0x411be2
411c0d:	33 c0                	xor    %eax,%eax
411c0f:	89 45 e0             	mov    %eax,-0x20(%ebp)
411c12:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411c15:	89 45 fc             	mov    %eax,-0x4(%ebp)
411c18:	ff 75 1c             	push   0x1c(%ebp)
411c1b:	ff 75 14             	push   0x14(%ebp)
411c1e:	ff 75 10             	push   0x10(%ebp)
411c21:	ff 75 0c             	push   0xc(%ebp)
411c24:	ff 75 08             	push   0x8(%ebp)
411c27:	56                   	push   %esi
411c28:	8d 45 e0             	lea    -0x20(%ebp),%eax
411c2b:	50                   	push   %eax
411c2c:	e8 88 05 00 00       	call   0x4121b9
411c31:	83 c4 1c             	add    $0x1c,%esp
411c34:	8b f8                	mov    %eax,%edi
411c36:	89 7d e4             	mov    %edi,-0x1c(%ebp)
411c39:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411c40:	e8 1f 00 00 00       	call   0x411c64
411c45:	85 ff                	test   %edi,%edi
411c47:	74 03                	je     0x411c4c
411c49:	83 0e ff             	orl    $0xffffffff,(%esi)
411c4c:	8b c7                	mov    %edi,%eax
411c4e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411c51:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411c58:	59                   	pop    %ecx
411c59:	5f                   	pop    %edi
411c5a:	5e                   	pop    %esi
411c5b:	5b                   	pop    %ebx
411c5c:	c9                   	leave
411c5d:	c3                   	ret
411c5e:	8b 75 18             	mov    0x18(%ebp),%esi
411c61:	8b 7d e4             	mov    -0x1c(%ebp),%edi
411c64:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
411c68:	74 3f                	je     0x411ca9
411c6a:	85 ff                	test   %edi,%edi
411c6c:	74 33                	je     0x411ca1
411c6e:	8b 16                	mov    (%esi),%edx
411c70:	c1 fa 06             	sar    $0x6,%edx
411c73:	8b 06                	mov    (%esi),%eax
411c75:	83 e0 3f             	and    $0x3f,%eax
411c78:	6b c8 38             	imul   $0x38,%eax,%ecx
411c7b:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
411c82:	8a 5c 08 28          	mov    0x28(%eax,%ecx,1),%bl
411c86:	80 e3 fe             	and    $0xfe,%bl
411c89:	8b 16                	mov    (%esi),%edx
411c8b:	c1 fa 06             	sar    $0x6,%edx
411c8e:	8b 06                	mov    (%esi),%eax
411c90:	83 e0 3f             	and    $0x3f,%eax
411c93:	6b c8 38             	imul   $0x38,%eax,%ecx
411c96:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
411c9d:	88 5c 08 28          	mov    %bl,0x28(%eax,%ecx,1)
411ca1:	ff 36                	push   (%esi)
411ca3:	e8 8c da ff ff       	call   0x40f734
411ca8:	59                   	pop    %ecx
411ca9:	c3                   	ret
411caa:	8b ff                	mov    %edi,%edi
411cac:	55                   	push   %ebp
411cad:	8b ec                	mov    %esp,%ebp
411caf:	51                   	push   %ecx
411cb0:	51                   	push   %ecx
411cb1:	8b 45 08             	mov    0x8(%ebp),%eax
411cb4:	8b 55 08             	mov    0x8(%ebp),%edx
411cb7:	83 e0 3f             	and    $0x3f,%eax
411cba:	53                   	push   %ebx
411cbb:	56                   	push   %esi
411cbc:	57                   	push   %edi
411cbd:	8b 7d 28             	mov    0x28(%ebp),%edi
411cc0:	33 db                	xor    %ebx,%ebx
411cc2:	c1 fa 06             	sar    $0x6,%edx
411cc5:	6b c8 38             	imul   $0x38,%eax,%ecx
411cc8:	88 1f                	mov    %bl,(%edi)
411cca:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
411cd1:	38 5c 08 28          	cmp    %bl,0x28(%eax,%ecx,1)
411cd5:	0f 8d 13 02 00 00    	jge    0x411eee
411cdb:	8b 75 24             	mov    0x24(%ebp),%esi
411cde:	f7 c6 00 40 07 00    	test   $0x74000,%esi
411ce4:	75 25                	jne    0x411d0b
411ce6:	8d 45 fc             	lea    -0x4(%ebp),%eax
411ce9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411cec:	50                   	push   %eax
411ced:	e8 82 80 ff ff       	call   0x409d74
411cf2:	59                   	pop    %ecx
411cf3:	85 c0                	test   %eax,%eax
411cf5:	0f 85 fa 01 00 00    	jne    0x411ef5
411cfb:	8b 45 fc             	mov    -0x4(%ebp),%eax
411cfe:	25 00 40 07 00       	and    $0x74000,%eax
411d03:	75 49                	jne    0x411d4e
411d05:	81 ce 00 40 00 00    	or     $0x4000,%esi
411d0b:	8b c6                	mov    %esi,%eax
411d0d:	6a 02                	push   $0x2
411d0f:	25 00 40 07 00       	and    $0x74000,%eax
411d14:	59                   	pop    %ecx
411d15:	89 4d f8             	mov    %ecx,-0x8(%ebp)
411d18:	3d 00 40 00 00       	cmp    $0x4000,%eax
411d1d:	74 44                	je     0x411d63
411d1f:	3d 00 00 01 00       	cmp    $0x10000,%eax
411d24:	74 2c                	je     0x411d52
411d26:	3d 00 40 01 00       	cmp    $0x14000,%eax
411d2b:	74 25                	je     0x411d52
411d2d:	3d 00 00 02 00       	cmp    $0x20000,%eax
411d32:	74 2b                	je     0x411d5f
411d34:	3d 00 40 02 00       	cmp    $0x24000,%eax
411d39:	74 24                	je     0x411d5f
411d3b:	3d 00 00 04 00       	cmp    $0x40000,%eax
411d40:	74 07                	je     0x411d49
411d42:	3d 00 40 04 00       	cmp    $0x44000,%eax
411d47:	75 1c                	jne    0x411d65
411d49:	c6 07 01             	movb   $0x1,(%edi)
411d4c:	eb 17                	jmp    0x411d65
411d4e:	0b f0                	or     %eax,%esi
411d50:	eb b9                	jmp    0x411d0b
411d52:	ba 01 03 00 00       	mov    $0x301,%edx
411d57:	8b c6                	mov    %esi,%eax
411d59:	23 c2                	and    %edx,%eax
411d5b:	3b c2                	cmp    %edx,%eax
411d5d:	75 06                	jne    0x411d65
411d5f:	88 0f                	mov    %cl,(%edi)
411d61:	eb 02                	jmp    0x411d65
411d63:	88 1f                	mov    %bl,(%edi)
411d65:	f7 c6 00 00 07 00    	test   $0x70000,%esi
411d6b:	0f 84 7d 01 00 00    	je     0x411eee
411d71:	f6 45 0c 40          	testb  $0x40,0xc(%ebp)
411d75:	0f 85 73 01 00 00    	jne    0x411eee
411d7b:	8b 45 10             	mov    0x10(%ebp),%eax
411d7e:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
411d83:	23 c2                	and    %edx,%eax
411d85:	be 00 00 00 80       	mov    $0x80000000,%esi
411d8a:	3d 00 00 00 40       	cmp    $0x40000000,%eax
411d8f:	74 0c                	je     0x411d9d
411d91:	3b c6                	cmp    %esi,%eax
411d93:	74 75                	je     0x411e0a
411d95:	3b c2                	cmp    %edx,%eax
411d97:	0f 85 51 01 00 00    	jne    0x411eee
411d9d:	8b 45 14             	mov    0x14(%ebp),%eax
411da0:	83 e8 01             	sub    $0x1,%eax
411da3:	0f 84 fa 00 00 00    	je     0x411ea3
411da9:	83 e8 01             	sub    $0x1,%eax
411dac:	0f 84 f1 00 00 00    	je     0x411ea3
411db2:	83 e8 01             	sub    $0x1,%eax
411db5:	74 13                	je     0x411dca
411db7:	83 e8 01             	sub    $0x1,%eax
411dba:	74 0e                	je     0x411dca
411dbc:	83 e8 01             	sub    $0x1,%eax
411dbf:	0f 84 de 00 00 00    	je     0x411ea3
411dc5:	e9 24 01 00 00       	jmp    0x411eee
411dca:	51                   	push   %ecx
411dcb:	53                   	push   %ebx
411dcc:	53                   	push   %ebx
411dcd:	ff 75 08             	push   0x8(%ebp)
411dd0:	e8 6a f0 ff ff       	call   0x410e3f
411dd5:	83 c4 10             	add    $0x10,%esp
411dd8:	0b c2                	or     %edx,%eax
411dda:	0f 84 c0 00 00 00    	je     0x411ea0
411de0:	53                   	push   %ebx
411de1:	53                   	push   %ebx
411de2:	53                   	push   %ebx
411de3:	ff 75 08             	push   0x8(%ebp)
411de6:	e8 54 f0 ff ff       	call   0x410e3f
411deb:	23 c2                	and    %edx,%eax
411ded:	83 c4 10             	add    $0x10,%esp
411df0:	83 f8 ff             	cmp    $0xffffffff,%eax
411df3:	75 0c                	jne    0x411e01
411df5:	e8 35 89 ff ff       	call   0x40a72f
411dfa:	8b 00                	mov    (%eax),%eax
411dfc:	e9 ef 00 00 00       	jmp    0x411ef0
411e01:	85 75 10             	test   %esi,0x10(%ebp)
411e04:	0f 84 e4 00 00 00    	je     0x411eee
411e0a:	6a 03                	push   $0x3
411e0c:	8d 45 fc             	lea    -0x4(%ebp),%eax
411e0f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411e12:	50                   	push   %eax
411e13:	ff 75 08             	push   0x8(%ebp)
411e16:	e8 20 f8 ff ff       	call   0x41163b
411e1b:	8b c8                	mov    %eax,%ecx
411e1d:	83 c4 0c             	add    $0xc,%esp
411e20:	85 c9                	test   %ecx,%ecx
411e22:	7f 05                	jg     0x411e29
411e24:	83 f9 ff             	cmp    $0xffffffff,%ecx
411e27:	74 cc                	je     0x411df5
411e29:	8b 55 fc             	mov    -0x4(%ebp),%edx
411e2c:	6a 02                	push   $0x2
411e2e:	58                   	pop    %eax
411e2f:	3b c8                	cmp    %eax,%ecx
411e31:	74 15                	je     0x411e48
411e33:	83 f9 03             	cmp    $0x3,%ecx
411e36:	75 4e                	jne    0x411e86
411e38:	81 fa ef bb bf 00    	cmp    $0xbfbbef,%edx
411e3e:	75 08                	jne    0x411e48
411e40:	c6 07 01             	movb   $0x1,(%edi)
411e43:	e9 a6 00 00 00       	jmp    0x411eee
411e48:	0f b7 ca             	movzwl %dx,%ecx
411e4b:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
411e51:	75 0d                	jne    0x411e60
411e53:	e8 d7 88 ff ff       	call   0x40a72f
411e58:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411e5e:	eb 95                	jmp    0x411df5
411e60:	81 f9 ff fe 00 00    	cmp    $0xfeff,%ecx
411e66:	75 1e                	jne    0x411e86
411e68:	53                   	push   %ebx
411e69:	53                   	push   %ebx
411e6a:	50                   	push   %eax
411e6b:	ff 75 08             	push   0x8(%ebp)
411e6e:	e8 cc ef ff ff       	call   0x410e3f
411e73:	23 c2                	and    %edx,%eax
411e75:	83 c4 10             	add    $0x10,%esp
411e78:	83 f8 ff             	cmp    $0xffffffff,%eax
411e7b:	0f 84 74 ff ff ff    	je     0x411df5
411e81:	c6 07 02             	movb   $0x2,(%edi)
411e84:	eb 68                	jmp    0x411eee
411e86:	53                   	push   %ebx
411e87:	53                   	push   %ebx
411e88:	53                   	push   %ebx
411e89:	ff 75 08             	push   0x8(%ebp)
411e8c:	e8 ae ef ff ff       	call   0x410e3f
411e91:	23 c2                	and    %edx,%eax
411e93:	83 c4 10             	add    $0x10,%esp
411e96:	83 f8 ff             	cmp    $0xffffffff,%eax
411e99:	75 53                	jne    0x411eee
411e9b:	e9 55 ff ff ff       	jmp    0x411df5
411ea0:	6a 02                	push   $0x2
411ea2:	59                   	pop    %ecx
411ea3:	0f be 07             	movsbl (%edi),%eax
411ea6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411ea9:	83 e8 01             	sub    $0x1,%eax