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

Analysis Run

40c2474e-d61a-4015-a5ee-80af9788768a

failed
Chain ID
1
Address
Block Number
Created
Wed, Dec 31, 2025 3:14 PM
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
Untrusted DELEGATECALL target reachable
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
30840 report.consolidate complete 1 / 1 3 months ago
94051 artifact.fetch failed 1 / 3 1 week ago
94052 tool.cast_disasm complete 1 / 3 1 week ago
94053 analysis.bundle complete 1 / 3 1 week ago
94054 capability.graph complete 1 / 3 1 week ago
94055 detector.run complete 1 / 3 1 week ago
94056 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.
View stderr
[codex:438152] OpenAI Codex v0.77.0 (research preview)
[codex:438152] --------
[codex:438152] workdir: /tmp/codex-multi-ws67v7pu
[codex:438152] model: gpt-5.2-codex
[codex:438152] provider: openai
[codex:438152] approval: never
[codex:438152] sandbox: read-only
[codex:438152] reasoning effort: xhigh
[codex:438152] reasoning summaries: auto
[codex:438152] session id: 019b74f9-5b66-7231-8580-26ebe1cbcaa0
[codex:438152] --------
[codex:438152] user
[codex:438152] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:438152] 
[codex:438152] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:438152] 
[codex:438152] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:438152] - Gas inefficiency, code quality, naming, or best practices
[codex:438152] - Theoretical vulnerabilities without a clear extraction path
[codex:438152] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:438152] - Front-running unless it enables theft beyond MEV
[codex:438152] - DoS, griefing, or issues that don't result in attacker profit
[codex:438152] - Missing events, view function issues, or informational findings
[codex:438152] 
[codex:438152] HIGH-VALUE PATTERNS TO HUNT:
[codex:438152] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:438152] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:438152] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:438152] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:438152] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:438152] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:438152] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:438152] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:438152] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:438152] 
[codex:438152] For each finding, you MUST provide:
[codex:438152] 1. Exact file and line numbers of vulnerable code
[codex:438152] 2. Step-by-step exploit transaction sequence
[codex:438152] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:438152] 
[codex:438152] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:438152] 
[codex:438152] Output MUST be valid JSON matching the provided schema.
[codex:438152] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:438152] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:438152] mcp startup: no servers
[codex:438152] 
[codex:438152] thinking
[codex:438152] **Checking for AGENTS and AUDIT_BUNDLE files**
[codex:438152] exec
[codex:438152] /bin/bash -lc ls in /tmp/codex-multi-ws67v7pu succeeded in 5ms:
[codex:438152] AUDIT_BUNDLE.txt
[codex:438152] codex-output-schema.json
[codex:438152] contracts
[codex:438152] exec
[codex:438152] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ws67v7pu succeeded in 5ms:
[codex:438152] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:438152] 
[codex:438152] ================================================================================
[codex:438152] FILE: contracts/Contract.sol
[codex:438152] ================================================================================
[codex:438152] // File: contracts/MerkleTreeWithHistory.sol
[codex:438152] 
[codex:438152] // https://tornado.cash
[codex:438152] /*
[codex:438152] * d888888P                                           dP              a88888b.                   dP
[codex:438152] *    88                                              88             d8'   `88                   88
[codex:438152] *    88    .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b.    88        .d8888b. .d8888b. 88d888b.
[codex:438152] *    88    88'  `88 88'  `88 88'  `88 88'  `88 88'  `88 88'  `88    88        88'  `88 Y8ooooo. 88'  `88
[codex:438152] *    88    88.  .88 88       88    88 88.  .88 88.  .88 88.  .88 dP Y8.   .88 88.  .88       88 88    88
[codex:438152] *    dP    `88888P' dP       dP    dP `88888P8 `88888P8 `88888P' 88  Y88888P' `88888P8 `88888P' dP    dP
[codex:438152] * ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
[codex:438152] */
[codex:438152] 
[codex:438152] pragma solidity ^0.5.8;
[codex:438152] 
[codex:438152] exec
[codex:438152] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-ws67v7pu succeeded in 6ms:
[codex:438152]   address public operator;
[codex:438152]   modifier onlyOperator {
[codex:438152]     require(msg.sender == operator, "Only operator can call this function.");
[codex:438152]     _;
[codex:438152]   }
[codex:438152] 
[codex:438152]   event Deposit(bytes32 indexed commitment, uint32 leafIndex, uint256 timestamp);
[codex:438152]   event Withdrawal(address to, bytes32 nullifierHash, address indexed relayer, uint256 fee);
[codex:438152] 
[codex:438152]   /**
[codex:438152]     @dev The constructor
[codex:438152]     @param _verifier the address of SNARK verifier for this contract
[codex:438152]     @param _denomination transfer amount for each deposit
[codex:438152]     @param _merkleTreeHeight the height of deposits' Merkle Tree
[codex:438152]     @param _operator operator address (see operator comment above)
[codex:438152]   */
[codex:438152]   constructor(
[codex:438152]     IVerifier _verifier,
[codex:438152]     uint256 _denomination,
[codex:438152]     uint32 _merkleTreeHeight,
[codex:438152] 
[codex:438152] thinking
[codex:438152] **Analyzing potential Tornado Cash exploits**
[codex:438152] 
[codex:438152] I’m carefully reviewing the Tornado Cash code for any exploit paths, focusing on reentrancy protections, external calls, and Merkle tree integrity. After considering various angles—like nonReentrant guards, commitment uniqueness, proof verification, and possible library risks—I conclude no profitable exploit path exists without breaking zk proofs or operator security. I’ll output a JSON summary confirming no findings.
[codex:438152] codex
[codex:438152] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.","findings":[]}
[codex:438152] tokens used
[codex:438152] 10,167
[codex:438152] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-31T15:14:50.420231+00:00",
        "returncode": 0
    },
    "summary": "Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.",
    "raw_final": {
        "summary": "Reviewed AUDIT_BUNDLE.txt (MerkleTreeWithHistory, Tornado, TornadoCash_eth). No concrete exploit path to extract value without a valid zk proof or operator compromise was identified.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
3
EXT*/BALANCE
3
Total opcodes
3241
Flags
delegatecall_present create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0140
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x90eeb02b
00000019: GT
0000001a: PUSH2 0x00b6
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xcd87a3b4
00000024: GT
00000025: PUSH2 0x006f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xcd87a3b4
0000002f: EQ
00000030: PUSH2 0x04f4
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe5285dcc
0000003a: EQ
0000003b: PUSH2 0x0509
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe8295588
00000045: EQ
00000046: PUSH2 0x0533
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xec732959
00000050: EQ
00000051: PUSH2 0x055d
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf178e47c
0000005b: EQ
0000005c: PUSH2 0x0572
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfc7e9c6f
00000066: EQ
00000067: PUSH2 0x059c
0000006a: JUMPI
0000006b: PUSH2 0x0140
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0x90eeb02b
00000076: EQ
00000077: PUSH2 0x0385
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x97fc007c
00000081: EQ
00000082: PUSH2 0x039a
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x9fa12d0b
0000008c: EQ
0000008d: PUSH2 0x03cd
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xb214faa5
00000097: EQ
00000098: PUSH2 0x0498
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xba70f757
000000a2: EQ
000000a3: PUSH2 0x04b5
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xc2b40ae4
000000ad: EQ
000000ae: PUSH2 0x04ca
000000b1: JUMPI
000000b2: PUSH2 0x0140
000000b5: JUMP
000000b6: JUMPDEST
000000b7: DUP1
000000b8: PUSH4 0x414a37ba
000000bd: GT
000000be: PUSH2 0x0108
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x414a37ba
000000c8: EQ
000000c9: PUSH2 0x02c4
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x4ecf518b
000000d3: EQ
000000d4: PUSH2 0x02d9
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x570ca735
000000de: EQ
000000df: PUSH2 0x0307
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x6d9833e3
000000e9: EQ
000000ea: PUSH2 0x031c
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x839df945
000000f4: EQ
000000f5: PUSH2 0x0346
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x8bca6d16
000000ff: EQ
00000100: PUSH2 0x0370
00000103: JUMPI
00000104: PUSH2 0x0140
00000107: JUMP
00000108: JUMPDEST
00000109: DUP1
0000010a: PUSH4 0x06394c9b
0000010f: EQ
00000110: PUSH2 0x0145
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x17cc915c
0000011a: EQ
0000011b: PUSH2 0x017a
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x21a0adb6
00000125: EQ
00000126: PUSH2 0x01b8
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x2b7ac3f3
00000130: EQ
00000131: PUSH2 0x0251
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0x38bf282e
0000013b: EQ
0000013c: PUSH2 0x0282
0000013f: JUMPI
00000140: JUMPDEST
00000141: PUSH1 0x00
00000143: DUP1
00000144: REVERT
00000145: JUMPDEST
00000146: CALLVALUE
00000147: DUP1
00000148: ISZERO
00000149: PUSH2 0x0151
0000014c: JUMPI
0000014d: PUSH1 0x00
0000014f: DUP1
00000150: REVERT
00000151: JUMPDEST
00000152: POP
00000153: PUSH2 0x0178
00000156: PUSH1 0x04
00000158: DUP1
00000159: CALLDATASIZE
0000015a: SUB
0000015b: PUSH1 0x20
0000015d: DUP2
0000015e: LT
0000015f: ISZERO
00000160: PUSH2 0x0168
00000163: JUMPI
00000164: PUSH1 0x00
00000166: DUP1
00000167: REVERT
00000168: JUMPDEST
00000169: POP
0000016a: CALLDATALOAD
0000016b: PUSH1 0x01
0000016d: PUSH1 0x01
0000016f: PUSH1 0xa0
00000171: SHL
00000172: SUB
00000173: AND
00000174: PUSH2 0x05b1
00000177: JUMP
00000178: JUMPDEST
00000179: STOP
0000017a: JUMPDEST
0000017b: CALLVALUE
0000017c: DUP1
0000017d: ISZERO
0000017e: PUSH2 0x0186
00000181: JUMPI
00000182: PUSH1 0x00
00000184: DUP1
00000185: REVERT
00000186: JUMPDEST
00000187: POP
00000188: PUSH2 0x01a4
0000018b: PUSH1 0x04
0000018d: DUP1
0000018e: CALLDATASIZE
0000018f: SUB
00000190: PUSH1 0x20
00000192: DUP2
00000193: LT
00000194: ISZERO
00000195: PUSH2 0x019d
00000198: JUMPI
00000199: PUSH1 0x00
0000019b: DUP1
0000019c: REVERT
0000019d: JUMPDEST
0000019e: POP
0000019f: CALLDATALOAD
000001a0: PUSH2 0x061c
000001a3: JUMP
000001a4: JUMPDEST
000001a5: PUSH1 0x40
000001a7: DUP1
000001a8: MLOAD
000001a9: SWAP2
000001aa: ISZERO
000001ab: ISZERO
000001ac: DUP3
000001ad: MSTORE
000001ae: MLOAD
000001af: SWAP1
000001b0: DUP2
000001b1: SWAP1
000001b2: SUB
000001b3: PUSH1 0x20
000001b5: ADD
000001b6: SWAP1
000001b7: RETURN
000001b8: JUMPDEST
000001b9: PUSH2 0x0178
000001bc: PUSH1 0x04
000001be: DUP1
000001bf: CALLDATASIZE
000001c0: SUB
000001c1: PUSH1 0xe0
000001c3: DUP2
000001c4: LT
000001c5: ISZERO
000001c6: PUSH2 0x01ce
000001c9: JUMPI
000001ca: PUSH1 0x00
000001cc: DUP1
000001cd: REVERT
000001ce: JUMPDEST
000001cf: DUP2
000001d0: ADD
000001d1: SWAP1
000001d2: PUSH1 0x20
000001d4: DUP2
000001d5: ADD
000001d6: DUP2
000001d7: CALLDATALOAD
000001d8: PUSH1 0x01
000001da: PUSH1 0x20
000001dc: SHL
000001dd: DUP2
000001de: GT
000001df: ISZERO
000001e0: PUSH2 0x01e8
000001e3: JUMPI
000001e4: PUSH1 0x00
000001e6: DUP1
000001e7: REVERT
000001e8: JUMPDEST
000001e9: DUP3
000001ea: ADD
000001eb: DUP4
000001ec: PUSH1 0x20
000001ee: DUP3
000001ef: ADD
000001f0: GT
000001f1: ISZERO
000001f2: PUSH2 0x01fa
000001f5: JUMPI
000001f6: PUSH1 0x00
000001f8: DUP1
000001f9: REVERT
000001fa: JUMPDEST
000001fb: DUP1
000001fc: CALLDATALOAD
000001fd: SWAP1
000001fe: PUSH1 0x20
00000200: ADD
00000201: SWAP2
00000202: DUP5
00000203: PUSH1 0x01
00000205: DUP4
00000206: MUL
00000207: DUP5
00000208: ADD
00000209: GT
0000020a: PUSH1 0x01
0000020c: PUSH1 0x20
0000020e: SHL
0000020f: DUP4
00000210: GT
00000211: OR
00000212: ISZERO
00000213: PUSH2 0x021b
00000216: JUMPI
00000217: PUSH1 0x00
00000219: DUP1
0000021a: REVERT
0000021b: JUMPDEST
0000021c: SWAP2
0000021d: SWAP4
0000021e: POP
0000021f: SWAP2
00000220: POP
00000221: DUP1
00000222: CALLDATALOAD
00000223: SWAP1
00000224: PUSH1 0x20
00000226: DUP2
00000227: ADD
00000228: CALLDATALOAD
00000229: SWAP1
0000022a: PUSH1 0x01
0000022c: PUSH1 0x01
0000022e: PUSH1 0xa0
00000230: SHL
00000231: SUB
00000232: PUSH1 0x40
00000234: DUP3
00000235: ADD
00000236: CALLDATALOAD
00000237: DUP2
00000238: AND
00000239: SWAP2
0000023a: PUSH1 0x60
0000023c: DUP2
0000023d: ADD
0000023e: CALLDATALOAD
0000023f: SWAP1
00000240: SWAP2
00000241: AND
00000242: SWAP1
00000243: PUSH1 0x80
00000245: DUP2
00000246: ADD
00000247: CALLDATALOAD
00000248: SWAP1
00000249: PUSH1 0xa0
0000024b: ADD
0000024c: CALLDATALOAD
0000024d: PUSH2 0x0631
00000250: JUMP
00000251: JUMPDEST
00000252: CALLVALUE
00000253: DUP1
00000254: ISZERO
00000255: PUSH2 0x025d
00000258: JUMPI
00000259: PUSH1 0x00
0000025b: DUP1
0000025c: REVERT
0000025d: JUMPDEST
0000025e: POP
0000025f: PUSH2 0x0266
00000262: PUSH2 0x0972
00000265: JUMP
00000266: JUMPDEST
00000267: PUSH1 0x40
00000269: DUP1
0000026a: MLOAD
0000026b: PUSH1 0x01
0000026d: PUSH1 0x01
0000026f: PUSH1 0xa0
00000271: SHL
00000272: SUB
00000273: SWAP1
00000274: SWAP3
00000275: AND
00000276: DUP3
00000277: MSTORE
00000278: MLOAD
00000279: SWAP1
0000027a: DUP2
0000027b: SWAP1
0000027c: SUB
0000027d: PUSH1 0x20
0000027f: ADD
00000280: SWAP1
00000281: RETURN
00000282: JUMPDEST
00000283: CALLVALUE
00000284: DUP1
00000285: ISZERO
00000286: PUSH2 0x028e
00000289: JUMPI
0000028a: PUSH1 0x00
0000028c: DUP1
0000028d: REVERT
0000028e: JUMPDEST
0000028f: POP
00000290: PUSH2 0x02b2
00000293: PUSH1 0x04
00000295: DUP1
00000296: CALLDATASIZE
00000297: SUB
00000298: PUSH1 0x40
0000029a: DUP2
0000029b: LT
0000029c: ISZERO
0000029d: PUSH2 0x02a5
000002a0: JUMPI
000002a1: PUSH1 0x00
000002a3: DUP1
000002a4: REVERT
000002a5: JUMPDEST
000002a6: POP
000002a7: DUP1
000002a8: CALLDATALOAD
000002a9: SWAP1
000002aa: PUSH1 0x20
000002ac: ADD
000002ad: CALLDATALOAD
000002ae: PUSH2 0x0981
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH1 0x40
000002b5: DUP1
000002b6: MLOAD
000002b7: SWAP2
000002b8: DUP3
000002b9: MSTORE
000002ba: MLOAD
000002bb: SWAP1
000002bc: DUP2
000002bd: SWAP1
000002be: SUB
000002bf: PUSH1 0x20
000002c1: ADD
000002c2: SWAP1
000002c3: RETURN
000002c4: JUMPDEST
000002c5: CALLVALUE
000002c6: DUP1
000002c7: ISZERO
000002c8: PUSH2 0x02d0
000002cb: JUMPI
000002cc: PUSH1 0x00
000002ce: DUP1
000002cf: REVERT
000002d0: JUMPDEST
000002d1: POP
000002d2: PUSH2 0x02b2
000002d5: PUSH2 0x0b62
000002d8: JUMP
000002d9: JUMPDEST
000002da: CALLVALUE
000002db: DUP1
000002dc: ISZERO
000002dd: PUSH2 0x02e5
000002e0: JUMPI
000002e1: PUSH1 0x00
000002e3: DUP1
000002e4: REVERT
000002e5: JUMPDEST
000002e6: POP
000002e7: PUSH2 0x02ee
000002ea: PUSH2 0x0b74
000002ed: JUMP
000002ee: JUMPDEST
000002ef: PUSH1 0x40
000002f1: DUP1
000002f2: MLOAD
000002f3: PUSH4 0xffffffff
000002f8: SWAP1
000002f9: SWAP3
000002fa: AND
000002fb: DUP3
000002fc: MSTORE
000002fd: MLOAD
000002fe: SWAP1
000002ff: DUP2
00000300: SWAP1
00000301: SUB
00000302: PUSH1 0x20
00000304: ADD
00000305: SWAP1
00000306: RETURN
00000307: JUMPDEST
00000308: CALLVALUE
00000309: DUP1
0000030a: ISZERO
0000030b: PUSH2 0x0313
0000030e: JUMPI
0000030f: PUSH1 0x00
00000311: DUP1
00000312: REVERT
00000313: JUMPDEST
00000314: POP
00000315: PUSH2 0x0266
00000318: PUSH2 0x0b80
0000031b: JUMP
0000031c: JUMPDEST
0000031d: CALLVALUE
0000031e: DUP1
0000031f: ISZERO
00000320: PUSH2 0x0328
00000323: JUMPI
00000324: PUSH1 0x00
00000326: DUP1
00000327: REVERT
00000328: JUMPDEST
00000329: POP
0000032a: PUSH2 0x01a4
0000032d: PUSH1 0x04
0000032f: DUP1
00000330: CALLDATASIZE
00000331: SUB
00000332: PUSH1 0x20
00000334: DUP2
00000335: LT
00000336: ISZERO
00000337: PUSH2 0x033f
0000033a: JUMPI
0000033b: PUSH1 0x00
0000033d: DUP1
0000033e: REVERT
0000033f: JUMPDEST
00000340: POP
00000341: CALLDATALOAD
00000342: PUSH2 0x0b8f
00000345: JUMP
00000346: JUMPDEST
00000347: CALLVALUE
00000348: DUP1
00000349: ISZERO
0000034a: PUSH2 0x0352
0000034d: JUMPI
0000034e: PUSH1 0x00
00000350: DUP1
00000351: REVERT
00000352: JUMPDEST
00000353: POP
00000354: PUSH2 0x01a4
00000357: PUSH1 0x04
00000359: DUP1
0000035a: CALLDATASIZE
0000035b: SUB
0000035c: PUSH1 0x20
0000035e: DUP2
0000035f: LT
00000360: ISZERO
00000361: PUSH2 0x0369
00000364: JUMPI
00000365: PUSH1 0x00
00000367: DUP1
00000368: REVERT
00000369: JUMPDEST
0000036a: POP
0000036b: CALLDATALOAD
0000036c: PUSH2 0x0c02
0000036f: JUMP
00000370: JUMPDEST
00000371: CALLVALUE
00000372: DUP1
00000373: ISZERO
00000374: PUSH2 0x037c
00000377: JUMPI
00000378: PUSH1 0x00
0000037a: DUP1
0000037b: REVERT
0000037c: JUMPDEST
0000037d: POP
0000037e: PUSH2 0x02b2
00000381: PUSH2 0x0c17
00000384: JUMP
00000385: JUMPDEST
00000386: CALLVALUE
00000387: DUP1
00000388: ISZERO
00000389: PUSH2 0x0391
0000038c: JUMPI
0000038d: PUSH1 0x00
0000038f: DUP1
00000390: REVERT
00000391: JUMPDEST
00000392: POP
00000393: PUSH2 0x02ee
00000396: PUSH2 0x0c1d
00000399: JUMP
0000039a: JUMPDEST
0000039b: CALLVALUE
0000039c: DUP1
0000039d: ISZERO
0000039e: PUSH2 0x03a6
000003a1: JUMPI
000003a2: PUSH1 0x00
000003a4: DUP1
000003a5: REVERT
000003a6: JUMPDEST
000003a7: POP
000003a8: PUSH2 0x0178
000003ab: PUSH1 0x04
000003ad: DUP1
000003ae: CALLDATASIZE
000003af: SUB
000003b0: PUSH1 0x20
000003b2: DUP2
000003b3: LT
000003b4: ISZERO
000003b5: PUSH2 0x03bd
000003b8: JUMPI
000003b9: PUSH1 0x00
000003bb: DUP1
000003bc: REVERT
000003bd: JUMPDEST
000003be: POP
000003bf: CALLDATALOAD
000003c0: PUSH1 0x01
000003c2: PUSH1 0x01
000003c4: PUSH1 0xa0
000003c6: SHL
000003c7: SUB
000003c8: AND
000003c9: PUSH2 0x0c29
000003cc: JUMP
000003cd: JUMPDEST
000003ce: CALLVALUE
000003cf: DUP1
000003d0: ISZERO
000003d1: PUSH2 0x03d9
000003d4: JUMPI
000003d5: PUSH1 0x00
000003d7: DUP1
000003d8: REVERT
000003d9: JUMPDEST
000003da: POP
000003db: PUSH2 0x0448
000003de: PUSH1 0x04
000003e0: DUP1
000003e1: CALLDATASIZE
000003e2: SUB
000003e3: PUSH1 0x20
000003e5: DUP2
000003e6: LT
000003e7: ISZERO
000003e8: PUSH2 0x03f0
000003eb: JUMPI
000003ec: PUSH1 0x00
000003ee: DUP1
000003ef: REVERT
000003f0: JUMPDEST
000003f1: DUP2
000003f2: ADD
000003f3: SWAP1
000003f4: PUSH1 0x20
000003f6: DUP2
000003f7: ADD
000003f8: DUP2
000003f9: CALLDATALOAD
000003fa: PUSH1 0x01
000003fc: PUSH1 0x20
000003fe: SHL
000003ff: DUP2
00000400: GT
00000401: ISZERO
00000402: PUSH2 0x040a
00000405: JUMPI
00000406: PUSH1 0x00
00000408: DUP1
00000409: REVERT
0000040a: JUMPDEST
0000040b: DUP3
0000040c: ADD
0000040d: DUP4
0000040e: PUSH1 0x20
00000410: DUP3
00000411: ADD
00000412: GT
00000413: ISZERO
00000414: PUSH2 0x041c
00000417: JUMPI
00000418: PUSH1 0x00
0000041a: DUP1
0000041b: REVERT
0000041c: JUMPDEST
0000041d: DUP1
0000041e: CALLDATALOAD
0000041f: SWAP1
00000420: PUSH1 0x20
00000422: ADD
00000423: SWAP2
00000424: DUP5
00000425: PUSH1 0x20
00000427: DUP4
00000428: MUL
00000429: DUP5
0000042a: ADD
0000042b: GT
0000042c: PUSH1 0x01
0000042e: PUSH1 0x20
00000430: SHL
00000431: DUP4
00000432: GT
00000433: OR
00000434: ISZERO
00000435: PUSH2 0x043d
00000438: JUMPI
00000439: PUSH1 0x00
0000043b: DUP1
0000043c: REVERT
0000043d: JUMPDEST
0000043e: POP
0000043f: SWAP1
00000440: SWAP3
00000441: POP
00000442: SWAP1
00000443: POP
00000444: PUSH2 0x0c94
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH1 0x40
0000044b: DUP1
0000044c: MLOAD
0000044d: PUSH1 0x20
0000044f: DUP1
00000450: DUP3
00000451: MSTORE
00000452: DUP4
00000453: MLOAD
00000454: DUP2
00000455: DUP4
00000456: ADD
00000457: MSTORE
00000458: DUP4
00000459: MLOAD
0000045a: SWAP2
0000045b: SWAP3
0000045c: DUP4
0000045d: SWAP3
0000045e: SWAP1
0000045f: DUP4
00000460: ADD
00000461: SWAP2
00000462: DUP6
00000463: DUP2
00000464: ADD
00000465: SWAP2
00000466: MUL
00000467: DUP1
00000468: DUP4
00000469: DUP4
0000046a: PUSH1 0x00
0000046c: JUMPDEST
0000046d: DUP4
0000046e: DUP2
0000046f: LT
00000470: ISZERO
00000471: PUSH2 0x0484
00000474: JUMPI
00000475: DUP2
00000476: DUP2
00000477: ADD
00000478: MLOAD
00000479: DUP4
0000047a: DUP3
0000047b: ADD
0000047c: MSTORE
0000047d: PUSH1 0x20
0000047f: ADD
00000480: PUSH2 0x046c
00000483: JUMP
00000484: JUMPDEST
00000485: POP
00000486: POP
00000487: POP
00000488: POP
00000489: SWAP1
0000048a: POP
0000048b: ADD
0000048c: SWAP3
0000048d: POP
0000048e: POP
0000048f: POP
00000490: PUSH1 0x40
00000492: MLOAD
00000493: DUP1
00000494: SWAP2
00000495: SUB
00000496: SWAP1
00000497: RETURN
00000498: JUMPDEST
00000499: PUSH2 0x0178
0000049c: PUSH1 0x04
0000049e: DUP1
0000049f: CALLDATASIZE
000004a0: SUB
000004a1: PUSH1 0x20
000004a3: DUP2
000004a4: LT
000004a5: ISZERO
000004a6: PUSH2 0x04ae
000004a9: JUMPI
000004aa: PUSH1 0x00
000004ac: DUP1
000004ad: REVERT
000004ae: JUMPDEST
000004af: POP
000004b0: CALLDATALOAD
000004b1: PUSH2 0x0d1c
000004b4: JUMP
000004b5: JUMPDEST
000004b6: CALLVALUE
000004b7: DUP1
000004b8: ISZERO
000004b9: PUSH2 0x04c1
000004bc: JUMPI
000004bd: PUSH1 0x00
000004bf: DUP1
000004c0: REVERT
000004c1: JUMPDEST
000004c2: POP
000004c3: PUSH2 0x02b2
000004c6: PUSH2 0x0e3d
000004c9: JUMP
000004ca: JUMPDEST
000004cb: CALLVALUE
000004cc: DUP1
000004cd: ISZERO
000004ce: PUSH2 0x04d6
000004d1: JUMPI
000004d2: PUSH1 0x00
000004d4: DUP1
000004d5: REVERT
000004d6: JUMPDEST
000004d7: POP
000004d8: PUSH2 0x02b2
000004db: PUSH1 0x04
000004dd: DUP1
000004de: CALLDATASIZE
000004df: SUB
000004e0: PUSH1 0x20
000004e2: DUP2
000004e3: LT
000004e4: ISZERO
000004e5: PUSH2 0x04ed
000004e8: JUMPI
000004e9: PUSH1 0x00
000004eb: DUP1
000004ec: REVERT
000004ed: JUMPDEST
000004ee: POP
000004ef: CALLDATALOAD
000004f0: PUSH2 0x0e5d
000004f3: JUMP
000004f4: JUMPDEST
000004f5: CALLVALUE
000004f6: DUP1
000004f7: ISZERO
000004f8: PUSH2 0x0500
000004fb: JUMPI
000004fc: PUSH1 0x00
000004fe: DUP1
000004ff: REVERT
00000500: JUMPDEST
00000501: POP
00000502: PUSH2 0x02ee
00000505: PUSH2 0x0e71
00000508: JUMP
00000509: JUMPDEST
0000050a: CALLVALUE
0000050b: DUP1
0000050c: ISZERO
0000050d: PUSH2 0x0515
00000510: JUMPI
00000511: PUSH1 0x00
00000513: DUP1
00000514: REVERT
00000515: JUMPDEST
00000516: POP
00000517: PUSH2 0x01a4
0000051a: PUSH1 0x04
0000051c: DUP1
0000051d: CALLDATASIZE
0000051e: SUB
0000051f: PUSH1 0x20
00000521: DUP2
00000522: LT
00000523: ISZERO
00000524: PUSH2 0x052c
00000527: JUMPI
00000528: PUSH1 0x00
0000052a: DUP1
0000052b: REVERT
0000052c: JUMPDEST
0000052d: POP
0000052e: CALLDATALOAD
0000052f: PUSH2 0x0e76
00000532: JUMP
00000533: JUMPDEST
00000534: CALLVALUE
00000535: DUP1
00000536: ISZERO
00000537: PUSH2 0x053f
0000053a: JUMPI
0000053b: PUSH1 0x00
0000053d: DUP1
0000053e: REVERT
0000053f: JUMPDEST
00000540: POP
00000541: PUSH2 0x02b2
00000544: PUSH1 0x04
00000546: DUP1
00000547: CALLDATASIZE
00000548: SUB
00000549: PUSH1 0x20
0000054b: DUP2
0000054c: LT
0000054d: ISZERO
0000054e: PUSH2 0x0556
00000551: JUMPI
00000552: PUSH1 0x00
00000554: DUP1
00000555: REVERT
00000556: JUMPDEST
00000557: POP
00000558: CALLDATALOAD
00000559: PUSH2 0x0e8b
0000055c: JUMP
0000055d: JUMPDEST
0000055e: CALLVALUE
0000055f: DUP1
00000560: ISZERO
00000561: PUSH2 0x0569
00000564: JUMPI
00000565: PUSH1 0x00
00000567: DUP1
00000568: REVERT
00000569: JUMPDEST
0000056a: POP
0000056b: PUSH2 0x02b2
0000056e: PUSH2 0x0ea9
00000571: JUMP
00000572: JUMPDEST
00000573: CALLVALUE
00000574: DUP1
00000575: ISZERO
00000576: PUSH2 0x057e
00000579: JUMPI
0000057a: PUSH1 0x00
0000057c: DUP1
0000057d: REVERT
0000057e: JUMPDEST
0000057f: POP
00000580: PUSH2 0x02b2
00000583: PUSH1 0x04
00000585: DUP1
00000586: CALLDATASIZE
00000587: SUB
00000588: PUSH1 0x20
0000058a: DUP2
0000058b: LT
0000058c: ISZERO
0000058d: PUSH2 0x0595
00000590: JUMPI
00000591: PUSH1 0x00
00000593: DUP1
00000594: REVERT
00000595: JUMPDEST
00000596: POP
00000597: CALLDATALOAD
00000598: PUSH2 0x0ecd
0000059b: JUMP
0000059c: JUMPDEST
0000059d: CALLVALUE
0000059e: DUP1
0000059f: ISZERO
000005a0: PUSH2 0x05a8
000005a3: JUMPI
000005a4: PUSH1 0x00
000005a6: DUP1
000005a7: REVERT
000005a8: JUMPDEST
000005a9: POP
000005aa: PUSH2 0x02ee
000005ad: PUSH2 0x0eda
000005b0: JUMP
000005b1: JUMPDEST
000005b2: PUSH1 0x6d
000005b4: SLOAD
000005b5: PUSH1 0x01
000005b7: PUSH1 0x01
000005b9: PUSH1 0xa0
000005bb: SHL
000005bc: SUB
000005bd: AND
000005be: CALLER
000005bf: EQ
000005c0: PUSH2 0x05fa
000005c3: JUMPI
000005c4: PUSH1 0x40
000005c6: MLOAD
000005c7: PUSH3 0x461bcd
000005cb: PUSH1 0xe5
000005cd: SHL
000005ce: DUP2
000005cf: MSTORE
000005d0: PUSH1 0x04
000005d2: ADD
000005d3: DUP1
000005d4: DUP1
000005d5: PUSH1 0x20
000005d7: ADD
000005d8: DUP3
000005d9: DUP2
000005da: SUB
000005db: DUP3
000005dc: MSTORE
000005dd: PUSH1 0x25
000005df: DUP2
000005e0: MSTORE
000005e1: PUSH1 0x20
000005e3: ADD
000005e4: DUP1
000005e5: PUSH2 0x13b9
000005e8: PUSH1 0x25
000005ea: SWAP2
000005eb: CODECOPY
000005ec: PUSH1 0x40
000005ee: ADD
000005ef: SWAP2
000005f0: POP
000005f1: POP
000005f2: PUSH1 0x40
000005f4: MLOAD
000005f5: DUP1
000005f6: SWAP2
000005f7: SUB
000005f8: SWAP1
000005f9: REVERT
000005fa: JUMPDEST
000005fb: PUSH1 0x6d
000005fd: DUP1
000005fe: SLOAD
000005ff: PUSH1 0x01
00000601: PUSH1 0x01
00000603: PUSH1 0xa0
00000605: SHL
00000606: SUB
00000607: NOT
00000608: AND
00000609: PUSH1 0x01
0000060b: PUSH1 0x01
0000060d: PUSH1 0xa0
0000060f: SHL
00000610: SUB
00000611: SWAP3
00000612: SWAP1
00000613: SWAP3
00000614: AND
00000615: SWAP2
00000616: SWAP1
00000617: SWAP2
00000618: OR
00000619: SWAP1
0000061a: SSTORE
0000061b: JUMP
0000061c: JUMPDEST
0000061d: PUSH1 0x6a
0000061f: PUSH1 0x20
00000621: MSTORE
00000622: PUSH1 0x00
00000624: SWAP1
00000625: DUP2
00000626: MSTORE
00000627: PUSH1 0x40
00000629: SWAP1
0000062a: KECCAK256
0000062b: SLOAD
0000062c: PUSH1 0xff
0000062e: AND
0000062f: DUP2
00000630: JUMP
00000631: JUMPDEST
00000632: PUSH1 0x68
00000634: DUP1
00000635: SLOAD
00000636: PUSH1 0x01
00000638: ADD
00000639: SWAP1
0000063a: DUP2
0000063b: SWAP1
0000063c: SSTORE
0000063d: PUSH1 0x69
0000063f: SLOAD
00000640: DUP4
00000641: GT
00000642: ISZERO
00000643: PUSH2 0x0693
00000646: JUMPI
00000647: PUSH1 0x40
00000649: DUP1
0000064a: MLOAD
0000064b: PUSH3 0x461bcd
0000064f: PUSH1 0xe5
00000651: SHL
00000652: DUP2
00000653: MSTORE
00000654: PUSH1 0x20
00000656: PUSH1 0x04
00000658: DUP3
00000659: ADD
0000065a: MSTORE
0000065b: PUSH1 0x1a
0000065d: PUSH1 0x24
0000065f: DUP3
00000660: ADD
00000661: MSTORE
00000662: PUSH32 0x4665652065786365656473207472616e736665722076616c7565000000000000
00000683: PUSH1 0x44
00000685: DUP3
00000686: ADD
00000687: MSTORE
00000688: SWAP1
00000689: MLOAD
0000068a: SWAP1
0000068b: DUP2
0000068c: SWAP1
0000068d: SUB
0000068e: PUSH1 0x64
00000690: ADD
00000691: SWAP1
00000692: REVERT
00000693: JUMPDEST
00000694: PUSH1 0x00
00000696: DUP7
00000697: DUP2
00000698: MSTORE
00000699: PUSH1 0x6a
0000069b: PUSH1 0x20
0000069d: MSTORE
0000069e: PUSH1 0x40
000006a0: SWAP1
000006a1: KECCAK256
000006a2: SLOAD
000006a3: PUSH1 0xff
000006a5: AND
000006a6: ISZERO
000006a7: PUSH2 0x06f7
000006aa: JUMPI
000006ab: PUSH1 0x40
000006ad: DUP1
000006ae: MLOAD
000006af: PUSH3 0x461bcd
000006b3: PUSH1 0xe5
000006b5: SHL
000006b6: DUP2
000006b7: MSTORE
000006b8: PUSH1 0x20
000006ba: PUSH1 0x04
000006bc: DUP3
000006bd: ADD
000006be: MSTORE
000006bf: PUSH1 0x1f
000006c1: PUSH1 0x24
000006c3: DUP3
000006c4: ADD
000006c5: MSTORE
000006c6: PUSH32 0x546865206e6f746520686173206265656e20616c7265616479207370656e7400
000006e7: PUSH1 0x44
000006e9: DUP3
000006ea: ADD
000006eb: MSTORE
000006ec: SWAP1
000006ed: MLOAD
000006ee: SWAP1
000006ef: DUP2
000006f0: SWAP1
000006f1: SUB
000006f2: PUSH1 0x64
000006f4: ADD
000006f5: SWAP1
000006f6: REVERT
000006f7: JUMPDEST
000006f8: PUSH2 0x0700
000006fb: DUP8
000006fc: PUSH2 0x0b8f
000006ff: JUMP
00000700: JUMPDEST
00000701: PUSH2 0x0751
00000704: JUMPI
00000705: PUSH1 0x40
00000707: DUP1
00000708: MLOAD
00000709: PUSH3 0x461bcd
0000070d: PUSH1 0xe5
0000070f: SHL
00000710: DUP2
00000711: MSTORE
00000712: PUSH1 0x20
00000714: PUSH1 0x04
00000716: DUP3
00000717: ADD
00000718: MSTORE
00000719: PUSH1 0x1c
0000071b: PUSH1 0x24
0000071d: DUP3
0000071e: ADD
0000071f: MSTORE
00000720: PUSH32 0x43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000
00000741: PUSH1 0x44
00000743: DUP3
00000744: ADD
00000745: MSTORE
00000746: SWAP1
00000747: MLOAD
00000748: SWAP1
00000749: DUP2
0000074a: SWAP1
0000074b: SUB
0000074c: PUSH1 0x64
0000074e: ADD
0000074f: SWAP1
00000750: REVERT
00000751: JUMPDEST
00000752: PUSH1 0x6c
00000754: SLOAD
00000755: PUSH1 0x40
00000757: DUP1
00000758: MLOAD
00000759: PUSH1 0xc0
0000075b: DUP1
0000075c: DUP3
0000075d: ADD
0000075e: DUP4
0000075f: MSTORE
00000760: DUP11
00000761: DUP3
00000762: MSTORE
00000763: PUSH1 0x20
00000765: DUP3
00000766: ADD
00000767: DUP11
00000768: SWAP1
00000769: MSTORE
0000076a: PUSH1 0x01
0000076c: PUSH1 0x01
0000076e: PUSH1 0xa0
00000770: SHL
00000771: SUB
00000772: DUP10
00000773: DUP2
00000774: AND
00000775: DUP4
00000776: DUP6
00000777: ADD
00000778: MSTORE
00000779: DUP9
0000077a: DUP2
0000077b: AND
0000077c: PUSH1 0x60
0000077e: DUP5
0000077f: ADD
00000780: MSTORE
00000781: PUSH1 0x80
00000783: DUP4
00000784: ADD
00000785: DUP9
00000786: SWAP1
00000787: MSTORE
00000788: PUSH1 0xa0
0000078a: DUP4
0000078b: ADD
0000078c: DUP8
0000078d: SWAP1
0000078e: MSTORE
0000078f: SWAP3
00000790: MLOAD
00000791: PUSH4 0x695ef6f9
00000796: PUSH1 0xe0
00000798: SHL
00000799: DUP2
0000079a: MSTORE
0000079b: SWAP3
0000079c: SWAP1
0000079d: SWAP4
0000079e: AND
0000079f: SWAP3
000007a0: PUSH4 0x695ef6f9
000007a5: SWAP3
000007a6: DUP14
000007a7: SWAP3
000007a8: DUP14
000007a9: SWAP3
000007aa: SWAP1
000007ab: SWAP2
000007ac: PUSH1 0x04
000007ae: DUP2
000007af: ADD
000007b0: SWAP2
000007b1: DUP3
000007b2: SWAP2
000007b3: PUSH1 0x24
000007b5: ADD
000007b6: SWAP1
000007b7: DUP5
000007b8: SWAP1
000007b9: DUP1
000007ba: DUP4
000007bb: DUP4
000007bc: PUSH1 0x00
000007be: JUMPDEST
000007bf: DUP4
000007c0: DUP2
000007c1: LT
000007c2: ISZERO
000007c3: PUSH2 0x07d6
000007c6: JUMPI
000007c7: DUP2
000007c8: DUP2
000007c9: ADD
000007ca: MLOAD
000007cb: DUP4
000007cc: DUP3
000007cd: ADD
000007ce: MSTORE
000007cf: PUSH1 0x20
000007d1: ADD
000007d2: PUSH2 0x07be
000007d5: JUMP
000007d6: JUMPDEST
000007d7: POP
000007d8: POP
000007d9: POP
000007da: POP
000007db: SWAP1
000007dc: POP
000007dd: ADD
000007de: DUP3
000007df: DUP2
000007e0: SUB
000007e1: DUP3
000007e2: MSTORE
000007e3: DUP6
000007e4: DUP6
000007e5: DUP3
000007e6: DUP2
000007e7: DUP2
000007e8: MSTORE
000007e9: PUSH1 0x20
000007eb: ADD
000007ec: SWAP3
000007ed: POP
000007ee: DUP1
000007ef: DUP3
000007f0: DUP5
000007f1: CALLDATACOPY
000007f2: PUSH1 0x00
000007f4: DUP2
000007f5: DUP5
000007f6: ADD
000007f7: MSTORE
000007f8: PUSH1 0x1f
000007fa: NOT
000007fb: PUSH1 0x1f
000007fd: DUP3
000007fe: ADD
000007ff: AND
00000800: SWAP1
00000801: POP
00000802: DUP1
00000803: DUP4
00000804: ADD
00000805: SWAP3
00000806: POP
00000807: POP
00000808: POP
00000809: SWAP5
0000080a: POP
0000080b: POP
0000080c: POP
0000080d: POP
0000080e: POP
0000080f: PUSH1 0x20
00000811: PUSH1 0x40
00000813: MLOAD
00000814: DUP1
00000815: DUP4
00000816: SUB
00000817: DUP2
00000818: PUSH1 0x00
0000081a: DUP8
0000081b: DUP1
0000081c: EXTCODESIZE
0000081d: ISZERO
0000081e: DUP1
0000081f: ISZERO
00000820: PUSH2 0x0828
00000823: JUMPI
00000824: PUSH1 0x00
00000826: DUP1
00000827: REVERT
00000828: JUMPDEST
00000829: POP
0000082a: GAS
0000082b: CALL
0000082c: ISZERO
0000082d: DUP1
0000082e: ISZERO
0000082f: PUSH2 0x083c
00000832: JUMPI
00000833: RETURNDATASIZE
00000834: PUSH1 0x00
00000836: DUP1
00000837: RETURNDATACOPY
00000838: RETURNDATASIZE
00000839: PUSH1 0x00
0000083b: REVERT
0000083c: JUMPDEST
0000083d: POP
0000083e: POP
0000083f: POP
00000840: POP
00000841: PUSH1 0x40
00000843: MLOAD
00000844: RETURNDATASIZE
00000845: PUSH1 0x20
00000847: DUP2
00000848: LT
00000849: ISZERO
0000084a: PUSH2 0x0852
0000084d: JUMPI
0000084e: PUSH1 0x00
00000850: DUP1
00000851: REVERT
00000852: JUMPDEST
00000853: POP
00000854: MLOAD
00000855: PUSH2 0x089e
00000858: JUMPI
00000859: PUSH1 0x40
0000085b: DUP1
0000085c: MLOAD
0000085d: PUSH3 0x461bcd
00000861: PUSH1 0xe5
00000863: SHL
00000864: DUP2
00000865: MSTORE
00000866: PUSH1 0x20
00000868: PUSH1 0x04
0000086a: DUP3
0000086b: ADD
0000086c: MSTORE
0000086d: PUSH1 0x16
0000086f: PUSH1 0x24
00000871: DUP3
00000872: ADD
00000873: MSTORE
00000874: PUSH22 0x24b73b30b634b2103bb4ba34323930bb90383937b7b3
0000088b: PUSH1 0x51
0000088d: SHL
0000088e: PUSH1 0x44
00000890: DUP3
00000891: ADD
00000892: MSTORE
00000893: SWAP1
00000894: MLOAD
00000895: SWAP1
00000896: DUP2
00000897: SWAP1
00000898: SUB
00000899: PUSH1 0x64
0000089b: ADD
0000089c: SWAP1
0000089d: REVERT
0000089e: JUMPDEST
0000089f: PUSH1 0x00
000008a1: DUP7
000008a2: DUP2
000008a3: MSTORE
000008a4: PUSH1 0x6a
000008a6: PUSH1 0x20
000008a8: MSTORE
000008a9: PUSH1 0x40
000008ab: SWAP1
000008ac: KECCAK256
000008ad: DUP1
000008ae: SLOAD
000008af: PUSH1 0xff
000008b1: NOT
000008b2: AND
000008b3: PUSH1 0x01
000008b5: OR
000008b6: SWAP1
000008b7: SSTORE
000008b8: PUSH2 0x08c3
000008bb: DUP6
000008bc: DUP6
000008bd: DUP6
000008be: DUP6
000008bf: PUSH2 0x0eed
000008c2: JUMP
000008c3: JUMPDEST
000008c4: PUSH1 0x40
000008c6: DUP1
000008c7: MLOAD
000008c8: PUSH1 0x01
000008ca: PUSH1 0x01
000008cc: PUSH1 0xa0
000008ce: SHL
000008cf: SUB
000008d0: DUP8
000008d1: DUP2
000008d2: AND
000008d3: DUP3
000008d4: MSTORE
000008d5: PUSH1 0x20
000008d7: DUP3
000008d8: ADD
000008d9: DUP10
000008da: SWAP1
000008db: MSTORE
000008dc: DUP2
000008dd: DUP4
000008de: ADD
000008df: DUP7
000008e0: SWAP1
000008e1: MSTORE
000008e2: SWAP2
000008e3: MLOAD
000008e4: SWAP2
000008e5: DUP7
000008e6: AND
000008e7: SWAP2
000008e8: PUSH32 0xe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c34931
00000909: SWAP2
0000090a: DUP2
0000090b: SWAP1
0000090c: SUB
0000090d: PUSH1 0x60
0000090f: ADD
00000910: SWAP1
00000911: LOG2
00000912: PUSH1 0x68
00000914: SLOAD
00000915: DUP2
00000916: EQ
00000917: PUSH2 0x0967
0000091a: JUMPI
0000091b: PUSH1 0x40
0000091d: DUP1
0000091e: MLOAD
0000091f: PUSH3 0x461bcd
00000923: PUSH1 0xe5
00000925: SHL
00000926: DUP2
00000927: MSTORE
00000928: PUSH1 0x20
0000092a: PUSH1 0x04
0000092c: DUP3
0000092d: ADD
0000092e: MSTORE
0000092f: PUSH1 0x1f
00000931: PUSH1 0x24
00000933: DUP3
00000934: ADD
00000935: MSTORE
00000936: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00000957: PUSH1 0x44
00000959: DUP3
0000095a: ADD
0000095b: MSTORE
0000095c: SWAP1
0000095d: MLOAD
0000095e: SWAP1
0000095f: DUP2
00000960: SWAP1
00000961: SUB
00000962: PUSH1 0x64
00000964: ADD
00000965: SWAP1
00000966: REVERT
00000967: JUMPDEST
00000968: POP
00000969: POP
0000096a: POP
0000096b: POP
0000096c: POP
0000096d: POP
0000096e: POP
0000096f: POP
00000970: POP
00000971: JUMP
00000972: JUMPDEST
00000973: PUSH1 0x6c
00000975: SLOAD
00000976: PUSH1 0x01
00000978: PUSH1 0x01
0000097a: PUSH1 0xa0
0000097c: SHL
0000097d: SUB
0000097e: AND
0000097f: DUP2
00000980: JUMP
00000981: JUMPDEST
00000982: PUSH1 0x00
00000984: PUSH1 0x00
00000986: DUP1
00000987: MLOAD
00000988: PUSH1 0x20
0000098a: PUSH2 0x1330
0000098d: DUP4
0000098e: CODECOPY
0000098f: DUP2
00000990: MLOAD
00000991: SWAP2
00000992: MSTORE
00000993: DUP4
00000994: LT
00000995: PUSH2 0x09e5
00000998: JUMPI
00000999: PUSH1 0x40
0000099b: DUP1
0000099c: MLOAD
0000099d: PUSH3 0x461bcd
000009a1: PUSH1 0xe5
000009a3: SHL
000009a4: DUP2
000009a5: MSTORE
000009a6: PUSH1 0x20
000009a8: PUSH1 0x04
000009aa: DUP3
000009ab: ADD
000009ac: DUP2
000009ad: SWAP1
000009ae: MSTORE
000009af: PUSH1 0x24
000009b1: DUP3
000009b2: ADD
000009b3: MSTORE
000009b4: PUSH32 0x5f6c6566742073686f756c6420626520696e7369646520746865206669656c64
000009d5: PUSH1 0x44
000009d7: DUP3
000009d8: ADD
000009d9: MSTORE
000009da: SWAP1
000009db: MLOAD
000009dc: SWAP1
000009dd: DUP2
000009de: SWAP1
000009df: SUB
000009e0: PUSH1 0x64
000009e2: ADD
000009e3: SWAP1
000009e4: REVERT
000009e5: JUMPDEST
000009e6: PUSH1 0x00
000009e8: DUP1
000009e9: MLOAD
000009ea: PUSH1 0x20
000009ec: PUSH2 0x1330
000009ef: DUP4
000009f0: CODECOPY
000009f1: DUP2
000009f2: MLOAD
000009f3: SWAP2
000009f4: MSTORE
000009f5: DUP3
000009f6: LT
000009f7: PUSH2 0x0a31
000009fa: JUMPI
000009fb: PUSH1 0x40
000009fd: MLOAD
000009fe: PUSH3 0x461bcd
00000a02: PUSH1 0xe5
00000a04: SHL
00000a05: DUP2
00000a06: MSTORE
00000a07: PUSH1 0x04
00000a09: ADD
00000a0a: DUP1
00000a0b: DUP1
00000a0c: PUSH1 0x20
00000a0e: ADD
00000a0f: DUP3
00000a10: DUP2
00000a11: SUB
00000a12: DUP3
00000a13: MSTORE
00000a14: PUSH1 0x21
00000a16: DUP2
00000a17: MSTORE
00000a18: PUSH1 0x20
00000a1a: ADD
00000a1b: DUP1
00000a1c: PUSH2 0x12db
00000a1f: PUSH1 0x21
00000a21: SWAP2
00000a22: CODECOPY
00000a23: PUSH1 0x40
00000a25: ADD
00000a26: SWAP2
00000a27: POP
00000a28: POP
00000a29: PUSH1 0x40
00000a2b: MLOAD
00000a2c: DUP1
00000a2d: SWAP2
00000a2e: SUB
00000a2f: SWAP1
00000a30: REVERT
00000a31: JUMPDEST
00000a32: PUSH1 0x40
00000a34: DUP1
00000a35: MLOAD
00000a36: PUSH4 0xf47d33b5
00000a3b: PUSH1 0xe0
00000a3d: SHL
00000a3e: DUP2
00000a3f: MSTORE
00000a40: PUSH1 0x04
00000a42: DUP2
00000a43: ADD
00000a44: DUP6
00000a45: SWAP1
00000a46: MSTORE
00000a47: PUSH1 0x00
00000a49: PUSH1 0x24
00000a4b: DUP3
00000a4c: ADD
00000a4d: DUP2
00000a4e: SWAP1
00000a4f: MSTORE
00000a50: DUP3
00000a51: MLOAD
00000a52: DUP7
00000a53: SWAP4
00000a54: SWAP2
00000a55: SWAP3
00000a56: PUSH20 0x83584f83f26af4edda9cbe8c730bc87c364b28fe
00000a6b: SWAP3
00000a6c: PUSH4 0xf47d33b5
00000a71: SWAP3
00000a72: PUSH1 0x44
00000a74: DUP1
00000a75: DUP5
00000a76: ADD
00000a77: SWAP4
00000a78: DUP3
00000a79: SWAP1
00000a7a: SUB
00000a7b: ADD
00000a7c: DUP2
00000a7d: DUP7
00000a7e: DUP1
00000a7f: EXTCODESIZE
00000a80: ISZERO
00000a81: DUP1
00000a82: ISZERO
00000a83: PUSH2 0x0a8b
00000a86: JUMPI
00000a87: PUSH1 0x00
00000a89: DUP1
00000a8a: REVERT
00000a8b: JUMPDEST
00000a8c: POP
00000a8d: GAS
00000a8e: DELEGATECALL
00000a8f: ISZERO
00000a90: DUP1
00000a91: ISZERO
00000a92: PUSH2 0x0a9f
00000a95: JUMPI
00000a96: RETURNDATASIZE
00000a97: PUSH1 0x00
00000a99: DUP1
00000a9a: RETURNDATACOPY
00000a9b: RETURNDATASIZE
00000a9c: PUSH1 0x00
00000a9e: REVERT
00000a9f: JUMPDEST
00000aa0: POP
00000aa1: POP
00000aa2: POP
00000aa3: POP
00000aa4: PUSH1 0x40
00000aa6: MLOAD
00000aa7: RETURNDATASIZE
00000aa8: PUSH1 0x40
00000aaa: DUP2
00000aab: LT
00000aac: ISZERO
00000aad: PUSH2 0x0ab5
00000ab0: JUMPI
00000ab1: PUSH1 0x00
00000ab3: DUP1
00000ab4: REVERT
00000ab5: JUMPDEST
00000ab6: POP
00000ab7: DUP1
00000ab8: MLOAD
00000ab9: PUSH1 0x20
00000abb: SWAP1
00000abc: SWAP2
00000abd: ADD
00000abe: MLOAD
00000abf: SWAP1
00000ac0: SWAP3
00000ac1: POP
00000ac2: SWAP1
00000ac3: POP
00000ac4: PUSH1 0x00
00000ac6: DUP1
00000ac7: MLOAD
00000ac8: PUSH1 0x20
00000aca: PUSH2 0x1330
00000acd: DUP4
00000ace: CODECOPY
00000acf: DUP2
00000ad0: MLOAD
00000ad1: SWAP2
00000ad2: MSTORE
00000ad3: DUP5
00000ad4: DUP4
00000ad5: ADDMOD
00000ad6: SWAP2
00000ad7: POP
00000ad8: PUSH20 0x83584f83f26af4edda9cbe8c730bc87c364b28fe
00000aed: PUSH4 0xf47d33b5
00000af2: DUP4
00000af3: DUP4
00000af4: PUSH1 0x40
00000af6: MLOAD
00000af7: DUP4
00000af8: PUSH4 0xffffffff
00000afd: AND
00000afe: PUSH1 0xe0
00000b00: SHL
00000b01: DUP2
00000b02: MSTORE
00000b03: PUSH1 0x04
00000b05: ADD
00000b06: DUP1
00000b07: DUP4
00000b08: DUP2
00000b09: MSTORE
00000b0a: PUSH1 0x20
00000b0c: ADD
00000b0d: DUP3
00000b0e: DUP2
00000b0f: MSTORE
00000b10: PUSH1 0x20
00000b12: ADD
00000b13: SWAP3
00000b14: POP
00000b15: POP
00000b16: POP
00000b17: PUSH1 0x40
00000b19: DUP1
00000b1a: MLOAD
00000b1b: DUP1
00000b1c: DUP4
00000b1d: SUB
00000b1e: DUP2
00000b1f: DUP7
00000b20: DUP1
00000b21: EXTCODESIZE
00000b22: ISZERO
00000b23: DUP1
00000b24: ISZERO
00000b25: PUSH2 0x0b2d
00000b28: JUMPI
00000b29: PUSH1 0x00
00000b2b: DUP1
00000b2c: REVERT
00000b2d: JUMPDEST
00000b2e: POP
00000b2f: GAS
00000b30: DELEGATECALL
00000b31: ISZERO
00000b32: DUP1
00000b33: ISZERO
00000b34: PUSH2 0x0b41
00000b37: JUMPI
00000b38: RETURNDATASIZE
00000b39: PUSH1 0x00
00000b3b: DUP1
00000b3c: RETURNDATACOPY
00000b3d: RETURNDATASIZE
00000b3e: PUSH1 0x00
00000b40: REVERT
00000b41: JUMPDEST
00000b42: POP
00000b43: POP
00000b44: POP
00000b45: POP
00000b46: PUSH1 0x40
00000b48: MLOAD
00000b49: RETURNDATASIZE
00000b4a: PUSH1 0x40
00000b4c: DUP2
00000b4d: LT
00000b4e: ISZERO
00000b4f: PUSH2 0x0b57
00000b52: JUMPI
00000b53: PUSH1 0x00
00000b55: DUP1
00000b56: REVERT
00000b57: JUMPDEST
00000b58: POP
00000b59: MLOAD
00000b5a: SWAP6
00000b5b: SWAP5
00000b5c: POP
00000b5d: POP
00000b5e: POP
00000b5f: POP
00000b60: POP
00000b61: JUMP
00000b62: JUMPDEST
00000b63: PUSH1 0x00
00000b65: DUP1
00000b66: MLOAD
00000b67: PUSH1 0x20
00000b69: PUSH2 0x1330
00000b6c: DUP4
00000b6d: CODECOPY
00000b6e: DUP2
00000b6f: MLOAD
00000b70: SWAP2
00000b71: MSTORE
00000b72: DUP2
00000b73: JUMP
00000b74: JUMPDEST
00000b75: PUSH1 0x00
00000b77: SLOAD
00000b78: PUSH4 0xffffffff
00000b7d: AND
00000b7e: DUP2
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: PUSH1 0x6d
00000b83: SLOAD
00000b84: PUSH1 0x01
00000b86: PUSH1 0x01
00000b88: PUSH1 0xa0
00000b8a: SHL
00000b8b: SUB
00000b8c: AND
00000b8d: DUP2
00000b8e: JUMP
00000b8f: JUMPDEST
00000b90: PUSH1 0x00
00000b92: DUP2
00000b93: PUSH2 0x0b9e
00000b96: JUMPI
00000b97: POP
00000b98: PUSH1 0x00
00000b9a: PUSH2 0x0bfd
00000b9d: JUMP
00000b9e: JUMPDEST
00000b9f: PUSH1 0x03
00000ba1: SLOAD
00000ba2: PUSH4 0xffffffff
00000ba7: AND
00000ba8: JUMPDEST
00000ba9: PUSH1 0x04
00000bab: DUP2
00000bac: PUSH4 0xffffffff
00000bb1: AND
00000bb2: PUSH1 0x64
00000bb4: DUP2
00000bb5: LT
00000bb6: PUSH2 0x0bbb
00000bb9: JUMPI
00000bba: INVALID
00000bbb: JUMPDEST
00000bbc: ADD
00000bbd: SLOAD
00000bbe: DUP4
00000bbf: EQ
00000bc0: ISZERO
00000bc1: PUSH2 0x0bce
00000bc4: JUMPI
00000bc5: PUSH1 0x01
00000bc7: SWAP2
00000bc8: POP
00000bc9: POP
00000bca: PUSH2 0x0bfd
00000bcd: JUMP
00000bce: JUMPDEST
00000bcf: PUSH4 0xffffffff
00000bd4: DUP2
00000bd5: AND
00000bd6: PUSH2 0x0bdd
00000bd9: JUMPI
00000bda: POP
00000bdb: PUSH1 0x64
00000bdd: JUMPDEST
00000bde: PUSH1 0x03
00000be0: SLOAD
00000be1: PUSH1 0x00
00000be3: NOT
00000be4: SWAP1
00000be5: SWAP2
00000be6: ADD
00000be7: SWAP1
00000be8: PUSH4 0xffffffff
00000bed: DUP1
00000bee: DUP4
00000bef: AND
00000bf0: SWAP2
00000bf1: AND
00000bf2: EQ
00000bf3: ISZERO
00000bf4: PUSH2 0x0ba8
00000bf7: JUMPI
00000bf8: PUSH1 0x00
00000bfa: SWAP2
00000bfb: POP
00000bfc: POP
00000bfd: JUMPDEST
00000bfe: SWAP2
00000bff: SWAP1
00000c00: POP
00000c01: JUMP
00000c02: JUMPDEST
00000c03: PUSH1 0x6b
00000c05: PUSH1 0x20
00000c07: MSTORE
00000c08: PUSH1 0x00
00000c0a: SWAP1
00000c0b: DUP2
00000c0c: MSTORE
00000c0d: PUSH1 0x40
00000c0f: SWAP1
00000c10: KECCAK256
00000c11: SLOAD
00000c12: PUSH1 0xff
00000c14: AND
00000c15: DUP2
00000c16: JUMP
00000c17: JUMPDEST
00000c18: PUSH1 0x69
00000c1a: SLOAD
00000c1b: DUP2
00000c1c: JUMP
00000c1d: JUMPDEST
00000c1e: PUSH1 0x03
00000c20: SLOAD
00000c21: PUSH4 0xffffffff
00000c26: AND
00000c27: DUP2
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: PUSH1 0x6d
00000c2c: SLOAD
00000c2d: PUSH1 0x01
00000c2f: PUSH1 0x01
00000c31: PUSH1 0xa0
00000c33: SHL
00000c34: SUB
00000c35: AND
00000c36: CALLER
00000c37: EQ
00000c38: PUSH2 0x0c72
00000c3b: JUMPI
00000c3c: PUSH1 0x40
00000c3e: MLOAD
00000c3f: PUSH3 0x461bcd
00000c43: PUSH1 0xe5
00000c45: SHL
00000c46: DUP2
00000c47: MSTORE
00000c48: PUSH1 0x04
00000c4a: ADD
00000c4b: DUP1
00000c4c: DUP1
00000c4d: PUSH1 0x20
00000c4f: ADD
00000c50: DUP3
00000c51: DUP2
00000c52: SUB
00000c53: DUP3
00000c54: MSTORE
00000c55: PUSH1 0x25
00000c57: DUP2
00000c58: MSTORE
00000c59: PUSH1 0x20
00000c5b: ADD
00000c5c: DUP1
00000c5d: PUSH2 0x13b9
00000c60: PUSH1 0x25
00000c62: SWAP2
00000c63: CODECOPY
00000c64: PUSH1 0x40
00000c66: ADD
00000c67: SWAP2
00000c68: POP
00000c69: POP
00000c6a: PUSH1 0x40
00000c6c: MLOAD
00000c6d: DUP1
00000c6e: SWAP2
00000c6f: SUB
00000c70: SWAP1
00000c71: REVERT
00000c72: JUMPDEST
00000c73: PUSH1 0x6c
00000c75: DUP1
00000c76: SLOAD
00000c77: PUSH1 0x01
00000c79: PUSH1 0x01
00000c7b: PUSH1 0xa0
00000c7d: SHL
00000c7e: SUB
00000c7f: NOT
00000c80: AND
00000c81: PUSH1 0x01
00000c83: PUSH1 0x01
00000c85: PUSH1 0xa0
00000c87: SHL
00000c88: SUB
00000c89: SWAP3
00000c8a: SWAP1
00000c8b: SWAP3
00000c8c: AND
00000c8d: SWAP2
00000c8e: SWAP1
00000c8f: SWAP2
00000c90: OR
00000c91: SWAP1
00000c92: SSTORE
00000c93: JUMP
00000c94: JUMPDEST
00000c95: PUSH1 0x40
00000c97: DUP1
00000c98: MLOAD
00000c99: DUP3
00000c9a: DUP2
00000c9b: MSTORE
00000c9c: PUSH1 0x20
00000c9e: DUP1
00000c9f: DUP5
00000ca0: MUL
00000ca1: DUP3
00000ca2: ADD
00000ca3: ADD
00000ca4: SWAP1
00000ca5: SWAP2
00000ca6: MSTORE
00000ca7: PUSH1 0x60
00000ca9: SWAP1
00000caa: DUP3
00000cab: DUP1
00000cac: ISZERO
00000cad: PUSH2 0x0cc0
00000cb0: JUMPI
00000cb1: DUP2
00000cb2: PUSH1 0x20
00000cb4: ADD
00000cb5: PUSH1 0x20
00000cb7: DUP3
00000cb8: MUL
00000cb9: DUP1
00000cba: CODESIZE
00000cbb: DUP4
00000cbc: CODECOPY
00000cbd: ADD
00000cbe: SWAP1
00000cbf: POP
00000cc0: JUMPDEST
00000cc1: POP
00000cc2: SWAP1
00000cc3: POP
00000cc4: PUSH1 0x00
00000cc6: JUMPDEST
00000cc7: DUP3
00000cc8: DUP2
00000cc9: LT
00000cca: ISZERO
00000ccb: PUSH2 0x0d15
00000cce: JUMPI
00000ccf: PUSH2 0x0ce9
00000cd2: DUP5
00000cd3: DUP5
00000cd4: DUP4
00000cd5: DUP2
00000cd6: DUP2
00000cd7: LT
00000cd8: PUSH2 0x0cdd
00000cdb: JUMPI
00000cdc: INVALID
00000cdd: JUMPDEST
00000cde: SWAP1
00000cdf: POP
00000ce0: PUSH1 0x20
00000ce2: MUL
00000ce3: ADD
00000ce4: CALLDATALOAD
00000ce5: PUSH2 0x0e76
00000ce8: JUMP
00000ce9: JUMPDEST
00000cea: ISZERO
00000ceb: PUSH2 0x0d0d
00000cee: JUMPI
00000cef: PUSH1 0x01
00000cf1: DUP3
00000cf2: DUP3
00000cf3: DUP2
00000cf4: MLOAD
00000cf5: DUP2
00000cf6: LT
00000cf7: PUSH2 0x0cfc
00000cfa: JUMPI
00000cfb: INVALID
00000cfc: JUMPDEST
00000cfd: SWAP2
00000cfe: ISZERO
00000cff: ISZERO
00000d00: PUSH1 0x20
00000d02: SWAP3
00000d03: DUP4
00000d04: MUL
00000d05: SWAP2
00000d06: SWAP1
00000d07: SWAP2
00000d08: ADD
00000d09: SWAP1
00000d0a: SWAP2
00000d0b: ADD
00000d0c: MSTORE
00000d0d: JUMPDEST
00000d0e: PUSH1 0x01
00000d10: ADD
00000d11: PUSH2 0x0cc6
00000d14: JUMP
00000d15: JUMPDEST
00000d16: POP
00000d17: SWAP3
00000d18: SWAP2
00000d19: POP
00000d1a: POP
00000d1b: JUMP
00000d1c: JUMPDEST
00000d1d: PUSH1 0x68
00000d1f: DUP1
00000d20: SLOAD
00000d21: PUSH1 0x01
00000d23: ADD
00000d24: SWAP1
00000d25: DUP2
00000d26: SWAP1
00000d27: SSTORE
00000d28: PUSH1 0x00
00000d2a: DUP3
00000d2b: DUP2
00000d2c: MSTORE
00000d2d: PUSH1 0x6b
00000d2f: PUSH1 0x20
00000d31: MSTORE
00000d32: PUSH1 0x40
00000d34: SWAP1
00000d35: KECCAK256
00000d36: SLOAD
00000d37: PUSH1 0xff
00000d39: AND
00000d3a: ISZERO
00000d3b: PUSH2 0x0d75
00000d3e: JUMPI
00000d3f: PUSH1 0x40
00000d41: MLOAD
00000d42: PUSH3 0x461bcd
00000d46: PUSH1 0xe5
00000d48: SHL
00000d49: DUP2
00000d4a: MSTORE
00000d4b: PUSH1 0x04
00000d4d: ADD
00000d4e: DUP1
00000d4f: DUP1
00000d50: PUSH1 0x20
00000d52: ADD
00000d53: DUP3
00000d54: DUP2
00000d55: SUB
00000d56: DUP3
00000d57: MSTORE
00000d58: PUSH1 0x21
00000d5a: DUP2
00000d5b: MSTORE
00000d5c: PUSH1 0x20
00000d5e: ADD
00000d5f: DUP1
00000d60: PUSH2 0x1350
00000d63: PUSH1 0x21
00000d65: SWAP2
00000d66: CODECOPY
00000d67: PUSH1 0x40
00000d69: ADD
00000d6a: SWAP2
00000d6b: POP
00000d6c: POP
00000d6d: PUSH1 0x40
00000d6f: MLOAD
00000d70: DUP1
00000d71: SWAP2
00000d72: SUB
00000d73: SWAP1
00000d74: REVERT
00000d75: JUMPDEST
00000d76: PUSH1 0x00
00000d78: PUSH2 0x0d80
00000d7b: DUP4
00000d7c: PUSH2 0x109a
00000d7f: JUMP
00000d80: JUMPDEST
00000d81: PUSH1 0x00
00000d83: DUP5
00000d84: DUP2
00000d85: MSTORE
00000d86: PUSH1 0x6b
00000d88: PUSH1 0x20
00000d8a: MSTORE
00000d8b: PUSH1 0x40
00000d8d: SWAP1
00000d8e: KECCAK256
00000d8f: DUP1
00000d90: SLOAD
00000d91: PUSH1 0xff
00000d93: NOT
00000d94: AND
00000d95: PUSH1 0x01
00000d97: OR
00000d98: SWAP1
00000d99: SSTORE
00000d9a: SWAP1
00000d9b: POP
00000d9c: PUSH2 0x0da3
00000d9f: PUSH2 0x1231
00000da2: JUMP
00000da3: JUMPDEST
00000da4: PUSH1 0x40
00000da6: DUP1
00000da7: MLOAD
00000da8: PUSH4 0xffffffff
00000dad: DUP4
00000dae: AND
00000daf: DUP2
00000db0: MSTORE
00000db1: TIMESTAMP
00000db2: PUSH1 0x20
00000db4: DUP3
00000db5: ADD
00000db6: MSTORE
00000db7: DUP2
00000db8: MLOAD
00000db9: DUP6
00000dba: SWAP3
00000dbb: PUSH32 0xa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196
00000ddc: SWAP3
00000ddd: DUP3
00000dde: SWAP1
00000ddf: SUB
00000de0: ADD
00000de1: SWAP1
00000de2: LOG2
00000de3: POP
00000de4: PUSH1 0x68
00000de6: SLOAD
00000de7: DUP2
00000de8: EQ
00000de9: PUSH2 0x0e39
00000dec: JUMPI
00000ded: PUSH1 0x40
00000def: DUP1
00000df0: MLOAD
00000df1: PUSH3 0x461bcd
00000df5: PUSH1 0xe5
00000df7: SHL
00000df8: DUP2
00000df9: MSTORE
00000dfa: PUSH1 0x20
00000dfc: PUSH1 0x04
00000dfe: DUP3
00000dff: ADD
00000e00: MSTORE
00000e01: PUSH1 0x1f
00000e03: PUSH1 0x24
00000e05: DUP3
00000e06: ADD
00000e07: MSTORE
00000e08: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00000e29: PUSH1 0x44
00000e2b: DUP3
00000e2c: ADD
00000e2d: MSTORE
00000e2e: SWAP1
00000e2f: MLOAD
00000e30: SWAP1
00000e31: DUP2
00000e32: SWAP1
00000e33: SUB
00000e34: PUSH1 0x64
00000e36: ADD
00000e37: SWAP1
00000e38: REVERT
00000e39: JUMPDEST
00000e3a: POP
00000e3b: POP
00000e3c: JUMP
00000e3d: JUMPDEST
00000e3e: PUSH1 0x03
00000e40: SLOAD
00000e41: PUSH1 0x00
00000e43: SWAP1
00000e44: PUSH1 0x04
00000e46: SWAP1
00000e47: PUSH4 0xffffffff
00000e4c: AND
00000e4d: PUSH1 0x64
00000e4f: DUP2
00000e50: LT
00000e51: PUSH2 0x0e56
00000e54: JUMPI
00000e55: INVALID
00000e56: JUMPDEST
00000e57: ADD
00000e58: SLOAD
00000e59: SWAP1
00000e5a: POP
00000e5b: SWAP1
00000e5c: JUMP
00000e5d: JUMPDEST
00000e5e: PUSH1 0x04
00000e60: DUP2
00000e61: PUSH1 0x64
00000e63: DUP2
00000e64: LT
00000e65: PUSH2 0x0e6a
00000e68: JUMPI
00000e69: INVALID
00000e6a: JUMPDEST
00000e6b: ADD
00000e6c: SLOAD
00000e6d: SWAP1
00000e6e: POP
00000e6f: DUP2
00000e70: JUMP
00000e71: JUMPDEST
00000e72: PUSH1 0x64
00000e74: DUP2
00000e75: JUMP
00000e76: JUMPDEST
00000e77: PUSH1 0x00
00000e79: SWAP1
00000e7a: DUP2
00000e7b: MSTORE
00000e7c: PUSH1 0x6a
00000e7e: PUSH1 0x20
00000e80: MSTORE
00000e81: PUSH1 0x40
00000e83: SWAP1
00000e84: KECCAK256
00000e85: SLOAD
00000e86: PUSH1 0xff
00000e88: AND
00000e89: SWAP1
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: PUSH1 0x02
00000e8e: DUP2
00000e8f: DUP2
00000e90: SLOAD
00000e91: DUP2
00000e92: LT
00000e93: PUSH2 0x0e98
00000e96: JUMPI
00000e97: INVALID
00000e98: JUMPDEST
00000e99: PUSH1 0x00
00000e9b: SWAP2
00000e9c: DUP3
00000e9d: MSTORE
00000e9e: PUSH1 0x20
00000ea0: SWAP1
00000ea1: SWAP2
00000ea2: KECCAK256
00000ea3: ADD
00000ea4: SLOAD
00000ea5: SWAP1
00000ea6: POP
00000ea7: DUP2
00000ea8: JUMP
00000ea9: JUMPDEST
00000eaa: PUSH32 0x2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c
00000ecb: DUP2
00000ecc: JUMP
00000ecd: JUMPDEST
00000ece: PUSH1 0x01
00000ed0: DUP2
00000ed1: DUP2
00000ed2: SLOAD
00000ed3: DUP2
00000ed4: LT
00000ed5: PUSH2 0x0e98
00000ed8: JUMPI
00000ed9: INVALID
00000eda: JUMPDEST
00000edb: PUSH1 0x03
00000edd: SLOAD
00000ede: PUSH1 0x01
00000ee0: PUSH1 0x20
00000ee2: SHL
00000ee3: SWAP1
00000ee4: DIV
00000ee5: PUSH4 0xffffffff
00000eea: AND
00000eeb: DUP2
00000eec: JUMP
00000eed: JUMPDEST
00000eee: CALLVALUE
00000eef: ISZERO
00000ef0: PUSH2 0x0f2a
00000ef3: JUMPI
00000ef4: PUSH1 0x40
00000ef6: MLOAD
00000ef7: PUSH3 0x461bcd
00000efb: PUSH1 0xe5
00000efd: SHL
00000efe: DUP2
00000eff: MSTORE
00000f00: PUSH1 0x04
00000f02: ADD
00000f03: DUP1
00000f04: DUP1
00000f05: PUSH1 0x20
00000f07: ADD
00000f08: DUP3
00000f09: DUP2
00000f0a: SUB
00000f0b: DUP3
00000f0c: MSTORE
00000f0d: PUSH1 0x35
00000f0f: DUP2
00000f10: MSTORE
00000f11: PUSH1 0x20
00000f13: ADD
00000f14: DUP1
00000f15: PUSH2 0x13de
00000f18: PUSH1 0x35
00000f1a: SWAP2
00000f1b: CODECOPY
00000f1c: PUSH1 0x40
00000f1e: ADD
00000f1f: SWAP2
00000f20: POP
00000f21: POP
00000f22: PUSH1 0x40
00000f24: MLOAD
00000f25: DUP1
00000f26: SWAP2
00000f27: SUB
00000f28: SWAP1
00000f29: REVERT
00000f2a: JUMPDEST
00000f2b: DUP1
00000f2c: ISZERO
00000f2d: PUSH2 0x0f67
00000f30: JUMPI
00000f31: PUSH1 0x40
00000f33: MLOAD
00000f34: PUSH3 0x461bcd
00000f38: PUSH1 0xe5
00000f3a: SHL
00000f3b: DUP2
00000f3c: MSTORE
00000f3d: PUSH1 0x04
00000f3f: ADD
00000f40: DUP1
00000f41: DUP1
00000f42: PUSH1 0x20
00000f44: ADD
00000f45: DUP3
00000f46: DUP2
00000f47: SUB
00000f48: DUP3
00000f49: MSTORE
00000f4a: PUSH1 0x34
00000f4c: DUP2
00000f4d: MSTORE
00000f4e: PUSH1 0x20
00000f50: ADD
00000f51: DUP1
00000f52: PUSH2 0x12fc
00000f55: PUSH1 0x34
00000f57: SWAP2
00000f58: CODECOPY
00000f59: PUSH1 0x40
00000f5b: ADD
00000f5c: SWAP2
00000f5d: POP
00000f5e: POP
00000f5f: PUSH1 0x40
00000f61: MLOAD
00000f62: DUP1
00000f63: SWAP2
00000f64: SUB
00000f65: SWAP1
00000f66: REVERT
00000f67: JUMPDEST
00000f68: PUSH1 0x69
00000f6a: SLOAD
00000f6b: PUSH1 0x40
00000f6d: MLOAD
00000f6e: PUSH1 0x00
00000f70: SWAP2
00000f71: PUSH1 0x01
00000f73: PUSH1 0x01
00000f75: PUSH1 0xa0
00000f77: SHL
00000f78: SUB
00000f79: DUP8
00000f7a: AND
00000f7b: SWAP2
00000f7c: SWAP1
00000f7d: DUP6
00000f7e: SWAP1
00000f7f: SUB
00000f80: SWAP1
00000f81: DUP4
00000f82: DUP2
00000f83: DUP2
00000f84: DUP2
00000f85: DUP6
00000f86: DUP8
00000f87: GAS
00000f88: CALL
00000f89: SWAP3
00000f8a: POP
00000f8b: POP
00000f8c: POP
00000f8d: RETURNDATASIZE
00000f8e: DUP1
00000f8f: PUSH1 0x00
00000f91: DUP2
00000f92: EQ
00000f93: PUSH2 0x0fb8
00000f96: JUMPI
00000f97: PUSH1 0x40
00000f99: MLOAD
00000f9a: SWAP2
00000f9b: POP
00000f9c: PUSH1 0x1f
00000f9e: NOT
00000f9f: PUSH1 0x3f
00000fa1: RETURNDATASIZE
00000fa2: ADD
00000fa3: AND
00000fa4: DUP3
00000fa5: ADD
00000fa6: PUSH1 0x40
00000fa8: MSTORE
00000fa9: RETURNDATASIZE
00000faa: DUP3
00000fab: MSTORE
00000fac: RETURNDATASIZE
00000fad: PUSH1 0x00
00000faf: PUSH1 0x20
00000fb1: DUP5
00000fb2: ADD
00000fb3: RETURNDATACOPY
00000fb4: PUSH2 0x0fbd
00000fb7: JUMP
00000fb8: JUMPDEST
00000fb9: PUSH1 0x60
00000fbb: SWAP2
00000fbc: POP
00000fbd: JUMPDEST
00000fbe: POP
00000fbf: POP
00000fc0: SWAP1
00000fc1: POP
00000fc2: DUP1
00000fc3: PUSH2 0x0ffd
00000fc6: JUMPI
00000fc7: PUSH1 0x40
00000fc9: MLOAD
00000fca: PUSH3 0x461bcd
00000fce: PUSH1 0xe5
00000fd0: SHL
00000fd1: DUP2
00000fd2: MSTORE
00000fd3: PUSH1 0x04
00000fd5: ADD
00000fd6: DUP1
00000fd7: DUP1
00000fd8: PUSH1 0x20
00000fda: ADD
00000fdb: DUP3
00000fdc: DUP2
00000fdd: SUB
00000fde: DUP3
00000fdf: MSTORE
00000fe0: PUSH1 0x25
00000fe2: DUP2
00000fe3: MSTORE
00000fe4: PUSH1 0x20
00000fe6: ADD
00000fe7: DUP1
00000fe8: PUSH2 0x1371
00000feb: PUSH1 0x25
00000fed: SWAP2
00000fee: CODECOPY
00000fef: PUSH1 0x40
00000ff1: ADD
00000ff2: SWAP2
00000ff3: POP
00000ff4: POP
00000ff5: PUSH1 0x40
00000ff7: MLOAD
00000ff8: DUP1
00000ff9: SWAP2
00000ffa: SUB
00000ffb: SWAP1
00000ffc: REVERT
00000ffd: JUMPDEST
00000ffe: DUP3
00000fff: ISZERO
00001000: PUSH2 0x1093
00001003: JUMPI
00001004: PUSH1 0x40
00001006: MLOAD
00001007: PUSH1 0x01
00001009: PUSH1 0x01
0000100b: PUSH1 0xa0
0000100d: SHL
0000100e: SUB
0000100f: DUP6
00001010: AND
00001011: SWAP1
00001012: DUP5
00001013: SWAP1
00001014: PUSH1 0x00
00001016: DUP2
00001017: DUP2
00001018: DUP2
00001019: DUP6
0000101a: DUP8
0000101b: GAS
0000101c: CALL
0000101d: SWAP3
0000101e: POP
0000101f: POP
00001020: POP
00001021: RETURNDATASIZE
00001022: DUP1
00001023: PUSH1 0x00
00001025: DUP2
00001026: EQ
00001027: PUSH2 0x104c
0000102a: JUMPI
0000102b: PUSH1 0x40
0000102d: MLOAD
0000102e: SWAP2
0000102f: POP
00001030: PUSH1 0x1f
00001032: NOT
00001033: PUSH1 0x3f
00001035: RETURNDATASIZE
00001036: ADD
00001037: AND
00001038: DUP3
00001039: ADD
0000103a: PUSH1 0x40
0000103c: MSTORE
0000103d: RETURNDATASIZE
0000103e: DUP3
0000103f: MSTORE
00001040: RETURNDATASIZE
00001041: PUSH1 0x00
00001043: PUSH1 0x20
00001045: DUP5
00001046: ADD
00001047: RETURNDATACOPY
00001048: PUSH2 0x1051
0000104b: JUMP
0000104c: JUMPDEST
0000104d: PUSH1 0x60
0000104f: SWAP2
00001050: POP
00001051: JUMPDEST
00001052: POP
00001053: POP
00001054: DUP1
00001055: SWAP2
00001056: POP
00001057: POP
00001058: DUP1
00001059: PUSH2 0x1093
0000105c: JUMPI
0000105d: PUSH1 0x40
0000105f: MLOAD
00001060: PUSH3 0x461bcd
00001064: PUSH1 0xe5
00001066: SHL
00001067: DUP2
00001068: MSTORE
00001069: PUSH1 0x04
0000106b: ADD
0000106c: DUP1
0000106d: DUP1
0000106e: PUSH1 0x20
00001070: ADD
00001071: DUP3
00001072: DUP2
00001073: SUB
00001074: DUP3
00001075: MSTORE
00001076: PUSH1 0x23
00001078: DUP2
00001079: MSTORE
0000107a: PUSH1 0x20
0000107c: ADD
0000107d: DUP1
0000107e: PUSH2 0x1396
00001081: PUSH1 0x23
00001083: SWAP2
00001084: CODECOPY
00001085: PUSH1 0x40
00001087: ADD
00001088: SWAP2
00001089: POP
0000108a: POP
0000108b: PUSH1 0x40
0000108d: MLOAD
0000108e: DUP1
0000108f: SWAP2
00001090: SUB
00001091: SWAP1
00001092: REVERT
00001093: JUMPDEST
00001094: POP
00001095: POP
00001096: POP
00001097: POP
00001098: POP
00001099: JUMP
0000109a: JUMPDEST
0000109b: PUSH1 0x03
0000109d: SLOAD
0000109e: PUSH1 0x00
000010a0: DUP1
000010a1: SLOAD
000010a2: SWAP1
000010a3: SWAP2
000010a4: PUSH4 0xffffffff
000010a9: PUSH1 0x01
000010ab: PUSH1 0x20
000010ad: SHL
000010ae: SWAP1
000010af: SWAP2
000010b0: DIV
000010b1: DUP2
000010b2: AND
000010b3: SWAP2
000010b4: DUP2
000010b5: AND
000010b6: PUSH1 0x02
000010b8: EXP
000010b9: AND
000010ba: DUP2
000010bb: EQ
000010bc: ISZERO
000010bd: PUSH2 0x10f7
000010c0: JUMPI
000010c1: PUSH1 0x40
000010c3: MLOAD
000010c4: PUSH3 0x461bcd
000010c8: PUSH1 0xe5
000010ca: SHL
000010cb: DUP2
000010cc: MSTORE
000010cd: PUSH1 0x04
000010cf: ADD
000010d0: DUP1
000010d1: DUP1
000010d2: PUSH1 0x20
000010d4: ADD
000010d5: DUP3
000010d6: DUP2
000010d7: SUB
000010d8: DUP3
000010d9: MSTORE
000010da: PUSH1 0x2f
000010dc: DUP2
000010dd: MSTORE
000010de: PUSH1 0x20
000010e0: ADD
000010e1: DUP1
000010e2: PUSH2 0x1274
000010e5: PUSH1 0x2f
000010e7: SWAP2
000010e8: CODECOPY
000010e9: PUSH1 0x40
000010eb: ADD
000010ec: SWAP2
000010ed: POP
000010ee: POP
000010ef: PUSH1 0x40
000010f1: MLOAD
000010f2: DUP1
000010f3: SWAP2
000010f4: SUB
000010f5: SWAP1
000010f6: REVERT
000010f7: JUMPDEST
000010f8: PUSH1 0x03
000010fa: DUP1
000010fb: SLOAD
000010fc: PUSH4 0xffffffff
00001101: PUSH1 0x01
00001103: PUSH1 0x20
00001105: SHL
00001106: DUP1
00001107: DUP4
00001108: DIV
00001109: DUP3
0000110a: AND
0000110b: PUSH1 0x01
0000110d: ADD
0000110e: SWAP1
0000110f: SWAP2
00001110: AND
00001111: MUL
00001112: PUSH8 0xffffffff00000000
0000111b: NOT
0000111c: SWAP1
0000111d: SWAP2
0000111e: AND
0000111f: OR
00001120: SWAP1
00001121: SSTORE
00001122: DUP3
00001123: PUSH1 0x00
00001125: DUP1
00001126: DUP1
00001127: JUMPDEST
00001128: PUSH1 0x00
0000112a: SLOAD
0000112b: PUSH4 0xffffffff
00001130: SWAP1
00001131: DUP2
00001132: AND
00001133: SWAP1
00001134: DUP3
00001135: AND
00001136: LT
00001137: ISZERO
00001138: PUSH2 0x11cf
0000113b: JUMPI
0000113c: PUSH1 0x01
0000113e: DUP6
0000113f: AND
00001140: PUSH2 0x118b
00001143: JUMPI
00001144: DUP4
00001145: SWAP3
00001146: POP
00001147: PUSH1 0x02
00001149: DUP2
0000114a: PUSH4 0xffffffff
0000114f: AND
00001150: DUP2
00001151: SLOAD
00001152: DUP2
00001153: LT
00001154: PUSH2 0x1159
00001157: JUMPI
00001158: INVALID
00001159: JUMPDEST
0000115a: SWAP1
0000115b: PUSH1 0x00
0000115d: MSTORE
0000115e: PUSH1 0x20
00001160: PUSH1 0x00
00001162: KECCAK256
00001163: ADD
00001164: SLOAD
00001165: SWAP2
00001166: POP
00001167: DUP4
00001168: PUSH1 0x01
0000116a: DUP3
0000116b: PUSH4 0xffffffff
00001170: AND
00001171: DUP2
00001172: SLOAD
00001173: DUP2
00001174: LT
00001175: PUSH2 0x117a
00001178: JUMPI
00001179: INVALID
0000117a: JUMPDEST
0000117b: PUSH1 0x00
0000117d: SWAP2
0000117e: DUP3
0000117f: MSTORE
00001180: PUSH1 0x20
00001182: SWAP1
00001183: SWAP2
00001184: KECCAK256
00001185: ADD
00001186: SSTORE
00001187: PUSH2 0x11af
0000118a: JUMP
0000118b: JUMPDEST
0000118c: PUSH1 0x01
0000118e: DUP2
0000118f: PUSH4 0xffffffff
00001194: AND
00001195: DUP2
00001196: SLOAD
00001197: DUP2
00001198: LT
00001199: PUSH2 0x119e
0000119c: JUMPI
0000119d: INVALID
0000119e: JUMPDEST
0000119f: SWAP1
000011a0: PUSH1 0x00
000011a2: MSTORE
000011a3: PUSH1 0x20
000011a5: PUSH1 0x00
000011a7: KECCAK256
000011a8: ADD
000011a9: SLOAD
000011aa: SWAP3
000011ab: POP
000011ac: DUP4
000011ad: SWAP2
000011ae: POP
000011af: JUMPDEST
000011b0: PUSH2 0x11b9
000011b3: DUP4
000011b4: DUP4
000011b5: PUSH2 0x0981
000011b8: JUMP
000011b9: JUMPDEST
000011ba: SWAP4
000011bb: POP
000011bc: PUSH1 0x02
000011be: PUSH4 0xffffffff
000011c3: DUP7
000011c4: AND
000011c5: DIV
000011c6: SWAP5
000011c7: POP
000011c8: PUSH1 0x01
000011ca: ADD
000011cb: PUSH2 0x1127
000011ce: JUMP
000011cf: JUMPDEST
000011d0: POP
000011d1: PUSH1 0x03
000011d3: SLOAD
000011d4: PUSH1 0x64
000011d6: SWAP1
000011d7: PUSH4 0xffffffff
000011dc: SWAP1
000011dd: DUP2
000011de: AND
000011df: PUSH1 0x01
000011e1: ADD
000011e2: AND
000011e3: PUSH1 0x03
000011e5: DUP1
000011e6: SLOAD
000011e7: PUSH4 0xffffffff
000011ec: NOT
000011ed: AND
000011ee: SWAP3
000011ef: SWAP1
000011f0: SWAP2
000011f1: MOD
000011f2: PUSH4 0xffffffff
000011f7: SWAP1
000011f8: DUP2
000011f9: AND
000011fa: SWAP3
000011fb: SWAP1
000011fc: SWAP3
000011fd: OR
000011fe: SWAP1
000011ff: DUP2
00001200: SWAP1
00001201: SSTORE
00001202: DUP5
00001203: SWAP2
00001204: PUSH1 0x04
00001206: SWAP2
00001207: AND
00001208: PUSH1 0x64
0000120a: DUP2
0000120b: LT
0000120c: PUSH2 0x1211
0000120f: JUMPI
00001210: INVALID
00001211: JUMPDEST
00001212: ADD
00001213: SSTORE
00001214: POP
00001215: POP
00001216: PUSH1 0x03
00001218: SLOAD
00001219: PUSH1 0x01
0000121b: PUSH1 0x20
0000121d: SHL
0000121e: SWAP1
0000121f: DIV
00001220: PUSH4 0xffffffff
00001225: AND
00001226: PUSH1 0x00
00001228: NOT
00001229: ADD
0000122a: SWAP5
0000122b: SWAP4
0000122c: POP
0000122d: POP
0000122e: POP
0000122f: POP
00001230: JUMP
00001231: JUMPDEST
00001232: PUSH1 0x69
00001234: SLOAD
00001235: CALLVALUE
00001236: EQ
00001237: PUSH2 0x1271
0000123a: JUMPI
0000123b: PUSH1 0x40
0000123d: MLOAD
0000123e: PUSH3 0x461bcd
00001242: PUSH1 0xe5
00001244: SHL
00001245: DUP2
00001246: MSTORE
00001247: PUSH1 0x04
00001249: ADD
0000124a: DUP1
0000124b: DUP1
0000124c: PUSH1 0x20
0000124e: ADD
0000124f: DUP3
00001250: DUP2
00001251: SUB
00001252: DUP3
00001253: MSTORE
00001254: PUSH1 0x38
00001256: DUP2
00001257: MSTORE
00001258: PUSH1 0x20
0000125a: ADD
0000125b: DUP1
0000125c: PUSH2 0x12a3
0000125f: PUSH1 0x38
00001261: SWAP2
00001262: CODECOPY
00001263: PUSH1 0x40
00001265: ADD
00001266: SWAP2
00001267: POP
00001268: POP
00001269: PUSH1 0x40
0000126b: MLOAD
0000126c: DUP1
0000126d: SWAP2
0000126e: SUB
0000126f: SWAP1
00001270: REVERT
00001271: JUMPDEST
00001272: JUMP
00001273: INVALID
00001274: UNKNOWN(0x4D)
00001275: PUSH6 0x726b6c652074
0000127c: PUSH19 0x65652069732066756c6c2e204e6f206d6f7265
00001290: KECCAK256
00001291: PUSH13 0x656166732063616e2062652061
0000129f: PUSH5 0x646564506c
000012a5: PUSH6 0x617365207365
000012ac: PUSH15 0x6420606d697844656e6f6d696e6174
000012bc: PUSH10 0x6f6e602045544820616c
000012c7: PUSH16 0x6e672077697468207472616e73616374
000012d8: PUSH10 0x6f6e5f72696768742073
000012e3: PUSH9 0x6f756c642062652069
000012ed: PUSH15 0x7369646520746865206669656c6452
000012fd: PUSH6 0x66756e642076
00001304: PUSH2 0x6c75
00001307: PUSH6 0x206973207375
0000130e: PUSH17 0x706f73656420746f206265207a65726f20
00001320: PUSH7 0x6f722045544820
00001328: PUSH10 0x6e7374616e636530644e
00001333: PUSH19 0xe131a029b85045b68181585d2833e84879b970
00001347: SWAP2
00001348: NUMBER
00001349: UNKNOWN(0xE1)
0000134a: CREATE2
0000134b: SWAP4
0000134c: CREATE
0000134d: STOP
0000134e: STOP
0000134f: ADD
00001350: SLOAD
00001351: PUSH9 0x6520636f6d6d69746d
0000135b: PUSH6 0x6e7420686173
00001362: KECCAK256
00001363: PUSH3 0x65656e
00001367: KECCAK256
00001368: PUSH20 0x75626d69747465647061796d656e7420746f205f
0000137d: PUSH19 0x6563697069656e7420646964206e6f7420676f
00001391: KECCAK256
00001392: PUSH21 0x6872757061796d656e7420746f205f72656c617965
000013a8: PUSH19 0x20646964206e6f7420676f20746872754f6e6c
000013bc: PUSH26 0x206f70657261746f722063616e2063616c6c2074686973206675
000013d7: PUSH15 0x6374696f6e2e4d6573736167652076
000013e7: PUSH2 0x6c75
000013ea: PUSH6 0x206973207375
000013f1: PUSH17 0x706f73656420746f206265207a65726f20
00001403: PUSH7 0x6f722045544820
0000140b: PUSH10 0x6e7374616e6365a26562
00001416: PUSH27 0x7a72315820587549d2a38eba8d298e5df3a9c389827128193ddbe1
00001432: TLOAD
00001433: SWAP13
00001434: UNKNOWN(0xA5)
00001435: PUSH19

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x4d4bea319b4aa9f3193dee692a5a44ed4f01c07f33caf2bfff75394e02204267
call_targets: 0x83584f83f26af4edda9cbe8c730bc87c364b28fe
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 110,
    "trace_id": "0x4d4bea319b4aa9f3193dee692a5a44ed4f01c07f33caf2bfff75394e02204267",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x83584f83f26af4edda9cbe8c730bc87c364b28fe"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5285dcc",
            "selector": "0xe5285dcc",
            "calldata_variants": [
                "0xe5285dcc",
                "0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8295588",
            "selector": "0xe8295588",
            "calldata_variants": [
                "0xe8295588",
                "0xe82955880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec732959",
            "selector": "0xec732959",
            "calldata_variants": [
                "0xec732959",
                "0xec7329590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf178e47c",
            "selector": "0xf178e47c",
            "calldata_variants": [
                "0xf178e47c",
                "0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7e9c6f",
            "selector": "0xfc7e9c6f",
            "calldata_variants": [
                "0xfc7e9c6f",
                "0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90eeb02b",
            "selector": "0x90eeb02b",
            "calldata_variants": [
                "0x90eeb02b",
                "0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x97fc007c",
            "selector": "0x97fc007c",
            "calldata_variants": [
                "0x97fc007c",
                "0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2702,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 2864,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3
call_targets: 0xa160cdab225685da1d56aa342ad8841c3b53f291
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa160cdab225685da1d56aa342ad8841c3b53f291"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5285dcc",
            "selector": "0xe5285dcc",
            "calldata_variants": [
                "0xe5285dcc",
                "0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8295588",
            "selector": "0xe8295588",
            "calldata_variants": [
                "0xe8295588",
                "0xe82955880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec732959",
            "selector": "0xec732959",
            "calldata_variants": [
                "0xec732959",
                "0xec7329590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf178e47c",
            "selector": "0xf178e47c",
            "calldata_variants": [
                "0xf178e47c",
                "0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7e9c6f",
            "selector": "0xfc7e9c6f",
            "calldata_variants": [
                "0xfc7e9c6f",
                "0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90eeb02b",
            "selector": "0x90eeb02b",
            "calldata_variants": [
                "0x90eeb02b",
                "0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x97fc007c",
            "selector": "0x97fc007c",
            "calldata_variants": [
                "0x97fc007c",
                "0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2091,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3
call_targets: 0xa160cdab225685da1d56aa342ad8841c3b53f291
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd1417cc50f96c3a5bb886d1b349850b097892e65ffe370abc27a20465fedaec3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa160cdab225685da1d56aa342ad8841c3b53f291"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5285dcc",
            "selector": "0xe5285dcc",
            "calldata_variants": [
                "0xe5285dcc",
                "0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8295588",
            "selector": "0xe8295588",
            "calldata_variants": [
                "0xe8295588",
                "0xe82955880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec732959",
            "selector": "0xec732959",
            "calldata_variants": [
                "0xec732959",
                "0xec7329590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf178e47c",
            "selector": "0xf178e47c",
            "calldata_variants": [
                "0xf178e47c",
                "0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7e9c6f",
            "selector": "0xfc7e9c6f",
            "calldata_variants": [
                "0xfc7e9c6f",
                "0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90eeb02b",
            "selector": "0x90eeb02b",
            "calldata_variants": [
                "0x90eeb02b",
                "0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x97fc007c",
            "selector": "0x97fc007c",
            "calldata_variants": [
                "0x97fc007c",
                "0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2091,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xf915dedb63c9817ba5dbbdc30305fb800cde1a9e54ce1ec6b54fefe58cd37c4d
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xf915dedb63c9817ba5dbbdc30305fb800cde1a9e54ce1ec6b54fefe58cd37c4d",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcd87a3b4",
            "selector": "0xcd87a3b4",
            "calldata_variants": [
                "0xcd87a3b4",
                "0xcd87a3b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5285dcc",
            "selector": "0xe5285dcc",
            "calldata_variants": [
                "0xe5285dcc",
                "0xe5285dcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8295588",
            "selector": "0xe8295588",
            "calldata_variants": [
                "0xe8295588",
                "0xe82955880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec732959",
            "selector": "0xec732959",
            "calldata_variants": [
                "0xec732959",
                "0xec7329590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf178e47c",
            "selector": "0xf178e47c",
            "calldata_variants": [
                "0xf178e47c",
                "0xf178e47c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7e9c6f",
            "selector": "0xfc7e9c6f",
            "calldata_variants": [
                "0xfc7e9c6f",
                "0xfc7e9c6f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90eeb02b",
            "selector": "0x90eeb02b",
            "calldata_variants": [
                "0x90eeb02b",
                "0x90eeb02b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x97fc007c",
            "selector": "0x97fc007c",
            "calldata_variants": [
                "0x97fc007c",
                "0x97fc007c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 1
}