529917:	83 fb fb             	cmp    $0xfffffffb,%ebx
52991a:	75 0e                	jne    0x52992a
52991c:	c7 46 18 56 91 69 00 	movl   $0x699156,0x18(%esi)
529923:	bb fd ff ff ff       	mov    $0xfffffffd,%ebx
529928:	eb 11                	jmp    0x52993b
52992a:	83 fb fc             	cmp    $0xfffffffc,%ebx
52992d:	74 0c                	je     0x52993b
52992f:	c7 46 18 6f 91 69 00 	movl   $0x69916f,0x18(%esi)
529936:	bb fd ff ff ff       	mov    $0xfffffffd,%ebx
52993b:	8b 55 ec             	mov    -0x14(%ebp),%edx
52993e:	8b 46 28             	mov    0x28(%esi),%eax
529941:	ff 56 24             	call   *0x24(%esi)
529944:	8b c3                	mov    %ebx,%eax
529946:	eb 0b                	jmp    0x529953
529948:	8b 55 ec             	mov    -0x14(%ebp),%edx
52994b:	8b 46 28             	mov    0x28(%esi),%eax
52994e:	ff 56 24             	call   *0x24(%esi)
529951:	33 c0                	xor    %eax,%eax
529953:	5e                   	pop    %esi
529954:	5b                   	pop    %ebx
529955:	8b e5                	mov    %ebp,%esp
529957:	5d                   	pop    %ebp
529958:	c2 18 00             	ret    $0x18
52995b:	90                   	nop
52995c:	55                   	push   %ebp
52995d:	8b ec                	mov    %esp,%ebp
52995f:	53                   	push   %ebx
529960:	8b 1d 74 7f 69 00    	mov    0x697f74,%ebx
529966:	89 18                	mov    %ebx,(%eax)
529968:	a1 78 7f 69 00       	mov    0x697f78,%eax
52996d:	89 02                	mov    %eax,(%edx)
52996f:	c7 01 7c 7f 69 00    	movl   $0x697f7c,(%ecx)
529975:	8b 55 0c             	mov    0xc(%ebp),%edx
529978:	33 c0                	xor    %eax,%eax
52997a:	c7 02 7c 8f 69 00    	movl   $0x698f7c,(%edx)
529980:	5b                   	pop    %ebx
529981:	5d                   	pop    %ebp
529982:	c2 08 00             	ret    $0x8
529985:	8d 40 00             	lea    0x0(%eax),%eax
529988:	55                   	push   %ebp
529989:	8b ec                	mov    %esp,%ebp
52998b:	83 c4 f4             	add    $0xfffffff4,%esp
52998e:	53                   	push   %ebx
52998f:	56                   	push   %esi
529990:	89 4d f4             	mov    %ecx,-0xc(%ebp)
529993:	89 55 f8             	mov    %edx,-0x8(%ebp)
529996:	89 45 fc             	mov    %eax,-0x4(%ebp)
529999:	8b 75 08             	mov    0x8(%ebp),%esi
52999c:	b9 1c 00 00 00       	mov    $0x1c,%ecx
5299a1:	ba 01 00 00 00       	mov    $0x1,%edx
5299a6:	8b 46 28             	mov    0x28(%esi),%eax
5299a9:	ff 56 20             	call   *0x20(%esi)
5299ac:	8b d8                	mov    %eax,%ebx
5299ae:	85 c0                	test   %eax,%eax
5299b0:	74 1c                	je     0x5299ce
5299b2:	33 d2                	xor    %edx,%edx
5299b4:	89 13                	mov    %edx,(%ebx)
5299b6:	8a 4d fc             	mov    -0x4(%ebp),%cl
5299b9:	88 4b 10             	mov    %cl,0x10(%ebx)
5299bc:	8a 45 f8             	mov    -0x8(%ebp),%al
5299bf:	88 43 11             	mov    %al,0x11(%ebx)
5299c2:	8b 55 f4             	mov    -0xc(%ebp),%edx
5299c5:	89 53 14             	mov    %edx,0x14(%ebx)
5299c8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5299cb:	89 4b 18             	mov    %ecx,0x18(%ebx)
5299ce:	8b c3                	mov    %ebx,%eax
5299d0:	5e                   	pop    %esi
5299d1:	5b                   	pop    %ebx
5299d2:	8b e5                	mov    %ebp,%esp
5299d4:	5d                   	pop    %ebp
5299d5:	c2 08 00             	ret    $0x8
5299d8:	53                   	push   %ebx
5299d9:	56                   	push   %esi
5299da:	57                   	push   %edi
5299db:	55                   	push   %ebp
5299dc:	83 c4 dc             	add    $0xffffffdc,%esp
5299df:	8b d8                	mov    %eax,%ebx
5299e1:	8b f2                	mov    %edx,%esi
5299e3:	89 0c 24             	mov    %ecx,(%esp)
5299e6:	8b 43 04             	mov    0x4(%ebx),%eax
5299e9:	89 44 24 20          	mov    %eax,0x20(%esp)
5299ed:	8b 46 04             	mov    0x4(%esi),%eax
5299f0:	8b 3e                	mov    (%esi),%edi
5299f2:	89 44 24 14          	mov    %eax,0x14(%esp)
5299f6:	8b 53 20             	mov    0x20(%ebx),%edx
5299f9:	89 54 24 10          	mov    %edx,0x10(%esp)
5299fd:	8b 43 34             	mov    0x34(%ebx),%eax
529a00:	8b 6b 1c             	mov    0x1c(%ebx),%ebp
529a03:	3b 43 30             	cmp    0x30(%ebx),%eax
529a06:	73 08                	jae    0x529a10
529a08:	8b 53 30             	mov    0x30(%ebx),%edx
529a0b:	2b d0                	sub    %eax,%edx
529a0d:	4a                   	dec    %edx
529a0e:	eb 05                	jmp    0x529a15
529a10:	8b 53 2c             	mov    0x2c(%ebx),%edx
529a13:	2b d0                	sub    %eax,%edx
529a15:	89 54 24 18          	mov    %edx,0x18(%esp)
529a19:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529a1d:	8b 11                	mov    (%ecx),%edx
529a1f:	83 fa 09             	cmp    $0x9,%edx
529a22:	0f 87 13 08 00 00    	ja     0x52a23b
529a28:	ff 24 95 2f 9a 52 00 	jmp    *0x529a2f(,%edx,4)
529a2f:	57                   	push   %edi
529a30:	9a 52 00 2e 9b 52 00 	lcall  $0x52,$0x9b2e0052
529a37:	b7 9c                	mov    $0x9c,%bh
529a39:	52                   	push   %edx
529a3a:	00 6b 9d             	add    %ch,-0x63(%ebx)
529a3d:	52                   	push   %edx
529a3e:	00 ba 9e 52 00 51    	add    %bh,0x5100529e(%edx)
529a44:	9f                   	lahf
529a45:	52                   	push   %edx
529a46:	00 81 a0 52 00 63    	add    %al,0x630052a0(%ecx)
529a4c:	a1 52 00 d7 a1       	mov    0xa1d70052,%eax
529a51:	52                   	push   %edx
529a52:	00 09                	add    %cl,(%ecx)
529a54:	a2 52 00 81 7c       	mov    %al,0x7c810052
529a59:	24 18                	and    $0x18,%al
529a5b:	02 01                	add    (%ecx),%al
529a5d:	00 00                	add    %al,(%eax)
529a5f:	0f 82 a1 00 00 00    	jb     0x529b06
529a65:	83 7c 24 14 0a       	cmpl   $0xa,0x14(%esp)
529a6a:	0f 82 96 00 00 00    	jb     0x529b06
529a70:	8b 4c 24 10          	mov    0x10(%esp),%ecx
529a74:	89 4b 20             	mov    %ecx,0x20(%ebx)
529a77:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529a7a:	8b 54 24 14          	mov    0x14(%esp),%edx
529a7e:	8b cf                	mov    %edi,%ecx
529a80:	89 56 04             	mov    %edx,0x4(%esi)
529a83:	2b 0e                	sub    (%esi),%ecx
529a85:	01 4e 08             	add    %ecx,0x8(%esi)
529a88:	89 3e                	mov    %edi,(%esi)
529a8a:	89 43 34             	mov    %eax,0x34(%ebx)
529a8d:	8b 44 24 20          	mov    0x20(%esp),%eax
529a91:	8b 40 18             	mov    0x18(%eax),%eax
529a94:	50                   	push   %eax
529a95:	53                   	push   %ebx
529a96:	56                   	push   %esi
529a97:	8b 54 24 2c          	mov    0x2c(%esp),%edx
529a9b:	8b 44 24 2c          	mov    0x2c(%esp),%eax
529a9f:	8b 4a 14             	mov    0x14(%edx),%ecx
529aa2:	33 d2                	xor    %edx,%edx
529aa4:	8a 50 11             	mov    0x11(%eax),%dl
529aa7:	8b 44 24 2c          	mov    0x2c(%esp),%eax
529aab:	0f b6 40 10          	movzbl 0x10(%eax),%eax
529aaf:	e8 dc 08 00 00       	call   0x52a390
529ab4:	89 04 24             	mov    %eax,(%esp)
529ab7:	8b 3e                	mov    (%esi),%edi
529ab9:	8b 46 04             	mov    0x4(%esi),%eax
529abc:	89 44 24 14          	mov    %eax,0x14(%esp)
529ac0:	8b 53 20             	mov    0x20(%ebx),%edx
529ac3:	89 54 24 10          	mov    %edx,0x10(%esp)
529ac7:	8b 6b 1c             	mov    0x1c(%ebx),%ebp
529aca:	8b 43 34             	mov    0x34(%ebx),%eax
529acd:	3b 43 30             	cmp    0x30(%ebx),%eax
529ad0:	73 08                	jae    0x529ada
529ad2:	8b 53 30             	mov    0x30(%ebx),%edx
529ad5:	2b d0                	sub    %eax,%edx
529ad7:	4a                   	dec    %edx
529ad8:	eb 05                	jmp    0x529adf
529ada:	8b 53 2c             	mov    0x2c(%ebx),%edx
529add:	2b d0                	sub    %eax,%edx
529adf:	89 54 24 18          	mov    %edx,0x18(%esp)
529ae3:	83 3c 24 00          	cmpl   $0x0,(%esp)
529ae7:	74 1d                	je     0x529b06
529ae9:	83 3c 24 01          	cmpl   $0x1,(%esp)
529aed:	75 07                	jne    0x529af6
529aef:	b9 07 00 00 00       	mov    $0x7,%ecx
529af4:	eb 05                	jmp    0x529afb
529af6:	b9 09 00 00 00       	mov    $0x9,%ecx
529afb:	8b 54 24 20          	mov    0x20(%esp),%edx
529aff:	89 0a                	mov    %ecx,(%edx)
529b01:	e9 13 ff ff ff       	jmp    0x529a19
529b06:	8b 54 24 20          	mov    0x20(%esp),%edx
529b0a:	33 c9                	xor    %ecx,%ecx
529b0c:	8a 4a 10             	mov    0x10(%edx),%cl
529b0f:	8b 54 24 20          	mov    0x20(%esp),%edx
529b13:	89 4a 0c             	mov    %ecx,0xc(%edx)
529b16:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b1a:	8b 51 14             	mov    0x14(%ecx),%edx
529b1d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b21:	89 51 08             	mov    %edx,0x8(%ecx)
529b24:	8b 54 24 20          	mov    0x20(%esp),%edx
529b28:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
529b2e:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b32:	8b 51 0c             	mov    0xc(%ecx),%edx
529b35:	89 54 24 04          	mov    %edx,0x4(%esp)
529b39:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529b3d:	73 5a                	jae    0x529b99
529b3f:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
529b44:	74 07                	je     0x529b4d
529b46:	33 c9                	xor    %ecx,%ecx
529b48:	89 0c 24             	mov    %ecx,(%esp)
529b4b:	eb 2e                	jmp    0x529b7b
529b4d:	8b 54 24 10          	mov    0x10(%esp),%edx
529b51:	89 53 20             	mov    %edx,0x20(%ebx)
529b54:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529b57:	8b 4c 24 14          	mov    0x14(%esp),%ecx
529b5b:	89 4e 04             	mov    %ecx,0x4(%esi)
529b5e:	8b d7                	mov    %edi,%edx
529b60:	2b 16                	sub    (%esi),%edx
529b62:	01 56 08             	add    %edx,0x8(%esi)
529b65:	89 3e                	mov    %edi,(%esi)
529b67:	89 43 34             	mov    %eax,0x34(%ebx)
529b6a:	8b 0c 24             	mov    (%esp),%ecx
529b6d:	8b d6                	mov    %esi,%edx
529b6f:	8b c3                	mov    %ebx,%eax
529b71:	e8 0a 07 00 00       	call   0x52a280
529b76:	e9 f0 06 00 00       	jmp    0x52a26b
529b7b:	ff 4c 24 14          	decl   0x14(%esp)
529b7f:	8b cd                	mov    %ebp,%ecx
529b81:	8a 17                	mov    (%edi),%dl
529b83:	47                   	inc    %edi
529b84:	81 e2 ff 00 00 00    	and    $0xff,%edx
529b8a:	83 c5 08             	add    $0x8,%ebp
529b8d:	d3 e2                	shl    %cl,%edx
529b8f:	09 54 24 10          	or     %edx,0x10(%esp)
529b93:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529b97:	72 a6                	jb     0x529b3f
529b99:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529b9d:	8b 51 08             	mov    0x8(%ecx),%edx
529ba0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529ba4:	8b 0c 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%ecx
529bab:	23 4c 24 10          	and    0x10(%esp),%ecx
529baf:	c1 e1 03             	shl    $0x3,%ecx
529bb2:	03 d1                	add    %ecx,%edx
529bb4:	89 54 24 08          	mov    %edx,0x8(%esp)
529bb8:	8b 54 24 08          	mov    0x8(%esp),%edx
529bbc:	8a 52 01             	mov    0x1(%edx),%dl
529bbf:	8b ca                	mov    %edx,%ecx
529bc1:	81 e2 ff 00 00 00    	and    $0xff,%edx
529bc7:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
529bcb:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529bcf:	2b ea                	sub    %edx,%ebp
529bd1:	33 d2                	xor    %edx,%edx
529bd3:	8a 11                	mov    (%ecx),%dl
529bd5:	89 54 24 0c          	mov    %edx,0xc(%esp)
529bd9:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
529bde:	75 1d                	jne    0x529bfd
529be0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529be4:	8b 51 04             	mov    0x4(%ecx),%edx
529be7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529beb:	89 51 08             	mov    %edx,0x8(%ecx)
529bee:	8b 54 24 20          	mov    0x20(%esp),%edx
529bf2:	c7 02 06 00 00 00    	movl   $0x6,(%edx)
529bf8:	e9 1c fe ff ff       	jmp    0x529a19
529bfd:	f6 44 24 0c 10       	testb  $0x10,0xc(%esp)
529c02:	74 2b                	je     0x529c2f
529c04:	8b 54 24 20          	mov    0x20(%esp),%edx
529c08:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
529c0c:	83 e1 0f             	and    $0xf,%ecx
529c0f:	89 4a 08             	mov    %ecx,0x8(%edx)
529c12:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529c16:	8b 51 04             	mov    0x4(%ecx),%edx
529c19:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c1d:	89 51 04             	mov    %edx,0x4(%ecx)
529c20:	8b 54 24 20          	mov    0x20(%esp),%edx
529c24:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
529c2a:	e9 ea fd ff ff       	jmp    0x529a19
529c2f:	f6 44 24 0c 40       	testb  $0x40,0xc(%esp)
529c34:	75 25                	jne    0x529c5b
529c36:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c3a:	8b 54 24 0c          	mov    0xc(%esp),%edx
529c3e:	89 51 0c             	mov    %edx,0xc(%ecx)
529c41:	8b 4c 24 08          	mov    0x8(%esp),%ecx
529c45:	8b 51 04             	mov    0x4(%ecx),%edx
529c48:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c4c:	c1 e2 03             	shl    $0x3,%edx
529c4f:	03 54 24 08          	add    0x8(%esp),%edx
529c53:	89 51 08             	mov    %edx,0x8(%ecx)
529c56:	e9 be fd ff ff       	jmp    0x529a19
529c5b:	f6 44 24 0c 20       	testb  $0x20,0xc(%esp)
529c60:	74 0f                	je     0x529c71
529c62:	8b 54 24 20          	mov    0x20(%esp),%edx
529c66:	c7 02 07 00 00 00    	movl   $0x7,(%edx)
529c6c:	e9 a8 fd ff ff       	jmp    0x529a19
529c71:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529c75:	c7 01 09 00 00 00    	movl   $0x9,(%ecx)
529c7b:	c7 46 18 90 91 69 00 	movl   $0x699190,0x18(%esi)
529c82:	c7 04 24 fd ff ff ff 	movl   $0xfffffffd,(%esp)
529c89:	8b 54 24 10          	mov    0x10(%esp),%edx
529c8d:	89 53 20             	mov    %edx,0x20(%ebx)
529c90:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529c93:	8b 4c 24 14          	mov    0x14(%esp),%ecx
529c97:	89 4e 04             	mov    %ecx,0x4(%esi)
529c9a:	8b d7                	mov    %edi,%edx
529c9c:	2b 16                	sub    (%esi),%edx
529c9e:	01 56 08             	add    %edx,0x8(%esi)
529ca1:	89 3e                	mov    %edi,(%esi)
529ca3:	89 43 34             	mov    %eax,0x34(%ebx)
529ca6:	8b 0c 24             	mov    (%esp),%ecx
529ca9:	8b d6                	mov    %esi,%edx
529cab:	8b c3                	mov    %ebx,%eax
529cad:	e8 ce 05 00 00       	call   0x52a280
529cb2:	e9 b4 05 00 00       	jmp    0x52a26b
529cb7:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529cbb:	8b 51 08             	mov    0x8(%ecx),%edx
529cbe:	89 54 24 04          	mov    %edx,0x4(%esp)
529cc2:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529cc6:	73 5a                	jae    0x529d22
529cc8:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
529ccd:	74 07                	je     0x529cd6
529ccf:	33 c9                	xor    %ecx,%ecx
529cd1:	89 0c 24             	mov    %ecx,(%esp)
529cd4:	eb 2e                	jmp    0x529d04
529cd6:	8b 54 24 10          	mov    0x10(%esp),%edx
529cda:	89 53 20             	mov    %edx,0x20(%ebx)
529cdd:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
529ce0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
529ce4:	89 4e 04             	mov    %ecx,0x4(%esi)
529ce7:	8b d7                	mov    %edi,%edx
529ce9:	2b 16                	sub    (%esi),%edx
529ceb:	01 56 08             	add    %edx,0x8(%esi)
529cee:	89 3e                	mov    %edi,(%esi)
529cf0:	89 43 34             	mov    %eax,0x34(%ebx)
529cf3:	8b 0c 24             	mov    (%esp),%ecx
529cf6:	8b d6                	mov    %esi,%edx
529cf8:	8b c3                	mov    %ebx,%eax
529cfa:	e8 81 05 00 00       	call   0x52a280
529cff:	e9 67 05 00 00       	jmp    0x52a26b
529d04:	ff 4c 24 14          	decl   0x14(%esp)
529d08:	8b cd                	mov    %ebp,%ecx
529d0a:	8a 17                	mov    (%edi),%dl
529d0c:	47                   	inc    %edi
529d0d:	81 e2 ff 00 00 00    	and    $0xff,%edx
529d13:	83 c5 08             	add    $0x8,%ebp
529d16:	d3 e2                	shl    %cl,%edx
529d18:	09 54 24 10          	or     %edx,0x10(%esp)
529d1c:	3b 6c 24 04          	cmp    0x4(%esp),%ebp
529d20:	72 a6                	jb     0x529cc8
529d22:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529d26:	8b 14 8d c4 91 69 00 	mov    0x6991c4(,%ecx,4),%edx
529d2d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529d31:	23 54 24 10          	and    0x10(%esp),%edx
529d35:	01 51 04             	add    %edx,0x4(%ecx)
529d38:	8b 4c 24 04          	mov    0x4(%esp),%ecx
529d3c:	d3 6c 24 10          	shrl   %cl,0x10(%esp)
529d40:	8b 54 24 20          	mov    0x20(%esp),%edx
529d44:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529d48:	2b 6c 24 04          	sub    0x4(%esp),%ebp
529d4c:	0f b6 52 11          	movzbl 0x11(%edx),%edx
529d50:	89 51 0c             	mov    %edx,0xc(%ecx)
529d53:	8b 54 24 20          	mov    0x20(%esp),%edx
529d57:	8b 4a 18             	mov    0x18(%edx),%ecx
529d5a:	8b 54 24 20          	mov    0x20(%esp),%edx
529d5e:	89 4a 08             	mov    %ecx,0x8(%edx)
529d61:	8b 4c 24 20          	mov    0x20(%esp),%ecx
529d65:	c7 01 03 00 00 00    	movl   $0x3,(%ecx)
529d6b:	8b 54 24 20          	mov    0x20(%esp),%edx
529d6f:	8b 4a 0c             	mov    0xc(%edx),%ecx
529d72:	89 4c 24 04          	mov    %ecx,0x4(%esp)