526a6c:	c6 06 a7             	movb   $0xa7,(%esi)
526a6f:	0b f8                	or     %eax,%edi
526a71:	b8 01 00 00 00       	mov    $0x1,%eax
526a76:	89 7e 04             	mov    %edi,0x4(%esi)
526a79:	5f                   	pop    %edi
526a7a:	5e                   	pop    %esi
526a7b:	5d                   	pop    %ebp
526a7c:	c3                   	ret
526a7d:	68 a0 57 6e 00       	push   $0x6e57a0
526a82:	ff 76 08             	push   0x8(%esi)
526a85:	e8 a6 71 01 00       	call   0x53dc30
526a8a:	83 c4 08             	add    $0x8,%esp
526a8d:	85 c0                	test   %eax,%eax
526a8f:	75 16                	jne    0x526aa7
526a91:	b8 00 00 00 20       	mov    $0x20000000,%eax
526a96:	c6 06 a7             	movb   $0xa7,(%esi)
526a99:	0b f8                	or     %eax,%edi
526a9b:	b8 01 00 00 00       	mov    $0x1,%eax
526aa0:	89 7e 04             	mov    %edi,0x4(%esi)
526aa3:	5f                   	pop    %edi
526aa4:	5e                   	pop    %esi
526aa5:	5d                   	pop    %ebp
526aa6:	c3                   	ret
526aa7:	5f                   	pop    %edi
526aa8:	33 c0                	xor    %eax,%eax
526aaa:	5e                   	pop    %esi
526aab:	5d                   	pop    %ebp
526aac:	c3                   	ret
526aad:	cc                   	int3
526aae:	cc                   	int3
526aaf:	cc                   	int3
526ab0:	55                   	push   %ebp
526ab1:	8b ec                	mov    %esp,%ebp
526ab3:	83 ec 10             	sub    $0x10,%esp
526ab6:	53                   	push   %ebx
526ab7:	8b 5d 08             	mov    0x8(%ebp),%ebx
526aba:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
526ac1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
526ac8:	8b 4b 08             	mov    0x8(%ebx),%ecx
526acb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
526ace:	85 c9                	test   %ecx,%ecx
526ad0:	0f 84 cb 02 00 00    	je     0x526da1
526ad6:	57                   	push   %edi
526ad7:	8b 7d 0c             	mov    0xc(%ebp),%edi
526ada:	85 ff                	test   %edi,%edi
526adc:	0f 84 be 02 00 00    	je     0x526da0
526ae2:	8a 07                	mov    (%edi),%al
526ae4:	88 45 0b             	mov    %al,0xb(%ebp)
526ae7:	0f b6 c0             	movzbl %al,%eax
526aea:	56                   	push   %esi
526aeb:	8b f0                	mov    %eax,%esi
526aed:	83 c0 ed             	add    $0xffffffed,%eax
526af0:	83 f6 01             	xor    $0x1,%esi
526af3:	89 75 f4             	mov    %esi,-0xc(%ebp)
526af6:	3d 99 00 00 00       	cmp    $0x99,%eax
526afb:	0f 87 0a 02 00 00    	ja     0x526d0b
526b01:	0f b6 80 cc 6d 52 00 	movzbl 0x526dcc(%eax),%eax
526b08:	ff 24 85 a8 6d 52 00 	jmp    *0x526da8(,%eax,4)
526b0f:	57                   	push   %edi
526b10:	e8 7b 11 00 00       	call   0x527c90
526b15:	83 c4 04             	add    $0x4,%esp
526b18:	3b c7                	cmp    %edi,%eax
526b1a:	74 17                	je     0x526b33
526b1c:	ff 75 14             	push   0x14(%ebp)
526b1f:	ff 75 10             	push   0x10(%ebp)
526b22:	50                   	push   %eax
526b23:	53                   	push   %ebx
526b24:	e8 87 ff ff ff       	call   0x526ab0
526b29:	83 c4 10             	add    $0x10,%esp
526b2c:	5e                   	pop    %esi
526b2d:	5f                   	pop    %edi
526b2e:	5b                   	pop    %ebx
526b2f:	8b e5                	mov    %ebp,%esp
526b31:	5d                   	pop    %ebp
526b32:	c3                   	ret
526b33:	80 7d 0b 2c          	cmpb   $0x2c,0xb(%ebp)
526b37:	75 2c                	jne    0x526b65
526b39:	8b 45 0c             	mov    0xc(%ebp),%eax
526b3c:	8b 7d 14             	mov    0x14(%ebp),%edi
526b3f:	8b 75 10             	mov    0x10(%ebp),%esi
526b42:	57                   	push   %edi
526b43:	56                   	push   %esi
526b44:	ff 70 0c             	push   0xc(%eax)
526b47:	53                   	push   %ebx
526b48:	e8 63 ff ff ff       	call   0x526ab0
526b4d:	8b 45 0c             	mov    0xc(%ebp),%eax
526b50:	57                   	push   %edi
526b51:	56                   	push   %esi
526b52:	ff 70 10             	push   0x10(%eax)
526b55:	53                   	push   %ebx
526b56:	e8 55 ff ff ff       	call   0x526ab0
526b5b:	83 c4 20             	add    $0x20,%esp
526b5e:	5e                   	pop    %esi
526b5f:	5f                   	pop    %edi
526b60:	5b                   	pop    %ebx
526b61:	8b e5                	mov    %ebp,%esp
526b63:	5d                   	pop    %ebp
526b64:	c3                   	ret
526b65:	8b 75 14             	mov    0x14(%ebp),%esi
526b68:	8b c6                	mov    %esi,%eax
526b6a:	ff 4b 38             	decl   0x38(%ebx)
526b6d:	83 f0 10             	xor    $0x10,%eax
526b70:	8b 7b 38             	mov    0x38(%ebx),%edi
526b73:	50                   	push   %eax
526b74:	8b 45 0c             	mov    0xc(%ebp),%eax
526b77:	57                   	push   %edi
526b78:	ff 70 0c             	push   0xc(%eax)
526b7b:	53                   	push   %ebx
526b7c:	e8 ef 02 00 00       	call   0x526e70
526b81:	8b 45 0c             	mov    0xc(%ebp),%eax
526b84:	56                   	push   %esi
526b85:	ff 75 10             	push   0x10(%ebp)
526b88:	ff 70 10             	push   0x10(%eax)
526b8b:	53                   	push   %ebx
526b8c:	e8 1f ff ff ff       	call   0x526ab0
526b91:	57                   	push   %edi
526b92:	ff 75 fc             	push   -0x4(%ebp)
526b95:	e8 36 61 02 00       	call   0x54ccd0
526b9a:	83 c4 28             	add    $0x28,%esp
526b9d:	5e                   	pop    %esi
526b9e:	5f                   	pop    %edi
526b9f:	5b                   	pop    %ebx
526ba0:	8b e5                	mov    %ebp,%esp
526ba2:	5d                   	pop    %ebp
526ba3:	c3                   	ret
526ba4:	ff 75 14             	push   0x14(%ebp)
526ba7:	ff 75 10             	push   0x10(%ebp)
526baa:	ff 77 0c             	push   0xc(%edi)
526bad:	53                   	push   %ebx
526bae:	e8 bd 02 00 00       	call   0x526e70
526bb3:	83 c4 10             	add    $0x10,%esp
526bb6:	5e                   	pop    %esi
526bb7:	5f                   	pop    %edi
526bb8:	5b                   	pop    %ebx
526bb9:	8b e5                	mov    %ebp,%esp
526bbb:	5d                   	pop    %ebp
526bbc:	c3                   	ret
526bbd:	ff 77 10             	push   0x10(%edi)
526bc0:	8a 57 02             	mov    0x2(%edi),%dl
526bc3:	e8 c8 11 00 00       	call   0x527d90
526bc8:	33 c9                	xor    %ecx,%ecx
526bca:	83 c4 04             	add    $0x4,%esp
526bcd:	80 fa a8             	cmp    $0xa8,%dl
526bd0:	0f 94 c1             	sete   %cl
526bd3:	3b c1                	cmp    %ecx,%eax
526bd5:	b8 10 00 00 00       	mov    $0x10,%eax
526bda:	74 1f                	je     0x526bfb
526bdc:	33 c9                	xor    %ecx,%ecx
526bde:	80 fa a8             	cmp    $0xa8,%dl
526be1:	0f 44 c1             	cmove  %ecx,%eax
526be4:	50                   	push   %eax
526be5:	ff 75 10             	push   0x10(%ebp)
526be8:	ff 77 0c             	push   0xc(%edi)
526beb:	53                   	push   %ebx
526bec:	e8 bf fe ff ff       	call   0x526ab0
526bf1:	83 c4 10             	add    $0x10,%esp
526bf4:	5e                   	pop    %esi
526bf5:	5f                   	pop    %edi
526bf6:	5b                   	pop    %ebx
526bf7:	8b e5                	mov    %ebp,%esp
526bf9:	5d                   	pop    %ebp
526bfa:	c3                   	ret
526bfb:	33 c9                	xor    %ecx,%ecx
526bfd:	80 fa a8             	cmp    $0xa8,%dl
526c00:	0f 44 c1             	cmove  %ecx,%eax
526c03:	50                   	push   %eax
526c04:	ff 75 10             	push   0x10(%ebp)
526c07:	ff 77 0c             	push   0xc(%edi)
526c0a:	53                   	push   %ebx
526c0b:	e8 60 02 00 00       	call   0x526e70
526c10:	83 c4 10             	add    $0x10,%esp
526c13:	5e                   	pop    %esi
526c14:	5f                   	pop    %edi
526c15:	5b                   	pop    %ebx
526c16:	8b e5                	mov    %ebp,%esp
526c18:	5d                   	pop    %ebp
526c19:	c3                   	ret
526c1a:	33 d2                	xor    %edx,%edx
526c1c:	be 80 00 00 00       	mov    $0x80,%esi
526c21:	80 7d 0b 2d          	cmpb   $0x2d,0xb(%ebp)
526c25:	0f 95 c2             	setne  %dl
526c28:	83 c2 34             	add    $0x34,%edx
526c2b:	89 55 f4             	mov    %edx,-0xc(%ebp)
526c2e:	eb 03                	jmp    0x526c33
526c30:	8b 75 14             	mov    0x14(%ebp),%esi
526c33:	8b 57 0c             	mov    0xc(%edi),%edx
526c36:	52                   	push   %edx
526c37:	89 75 08             	mov    %esi,0x8(%ebp)
526c3a:	e8 f1 08 00 00       	call   0x527530
526c3f:	83 c4 04             	add    $0x4,%esp
526c42:	85 c0                	test   %eax,%eax
526c44:	0f 85 c6 00 00 00    	jne    0x526d10
526c4a:	8d 45 f8             	lea    -0x8(%ebp),%eax
526c4d:	50                   	push   %eax
526c4e:	52                   	push   %edx
526c4f:	53                   	push   %ebx
526c50:	e8 7b f5 ff ff       	call   0x5261d0
526c55:	8b f0                	mov    %eax,%esi
526c57:	8d 45 f0             	lea    -0x10(%ebp),%eax
526c5a:	50                   	push   %eax
526c5b:	ff 77 10             	push   0x10(%edi)
526c5e:	53                   	push   %ebx
526c5f:	e8 6c f5 ff ff       	call   0x5261d0
526c64:	8b 4f 04             	mov    0x4(%edi),%ecx
526c67:	c1 e9 09             	shr    $0x9,%ecx
526c6a:	83 e1 01             	and    $0x1,%ecx
526c6d:	51                   	push   %ecx
526c6e:	ff 75 08             	push   0x8(%ebp)
526c71:	ff 75 10             	push   0x10(%ebp)
526c74:	50                   	push   %eax
526c75:	56                   	push   %esi
526c76:	ff 75 f4             	push   -0xc(%ebp)
526c79:	ff 77 10             	push   0x10(%edi)
526c7c:	ff 77 0c             	push   0xc(%edi)
526c7f:	53                   	push   %ebx
526c80:	e8 9b 2a fd ff       	call   0x4f9720
526c85:	83 c4 3c             	add    $0x3c,%esp
526c88:	e9 dc 00 00 00       	jmp    0x526d69
526c8d:	8d 45 f8             	lea    -0x8(%ebp),%eax
526c90:	50                   	push   %eax
526c91:	ff 77 0c             	push   0xc(%edi)
526c94:	53                   	push   %ebx
526c95:	e8 36 f5 ff ff       	call   0x5261d0
526c9a:	ff 75 10             	push   0x10(%ebp)
526c9d:	50                   	push   %eax
526c9e:	56                   	push   %esi
526c9f:	ff 75 fc             	push   -0x4(%ebp)
526ca2:	e8 39 ae 01 00       	call   0x541ae0
526ca7:	83 c4 1c             	add    $0x1c,%esp
526caa:	e9 ba 00 00 00       	jmp    0x526d69
526caf:	ff 75 14             	push   0x14(%ebp)
526cb2:	68 b0 6a 52 00       	push   $0x526ab0
526cb7:	ff 75 10             	push   0x10(%ebp)
526cba:	57                   	push   %edi
526cbb:	53                   	push   %ebx
526cbc:	e8 cf 95 fd ff       	call   0x500290
526cc1:	83 c4 14             	add    $0x14,%esp
526cc4:	5e                   	pop    %esi
526cc5:	5f                   	pop    %edi
526cc6:	5b                   	pop    %ebx
526cc7:	8b e5                	mov    %ebp,%esp
526cc9:	5d                   	pop    %ebp
526cca:	c3                   	ret
526ccb:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
526ccf:	74 16                	je     0x526ce7
526cd1:	8b 45 10             	mov    0x10(%ebp),%eax
526cd4:	50                   	push   %eax
526cd5:	50                   	push   %eax
526cd6:	57                   	push   %edi
526cd7:	53                   	push   %ebx
526cd8:	e8 33 d5 ff ff       	call   0x524210
526cdd:	83 c4 10             	add    $0x10,%esp
526ce0:	5e                   	pop    %esi
526ce1:	5f                   	pop    %edi
526ce2:	5b                   	pop    %ebx
526ce3:	8b e5                	mov    %ebp,%esp
526ce5:	5d                   	pop    %ebp
526ce6:	c3                   	ret
526ce7:	ff 4b 38             	decl   0x38(%ebx)
526cea:	8b 73 38             	mov    0x38(%ebx),%esi
526ced:	56                   	push   %esi
526cee:	ff 75 10             	push   0x10(%ebp)
526cf1:	57                   	push   %edi
526cf2:	53                   	push   %ebx
526cf3:	e8 18 d5 ff ff       	call   0x524210
526cf8:	56                   	push   %esi
526cf9:	ff 75 fc             	push   -0x4(%ebp)
526cfc:	e8 cf 5f 02 00       	call   0x54ccd0
526d01:	83 c4 18             	add    $0x18,%esp
526d04:	5e                   	pop    %esi
526d05:	5f                   	pop    %edi
526d06:	5b                   	pop    %ebx
526d07:	8b e5                	mov    %ebp,%esp
526d09:	5d                   	pop    %ebp
526d0a:	c3                   	ret
526d0b:	8b 75 14             	mov    0x14(%ebp),%esi
526d0e:	eb 03                	jmp    0x526d13
526d10:	8b 4d fc             	mov    -0x4(%ebp),%ecx
526d13:	8b 57 04             	mov    0x4(%edi),%edx
526d16:	8b c2                	mov    %edx,%eax
526d18:	25 01 00 00 20       	and    $0x20000001,%eax
526d1d:	3d 00 00 00 20       	cmp    $0x20000000,%eax
526d22:	75 13                	jne    0x526d37
526d24:	ff 75 10             	push   0x10(%ebp)
526d27:	51                   	push   %ecx
526d28:	e8 73 33 02 00       	call   0x54a0a0
526d2d:	83 c4 08             	add    $0x8,%esp
526d30:	5e                   	pop    %esi
526d31:	5f                   	pop    %edi
526d32:	5b                   	pop    %ebx
526d33:	8b e5                	mov    %ebp,%esp
526d35:	5d                   	pop    %ebp
526d36:	c3                   	ret
526d37:	81 e2 01 00 00 10    	and    $0x10000001,%edx
526d3d:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
526d43:	74 5a                	je     0x526d9f
526d45:	8d 45 f8             	lea    -0x8(%ebp),%eax
526d48:	50                   	push   %eax
526d49:	57                   	push   %edi
526d4a:	53                   	push   %ebx
526d4b:	e8 80 f4 ff ff       	call   0x5261d0
526d50:	33 c9                	xor    %ecx,%ecx
526d52:	85 f6                	test   %esi,%esi
526d54:	0f 95 c1             	setne  %cl
526d57:	51                   	push   %ecx
526d58:	ff 75 10             	push   0x10(%ebp)
526d5b:	50                   	push   %eax
526d5c:	6a 14                	push   $0x14
526d5e:	ff 75 fc             	push   -0x4(%ebp)
526d61:	e8 da ad 01 00       	call   0x541b40
526d66:	83 c4 20             	add    $0x20,%esp
526d69:	8b 4d f8             	mov    -0x8(%ebp),%ecx
526d6c:	85 c9                	test   %ecx,%ecx
526d6e:	74 14                	je     0x526d84
526d70:	8a 43 13             	mov    0x13(%ebx),%al
526d73:	3c 08                	cmp    $0x8,%al
526d75:	73 0d                	jae    0x526d84
526d77:	0f b6 c0             	movzbl %al,%eax
526d7a:	89 8c 83 94 00 00 00 	mov    %ecx,0x94(%ebx,%eax,4)
526d81:	fe 43 13             	incb   0x13(%ebx)
526d84:	8b 4d f0             	mov    -0x10(%ebp),%ecx
526d87:	85 c9                	test   %ecx,%ecx
526d89:	74 14                	je     0x526d9f
526d8b:	8a 43 13             	mov    0x13(%ebx),%al
526d8e:	3c 08                	cmp    $0x8,%al
526d90:	73 0d                	jae    0x526d9f
526d92:	0f b6 c0             	movzbl %al,%eax
526d95:	89 8c 83 94 00 00 00 	mov    %ecx,0x94(%ebx,%eax,4)
526d9c:	fe 43 13             	incb   0x13(%ebx)
526d9f:	5e                   	pop    %esi
526da0:	5f                   	pop    %edi
526da1:	5b                   	pop    %ebx
526da2:	8b e5                	mov    %ebp,%esp
526da4:	5d                   	pop    %ebp
526da5:	c3                   	ret
526da6:	66 90                	xchg   %ax,%ax
526da8:	a4                   	movsb  %ds:(%esi),%es:(%edi)
526da9:	6b 52 00 0f          	imul   $0xf,0x0(%edx),%edx
526dad:	6b 52 00 1a          	imul   $0x1a,0x0(%edx),%edx
526db1:	6c                   	insb   (%dx),%es:(%edi)
526db2:	52                   	push   %edx
526db3:	00 af 6c 52 00 cb    	add    %ch,-0x34ffad94(%edi)
526db9:	6c                   	insb   (%dx),%es:(%edi)
526dba:	52                   	push   %edx
526dbb:	00 8d 6c 52 00 30    	add    %cl,0x3000526c(%ebp)
526dc1:	6c                   	insb   (%dx),%es:(%edi)
526dc2:	52                   	push   %edx
526dc3:	00 bd 6b 52 00 0b    	add    %bh,0xb00526b(%ebp)
526dc9:	6d                   	insl   (%dx),%es:(%edi)
526dca:	52                   	push   %edx