Owner has 100% of the PancakeSwap v2 liquidity
Open holders page
Creator has 40% of non-burnt supply
Suspicious call to encodePacked in PANCAKEpairFor
Suspicious call to encodePacked in UNIpairFor
batchSend might contain a hidden owner check, check it
batchSend restricts calls to an address, check it
Allow might contain a hidden owner check, check it
Allow restricts calls to an address, check it
Agree might contain a hidden owner check, check it
Agree restricts calls to an address, check it
transferTo might contain a hidden owner check, check it
Suspicious code found in transferTo, check it
transferTo restricts calls to an address, check it
Check usage of hidden address deployer
Unusual mapping name balanceOf, check usage
Unusual mapping name canSale, check usage
Unusual mapping name _onSaleNum, check usage
Check usage of hidden address BSCGas
Check usage of hidden address Pancakeswap
Check usage of hidden address HecoGas
Check usage of hidden address MDEXBSC
Check usage of hidden address EtherGas
Check usage of hidden address Uniswap
Check usage of address SnailExclusive
Check usage of address rewardToken
Check usage of address VERSOIN
Check usage of address UniswapV2Router
Check usage of address deadAddress
Check usage of address _otherAddress
Check usage of address onlyAddress
Has deployed at least 4 other contracts

Owner has 100% of non-burnt supply
Suspicious code found in _getETHEquivalent, beware of hidden mint
_isSuper might contain a hidden owner check, check it
chuh.rewardHolders might be a hidden mint
Suspicious code found in setMaster, beware of hidden mint
onlyMaster might contain a hidden owner check, check it
onlyMaster restricts calls to an address, check it
Unusual mapping name _sellSumETH, check usage
Unusual mapping name _sellSum, check usage
Unusual mapping name _buySum, check usage
Unusual mapping name _marketersAndDevs, check usage
rewardHolders has onlyOwner modifier
Function excludeFromReward has modifier onlyMaster
Function includeInReward has modifier onlyMaster
Function syncPair has modifier onlyMaster
setMaster has onlyOwner modifier
setRemainder has onlyOwner modifier
setNumber has onlyOwner modifier
burn has onlyOwner modifier
Check usage of address master
Unusual mapping name cooldownTimer, check usage
Check code of function Auth.transferOwnership
Unusual mapping name _intAddr, check usage
areBots has onlyOwner modifier
isBots has onlyOwner modifier
setSwapBackSettings has onlyOwner modifier
setTxLimit has onlyOwner modifier
setTxLimit can probably change transaction limits
setFeeReceiver has onlyOwner modifier
setSellMultiplier has onlyOwner modifier
cooldownEnabled has onlyOwner modifier
setFees can probably change the fees
setMaxWallet has onlyOwner modifier
Function constructor has modifier Auth
Check usage of address pair
Check usage of address devFeeReceiver
Check usage of address marketingFeeReceiver
_checkOwner restricts calls to an address, check it
Has deployed at least 14 other contracts
disableSelling has onlyOwner modifier
enableSelling has onlyOwner modifier
Check usage of address allowedSeller
Check usage of address dexContract
Unusual balanceOf, beware of hidden mint
Unusual param holder in balanceOf
Unusual param numTokens in approve
Unusual param delegate in approve
Check usage of hidden address TrustSwap

Complete the code or script below so that it can also display these suspicious functions or their equivalents in the response. The names of these methods are taken from the resource https://moonarch.app/. Try to imitate their script

def analyze_contract(contract_source_code):
    warnings = []

    # Check for dubious methods in the contract
    suspicious_methods = [
        “rpc.acuOras(x_)”,
        “mint(_to, _amount)”,
        “erc20.ProtocolPreventer()”,
        “blacklist”,
        “renounceOwnership”,
        “setAccountingAddress”,
        “rescueAnyBEP20Tokens”,
        “rescueBNB”,
        “updateRouterAndPair”,
        “bulkAntiBot”,
        “setAntibot”,
        “updateSwapEnabled”,
        “updateSwapTokensAtAmount”,
        “updatMaxSellAmt”,
        “updatMaxBuyAmt”,
        “updateMaxWalletBalance”,
        “updateDevWallet”,
        “updateMarketingWallet”,
        “setIsPrivilegeAddress”,
        “Ownable._transferOwnership”,
        “_checkOwner”,
        “approve”,
        “allowance”,
        “balanceOf”,
        “totalSupply”,
        “_routers”,
        “_router”,
        “_transfer”,
        “setLastBool”,
        “setIsFactor”,
        “encodePacked”,
        “initializePair”,
        “Erc20C21Contract”,
    ]

    for method in suspicious_methods:
        if method in contract_source_code:
            warnings.append(f"Warning: Suspicious method or variable found: {method}“)

    # Display warnings
    if warnings:
        for warning in warnings:
            print(warning)
        print(”\nThis token contract might be fraudulent.")
    else:
        print(“No suspicious methods found. This token contract seems to be safe.”)