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

Analysis Run

019b3836-58cf-7215-ad93-ef715ced968b

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:04 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
1
Validated
1
Source
Bytecode only
Review Backing
Not yet
Best current signal
CREATE/CREATE2 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
8693 artifact.fetch complete 1 / 3 3 months ago
8694 tool.cast_disasm complete 1 / 3 3 months ago
52144 analysis.bundle complete 1 / 3 1 week ago
52145 capability.graph complete 1 / 3 1 week ago
52146 detector.run complete 1 / 3 1 week ago
52147 validation.fork complete 1 / 3 1 week ago
113392 report.consolidate complete 1 / 6 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
View stderr
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-tqsuik5n
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c92-6c9b-7bf3-ad9b-3d7e50b0a87b
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.

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.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T07:36:35.966970+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 9500,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": null,
    "no_findings": null,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
12
EXT*/BALANCE
1
Total opcodes
3292
Flags
create_opcodes_present call_family_heavy
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00fb
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x1c31f710
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x0103
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x3ef96dd4
00000025: EQ
00000026: PUSH2 0x0125
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x46e7a072
00000030: EQ
00000031: PUSH2 0x0147
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x47741429
0000003b: EQ
0000003c: PUSH2 0x01bf
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x54fd4d50
00000046: EQ
00000047: PUSH2 0x01c8
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x5f8dead3
00000051: EQ
00000052: PUSH2 0x0226
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x690fb36f
0000005c: EQ
0000005d: PUSH2 0x0262
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x69fe0e2d
00000067: EQ
00000068: PUSH2 0x026b
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x6d705ebb
00000072: EQ
00000073: PUSH2 0x028d
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x8b39a0fd
0000007d: EQ
0000007e: PUSH2 0x02cf
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x8ca3a5f9
00000088: EQ
00000089: PUSH2 0x0352
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x8f4e4321
00000093: EQ
00000094: PUSH2 0x03ef
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x94c15c42
0000009e: EQ
0000009f: PUSH2 0x0413
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x9890220b
000000a9: EQ
000000aa: PUSH2 0x0425
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xabbf1ede
000000b4: EQ
000000b5: PUSH2 0x0441
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xacad94ae
000000bf: EQ
000000c0: PUSH2 0x0453
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xc59f5f67
000000ca: EQ
000000cb: PUSH2 0x04b3
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xceaf6e39
000000d5: EQ
000000d6: PUSH2 0x04c5
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xddca3f43
000000e0: EQ
000000e1: PUSH2 0x04e9
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xef33794e
000000eb: EQ
000000ec: PUSH2 0x04f2
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xf0f7026f
000000f6: EQ
000000f7: PUSH2 0x0513
000000fa: JUMPI
000000fb: JUMPDEST
000000fc: PUSH2 0x052b
000000ff: PUSH2 0x0002
00000102: JUMP
00000103: JUMPDEST
00000104: PUSH2 0x052b
00000107: PUSH1 0x04
00000109: CALLDATALOAD
0000010a: PUSH1 0x07
0000010c: SLOAD
0000010d: PUSH1 0x01
0000010f: PUSH1 0xa0
00000111: PUSH1 0x02
00000113: EXP
00000114: SUB
00000115: SWAP1
00000116: DUP2
00000117: AND
00000118: ORIGIN
00000119: SWAP1
0000011a: SWAP2
0000011b: AND
0000011c: EQ
0000011d: PUSH2 0x05f0
00000120: JUMPI
00000121: PUSH2 0x0603
00000124: JUMP
00000125: JUMPDEST
00000126: PUSH2 0x052b
00000129: PUSH1 0x04
0000012b: CALLDATALOAD
0000012c: PUSH1 0x07
0000012e: SLOAD
0000012f: PUSH1 0x01
00000131: PUSH1 0xa0
00000133: PUSH1 0x02
00000135: EXP
00000136: SUB
00000137: SWAP1
00000138: DUP2
00000139: AND
0000013a: ORIGIN
0000013b: SWAP1
0000013c: SWAP2
0000013d: AND
0000013e: EQ
0000013f: PUSH2 0x0606
00000142: JUMPI
00000143: PUSH2 0x0603
00000146: JUMP
00000147: JUMPDEST
00000148: PUSH1 0x0d
0000014a: DUP1
0000014b: SLOAD
0000014c: PUSH1 0x01
0000014e: PUSH1 0xa0
00000150: PUSH1 0x02
00000152: EXP
00000153: SUB
00000154: NOT
00000155: AND
00000156: PUSH1 0x04
00000158: DUP1
00000159: CALLDATALOAD
0000015a: SWAP2
0000015b: DUP3
0000015c: OR
0000015d: SWAP3
0000015e: DUP4
0000015f: SWAP1
00000160: SSTORE
00000161: PUSH1 0x40
00000163: DUP1
00000164: MLOAD
00000165: PUSH32 0xa6f2ae3a00000000000000000000000000000000000000000000000000000000
00000186: DUP2
00000187: MSTORE
00000188: SWAP1
00000189: MLOAD
0000018a: PUSH2 0x052b
0000018d: SWAP5
0000018e: PUSH1 0x01
00000190: PUSH1 0xa0
00000192: PUSH1 0x02
00000194: EXP
00000195: SUB
00000196: AND
00000197: SWAP3
00000198: PUSH4 0xa6f2ae3a
0000019d: SWAP3
0000019e: DUP1
0000019f: DUP3
000001a0: ADD
000001a1: SWAP3
000001a2: PUSH1 0x20
000001a4: SWAP3
000001a5: SWAP1
000001a6: SWAP2
000001a7: DUP3
000001a8: SWAP1
000001a9: SUB
000001aa: ADD
000001ab: DUP2
000001ac: PUSH1 0x00
000001ae: DUP8
000001af: PUSH2 0x61da
000001b2: GAS
000001b3: SUB
000001b4: CALL
000001b5: ISZERO
000001b6: PUSH2 0x0002
000001b9: JUMPI
000001ba: POP
000001bb: POP
000001bc: POP
000001bd: POP
000001be: JUMP
000001bf: JUMPDEST
000001c0: PUSH2 0x052d
000001c3: PUSH1 0x04
000001c5: SLOAD
000001c6: DUP2
000001c7: JUMP
000001c8: JUMPDEST
000001c9: PUSH2 0x053f
000001cc: PUSH1 0x08
000001ce: DUP1
000001cf: SLOAD
000001d0: PUSH1 0x40
000001d2: DUP1
000001d3: MLOAD
000001d4: PUSH1 0x20
000001d6: PUSH1 0x02
000001d8: PUSH1 0x01
000001da: DUP6
000001db: AND
000001dc: ISZERO
000001dd: PUSH2 0x0100
000001e0: MUL
000001e1: PUSH1 0x00
000001e3: NOT
000001e4: ADD
000001e5: SWAP1
000001e6: SWAP5
000001e7: AND
000001e8: SWAP4
000001e9: SWAP1
000001ea: SWAP4
000001eb: DIV
000001ec: PUSH1 0x1f
000001ee: DUP2
000001ef: ADD
000001f0: DUP5
000001f1: SWAP1
000001f2: DIV
000001f3: DUP5
000001f4: MUL
000001f5: DUP3
000001f6: ADD
000001f7: DUP5
000001f8: ADD
000001f9: SWAP1
000001fa: SWAP3
000001fb: MSTORE
000001fc: DUP2
000001fd: DUP2
000001fe: MSTORE
000001ff: SWAP3
00000200: SWAP2
00000201: DUP4
00000202: ADD
00000203: DUP3
00000204: DUP3
00000205: DUP1
00000206: ISZERO
00000207: PUSH2 0x067f
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH1 0x1f
0000020e: LT
0000020f: PUSH2 0x0654
00000212: JUMPI
00000213: PUSH2 0x0100
00000216: DUP1
00000217: DUP4
00000218: SLOAD
00000219: DIV
0000021a: MUL
0000021b: DUP4
0000021c: MSTORE
0000021d: SWAP2
0000021e: PUSH1 0x20
00000220: ADD
00000221: SWAP2
00000222: PUSH2 0x067f
00000225: JUMP
00000226: JUMPDEST
00000227: PUSH2 0x05ad
0000022a: PUSH1 0x04
0000022c: CALLDATALOAD
0000022d: PUSH1 0x24
0000022f: CALLDATALOAD
00000230: PUSH1 0x02
00000232: PUSH1 0x20
00000234: MSTORE
00000235: PUSH1 0x00
00000237: DUP3
00000238: DUP2
00000239: MSTORE
0000023a: PUSH1 0x40
0000023c: SWAP1
0000023d: KECCAK256
0000023e: DUP1
0000023f: SLOAD
00000240: DUP3
00000241: SWAP1
00000242: DUP2
00000243: LT
00000244: ISZERO
00000245: PUSH2 0x0002
00000248: JUMPI
00000249: POP
0000024a: PUSH1 0x00
0000024c: SWAP1
0000024d: DUP2
0000024e: MSTORE
0000024f: PUSH1 0x20
00000251: SWAP1
00000252: KECCAK256
00000253: ADD
00000254: SLOAD
00000255: PUSH1 0x01
00000257: PUSH1 0xa0
00000259: PUSH1 0x02
0000025b: EXP
0000025c: SUB
0000025d: AND
0000025e: SWAP1
0000025f: POP
00000260: DUP2
00000261: JUMP
00000262: JUMPDEST
00000263: PUSH2 0x052d
00000266: PUSH1 0x05
00000268: SLOAD
00000269: DUP2
0000026a: JUMP
0000026b: JUMPDEST
0000026c: PUSH2 0x052b
0000026f: PUSH1 0x04
00000271: CALLDATALOAD
00000272: PUSH1 0x07
00000274: SLOAD
00000275: PUSH1 0x01
00000277: PUSH1 0xa0
00000279: PUSH1 0x02
0000027b: EXP
0000027c: SUB
0000027d: SWAP1
0000027e: DUP2
0000027f: AND
00000280: ORIGIN
00000281: SWAP1
00000282: SWAP2
00000283: AND
00000284: EQ
00000285: PUSH2 0x0687
00000288: JUMPI
00000289: PUSH2 0x0603
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH2 0x052b
00000291: PUSH1 0x04
00000293: CALLDATALOAD
00000294: PUSH1 0x24
00000296: CALLDATALOAD
00000297: JUMPDEST
00000298: PUSH1 0x00
0000029a: DUP2
0000029b: DUP2
0000029c: MSTORE
0000029d: PUSH1 0x20
0000029f: DUP2
000002a0: DUP2
000002a1: MSTORE
000002a2: PUSH1 0x40
000002a4: DUP1
000002a5: DUP4
000002a6: KECCAK256
000002a7: DUP1
000002a8: SLOAD
000002a9: PUSH1 0x01
000002ab: PUSH1 0xa0
000002ad: PUSH1 0x02
000002af: EXP
000002b0: SUB
000002b1: NOT
000002b2: AND
000002b3: DUP7
000002b4: OR
000002b5: SWAP1
000002b6: SSTORE
000002b7: PUSH1 0x01
000002b9: PUSH1 0xa0
000002bb: PUSH1 0x02
000002bd: EXP
000002be: SUB
000002bf: SWAP5
000002c0: SWAP1
000002c1: SWAP5
000002c2: AND
000002c3: DUP3
000002c4: MSTORE
000002c5: PUSH1 0x01
000002c7: SWAP1
000002c8: MSTORE
000002c9: SWAP2
000002ca: SWAP1
000002cb: SWAP2
000002cc: KECCAK256
000002cd: SSTORE
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH2 0x052b
000002d3: PUSH1 0x04
000002d5: CALLDATALOAD
000002d6: PUSH1 0x24
000002d8: CALLDATALOAD
000002d9: PUSH1 0x0d
000002db: DUP1
000002dc: SLOAD
000002dd: PUSH1 0x01
000002df: PUSH1 0xa0
000002e1: PUSH1 0x02
000002e3: EXP
000002e4: SUB
000002e5: NOT
000002e6: AND
000002e7: DUP4
000002e8: OR
000002e9: SWAP1
000002ea: DUP2
000002eb: SWAP1
000002ec: SSTORE
000002ed: PUSH1 0x40
000002ef: DUP1
000002f0: MLOAD
000002f1: PUSH32 0xe4849b3200000000000000000000000000000000000000000000000000000000
00000312: DUP2
00000313: MSTORE
00000314: PUSH1 0x04
00000316: DUP2
00000317: ADD
00000318: DUP5
00000319: SWAP1
0000031a: MSTORE
0000031b: DUP2
0000031c: MLOAD
0000031d: PUSH1 0x01
0000031f: PUSH1 0xa0
00000321: PUSH1 0x02
00000323: EXP
00000324: SUB
00000325: SWAP4
00000326: SWAP1
00000327: SWAP4
00000328: AND
00000329: SWAP3
0000032a: PUSH4 0xe4849b32
0000032f: SWAP3
00000330: PUSH1 0x24
00000332: DUP4
00000333: DUP2
00000334: ADD
00000335: SWAP4
00000336: SWAP2
00000337: SWAP3
00000338: SWAP2
00000339: DUP3
0000033a: SWAP1
0000033b: SUB
0000033c: ADD
0000033d: DUP2
0000033e: PUSH1 0x00
00000340: DUP8
00000341: PUSH2 0x61da
00000344: GAS
00000345: SUB
00000346: CALL
00000347: ISZERO
00000348: PUSH2 0x0002
0000034b: JUMPI
0000034c: POP
0000034d: POP
0000034e: POP
0000034f: POP
00000350: POP
00000351: JUMP
00000352: JUMPDEST
00000353: PUSH1 0x40
00000355: DUP1
00000356: MLOAD
00000357: PUSH1 0x20
00000359: PUSH1 0x04
0000035b: DUP1
0000035c: CALLDATALOAD
0000035d: DUP1
0000035e: DUP3
0000035f: ADD
00000360: CALLDATALOAD
00000361: PUSH1 0x1f
00000363: DUP2
00000364: ADD
00000365: DUP5
00000366: SWAP1
00000367: DIV
00000368: DUP5
00000369: MUL
0000036a: DUP6
0000036b: ADD
0000036c: DUP5
0000036d: ADD
0000036e: SWAP1
0000036f: SWAP6
00000370: MSTORE
00000371: DUP5
00000372: DUP5
00000373: MSTORE
00000374: PUSH2 0x05ca
00000377: SWAP5
00000378: SWAP2
00000379: SWAP4
0000037a: PUSH1 0x24
0000037c: SWAP4
0000037d: SWAP1
0000037e: SWAP3
0000037f: SWAP2
00000380: DUP5
00000381: ADD
00000382: SWAP2
00000383: SWAP1
00000384: DUP2
00000385: SWAP1
00000386: DUP5
00000387: ADD
00000388: DUP4
00000389: DUP3
0000038a: DUP1
0000038b: DUP3
0000038c: DUP5
0000038d: CALLDATACOPY
0000038e: POP
0000038f: POP
00000390: PUSH1 0x40
00000392: DUP1
00000393: MLOAD
00000394: PUSH1 0x20
00000396: DUP9
00000397: CALLDATALOAD
00000398: DUP1
00000399: DUP12
0000039a: ADD
0000039b: CALLDATALOAD
0000039c: PUSH1 0x1f
0000039e: DUP2
0000039f: ADD
000003a0: DUP4
000003a1: SWAP1
000003a2: DIV
000003a3: DUP4
000003a4: MUL
000003a5: DUP5
000003a6: ADD
000003a7: DUP4
000003a8: ADD
000003a9: SWAP1
000003aa: SWAP5
000003ab: MSTORE
000003ac: DUP4
000003ad: DUP4
000003ae: MSTORE
000003af: SWAP8
000003b0: SWAP10
000003b1: SWAP9
000003b2: PUSH1 0x44
000003b4: SWAP9
000003b5: SWAP3
000003b6: SWAP8
000003b7: POP
000003b8: SWAP2
000003b9: SWAP1
000003ba: SWAP2
000003bb: ADD
000003bc: SWAP5
000003bd: POP
000003be: SWAP1
000003bf: SWAP3
000003c0: POP
000003c1: DUP3
000003c2: SWAP2
000003c3: POP
000003c4: DUP5
000003c5: ADD
000003c6: DUP4
000003c7: DUP3
000003c8: DUP1
000003c9: DUP3
000003ca: DUP5
000003cb: CALLDATACOPY
000003cc: POP
000003cd: SWAP5
000003ce: SWAP7
000003cf: POP
000003d0: POP
000003d1: SWAP4
000003d2: CALLDATALOAD
000003d3: SWAP4
000003d4: POP
000003d5: POP
000003d6: POP
000003d7: POP
000003d8: PUSH1 0x00
000003da: PUSH1 0x00
000003dc: PUSH1 0x00
000003de: PUSH1 0x0a
000003e0: PUSH1 0x00
000003e2: POP
000003e3: SLOAD
000003e4: CALLVALUE
000003e5: LT
000003e6: ISZERO
000003e7: PUSH2 0x0766
000003ea: JUMPI
000003eb: PUSH2 0x075d
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH2 0x05ad
000003f3: PUSH1 0x04
000003f5: CALLDATALOAD
000003f6: PUSH1 0x00
000003f8: DUP2
000003f9: DUP2
000003fa: MSTORE
000003fb: PUSH1 0x20
000003fd: DUP2
000003fe: SWAP1
000003ff: MSTORE
00000400: PUSH1 0x40
00000402: SWAP1
00000403: KECCAK256
00000404: SLOAD
00000405: PUSH1 0x01
00000407: PUSH1 0xa0
00000409: PUSH1 0x02
0000040b: EXP
0000040c: SUB
0000040d: AND
0000040e: JUMPDEST
0000040f: SWAP2
00000410: SWAP1
00000411: POP
00000412: JUMP
00000413: JUMPDEST
00000414: PUSH2 0x05ad
00000417: PUSH1 0x07
00000419: SLOAD
0000041a: PUSH1 0x01
0000041c: PUSH1 0xa0
0000041e: PUSH1 0x02
00000420: EXP
00000421: SUB
00000422: AND
00000423: DUP2
00000424: JUMP
00000425: JUMPDEST
00000426: PUSH2 0x052b
00000429: PUSH1 0x07
0000042b: SLOAD
0000042c: ORIGIN
0000042d: PUSH1 0x01
0000042f: PUSH1 0xa0
00000431: PUSH1 0x02
00000433: EXP
00000434: SUB
00000435: SWAP1
00000436: DUP2
00000437: AND
00000438: SWAP2
00000439: AND
0000043a: EQ
0000043b: PUSH2 0x0988
0000043e: JUMPI
0000043f: JUMPDEST
00000440: JUMP
00000441: JUMPDEST
00000442: PUSH2 0x05ad
00000445: PUSH1 0x0b
00000447: SLOAD
00000448: PUSH1 0x01
0000044a: PUSH1 0xa0
0000044c: PUSH1 0x02
0000044e: EXP
0000044f: SUB
00000450: AND
00000451: DUP2
00000452: JUMP
00000453: JUMPDEST
00000454: PUSH2 0x053f
00000457: PUSH1 0x06
00000459: DUP1
0000045a: SLOAD
0000045b: PUSH1 0x40
0000045d: DUP1
0000045e: MLOAD
0000045f: PUSH1 0x20
00000461: PUSH1 0x1f
00000463: PUSH1 0x02
00000465: PUSH1 0x00
00000467: NOT
00000468: PUSH1 0x01
0000046a: DUP8
0000046b: AND
0000046c: ISZERO
0000046d: PUSH2 0x0100
00000470: MUL
00000471: ADD
00000472: SWAP1
00000473: SWAP6
00000474: AND
00000475: SWAP5
00000476: SWAP1
00000477: SWAP5
00000478: DIV
00000479: SWAP4
0000047a: DUP5
0000047b: ADD
0000047c: DUP2
0000047d: SWAP1
0000047e: DIV
0000047f: DUP2
00000480: MUL
00000481: DUP3
00000482: ADD
00000483: DUP2
00000484: ADD
00000485: SWAP1
00000486: SWAP3
00000487: MSTORE
00000488: DUP3
00000489: DUP2
0000048a: MSTORE
0000048b: SWAP3
0000048c: SWAP2
0000048d: SWAP1
0000048e: DUP4
0000048f: ADD
00000490: DUP3
00000491: DUP3
00000492: DUP1
00000493: ISZERO
00000494: PUSH2 0x067f
00000497: JUMPI
00000498: DUP1
00000499: PUSH1 0x1f
0000049b: LT
0000049c: PUSH2 0x0654
0000049f: JUMPI
000004a0: PUSH2 0x0100
000004a3: DUP1
000004a4: DUP4
000004a5: SLOAD
000004a6: DIV
000004a7: MUL
000004a8: DUP4
000004a9: MSTORE
000004aa: SWAP2
000004ab: PUSH1 0x20
000004ad: ADD
000004ae: SWAP2
000004af: PUSH2 0x067f
000004b2: JUMP
000004b3: JUMPDEST
000004b4: PUSH2 0x05ad
000004b7: PUSH1 0x03
000004b9: SLOAD
000004ba: PUSH1 0x01
000004bc: PUSH1 0xa0
000004be: PUSH1 0x02
000004c0: EXP
000004c1: SUB
000004c2: AND
000004c3: DUP2
000004c4: JUMP
000004c5: JUMPDEST
000004c6: PUSH2 0x052d
000004c9: PUSH1 0x04
000004cb: CALLDATALOAD
000004cc: PUSH1 0x01
000004ce: PUSH1 0xa0
000004d0: PUSH1 0x02
000004d2: EXP
000004d3: SUB
000004d4: DUP2
000004d5: AND
000004d6: PUSH1 0x00
000004d8: SWAP1
000004d9: DUP2
000004da: MSTORE
000004db: PUSH1 0x01
000004dd: PUSH1 0x20
000004df: MSTORE
000004e0: PUSH1 0x40
000004e2: SWAP1
000004e3: KECCAK256
000004e4: SLOAD
000004e5: PUSH2 0x040e
000004e8: JUMP
000004e9: JUMPDEST
000004ea: PUSH2 0x052d
000004ed: PUSH1 0x0a
000004ef: SLOAD
000004f0: DUP2
000004f1: JUMP
000004f2: JUMPDEST
000004f3: PUSH2 0x05ad
000004f6: PUSH1 0x04
000004f8: CALLDATALOAD
000004f9: PUSH1 0x00
000004fb: PUSH1 0x20
000004fd: DUP2
000004fe: SWAP1
000004ff: MSTORE
00000500: SWAP1
00000501: DUP2
00000502: MSTORE
00000503: PUSH1 0x40
00000505: SWAP1
00000506: KECCAK256
00000507: SLOAD
00000508: PUSH1 0x01
0000050a: PUSH1 0xa0
0000050c: PUSH1 0x02
0000050e: EXP
0000050f: SUB
00000510: AND
00000511: DUP2
00000512: JUMP
00000513: JUMPDEST
00000514: PUSH2 0x052d
00000517: PUSH1 0x04
00000519: CALLDATALOAD
0000051a: PUSH1 0x01
0000051c: PUSH1 0x20
0000051e: MSTORE
0000051f: PUSH1 0x00
00000521: SWAP1
00000522: DUP2
00000523: MSTORE
00000524: PUSH1 0x40
00000526: SWAP1
00000527: KECCAK256
00000528: SLOAD
00000529: DUP2
0000052a: JUMP
0000052b: JUMPDEST
0000052c: STOP
0000052d: JUMPDEST
0000052e: PUSH1 0x40
00000530: DUP1
00000531: MLOAD
00000532: SWAP2
00000533: DUP3
00000534: MSTORE
00000535: MLOAD
00000536: SWAP1
00000537: DUP2
00000538: SWAP1
00000539: SUB
0000053a: PUSH1 0x20
0000053c: ADD
0000053d: SWAP1
0000053e: RETURN
0000053f: JUMPDEST
00000540: PUSH1 0x40
00000542: MLOAD
00000543: DUP1
00000544: DUP1
00000545: PUSH1 0x20
00000547: ADD
00000548: DUP3
00000549: DUP2
0000054a: SUB
0000054b: DUP3
0000054c: MSTORE
0000054d: DUP4
0000054e: DUP2
0000054f: DUP2
00000550: MLOAD
00000551: DUP2
00000552: MSTORE
00000553: PUSH1 0x20
00000555: ADD
00000556: SWAP2
00000557: POP
00000558: DUP1
00000559: MLOAD
0000055a: SWAP1
0000055b: PUSH1 0x20
0000055d: ADD
0000055e: SWAP1
0000055f: DUP1
00000560: DUP4
00000561: DUP4
00000562: DUP3
00000563: SWAP1
00000564: PUSH1 0x00
00000566: PUSH1 0x04
00000568: PUSH1 0x20
0000056a: DUP5
0000056b: PUSH1 0x1f
0000056d: ADD
0000056e: DIV
0000056f: PUSH1 0x0f
00000571: MUL
00000572: PUSH1 0x03
00000574: ADD
00000575: CALL
00000576: POP
00000577: SWAP1
00000578: POP
00000579: SWAP1
0000057a: DUP2
0000057b: ADD
0000057c: SWAP1
0000057d: PUSH1 0x1f
0000057f: AND
00000580: DUP1
00000581: ISZERO
00000582: PUSH2 0x059f
00000585: JUMPI
00000586: DUP1
00000587: DUP3
00000588: SUB
00000589: DUP1
0000058a: MLOAD
0000058b: PUSH1 0x01
0000058d: DUP4
0000058e: PUSH1 0x20
00000590: SUB
00000591: PUSH2 0x0100
00000594: EXP
00000595: SUB
00000596: NOT
00000597: AND
00000598: DUP2
00000599: MSTORE
0000059a: PUSH1 0x20
0000059c: ADD
0000059d: SWAP2
0000059e: POP
0000059f: JUMPDEST
000005a0: POP
000005a1: SWAP3
000005a2: POP
000005a3: POP
000005a4: POP
000005a5: PUSH1 0x40
000005a7: MLOAD
000005a8: DUP1
000005a9: SWAP2
000005aa: SUB
000005ab: SWAP1
000005ac: RETURN
000005ad: JUMPDEST
000005ae: PUSH1 0x40
000005b0: DUP1
000005b1: MLOAD
000005b2: PUSH1 0x01
000005b4: PUSH1 0xa0
000005b6: PUSH1 0x02
000005b8: EXP
000005b9: SUB
000005ba: SWAP3
000005bb: SWAP1
000005bc: SWAP3
000005bd: AND
000005be: DUP3
000005bf: MSTORE
000005c0: MLOAD
000005c1: SWAP1
000005c2: DUP2
000005c3: SWAP1
000005c4: SUB
000005c5: PUSH1 0x20
000005c7: ADD
000005c8: SWAP1
000005c9: RETURN
000005ca: JUMPDEST
000005cb: PUSH1 0x40
000005cd: MLOAD
000005ce: DUP1
000005cf: DUP4
000005d0: PUSH1 0x01
000005d2: PUSH1 0xa0
000005d4: PUSH1 0x02
000005d6: EXP
000005d7: SUB
000005d8: AND
000005d9: DUP2
000005da: MSTORE
000005db: PUSH1 0x20
000005dd: ADD
000005de: DUP3
000005df: DUP2
000005e0: MSTORE
000005e1: PUSH1 0x20
000005e3: ADD
000005e4: SWAP3
000005e5: POP
000005e6: POP
000005e7: POP
000005e8: PUSH1 0x40
000005ea: MLOAD
000005eb: DUP1
000005ec: SWAP2
000005ed: SUB
000005ee: SWAP1
000005ef: RETURN
000005f0: JUMPDEST
000005f1: PUSH1 0x0b
000005f3: DUP1
000005f4: SLOAD
000005f5: PUSH1 0x01
000005f7: PUSH1 0xa0
000005f9: PUSH1 0x02
000005fb: EXP
000005fc: SUB
000005fd: NOT
000005fe: AND
000005ff: DUP3
00000600: OR
00000601: SWAP1
00000602: SSTORE
00000603: JUMPDEST
00000604: POP
00000605: JUMP
00000606: JUMPDEST
00000607: PUSH1 0x07
00000609: DUP1
0000060a: SLOAD
0000060b: PUSH1 0x01
0000060d: PUSH1 0xa0
0000060f: PUSH1 0x02
00000611: EXP
00000612: SUB
00000613: NOT
00000614: AND
00000615: DUP3
00000616: OR
00000617: SWAP1
00000618: DUP2
00000619: SWAP1
0000061a: SSTORE
0000061b: PUSH1 0x40
0000061d: MLOAD
0000061e: PUSH1 0x01
00000620: PUSH1 0xa0
00000622: PUSH1 0x02
00000624: EXP
00000625: SUB
00000626: DUP4
00000627: DUP2
00000628: AND
00000629: SWAP3
0000062a: AND
0000062b: SWAP1
0000062c: PUSH32 0xc9ac373e07ad1e2272e9cc15bd99936749c5fa9d99165803402c01c473f16f46
0000064d: SWAP1
0000064e: PUSH1 0x00
00000650: SWAP1
00000651: LOG3
00000652: POP
00000653: JUMP
00000654: JUMPDEST
00000655: DUP3
00000656: ADD
00000657: SWAP2
00000658: SWAP1
00000659: PUSH1 0x00
0000065b: MSTORE
0000065c: PUSH1 0x20
0000065e: PUSH1 0x00
00000660: KECCAK256
00000661: SWAP1
00000662: JUMPDEST
00000663: DUP2
00000664: SLOAD
00000665: DUP2
00000666: MSTORE
00000667: SWAP1
00000668: PUSH1 0x01
0000066a: ADD
0000066b: SWAP1
0000066c: PUSH1 0x20
0000066e: ADD
0000066f: DUP1
00000670: DUP4
00000671: GT
00000672: PUSH2 0x0662
00000675: JUMPI
00000676: DUP3
00000677: SWAP1
00000678: SUB
00000679: PUSH1 0x1f
0000067b: AND
0000067c: DUP3
0000067d: ADD
0000067e: SWAP2
0000067f: JUMPDEST
00000680: POP
00000681: POP
00000682: POP
00000683: POP
00000684: POP
00000685: DUP2
00000686: JUMP
00000687: JUMPDEST
00000688: PUSH1 0x0a
0000068a: SSTORE
0000068b: JUMP
0000068c: JUMPDEST
0000068d: PUSH32 0x70c0299a4e8fb603925f4efed3dc104f652663edaebe8584cd8001defafb8a28
000006ae: DUP7
000006af: DUP3
000006b0: ORIGIN
000006b1: DUP5
000006b2: PUSH1 0x01
000006b4: PUSH1 0xa0
000006b6: PUSH1 0x02
000006b8: EXP
000006b9: SUB
000006ba: AND
000006bb: PUSH1 0x40
000006bd: MLOAD
000006be: DUP1
000006bf: DUP1
000006c0: PUSH1 0x20
000006c2: ADD
000006c3: DUP6
000006c4: PUSH1 0x01
000006c6: PUSH1 0xa0
000006c8: PUSH1 0x02
000006ca: EXP
000006cb: SUB
000006cc: AND
000006cd: DUP2
000006ce: MSTORE
000006cf: PUSH1 0x20
000006d1: ADD
000006d2: DUP5
000006d3: PUSH1 0x01
000006d5: PUSH1 0xa0
000006d7: PUSH1 0x02
000006d9: EXP
000006da: SUB
000006db: AND
000006dc: DUP2
000006dd: MSTORE
000006de: PUSH1 0x20
000006e0: ADD
000006e1: DUP4
000006e2: DUP2
000006e3: MSTORE
000006e4: PUSH1 0x20
000006e6: ADD
000006e7: DUP3
000006e8: DUP2
000006e9: SUB
000006ea: DUP3
000006eb: MSTORE
000006ec: DUP7
000006ed: DUP2
000006ee: DUP2
000006ef: MLOAD
000006f0: DUP2
000006f1: MSTORE
000006f2: PUSH1 0x20
000006f4: ADD
000006f5: SWAP2
000006f6: POP
000006f7: DUP1
000006f8: MLOAD
000006f9: SWAP1
000006fa: PUSH1 0x20
000006fc: ADD
000006fd: SWAP1
000006fe: DUP1
000006ff: DUP4
00000700: DUP4
00000701: DUP3
00000702: SWAP1
00000703: PUSH1 0x00
00000705: PUSH1 0x04
00000707: PUSH1 0x20
00000709: DUP5
0000070a: PUSH1 0x1f
0000070c: ADD
0000070d: DIV
0000070e: PUSH1 0x0f
00000710: MUL
00000711: PUSH1 0x03
00000713: ADD
00000714: CALL
00000715: POP
00000716: SWAP1
00000717: POP
00000718: SWAP1
00000719: DUP2
0000071a: ADD
0000071b: SWAP1
0000071c: PUSH1 0x1f
0000071e: AND
0000071f: DUP1
00000720: ISZERO
00000721: PUSH2 0x073e
00000724: JUMPI
00000725: DUP1
00000726: DUP3
00000727: SUB
00000728: DUP1
00000729: MLOAD
0000072a: PUSH1 0x01
0000072c: DUP4
0000072d: PUSH1 0x20
0000072f: SUB
00000730: PUSH2 0x0100
00000733: EXP
00000734: SUB
00000735: NOT
00000736: AND
00000737: DUP2
00000738: MSTORE
00000739: PUSH1 0x20
0000073b: ADD
0000073c: SWAP2
0000073d: POP
0000073e: JUMPDEST
0000073f: POP
00000740: SWAP6
00000741: POP
00000742: POP
00000743: POP
00000744: POP
00000745: POP
00000746: POP
00000747: PUSH1 0x40
00000749: MLOAD
0000074a: DUP1
0000074b: SWAP2
0000074c: SUB
0000074d: SWAP1
0000074e: LOG1
0000074f: SWAP2
00000750: POP
00000751: POP
00000752: PUSH1 0x01
00000754: PUSH1 0xa0
00000756: PUSH1 0x02
00000758: EXP
00000759: SUB
0000075a: DUP2
0000075b: AND
0000075c: DUP2
0000075d: JUMPDEST
0000075e: POP
0000075f: SWAP4
00000760: POP
00000761: SWAP4
00000762: SWAP2
00000763: POP
00000764: POP
00000765: JUMP
00000766: JUMPDEST
00000767: DUP6
00000768: DUP6
00000769: DUP6
0000076a: PUSH1 0x40
0000076c: MLOAD
0000076d: PUSH2 0x08d2
00000770: DUP1
00000771: PUSH2 0x09bb
00000774: DUP4
00000775: CODECOPY
00000776: ADD
00000777: DUP1
00000778: DUP1
00000779: PUSH1 0x20
0000077b: ADD
0000077c: DUP1
0000077d: PUSH1 0x20
0000077f: ADD
00000780: DUP5
00000781: DUP2
00000782: MSTORE
00000783: PUSH1 0x20
00000785: ADD
00000786: DUP4
00000787: DUP2
00000788: SUB
00000789: DUP4
0000078a: MSTORE
0000078b: DUP7
0000078c: DUP2
0000078d: DUP2
0000078e: MLOAD
0000078f: DUP2
00000790: MSTORE
00000791: PUSH1 0x20
00000793: ADD
00000794: SWAP2
00000795: POP
00000796: DUP1
00000797: MLOAD
00000798: SWAP1
00000799: PUSH1 0x20
0000079b: ADD
0000079c: SWAP1
0000079d: DUP1
0000079e: DUP4
0000079f: DUP4
000007a0: DUP3
000007a1: SWAP1
000007a2: PUSH1 0x00
000007a4: PUSH1 0x04
000007a6: PUSH1 0x20
000007a8: DUP5
000007a9: PUSH1 0x1f
000007ab: ADD
000007ac: DIV
000007ad: PUSH1 0x0f
000007af: MUL
000007b0: PUSH1 0x03
000007b2: ADD
000007b3: CALL
000007b4: POP
000007b5: SWAP1
000007b6: POP
000007b7: SWAP1
000007b8: DUP2
000007b9: ADD
000007ba: SWAP1
000007bb: PUSH1 0x1f
000007bd: AND
000007be: DUP1
000007bf: ISZERO
000007c0: PUSH2 0x07dd
000007c3: JUMPI
000007c4: DUP1
000007c5: DUP3
000007c6: SUB
000007c7: DUP1
000007c8: MLOAD
000007c9: PUSH1 0x01
000007cb: DUP4
000007cc: PUSH1 0x20
000007ce: SUB
000007cf: PUSH2 0x0100
000007d2: EXP
000007d3: SUB
000007d4: NOT
000007d5: AND
000007d6: DUP2
000007d7: MSTORE
000007d8: PUSH1 0x20
000007da: ADD
000007db: SWAP2
000007dc: POP
000007dd: JUMPDEST
000007de: POP
000007df: DUP4
000007e0: DUP2
000007e1: SUB
000007e2: DUP3
000007e3: MSTORE
000007e4: DUP6
000007e5: DUP2
000007e6: DUP2
000007e7: MLOAD
000007e8: DUP2
000007e9: MSTORE
000007ea: PUSH1 0x20
000007ec: ADD
000007ed: SWAP2
000007ee: POP
000007ef: DUP1
000007f0: MLOAD
000007f1: SWAP1
000007f2: PUSH1 0x20
000007f4: ADD
000007f5: SWAP1
000007f6: DUP1
000007f7: DUP4
000007f8: DUP4
000007f9: DUP3
000007fa: SWAP1
000007fb: PUSH1 0x00
000007fd: PUSH1 0x04
000007ff: PUSH1 0x20
00000801: DUP5
00000802: PUSH1 0x1f
00000804: ADD
00000805: DIV
00000806: PUSH1 0x0f
00000808: MUL
00000809: PUSH1 0x03
0000080b: ADD
0000080c: CALL
0000080d: POP
0000080e: SWAP1
0000080f: POP
00000810: SWAP1
00000811: DUP2
00000812: ADD
00000813: SWAP1
00000814: PUSH1 0x1f
00000816: AND
00000817: DUP1
00000818: ISZERO
00000819: PUSH2 0x0836
0000081c: JUMPI
0000081d: DUP1
0000081e: DUP3
0000081f: SUB
00000820: DUP1
00000821: MLOAD
00000822: PUSH1 0x01
00000824: DUP4
00000825: PUSH1 0x20
00000827: SUB
00000828: PUSH2 0x0100
0000082b: EXP
0000082c: SUB
0000082d: NOT
0000082e: AND
0000082f: DUP2
00000830: MSTORE
00000831: PUSH1 0x20
00000833: ADD
00000834: SWAP2
00000835: POP
00000836: JUMPDEST
00000837: POP
00000838: SWAP6
00000839: POP
0000083a: POP
0000083b: POP
0000083c: POP
0000083d: POP
0000083e: POP
0000083f: PUSH1 0x40
00000841: MLOAD
00000842: DUP1
00000843: SWAP2
00000844: SUB
00000845: SWAP1
00000846: PUSH1 0x00
00000848: CREATE
00000849: SWAP1
0000084a: POP
0000084b: PUSH1 0x0c
0000084d: PUSH1 0x00
0000084f: POP
00000850: DUP1
00000851: SLOAD
00000852: DUP1
00000853: PUSH1 0x01
00000855: ADD
00000856: DUP3
00000857: DUP2
00000858: DUP2
00000859: SLOAD
0000085a: DUP2
0000085b: DUP4
0000085c: SSTORE
0000085d: DUP2
0000085e: DUP2
0000085f: ISZERO
00000860: GT
00000861: PUSH2 0x088d
00000864: JUMPI
00000865: DUP2
00000866: DUP4
00000867: PUSH1 0x00
00000869: MSTORE
0000086a: PUSH1 0x20
0000086c: PUSH1 0x00
0000086e: KECCAK256
0000086f: SWAP2
00000870: DUP3
00000871: ADD
00000872: SWAP2
00000873: ADD
00000874: PUSH2 0x088d
00000877: SWAP2
00000878: SWAP1
00000879: JUMPDEST
0000087a: DUP1
0000087b: DUP3
0000087c: GT
0000087d: ISZERO
0000087e: PUSH2 0x08ef
00000881: JUMPI
00000882: PUSH1 0x00
00000884: DUP2
00000885: SSTORE
00000886: PUSH1 0x01
00000888: ADD
00000889: PUSH2 0x0879
0000088c: JUMP
0000088d: JUMPDEST
0000088e: POP
0000088f: POP
00000890: POP
00000891: PUSH1 0x00
00000893: SWAP3
00000894: DUP4
00000895: MSTORE
00000896: POP
00000897: PUSH1 0x20
00000899: DUP1
0000089a: DUP4
0000089b: KECCAK256
0000089c: SWAP2
0000089d: SWAP1
0000089e: SWAP2
0000089f: ADD
000008a0: DUP1
000008a1: SLOAD
000008a2: PUSH1 0x01
000008a4: PUSH1 0xa0
000008a6: PUSH1 0x02
000008a8: EXP
000008a9: SUB
000008aa: NOT
000008ab: AND
000008ac: DUP5
000008ad: OR
000008ae: SWAP1
000008af: SSTORE
000008b0: CALLER
000008b1: PUSH1 0x01
000008b3: PUSH1 0xa0
000008b5: PUSH1 0x02
000008b7: EXP
000008b8: SUB
000008b9: AND
000008ba: DUP3
000008bb: MSTORE
000008bc: PUSH1 0x02
000008be: SWAP1
000008bf: MSTORE
000008c0: PUSH1 0x40
000008c2: SWAP1
000008c3: KECCAK256
000008c4: DUP1
000008c5: SLOAD
000008c6: PUSH1 0x01
000008c8: DUP2
000008c9: ADD
000008ca: DUP1
000008cb: DUP4
000008cc: SSTORE
000008cd: DUP3
000008ce: DUP2
000008cf: DUP4
000008d0: DUP1
000008d1: ISZERO
000008d2: DUP3
000008d3: SWAP1
000008d4: GT
000008d5: PUSH2 0x08f3
000008d8: JUMPI
000008d9: PUSH1 0x00
000008db: DUP4
000008dc: DUP2
000008dd: MSTORE
000008de: PUSH1 0x20
000008e0: SWAP1
000008e1: KECCAK256
000008e2: PUSH2 0x08f3
000008e5: SWAP2
000008e6: DUP2
000008e7: ADD
000008e8: SWAP1
000008e9: DUP4
000008ea: ADD
000008eb: PUSH2 0x0879
000008ee: JUMP
000008ef: JUMPDEST
000008f0: POP
000008f1: SWAP1
000008f2: JUMP
000008f3: JUMPDEST
000008f4: POP
000008f5: POP
000008f6: POP
000008f7: PUSH1 0x00
000008f9: SWAP3
000008fa: DUP4
000008fb: MSTORE
000008fc: POP
000008fd: PUSH1 0x20
000008ff: DUP3
00000900: KECCAK256
00000901: ADD
00000902: DUP1
00000903: SLOAD
00000904: PUSH1 0x01
00000906: PUSH1 0xa0
00000908: PUSH1 0x02
0000090a: EXP
0000090b: SUB
0000090c: NOT
0000090d: AND
0000090e: DUP4
0000090f: OR
00000910: SWAP1
00000911: SSTORE
00000912: PUSH1 0x40
00000914: DUP1
00000915: MLOAD
00000916: PUSH32 0x3ef96dd400000000000000000000000000000000000000000000000000000000
00000937: DUP2
00000938: MSTORE
00000939: ORIGIN
0000093a: PUSH1 0x01
0000093c: PUSH1 0xa0
0000093e: PUSH1 0x02
00000940: EXP
00000941: SUB
00000942: SWAP1
00000943: DUP2
00000944: AND
00000945: PUSH1 0x04
00000947: DUP4
00000948: ADD
00000949: MSTORE
0000094a: SWAP2
0000094b: MLOAD
0000094c: SWAP2
0000094d: DUP5
0000094e: AND
0000094f: SWAP3
00000950: PUSH4 0x3ef96dd4
00000955: SWAP3
00000956: PUSH1 0x24
00000958: DUP4
00000959: DUP2
0000095a: ADD
0000095b: SWAP4
0000095c: DUP3
0000095d: SWAP1
0000095e: SUB
0000095f: ADD
00000960: DUP2
00000961: DUP4
00000962: DUP8
00000963: PUSH2 0x61da
00000966: GAS
00000967: SUB
00000968: CALL
00000969: ISZERO
0000096a: PUSH2 0x0002
0000096d: JUMPI
0000096e: POP
0000096f: POP
00000970: PUSH1 0x05
00000972: DUP1
00000973: SLOAD
00000974: PUSH1 0x01
00000976: DUP2
00000977: ADD
00000978: SWAP1
00000979: SWAP2
0000097a: SSTORE
0000097b: SWAP3
0000097c: POP
0000097d: PUSH2 0x068c
00000980: SWAP1
00000981: POP
00000982: DUP4
00000983: DUP4
00000984: PUSH2 0x0297
00000987: JUMP
00000988: JUMPDEST
00000989: PUSH1 0x0b
0000098b: SLOAD
0000098c: PUSH1 0x40
0000098e: MLOAD
0000098f: PUSH1 0x01
00000991: PUSH1 0xa0
00000993: PUSH1 0x02
00000995: EXP
00000996: SUB
00000997: SWAP2
00000998: DUP3
00000999: AND
0000099a: SWAP2
0000099b: PUSH1 0x00
0000099d: SWAP2
0000099e: ADDRESS
0000099f: SWAP1
000009a0: SWAP2
000009a1: AND
000009a2: BALANCE
000009a3: SWAP1
000009a4: DUP3
000009a5: DUP2
000009a6: DUP2
000009a7: DUP2
000009a8: DUP6
000009a9: DUP9
000009aa: DUP4
000009ab: CALL
000009ac: SWAP4
000009ad: POP
000009ae: POP
000009af: POP
000009b0: POP
000009b1: ISZERO
000009b2: ISZERO
000009b3: PUSH2 0x043f
000009b6: JUMPI
000009b7: PUSH2 0x0002
000009ba: JUMP
000009bb: PUSH7 0x038d7ea4c68000
000009c3: PUSH1 0x02
000009c5: SWAP1
000009c6: DUP2
000009c7: SSTORE
000009c8: PUSH1 0x00
000009ca: PUSH1 0x03
000009cc: DUP2
000009cd: SWAP1
000009ce: SSTORE
000009cf: PUSH8 0x016345785d8a0000
000009d8: PUSH1 0x04
000009da: SWAP1
000009db: DUP2
000009dc: SSTORE
000009dd: PUSH1 0x05
000009df: DUP1
000009e0: SLOAD
000009e1: PUSH1 0x01
000009e3: PUSH1 0xa0
000009e5: PUSH1 0x02
000009e7: EXP
000009e8: SUB
000009e9: NOT
000009ea: SWAP1
000009eb: DUP2
000009ec: AND
000009ed: ORIGIN
000009ee: OR
000009ef: SWAP1
000009f0: SWAP2
000009f1: SSTORE
000009f2: PUSH1 0x06
000009f4: DUP1
000009f5: SLOAD
000009f6: SWAP1
000009f7: SWAP2
000009f8: AND
000009f9: CALLER
000009fa: OR
000009fb: SWAP1
000009fc: SSTORE
000009fd: PUSH1 0x50
000009ff: PUSH1 0x0b
00000a01: SSTORE
00000a02: PUSH1 0xa0
00000a04: PUSH1 0x40
00000a06: MSTORE
00000a07: PUSH1 0x60
00000a09: MSTORE
00000a0a: PUSH32 0x48302e3100000000000000000000000000000000000000000000000000000000
00000a2b: PUSH1 0x80
00000a2d: MSTORE
00000a2e: PUSH1 0x0f
00000a30: DUP1
00000a31: SLOAD
00000a32: SWAP2
00000a33: DUP2
00000a34: SWAP1
00000a35: MSTORE
00000a36: PUSH32 0x48302e3100000000000000000000000000000000000000000000000000000008
00000a57: DUP2
00000a58: SSTORE
00000a59: SWAP2
00000a5a: PUSH2 0x00f6
00000a5d: SWAP2
00000a5e: PUSH1 0x20
00000a60: PUSH1 0x1f
00000a62: PUSH1 0x01
00000a64: DUP4
00000a65: AND
00000a66: ISZERO
00000a67: PUSH2 0x0100
00000a6a: MUL
00000a6b: PUSH1 0x00
00000a6d: NOT
00000a6e: ADD
00000a6f: SWAP1
00000a70: SWAP3
00000a71: AND
00000a72: SWAP3
00000a73: SWAP1
00000a74: SWAP3
00000a75: DIV
00000a76: ADD
00000a77: DIV
00000a78: PUSH32 0x8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802
00000a99: SWAP1
00000a9a: DUP2
00000a9b: ADD
00000a9c: SWAP1
00000a9d: JUMPDEST
00000a9e: DUP1
00000a9f: DUP3
00000aa0: GT
00000aa1: ISZERO
00000aa2: PUSH2 0x0192
00000aa5: JUMPI
00000aa6: PUSH1 0x00
00000aa8: DUP2
00000aa9: SSTORE
00000aaa: PUSH1 0x01
00000aac: ADD
00000aad: PUSH2 0x00e2
00000ab0: JUMP
00000ab1: JUMPDEST
00000ab2: POP
00000ab3: POP
00000ab4: PUSH1 0x40
00000ab6: MLOAD
00000ab7: PUSH2 0x08d2
00000aba: CODESIZE
00000abb: SUB
00000abc: DUP1
00000abd: PUSH2 0x08d2
00000ac0: DUP4
00000ac1: CODECOPY
00000ac2: DUP2
00000ac3: ADD
00000ac4: PUSH1 0x40
00000ac6: MSTORE
00000ac7: DUP1
00000ac8: DUP1
00000ac9: MLOAD
00000aca: DUP3
00000acb: ADD
00000acc: SWAP2
00000acd: SWAP1
00000ace: PUSH1 0x20
00000ad0: ADD
00000ad1: DUP1
00000ad2: MLOAD
00000ad3: DUP3
00000ad4: ADD
00000ad5: SWAP2
00000ad6: SWAP1
00000ad7: PUSH1 0x20
00000ad9: ADD
00000ada: DUP1
00000adb: MLOAD
00000adc: SWAP1
00000add: PUSH1 0x20
00000adf: ADD
00000ae0: SWAP1
00000ae1: SWAP2
00000ae2: SWAP1
00000ae3: POP
00000ae4: POP
00000ae5: PUSH1 0x00
00000ae7: DUP1
00000ae8: SLOAD
00000ae9: PUSH1 0x01
00000aeb: PUSH1 0xa0
00000aed: PUSH1 0x02
00000aef: EXP
00000af0: SUB
00000af1: NOT
00000af2: AND
00000af3: ORIGIN
00000af4: OR
00000af5: SWAP1
00000af6: SSTORE
00000af7: DUP3
00000af8: PUSH1 0x0d
00000afa: PUSH1 0x00
00000afc: POP
00000afd: SWAP1
00000afe: DUP1
00000aff: MLOAD
00000b00: SWAP1
00000b01: PUSH1 0x20
00000b03: ADD
00000b04: SWAP1
00000b05: DUP3
00000b06: DUP1
00000b07: SLOAD
00000b08: PUSH1 0x01
00000b0a: DUP2
00000b0b: PUSH1 0x01
00000b0d: AND
00000b0e: ISZERO
00000b0f: PUSH2 0x0100
00000b12: MUL
00000b13: SUB
00000b14: AND
00000b15: PUSH1 0x02
00000b17: SWAP1
00000b18: DIV
00000b19: SWAP1
00000b1a: PUSH1 0x00
00000b1c: MSTORE
00000b1d: PUSH1 0x20
00000b1f: PUSH1 0x00
00000b21: KECCAK256
00000b22: SWAP1
00000b23: PUSH1 0x1f
00000b25: ADD
00000b26: PUSH1 0x20
00000b28: SWAP1
00000b29: DIV
00000b2a: DUP2
00000b2b: ADD
00000b2c: SWAP3
00000b2d: DUP3
00000b2e: PUSH1 0x1f
00000b30: LT
00000b31: PUSH2 0x0196
00000b34: JUMPI
00000b35: DUP1
00000b36: MLOAD
00000b37: PUSH1 0xff
00000b39: NOT
00000b3a: AND
00000b3b: DUP4
00000b3c: DUP1
00000b3d: ADD
00000b3e: OR
00000b3f: DUP6
00000b40: SSTORE
00000b41: JUMPDEST
00000b42: POP
00000b43: PUSH2 0x01c6
00000b46: SWAP3
00000b47: SWAP2
00000b48: POP
00000b49: PUSH2 0x00e2
00000b4c: JUMP
00000b4d: JUMPDEST
00000b4e: POP
00000b4f: SWAP1
00000b50: JUMP
00000b51: JUMPDEST
00000b52: DUP3
00000b53: DUP1
00000b54: ADD
00000b55: PUSH1 0x01
00000b57: ADD
00000b58: DUP6
00000b59: SSTORE
00000b5a: DUP3
00000b5b: ISZERO
00000b5c: PUSH2 0x0186
00000b5f: JUMPI
00000b60: SWAP2
00000b61: DUP3
00000b62: ADD
00000b63: JUMPDEST
00000b64: DUP3
00000b65: DUP2
00000b66: GT
00000b67: ISZERO
00000b68: PUSH2 0x0186
00000b6b: JUMPI
00000b6c: DUP3
00000b6d: MLOAD
00000b6e: DUP3
00000b6f: PUSH1 0x00
00000b71: POP
00000b72: SSTORE
00000b73: SWAP2
00000b74: PUSH1 0x20
00000b76: ADD
00000b77: SWAP2
00000b78: SWAP1
00000b79: PUSH1 0x01
00000b7b: ADD
00000b7c: SWAP1
00000b7d: PUSH2 0x01a8
00000b80: JUMP
00000b81: JUMPDEST
00000b82: POP
00000b83: POP
00000b84: DUP2
00000b85: PUSH1 0x0e
00000b87: PUSH1 0x00
00000b89: POP
00000b8a: SWAP1
00000b8b: DUP1
00000b8c: MLOAD
00000b8d: SWAP1
00000b8e: PUSH1 0x20
00000b90: ADD
00000b91: SWAP1
00000b92: DUP3
00000b93: DUP1
00000b94: SLOAD
00000b95: PUSH1 0x01
00000b97: DUP2
00000b98: PUSH1 0x01
00000b9a: AND
00000b9b: ISZERO
00000b9c: PUSH2 0x0100
00000b9f: MUL
00000ba0: SUB
00000ba1: AND
00000ba2: PUSH1 0x02
00000ba4: SWAP1
00000ba5: DIV
00000ba6: SWAP1
00000ba7: PUSH1 0x00
00000ba9: MSTORE
00000baa: PUSH1 0x20
00000bac: PUSH1 0x00
00000bae: KECCAK256
00000baf: SWAP1
00000bb0: PUSH1 0x1f
00000bb2: ADD
00000bb3: PUSH1 0x20
00000bb5: SWAP1
00000bb6: DIV
00000bb7: DUP2
00000bb8: ADD
00000bb9: SWAP3
00000bba: DUP3
00000bbb: PUSH1 0x1f
00000bbd: LT
00000bbe: PUSH2 0x021f
00000bc1: JUMPI
00000bc2: DUP1
00000bc3: MLOAD
00000bc4: PUSH1 0xff
00000bc6: NOT
00000bc7: AND
00000bc8: DUP4
00000bc9: DUP1
00000bca: ADD
00000bcb: OR
00000bcc: DUP6
00000bcd: SSTORE
00000bce: JUMPDEST
00000bcf: POP
00000bd0: PUSH2 0x024f
00000bd3: SWAP3
00000bd4: SWAP2
00000bd5: POP
00000bd6: PUSH2 0x00e2
00000bd9: JUMP
00000bda: JUMPDEST
00000bdb: DUP3
00000bdc: DUP1
00000bdd: ADD
00000bde: PUSH1 0x01
00000be0: ADD
00000be1: DUP6
00000be2: SSTORE
00000be3: DUP3
00000be4: ISZERO
00000be5: PUSH2 0x0213
00000be8: JUMPI
00000be9: SWAP2
00000bea: DUP3
00000beb: ADD
00000bec: JUMPDEST
00000bed: DUP3
00000bee: DUP2
00000bef: GT
00000bf0: ISZERO
00000bf1: PUSH2 0x0213
00000bf4: JUMPI
00000bf5: DUP3
00000bf6: MLOAD
00000bf7: DUP3
00000bf8: PUSH1 0x00
00000bfa: POP
00000bfb: SSTORE
00000bfc: SWAP2
00000bfd: PUSH1 0x20
00000bff: ADD
00000c00: SWAP2
00000c01: SWAP1
00000c02: PUSH1 0x01
00000c04: ADD
00000c05: SWAP1
00000c06: PUSH2 0x0231
00000c09: JUMP
00000c0a: JUMPDEST
00000c0b: POP
00000c0c: POP
00000c0d: PUSH1 0x03
00000c0f: SSTORE
00000c10: POP
00000c11: PUSH2 0x066d
00000c14: SWAP1
00000c15: POP
00000c16: DUP1
00000c17: PUSH2 0x0265
00000c1a: PUSH1 0x00
00000c1c: CODECOPY
00000c1d: PUSH1 0x00
00000c1f: RETURN
00000c20: PUSH1 0x60
00000c22: PUSH1 0x40
00000c24: MSTORE
00000c25: CALLDATASIZE
00000c26: ISZERO
00000c27: PUSH2 0x00e5
00000c2a: JUMPI
00000c2b: PUSH1 0xe0
00000c2d: PUSH1 0x02
00000c2f: EXP
00000c30: PUSH1 0x00
00000c32: CALLDATALOAD
00000c33: DIV
00000c34: PUSH4 0x06fdde03
00000c39: DUP2
00000c3a: EQ
00000c3b: PUSH2 0x00ed
00000c3e: JUMPI
00000c3f: DUP1
00000c40: PUSH4 0x096a8ab7
00000c45: EQ
00000c46: PUSH2 0x014a
00000c49: JUMPI
00000c4a: DUP1
00000c4b: PUSH4 0x18160ddd
00000c50: EQ
00000c51: PUSH2 0x016c
00000c54: JUMPI
00000c55: DUP1
00000c56: PUSH4 0x26510f55
00000c5b: EQ
00000c5c: PUSH2 0x0175
00000c5f: JUMPI
00000c60: DUP1
00000c61: PUSH4 0x27e235e3
00000c66: EQ
00000c67: PUSH2 0x0196
00000c6a: JUMPI
00000c6b: DUP1
00000c6c: PUSH4 0x3ef96dd4
00000c71: EQ
00000c72: PUSH2 0x01ae
00000c75: JUMPI
00000c76: DUP1
00000c77: PUSH4 0x54fd4d50
00000c7c: EQ
00000c7d: PUSH2 0x01d0
00000c80: JUMPI
00000c81: DUP1
00000c82: PUSH4 0x70a08231
00000c87: EQ
00000c88: PUSH2 0x022d
00000c8b: JUMPI
00000c8c: DUP1
00000c8d: PUSH4 0x71ca337d
00000c92: EQ
00000c93: PUSH2 0x0253
00000c96: JUMPI
00000c97: DUP1
00000c98: PUSH4 0x9245290d
00000c9d: EQ
00000c9e: PUSH2 0x025c
00000ca1: JUMPI
00000ca2: DUP1
00000ca3: PUSH4 0x94c15c42
00000ca8: EQ
00000ca9: PUSH2 0x027e
00000cac: JUMPI
00000cad: DUP1
00000cae: PUSH4 0x95d89b41
00000cb3: EQ
00000cb4: PUSH2 0x0290
00000cb7: JUMPI
00000cb8: DUP1
00000cb9: PUSH4 0x9ed3edf0
00000cbe: EQ
00000cbf: PUSH2 0x02ec
00000cc2: JUMPI
00000cc3: DUP1
00000cc4: PUSH4 0xa035b1fe
00000cc9: EQ
00000cca: PUSH2 0x02f5
00000ccd: JUMPI
00000cce: DUP1
00000ccf: PUSH4 0xa6f2ae3a
00000cd4: EQ
00000cd5: PUSH2 0x02fe
00000cd8: JUMPI
00000cd9: DUP1
00000cda: PUSH4 0xc415b95c
00000cdf: EQ
00000ce0: PUSH2 0x0313
00000ce3: JUMPI
00000ce4: DUP1
00000ce5: PUSH4 0xe4849b32
00000cea: EQ
00000ceb: PUSH2 0x0325
00000cee: JUMPI
00000cef: DUP1
00000cf0: PUSH4 0xefb38026
00000cf5: EQ
00000cf6: PUSH2 0x03a9
00000cf9: JUMPI
00000cfa: DUP1
00000cfb: PUSH4 0xf6a33253
00000d00: EQ
00000d01: PUSH2 0x03bb
00000d04: JUMPI
00000d05: JUMPDEST
00000d06: PUSH2 0x03dc
00000d09: PUSH2 0x0002
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: PUSH2 0x03de
00000d11: PUSH1 0x0d
00000d13: DUP1
00000d14: SLOAD
00000d15: PUSH1 0x20
00000d17: PUSH1 0x02
00000d19: PUSH1 0x01
00000d1b: DUP4
00000d1c: AND
00000d1d: ISZERO
00000d1e: PUSH2 0x0100
00000d21: MUL
00000d22: PUSH1 0x00
00000d24: NOT
00000d25: ADD
00000d26: SWAP1
00000d27: SWAP3
00000d28: AND
00000d29: SWAP2
00000d2a: SWAP1
00000d2b: SWAP2
00000d2c: DIV
00000d2d: PUSH1 0x1f
00000d2f: DUP2
00000d30: ADD
00000d31: DUP3
00000d32: SWAP1
00000d33: DIV
00000d34: SWAP1
00000d35: SWAP2
00000d36: MUL
00000d37: PUSH1 0x80
00000d39: SWAP1
00000d3a: DUP2
00000d3b: ADD
00000d3c: PUSH1 0x40
00000d3e: MSTORE
00000d3f: PUSH1 0x60
00000d41: DUP3
00000d42: DUP2
00000d43: MSTORE
00000d44: SWAP3
00000d45: SWAP2
00000d46: SWAP1
00000d47: DUP3
00000d48: DUP3
00000d49: DUP1
00000d4a: ISZERO
00000d4b: PUSH2 0x04a3
00000d4e: JUMPI
00000d4f: DUP1
00000d50: PUSH1 0x1f
00000d52: LT
00000d53: PUSH2 0x0478
00000d56: JUMPI
00000d57: PUSH2 0x0100
00000d5a: DUP1
00000d5b: DUP4
00000d5c: SLOAD
00000d5d: DIV
00000d5e: MUL
00000d5f: DUP4
00000d60: MSTORE
00000d61: SWAP2
00000d62: PUSH1 0x20
00000d64: ADD
00000d65: SWAP2
00000d66: PUSH2 0x04a3
00000d69: JUMP
00000d6a: JUMPDEST
00000d6b: PUSH2 0x03dc
00000d6e: PUSH1 0x04
00000d70: CALLDATALOAD
00000d71: PUSH1 0x00
00000d73: SLOAD
00000d74: PUSH1 0x01
00000d76: PUSH1 0xa0
00000d78: PUSH1 0x02
00000d7a: EXP
00000d7b: SUB
00000d7c: SWAP1
00000d7d: DUP2
00000d7e: AND
00000d7f: ORIGIN
00000d80: SWAP1
00000d81: SWAP2
00000d82: AND
00000d83: EQ
00000d84: PUSH2 0x04ab
00000d87: JUMPI
00000d88: PUSH2 0x04bd
00000d8b: JUMP
00000d8c: JUMPDEST
00000d8d: PUSH2 0x0249
00000d90: PUSH1 0x01
00000d92: SLOAD
00000d93: DUP2
00000d94: JUMP
00000d95: JUMPDEST
00000d96: PUSH2 0x03dc
00000d99: PUSH1 0x04
00000d9b: CALLDATALOAD
00000d9c: PUSH1 0x06
00000d9e: SLOAD
00000d9f: ORIGIN
00000da0: PUSH1 0x01
00000da2: PUSH1 0xa0
00000da4: PUSH1 0x02
00000da6: EXP
00000da7: SUB
00000da8: SWAP1
00000da9: DUP2
00000daa: AND
00000dab: SWAP2
00000dac: AND
00000dad: EQ
00000dae: PUSH2 0x04c0
00000db1: JUMPI
00000db2: PUSH2 0x04bd
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH2 0x0249
00000dba: PUSH1 0x04
00000dbc: CALLDATALOAD
00000dbd: PUSH1 0x0c
00000dbf: PUSH1 0x20
00000dc1: MSTORE
00000dc2: PUSH1 0x00
00000dc4: SWAP1
00000dc5: DUP2
00000dc6: MSTORE
00000dc7: PUSH1 0x40
00000dc9: SWAP1
00000dca: KECCAK256
00000dcb: SLOAD
00000dcc: DUP2
00000dcd: JUMP
00000dce: JUMPDEST
00000dcf: PUSH2 0x03dc
00000dd2: PUSH1 0x04
00000dd4: CALLDATALOAD
00000dd5: PUSH1 0x00
00000dd7: SLOAD
00000dd8: PUSH1 0x01
00000dda: PUSH1 0xa0
00000ddc: PUSH1 0x02
00000dde: EXP
00000ddf: SUB
00000de0: SWAP1
00000de1: DUP2
00000de2: AND
00000de3: ORIGIN
00000de4: SWAP1
00000de5: SWAP2
00000de6: AND
00000de7: EQ
00000de8: PUSH2 0x04d5
00000deb: JUMPI
00000dec: PUSH2 0x04bd
00000def: JUMP
00000df0: JUMPDEST
00000df1: PUSH2 0x03de
00000df4: PUSH1 0x0f
00000df6: DUP1
00000df7: SLOAD
00000df8: PUSH1 0x20
00000dfa: PUSH1 0x02
00000dfc: PUSH1 0x01
00000dfe: DUP4
00000dff: AND
00000e00: ISZERO
00000e01: PUSH2 0x0100
00000e04: MUL
00000e05: PUSH1 0x00
00000e07: NOT
00000e08: ADD
00000e09: SWAP1
00000e0a: SWAP3
00000e0b: AND
00000e0c: SWAP2
00000e0d: SWAP1
00000e0e: SWAP2
00000e0f: DIV
00000e10: PUSH1 0x1f
00000e12: DUP2
00000e13: ADD
00000e14: DUP3
00000e15: SWAP1
00000e16: DIV
00000e17: SWAP1
00000e18: SWAP2
00000e19: MUL
00000e1a: PUSH1 0x80
00000e1c: SWAP1
00000e1d: DUP2
00000e1e: ADD
00000e1f: PUSH1 0x40
00000e21: MSTORE
00000e22: PUSH1 0x60
00000e24: DUP3
00000e25: DUP2
00000e26: MSTORE
00000e27: SWAP3
00000e28: SWAP2
00000e29: SWAP1
00000e2a: DUP3
00000e2b: DUP3
00000e2c: DUP1
00000e2d: ISZERO
00000e2e: PUSH2 0x04a3
00000e31: JUMPI
00000e32: DUP1
00000e33: PUSH1 0x1f
00000e35: LT
00000e36: PUSH2 0x0478
00000e39: JUMPI
00000e3a: PUSH2 0x0100
00000e3d: DUP1
00000e3e: DUP4
00000e3f: SLOAD
00000e40: DIV
00000e41: MUL
00000e42: DUP4
00000e43: MSTORE
00000e44: SWAP2
00000e45: PUSH1 0x20
00000e47: ADD
00000e48: SWAP2
00000e49: PUSH2 0x04a3
00000e4c: JUMP
00000e4d: JUMPDEST
00000e4e: PUSH1 0x01
00000e50: PUSH1 0xa0
00000e52: PUSH1 0x02
00000e54: EXP
00000e55: SUB
00000e56: PUSH1 0x04
00000e58: CALLDATALOAD
00000e59: AND
00000e5a: PUSH1 0x00
00000e5c: SWAP1
00000e5d: DUP2
00000e5e: MSTORE
00000e5f: PUSH1 0x0c
00000e61: PUSH1 0x20
00000e63: MSTORE
00000e64: PUSH1 0x40
00000e66: SWAP1
00000e67: KECCAK256
00000e68: SLOAD
00000e69: JUMPDEST
00000e6a: PUSH1 0x60
00000e6c: SWAP1
00000e6d: DUP2
00000e6e: MSTORE
00000e6f: PUSH1 0x20
00000e71: SWAP1
00000e72: RETURN
00000e73: JUMPDEST
00000e74: PUSH2 0x0249
00000e77: PUSH1 0x0b
00000e79: SLOAD
00000e7a: DUP2
00000e7b: JUMP
00000e7c: JUMPDEST
00000e7d: PUSH2 0x03dc
00000e80: PUSH1 0x04
00000e82: CALLDATALOAD
00000e83: PUSH1 0x00
00000e85: SLOAD
00000e86: PUSH1 0x01
00000e88: PUSH1 0xa0
00000e8a: PUSH1 0x02
00000e8c: EXP
00000e8d: SUB
00000e8e: SWAP1
00000e8f: DUP2
00000e90: AND
00000e91: ORIGIN
00000e92: SWAP1
00000e93: SWAP2
00000e94: AND
00000e95: EQ
00000e96: PUSH2 0x051f
00000e99: JUMPI
00000e9a: PUSH2 0x04bd
00000e9d: JUMP
00000e9e: JUMPDEST
00000e9f: PUSH2 0x044c
00000ea2: PUSH1 0x00
00000ea4: SLOAD
00000ea5: PUSH1 0x01
00000ea7: PUSH1 0xa0
00000ea9: PUSH1 0x02
00000eab: EXP
00000eac: SUB
00000ead: AND
00000eae: DUP2
00000eaf: JUMP
00000eb0: JUMPDEST
00000eb1: PUSH2 0x03de
00000eb4: PUSH1 0x0e
00000eb6: DUP1
00000eb7: SLOAD
00000eb8: PUSH1 0x20
00000eba: PUSH1 0x1f
00000ebc: PUSH1 0x02
00000ebe: PUSH1 0x01
00000ec0: DUP5
00000ec1: AND
00000ec2: ISZERO
00000ec3: PUSH2 0x0100
00000ec6: MUL
00000ec7: PUSH1 0x00
00000ec9: NOT
00000eca: ADD
00000ecb: SWAP1
00000ecc: SWAP4
00000ecd: AND
00000ece: SWAP3
00000ecf: SWAP1
00000ed0: SWAP3
00000ed1: DIV
00000ed2: SWAP2
00000ed3: DUP3
00000ed4: ADD
00000ed5: DUP2
00000ed6: SWAP1
00000ed7: DIV
00000ed8: MUL
00000ed9: PUSH1 0x80
00000edb: SWAP1
00000edc: DUP2
00000edd: ADD
00000ede: PUSH1 0x40
00000ee0: MSTORE
00000ee1: PUSH1 0x60
00000ee3: DUP3
00000ee4: DUP2
00000ee5: MSTORE
00000ee6: SWAP3
00000ee7: SWAP2
00000ee8: SWAP1
00000ee9: DUP3
00000eea: DUP3
00000eeb: DUP1
00000eec: ISZERO
00000eed: PUSH2 0x04a3
00000ef0: JUMPI
00000ef1: DUP1
00000ef2: PUSH1 0x1f
00000ef4: LT
00000ef5: PUSH2 0x0478
00000ef8: JUMPI
00000ef9: PUSH2 0x0100
00000efc: DUP1
00000efd: DUP4
00000efe: SLOAD
00000eff: DIV
00000f00: MUL
00000f01: DUP4
00000f02: MSTORE
00000f03: SWAP2
00000f04: PUSH1 0x20
00000f06: ADD
00000f07: SWAP2
00000f08: PUSH2 0x04a3
00000f0b: JUMP
00000f0c: JUMPDEST
00000f0d: PUSH2 0x0249
00000f10: PUSH1 0x03
00000f12: SLOAD
00000f13: DUP2
00000f14: JUMP
00000f15: JUMPDEST
00000f16: PUSH2 0x0249
00000f19: PUSH1 0x02
00000f1b: SLOAD
00000f1c: DUP2
00000f1d: JUMP
00000f1e: JUMPDEST
00000f1f: PUSH2 0x0249
00000f22: PUSH1 0x04
00000f24: SLOAD
00000f25: PUSH1 0x00
00000f27: SWAP1
00000f28: CALLVALUE
00000f29: LT
00000f2a: ISZERO
00000f2b: PUSH2 0x0534
00000f2e: JUMPI
00000f2f: PUSH2 0x0002
00000f32: JUMP
00000f33: JUMPDEST
00000f34: PUSH2 0x044c
00000f37: PUSH1 0x05
00000f39: SLOAD
00000f3a: PUSH1 0x01
00000f3c: PUSH1 0xa0
00000f3e: PUSH1 0x02
00000f40: EXP
00000f41: SUB
00000f42: AND
00000f43: DUP2
00000f44: JUMP
00000f45: JUMPDEST
00000f46: PUSH2 0x045f
00000f49: PUSH1 0x04
00000f4b: CALLDATALOAD
00000f4c: PUSH1 0x02
00000f4e: SLOAD
00000f4f: ORIGIN
00000f50: PUSH1 0x01
00000f52: PUSH1 0xa0
00000f54: PUSH1 0x02
00000f56: EXP
00000f57: SUB
00000f58: AND
00000f59: PUSH1 0x00
00000f5b: SWAP1
00000f5c: DUP2
00000f5d: MSTORE
00000f5e: PUSH1 0x0c
00000f60: PUSH1 0x20
00000f62: MSTORE
00000f63: PUSH1 0x40
00000f65: DUP2
00000f66: KECCAK256
00000f67: SLOAD
00000f68: SWAP2
00000f69: DUP4
00000f6a: MUL
00000f6b: SWAP2
00000f6c: DUP4
00000f6d: SWAP1
00000f6e: LT
00000f6f: DUP1
00000f70: ISZERO
00000f71: SWAP1
00000f72: PUSH2 0x0360
00000f75: JUMPI
00000f76: POP
00000f77: PUSH1 0x40
00000f79: DUP2
00000f7a: KECCAK256
00000f7b: SLOAD
00000f7c: DUP1
00000f7d: DUP5
00000f7e: ADD
00000f7f: GT
00000f80: JUMPDEST
00000f81: DUP1
00000f82: ISZERO
00000f83: PUSH2 0x036d
00000f86: JUMPI
00000f87: POP
00000f88: PUSH1 0x04
00000f8a: SLOAD
00000f8b: DUP4
00000f8c: GT
00000f8d: JUMPDEST
00000f8e: ISZERO
00000f8f: PUSH2 0x0643
00000f92: JUMPI
00000f93: PUSH1 0x40
00000f95: DUP2
00000f96: KECCAK256
00000f97: DUP1
00000f98: SLOAD
00000f99: DUP5
00000f9a: SWAP1
00000f9b: SUB
00000f9c: SWAP1
00000f9d: SSTORE
00000f9e: PUSH1 0x02
00000fa0: SLOAD
00000fa1: ORIGIN
00000fa2: PUSH1 0x01
00000fa4: PUSH1 0xa0
00000fa6: PUSH1 0x02
00000fa8: EXP
00000fa9: SUB
00000faa: AND
00000fab: SWAP1
00000fac: DUP3
00000fad: SWAP1
00000fae: DUP6
00000faf: MUL
00000fb0: PUSH1 0x60
00000fb2: DUP3
00000fb3: DUP2
00000fb4: DUP2
00000fb5: DUP2
00000fb6: DUP6
00000fb7: DUP9
00000fb8: DUP4
00000fb9: CALL
00000fba: SWAP4
00000fbb: POP
00000fbc: POP
00000fbd: POP
00000fbe: POP
00000fbf: ISZERO
00000fc0: ISZERO
00000fc1: PUSH2 0x05f1
00000fc4: JUMPI
00000fc5: PUSH2 0x0002
00000fc8: JUMP
00000fc9: JUMPDEST
00000fca: PUSH2 0x044c
00000fcd: PUSH1 0x06
00000fcf: SLOAD
00000fd0: PUSH1 0x01
00000fd2: PUSH1 0xa0
00000fd4: PUSH1 0x02
00000fd6: EXP
00000fd7: SUB
00000fd8: AND
00000fd9: DUP2
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: PUSH2 0x03dc
00000fdf: PUSH1 0x04
00000fe1: CALLDATALOAD
00000fe2: PUSH1 0x06
00000fe4: SLOAD
00000fe5: ORIGIN
00000fe6: PUSH1 0x01
00000fe8: PUSH1 0xa0
00000fea: PUSH1 0x02
00000fec: EXP
00000fed: SUB
00000fee: SWAP1
00000fef: DUP2
00000ff0: AND
00000ff1: SWAP2
00000ff2: AND
00000ff3: EQ
00000ff4: PUSH2 0x0648
00000ff7: JUMPI
00000ff8: PUSH2 0x04bd
00000ffb: JUMP
00000ffc: JUMPDEST
00000ffd: STOP
00000ffe: JUMPDEST
00000fff: PUSH1 0x40
00001001: MLOAD
00001002: DUP1
00001003: DUP1
00001004: PUSH1 0x20
00001006: ADD
00001007: DUP3
00001008: DUP2
00001009: SUB
0000100a: DUP3
0000100b: MSTORE
0000100c: DUP4
0000100d: DUP2
0000100e: DUP2
0000100f: MLOAD
00001010: DUP2
00001011: MSTORE
00001012: PUSH1 0x20
00001014: ADD
00001015: SWAP2
00001016: POP
00001017: DUP1
00001018: MLOAD
00001019: SWAP1
0000101a: PUSH1 0x20
0000101c: ADD
0000101d: SWAP1
0000101e: DUP1
0000101f: DUP4
00001020: DUP4
00001021: DUP3
00001022: SWAP1
00001023: PUSH1 0x00
00001025: PUSH1 0x04
00001027: PUSH1 0x20
00001029: DUP5
0000102a: PUSH1 0x1f
0000102c: ADD
0000102d: DIV
0000102e: PUSH1 0x0f
00001030: MUL
00001031: PUSH1 0x03
00001033: ADD
00001034: CALL
00001035: POP
00001036: SWAP1
00001037: POP
00001038: SWAP1
00001039: DUP2
0000103a: ADD
0000103b: SWAP1
0000103c: PUSH1 0x1f
0000103e: AND
0000103f: DUP1
00001040: ISZERO
00001041: PUSH2 0x043e
00001044: JUMPI
00001045: DUP1
00001046: DUP3
00001047: SUB
00001048: DUP1
00001049: MLOAD
0000104a: PUSH1 0x01
0000104c: DUP4
0000104d: PUSH1 0x20
0000104f: SUB
00001050: PUSH2 0x0100
00001053: EXP
00001054: SUB
00001055: NOT
00001056: AND
00001057: DUP2
00001058: MSTORE
00001059: PUSH1 0x20
0000105b: ADD
0000105c: SWAP2
0000105d: POP
0000105e: JUMPDEST
0000105f: POP
00001060: SWAP3
00001061: POP
00001062: POP
00001063: POP
00001064: PUSH1 0x40
00001066: MLOAD
00001067: DUP1
00001068: SWAP2
00001069: SUB
0000106a: SWAP1
0000106b: RETURN
0000106c: JUMPDEST
0000106d: PUSH1 0x01
0000106f: PUSH1 0xa0
00001071: PUSH1 0x02
00001073: EXP
00001074: SUB
00001075: AND
00001076: PUSH1 0x60
00001078: SWAP1
00001079: DUP2
0000107a: MSTORE
0000107b: PUSH1 0x20
0000107d: SWAP1
0000107e: RETURN
0000107f: JUMPDEST
00001080: PUSH1 0x40
00001082: DUP1
00001083: MLOAD
00001084: SWAP3
00001085: DUP4
00001086: MSTORE
00001087: SWAP1
00001088: ISZERO
00001089: ISZERO
0000108a: PUSH1 0x20
0000108c: DUP4
0000108d: ADD
0000108e: MSTORE
0000108f: DUP1
00001090: MLOAD
00001091: SWAP2
00001092: DUP3
00001093: SWAP1
00001094: SUB
00001095: ADD
00001096: SWAP1
00001097: RETURN
00001098: JUMPDEST
00001099: DUP3
0000109a: ADD
0000109b: SWAP2
0000109c: SWAP1
0000109d: PUSH1 0x00
0000109f: MSTORE
000010a0: PUSH1 0x20
000010a2: PUSH1 0x00
000010a4: KECCAK256
000010a5: SWAP1
000010a6: JUMPDEST
000010a7: DUP2
000010a8: SLOAD
000010a9: DUP2
000010aa: MSTORE
000010ab: SWAP1
000010ac: PUSH1 0x01
000010ae: ADD
000010af: SWAP1
000010b0: PUSH1 0x20
000010b2: ADD
000010b3: DUP1
000010b4: DUP4
000010b5: GT
000010b6: PUSH2 0x0486
000010b9: JUMPI
000010ba: DUP3
000010bb: SWAP1
000010bc: SUB
000010bd: PUSH1 0x1f
000010bf: AND
000010c0: DUP3
000010c1: ADD
000010c2: SWAP2
000010c3: JUMPDEST
000010c4: POP
000010c5: POP
000010c6: POP
000010c7: POP
000010c8: POP
000010c9: DUP2
000010ca: JUMP
000010cb: JUMPDEST
000010cc: PUSH9 0x056bc75e2d63100000
000010d6: CALLVALUE
000010d7: DUP3
000010d8: MUL
000010d9: DIV
000010da: PUSH1 0x03
000010dc: SSTORE
000010dd: JUMPDEST
000010de: POP
000010df: JUMP
000010e0: JUMPDEST
000010e1: PUSH1 0x06
000010e3: DUP1
000010e4: SLOAD
000010e5: PUSH1 0x01
000010e7: PUSH1 0xa0
000010e9: PUSH1 0x02
000010eb: EXP
000010ec: SUB
000010ed: NOT
000010ee: AND
000010ef: DUP3
000010f0: OR
000010f1: SWAP1
000010f2: SSTORE
000010f3: POP
000010f4: JUMP
000010f5: JUMPDEST
000010f6: PUSH1 0x00
000010f8: DUP1
000010f9: SLOAD
000010fa: PUSH1 0x01
000010fc: PUSH1 0xa0
000010fe: PUSH1 0x02
00001100: EXP
00001101: SUB
00001102: NOT
00001103: AND
00001104: DUP3
00001105: OR
00001106: DUP1
00001107: DUP3
00001108: SSTORE
00001109: PUSH1 0x01
0000110b: PUSH1 0xa0
0000110d: PUSH1 0x02
0000110f: EXP
00001110: SUB
00001111: DUP1
00001112: DUP5
00001113: AND
00001114: SWAP3
00001115: SWAP2
00001116: AND
00001117: SWAP1
00001118: PUSH32 0xc9ac373e07ad1e2272e9cc15bd99936749c5fa9d99165803402c01c473f16f46
00001139: SWAP1
0000113a: PUSH1 0x60
0000113c: LOG3
0000113d: POP
0000113e: JUMP
0000113f: JUMPDEST
00001140: PUSH1 0x05
00001142: DUP1
00001143: SLOAD
00001144: PUSH1 0x01
00001146: PUSH1 0xa0
00001148: PUSH1 0x02
0000114a: EXP
0000114b: SUB
0000114c: NOT
0000114d: AND
0000114e: DUP3
0000114f: OR
00001150: SWAP1
00001151: SSTORE
00001152: POP
00001153: JUMP
00001154: JUMPDEST
00001155: PUSH1 0x02
00001157: SLOAD
00001158: CALLVALUE
00001159: DIV
0000115a: PUSH1 0x07
0000115c: DUP2
0000115d: SWAP1
0000115e: SSTORE
0000115f: PUSH1 0x03
00001161: SLOAD
00001162: PUSH9 0x056bc75e2d63100000
0000116c: SWAP1
0000116d: DUP3
0000116e: MUL
0000116f: DIV
00001170: PUSH1 0x08
00001172: DUP2
00001173: SWAP1
00001174: SSTORE
00001175: PUSH1 0x64
00001177: PUSH1 0x50
00001179: DUP3
0000117a: MUL
0000117b: DIV
0000117c: PUSH1 0x09
0000117e: DUP2
0000117f: DUP2
00001180: SSTORE
00001181: SWAP1
00001182: DUP3
00001183: SUB
00001184: PUSH1 0x0a
00001186: SWAP1
00001187: DUP2
00001188: SSTORE
00001189: PUSH1 0x01
0000118b: PUSH1 0xa0
0000118d: PUSH1 0x02
0000118f: EXP
00001190: SUB
00001191: ORIGIN
00001192: DUP2
00001193: AND
00001194: DUP7
00001195: MSTORE
00001196: PUSH1 0x0c
00001198: PUSH1 0x20
0000119a: MSTORE
0000119b: PUSH1 0x40
0000119d: DUP1
0000119e: DUP8
0000119f: KECCAK256
000011a0: DUP1
000011a1: SLOAD
000011a2: SWAP6
000011a3: SWAP1
000011a4: SWAP7
000011a5: SUB
000011a6: SWAP5
000011a7: DUP6
000011a8: ADD
000011a9: SWAP1
000011aa: SWAP6
000011ab: SSTORE
000011ac: SWAP2
000011ad: SLOAD
000011ae: PUSH1 0x05
000011b0: SLOAD
000011b1: DUP4
000011b2: AND
000011b3: DUP7
000011b4: MSTORE
000011b5: DUP5
000011b6: DUP7
000011b7: KECCAK256
000011b8: DUP1
000011b9: SLOAD
000011ba: SWAP1
000011bb: SWAP2
000011bc: ADD
000011bd: SWAP1
000011be: SSTORE
000011bf: SLOAD
000011c0: PUSH1 0x06
000011c2: SLOAD
000011c3: DUP3
000011c4: AND
000011c5: DUP6
000011c6: MSTORE
000011c7: SWAP3
000011c8: DUP5
000011c9: KECCAK256
000011ca: DUP1
000011cb: SLOAD
000011cc: SWAP1
000011cd: SWAP4
000011ce: ADD
000011cf: SWAP1
000011d0: SWAP3
000011d1: SSTORE
000011d2: SWAP2
000011d3: DUP3
000011d4: SWAP2
000011d5: CALLER
000011d6: AND
000011d7: SWAP1
000011d8: PUSH1 0x00
000011da: DUP1
000011db: MLOAD
000011dc: PUSH1 0x20
000011de: PUSH2 0x064d
000011e1: DUP4
000011e2: CODECOPY
000011e3: DUP2
000011e4: MLOAD
000011e5: SWAP2
000011e6: MSTORE
000011e7: DUP2
000011e8: PUSH1 0x60
000011ea: LOG4
000011eb: CALLVALUE
000011ec: ADDRESS
000011ed: PUSH1 0x01
000011ef: PUSH1 0xa0
000011f1: PUSH1 0x02
000011f3: EXP
000011f4: SUB
000011f5: SWAP1
000011f6: DUP2
000011f7: AND
000011f8: SWAP1
000011f9: ORIGIN
000011fa: AND
000011fb: PUSH1 0x00
000011fd: DUP1
000011fe: MLOAD
000011ff: PUSH1 0x20
00001201: PUSH2 0x064d
00001204: DUP4
00001205: CODECOPY
00001206: DUP2
00001207: MLOAD
00001208: SWAP2
00001209: MSTORE
0000120a: PUSH1 0x00
0000120c: PUSH1 0x60
0000120e: LOG4
0000120f: SWAP1
00001210: JUMP
00001211: JUMPDEST
00001212: PUSH1 0x40
00001214: MLOAD
00001215: DUP4
00001216: SWAP1
00001217: DUP3
00001218: SWAP1
00001219: ORIGIN
0000121a: PUSH1 0x01
0000121c: PUSH1 0xa0
0000121e: PUSH1 0x02
00001220: EXP
00001221: SUB
00001222: AND
00001223: SWAP1
00001224: PUSH1 0x00
00001226: DUP1
00001227: MLOAD
00001228: PUSH1 0x20
0000122a: PUSH2 0x064d
0000122d: DUP4
0000122e: CODECOPY
0000122f: DUP2
00001230: MLOAD
00001231: SWAP2
00001232: MSTORE
00001233: SWAP1
00001234: DUP4
00001235: SWAP1
00001236: LOG4
00001237: PUSH1 0x40
00001239: MLOAD
0000123a: DUP3
0000123b: SWAP1
0000123c: PUSH1 0x01
0000123e: PUSH1 0xa0
00001240: PUSH1 0x02
00001242: EXP
00001243: SUB
00001244: ORIGIN
00001245: DUP2
00001246: AND
00001247: SWAP2
00001248: ADDRESS
00001249: SWAP1
0000124a: SWAP2
0000124b: AND
0000124c: SWAP1
0000124d: PUSH1 0x00
0000124f: DUP1
00001250: MLOAD
00001251: PUSH1 0x20
00001253: PUSH2 0x064d
00001256: DUP4
00001257: CODECOPY
00001258: DUP2
00001259: MLOAD
0000125a: SWAP2
0000125b: MSTORE
0000125c: SWAP1
0000125d: DUP6
0000125e: SWAP1
0000125f: LOG4
00001260: POP
00001261: PUSH1 0x01
00001263: JUMPDEST
00001264: SWAP2
00001265: POP
00001266: SWAP2
00001267: JUMP
00001268: JUMPDEST
00001269: PUSH1 0x0b
0000126b: SSTORE
0000126c: JUMP
0000126d: UNKNOWN(0xDD)
0000126e: CALLCODE
0000126f: MSTORE
00001270: UNKNOWN(0xAD)
00001271: SHL
00001272: UNKNOWN(0xE2)
00001273: UNKNOWN(0xC8)
00001274: SWAP12
00001275: PUSH10 0xc2b068fc378daa952ba7
00001280: CALL
00001281: PUSH4 0xc4a11628
00001286: CREATE2
00001287: GAS
00001288: UNKNOWN(0x4D)
00001289: CREATE2
0000128a: UNKNOWN(0x23)
0000128b: UNKNOWN(0xB3)
0000128c: UNKNOWN(0xEF)
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

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": "0x1c31f710",
            "selector": "0x1c31f710",
            "calldata_variants": [
                "0x1c31f710",
                "0x1c31f7100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef96dd4",
            "selector": "0x3ef96dd4",
            "calldata_variants": [
                "0x3ef96dd4",
                "0x3ef96dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x46e7a072",
            "selector": "0x46e7a072",
            "calldata_variants": [
                "0x46e7a072",
                "0x46e7a0720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47741429",
            "selector": "0x47741429",
            "calldata_variants": [
                "0x47741429",
                "0x477414290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690fb36f",
            "selector": "0x690fb36f",
            "calldata_variants": [
                "0x690fb36f",
                "0x690fb36f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69fe0e2d",
            "selector": "0x69fe0e2d",
            "calldata_variants": [
                "0x69fe0e2d",
                "0x69fe0e2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 280,
            "type": "tx_origin_used"
        },
        {
            "pc": 314,
            "type": "tx_origin_used"
        },
        {
            "pc": 640,
            "type": "tx_origin_used"
        },
        {
            "pc": 1068,
            "type": "tx_origin_used"
        },
        {
            "pc": 1712,
            "type": "tx_origin_used"
        },
        {
            "pc": 2361,
            "type": "tx_origin_used"
        },
        {
            "pc": 2541,
            "type": "tx_origin_used"
        },
        {
            "pc": 2803,
            "type": "tx_origin_used"
        },
        {
            "pc": 3455,
            "type": "tx_origin_used"
        },
        {
            "pc": 3487,
            "type": "tx_origin_used"
        },
        {
            "pc": 3555,
            "type": "tx_origin_used"
        },
        {
            "pc": 3729,
            "type": "tx_origin_used"
        },
        {
            "pc": 3919,
            "type": "tx_origin_used"
        },
        {
            "pc": 4001,
            "type": "tx_origin_used"
        },
        {
            "pc": 4069,
            "type": "tx_origin_used"
        },
        {
            "pc": 4497,
            "type": "tx_origin_used"
        },
        {
            "pc": 4601,
            "type": "tx_origin_used"
        },
        {
            "pc": 4633,
            "type": "tx_origin_used"
        },
        {
            "pc": 4676,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x935a0113bcc6dd76830d0bdef6fcfeebe44715b848c845a3204c5aadb96ad1e0
call_targets: 0x6847b05358a63e072ea49ecdaa96e717dbddd9c6
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x935a0113bcc6dd76830d0bdef6fcfeebe44715b848c845a3204c5aadb96ad1e0",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6847b05358a63e072ea49ecdaa96e717dbddd9c6"
    ],
    "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": "0x1c31f710",
            "selector": "0x1c31f710",
            "calldata_variants": [
                "0x1c31f710",
                "0x1c31f7100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef96dd4",
            "selector": "0x3ef96dd4",
            "calldata_variants": [
                "0x3ef96dd4",
                "0x3ef96dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x46e7a072",
            "selector": "0x46e7a072",
            "calldata_variants": [
                "0x46e7a072",
                "0x46e7a0720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47741429",
            "selector": "0x47741429",
            "calldata_variants": [
                "0x47741429",
                "0x477414290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690fb36f",
            "selector": "0x690fb36f",
            "calldata_variants": [
                "0x690fb36f",
                "0x690fb36f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69fe0e2d",
            "selector": "0x69fe0e2d",
            "calldata_variants": [
                "0x69fe0e2d",
                "0x69fe0e2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 436,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 838,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1397,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 12,
    "guards_detected": [
        {
            "pc": 280,
            "type": "tx_origin_used"
        },
        {
            "pc": 314,
            "type": "tx_origin_used"
        },
        {
            "pc": 640,
            "type": "tx_origin_used"
        },
        {
            "pc": 1068,
            "type": "tx_origin_used"
        },
        {
            "pc": 1712,
            "type": "tx_origin_used"
        },
        {
            "pc": 2361,
            "type": "tx_origin_used"
        },
        {
            "pc": 2541,
            "type": "tx_origin_used"
        },
        {
            "pc": 2803,
            "type": "tx_origin_used"
        },
        {
            "pc": 3455,
            "type": "tx_origin_used"
        },
        {
            "pc": 3487,
            "type": "tx_origin_used"
        },
        {
            "pc": 3555,
            "type": "tx_origin_used"
        },
        {
            "pc": 3729,
            "type": "tx_origin_used"
        },
        {
            "pc": 3919,
            "type": "tx_origin_used"
        },
        {
            "pc": 4001,
            "type": "tx_origin_used"
        },
        {
            "pc": 4069,
            "type": "tx_origin_used"
        },
        {
            "pc": 4497,
            "type": "tx_origin_used"
        },
        {
            "pc": 4601,
            "type": "tx_origin_used"
        },
        {
            "pc": 4633,
            "type": "tx_origin_used"
        },
        {
            "pc": 4676,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 12
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x935a0113bcc6dd76830d0bdef6fcfeebe44715b848c845a3204c5aadb96ad1e0
call_targets: 0x6847b05358a63e072ea49ecdaa96e717dbddd9c6
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x935a0113bcc6dd76830d0bdef6fcfeebe44715b848c845a3204c5aadb96ad1e0",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6847b05358a63e072ea49ecdaa96e717dbddd9c6"
    ],
    "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": "0x1c31f710",
            "selector": "0x1c31f710",
            "calldata_variants": [
                "0x1c31f710",
                "0x1c31f7100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef96dd4",
            "selector": "0x3ef96dd4",
            "calldata_variants": [
                "0x3ef96dd4",
                "0x3ef96dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x46e7a072",
            "selector": "0x46e7a072",
            "calldata_variants": [
                "0x46e7a072",
                "0x46e7a0720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47741429",
            "selector": "0x47741429",
            "calldata_variants": [
                "0x47741429",
                "0x477414290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690fb36f",
            "selector": "0x690fb36f",
            "calldata_variants": [
                "0x690fb36f",
                "0x690fb36f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69fe0e2d",
            "selector": "0x69fe0e2d",
            "calldata_variants": [
                "0x69fe0e2d",
                "0x69fe0e2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 436,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 838,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1397,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 12,
    "guards_detected": [
        {
            "pc": 280,
            "type": "tx_origin_used"
        },
        {
            "pc": 314,
            "type": "tx_origin_used"
        },
        {
            "pc": 640,
            "type": "tx_origin_used"
        },
        {
            "pc": 1068,
            "type": "tx_origin_used"
        },
        {
            "pc": 1712,
            "type": "tx_origin_used"
        },
        {
            "pc": 2361,
            "type": "tx_origin_used"
        },
        {
            "pc": 2541,
            "type": "tx_origin_used"
        },
        {
            "pc": 2803,
            "type": "tx_origin_used"
        },
        {
            "pc": 3455,
            "type": "tx_origin_used"
        },
        {
            "pc": 3487,
            "type": "tx_origin_used"
        },
        {
            "pc": 3555,
            "type": "tx_origin_used"
        },
        {
            "pc": 3729,
            "type": "tx_origin_used"
        },
        {
            "pc": 3919,
            "type": "tx_origin_used"
        },
        {
            "pc": 4001,
            "type": "tx_origin_used"
        },
        {
            "pc": 4069,
            "type": "tx_origin_used"
        },
        {
            "pc": 4497,
            "type": "tx_origin_used"
        },
        {
            "pc": 4601,
            "type": "tx_origin_used"
        },
        {
            "pc": 4633,
            "type": "tx_origin_used"
        },
        {
            "pc": 4676,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 yes yes
view
trace_id: 0x4af68328a84ab57f40387670f5ea2621bd3108abbc41fcc3684e6adac3af70ff
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "confirmed",
    "attempts": 21,
    "trace_id": "0x4af68328a84ab57f40387670f5ea2621bd3108abbc41fcc3684e6adac3af70ff",
    "confirmed": true,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "sink_reached"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x1c31f710",
            "selector": "0x1c31f710",
            "calldata_variants": [
                "0x1c31f710",
                "0x1c31f7100000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef96dd4",
            "selector": "0x3ef96dd4",
            "calldata_variants": [
                "0x3ef96dd4",
                "0x3ef96dd40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x46e7a072",
            "selector": "0x46e7a072",
            "calldata_variants": [
                "0x46e7a072",
                "0x46e7a0720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x47741429",
            "selector": "0x47741429",
            "calldata_variants": [
                "0x47741429",
                "0x477414290000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x690fb36f",
            "selector": "0x690fb36f",
            "calldata_variants": [
                "0x690fb36f",
                "0x690fb36f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x69fe0e2d",
            "selector": "0x69fe0e2d",
            "calldata_variants": [
                "0x69fe0e2d",
                "0x69fe0e2d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 2
}