517c2f:	5d                   	pop    %ebp
517c30:	c3                   	ret
517c31:	cc                   	int3
517c32:	cc                   	int3
517c33:	cc                   	int3
517c34:	cc                   	int3
517c35:	cc                   	int3
517c36:	cc                   	int3
517c37:	cc                   	int3
517c38:	cc                   	int3
517c39:	cc                   	int3
517c3a:	cc                   	int3
517c3b:	cc                   	int3
517c3c:	cc                   	int3
517c3d:	cc                   	int3
517c3e:	cc                   	int3
517c3f:	cc                   	int3
517c40:	55                   	push   %ebp
517c41:	8b ec                	mov    %esp,%ebp
517c43:	51                   	push   %ecx
517c44:	53                   	push   %ebx
517c45:	56                   	push   %esi
517c46:	8b 75 08             	mov    0x8(%ebp),%esi
517c49:	b2 20                	mov    $0x20,%dl
517c4b:	57                   	push   %edi
517c4c:	88 55 ff             	mov    %dl,-0x1(%ebp)
517c4f:	8b 9e e4 00 00 00    	mov    0xe4(%esi),%ebx
517c55:	85 db                	test   %ebx,%ebx
517c57:	0f 84 bc 00 00 00    	je     0x517d19
517c5d:	80 be c8 00 00 00 01 	cmpb   $0x1,0xc8(%esi)
517c64:	0f bf 43 2a          	movswl 0x2a(%ebx),%eax
517c68:	8d 3c 80             	lea    (%eax,%eax,4),%edi
517c6b:	8b 43 04             	mov    0x4(%ebx),%eax
517c6e:	8d 7f fb             	lea    -0x5(%edi),%edi
517c71:	8d 3c b8             	lea    (%eax,%edi,4),%edi
517c74:	75 13                	jne    0x517c89
517c76:	68 90 9f 6b 00       	push   $0x6b9f90
517c7b:	56                   	push   %esi
517c7c:	e8 df b5 00 00       	call   0x523260
517c81:	83 c4 08             	add    $0x8,%esp
517c84:	e9 90 00 00 00       	jmp    0x517d19
517c89:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
517c8d:	75 7a                	jne    0x517d09
517c8f:	8b 45 10             	mov    0x10(%ebp),%eax
517c92:	85 c0                	test   %eax,%eax
517c94:	74 45                	je     0x517cdb
517c96:	8b 48 04             	mov    0x4(%eax),%ecx
517c99:	89 4d 08             	mov    %ecx,0x8(%ebp)
517c9c:	83 f9 07             	cmp    $0x7,%ecx
517c9f:	75 1a                	jne    0x517cbb
517ca1:	51                   	push   %ecx
517ca2:	ff 30                	push   (%eax)
517ca4:	68 bc 9f 6b 00       	push   $0x6b9fbc
517ca9:	e8 b2 7e fc ff       	call   0x4dfb60
517cae:	83 c4 0c             	add    $0xc,%esp
517cb1:	85 c0                	test   %eax,%eax
517cb3:	74 23                	je     0x517cd8
517cb5:	8b 45 10             	mov    0x10(%ebp),%eax
517cb8:	8b 4d 08             	mov    0x8(%ebp),%ecx
517cbb:	83 f9 06             	cmp    $0x6,%ecx
517cbe:	75 49                	jne    0x517d09
517cc0:	51                   	push   %ecx
517cc1:	ff 30                	push   (%eax)
517cc3:	68 c4 9f 6b 00       	push   $0x6b9fc4
517cc8:	e8 93 7e fc ff       	call   0x4dfb60
517ccd:	83 c4 0c             	add    $0xc,%esp
517cd0:	85 c0                	test   %eax,%eax
517cd2:	75 35                	jne    0x517d09
517cd4:	b2 40                	mov    $0x40,%dl
517cd6:	eb 07                	jmp    0x517cdf
517cd8:	8a 55 ff             	mov    -0x1(%ebp),%dl
517cdb:	66 ff 4b 2c          	decw   0x2c(%ebx)
517cdf:	0f b6 c2             	movzbl %dl,%eax
517ce2:	66 09 47 10          	or     %ax,0x10(%edi)
517ce6:	0f b6 c2             	movzbl %dl,%eax
517ce9:	09 43 24             	or     %eax,0x24(%ebx)
517cec:	f6 47 10 01          	testb  $0x1,0x10(%edi)
517cf0:	74 0a                	je     0x517cfc
517cf2:	57                   	push   %edi
517cf3:	56                   	push   %esi
517cf4:	e8 57 15 ff ff       	call   0x509250
517cf9:	83 c4 08             	add    $0x8,%esp
517cfc:	8b 45 0c             	mov    0xc(%ebp),%eax
517cff:	89 47 04             	mov    %eax,0x4(%edi)
517d02:	5f                   	pop    %edi
517d03:	5e                   	pop    %esi
517d04:	5b                   	pop    %ebx
517d05:	8b e5                	mov    %ebp,%esp
517d07:	5d                   	pop    %ebp
517d08:	c3                   	ret
517d09:	ff 37                	push   (%edi)
517d0b:	68 cc 9f 6b 00       	push   $0x6b9fcc
517d10:	56                   	push   %esi
517d11:	e8 4a b5 00 00       	call   0x523260
517d16:	83 c4 0c             	add    $0xc,%esp
517d19:	8b 45 0c             	mov    0xc(%ebp),%eax
517d1c:	85 c0                	test   %eax,%eax
517d1e:	74 0b                	je     0x517d2b
517d20:	50                   	push   %eax
517d21:	ff 36                	push   (%esi)
517d23:	e8 88 ea 00 00       	call   0x5267b0
517d28:	83 c4 08             	add    $0x8,%esp
517d2b:	5f                   	pop    %edi
517d2c:	5e                   	pop    %esi
517d2d:	5b                   	pop    %ebx
517d2e:	8b e5                	mov    %ebp,%esp
517d30:	5d                   	pop    %ebp
517d31:	c3                   	ret
517d32:	cc                   	int3
517d33:	cc                   	int3
517d34:	cc                   	int3
517d35:	cc                   	int3
517d36:	cc                   	int3
517d37:	cc                   	int3
517d38:	cc                   	int3
517d39:	cc                   	int3
517d3a:	cc                   	int3
517d3b:	cc                   	int3
517d3c:	cc                   	int3
517d3d:	cc                   	int3
517d3e:	cc                   	int3
517d3f:	cc                   	int3
517d40:	55                   	push   %ebp
517d41:	8b ec                	mov    %esp,%ebp
517d43:	51                   	push   %ecx
517d44:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
517d48:	53                   	push   %ebx
517d49:	8b 5d 08             	mov    0x8(%ebp),%ebx
517d4c:	56                   	push   %esi
517d4d:	57                   	push   %edi
517d4e:	8b 7d 0c             	mov    0xc(%ebp),%edi
517d51:	8b 13                	mov    (%ebx),%edx
517d53:	8b 73 04             	mov    0x4(%ebx),%esi
517d56:	7c 33                	jl     0x517d8b
517d58:	7f 04                	jg     0x517d5e
517d5a:	85 ff                	test   %edi,%edi
517d5c:	72 2d                	jb     0x517d8b
517d5e:	85 f6                	test   %esi,%esi
517d60:	7c 60                	jl     0x517dc2
517d62:	7f 04                	jg     0x517d68
517d64:	85 d2                	test   %edx,%edx
517d66:	74 5a                	je     0x517dc2
517d68:	83 c9 ff             	or     $0xffffffff,%ecx
517d6b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
517d70:	2b ca                	sub    %edx,%ecx
517d72:	1b c6                	sbb    %esi,%eax
517d74:	3b 45 10             	cmp    0x10(%ebp),%eax
517d77:	7f 49                	jg     0x517dc2
517d79:	7c 04                	jl     0x517d7f
517d7b:	3b cf                	cmp    %edi,%ecx
517d7d:	73 43                	jae    0x517dc2
517d7f:	5f                   	pop    %edi
517d80:	5e                   	pop    %esi
517d81:	b8 01 00 00 00       	mov    $0x1,%eax
517d86:	5b                   	pop    %ebx
517d87:	8b e5                	mov    %ebp,%esp
517d89:	5d                   	pop    %ebp
517d8a:	c3                   	ret
517d8b:	85 f6                	test   %esi,%esi
517d8d:	7f 33                	jg     0x517dc2
517d8f:	7c 04                	jl     0x517d95
517d91:	85 d2                	test   %edx,%edx
517d93:	73 2d                	jae    0x517dc2
517d95:	b8 01 00 00 00       	mov    $0x1,%eax
517d9a:	b9 00 00 00 80       	mov    $0x80000000,%ecx
517d9f:	2b c2                	sub    %edx,%eax
517da1:	89 45 08             	mov    %eax,0x8(%ebp)
517da4:	8b c7                	mov    %edi,%eax
517da6:	1b ce                	sbb    %esi,%ecx
517da8:	83 c0 01             	add    $0x1,%eax
517dab:	89 45 fc             	mov    %eax,-0x4(%ebp)
517dae:	8b 45 10             	mov    0x10(%ebp),%eax
517db1:	83 d0 00             	adc    $0x0,%eax
517db4:	3b c8                	cmp    %eax,%ecx
517db6:	7c 0a                	jl     0x517dc2
517db8:	7f c5                	jg     0x517d7f
517dba:	8b 4d 08             	mov    0x8(%ebp),%ecx
517dbd:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
517dc0:	77 bd                	ja     0x517d7f
517dc2:	03 d7                	add    %edi,%edx
517dc4:	5f                   	pop    %edi
517dc5:	13 75 10             	adc    0x10(%ebp),%esi
517dc8:	33 c0                	xor    %eax,%eax
517dca:	89 73 04             	mov    %esi,0x4(%ebx)
517dcd:	5e                   	pop    %esi
517dce:	89 13                	mov    %edx,(%ebx)
517dd0:	5b                   	pop    %ebx
517dd1:	8b e5                	mov    %ebp,%esp
517dd3:	5d                   	pop    %ebp
517dd4:	c3                   	ret
517dd5:	cc                   	int3
517dd6:	cc                   	int3
517dd7:	cc                   	int3
517dd8:	cc                   	int3
517dd9:	cc                   	int3
517dda:	cc                   	int3
517ddb:	cc                   	int3
517ddc:	cc                   	int3
517ddd:	cc                   	int3
517dde:	cc                   	int3
517ddf:	cc                   	int3
517de0:	55                   	push   %ebp
517de1:	8b ec                	mov    %esp,%ebp
517de3:	8b 45 08             	mov    0x8(%ebp),%eax
517de6:	56                   	push   %esi
517de7:	8b b0 e4 00 00 00    	mov    0xe4(%eax),%esi
517ded:	85 f6                	test   %esi,%esi
517def:	74 49                	je     0x517e3a
517df1:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
517df5:	66 83 f8 01          	cmp    $0x1,%ax
517df9:	7c 3f                	jl     0x517e3a
517dfb:	98                   	cwtl
517dfc:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
517dff:	8b 46 04             	mov    0x4(%esi),%eax
517e02:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
517e05:	8a 45 0c             	mov    0xc(%ebp),%al
517e08:	88 41 f8             	mov    %al,-0x8(%ecx)
517e0b:	81 4e 24 00 08 00 00 	orl    $0x800,0x24(%esi)
517e12:	f6 41 fc 08          	testb  $0x8,-0x4(%ecx)
517e16:	74 22                	je     0x517e3a
517e18:	8b 46 08             	mov    0x8(%esi),%eax
517e1b:	85 c0                	test   %eax,%eax
517e1d:	74 1b                	je     0x517e3a
517e1f:	90                   	nop
517e20:	8b 48 04             	mov    0x4(%eax),%ecx
517e23:	0f bf 11             	movswl (%ecx),%edx
517e26:	0f bf 4e 2a          	movswl 0x2a(%esi),%ecx
517e2a:	49                   	dec    %ecx
517e2b:	3b d1                	cmp    %ecx,%edx
517e2d:	75 04                	jne    0x517e33
517e2f:	83 48 38 08          	orl    $0x8,0x38(%eax)
517e33:	8b 40 14             	mov    0x14(%eax),%eax
517e36:	85 c0                	test   %eax,%eax
517e38:	75 e6                	jne    0x517e20
517e3a:	5e                   	pop    %esi
517e3b:	5d                   	pop    %ebp
517e3c:	c3                   	ret
517e3d:	cc                   	int3
517e3e:	cc                   	int3
517e3f:	cc                   	int3
517e40:	55                   	push   %ebp
517e41:	8b ec                	mov    %esp,%ebp
517e43:	83 ec 20             	sub    $0x20,%esp
517e46:	53                   	push   %ebx
517e47:	56                   	push   %esi
517e48:	8b 75 08             	mov    0x8(%ebp),%esi
517e4b:	57                   	push   %edi
517e4c:	83 cf ff             	or     $0xffffffff,%edi
517e4f:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
517e56:	8b 9e e4 00 00 00    	mov    0xe4(%esi),%ebx
517e5c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
517e5f:	85 db                	test   %ebx,%ebx
517e61:	0f 84 f6 01 00 00    	je     0x51805d
517e67:	8b 43 24             	mov    0x24(%ebx),%eax
517e6a:	a8 04                	test   $0x4,%al
517e6c:	74 15                	je     0x517e83
517e6e:	ff 33                	push   (%ebx)
517e70:	68 24 9f 6b 00       	push   $0x6b9f24
517e75:	56                   	push   %esi
517e76:	e8 e5 b3 00 00       	call   0x523260
517e7b:	83 c4 0c             	add    $0xc,%esp
517e7e:	e9 da 01 00 00       	jmp    0x51805d
517e83:	83 c8 04             	or     $0x4,%eax
517e86:	89 43 24             	mov    %eax,0x24(%ebx)
517e89:	8b 45 0c             	mov    0xc(%ebp),%eax
517e8c:	85 c0                	test   %eax,%eax
517e8e:	75 34                	jne    0x517ec4
517e90:	0f bf 7b 2a          	movswl 0x2a(%ebx),%edi
517e94:	8b 43 04             	mov    0x4(%ebx),%eax
517e97:	4f                   	dec    %edi
517e98:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
517e9b:	66 83 4c 88 10 01    	orw    $0x1,0x10(%eax,%ecx,4)
517ea1:	8d 04 88             	lea    (%eax,%ecx,4),%eax
517ea4:	f6 40 10 60          	testb  $0x60,0x10(%eax)
517ea8:	89 45 f8             	mov    %eax,-0x8(%ebp)
517eab:	0f 84 e2 00 00 00    	je     0x517f93
517eb1:	68 f0 9e 6b 00       	push   $0x6b9ef0
517eb6:	56                   	push   %esi
517eb7:	e8 a4 b3 00 00       	call   0x523260
517ebc:	83 c4 08             	add    $0x8,%esp
517ebf:	e9 cc 00 00 00       	jmp    0x517f90
517ec4:	8b 08                	mov    (%eax),%ecx
517ec6:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
517ec9:	85 c9                	test   %ecx,%ecx
517ecb:	0f 8e b6 00 00 00    	jle    0x517f87
517ed1:	83 c0 04             	add    $0x4,%eax
517ed4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
517ed7:	89 45 f4             	mov    %eax,-0xc(%ebp)
517eda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
517ee0:	8b 00                	mov    (%eax),%eax
517ee2:	85 c0                	test   %eax,%eax
517ee4:	74 10                	je     0x517ef6
517ee6:	f7 40 04 00 10 00 00 	testl  $0x1000,0x4(%eax)
517eed:	74 07                	je     0x517ef6
517eef:	8b 40 0c             	mov    0xc(%eax),%eax
517ef2:	85 c0                	test   %eax,%eax
517ef4:	75 f0                	jne    0x517ee6
517ef6:	8a 08                	mov    (%eax),%cl
517ef8:	80 f9 73             	cmp    $0x73,%cl
517efb:	75 05                	jne    0x517f02
517efd:	c6 00 3b             	movb   $0x3b,(%eax)
517f00:	eb 15                	jmp    0x517f17
517f02:	80 f9 6f             	cmp    $0x6f,%cl
517f05:	75 0b                	jne    0x517f12
517f07:	8b 48 0c             	mov    0xc(%eax),%ecx
517f0a:	80 39 73             	cmpb   $0x73,(%ecx)
517f0d:	75 03                	jne    0x517f12
517f0f:	c6 01 3b             	movb   $0x3b,(%ecx)
517f12:	80 38 3b             	cmpb   $0x3b,(%eax)
517f15:	75 5a                	jne    0x517f71
517f17:	0f bf 4b 2a          	movswl 0x2a(%ebx),%ecx
517f1b:	33 ff                	xor    %edi,%edi
517f1d:	8b 40 08             	mov    0x8(%eax),%eax
517f20:	89 45 ec             	mov    %eax,-0x14(%ebp)
517f23:	85 c9                	test   %ecx,%ecx
517f25:	7e 4a                	jle    0x517f71
517f27:	8b 4b 04             	mov    0x4(%ebx),%ecx
517f2a:	8b d9                	mov    %ecx,%ebx
517f2c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
517f2f:	90                   	nop
517f30:	8b 33                	mov    (%ebx),%esi
517f32:	8b d0                	mov    %eax,%edx
517f34:	2b f0                	sub    %eax,%esi
517f36:	0f b6 02             	movzbl (%edx),%eax
517f39:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
517f3d:	3b c1                	cmp    %ecx,%eax
517f3f:	75 67                	jne    0x517fa8
517f41:	85 c0                	test   %eax,%eax
517f43:	75 75                	jne    0x517fba
517f45:	8b 4d e8             	mov    -0x18(%ebp),%ecx
517f48:	8d 04 bf             	lea    (%edi,%edi,4),%eax
517f4b:	66 83 4c 81 10 01    	orw    $0x1,0x10(%ecx,%eax,4)
517f51:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
517f54:	f6 41 10 60          	testb  $0x60,0x10(%ecx)
517f58:	89 4d f8             	mov    %ecx,-0x8(%ebp)
517f5b:	74 11                	je     0x517f6e
517f5d:	8b 75 08             	mov    0x8(%ebp),%esi
517f60:	68 f0 9e 6b 00       	push   $0x6b9ef0
517f65:	56                   	push   %esi
517f66:	e8 f5 b2 00 00       	call   0x523260
517f6b:	83 c4 08             	add    $0x8,%esp
517f6e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
517f71:	8b 45 f4             	mov    -0xc(%ebp),%eax
517f74:	83 c0 14             	add    $0x14,%eax
517f77:	83 6d f0 01          	subl   $0x1,-0x10(%ebp)
517f7b:	89 45 f4             	mov    %eax,-0xc(%ebp)
517f7e:	0f 85 5c ff ff ff    	jne    0x517ee0
517f84:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
517f87:	83 f9 01             	cmp    $0x1,%ecx
517f8a:	0f 85 e6 00 00 00    	jne    0x518076