5369e7:	03 d5                	add    %ebp,%edx
5369e9:	c1 fa 03             	sar    $0x3,%edx
5369ec:	8b c2                	mov    %edx,%eax
5369ee:	c1 e8 1f             	shr    $0x1f,%eax
5369f1:	03 c2                	add    %edx,%eax
5369f3:	8b c8                	mov    %eax,%ecx
5369f5:	c1 e1 04             	shl    $0x4,%ecx
5369f8:	2b c8                	sub    %eax,%ecx
5369fa:	8b c5                	mov    %ebp,%eax
5369fc:	2b c1                	sub    %ecx,%eax
5369fe:	75 30                	jne    0x536a30
536a00:	68 cc 26 60 00       	push   $0x6026cc
536a05:	56                   	push   %esi
536a06:	e8 c5 28 fc ff       	call   0x4f92d0
536a0b:	83 c4 08             	add    $0x8,%esp
536a0e:	85 c0                	test   %eax,%eax
536a10:	0f 8e bb 00 00 00    	jle    0x536ad1
536a16:	68 80 00 00 00       	push   $0x80
536a1b:	8d 43 04             	lea    0x4(%ebx),%eax
536a1e:	50                   	push   %eax
536a1f:	56                   	push   %esi
536a20:	e8 1b 25 fc ff       	call   0x4f8f40
536a25:	83 c4 0c             	add    $0xc,%esp
536a28:	85 c0                	test   %eax,%eax
536a2a:	0f 84 a1 00 00 00    	je     0x536ad1
536a30:	8d 4d 01             	lea    0x1(%ebp),%ecx
536a33:	b8 64 25 60 00       	mov    $0x602564,%eax
536a38:	3b 4f 30             	cmp    0x30(%edi),%ecx
536a3b:	89 4c 24 20          	mov    %ecx,0x20(%esp)
536a3f:	b9 5c c0 60 00       	mov    $0x60c05c,%ecx
536a44:	0f 45 c1             	cmovne %ecx,%eax
536a47:	50                   	push   %eax
536a48:	8b 47 2c             	mov    0x2c(%edi),%eax
536a4b:	0f b6 04 28          	movzbl (%eax,%ebp,1),%eax
536a4f:	50                   	push   %eax
536a50:	68 a4 10 64 00       	push   $0x6410a4
536a55:	56                   	push   %esi
536a56:	e8 e5 ba fa ff       	call   0x4e2540
536a5b:	83 c4 10             	add    $0x10,%esp
536a5e:	85 c0                	test   %eax,%eax
536a60:	7e 6f                	jle    0x536ad1
536a62:	8b 6c 24 20          	mov    0x20(%esp),%ebp
536a66:	3b 6f 30             	cmp    0x30(%edi),%ebp
536a69:	0f 8c 71 ff ff ff    	jl     0x5369e0
536a6f:	6a 01                	push   $0x1
536a71:	68 cc 26 60 00       	push   $0x6026cc
536a76:	56                   	push   %esi
536a77:	e8 44 2a fc ff       	call   0x4f94c0
536a7c:	83 c4 0c             	add    $0xc,%esp
536a7f:	85 c0                	test   %eax,%eax
536a81:	7e 6a                	jle    0x536aed
536a83:	8b 47 34             	mov    0x34(%edi),%eax
536a86:	85 c0                	test   %eax,%eax
536a88:	74 16                	je     0x536aa0
536a8a:	53                   	push   %ebx
536a8b:	6a 00                	push   $0x0
536a8d:	50                   	push   %eax
536a8e:	68 00 9a 64 00       	push   $0x649a00
536a93:	56                   	push   %esi
536a94:	e8 87 99 fe ff       	call   0x520420
536a99:	83 c4 14             	add    $0x14,%esp
536a9c:	85 c0                	test   %eax,%eax
536a9e:	74 31                	je     0x536ad1
536aa0:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
536aa4:	74 21                	je     0x536ac7
536aa6:	68 80 00 00 00       	push   $0x80
536aab:	53                   	push   %ebx
536aac:	56                   	push   %esi
536aad:	e8 8e 24 fc ff       	call   0x4f8f40
536ab2:	ff 77 10             	push   0x10(%edi)
536ab5:	68 0c 9a 64 00       	push   $0x649a0c
536aba:	56                   	push   %esi
536abb:	e8 80 ba fa ff       	call   0x4e2540
536ac0:	83 c4 18             	add    $0x18,%esp
536ac3:	85 c0                	test   %eax,%eax
536ac5:	7e 0a                	jle    0x536ad1
536ac7:	5f                   	pop    %edi
536ac8:	5e                   	pop    %esi
536ac9:	5d                   	pop    %ebp
536aca:	b8 01 00 00 00       	mov    $0x1,%eax
536acf:	5b                   	pop    %ebx
536ad0:	c3                   	ret
536ad1:	b8 07 00 00 00       	mov    $0x7,%eax
536ad6:	68 57 01 00 00       	push   $0x157
536adb:	68 4c 99 64 00       	push   $0x64994c
536ae0:	50                   	push   %eax
536ae1:	6a 64                	push   $0x64
536ae3:	6a 05                	push   $0x5
536ae5:	e8 96 24 fa ff       	call   0x4d8f80
536aea:	83 c4 14             	add    $0x14,%esp
536aed:	5f                   	pop    %edi
536aee:	5e                   	pop    %esi
536aef:	5d                   	pop    %ebp
536af0:	33 c0                	xor    %eax,%eax
536af2:	5b                   	pop    %ebx
536af3:	c3                   	ret
536af4:	cc                   	int3
536af5:	cc                   	int3
536af6:	cc                   	int3
536af7:	cc                   	int3
536af8:	cc                   	int3
536af9:	cc                   	int3
536afa:	cc                   	int3
536afb:	cc                   	int3
536afc:	cc                   	int3
536afd:	cc                   	int3
536afe:	cc                   	int3
536aff:	cc                   	int3
536b00:	57                   	push   %edi
536b01:	8b 7c 24 0c          	mov    0xc(%esp),%edi
536b05:	85 ff                	test   %edi,%edi
536b07:	75 19                	jne    0x536b22
536b09:	56                   	push   %esi
536b0a:	8b 74 24 0c          	mov    0xc(%esp),%esi
536b0e:	ff 36                	push   (%esi)
536b10:	e8 8b 2d fa ff       	call   0x4d98a0
536b15:	83 c4 04             	add    $0x4,%esp
536b18:	89 3e                	mov    %edi,(%esi)
536b1a:	b8 01 00 00 00       	mov    $0x1,%eax
536b1f:	5e                   	pop    %esi
536b20:	5f                   	pop    %edi
536b21:	c3                   	ret
536b22:	6a 02                	push   $0x2
536b24:	57                   	push   %edi
536b25:	e8 56 31 fa ff       	call   0x4d9c80
536b2a:	83 c4 08             	add    $0x8,%esp
536b2d:	85 c0                	test   %eax,%eax
536b2f:	74 0f                	je     0x536b40
536b31:	6a 01                	push   $0x1
536b33:	57                   	push   %edi
536b34:	e8 47 31 fa ff       	call   0x4d9c80
536b39:	83 c4 08             	add    $0x8,%esp
536b3c:	85 c0                	test   %eax,%eax
536b3e:	74 c9                	je     0x536b09
536b40:	57                   	push   %edi
536b41:	e8 0a 30 fa ff       	call   0x4d9b50
536b46:	8b f8                	mov    %eax,%edi
536b48:	83 c4 04             	add    $0x4,%esp
536b4b:	85 ff                	test   %edi,%edi
536b4d:	75 ba                	jne    0x536b09
536b4f:	5f                   	pop    %edi
536b50:	c3                   	ret
536b51:	cc                   	int3
536b52:	cc                   	int3
536b53:	cc                   	int3
536b54:	cc                   	int3
536b55:	cc                   	int3
536b56:	cc                   	int3
536b57:	cc                   	int3
536b58:	cc                   	int3
536b59:	cc                   	int3
536b5a:	cc                   	int3
536b5b:	cc                   	int3
536b5c:	cc                   	int3
536b5d:	cc                   	int3
536b5e:	cc                   	int3
536b5f:	cc                   	int3
536b60:	53                   	push   %ebx
536b61:	55                   	push   %ebp
536b62:	8b 6c 24 14          	mov    0x14(%esp),%ebp
536b66:	56                   	push   %esi
536b67:	57                   	push   %edi
536b68:	8b 7c 24 18          	mov    0x18(%esp),%edi
536b6c:	83 fd ff             	cmp    $0xffffffff,%ebp
536b6f:	75 0a                	jne    0x536b7b
536b71:	33 c0                	xor    %eax,%eax
536b73:	39 47 24             	cmp    %eax,0x24(%edi)
536b76:	0f 95 c0             	setne  %al
536b79:	8b e8                	mov    %eax,%ebp
536b7b:	8b 5f 08             	mov    0x8(%edi),%ebx
536b7e:	8b 74 24 14          	mov    0x14(%esp),%esi
536b82:	85 db                	test   %ebx,%ebx
536b84:	74 31                	je     0x536bb7
536b86:	6a 02                	push   $0x2
536b88:	53                   	push   %ebx
536b89:	e8 f2 30 fa ff       	call   0x4d9c80
536b8e:	83 c4 08             	add    $0x8,%esp
536b91:	85 c0                	test   %eax,%eax
536b93:	74 0f                	je     0x536ba4
536b95:	6a 01                	push   $0x1
536b97:	53                   	push   %ebx
536b98:	e8 e3 30 fa ff       	call   0x4d9c80
536b9d:	83 c4 08             	add    $0x8,%esp
536ba0:	85 c0                	test   %eax,%eax
536ba2:	74 13                	je     0x536bb7
536ba4:	53                   	push   %ebx
536ba5:	e8 a6 2f fa ff       	call   0x4d9b50
536baa:	8b d8                	mov    %eax,%ebx
536bac:	83 c4 04             	add    $0x4,%esp
536baf:	85 db                	test   %ebx,%ebx
536bb1:	0f 84 19 01 00 00    	je     0x536cd0
536bb7:	ff 76 08             	push   0x8(%esi)
536bba:	e8 e1 2c fa ff       	call   0x4d98a0
536bbf:	89 5e 08             	mov    %ebx,0x8(%esi)
536bc2:	83 c4 04             	add    $0x4,%esp
536bc5:	8b 5f 0c             	mov    0xc(%edi),%ebx
536bc8:	85 db                	test   %ebx,%ebx
536bca:	74 31                	je     0x536bfd
536bcc:	6a 02                	push   $0x2
536bce:	53                   	push   %ebx
536bcf:	e8 ac 30 fa ff       	call   0x4d9c80
536bd4:	83 c4 08             	add    $0x8,%esp
536bd7:	85 c0                	test   %eax,%eax
536bd9:	74 0f                	je     0x536bea
536bdb:	6a 01                	push   $0x1
536bdd:	53                   	push   %ebx
536bde:	e8 9d 30 fa ff       	call   0x4d9c80
536be3:	83 c4 08             	add    $0x8,%esp
536be6:	85 c0                	test   %eax,%eax
536be8:	74 13                	je     0x536bfd
536bea:	53                   	push   %ebx
536beb:	e8 60 2f fa ff       	call   0x4d9b50
536bf0:	8b d8                	mov    %eax,%ebx
536bf2:	83 c4 04             	add    $0x4,%esp
536bf5:	85 db                	test   %ebx,%ebx
536bf7:	0f 84 d3 00 00 00    	je     0x536cd0
536bfd:	ff 76 0c             	push   0xc(%esi)
536c00:	e8 9b 2c fa ff       	call   0x4d98a0
536c05:	83 c4 04             	add    $0x4,%esp
536c08:	89 5e 0c             	mov    %ebx,0xc(%esi)
536c0b:	85 ed                	test   %ebp,%ebp
536c0d:	0f 84 ad 00 00 00    	je     0x536cc0
536c13:	8b 5f 24             	mov    0x24(%edi),%ebx
536c16:	85 db                	test   %ebx,%ebx
536c18:	74 31                	je     0x536c4b
536c1a:	6a 02                	push   $0x2
536c1c:	53                   	push   %ebx
536c1d:	e8 5e 30 fa ff       	call   0x4d9c80
536c22:	83 c4 08             	add    $0x8,%esp
536c25:	85 c0                	test   %eax,%eax
536c27:	74 0f                	je     0x536c38
536c29:	6a 01                	push   $0x1
536c2b:	53                   	push   %ebx
536c2c:	e8 4f 30 fa ff       	call   0x4d9c80
536c31:	83 c4 08             	add    $0x8,%esp
536c34:	85 c0                	test   %eax,%eax
536c36:	74 13                	je     0x536c4b
536c38:	53                   	push   %ebx
536c39:	e8 12 2f fa ff       	call   0x4d9b50
536c3e:	8b d8                	mov    %eax,%ebx
536c40:	83 c4 04             	add    $0x4,%esp
536c43:	85 db                	test   %ebx,%ebx
536c45:	0f 84 85 00 00 00    	je     0x536cd0
536c4b:	ff 76 24             	push   0x24(%esi)
536c4e:	e8 4d 2c fa ff       	call   0x4d98a0
536c53:	89 5e 24             	mov    %ebx,0x24(%esi)
536c56:	8d 46 28             	lea    0x28(%esi),%eax
536c59:	ff 77 28             	push   0x28(%edi)
536c5c:	50                   	push   %eax
536c5d:	e8 9e fe ff ff       	call   0x536b00
536c62:	83 c4 0c             	add    $0xc,%esp
536c65:	85 c0                	test   %eax,%eax
536c67:	74 67                	je     0x536cd0
536c69:	68 97 01 00 00       	push   $0x197
536c6e:	68 4c 99 64 00       	push   $0x64994c
536c73:	ff 76 2c             	push   0x2c(%esi)
536c76:	e8 05 9b fa ff       	call   0x4e0780
536c7b:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
536c82:	83 c4 0c             	add    $0xc,%esp
536c85:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
536c8c:	8b 47 2c             	mov    0x2c(%edi),%eax
536c8f:	85 c0                	test   %eax,%eax
536c91:	74 33                	je     0x536cc6
536c93:	68 9b 01 00 00       	push   $0x19b
536c98:	68 4c 99 64 00       	push   $0x64994c
536c9d:	ff 77 30             	push   0x30(%edi)
536ca0:	50                   	push   %eax
536ca1:	e8 ca b3 fa ff       	call   0x4e2070
536ca6:	83 c4 10             	add    $0x10,%esp
536ca9:	89 46 2c             	mov    %eax,0x2c(%esi)
536cac:	85 c0                	test   %eax,%eax
536cae:	74 20                	je     0x536cd0
536cb0:	8b 47 30             	mov    0x30(%edi),%eax
536cb3:	5f                   	pop    %edi
536cb4:	89 46 30             	mov    %eax,0x30(%esi)
536cb7:	b8 01 00 00 00       	mov    $0x1,%eax
536cbc:	5e                   	pop    %esi
536cbd:	5d                   	pop    %ebp
536cbe:	5b                   	pop    %ebx
536cbf:	c3                   	ret
536cc0:	8b 47 10             	mov    0x10(%edi),%eax
536cc3:	89 46 10             	mov    %eax,0x10(%esi)
536cc6:	5f                   	pop    %edi
536cc7:	5e                   	pop    %esi
536cc8:	5d                   	pop    %ebp
536cc9:	b8 01 00 00 00       	mov    $0x1,%eax
536cce:	5b                   	pop    %ebx
536ccf:	c3                   	ret
536cd0:	5f                   	pop    %edi
536cd1:	5e                   	pop    %esi
536cd2:	5d                   	pop    %ebp
536cd3:	33 c0                	xor    %eax,%eax
536cd5:	5b                   	pop    %ebx
536cd6:	c3                   	ret
536cd7:	cc                   	int3
536cd8:	cc                   	int3
536cd9:	cc                   	int3
536cda:	cc                   	int3
536cdb:	cc                   	int3
536cdc:	cc                   	int3
536cdd:	cc                   	int3
536cde:	cc                   	int3
536cdf:	cc                   	int3
536ce0:	b8 18 00 00 00       	mov    $0x18,%eax
536ce5:	e8 c6 aa 09 00       	call   0x5d17b0
536cea:	56                   	push   %esi
536ceb:	57                   	push   %edi
536cec:	ff 74 24 28          	push   0x28(%esp)
536cf0:	8d 44 24 0c          	lea    0xc(%esp),%eax
536cf4:	33 f6                	xor    %esi,%esi
536cf6:	50                   	push   %eax
536cf7:	8d 44 24 20          	lea    0x20(%esp),%eax
536cfb:	33 ff                	xor    %edi,%edi
536cfd:	50                   	push   %eax
536cfe:	8d 44 24 28          	lea    0x28(%esp),%eax
536d02:	50                   	push   %eax
536d03:	56                   	push   %esi
536d04:	e8 c7 50 fa ff       	call   0x4dbdd0
536d09:	83 c4 14             	add    $0x14,%esp
536d0c:	85 c0                	test   %eax,%eax
536d0e:	0f 84 cc 00 00 00    	je     0x536de0
536d14:	ff 74 24 08          	push   0x8(%esp)
536d18:	8d 44 24 14          	lea    0x14(%esp),%eax
536d1c:	50                   	push   %eax
536d1d:	8d 44 24 14          	lea    0x14(%esp),%eax
536d21:	50                   	push   %eax
536d22:	56                   	push   %esi
536d23:	e8 a8 4d fb ff       	call   0x4ebad0
536d28:	8b 44 24 1c          	mov    0x1c(%esp),%eax
536d2c:	83 c4 10             	add    $0x10,%esp
536d2f:	83 f8 10             	cmp    $0x10,%eax
536d32:	75 29                	jne    0x536d5d
536d34:	8b 4c 24 10          	mov    0x10(%esp),%ecx
536d38:	8b 41 08             	mov    0x8(%ecx),%eax
536d3b:	89 44 24 14          	mov    %eax,0x14(%esp)
536d3f:	8d 44 24 14          	lea    0x14(%esp),%eax
536d43:	ff 31                	push   (%ecx)
536d45:	50                   	push   %eax
536d46:	56                   	push   %esi
536d47:	e8 24 63 fe ff       	call   0x51d070
536d4c:	8b f0                	mov    %eax,%esi
536d4e:	83 c4 0c             	add    $0xc,%esp
536d51:	85 f6                	test   %esi,%esi
536d53:	75 2f                	jne    0x536d84
536d55:	8d 47 68             	lea    0x68(%edi),%eax
536d58:	8d 4f 2a             	lea    0x2a(%edi),%ecx
536d5b:	eb 64                	jmp    0x536dc1
536d5d:	83 f8 05             	cmp    $0x5,%eax
536d60:	74 0f                	je     0x536d71
536d62:	83 f8 ff             	cmp    $0xffffffff,%eax