TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019be3d6-8438-730d-a3a4-1965ea9f0772

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41016 artifact.fetch complete 1 / 3 2 months ago
41017 proxy.resolve complete 1 / 3 2 months ago
41018 tool.cast_disasm complete 1 / 3 2 months ago
41019 analysis.bundle complete 1 / 3 2 months ago
41020 capability.graph complete 1 / 3 2 months ago
41021 detector.run complete 1 / 3 2 months ago
41022 validation.fork complete 1 / 3 2 months ago
41405 report.consolidate complete 1 / 6 2 months ago
41406 tool.slither complete 1 / 2 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
0
Solc
0.5.0 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-e19zx41d)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-e19zx41d)

ERC20Detailed.constructor(string,string,uint8).name (contracts/Contract.sol#481) shadows:
	- ERC20Detailed.name() (contracts/Contract.sol#489-493) (function)
ERC20Detailed.constructor(string,string,uint8).symbol (contracts/Contract.sol#481) shadows:
	- ERC20Detailed.symbol() (contracts/Contract.sol#495-498) (function)
ERC20Detailed.constructor(string,string,uint8).decimals (contracts/Contract.sol#481) shadows:
	- ERC20Detailed.decimals() (contracts/Contract.sol#520-521) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing

Context._msgData() (contracts/Contract.sol#20-25) is never used and should be removed
ERC20._burn(address,uint256) (contracts/Contract.sol#429-441) is never used and should be removed
ERC20._burnFrom(address,uint256) (contracts/Contract.sol#465-469) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code

Version constraint ^0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- DirtyBytesArrayToStorage
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- ImplicitConstructorCallvalueCheck
	- TupleAssignmentMultiStackSlotComponents
	- MemoryArrayCreationOverflow
	- privateCanBeOverridden
	- SignedArrayStorageCopy
	- ABIEncoderV2StorageArrayWithMultiSlotElement
	- DynamicConstructorArgumentsClippedABIV2
	- UninitializedFunctionPointerInConstructor
	- IncorrectEventSignatureInLibraries
	- ABIEncoderV2PackedStorage.
It is used by:
	- ^0.5.0 (contracts/Contract.sol#1)
solc-0.5.0 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Redundant expression "this (contracts/Contract.sol#23)" inContext (contracts/Contract.sol#11-25)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements

DIAToken.constructor() (contracts/Contract.sol#594-597) uses literals with too many digits:
	- _mint(_msgSender(),200000000 * (10 ** uint256(decimals()))) (contracts/Contract.sol#595-597)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits
. analyzed (7 contracts with 100 detectors), 10 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.5.0",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.5.0",
        "install_stderr": null,
        "install_stdout": "Version '0.5.0' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-e19zx41d --allow-paths /tmp/slither-e19zx41d,/tmp/slither-e19zx41d/lib,/tmp/slither-e19zx41d/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 10,
    "workspace_hash": "1136529e01ce42bb696f4ebc4190817a847afc7d1a0793c3cfeb3b2db4105c90",
    "duration_seconds": 0.5775890350341797,
    "solc_version_requested": "0.5.11"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.
View stdout
{"no_findings":true,"summary":"Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-7lyq9t9t
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be475-1f94-7203-b8e3-0b4c95ee5b88
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Deciding to read audit bundle directly**
exec
/bin/bash -lc ls in /tmp/codex-7lyq9t9t succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-7lyq9t9t succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.5.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying

thinking
```json
{
  "no_findings": true,
  "summary": "Reviewed Contract.sol; no exploitable vulnerabilities found in first-party code.",
  "findings": []
}
```
codex
{"no_findings":true,"summary":"Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.","findings":[]}
tokens used
10,046
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T06:47:29.995632+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.",
    "raw_final": {
        "summary": "Reviewed first-party Solidity in `contracts/Contract.sol`; no exploitable vulnerabilities found within the specified focus areas.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
0
EXT*/BALANCE
0
Total opcodes
2744
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x010b
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x70a08231
00000026: GT
00000027: PUSH2 0x00a2
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0x95d89b41
00000031: GT
00000032: PUSH2 0x0071
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0x95d89b41
0000003c: EQ
0000003d: PUSH2 0x046f
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xa457c2d7
00000047: EQ
00000048: PUSH2 0x04f2
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xa9059cbb
00000052: EQ
00000053: PUSH2 0x0558
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xdd62ed3e
0000005d: EQ
0000005e: PUSH2 0x05be
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf2fde38b
00000068: EQ
00000069: PUSH2 0x0636
0000006c: JUMPI
0000006d: PUSH2 0x010b
00000070: JUMP
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0x70a08231
00000078: EQ
00000079: PUSH2 0x03a1
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0x715018a6
00000083: EQ
00000084: PUSH2 0x03f9
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x8da5cb5b
0000008e: EQ
0000008f: PUSH2 0x0403
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0x8f32d59b
00000099: EQ
0000009a: PUSH2 0x044d
0000009d: JUMPI
0000009e: PUSH2 0x010b
000000a1: JUMP
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0x2c297aa1
000000a9: GT
000000aa: PUSH2 0x00de
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x2c297aa1
000000b4: EQ
000000b5: PUSH2 0x029d
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x313ce567
000000bf: EQ
000000c0: PUSH2 0x02df
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x39509351
000000ca: EQ
000000cb: PUSH2 0x0303
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x3ea26a45
000000d5: EQ
000000d6: PUSH2 0x0369
000000d9: JUMPI
000000da: PUSH2 0x010b
000000dd: JUMP
000000de: JUMPDEST
000000df: DUP1
000000e0: PUSH4 0x06fdde03
000000e5: EQ
000000e6: PUSH2 0x0110
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x095ea7b3
000000f0: EQ
000000f1: PUSH2 0x0193
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x18160ddd
000000fb: EQ
000000fc: PUSH2 0x01f9
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x23b872dd
00000106: EQ
00000107: PUSH2 0x0217
0000010a: JUMPI
0000010b: JUMPDEST
0000010c: PUSH1 0x00
0000010e: DUP1
0000010f: REVERT
00000110: JUMPDEST
00000111: PUSH2 0x0118
00000114: PUSH2 0x067a
00000117: JUMP
00000118: JUMPDEST
00000119: PUSH1 0x40
0000011b: MLOAD
0000011c: DUP1
0000011d: DUP1
0000011e: PUSH1 0x20
00000120: ADD
00000121: DUP3
00000122: DUP2
00000123: SUB
00000124: DUP3
00000125: MSTORE
00000126: DUP4
00000127: DUP2
00000128: DUP2
00000129: MLOAD
0000012a: DUP2
0000012b: MSTORE
0000012c: PUSH1 0x20
0000012e: ADD
0000012f: SWAP2
00000130: POP
00000131: DUP1
00000132: MLOAD
00000133: SWAP1
00000134: PUSH1 0x20
00000136: ADD
00000137: SWAP1
00000138: DUP1
00000139: DUP4
0000013a: DUP4
0000013b: PUSH1 0x00
0000013d: JUMPDEST
0000013e: DUP4
0000013f: DUP2
00000140: LT
00000141: ISZERO
00000142: PUSH2 0x0158
00000145: JUMPI
00000146: DUP1
00000147: DUP3
00000148: ADD
00000149: MLOAD
0000014a: DUP2
0000014b: DUP5
0000014c: ADD
0000014d: MSTORE
0000014e: PUSH1 0x20
00000150: DUP2
00000151: ADD
00000152: SWAP1
00000153: POP
00000154: PUSH2 0x013d
00000157: JUMP
00000158: JUMPDEST
00000159: POP
0000015a: POP
0000015b: POP
0000015c: POP
0000015d: SWAP1
0000015e: POP
0000015f: SWAP1
00000160: DUP2
00000161: ADD
00000162: SWAP1
00000163: PUSH1 0x1f
00000165: AND
00000166: DUP1
00000167: ISZERO
00000168: PUSH2 0x0185
0000016b: JUMPI
0000016c: DUP1
0000016d: DUP3
0000016e: SUB
0000016f: DUP1
00000170: MLOAD
00000171: PUSH1 0x01
00000173: DUP4
00000174: PUSH1 0x20
00000176: SUB
00000177: PUSH2 0x0100
0000017a: EXP
0000017b: SUB
0000017c: NOT
0000017d: AND
0000017e: DUP2
0000017f: MSTORE
00000180: PUSH1 0x20
00000182: ADD
00000183: SWAP2
00000184: POP
00000185: JUMPDEST
00000186: POP
00000187: SWAP3
00000188: POP
00000189: POP
0000018a: POP
0000018b: PUSH1 0x40
0000018d: MLOAD
0000018e: DUP1
0000018f: SWAP2
00000190: SUB
00000191: SWAP1
00000192: RETURN
00000193: JUMPDEST
00000194: PUSH2 0x01df
00000197: PUSH1 0x04
00000199: DUP1
0000019a: CALLDATASIZE
0000019b: SUB
0000019c: PUSH1 0x40
0000019e: DUP2
0000019f: LT
000001a0: ISZERO
000001a1: PUSH2 0x01a9
000001a4: JUMPI
000001a5: PUSH1 0x00
000001a7: DUP1
000001a8: REVERT
000001a9: JUMPDEST
000001aa: DUP2
000001ab: ADD
000001ac: SWAP1
000001ad: DUP1
000001ae: DUP1
000001af: CALLDATALOAD
000001b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001c5: AND
000001c6: SWAP1
000001c7: PUSH1 0x20
000001c9: ADD
000001ca: SWAP1
000001cb: SWAP3
000001cc: SWAP2
000001cd: SWAP1
000001ce: DUP1
000001cf: CALLDATALOAD
000001d0: SWAP1
000001d1: PUSH1 0x20
000001d3: ADD
000001d4: SWAP1
000001d5: SWAP3
000001d6: SWAP2
000001d7: SWAP1
000001d8: POP
000001d9: POP
000001da: POP
000001db: PUSH2 0x071c
000001de: JUMP
000001df: JUMPDEST
000001e0: PUSH1 0x40
000001e2: MLOAD
000001e3: DUP1
000001e4: DUP3
000001e5: ISZERO
000001e6: ISZERO
000001e7: ISZERO
000001e8: ISZERO
000001e9: DUP2
000001ea: MSTORE
000001eb: PUSH1 0x20
000001ed: ADD
000001ee: SWAP2
000001ef: POP
000001f0: POP
000001f1: PUSH1 0x40
000001f3: MLOAD
000001f4: DUP1
000001f5: SWAP2
000001f6: SUB
000001f7: SWAP1
000001f8: RETURN
000001f9: JUMPDEST
000001fa: PUSH2 0x0201
000001fd: PUSH2 0x073a
00000200: JUMP
00000201: JUMPDEST
00000202: PUSH1 0x40
00000204: MLOAD
00000205: DUP1
00000206: DUP3
00000207: DUP2
00000208: MSTORE
00000209: PUSH1 0x20
0000020b: ADD
0000020c: SWAP2
0000020d: POP
0000020e: POP
0000020f: PUSH1 0x40
00000211: MLOAD
00000212: DUP1
00000213: SWAP2
00000214: SUB
00000215: SWAP1
00000216: RETURN
00000217: JUMPDEST
00000218: PUSH2 0x0283
0000021b: PUSH1 0x04
0000021d: DUP1
0000021e: CALLDATASIZE
0000021f: SUB
00000220: PUSH1 0x60
00000222: DUP2
00000223: LT
00000224: ISZERO
00000225: PUSH2 0x022d
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: DUP2
0000022f: ADD
00000230: SWAP1
00000231: DUP1
00000232: DUP1
00000233: CALLDATALOAD
00000234: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000249: AND
0000024a: SWAP1
0000024b: PUSH1 0x20
0000024d: ADD
0000024e: SWAP1
0000024f: SWAP3
00000250: SWAP2
00000251: SWAP1
00000252: DUP1
00000253: CALLDATALOAD
00000254: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000269: AND
0000026a: SWAP1
0000026b: PUSH1 0x20
0000026d: ADD
0000026e: SWAP1
0000026f: SWAP3
00000270: SWAP2
00000271: SWAP1
00000272: DUP1
00000273: CALLDATALOAD
00000274: SWAP1
00000275: PUSH1 0x20
00000277: ADD
00000278: SWAP1
00000279: SWAP3
0000027a: SWAP2
0000027b: SWAP1
0000027c: POP
0000027d: POP
0000027e: POP
0000027f: PUSH2 0x0744
00000282: JUMP
00000283: JUMPDEST
00000284: PUSH1 0x40
00000286: MLOAD
00000287: DUP1
00000288: DUP3
00000289: ISZERO
0000028a: ISZERO
0000028b: ISZERO
0000028c: ISZERO
0000028d: DUP2
0000028e: MSTORE
0000028f: PUSH1 0x20
00000291: ADD
00000292: SWAP2
00000293: POP
00000294: POP
00000295: PUSH1 0x40
00000297: MLOAD
00000298: DUP1
00000299: SWAP2
0000029a: SUB
0000029b: SWAP1
0000029c: RETURN
0000029d: JUMPDEST
0000029e: PUSH2 0x02c9
000002a1: PUSH1 0x04
000002a3: DUP1
000002a4: CALLDATASIZE
000002a5: SUB
000002a6: PUSH1 0x20
000002a8: DUP2
000002a9: LT
000002aa: ISZERO
000002ab: PUSH2 0x02b3
000002ae: JUMPI
000002af: PUSH1 0x00
000002b1: DUP1
000002b2: REVERT
000002b3: JUMPDEST
000002b4: DUP2
000002b5: ADD
000002b6: SWAP1
000002b7: DUP1
000002b8: DUP1
000002b9: CALLDATALOAD
000002ba: SWAP1
000002bb: PUSH1 0x20
000002bd: ADD
000002be: SWAP1
000002bf: SWAP3
000002c0: SWAP2
000002c1: SWAP1
000002c2: POP
000002c3: POP
000002c4: POP
000002c5: PUSH2 0x081d
000002c8: JUMP
000002c9: JUMPDEST
000002ca: PUSH1 0x40
000002cc: MLOAD
000002cd: DUP1
000002ce: DUP3
000002cf: DUP2
000002d0: MSTORE
000002d1: PUSH1 0x20
000002d3: ADD
000002d4: SWAP2
000002d5: POP
000002d6: POP
000002d7: PUSH1 0x40
000002d9: MLOAD
000002da: DUP1
000002db: SWAP2
000002dc: SUB
000002dd: SWAP1
000002de: RETURN
000002df: JUMPDEST
000002e0: PUSH2 0x02e7
000002e3: PUSH2 0x0835
000002e6: JUMP
000002e7: JUMPDEST
000002e8: PUSH1 0x40
000002ea: MLOAD
000002eb: DUP1
000002ec: DUP3
000002ed: PUSH1 0xff
000002ef: AND
000002f0: PUSH1 0xff
000002f2: AND
000002f3: DUP2
000002f4: MSTORE
000002f5: PUSH1 0x20
000002f7: ADD
000002f8: SWAP2
000002f9: POP
000002fa: POP
000002fb: PUSH1 0x40
000002fd: MLOAD
000002fe: DUP1
000002ff: SWAP2
00000300: SUB
00000301: SWAP1
00000302: RETURN
00000303: JUMPDEST
00000304: PUSH2 0x034f
00000307: PUSH1 0x04
00000309: DUP1
0000030a: CALLDATASIZE
0000030b: SUB
0000030c: PUSH1 0x40
0000030e: DUP2
0000030f: LT
00000310: ISZERO
00000311: PUSH2 0x0319
00000314: JUMPI
00000315: PUSH1 0x00
00000317: DUP1
00000318: REVERT
00000319: JUMPDEST
0000031a: DUP2
0000031b: ADD
0000031c: SWAP1
0000031d: DUP1
0000031e: DUP1
0000031f: CALLDATALOAD
00000320: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000335: AND
00000336: SWAP1
00000337: PUSH1 0x20
00000339: ADD
0000033a: SWAP1
0000033b: SWAP3
0000033c: SWAP2
0000033d: SWAP1
0000033e: DUP1
0000033f: CALLDATALOAD
00000340: SWAP1
00000341: PUSH1 0x20
00000343: ADD
00000344: SWAP1
00000345: SWAP3
00000346: SWAP2
00000347: SWAP1
00000348: POP
00000349: POP
0000034a: POP
0000034b: PUSH2 0x084c
0000034e: JUMP
0000034f: JUMPDEST
00000350: PUSH1 0x40
00000352: MLOAD
00000353: DUP1
00000354: DUP3
00000355: ISZERO
00000356: ISZERO
00000357: ISZERO
00000358: ISZERO
00000359: DUP2
0000035a: MSTORE
0000035b: PUSH1 0x20
0000035d: ADD
0000035e: SWAP2
0000035f: POP
00000360: POP
00000361: PUSH1 0x40
00000363: MLOAD
00000364: DUP1
00000365: SWAP2
00000366: SUB
00000367: SWAP1
00000368: RETURN
00000369: JUMPDEST
0000036a: PUSH2 0x039f
0000036d: PUSH1 0x04
0000036f: DUP1
00000370: CALLDATASIZE
00000371: SUB
00000372: PUSH1 0x40
00000374: DUP2
00000375: LT
00000376: ISZERO
00000377: PUSH2 0x037f
0000037a: JUMPI
0000037b: PUSH1 0x00
0000037d: DUP1
0000037e: REVERT
0000037f: JUMPDEST
00000380: DUP2
00000381: ADD
00000382: SWAP1
00000383: DUP1
00000384: DUP1
00000385: CALLDATALOAD
00000386: SWAP1
00000387: PUSH1 0x20
00000389: ADD
0000038a: SWAP1
0000038b: SWAP3
0000038c: SWAP2
0000038d: SWAP1
0000038e: DUP1
0000038f: CALLDATALOAD
00000390: SWAP1
00000391: PUSH1 0x20
00000393: ADD
00000394: SWAP1
00000395: SWAP3
00000396: SWAP2
00000397: SWAP1
00000398: POP
00000399: POP
0000039a: POP
0000039b: PUSH2 0x08ff
0000039e: JUMP
0000039f: JUMPDEST
000003a0: STOP
000003a1: JUMPDEST
000003a2: PUSH2 0x03e3
000003a5: PUSH1 0x04
000003a7: DUP1
000003a8: CALLDATASIZE
000003a9: SUB
000003aa: PUSH1 0x20
000003ac: DUP2
000003ad: LT
000003ae: ISZERO
000003af: PUSH2 0x03b7
000003b2: JUMPI
000003b3: PUSH1 0x00
000003b5: DUP1
000003b6: REVERT
000003b7: JUMPDEST
000003b8: DUP2
000003b9: ADD
000003ba: SWAP1
000003bb: DUP1
000003bc: DUP1
000003bd: CALLDATALOAD
000003be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d3: AND
000003d4: SWAP1
000003d5: PUSH1 0x20
000003d7: ADD
000003d8: SWAP1
000003d9: SWAP3
000003da: SWAP2
000003db: SWAP1
000003dc: POP
000003dd: POP
000003de: POP
000003df: PUSH2 0x0995
000003e2: JUMP
000003e3: JUMPDEST
000003e4: PUSH1 0x40
000003e6: MLOAD
000003e7: DUP1
000003e8: DUP3
000003e9: DUP2
000003ea: MSTORE
000003eb: PUSH1 0x20
000003ed: ADD
000003ee: SWAP2
000003ef: POP
000003f0: POP
000003f1: PUSH1 0x40
000003f3: MLOAD
000003f4: DUP1
000003f5: SWAP2
000003f6: SUB
000003f7: SWAP1
000003f8: RETURN
000003f9: JUMPDEST
000003fa: PUSH2 0x0401
000003fd: PUSH2 0x09dd
00000400: JUMP
00000401: JUMPDEST
00000402: STOP
00000403: JUMPDEST
00000404: PUSH2 0x040b
00000407: PUSH2 0x0b18
0000040a: JUMP
0000040b: JUMPDEST
0000040c: PUSH1 0x40
0000040e: MLOAD
0000040f: DUP1
00000410: DUP3
00000411: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000426: AND
00000427: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000043c: AND
0000043d: DUP2
0000043e: MSTORE
0000043f: PUSH1 0x20
00000441: ADD
00000442: SWAP2
00000443: POP
00000444: POP
00000445: PUSH1 0x40
00000447: MLOAD
00000448: DUP1
00000449: SWAP2
0000044a: SUB
0000044b: SWAP1
0000044c: RETURN
0000044d: JUMPDEST
0000044e: PUSH2 0x0455
00000451: PUSH2 0x0b42
00000454: JUMP
00000455: JUMPDEST
00000456: PUSH1 0x40
00000458: MLOAD
00000459: DUP1
0000045a: DUP3
0000045b: ISZERO
0000045c: ISZERO
0000045d: ISZERO
0000045e: ISZERO
0000045f: DUP2
00000460: MSTORE
00000461: PUSH1 0x20
00000463: ADD
00000464: SWAP2
00000465: POP
00000466: POP
00000467: PUSH1 0x40
00000469: MLOAD
0000046a: DUP1
0000046b: SWAP2
0000046c: SUB
0000046d: SWAP1
0000046e: RETURN
0000046f: JUMPDEST
00000470: PUSH2 0x0477
00000473: PUSH2 0x0ba1
00000476: JUMP
00000477: JUMPDEST
00000478: PUSH1 0x40
0000047a: MLOAD
0000047b: DUP1
0000047c: DUP1
0000047d: PUSH1 0x20
0000047f: ADD
00000480: DUP3
00000481: DUP2
00000482: SUB
00000483: DUP3
00000484: MSTORE
00000485: DUP4
00000486: DUP2
00000487: DUP2
00000488: MLOAD
00000489: DUP2
0000048a: MSTORE
0000048b: PUSH1 0x20
0000048d: ADD
0000048e: SWAP2
0000048f: POP
00000490: DUP1
00000491: MLOAD
00000492: SWAP1
00000493: PUSH1 0x20
00000495: ADD
00000496: SWAP1
00000497: DUP1
00000498: DUP4
00000499: DUP4
0000049a: PUSH1 0x00
0000049c: JUMPDEST
0000049d: DUP4
0000049e: DUP2
0000049f: LT
000004a0: ISZERO
000004a1: PUSH2 0x04b7
000004a4: JUMPI
000004a5: DUP1
000004a6: DUP3
000004a7: ADD
000004a8: MLOAD
000004a9: DUP2
000004aa: DUP5
000004ab: ADD
000004ac: MSTORE
000004ad: PUSH1 0x20
000004af: DUP2
000004b0: ADD
000004b1: SWAP1
000004b2: POP
000004b3: PUSH2 0x049c
000004b6: JUMP
000004b7: JUMPDEST
000004b8: POP
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: SWAP1
000004bd: POP
000004be: SWAP1
000004bf: DUP2
000004c0: ADD
000004c1: SWAP1
000004c2: PUSH1 0x1f
000004c4: AND
000004c5: DUP1
000004c6: ISZERO
000004c7: PUSH2 0x04e4
000004ca: JUMPI
000004cb: DUP1
000004cc: DUP3
000004cd: SUB
000004ce: DUP1
000004cf: MLOAD
000004d0: PUSH1 0x01
000004d2: DUP4
000004d3: PUSH1 0x20
000004d5: SUB
000004d6: PUSH2 0x0100
000004d9: EXP
000004da: SUB
000004db: NOT
000004dc: AND
000004dd: DUP2
000004de: MSTORE
000004df: PUSH1 0x20
000004e1: ADD
000004e2: SWAP2
000004e3: POP
000004e4: JUMPDEST
000004e5: POP
000004e6: SWAP3
000004e7: POP
000004e8: POP
000004e9: POP
000004ea: PUSH1 0x40
000004ec: MLOAD
000004ed: DUP1
000004ee: SWAP2
000004ef: SUB
000004f0: SWAP1
000004f1: RETURN
000004f2: JUMPDEST
000004f3: PUSH2 0x053e
000004f6: PUSH1 0x04
000004f8: DUP1
000004f9: CALLDATASIZE
000004fa: SUB
000004fb: PUSH1 0x40
000004fd: DUP2
000004fe: LT
000004ff: ISZERO
00000500: PUSH2 0x0508
00000503: JUMPI
00000504: PUSH1 0x00
00000506: DUP1
00000507: REVERT
00000508: JUMPDEST
00000509: DUP2
0000050a: ADD
0000050b: SWAP1
0000050c: DUP1
0000050d: DUP1
0000050e: CALLDATALOAD
0000050f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000524: AND
00000525: SWAP1
00000526: PUSH1 0x20
00000528: ADD
00000529: SWAP1
0000052a: SWAP3
0000052b: SWAP2
0000052c: SWAP1
0000052d: DUP1
0000052e: CALLDATALOAD
0000052f: SWAP1
00000530: PUSH1 0x20
00000532: ADD
00000533: SWAP1
00000534: SWAP3
00000535: SWAP2
00000536: SWAP1
00000537: POP
00000538: POP
00000539: POP
0000053a: PUSH2 0x0c43
0000053d: JUMP
0000053e: JUMPDEST
0000053f: PUSH1 0x40
00000541: MLOAD
00000542: DUP1
00000543: DUP3
00000544: ISZERO
00000545: ISZERO
00000546: ISZERO
00000547: ISZERO
00000548: DUP2
00000549: MSTORE
0000054a: PUSH1 0x20
0000054c: ADD
0000054d: SWAP2
0000054e: POP
0000054f: POP
00000550: PUSH1 0x40
00000552: MLOAD
00000553: DUP1
00000554: SWAP2
00000555: SUB
00000556: SWAP1
00000557: RETURN
00000558: JUMPDEST
00000559: PUSH2 0x05a4
0000055c: PUSH1 0x04
0000055e: DUP1
0000055f: CALLDATASIZE
00000560: SUB
00000561: PUSH1 0x40
00000563: DUP2
00000564: LT
00000565: ISZERO
00000566: PUSH2 0x056e
00000569: JUMPI
0000056a: PUSH1 0x00
0000056c: DUP1
0000056d: REVERT
0000056e: JUMPDEST
0000056f: DUP2
00000570: ADD
00000571: SWAP1
00000572: DUP1
00000573: DUP1
00000574: CALLDATALOAD
00000575: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000058a: AND
0000058b: SWAP1
0000058c: PUSH1 0x20
0000058e: ADD
0000058f: SWAP1
00000590: SWAP3
00000591: SWAP2
00000592: SWAP1
00000593: DUP1
00000594: CALLDATALOAD
00000595: SWAP1
00000596: PUSH1 0x20
00000598: ADD
00000599: SWAP1
0000059a: SWAP3
0000059b: SWAP2
0000059c: SWAP1
0000059d: POP
0000059e: POP
0000059f: POP
000005a0: PUSH2 0x0d10
000005a3: JUMP
000005a4: JUMPDEST
000005a5: PUSH1 0x40
000005a7: MLOAD
000005a8: DUP1
000005a9: DUP3
000005aa: ISZERO
000005ab: ISZERO
000005ac: ISZERO
000005ad: ISZERO
000005ae: DUP2
000005af: MSTORE
000005b0: PUSH1 0x20
000005b2: ADD
000005b3: SWAP2
000005b4: POP
000005b5: POP
000005b6: PUSH1 0x40
000005b8: MLOAD
000005b9: DUP1
000005ba: SWAP2
000005bb: SUB
000005bc: SWAP1
000005bd: RETURN
000005be: JUMPDEST
000005bf: PUSH2 0x0620
000005c2: PUSH1 0x04
000005c4: DUP1
000005c5: CALLDATASIZE
000005c6: SUB
000005c7: PUSH1 0x40
000005c9: DUP2
000005ca: LT
000005cb: ISZERO
000005cc: PUSH2 0x05d4
000005cf: JUMPI
000005d0: PUSH1 0x00
000005d2: DUP1
000005d3: REVERT
000005d4: JUMPDEST
000005d5: DUP2
000005d6: ADD
000005d7: SWAP1
000005d8: DUP1
000005d9: DUP1
000005da: CALLDATALOAD
000005db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005f0: AND
000005f1: SWAP1
000005f2: PUSH1 0x20
000005f4: ADD
000005f5: SWAP1
000005f6: SWAP3
000005f7: SWAP2
000005f8: SWAP1
000005f9: DUP1
000005fa: CALLDATALOAD
000005fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000610: AND
00000611: SWAP1
00000612: PUSH1 0x20
00000614: ADD
00000615: SWAP1
00000616: SWAP3
00000617: SWAP2
00000618: SWAP1
00000619: POP
0000061a: POP
0000061b: POP
0000061c: PUSH2 0x0d2e
0000061f: JUMP
00000620: JUMPDEST
00000621: PUSH1 0x40
00000623: MLOAD
00000624: DUP1
00000625: DUP3
00000626: DUP2
00000627: MSTORE
00000628: PUSH1 0x20
0000062a: ADD
0000062b: SWAP2
0000062c: POP
0000062d: POP
0000062e: PUSH1 0x40
00000630: MLOAD
00000631: DUP1
00000632: SWAP2
00000633: SUB
00000634: SWAP1
00000635: RETURN
00000636: JUMPDEST
00000637: PUSH2 0x0678
0000063a: PUSH1 0x04
0000063c: DUP1
0000063d: CALLDATASIZE
0000063e: SUB
0000063f: PUSH1 0x20
00000641: DUP2
00000642: LT
00000643: ISZERO
00000644: PUSH2 0x064c
00000647: JUMPI
00000648: PUSH1 0x00
0000064a: DUP1
0000064b: REVERT
0000064c: JUMPDEST
0000064d: DUP2
0000064e: ADD
0000064f: SWAP1
00000650: DUP1
00000651: DUP1
00000652: CALLDATALOAD
00000653: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000668: AND
00000669: SWAP1
0000066a: PUSH1 0x20
0000066c: ADD
0000066d: SWAP1
0000066e: SWAP3
0000066f: SWAP2
00000670: SWAP1
00000671: POP
00000672: POP
00000673: POP
00000674: PUSH2 0x0db5
00000677: JUMP
00000678: JUMPDEST
00000679: STOP
0000067a: JUMPDEST
0000067b: PUSH1 0x60
0000067d: PUSH1 0x03
0000067f: DUP1
00000680: SLOAD
00000681: PUSH1 0x01
00000683: DUP2
00000684: PUSH1 0x01
00000686: AND
00000687: ISZERO
00000688: PUSH2 0x0100
0000068b: MUL
0000068c: SUB
0000068d: AND
0000068e: PUSH1 0x02
00000690: SWAP1
00000691: DIV
00000692: DUP1
00000693: PUSH1 0x1f
00000695: ADD
00000696: PUSH1 0x20
00000698: DUP1
00000699: SWAP2
0000069a: DIV
0000069b: MUL
0000069c: PUSH1 0x20
0000069e: ADD
0000069f: PUSH1 0x40
000006a1: MLOAD
000006a2: SWAP1
000006a3: DUP2
000006a4: ADD
000006a5: PUSH1 0x40
000006a7: MSTORE
000006a8: DUP1
000006a9: SWAP3
000006aa: SWAP2
000006ab: SWAP1
000006ac: DUP2
000006ad: DUP2
000006ae: MSTORE
000006af: PUSH1 0x20
000006b1: ADD
000006b2: DUP3
000006b3: DUP1
000006b4: SLOAD
000006b5: PUSH1 0x01
000006b7: DUP2
000006b8: PUSH1 0x01
000006ba: AND
000006bb: ISZERO
000006bc: PUSH2 0x0100
000006bf: MUL
000006c0: SUB
000006c1: AND
000006c2: PUSH1 0x02
000006c4: SWAP1
000006c5: DIV
000006c6: DUP1
000006c7: ISZERO
000006c8: PUSH2 0x0712
000006cb: JUMPI
000006cc: DUP1
000006cd: PUSH1 0x1f
000006cf: LT
000006d0: PUSH2 0x06e7
000006d3: JUMPI
000006d4: PUSH2 0x0100
000006d7: DUP1
000006d8: DUP4
000006d9: SLOAD
000006da: DIV
000006db: MUL
000006dc: DUP4
000006dd: MSTORE
000006de: SWAP2
000006df: PUSH1 0x20
000006e1: ADD
000006e2: SWAP2
000006e3: PUSH2 0x0712
000006e6: JUMP
000006e7: JUMPDEST
000006e8: DUP3
000006e9: ADD
000006ea: SWAP2
000006eb: SWAP1
000006ec: PUSH1 0x00
000006ee: MSTORE
000006ef: PUSH1 0x20
000006f1: PUSH1 0x00
000006f3: KECCAK256
000006f4: SWAP1
000006f5: JUMPDEST
000006f6: DUP2
000006f7: SLOAD
000006f8: DUP2
000006f9: MSTORE
000006fa: SWAP1
000006fb: PUSH1 0x01
000006fd: ADD
000006fe: SWAP1
000006ff: PUSH1 0x20
00000701: ADD
00000702: DUP1
00000703: DUP4
00000704: GT
00000705: PUSH2 0x06f5
00000708: JUMPI
00000709: DUP3
0000070a: SWAP1
0000070b: SUB
0000070c: PUSH1 0x1f
0000070e: AND
0000070f: DUP3
00000710: ADD
00000711: SWAP2
00000712: JUMPDEST
00000713: POP
00000714: POP
00000715: POP
00000716: POP
00000717: POP
00000718: SWAP1
00000719: POP
0000071a: SWAP1
0000071b: JUMP
0000071c: JUMPDEST
0000071d: PUSH1 0x00
0000071f: PUSH2 0x0730
00000722: PUSH2 0x0729
00000725: PUSH2 0x0e3b
00000728: JUMP
00000729: JUMPDEST
0000072a: DUP5
0000072b: DUP5
0000072c: PUSH2 0x0e43
0000072f: JUMP
00000730: JUMPDEST
00000731: PUSH1 0x01
00000733: SWAP1
00000734: POP
00000735: SWAP3
00000736: SWAP2
00000737: POP
00000738: POP
00000739: JUMP
0000073a: JUMPDEST
0000073b: PUSH1 0x00
0000073d: PUSH1 0x02
0000073f: SLOAD
00000740: SWAP1
00000741: POP
00000742: SWAP1
00000743: JUMP
00000744: JUMPDEST
00000745: PUSH1 0x00
00000747: PUSH2 0x0751
0000074a: DUP5
0000074b: DUP5
0000074c: DUP5
0000074d: PUSH2 0x103a
00000750: JUMP
00000751: JUMPDEST
00000752: PUSH2 0x0812
00000755: DUP5
00000756: PUSH2 0x075d
00000759: PUSH2 0x0e3b
0000075c: JUMP
0000075d: JUMPDEST
0000075e: PUSH2 0x080d
00000761: DUP6
00000762: PUSH1 0x40
00000764: MLOAD
00000765: DUP1
00000766: PUSH1 0x60
00000768: ADD
00000769: PUSH1 0x40
0000076b: MSTORE
0000076c: DUP1
0000076d: PUSH1 0x28
0000076f: DUP2
00000770: MSTORE
00000771: PUSH1 0x20
00000773: ADD
00000774: PUSH2 0x1610
00000777: PUSH1 0x28
00000779: SWAP2
0000077a: CODECOPY
0000077b: PUSH1 0x01
0000077d: PUSH1 0x00
0000077f: DUP12
00000780: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000795: AND
00000796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ab: AND
000007ac: DUP2
000007ad: MSTORE
000007ae: PUSH1 0x20
000007b0: ADD
000007b1: SWAP1
000007b2: DUP2
000007b3: MSTORE
000007b4: PUSH1 0x20
000007b6: ADD
000007b7: PUSH1 0x00
000007b9: KECCAK256
000007ba: PUSH1 0x00
000007bc: PUSH2 0x07c3
000007bf: PUSH2 0x0e3b
000007c2: JUMP
000007c3: JUMPDEST
000007c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007d9: AND
000007da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ef: AND
000007f0: DUP2
000007f1: MSTORE
000007f2: PUSH1 0x20
000007f4: ADD
000007f5: SWAP1
000007f6: DUP2
000007f7: MSTORE
000007f8: PUSH1 0x20
000007fa: ADD
000007fb: PUSH1 0x00
000007fd: KECCAK256
000007fe: SLOAD
000007ff: PUSH2 0x12f0
00000802: SWAP1
00000803: SWAP3
00000804: SWAP2
00000805: SWAP1
00000806: PUSH4 0xffffffff
0000080b: AND
0000080c: JUMP
0000080d: JUMPDEST
0000080e: PUSH2 0x0e43
00000811: JUMP
00000812: JUMPDEST
00000813: PUSH1 0x01
00000815: SWAP1
00000816: POP
00000817: SWAP4
00000818: SWAP3
00000819: POP
0000081a: POP
0000081b: POP
0000081c: JUMP
0000081d: JUMPDEST
0000081e: PUSH1 0x06
00000820: PUSH1 0x20
00000822: MSTORE
00000823: DUP1
00000824: PUSH1 0x00
00000826: MSTORE
00000827: PUSH1 0x40
00000829: PUSH1 0x00
0000082b: KECCAK256
0000082c: PUSH1 0x00
0000082e: SWAP2
0000082f: POP
00000830: SWAP1
00000831: POP
00000832: SLOAD
00000833: DUP2
00000834: JUMP
00000835: JUMPDEST
00000836: PUSH1 0x00
00000838: PUSH1 0x05
0000083a: PUSH1 0x00
0000083c: SWAP1
0000083d: SLOAD
0000083e: SWAP1
0000083f: PUSH2 0x0100
00000842: EXP
00000843: SWAP1
00000844: DIV
00000845: PUSH1 0xff
00000847: AND
00000848: SWAP1
00000849: POP
0000084a: SWAP1
0000084b: JUMP
0000084c: JUMPDEST
0000084d: PUSH1 0x00
0000084f: PUSH2 0x08f5
00000852: PUSH2 0x0859
00000855: PUSH2 0x0e3b
00000858: JUMP
00000859: JUMPDEST
0000085a: DUP5
0000085b: PUSH2 0x08f0
0000085e: DUP6
0000085f: PUSH1 0x01
00000861: PUSH1 0x00
00000863: PUSH2 0x086a
00000866: PUSH2 0x0e3b
00000869: JUMP
0000086a: JUMPDEST
0000086b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000880: AND
00000881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000896: AND
00000897: DUP2
00000898: MSTORE
00000899: PUSH1 0x20
0000089b: ADD
0000089c: SWAP1
0000089d: DUP2
0000089e: MSTORE
0000089f: PUSH1 0x20
000008a1: ADD
000008a2: PUSH1 0x00
000008a4: KECCAK256
000008a5: PUSH1 0x00
000008a7: DUP10
000008a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008bd: AND
000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d3: AND
000008d4: DUP2
000008d5: MSTORE
000008d6: PUSH1 0x20
000008d8: ADD
000008d9: SWAP1
000008da: DUP2
000008db: MSTORE
000008dc: PUSH1 0x20
000008de: ADD
000008df: PUSH1 0x00
000008e1: KECCAK256
000008e2: SLOAD
000008e3: PUSH2 0x13b0
000008e6: SWAP1
000008e7: SWAP2
000008e8: SWAP1
000008e9: PUSH4 0xffffffff
000008ee: AND
000008ef: JUMP
000008f0: JUMPDEST
000008f1: PUSH2 0x0e43
000008f4: JUMP
000008f5: JUMPDEST
000008f6: PUSH1 0x01
000008f8: SWAP1
000008f9: POP
000008fa: SWAP3
000008fb: SWAP2
000008fc: POP
000008fd: POP
000008fe: JUMP
000008ff: JUMPDEST
00000900: PUSH2 0x0907
00000903: PUSH2 0x0b42
00000906: JUMP
00000907: JUMPDEST
00000908: PUSH2 0x0979
0000090b: JUMPI
0000090c: PUSH1 0x40
0000090e: MLOAD
0000090f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000930: DUP2
00000931: MSTORE
00000932: PUSH1 0x04
00000934: ADD
00000935: DUP1
00000936: DUP1
00000937: PUSH1 0x20
00000939: ADD
0000093a: DUP3
0000093b: DUP2
0000093c: SUB
0000093d: DUP3
0000093e: MSTORE
0000093f: PUSH1 0x20
00000941: DUP2
00000942: MSTORE
00000943: PUSH1 0x20
00000945: ADD
00000946: DUP1
00000947: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000968: DUP2
00000969: MSTORE
0000096a: POP
0000096b: PUSH1 0x20
0000096d: ADD
0000096e: SWAP2
0000096f: POP
00000970: POP
00000971: PUSH1 0x40
00000973: MLOAD
00000974: DUP1
00000975: SWAP2
00000976: SUB
00000977: SWAP1
00000978: REVERT
00000979: JUMPDEST
0000097a: DUP1
0000097b: PUSH1 0x06
0000097d: PUSH1 0x00
0000097f: DUP5
00000980: DUP2
00000981: MSTORE
00000982: PUSH1 0x20
00000984: ADD
00000985: SWAP1
00000986: DUP2
00000987: MSTORE
00000988: PUSH1 0x20
0000098a: ADD
0000098b: PUSH1 0x00
0000098d: KECCAK256
0000098e: DUP2
0000098f: SWAP1
00000990: SSTORE
00000991: POP
00000992: POP
00000993: POP
00000994: JUMP
00000995: JUMPDEST
00000996: PUSH1 0x00
00000998: DUP1
00000999: PUSH1 0x00
0000099b: DUP4
0000099c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009b1: AND
000009b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009c7: AND
000009c8: DUP2
000009c9: MSTORE
000009ca: PUSH1 0x20
000009cc: ADD
000009cd: SWAP1
000009ce: DUP2
000009cf: MSTORE
000009d0: PUSH1 0x20
000009d2: ADD
000009d3: PUSH1 0x00
000009d5: KECCAK256
000009d6: SLOAD
000009d7: SWAP1
000009d8: POP
000009d9: SWAP2
000009da: SWAP1
000009db: POP
000009dc: JUMP
000009dd: JUMPDEST
000009de: PUSH2 0x09e5
000009e1: PUSH2 0x0b42
000009e4: JUMP
000009e5: JUMPDEST
000009e6: PUSH2 0x0a57
000009e9: JUMPI
000009ea: PUSH1 0x40
000009ec: MLOAD
000009ed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a0e: DUP2
00000a0f: MSTORE
00000a10: PUSH1 0x04
00000a12: ADD
00000a13: DUP1
00000a14: DUP1
00000a15: PUSH1 0x20
00000a17: ADD
00000a18: DUP3
00000a19: DUP2
00000a1a: SUB
00000a1b: DUP3
00000a1c: MSTORE
00000a1d: PUSH1 0x20
00000a1f: DUP2
00000a20: MSTORE
00000a21: PUSH1 0x20
00000a23: ADD
00000a24: DUP1
00000a25: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000a46: DUP2
00000a47: MSTORE
00000a48: POP
00000a49: PUSH1 0x20
00000a4b: ADD
00000a4c: SWAP2
00000a4d: POP
00000a4e: POP
00000a4f: PUSH1 0x40
00000a51: MLOAD
00000a52: DUP1
00000a53: SWAP2
00000a54: SUB
00000a55: SWAP1
00000a56: REVERT
00000a57: JUMPDEST
00000a58: PUSH1 0x00
00000a5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a6f: AND
00000a70: PUSH1 0x05
00000a72: PUSH1 0x01
00000a74: SWAP1
00000a75: SLOAD
00000a76: SWAP1
00000a77: PUSH2 0x0100
00000a7a: EXP
00000a7b: SWAP1
00000a7c: DIV
00000a7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a92: AND
00000a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aa8: AND
00000aa9: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000aca: PUSH1 0x40
00000acc: MLOAD
00000acd: PUSH1 0x40
00000acf: MLOAD
00000ad0: DUP1
00000ad1: SWAP2
00000ad2: SUB
00000ad3: SWAP1
00000ad4: LOG3
00000ad5: PUSH1 0x00
00000ad7: PUSH1 0x05
00000ad9: PUSH1 0x01
00000adb: PUSH2 0x0100
00000ade: EXP
00000adf: DUP2
00000ae0: SLOAD
00000ae1: DUP2
00000ae2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af7: MUL
00000af8: NOT
00000af9: AND
00000afa: SWAP1
00000afb: DUP4
00000afc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b11: AND
00000b12: MUL
00000b13: OR
00000b14: SWAP1
00000b15: SSTORE
00000b16: POP
00000b17: JUMP
00000b18: JUMPDEST
00000b19: PUSH1 0x00
00000b1b: PUSH1 0x05
00000b1d: PUSH1 0x01
00000b1f: SWAP1
00000b20: SLOAD
00000b21: SWAP1
00000b22: PUSH2 0x0100
00000b25: EXP
00000b26: SWAP1
00000b27: DIV
00000b28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b3d: AND
00000b3e: SWAP1
00000b3f: POP
00000b40: SWAP1
00000b41: JUMP
00000b42: JUMPDEST
00000b43: PUSH1 0x00
00000b45: PUSH1 0x05
00000b47: PUSH1 0x01
00000b49: SWAP1
00000b4a: SLOAD
00000b4b: SWAP1
00000b4c: PUSH2 0x0100
00000b4f: EXP
00000b50: SWAP1
00000b51: DIV
00000b52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b67: AND
00000b68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b7d: AND
00000b7e: PUSH2 0x0b85
00000b81: PUSH2 0x0e3b
00000b84: JUMP
00000b85: JUMPDEST
00000b86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b9b: AND
00000b9c: EQ
00000b9d: SWAP1
00000b9e: POP
00000b9f: SWAP1
00000ba0: JUMP
00000ba1: JUMPDEST
00000ba2: PUSH1 0x60
00000ba4: PUSH1 0x04
00000ba6: DUP1
00000ba7: SLOAD
00000ba8: PUSH1 0x01
00000baa: DUP2
00000bab: PUSH1 0x01
00000bad: AND
00000bae: ISZERO
00000baf: PUSH2 0x0100
00000bb2: MUL
00000bb3: SUB
00000bb4: AND
00000bb5: PUSH1 0x02
00000bb7: SWAP1
00000bb8: DIV
00000bb9: DUP1
00000bba: PUSH1 0x1f
00000bbc: ADD
00000bbd: PUSH1 0x20
00000bbf: DUP1
00000bc0: SWAP2
00000bc1: DIV
00000bc2: MUL
00000bc3: PUSH1 0x20
00000bc5: ADD
00000bc6: PUSH1 0x40
00000bc8: MLOAD
00000bc9: SWAP1
00000bca: DUP2
00000bcb: ADD
00000bcc: PUSH1 0x40
00000bce: MSTORE
00000bcf: DUP1
00000bd0: SWAP3
00000bd1: SWAP2
00000bd2: SWAP1
00000bd3: DUP2
00000bd4: DUP2
00000bd5: MSTORE
00000bd6: PUSH1 0x20
00000bd8: ADD
00000bd9: DUP3
00000bda: DUP1
00000bdb: SLOAD
00000bdc: PUSH1 0x01
00000bde: DUP2
00000bdf: PUSH1 0x01
00000be1: AND
00000be2: ISZERO
00000be3: PUSH2 0x0100
00000be6: MUL
00000be7: SUB
00000be8: AND
00000be9: PUSH1 0x02
00000beb: SWAP1
00000bec: DIV
00000bed: DUP1
00000bee: ISZERO
00000bef: PUSH2 0x0c39
00000bf2: JUMPI
00000bf3: DUP1
00000bf4: PUSH1 0x1f
00000bf6: LT
00000bf7: PUSH2 0x0c0e
00000bfa: JUMPI
00000bfb: PUSH2 0x0100
00000bfe: DUP1
00000bff: DUP4
00000c00: SLOAD
00000c01: DIV
00000c02: MUL
00000c03: DUP4
00000c04: MSTORE
00000c05: SWAP2
00000c06: PUSH1 0x20
00000c08: ADD
00000c09: SWAP2
00000c0a: PUSH2 0x0c39
00000c0d: JUMP
00000c0e: JUMPDEST
00000c0f: DUP3
00000c10: ADD
00000c11: SWAP2
00000c12: SWAP1
00000c13: PUSH1 0x00
00000c15: MSTORE
00000c16: PUSH1 0x20
00000c18: PUSH1 0x00
00000c1a: KECCAK256
00000c1b: SWAP1
00000c1c: JUMPDEST
00000c1d: DUP2
00000c1e: SLOAD
00000c1f: DUP2
00000c20: MSTORE
00000c21: SWAP1
00000c22: PUSH1 0x01
00000c24: ADD
00000c25: SWAP1
00000c26: PUSH1 0x20
00000c28: ADD
00000c29: DUP1
00000c2a: DUP4
00000c2b: GT
00000c2c: PUSH2 0x0c1c
00000c2f: JUMPI
00000c30: DUP3
00000c31: SWAP1
00000c32: SUB
00000c33: PUSH1 0x1f
00000c35: AND
00000c36: DUP3
00000c37: ADD
00000c38: SWAP2
00000c39: JUMPDEST
00000c3a: POP
00000c3b: POP
00000c3c: POP
00000c3d: POP
00000c3e: POP
00000c3f: SWAP1
00000c40: POP
00000c41: SWAP1
00000c42: JUMP
00000c43: JUMPDEST
00000c44: PUSH1 0x00
00000c46: PUSH2 0x0d06
00000c49: PUSH2 0x0c50
00000c4c: PUSH2 0x0e3b
00000c4f: JUMP
00000c50: JUMPDEST
00000c51: DUP5
00000c52: PUSH2 0x0d01
00000c55: DUP6
00000c56: PUSH1 0x40
00000c58: MLOAD
00000c59: DUP1
00000c5a: PUSH1 0x60
00000c5c: ADD
00000c5d: PUSH1 0x40
00000c5f: MSTORE
00000c60: DUP1
00000c61: PUSH1 0x25
00000c63: DUP2
00000c64: MSTORE
00000c65: PUSH1 0x20
00000c67: ADD
00000c68: PUSH2 0x1681
00000c6b: PUSH1 0x25
00000c6d: SWAP2
00000c6e: CODECOPY
00000c6f: PUSH1 0x01
00000c71: PUSH1 0x00
00000c73: PUSH2 0x0c7a
00000c76: PUSH2 0x0e3b
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c90: AND
00000c91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca6: AND
00000ca7: DUP2
00000ca8: MSTORE
00000ca9: PUSH1 0x20
00000cab: ADD
00000cac: SWAP1
00000cad: DUP2
00000cae: MSTORE
00000caf: PUSH1 0x20
00000cb1: ADD
00000cb2: PUSH1 0x00
00000cb4: KECCAK256
00000cb5: PUSH1 0x00
00000cb7: DUP11
00000cb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ccd: AND
00000cce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ce3: AND
00000ce4: DUP2
00000ce5: MSTORE
00000ce6: PUSH1 0x20
00000ce8: ADD
00000ce9: SWAP1
00000cea: DUP2
00000ceb: MSTORE
00000cec: PUSH1 0x20
00000cee: ADD
00000cef: PUSH1 0x00
00000cf1: KECCAK256
00000cf2: SLOAD
00000cf3: PUSH2 0x12f0
00000cf6: SWAP1
00000cf7: SWAP3
00000cf8: SWAP2
00000cf9: SWAP1
00000cfa: PUSH4 0xffffffff
00000cff: AND
00000d00: JUMP
00000d01: JUMPDEST
00000d02: PUSH2 0x0e43
00000d05: JUMP
00000d06: JUMPDEST
00000d07: PUSH1 0x01
00000d09: SWAP1
00000d0a: POP
00000d0b: SWAP3
00000d0c: SWAP2
00000d0d: POP
00000d0e: POP
00000d0f: JUMP
00000d10: JUMPDEST
00000d11: PUSH1 0x00
00000d13: PUSH2 0x0d24
00000d16: PUSH2 0x0d1d
00000d19: PUSH2 0x0e3b
00000d1c: JUMP
00000d1d: JUMPDEST
00000d1e: DUP5
00000d1f: DUP5
00000d20: PUSH2 0x103a
00000d23: JUMP
00000d24: JUMPDEST
00000d25: PUSH1 0x01
00000d27: SWAP1
00000d28: POP
00000d29: SWAP3
00000d2a: SWAP2
00000d2b: POP
00000d2c: POP
00000d2d: JUMP
00000d2e: JUMPDEST
00000d2f: PUSH1 0x00
00000d31: PUSH1 0x01
00000d33: PUSH1 0x00
00000d35: DUP5
00000d36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d4b: AND
00000d4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d61: AND
00000d62: DUP2
00000d63: MSTORE
00000d64: PUSH1 0x20
00000d66: ADD
00000d67: SWAP1
00000d68: DUP2
00000d69: MSTORE
00000d6a: PUSH1 0x20
00000d6c: ADD
00000d6d: PUSH1 0x00
00000d6f: KECCAK256
00000d70: PUSH1 0x00
00000d72: DUP4
00000d73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d88: AND
00000d89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d9e: AND
00000d9f: DUP2
00000da0: MSTORE
00000da1: PUSH1 0x20
00000da3: ADD
00000da4: SWAP1
00000da5: DUP2
00000da6: MSTORE
00000da7: PUSH1 0x20
00000da9: ADD
00000daa: PUSH1 0x00
00000dac: KECCAK256
00000dad: SLOAD
00000dae: SWAP1
00000daf: POP
00000db0: SWAP3
00000db1: SWAP2
00000db2: POP
00000db3: POP
00000db4: JUMP
00000db5: JUMPDEST
00000db6: PUSH2 0x0dbd
00000db9: PUSH2 0x0b42
00000dbc: JUMP
00000dbd: JUMPDEST
00000dbe: PUSH2 0x0e2f
00000dc1: JUMPI
00000dc2: PUSH1 0x40
00000dc4: MLOAD
00000dc5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000de6: DUP2
00000de7: MSTORE
00000de8: PUSH1 0x04
00000dea: ADD
00000deb: DUP1
00000dec: DUP1
00000ded: PUSH1 0x20
00000def: ADD
00000df0: DUP3
00000df1: DUP2
00000df2: SUB
00000df3: DUP3
00000df4: MSTORE
00000df5: PUSH1 0x20
00000df7: DUP2
00000df8: MSTORE
00000df9: PUSH1 0x20
00000dfb: ADD
00000dfc: DUP1
00000dfd: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000e1e: DUP2
00000e1f: MSTORE
00000e20: POP
00000e21: PUSH1 0x20
00000e23: ADD
00000e24: SWAP2
00000e25: POP
00000e26: POP
00000e27: PUSH1 0x40
00000e29: MLOAD
00000e2a: DUP1
00000e2b: SWAP2
00000e2c: SUB
00000e2d: SWAP1
00000e2e: REVERT
00000e2f: JUMPDEST
00000e30: PUSH2 0x0e38
00000e33: DUP2
00000e34: PUSH2 0x1438
00000e37: JUMP
00000e38: JUMPDEST
00000e39: POP
00000e3a: JUMP
00000e3b: JUMPDEST
00000e3c: PUSH1 0x00
00000e3e: CALLER
00000e3f: SWAP1
00000e40: POP
00000e41: SWAP1
00000e42: JUMP
00000e43: JUMPDEST
00000e44: PUSH1 0x00
00000e46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e5b: AND
00000e5c: DUP4
00000e5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e72: AND
00000e73: EQ
00000e74: ISZERO
00000e75: PUSH2 0x0ec9
00000e78: JUMPI
00000e79: PUSH1 0x40
00000e7b: MLOAD
00000e7c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000e9d: DUP2
00000e9e: MSTORE
00000e9f: PUSH1 0x04
00000ea1: ADD
00000ea2: DUP1
00000ea3: DUP1
00000ea4: PUSH1 0x20
00000ea6: ADD
00000ea7: DUP3
00000ea8: DUP2
00000ea9: SUB
00000eaa: DUP3
00000eab: MSTORE
00000eac: PUSH1 0x24
00000eae: DUP2
00000eaf: MSTORE
00000eb0: PUSH1 0x20
00000eb2: ADD
00000eb3: DUP1
00000eb4: PUSH2 0x165d
00000eb7: PUSH1 0x24
00000eb9: SWAP2
00000eba: CODECOPY
00000ebb: PUSH1 0x40
00000ebd: ADD
00000ebe: SWAP2
00000ebf: POP
00000ec0: POP
00000ec1: PUSH1 0x40
00000ec3: MLOAD
00000ec4: DUP1
00000ec5: SWAP2
00000ec6: SUB
00000ec7: SWAP1
00000ec8: REVERT
00000ec9: JUMPDEST
00000eca: PUSH1 0x00
00000ecc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ee1: AND
00000ee2: DUP3
00000ee3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ef8: AND
00000ef9: EQ
00000efa: ISZERO
00000efb: PUSH2 0x0f4f
00000efe: JUMPI
00000eff: PUSH1 0x40
00000f01: MLOAD
00000f02: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f23: DUP2
00000f24: MSTORE
00000f25: PUSH1 0x04
00000f27: ADD
00000f28: DUP1
00000f29: DUP1
00000f2a: PUSH1 0x20
00000f2c: ADD
00000f2d: DUP3
00000f2e: DUP2
00000f2f: SUB
00000f30: DUP3
00000f31: MSTORE
00000f32: PUSH1 0x22
00000f34: DUP2
00000f35: MSTORE
00000f36: PUSH1 0x20
00000f38: ADD
00000f39: DUP1
00000f3a: PUSH2 0x15c8
00000f3d: PUSH1 0x22
00000f3f: SWAP2
00000f40: CODECOPY
00000f41: PUSH1 0x40
00000f43: ADD
00000f44: SWAP2
00000f45: POP
00000f46: POP
00000f47: PUSH1 0x40
00000f49: MLOAD
00000f4a: DUP1
00000f4b: SWAP2
00000f4c: SUB
00000f4d: SWAP1
00000f4e: REVERT
00000f4f: JUMPDEST
00000f50: DUP1
00000f51: PUSH1 0x01
00000f53: PUSH1 0x00
00000f55: DUP6
00000f56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f6b: AND
00000f6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f81: AND
00000f82: DUP2
00000f83: MSTORE
00000f84: PUSH1 0x20
00000f86: ADD
00000f87: SWAP1
00000f88: DUP2
00000f89: MSTORE
00000f8a: PUSH1 0x20
00000f8c: ADD
00000f8d: PUSH1 0x00
00000f8f: KECCAK256
00000f90: PUSH1 0x00
00000f92: DUP5
00000f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa8: AND
00000fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fbe: AND
00000fbf: DUP2
00000fc0: MSTORE
00000fc1: PUSH1 0x20
00000fc3: ADD
00000fc4: SWAP1
00000fc5: DUP2
00000fc6: MSTORE
00000fc7: PUSH1 0x20
00000fc9: ADD
00000fca: PUSH1 0x00
00000fcc: KECCAK256
00000fcd: DUP2
00000fce: SWAP1
00000fcf: SSTORE
00000fd0: POP
00000fd1: DUP2
00000fd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fe7: AND
00000fe8: DUP4
00000fe9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ffe: AND
00000fff: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00001020: DUP4
00001021: PUSH1 0x40
00001023: MLOAD
00001024: DUP1
00001025: DUP3
00001026: DUP2
00001027: MSTORE
00001028: PUSH1 0x20
0000102a: ADD
0000102b: SWAP2
0000102c: POP
0000102d: POP
0000102e: PUSH1 0x40
00001030: MLOAD
00001031: DUP1
00001032: SWAP2
00001033: SUB
00001034: SWAP1
00001035: LOG3
00001036: POP
00001037: POP
00001038: POP
00001039: JUMP
0000103a: JUMPDEST
0000103b: PUSH1 0x00
0000103d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001052: AND
00001053: DUP4
00001054: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001069: AND
0000106a: EQ
0000106b: ISZERO
0000106c: PUSH2 0x10c0
0000106f: JUMPI
00001070: PUSH1 0x40
00001072: MLOAD
00001073: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001094: DUP2
00001095: MSTORE
00001096: PUSH1 0x04
00001098: ADD
00001099: DUP1
0000109a: DUP1
0000109b: PUSH1 0x20
0000109d: ADD
0000109e: DUP3
0000109f: DUP2
000010a0: SUB
000010a1: DUP3
000010a2: MSTORE
000010a3: PUSH1 0x25
000010a5: DUP2
000010a6: MSTORE
000010a7: PUSH1 0x20
000010a9: ADD
000010aa: DUP1
000010ab: PUSH2 0x1638
000010ae: PUSH1 0x25
000010b0: SWAP2
000010b1: CODECOPY
000010b2: PUSH1 0x40
000010b4: ADD
000010b5: SWAP2
000010b6: POP
000010b7: POP
000010b8: PUSH1 0x40
000010ba: MLOAD
000010bb: DUP1
000010bc: SWAP2
000010bd: SUB
000010be: SWAP1
000010bf: REVERT
000010c0: JUMPDEST
000010c1: PUSH1 0x00
000010c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010d8: AND
000010d9: DUP3
000010da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ef: AND
000010f0: EQ
000010f1: ISZERO
000010f2: PUSH2 0x1146
000010f5: JUMPI
000010f6: PUSH1 0x40
000010f8: MLOAD
000010f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000111a: DUP2
0000111b: MSTORE
0000111c: PUSH1 0x04
0000111e: ADD
0000111f: DUP1
00001120: DUP1
00001121: PUSH1 0x20
00001123: ADD
00001124: DUP3
00001125: DUP2
00001126: SUB
00001127: DUP3
00001128: MSTORE
00001129: PUSH1 0x23
0000112b: DUP2
0000112c: MSTORE
0000112d: PUSH1 0x20
0000112f: ADD
00001130: DUP1
00001131: PUSH2 0x157f
00001134: PUSH1 0x23
00001136: SWAP2
00001137: CODECOPY
00001138: PUSH1 0x40
0000113a: ADD
0000113b: SWAP2
0000113c: POP
0000113d: POP
0000113e: PUSH1 0x40
00001140: MLOAD
00001141: DUP1
00001142: SWAP2
00001143: SUB
00001144: SWAP1
00001145: REVERT
00001146: JUMPDEST
00001147: PUSH2 0x11b1
0000114a: DUP2
0000114b: PUSH1 0x40
0000114d: MLOAD
0000114e: DUP1
0000114f: PUSH1 0x60
00001151: ADD
00001152: PUSH1 0x40
00001154: MSTORE
00001155: DUP1
00001156: PUSH1 0x26
00001158: DUP2
00001159: MSTORE
0000115a: PUSH1 0x20
0000115c: ADD
0000115d: PUSH2 0x15ea
00001160: PUSH1 0x26
00001162: SWAP2
00001163: CODECOPY
00001164: PUSH1 0x00
00001166: DUP1
00001167: DUP8
00001168: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000117d: AND
0000117e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001193: AND
00001194: DUP2
00001195: MSTORE
00001196: PUSH1 0x20
00001198: ADD
00001199: SWAP1
0000119a: DUP2
0000119b: MSTORE
0000119c: PUSH1 0x20
0000119e: ADD
0000119f: PUSH1 0x00
000011a1: KECCAK256
000011a2: SLOAD
000011a3: PUSH2 0x12f0
000011a6: SWAP1
000011a7: SWAP3
000011a8: SWAP2
000011a9: SWAP1
000011aa: PUSH4 0xffffffff
000011af: AND
000011b0: JUMP
000011b1: JUMPDEST
000011b2: PUSH1 0x00
000011b4: DUP1
000011b5: DUP6
000011b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011cb: AND
000011cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011e1: AND
000011e2: DUP2
000011e3: MSTORE
000011e4: PUSH1 0x20
000011e6: ADD
000011e7: SWAP1
000011e8: DUP2
000011e9: MSTORE
000011ea: PUSH1 0x20
000011ec: ADD
000011ed: PUSH1 0x00
000011ef: KECCAK256
000011f0: DUP2
000011f1: SWAP1
000011f2: SSTORE
000011f3: POP
000011f4: PUSH2 0x1244
000011f7: DUP2
000011f8: PUSH1 0x00
000011fa: DUP1
000011fb: DUP6
000011fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001211: AND
00001212: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001227: AND
00001228: DUP2
00001229: MSTORE
0000122a: PUSH1 0x20
0000122c: ADD
0000122d: SWAP1
0000122e: DUP2
0000122f: MSTORE
00001230: PUSH1 0x20
00001232: ADD
00001233: PUSH1 0x00
00001235: KECCAK256
00001236: SLOAD
00001237: PUSH2 0x13b0
0000123a: SWAP1
0000123b: SWAP2
0000123c: SWAP1
0000123d: PUSH4 0xffffffff
00001242: AND
00001243: JUMP
00001244: JUMPDEST
00001245: PUSH1 0x00
00001247: DUP1
00001248: DUP5
00001249: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000125e: AND
0000125f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001274: AND
00001275: DUP2
00001276: MSTORE
00001277: PUSH1 0x20
00001279: ADD
0000127a: SWAP1
0000127b: DUP2
0000127c: MSTORE
0000127d: PUSH1 0x20
0000127f: ADD
00001280: PUSH1 0x00
00001282: KECCAK256
00001283: DUP2
00001284: SWAP1
00001285: SSTORE
00001286: POP
00001287: DUP2
00001288: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000129d: AND
0000129e: DUP4
0000129f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b4: AND
000012b5: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000012d6: DUP4
000012d7: PUSH1 0x40
000012d9: MLOAD
000012da: DUP1
000012db: DUP3
000012dc: DUP2
000012dd: MSTORE
000012de: PUSH1 0x20
000012e0: ADD
000012e1: SWAP2
000012e2: POP
000012e3: POP
000012e4: PUSH1 0x40
000012e6: MLOAD
000012e7: DUP1
000012e8: SWAP2
000012e9: SUB
000012ea: SWAP1
000012eb: LOG3
000012ec: POP
000012ed: POP
000012ee: POP
000012ef: JUMP
000012f0: JUMPDEST
000012f1: PUSH1 0x00
000012f3: DUP4
000012f4: DUP4
000012f5: GT
000012f6: ISZERO
000012f7: DUP3
000012f8: SWAP1
000012f9: PUSH2 0x139d
000012fc: JUMPI
000012fd: PUSH1 0x40
000012ff: MLOAD
00001300: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001321: DUP2
00001322: MSTORE
00001323: PUSH1 0x04
00001325: ADD
00001326: DUP1
00001327: DUP1
00001328: PUSH1 0x20
0000132a: ADD
0000132b: DUP3
0000132c: DUP2
0000132d: SUB
0000132e: DUP3
0000132f: MSTORE
00001330: DUP4
00001331: DUP2
00001332: DUP2
00001333: MLOAD
00001334: DUP2
00001335: MSTORE
00001336: PUSH1 0x20
00001338: ADD
00001339: SWAP2
0000133a: POP
0000133b: DUP1
0000133c: MLOAD
0000133d: SWAP1
0000133e: PUSH1 0x20
00001340: ADD
00001341: SWAP1
00001342: DUP1
00001343: DUP4
00001344: DUP4
00001345: PUSH1 0x00
00001347: JUMPDEST
00001348: DUP4
00001349: DUP2
0000134a: LT
0000134b: ISZERO
0000134c: PUSH2 0x1362
0000134f: JUMPI
00001350: DUP1
00001351: DUP3
00001352: ADD
00001353: MLOAD
00001354: DUP2
00001355: DUP5
00001356: ADD
00001357: MSTORE
00001358: PUSH1 0x20
0000135a: DUP2
0000135b: ADD
0000135c: SWAP1
0000135d: POP
0000135e: PUSH2 0x1347
00001361: JUMP
00001362: JUMPDEST
00001363: POP
00001364: POP
00001365: POP
00001366: POP
00001367: SWAP1
00001368: POP
00001369: SWAP1
0000136a: DUP2
0000136b: ADD
0000136c: SWAP1
0000136d: PUSH1 0x1f
0000136f: AND
00001370: DUP1
00001371: ISZERO
00001372: PUSH2 0x138f
00001375: JUMPI
00001376: DUP1
00001377: DUP3
00001378: SUB
00001379: DUP1
0000137a: MLOAD
0000137b: PUSH1 0x01
0000137d: DUP4
0000137e: PUSH1 0x20
00001380: SUB
00001381: PUSH2 0x0100
00001384: EXP
00001385: SUB
00001386: NOT
00001387: AND
00001388: DUP2
00001389: MSTORE
0000138a: PUSH1 0x20
0000138c: ADD
0000138d: SWAP2
0000138e: POP
0000138f: JUMPDEST
00001390: POP
00001391: SWAP3
00001392: POP
00001393: POP
00001394: POP
00001395: PUSH1 0x40
00001397: MLOAD
00001398: DUP1
00001399: SWAP2
0000139a: SUB
0000139b: SWAP1
0000139c: REVERT
0000139d: JUMPDEST
0000139e: POP
0000139f: PUSH1 0x00
000013a1: DUP4
000013a2: DUP6
000013a3: SUB
000013a4: SWAP1
000013a5: POP
000013a6: DUP1
000013a7: SWAP2
000013a8: POP
000013a9: POP
000013aa: SWAP4
000013ab: SWAP3
000013ac: POP
000013ad: POP
000013ae: POP
000013af: JUMP
000013b0: JUMPDEST
000013b1: PUSH1 0x00
000013b3: DUP1
000013b4: DUP3
000013b5: DUP5
000013b6: ADD
000013b7: SWAP1
000013b8: POP
000013b9: DUP4
000013ba: DUP2
000013bb: LT
000013bc: ISZERO
000013bd: PUSH2 0x142e
000013c0: JUMPI
000013c1: PUSH1 0x40
000013c3: MLOAD
000013c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000013e5: DUP2
000013e6: MSTORE
000013e7: PUSH1 0x04
000013e9: ADD
000013ea: DUP1
000013eb: DUP1
000013ec: PUSH1 0x20
000013ee: ADD
000013ef: DUP3
000013f0: DUP2
000013f1: SUB
000013f2: DUP3
000013f3: MSTORE
000013f4: PUSH1 0x1b
000013f6: DUP2
000013f7: MSTORE
000013f8: PUSH1 0x20
000013fa: ADD
000013fb: DUP1
000013fc: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
0000141d: DUP2
0000141e: MSTORE
0000141f: POP
00001420: PUSH1 0x20
00001422: ADD
00001423: SWAP2
00001424: POP
00001425: POP
00001426: PUSH1 0x40
00001428: MLOAD
00001429: DUP1
0000142a: SWAP2
0000142b: SUB
0000142c: SWAP1
0000142d: REVERT
0000142e: JUMPDEST
0000142f: DUP1
00001430: SWAP2
00001431: POP
00001432: POP
00001433: SWAP3
00001434: SWAP2
00001435: POP
00001436: POP
00001437: JUMP
00001438: JUMPDEST
00001439: PUSH1 0x00
0000143b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001450: AND
00001451: DUP2
00001452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001467: AND
00001468: EQ
00001469: ISZERO
0000146a: PUSH2 0x14be
0000146d: JUMPI
0000146e: PUSH1 0x40
00001470: MLOAD
00001471: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001492: DUP2
00001493: MSTORE
00001494: PUSH1 0x04
00001496: ADD
00001497: DUP1
00001498: DUP1
00001499: PUSH1 0x20
0000149b: ADD
0000149c: DUP3
0000149d: DUP2
0000149e: SUB
0000149f: DUP3
000014a0: MSTORE
000014a1: PUSH1 0x26
000014a3: DUP2
000014a4: MSTORE
000014a5: PUSH1 0x20
000014a7: ADD
000014a8: DUP1
000014a9: PUSH2 0x15a2
000014ac: PUSH1 0x26
000014ae: SWAP2
000014af: CODECOPY
000014b0: PUSH1 0x40
000014b2: ADD
000014b3: SWAP2
000014b4: POP
000014b5: POP
000014b6: PUSH1 0x40
000014b8: MLOAD
000014b9: DUP1
000014ba: SWAP2
000014bb: SUB
000014bc: SWAP1
000014bd: REVERT
000014be: JUMPDEST
000014bf: DUP1
000014c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014d5: AND
000014d6: PUSH1 0x05
000014d8: PUSH1 0x01
000014da: SWAP1
000014db: SLOAD
000014dc: SWAP1
000014dd: PUSH2 0x0100
000014e0: EXP
000014e1: SWAP1
000014e2: DIV
000014e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014f8: AND
000014f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000150e: AND
0000150f: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001530: PUSH1 0x40
00001532: MLOAD
00001533: PUSH1 0x40
00001535: MLOAD
00001536: DUP1
00001537: SWAP2
00001538: SUB
00001539: SWAP1
0000153a: LOG3
0000153b: DUP1
0000153c: PUSH1 0x05
0000153e: PUSH1 0x01
00001540: PUSH2 0x0100
00001543: EXP
00001544: DUP2
00001545: SLOAD
00001546: DUP2
00001547: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000155c: MUL
0000155d: NOT
0000155e: AND
0000155f: SWAP1
00001560: DUP4
00001561: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001576: AND
00001577: MUL
00001578: OR
00001579: SWAP1
0000157a: SSTORE
0000157b: POP
0000157c: POP
0000157d: JUMP
0000157e: INVALID
0000157f: GASLIMIT
00001580: MSTORE
00001581: NUMBER
00001582: ORIGIN
00001583: ADDRESS
00001584: GASPRICE
00001585: KECCAK256
00001586: PUSH21 0x72616e7366657220746f20746865207a65726f2061
0000159c: PUSH5 0x6472657373
000015a2: UNKNOWN(0x4F)
000015a3: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
000015bc: PUSH27 0x65726f206164647265737345524332303a20617070726f76652074
000015d8: PUSH16 0x20746865207a65726f20616464726573
000015e9: PUSH20 0x45524332303a207472616e7366657220616d6f75
000015fe: PUSH15 0x7420657863656564732062616c616e
0000160e: PUSH4 0x65455243
00001613: ORIGIN
00001614: ADDRESS
00001615: GASPRICE
00001616: KECCAK256
00001617: PUSH21 0x72616e7366657220616d6f756e7420657863656564
0000162d: PUSH20 0x20616c6c6f77616e636545524332303a20747261
00001642: PUSH15 0x736665722066726f6d20746865207a
00001652: PUSH6 0x726f20616464
00001659: PUSH19 0x65737345524332303a20617070726f76652066
0000166d: PUSH19 0x6f6d20746865207a65726f2061646472657373
00001681: GASLIMIT
00001682: MSTORE
00001683: NUMBER
00001684: ORIGIN
00001685: ADDRESS
00001686: GASPRICE
00001687: KECCAK256
00001688: PUSH5 0x6563726561
0000168e: PUSH20 0x656420616c6c6f77616e63652062656c6f77207a
000016a3: PUSH6 0x726fa265627a
000016aa: PUSH27 0x7231582061cf46a1f6810b2bf01b9c72b124ad67331522459057ff
000016c6: PUSH2 0xeaf1
000016c9: PUSH21

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa457c2d7",
            "selector": "0xa457c2d7",
            "calldata_variants": [
                "0xa457c2d7",
                "0xa457c2d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 5506,
            "type": "tx_origin_used"
        },
        {
            "pc": 5651,
            "type": "tx_origin_used"
        },
        {
            "pc": 5764,
            "type": "tx_origin_used"
        }
    ]
}