592b65:	e8 86 e9 04 00       	call   0x5e14f0
592b6a:	53                   	push   %ebx
592b6b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
592b6f:	55                   	push   %ebp
592b70:	56                   	push   %esi
592b71:	57                   	push   %edi
592b72:	8b 03                	mov    (%ebx),%eax
592b74:	33 ed                	xor    %ebp,%ebp
592b76:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
592b7d:	00
592b7e:	8b 70 14             	mov    0x14(%eax),%esi
592b81:	56                   	push   %esi
592b82:	89 74 24 18          	mov    %esi,0x18(%esp)
592b86:	e8 85 ba f1 ff       	call   0x4ae610
592b8b:	83 c4 04             	add    $0x4,%esp
592b8e:	85 c0                	test   %eax,%eax
592b90:	7e 32                	jle    0x592bc4
592b92:	55                   	push   %ebp
592b93:	56                   	push   %esi
592b94:	e8 97 bb f1 ff       	call   0x4ae730
592b99:	8b f0                	mov    %eax,%esi
592b9b:	8d 44 24 24          	lea    0x24(%esp),%eax
592b9f:	6a 00                	push   $0x0
592ba1:	50                   	push   %eax
592ba2:	68 03 03 00 00       	push   $0x303
592ba7:	56                   	push   %esi
592ba8:	e8 43 b1 ff ff       	call   0x58dcf0
592bad:	8b f8                	mov    %eax,%edi
592baf:	83 c4 18             	add    $0x18,%esp
592bb2:	85 ff                	test   %edi,%edi
592bb4:	75 1b                	jne    0x592bd1
592bb6:	83 7c 24 1c ff       	cmpl   $0xffffffff,0x1c(%esp)
592bbb:	74 42                	je     0x592bff
592bbd:	81 4b 10 80 00 00 00 	orl    $0x80,0x10(%ebx)
592bc4:	5f                   	pop    %edi
592bc5:	5e                   	pop    %esi
592bc6:	5d                   	pop    %ebp
592bc7:	b8 01 00 00 00       	mov    $0x1,%eax
592bcc:	5b                   	pop    %ebx
592bcd:	83 c4 08             	add    $0x8,%esp
592bd0:	c3                   	ret
592bd1:	83 7b 40 00          	cmpl   $0x0,0x40(%ebx)
592bd5:	89 7c 24 10          	mov    %edi,0x10(%esp)
592bd9:	75 10                	jne    0x592beb
592bdb:	e8 20 ba f1 ff       	call   0x4ae600
592be0:	89 43 40             	mov    %eax,0x40(%ebx)
592be3:	85 c0                	test   %eax,%eax
592be5:	0f 84 d7 00 00 00    	je     0x592cc2
592beb:	57                   	push   %edi
592bec:	ff 73 40             	push   0x40(%ebx)
592bef:	e8 9c ba f1 ff       	call   0x4ae690
592bf4:	83 c4 08             	add    $0x8,%esp
592bf7:	85 c0                	test   %eax,%eax
592bf9:	0f 84 c3 00 00 00    	je     0x592cc2
592bff:	8b 44 24 10          	mov    0x10(%esp),%eax
592c03:	89 46 0c             	mov    %eax,0xc(%esi)
592c06:	8d 44 24 1c          	lea    0x1c(%esp),%eax
592c0a:	6a 00                	push   $0x0
592c0c:	50                   	push   %eax
592c0d:	68 8d 00 00 00       	push   $0x8d
592c12:	56                   	push   %esi
592c13:	e8 d8 b0 ff ff       	call   0x58dcf0
592c18:	8b f8                	mov    %eax,%edi
592c1a:	83 c4 10             	add    $0x10,%esp
592c1d:	85 ff                	test   %edi,%edi
592c1f:	75 10                	jne    0x592c31
592c21:	83 7c 24 1c ff       	cmpl   $0xffffffff,0x1c(%esp)
592c26:	75 95                	jne    0x592bbd
592c28:	c7 46 10 ff ff ff ff 	movl   $0xffffffff,0x10(%esi)
592c2f:	eb 12                	jmp    0x592c43
592c31:	57                   	push   %edi
592c32:	e8 99 9e ff ff       	call   0x58cad0
592c37:	57                   	push   %edi
592c38:	89 46 10             	mov    %eax,0x10(%esi)
592c3b:	e8 10 0f f2 ff       	call   0x4b3b50
592c40:	83 c4 08             	add    $0x8,%esp
592c43:	8b 76 08             	mov    0x8(%esi),%esi
592c46:	56                   	push   %esi
592c47:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
592c4e:	00
592c4f:	e8 bc b9 f1 ff       	call   0x4ae610
592c54:	8b 4c 24 20          	mov    0x20(%esp),%ecx
592c58:	83 c4 04             	add    $0x4,%esp
592c5b:	3b c8                	cmp    %eax,%ecx
592c5d:	7d 40                	jge    0x592c9f
592c5f:	90                   	nop
592c60:	51                   	push   %ecx
592c61:	56                   	push   %esi
592c62:	e8 c9 ba f1 ff       	call   0x4ae730
592c67:	83 c4 08             	add    $0x8,%esp
592c6a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
592c6e:	7e 11                	jle    0x592c81
592c70:	ff 30                	push   (%eax)
592c72:	e8 69 4d f1 ff       	call   0x4a79e0
592c77:	83 c4 04             	add    $0x4,%esp
592c7a:	3d 03 03 00 00       	cmp    $0x303,%eax
592c7f:	75 17                	jne    0x592c98
592c81:	ff 44 24 1c          	incl   0x1c(%esp)
592c85:	56                   	push   %esi
592c86:	e8 85 b9 f1 ff       	call   0x4ae610
592c8b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
592c8f:	83 c4 04             	add    $0x4,%esp
592c92:	3b c8                	cmp    %eax,%ecx
592c94:	7c ca                	jl     0x592c60
592c96:	eb 07                	jmp    0x592c9f
592c98:	81 4b 10 00 02 00 00 	orl    $0x200,0x10(%ebx)
592c9f:	8b 74 24 14          	mov    0x14(%esp),%esi
592ca3:	45                   	inc    %ebp
592ca4:	56                   	push   %esi
592ca5:	e8 66 b9 f1 ff       	call   0x4ae610
592caa:	83 c4 04             	add    $0x4,%esp
592cad:	3b e8                	cmp    %eax,%ebp
592caf:	0f 8c dd fe ff ff    	jl     0x592b92
592cb5:	5f                   	pop    %edi
592cb6:	5e                   	pop    %esi
592cb7:	5d                   	pop    %ebp
592cb8:	b8 01 00 00 00       	mov    $0x1,%eax
592cbd:	5b                   	pop    %ebx
592cbe:	83 c4 08             	add    $0x8,%esp
592cc1:	c3                   	ret
592cc2:	5f                   	pop    %edi
592cc3:	5e                   	pop    %esi
592cc4:	5d                   	pop    %ebp
592cc5:	33 c0                	xor    %eax,%eax
592cc7:	5b                   	pop    %ebx
592cc8:	83 c4 08             	add    $0x8,%esp
592ccb:	c3                   	ret
592ccc:	cc                   	int3
592ccd:	cc                   	int3
592cce:	cc                   	int3
592ccf:	cc                   	int3
592cd0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
592cd4:	33 c0                	xor    %eax,%eax
592cd6:	8b 54 24 08          	mov    0x8(%esp),%edx
592cda:	56                   	push   %esi
592cdb:	83 49 1c 01          	orl    $0x1,0x1c(%ecx)
592cdf:	39 42 04             	cmp    %eax,0x4(%edx)
592ce2:	7e 09                	jle    0x592ced
592ce4:	83 49 1c 04          	orl    $0x4,0x1c(%ecx)
592ce8:	b8 01 00 00 00       	mov    $0x1,%eax
592ced:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
592cf1:	5e                   	pop    %esi
592cf2:	7e 05                	jle    0x592cf9
592cf4:	40                   	inc    %eax
592cf5:	83 49 1c 08          	orl    $0x8,0x1c(%ecx)
592cf9:	83 7a 14 00          	cmpl   $0x0,0x14(%edx)
592cfd:	7e 05                	jle    0x592d04
592cff:	40                   	inc    %eax
592d00:	83 49 1c 10          	orl    $0x10,0x1c(%ecx)
592d04:	83 f8 01             	cmp    $0x1,%eax
592d07:	7e 04                	jle    0x592d0d
592d09:	83 49 1c 02          	orl    $0x2,0x1c(%ecx)
592d0d:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
592d11:	7e 04                	jle    0x592d17
592d13:	83 49 1c 20          	orl    $0x20,0x1c(%ecx)
592d17:	83 7a 0c 00          	cmpl   $0x0,0xc(%edx)
592d1b:	74 31                	je     0x592d4e
592d1d:	83 49 1c 40          	orl    $0x40,0x1c(%ecx)
592d21:	8b 42 0c             	mov    0xc(%edx),%eax
592d24:	83 38 00             	cmpl   $0x0,(%eax)
592d27:	7e 09                	jle    0x592d32
592d29:	8b 40 08             	mov    0x8(%eax),%eax
592d2c:	0f b6 00             	movzbl (%eax),%eax
592d2f:	89 41 20             	mov    %eax,0x20(%ecx)
592d32:	8b 42 0c             	mov    0xc(%edx),%eax
592d35:	83 38 01             	cmpl   $0x1,(%eax)
592d38:	7e 0d                	jle    0x592d47
592d3a:	8b 40 08             	mov    0x8(%eax),%eax
592d3d:	0f b6 40 01          	movzbl 0x1(%eax),%eax
592d41:	c1 e0 08             	shl    $0x8,%eax
592d44:	09 41 20             	or     %eax,0x20(%ecx)
592d47:	81 61 20 7f 80 00 00 	andl   $0x807f,0x20(%ecx)
592d4e:	8b 01                	mov    (%ecx),%eax
592d50:	ff 70 08             	push   0x8(%eax)
592d53:	ff 32                	push   (%edx)
592d55:	e8 96 71 00 00       	call   0x599ef0
592d5a:	83 c4 08             	add    $0x8,%esp
592d5d:	c3                   	ret
592d5e:	cc                   	int3
592d5f:	cc                   	int3
592d60:	b8 84 00 00 00       	mov    $0x84,%eax
592d65:	e8 86 e7 04 00       	call   0x5e14f0
592d6a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
592d6f:	33 c4                	xor    %esp,%eax
592d71:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
592d78:	53                   	push   %ebx
592d79:	8b 9c 24 90 00 00 00 	mov    0x90(%esp),%ebx
592d80:	55                   	push   %ebp
592d81:	8b ac 24 98 00 00 00 	mov    0x98(%esp),%ebp
592d88:	56                   	push   %esi
592d89:	33 f6                	xor    %esi,%esi
592d8b:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
592d8f:	89 74 24 0c          	mov    %esi,0xc(%esp)
592d93:	57                   	push   %edi
592d94:	8b bc 24 98 00 00 00 	mov    0x98(%esp),%edi
592d9b:	89 7c 24 2c          	mov    %edi,0x2c(%esp)
592d9f:	85 db                	test   %ebx,%ebx
592da1:	75 35                	jne    0x592dd8
592da3:	e8 e8 b8 f3 ff       	call   0x4ce690
592da8:	8b f0                	mov    %eax,%esi
592daa:	89 74 24 10          	mov    %esi,0x10(%esp)
592dae:	85 f6                	test   %esi,%esi
592db0:	0f 84 ab 02 00 00    	je     0x593061
592db6:	68 c8 00 00 00       	push   $0xc8
592dbb:	56                   	push   %esi
592dbc:	e8 ef b6 f3 ff       	call   0x4ce4b0
592dc1:	83 c4 08             	add    $0x8,%esp
592dc4:	85 c0                	test   %eax,%eax
592dc6:	0f 84 95 02 00 00    	je     0x593061
592dcc:	8b 46 04             	mov    0x4(%esi),%eax
592dcf:	bd c8 00 00 00       	mov    $0xc8,%ebp
592dd4:	88 18                	mov    %bl,(%eax)
592dd6:	eb 08                	jmp    0x592de0
592dd8:	85 ed                	test   %ebp,%ebp
592dda:	0f 84 bb 02 00 00    	je     0x59309b
592de0:	85 ff                	test   %edi,%edi
592de2:	75 29                	jne    0x592e0d
592de4:	85 f6                	test   %esi,%esi
592de6:	74 0c                	je     0x592df4
592de8:	8b 5e 04             	mov    0x4(%esi),%ebx
592deb:	56                   	push   %esi
592dec:	e8 3f d3 f0 ff       	call   0x4a0130
592df1:	83 c4 04             	add    $0x4,%esp
592df4:	55                   	push   %ebp
592df5:	68 70 80 6c 00       	push   $0x6c8070
592dfa:	53                   	push   %ebx
592dfb:	e8 d0 9c 06 00       	call   0x5fcad0
592e00:	83 c4 0c             	add    $0xc,%esp
592e03:	c6 44 2b ff 00       	movb   $0x0,-0x1(%ebx,%ebp,1)
592e08:	e9 a0 02 00 00       	jmp    0x5930ad
592e0d:	ff 37                	push   (%edi)
592e0f:	4d                   	dec    %ebp
592e10:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
592e17:	00
592e18:	33 db                	xor    %ebx,%ebx
592e1a:	89 6c 24 28          	mov    %ebp,0x28(%esp)
592e1e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
592e22:	e8 e9 b7 f1 ff       	call   0x4ae610
592e27:	83 c4 04             	add    $0x4,%esp
592e2a:	85 c0                	test   %eax,%eax
592e2c:	0f 8e 19 02 00 00    	jle    0x59304b
592e32:	53                   	push   %ebx
592e33:	ff 37                	push   (%edi)
592e35:	e8 f6 b8 f1 ff       	call   0x4ae730
592e3a:	8b e8                	mov    %eax,%ebp
592e3c:	89 6c 24 30          	mov    %ebp,0x30(%esp)
592e40:	ff 75 00             	push   0x0(%ebp)
592e43:	e8 98 4b f1 ff       	call   0x4a79e0
592e48:	83 c4 0c             	add    $0xc,%esp
592e4b:	85 c0                	test   %eax,%eax
592e4d:	74 11                	je     0x592e60
592e4f:	50                   	push   %eax
592e50:	e8 fb 4a f1 ff       	call   0x4a7950
592e55:	83 c4 04             	add    $0x4,%esp
592e58:	89 44 24 1c          	mov    %eax,0x1c(%esp)
592e5c:	85 c0                	test   %eax,%eax
592e5e:	75 1a                	jne    0x592e7a
592e60:	ff 75 00             	push   0x0(%ebp)
592e63:	8d 44 24 44          	lea    0x44(%esp),%eax
592e67:	6a 50                	push   $0x50
592e69:	50                   	push   %eax
592e6a:	e8 31 47 f1 ff       	call   0x4a75a0
592e6f:	8d 44 24 4c          	lea    0x4c(%esp),%eax
592e73:	83 c4 0c             	add    $0xc,%esp
592e76:	89 44 24 1c          	mov    %eax,0x1c(%esp)
592e7a:	8b d8                	mov    %eax,%ebx
592e7c:	8d 4b 01             	lea    0x1(%ebx),%ecx
592e7f:	90                   	nop
592e80:	8a 03                	mov    (%ebx),%al
592e82:	43                   	inc    %ebx
592e83:	84 c0                	test   %al,%al
592e85:	75 f9                	jne    0x592e80
592e87:	8b 45 04             	mov    0x4(%ebp),%eax
592e8a:	2b d9                	sub    %ecx,%ebx
592e8c:	8b 38                	mov    (%eax),%edi
592e8e:	81 ff 00 00 10 00    	cmp    $0x100000,%edi
592e94:	0f 8f dc 01 00 00    	jg     0x593076
592e9a:	83 78 04 1b          	cmpl   $0x1b,0x4(%eax)
592e9e:	8b 68 08             	mov    0x8(%eax),%ebp
592ea1:	75 78                	jne    0x592f1b
592ea3:	8b c7                	mov    %edi,%eax
592ea5:	25 03 00 00 80       	and    $0x80000003,%eax
592eaa:	79 05                	jns    0x592eb1
592eac:	48                   	dec    %eax
592ead:	83 c8 fc             	or     $0xfffffffc,%eax
592eb0:	40                   	inc    %eax
592eb1:	75 68                	jne    0x592f1b
592eb3:	33 d2                	xor    %edx,%edx
592eb5:	33 f6                	xor    %esi,%esi
592eb7:	33 c0                	xor    %eax,%eax
592eb9:	89 54 24 38          	mov    %edx,0x38(%esp)
592ebd:	33 c9                	xor    %ecx,%ecx
592ebf:	89 74 24 34          	mov    %esi,0x34(%esp)
592ec3:	89 44 24 30          	mov    %eax,0x30(%esp)
592ec7:	85 ff                	test   %edi,%edi
592ec9:	7e 28                	jle    0x592ef3
592ecb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
592ed0:	38 14 29             	cmp    %dl,(%ecx,%ebp,1)
592ed3:	74 0d                	je     0x592ee2
592ed5:	8b c1                	mov    %ecx,%eax
592ed7:	83 e0 03             	and    $0x3,%eax
592eda:	c7 44 84 30 01 00 00 	movl   $0x1,0x30(%esp,%eax,4)
592ee1:	00
592ee2:	41                   	inc    %ecx
592ee3:	3b cf                	cmp    %edi,%ecx
592ee5:	7c e9                	jl     0x592ed0
592ee7:	8b 54 24 38          	mov    0x38(%esp),%edx
592eeb:	8b 74 24 34          	mov    0x34(%esp),%esi
592eef:	8b 44 24 30          	mov    0x30(%esp),%eax
592ef3:	0b c6                	or     %esi,%eax
592ef5:	c7 44 24 3c 01 00 00 	movl   $0x1,0x3c(%esp)
592efc:	00
592efd:	0b c2                	or     %edx,%eax
592eff:	75 22                	jne    0x592f23
592f01:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
592f08:	00
592f09:	c7 44 24 34 00 00 00 	movl   $0x0,0x34(%esp)
592f10:	00
592f11:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
592f18:	00
592f19:	eb 20                	jmp    0x592f3b
592f1b:	c7 44 24 3c 01 00 00 	movl   $0x1,0x3c(%esp)
592f22:	00
592f23:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
592f2a:	00
592f2b:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
592f32:	00
592f33:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%esp)
592f3a:	00
592f3b:	33 c9                	xor    %ecx,%ecx
592f3d:	33 d2                	xor    %edx,%edx
592f3f:	85 ff                	test   %edi,%edi
592f41:	7e 20                	jle    0x592f63
592f43:	8b c1                	mov    %ecx,%eax
592f45:	83 e0 03             	and    $0x3,%eax
592f48:	83 7c 84 30 00       	cmpl   $0x0,0x30(%esp,%eax,4)
592f4d:	74 0f                	je     0x592f5e
592f4f:	8a 04 29             	mov    (%ecx,%ebp,1),%al
592f52:	42                   	inc    %edx
592f53:	3c 20                	cmp    $0x20,%al
592f55:	72 04                	jb     0x592f5b
592f57:	3c 7e                	cmp    $0x7e,%al
592f59:	76 03                	jbe    0x592f5e
592f5b:	83 c2 03             	add    $0x3,%edx
592f5e:	41                   	inc    %ecx
592f5f:	3b cf                	cmp    %edi,%ecx
592f61:	7c e0                	jl     0x592f43
592f63:	8b 4c 24 18          	mov    0x18(%esp),%ecx
592f67:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
592f6a:	8b e9                	mov    %ecx,%ebp