```\nfunction createSender(bytes calldata initCode) external returns (address sender) {\n    address factory = address(bytes20(initCode[0 : 20]));\n    bytes memory initCallData = initCode[20 :];\n    bool success;\n    /* solhint-disable no-inline-assembly */\n    assembly {\n        success := call(gas(), factory, 0, add(initCallData, 0x20), mload(initCallData), 0, 32)\n        sender := mload(0)\n    }\n    if (!success) {\n        sender = address(0);\n    }\n}\n```\n