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

Analysis Run

019b3836-4dd8-73d3-964e-3a87176a4e3e

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
3
Validated
3
Source
Bytecode only
Review Backing
Not yet
Best current signal
ETH value transfer possible
crit 0 high 2 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
7279 artifact.fetch complete 1 / 3 3 months ago
7280 tool.cast_disasm complete 1 / 3 3 months ago
111630 analysis.bundle complete 1 / 3 1 week ago
111631 capability.graph complete 1 / 3 1 week ago
111632 detector.run complete 1 / 3 1 week ago
111633 validation.fork complete 1 / 3 1 week ago
113954 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-xarffiwl
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5ca3-f676-7823-8c70-b997b9078614
--------
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:55:44.391615+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 7854,
        "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
0
CALL-family (heavy)
8
EXT*/BALANCE
2
Total opcodes
2756
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0xe0
00000007: PUSH1 0x02
00000009: EXP
0000000a: PUSH1 0x00
0000000c: CALLDATALOAD
0000000d: DIV
0000000e: PUSH4 0x08216c0f
00000013: DUP2
00000014: EQ
00000015: PUSH2 0x0047
00000018: JUMPI
00000019: DUP1
0000001a: PUSH4 0x5f8dead3
0000001f: EQ
00000020: PUSH2 0x026a
00000023: JUMPI
00000024: DUP1
00000025: PUSH4 0xacad94ae
0000002a: EQ
0000002b: PUSH2 0x02a6
0000002e: JUMPI
0000002f: DUP1
00000030: PUSH4 0xdc3f65d3
00000035: EQ
00000036: PUSH2 0x0302
00000039: JUMPI
0000003a: DUP1
0000003b: PUSH4 0xfc94dd18
00000040: EQ
00000041: PUSH2 0x037b
00000044: JUMPI
00000045: JUMPDEST
00000046: STOP
00000047: JUMPDEST
00000048: PUSH1 0x20
0000004a: PUSH1 0x24
0000004c: DUP1
0000004d: CALLDATALOAD
0000004e: PUSH1 0x04
00000050: DUP2
00000051: DUP2
00000052: ADD
00000053: CALLDATALOAD
00000054: PUSH1 0x1f
00000056: DUP2
00000057: ADD
00000058: DUP6
00000059: SWAP1
0000005a: DIV
0000005b: SWAP1
0000005c: SWAP5
0000005d: MUL
0000005e: PUSH1 0x80
00000060: SWAP1
00000061: DUP2
00000062: ADD
00000063: PUSH1 0x40
00000065: MSTORE
00000066: PUSH1 0x60
00000068: DUP6
00000069: DUP2
0000006a: MSTORE
0000006b: PUSH2 0x03af
0000006e: SWAP6
0000006f: DUP4
00000070: CALLDATALOAD
00000071: SWAP6
00000072: SWAP4
00000073: SWAP5
00000074: PUSH1 0x44
00000076: SWAP5
00000077: SWAP3
00000078: SWAP4
00000079: SWAP3
0000007a: ADD
0000007b: SWAP2
0000007c: DUP2
0000007d: SWAP1
0000007e: DUP4
0000007f: DUP3
00000080: DUP1
00000081: DUP3
00000082: DUP5
00000083: CALLDATACOPY
00000084: POP
00000085: POP
00000086: PUSH1 0x40
00000088: DUP1
00000089: MLOAD
0000008a: PUSH1 0x20
0000008c: PUSH1 0x64
0000008e: CALLDATALOAD
0000008f: DUP1
00000090: DUP12
00000091: ADD
00000092: CALLDATALOAD
00000093: PUSH1 0x1f
00000095: DUP2
00000096: ADD
00000097: DUP4
00000098: SWAP1
00000099: DIV
0000009a: DUP4
0000009b: MUL
0000009c: DUP5
0000009d: ADD
0000009e: DUP4
0000009f: ADD
000000a0: SWAP1
000000a1: SWAP5
000000a2: MSTORE
000000a3: DUP4
000000a4: DUP4
000000a5: MSTORE
000000a6: SWAP8
000000a7: SWAP10
000000a8: SWAP9
000000a9: CALLDATALOAD
000000aa: SWAP9
000000ab: SWAP8
000000ac: PUSH1 0x84
000000ae: SWAP8
000000af: POP
000000b0: SWAP2
000000b1: SWAP6
000000b2: POP
000000b3: PUSH1 0x24
000000b5: SWAP2
000000b6: SWAP1
000000b7: SWAP2
000000b8: ADD
000000b9: SWAP4
000000ba: POP
000000bb: SWAP1
000000bc: SWAP2
000000bd: POP
000000be: DUP2
000000bf: SWAP1
000000c0: DUP5
000000c1: ADD
000000c2: DUP4
000000c3: DUP3
000000c4: DUP1
000000c5: DUP3
000000c6: DUP5
000000c7: CALLDATACOPY
000000c8: POP
000000c9: SWAP5
000000ca: SWAP7
000000cb: POP
000000cc: POP
000000cd: POP
000000ce: POP
000000cf: POP
000000d0: POP
000000d1: POP
000000d2: PUSH1 0x00
000000d4: PUSH1 0x00
000000d6: DUP6
000000d7: DUP6
000000d8: DUP6
000000d9: DUP6
000000da: PUSH1 0x40
000000dc: MLOAD
000000dd: PUSH2 0x097d
000000e0: DUP1
000000e1: PUSH2 0x05d9
000000e4: DUP4
000000e5: CODECOPY
000000e6: ADD
000000e7: DUP1
000000e8: DUP6
000000e9: DUP2
000000ea: MSTORE
000000eb: PUSH1 0x20
000000ed: ADD
000000ee: DUP1
000000ef: PUSH1 0x20
000000f1: ADD
000000f2: DUP5
000000f3: PUSH1 0xff
000000f5: AND
000000f6: DUP2
000000f7: MSTORE
000000f8: PUSH1 0x20
000000fa: ADD
000000fb: DUP1
000000fc: PUSH1 0x20
000000fe: ADD
000000ff: DUP4
00000100: DUP2
00000101: SUB
00000102: DUP4
00000103: MSTORE
00000104: DUP7
00000105: DUP2
00000106: DUP2
00000107: MLOAD
00000108: DUP2
00000109: MSTORE
0000010a: PUSH1 0x20
0000010c: ADD
0000010d: SWAP2
0000010e: POP
0000010f: DUP1
00000110: MLOAD
00000111: SWAP1
00000112: PUSH1 0x20
00000114: ADD
00000115: SWAP1
00000116: DUP1
00000117: DUP4
00000118: DUP4
00000119: DUP3
0000011a: SWAP1
0000011b: PUSH1 0x00
0000011d: PUSH1 0x04
0000011f: PUSH1 0x20
00000121: DUP5
00000122: PUSH1 0x1f
00000124: ADD
00000125: DIV
00000126: PUSH1 0x0f
00000128: MUL
00000129: PUSH1 0x03
0000012b: ADD
0000012c: CALL
0000012d: POP
0000012e: SWAP1
0000012f: POP
00000130: SWAP1
00000131: DUP2
00000132: ADD
00000133: SWAP1
00000134: PUSH1 0x1f
00000136: AND
00000137: DUP1
00000138: ISZERO
00000139: PUSH2 0x0156
0000013c: JUMPI
0000013d: DUP1
0000013e: DUP3
0000013f: SUB
00000140: DUP1
00000141: MLOAD
00000142: PUSH1 0x01
00000144: DUP4
00000145: PUSH1 0x20
00000147: SUB
00000148: PUSH2 0x0100
0000014b: EXP
0000014c: SUB
0000014d: NOT
0000014e: AND
0000014f: DUP2
00000150: MSTORE
00000151: PUSH1 0x20
00000153: ADD
00000154: SWAP2
00000155: POP
00000156: JUMPDEST
00000157: POP
00000158: DUP4
00000159: DUP2
0000015a: SUB
0000015b: DUP3
0000015c: MSTORE
0000015d: DUP5
0000015e: DUP2
0000015f: DUP2
00000160: MLOAD
00000161: DUP2
00000162: MSTORE
00000163: PUSH1 0x20
00000165: ADD
00000166: SWAP2
00000167: POP
00000168: DUP1
00000169: MLOAD
0000016a: SWAP1
0000016b: PUSH1 0x20
0000016d: ADD
0000016e: SWAP1
0000016f: DUP1
00000170: DUP4
00000171: DUP4
00000172: DUP3
00000173: SWAP1
00000174: PUSH1 0x00
00000176: PUSH1 0x04
00000178: PUSH1 0x20
0000017a: DUP5
0000017b: PUSH1 0x1f
0000017d: ADD
0000017e: DIV
0000017f: PUSH1 0x0f
00000181: MUL
00000182: PUSH1 0x03
00000184: ADD
00000185: CALL
00000186: POP
00000187: SWAP1
00000188: POP
00000189: SWAP1
0000018a: DUP2
0000018b: ADD
0000018c: SWAP1
0000018d: PUSH1 0x1f
0000018f: AND
00000190: DUP1
00000191: ISZERO
00000192: PUSH2 0x01af
00000195: JUMPI
00000196: DUP1
00000197: DUP3
00000198: SUB
00000199: DUP1
0000019a: MLOAD
0000019b: PUSH1 0x01
0000019d: DUP4
0000019e: PUSH1 0x20
000001a0: SUB
000001a1: PUSH2 0x0100
000001a4: EXP
000001a5: SUB
000001a6: NOT
000001a7: AND
000001a8: DUP2
000001a9: MSTORE
000001aa: PUSH1 0x20
000001ac: ADD
000001ad: SWAP2
000001ae: POP
000001af: JUMPDEST
000001b0: POP
000001b1: SWAP7
000001b2: POP
000001b3: POP
000001b4: POP
000001b5: POP
000001b6: POP
000001b7: POP
000001b8: POP
000001b9: PUSH1 0x40
000001bb: MLOAD
000001bc: DUP1
000001bd: SWAP2
000001be: SUB
000001bf: SWAP1
000001c0: PUSH1 0x00
000001c2: CREATE
000001c3: SWAP1
000001c4: POP
000001c5: DUP1
000001c6: PUSH1 0x01
000001c8: PUSH1 0xa0
000001ca: PUSH1 0x02
000001cc: EXP
000001cd: SUB
000001ce: AND
000001cf: PUSH4 0xa9059cbb
000001d4: CALLER
000001d5: DUP9
000001d6: PUSH1 0x40
000001d8: MLOAD
000001d9: DUP4
000001da: PUSH1 0xe0
000001dc: PUSH1 0x02
000001de: EXP
000001df: MUL
000001e0: DUP2
000001e1: MSTORE
000001e2: PUSH1 0x04
000001e4: ADD
000001e5: DUP1
000001e6: DUP4
000001e7: PUSH1 0x01
000001e9: PUSH1 0xa0
000001eb: PUSH1 0x02
000001ed: EXP
000001ee: SUB
000001ef: AND
000001f0: DUP2
000001f1: MSTORE
000001f2: PUSH1 0x20
000001f4: ADD
000001f5: DUP3
000001f6: DUP2
000001f7: MSTORE
000001f8: PUSH1 0x20
000001fa: ADD
000001fb: SWAP3
000001fc: POP
000001fd: POP
000001fe: POP
000001ff: PUSH1 0x20
00000201: PUSH1 0x40
00000203: MLOAD
00000204: DUP1
00000205: DUP4
00000206: SUB
00000207: DUP2
00000208: PUSH1 0x00
0000020a: DUP8
0000020b: PUSH2 0x61da
0000020e: GAS
0000020f: SUB
00000210: CALL
00000211: ISZERO
00000212: PUSH2 0x0002
00000215: JUMPI
00000216: POP
00000217: POP
00000218: POP
00000219: PUSH1 0x01
0000021b: PUSH1 0xa0
0000021d: PUSH1 0x02
0000021f: EXP
00000220: SUB
00000221: CALLER
00000222: AND
00000223: DUP3
00000224: MSTORE
00000225: PUSH1 0x20
00000227: DUP3
00000228: SWAP1
00000229: MSTORE
0000022a: PUSH1 0x40
0000022c: DUP3
0000022d: KECCAK256
0000022e: DUP1
0000022f: SLOAD
00000230: PUSH1 0x01
00000232: DUP2
00000233: ADD
00000234: DUP1
00000235: DUP4
00000236: SSTORE
00000237: DUP3
00000238: DUP2
00000239: DUP4
0000023a: DUP1
0000023b: ISZERO
0000023c: DUP3
0000023d: SWAP1
0000023e: GT
0000023f: PUSH2 0x0598
00000242: JUMPI
00000243: DUP2
00000244: DUP4
00000245: PUSH1 0x00
00000247: MSTORE
00000248: PUSH1 0x20
0000024a: PUSH1 0x00
0000024c: KECCAK256
0000024d: SWAP2
0000024e: DUP3
0000024f: ADD
00000250: SWAP2
00000251: ADD
00000252: PUSH2 0x0598
00000255: SWAP2
00000256: SWAP1
00000257: JUMPDEST
00000258: DUP1
00000259: DUP3
0000025a: GT
0000025b: ISZERO
0000025c: PUSH2 0x05d5
0000025f: JUMPI
00000260: DUP10
00000261: DUP2
00000262: SSTORE
00000263: PUSH1 0x01
00000265: ADD
00000266: PUSH2 0x0257
00000269: JUMP
0000026a: JUMPDEST
0000026b: PUSH2 0x03af
0000026e: PUSH1 0x04
00000270: CALLDATALOAD
00000271: PUSH1 0x24
00000273: CALLDATALOAD
00000274: PUSH1 0x00
00000276: PUSH1 0x20
00000278: DUP2
00000279: SWAP1
0000027a: MSTORE
0000027b: DUP3
0000027c: DUP2
0000027d: MSTORE
0000027e: PUSH1 0x40
00000280: SWAP1
00000281: KECCAK256
00000282: DUP1
00000283: SLOAD
00000284: DUP3
00000285: SWAP1
00000286: DUP2
00000287: LT
00000288: ISZERO
00000289: PUSH2 0x0002
0000028c: JUMPI
0000028d: POP
0000028e: PUSH1 0x00
00000290: SWAP1
00000291: DUP2
00000292: MSTORE
00000293: PUSH1 0x20
00000295: SWAP1
00000296: KECCAK256
00000297: ADD
00000298: SLOAD
00000299: PUSH1 0x01
0000029b: PUSH1 0xa0
0000029d: PUSH1 0x02
0000029f: EXP
000002a0: SUB
000002a1: AND
000002a2: SWAP1
000002a3: POP
000002a4: DUP2
000002a5: JUMP
000002a6: JUMPDEST
000002a7: PUSH2 0x03cb
000002aa: PUSH1 0x01
000002ac: DUP1
000002ad: SLOAD
000002ae: PUSH1 0x20
000002b0: PUSH1 0x02
000002b2: DUP3
000002b3: DUP5
000002b4: AND
000002b5: ISZERO
000002b6: PUSH2 0x0100
000002b9: MUL
000002ba: PUSH1 0x00
000002bc: NOT
000002bd: ADD
000002be: SWAP1
000002bf: SWAP3
000002c0: AND
000002c1: SWAP2
000002c2: SWAP1
000002c3: SWAP2
000002c4: DIV
000002c5: PUSH1 0x1f
000002c7: DUP2
000002c8: ADD
000002c9: DUP3
000002ca: SWAP1
000002cb: DIV
000002cc: SWAP1
000002cd: SWAP2
000002ce: MUL
000002cf: PUSH1 0x80
000002d1: SWAP1
000002d2: DUP2
000002d3: ADD
000002d4: PUSH1 0x40
000002d6: MSTORE
000002d7: PUSH1 0x60
000002d9: DUP3
000002da: DUP2
000002db: MSTORE
000002dc: SWAP3
000002dd: SWAP2
000002de: SWAP1
000002df: DUP3
000002e0: DUP3
000002e1: DUP1
000002e2: ISZERO
000002e3: PUSH2 0x04c0
000002e6: JUMPI
000002e7: DUP1
000002e8: PUSH1 0x1f
000002ea: LT
000002eb: PUSH2 0x0495
000002ee: JUMPI
000002ef: PUSH2 0x0100
000002f2: DUP1
000002f3: DUP4
000002f4: SLOAD
000002f5: DIV
000002f6: MUL
000002f7: DUP4
000002f8: MSTORE
000002f9: SWAP2
000002fa: PUSH1 0x20
000002fc: ADD
000002fd: SWAP2
000002fe: PUSH2 0x04c0
00000301: JUMP
00000302: JUMPDEST
00000303: PUSH1 0x00
00000305: PUSH1 0x60
00000307: DUP2
00000308: DUP2
00000309: MSTORE
0000030a: CALLER
0000030b: PUSH1 0x01
0000030d: PUSH1 0xa0
0000030f: PUSH1 0x02
00000311: EXP
00000312: SUB
00000313: AND
00000314: DUP3
00000315: MSTORE
00000316: PUSH1 0x20
00000318: DUP3
00000319: DUP2
0000031a: MSTORE
0000031b: PUSH1 0x40
0000031d: SWAP3
0000031e: DUP4
0000031f: SWAP1
00000320: KECCAK256
00000321: DUP1
00000322: SLOAD
00000323: SWAP2
00000324: DUP3
00000325: MUL
00000326: PUSH1 0xa0
00000328: SWAP1
00000329: DUP2
0000032a: ADD
0000032b: SWAP1
0000032c: SWAP5
0000032d: MSTORE
0000032e: PUSH1 0x80
00000330: DUP3
00000331: DUP2
00000332: MSTORE
00000333: PUSH2 0x0439
00000336: SWAP5
00000337: SWAP1
00000338: SWAP3
00000339: SWAP1
0000033a: DUP3
0000033b: DUP3
0000033c: DUP1
0000033d: ISZERO
0000033e: PUSH2 0x0371
00000341: JUMPI
00000342: PUSH1 0x20
00000344: MUL
00000345: DUP3
00000346: ADD
00000347: SWAP2
00000348: SWAP1
00000349: PUSH1 0x00
0000034b: MSTORE
0000034c: PUSH1 0x20
0000034e: PUSH1 0x00
00000350: KECCAK256
00000351: SWAP1
00000352: JUMPDEST
00000353: DUP2
00000354: SLOAD
00000355: PUSH1 0x01
00000357: PUSH1 0xa0
00000359: PUSH1 0x02
0000035b: EXP
0000035c: SUB
0000035d: AND
0000035e: DUP2
0000035f: MSTORE
00000360: PUSH1 0x01
00000362: SWAP2
00000363: SWAP1
00000364: SWAP2
00000365: ADD
00000366: SWAP1
00000367: PUSH1 0x20
00000369: ADD
0000036a: DUP1
0000036b: DUP4
0000036c: GT
0000036d: PUSH2 0x0352
00000370: JUMPI
00000371: JUMPDEST
00000372: POP
00000373: POP
00000374: POP
00000375: POP
00000376: POP
00000377: SWAP1
00000378: POP
00000379: SWAP1
0000037a: JUMP
0000037b: JUMPDEST
0000037c: PUSH2 0x0483
0000037f: PUSH1 0x04
00000381: CALLDATALOAD
00000382: PUSH1 0x80
00000384: PUSH1 0x40
00000386: MSTORE
00000387: PUSH1 0x00
00000389: PUSH1 0x60
0000038b: DUP2
0000038c: DUP2
0000038d: MSTORE
0000038e: DUP2
0000038f: PUSH2 0x04d4
00000392: DUP5
00000393: PUSH1 0xa0
00000395: PUSH1 0x40
00000397: DUP2
00000398: SWAP1
00000399: MSTORE
0000039a: PUSH1 0x80
0000039c: DUP5
0000039d: SWAP1
0000039e: MSTORE
0000039f: DUP2
000003a0: EXTCODESIZE
000003a1: DUP1
000003a2: DUP3
000003a3: MSTORE
000003a4: DUP1
000003a5: DUP6
000003a6: PUSH1 0xc0
000003a8: DUP6
000003a9: EXTCODECOPY
000003aa: POP
000003ab: SWAP2
000003ac: SWAP1
000003ad: POP
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH1 0x40
000003b2: DUP1
000003b3: MLOAD
000003b4: PUSH1 0x01
000003b6: PUSH1 0xa0
000003b8: PUSH1 0x02
000003ba: EXP
000003bb: SUB
000003bc: SWAP1
000003bd: SWAP3
000003be: AND
000003bf: DUP3
000003c0: MSTORE
000003c1: MLOAD
000003c2: SWAP1
000003c3: DUP2
000003c4: SWAP1
000003c5: SUB
000003c6: PUSH1 0x20
000003c8: ADD
000003c9: SWAP1
000003ca: RETURN
000003cb: JUMPDEST
000003cc: PUSH1 0x40
000003ce: MLOAD
000003cf: DUP1
000003d0: DUP1
000003d1: PUSH1 0x20
000003d3: ADD
000003d4: DUP3
000003d5: DUP2
000003d6: SUB
000003d7: DUP3
000003d8: MSTORE
000003d9: DUP4
000003da: DUP2
000003db: DUP2
000003dc: MLOAD
000003dd: DUP2
000003de: MSTORE
000003df: PUSH1 0x20
000003e1: ADD
000003e2: SWAP2
000003e3: POP
000003e4: DUP1
000003e5: MLOAD
000003e6: SWAP1
000003e7: PUSH1 0x20
000003e9: ADD
000003ea: SWAP1
000003eb: DUP1
000003ec: DUP4
000003ed: DUP4
000003ee: DUP3
000003ef: SWAP1
000003f0: PUSH1 0x00
000003f2: PUSH1 0x04
000003f4: PUSH1 0x20
000003f6: DUP5
000003f7: PUSH1 0x1f
000003f9: ADD
000003fa: DIV
000003fb: PUSH1 0x0f
000003fd: MUL
000003fe: PUSH1 0x03
00000400: ADD
00000401: CALL
00000402: POP
00000403: SWAP1
00000404: POP
00000405: SWAP1
00000406: DUP2
00000407: ADD
00000408: SWAP1
00000409: PUSH1 0x1f
0000040b: AND
0000040c: DUP1
0000040d: ISZERO
0000040e: PUSH2 0x042b
00000411: JUMPI
00000412: DUP1
00000413: DUP3
00000414: SUB
00000415: DUP1
00000416: MLOAD
00000417: PUSH1 0x01
00000419: DUP4
0000041a: PUSH1 0x20
0000041c: SUB
0000041d: PUSH2 0x0100
00000420: EXP
00000421: SUB
00000422: NOT
00000423: AND
00000424: DUP2
00000425: MSTORE
00000426: PUSH1 0x20
00000428: ADD
00000429: SWAP2
0000042a: POP
0000042b: JUMPDEST
0000042c: POP
0000042d: SWAP3
0000042e: POP
0000042f: POP
00000430: POP
00000431: PUSH1 0x40
00000433: MLOAD
00000434: DUP1
00000435: SWAP2
00000436: SUB
00000437: SWAP1
00000438: RETURN
00000439: JUMPDEST
0000043a: PUSH1 0x40
0000043c: MLOAD
0000043d: DUP1
0000043e: DUP1
0000043f: PUSH1 0x20
00000441: ADD
00000442: DUP3
00000443: DUP2
00000444: SUB
00000445: DUP3
00000446: MSTORE
00000447: DUP4
00000448: DUP2
00000449: DUP2
0000044a: MLOAD
0000044b: DUP2
0000044c: MSTORE
0000044d: PUSH1 0x20
0000044f: ADD
00000450: SWAP2
00000451: POP
00000452: DUP1
00000453: MLOAD
00000454: SWAP1
00000455: PUSH1 0x20
00000457: ADD
00000458: SWAP1
00000459: PUSH1 0x20
0000045b: MUL
0000045c: DUP1
0000045d: DUP4
0000045e: DUP4
0000045f: DUP3
00000460: SWAP1
00000461: PUSH1 0x00
00000463: PUSH1 0x04
00000465: PUSH1 0x20
00000467: DUP5
00000468: PUSH1 0x1f
0000046a: ADD
0000046b: DIV
0000046c: PUSH1 0x0f
0000046e: MUL
0000046f: PUSH1 0x03
00000471: ADD
00000472: CALL
00000473: POP
00000474: SWAP1
00000475: POP
00000476: ADD
00000477: SWAP3
00000478: POP
00000479: POP
0000047a: POP
0000047b: PUSH1 0x40
0000047d: MLOAD
0000047e: DUP1
0000047f: SWAP2
00000480: SUB
00000481: SWAP1
00000482: RETURN
00000483: JUMPDEST
00000484: PUSH1 0x40
00000486: DUP1
00000487: MLOAD
00000488: SWAP2
00000489: DUP3
0000048a: MSTORE
0000048b: MLOAD
0000048c: SWAP1
0000048d: DUP2
0000048e: SWAP1
0000048f: SUB
00000490: PUSH1 0x20
00000492: ADD
00000493: SWAP1
00000494: RETURN
00000495: JUMPDEST
00000496: DUP3
00000497: ADD
00000498: SWAP2
00000499: SWAP1
0000049a: PUSH1 0x00
0000049c: MSTORE
0000049d: PUSH1 0x20
0000049f: PUSH1 0x00
000004a1: KECCAK256
000004a2: SWAP1
000004a3: JUMPDEST
000004a4: DUP2
000004a5: SLOAD
000004a6: DUP2
000004a7: MSTORE
000004a8: SWAP1
000004a9: PUSH1 0x01
000004ab: ADD
000004ac: SWAP1
000004ad: PUSH1 0x20
000004af: ADD
000004b0: DUP1
000004b1: DUP4
000004b2: GT
000004b3: PUSH2 0x04a3
000004b6: JUMPI
000004b7: DUP3
000004b8: SWAP1
000004b9: SUB
000004ba: PUSH1 0x1f
000004bc: AND
000004bd: DUP3
000004be: ADD
000004bf: SWAP2
000004c0: JUMPDEST
000004c1: POP
000004c2: POP
000004c3: POP
000004c4: POP
000004c5: POP
000004c6: DUP2
000004c7: JUMP
000004c8: JUMPDEST
000004c9: PUSH1 0x01
000004cb: SWAP3
000004cc: POP
000004cd: JUMPDEST
000004ce: POP
000004cf: POP
000004d0: SWAP2
000004d1: SWAP1
000004d2: POP
000004d3: JUMP
000004d4: JUMPDEST
000004d5: SWAP2
000004d6: POP
000004d7: PUSH1 0x01
000004d9: PUSH1 0x00
000004db: POP
000004dc: DUP1
000004dd: SLOAD
000004de: PUSH1 0x01
000004e0: DUP2
000004e1: PUSH1 0x01
000004e3: AND
000004e4: ISZERO
000004e5: PUSH2 0x0100
000004e8: MUL
000004e9: SUB
000004ea: AND
000004eb: PUSH1 0x02
000004ed: SWAP1
000004ee: DIV
000004ef: SWAP1
000004f0: POP
000004f1: DUP3
000004f2: MLOAD
000004f3: EQ
000004f4: ISZERO
000004f5: ISZERO
000004f6: PUSH2 0x0502
000004f9: JUMPI
000004fa: PUSH2 0x04cd
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH1 0x01
00000501: ADD
00000502: JUMPDEST
00000503: DUP2
00000504: MLOAD
00000505: DUP2
00000506: LT
00000507: ISZERO
00000508: PUSH2 0x04c8
0000050b: JUMPI
0000050c: PUSH1 0x01
0000050e: PUSH1 0x00
00000510: POP
00000511: DUP2
00000512: DUP2
00000513: SLOAD
00000514: PUSH1 0x01
00000516: DUP2
00000517: PUSH1 0x01
00000519: AND
0000051a: ISZERO
0000051b: PUSH2 0x0100
0000051e: MUL
0000051f: SUB
00000520: AND
00000521: PUSH1 0x02
00000523: SWAP1
00000524: DIV
00000525: DUP2
00000526: LT
00000527: ISZERO
00000528: PUSH2 0x0002
0000052b: JUMPI
0000052c: SWAP1
0000052d: SWAP1
0000052e: DUP2
0000052f: SLOAD
00000530: PUSH1 0x01
00000532: AND
00000533: ISZERO
00000534: PUSH2 0x0564
00000537: JUMPI
00000538: SWAP1
00000539: DUP5
0000053a: MSTORE
0000053b: PUSH1 0x20
0000053d: DUP1
0000053e: DUP3
0000053f: DIV
00000540: PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6
00000561: ADD
00000562: SWAP2
00000563: MOD
00000564: JUMPDEST
00000565: SWAP1
00000566: SLOAD
00000567: SWAP1
00000568: BYTE
00000569: PUSH1 0xf8
0000056b: PUSH1 0x02
0000056d: EXP
0000056e: MUL
0000056f: DUP3
00000570: DUP3
00000571: DUP2
00000572: MLOAD
00000573: DUP2
00000574: LT
00000575: ISZERO
00000576: PUSH2 0x0002
00000579: JUMPI
0000057a: SWAP1
0000057b: PUSH1 0x20
0000057d: ADD
0000057e: ADD
0000057f: MLOAD
00000580: PUSH1 0xf8
00000582: PUSH1 0x02
00000584: EXP
00000585: SWAP1
00000586: DIV
00000587: PUSH1 0xf8
00000589: PUSH1 0x02
0000058b: EXP
0000058c: MUL
0000058d: EQ
0000058e: ISZERO
0000058f: ISZERO
00000590: PUSH2 0x04fe
00000593: JUMPI
00000594: PUSH2 0x04cd
00000597: JUMP
00000598: JUMPDEST
00000599: POP
0000059a: POP
0000059b: POP
0000059c: SWAP2
0000059d: SWAP1
0000059e: SWAP1
0000059f: PUSH1 0x00
000005a1: MSTORE
000005a2: PUSH1 0x20
000005a4: PUSH1 0x00
000005a6: KECCAK256
000005a7: SWAP1
000005a8: ADD
000005a9: PUSH1 0x00
000005ab: POP
000005ac: DUP1
000005ad: SLOAD
000005ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c3: NOT
000005c4: AND
000005c5: DUP4
000005c6: OR
000005c7: SWAP1
000005c8: SSTORE
000005c9: POP
000005ca: SWAP1
000005cb: POP
000005cc: DUP1
000005cd: POP
000005ce: SWAP5
000005cf: SWAP4
000005d0: POP
000005d1: POP
000005d2: POP
000005d3: POP
000005d4: JUMP
000005d5: JUMPDEST
000005d6: POP
000005d7: SWAP1
000005d8: JUMP
000005d9: PUSH1 0xa0
000005db: PUSH1 0x40
000005dd: MSTORE
000005de: PUSH1 0x04
000005e0: PUSH1 0x60
000005e2: MSTORE
000005e3: PUSH32 0x48302e3100000000000000000000000000000000000000000000000000000000
00000604: PUSH1 0x80
00000606: MSTORE
00000607: PUSH1 0x06
00000609: DUP1
0000060a: SLOAD
0000060b: PUSH1 0x00
0000060d: DUP3
0000060e: SWAP1
0000060f: MSTORE
00000610: PUSH32 0x48302e3100000000000000000000000000000000000000000000000000000008
00000631: DUP3
00000632: SSTORE
00000633: PUSH2 0x00b5
00000636: SWAP1
00000637: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
00000658: PUSH1 0x20
0000065a: PUSH1 0x02
0000065c: PUSH1 0x01
0000065e: DUP5
0000065f: AND
00000660: ISZERO
00000661: PUSH2 0x0100
00000664: MUL
00000665: PUSH1 0x00
00000667: NOT
00000668: ADD
00000669: SWAP1
0000066a: SWAP4
0000066b: AND
0000066c: SWAP3
0000066d: SWAP1
0000066e: SWAP3
0000066f: DIV
00000670: PUSH1 0x1f
00000672: ADD
00000673: SWAP2
00000674: SWAP1
00000675: SWAP2
00000676: DIV
00000677: DUP2
00000678: ADD
00000679: SWAP1
0000067a: JUMPDEST
0000067b: DUP1
0000067c: DUP3
0000067d: GT
0000067e: ISZERO
0000067f: PUSH2 0x0179
00000682: JUMPI
00000683: PUSH1 0x00
00000685: DUP2
00000686: SSTORE
00000687: PUSH1 0x01
00000689: ADD
0000068a: PUSH2 0x00a1
0000068d: JUMP
0000068e: JUMPDEST
0000068f: POP
00000690: POP
00000691: PUSH1 0x40
00000693: MLOAD
00000694: PUSH2 0x097d
00000697: CODESIZE
00000698: SUB
00000699: DUP1
0000069a: PUSH2 0x097d
0000069d: DUP4
0000069e: CODECOPY
0000069f: DUP2
000006a0: ADD
000006a1: PUSH1 0x40
000006a3: MSTORE
000006a4: DUP1
000006a5: DUP1
000006a6: MLOAD
000006a7: SWAP1
000006a8: PUSH1 0x20
000006aa: ADD
000006ab: SWAP1
000006ac: SWAP2
000006ad: SWAP1
000006ae: DUP1
000006af: MLOAD
000006b0: DUP3
000006b1: ADD
000006b2: SWAP2
000006b3: SWAP1
000006b4: PUSH1 0x20
000006b6: ADD
000006b7: DUP1
000006b8: MLOAD
000006b9: SWAP1
000006ba: PUSH1 0x20
000006bc: ADD
000006bd: SWAP1
000006be: SWAP2
000006bf: SWAP1
000006c0: DUP1
000006c1: MLOAD
000006c2: DUP3
000006c3: ADD
000006c4: SWAP2
000006c5: SWAP1
000006c6: PUSH1 0x20
000006c8: ADD
000006c9: POP
000006ca: POP
000006cb: DUP4
000006cc: PUSH1 0x00
000006ce: PUSH1 0x00
000006d0: POP
000006d1: PUSH1 0x00
000006d3: CALLER
000006d4: PUSH1 0x01
000006d6: PUSH1 0xa0
000006d8: PUSH1 0x02
000006da: EXP
000006db: SUB
000006dc: AND
000006dd: DUP2
000006de: MSTORE
000006df: PUSH1 0x20
000006e1: ADD
000006e2: SWAP1
000006e3: DUP2
000006e4: MSTORE
000006e5: PUSH1 0x20
000006e7: ADD
000006e8: PUSH1 0x00
000006ea: KECCAK256
000006eb: PUSH1 0x00
000006ed: POP
000006ee: DUP2
000006ef: SWAP1
000006f0: SSTORE
000006f1: POP
000006f2: DUP4
000006f3: PUSH1 0x02
000006f5: PUSH1 0x00
000006f7: POP
000006f8: DUP2
000006f9: SWAP1
000006fa: SSTORE
000006fb: POP
000006fc: DUP3
000006fd: PUSH1 0x03
000006ff: PUSH1 0x00
00000701: POP
00000702: SWAP1
00000703: DUP1
00000704: MLOAD
00000705: SWAP1
00000706: PUSH1 0x20
00000708: ADD
00000709: SWAP1
0000070a: DUP3
0000070b: DUP1
0000070c: SLOAD
0000070d: PUSH1 0x01
0000070f: DUP2
00000710: PUSH1 0x01
00000712: AND
00000713: ISZERO
00000714: PUSH2 0x0100
00000717: MUL
00000718: SUB
00000719: AND
0000071a: PUSH1 0x02
0000071c: SWAP1
0000071d: DIV
0000071e: SWAP1
0000071f: PUSH1 0x00
00000721: MSTORE
00000722: PUSH1 0x20
00000724: PUSH1 0x00
00000726: KECCAK256
00000727: SWAP1
00000728: PUSH1 0x1f
0000072a: ADD
0000072b: PUSH1 0x20
0000072d: SWAP1
0000072e: DIV
0000072f: DUP2
00000730: ADD
00000731: SWAP3
00000732: DUP3
00000733: PUSH1 0x1f
00000735: LT
00000736: PUSH2 0x017d
00000739: JUMPI
0000073a: DUP1
0000073b: MLOAD
0000073c: PUSH1 0xff
0000073e: NOT
0000073f: AND
00000740: DUP4
00000741: DUP1
00000742: ADD
00000743: OR
00000744: DUP6
00000745: SSTORE
00000746: JUMPDEST
00000747: POP
00000748: PUSH2 0x01ad
0000074b: SWAP3
0000074c: SWAP2
0000074d: POP
0000074e: PUSH2 0x00a1
00000751: JUMP
00000752: JUMPDEST
00000753: POP
00000754: SWAP1
00000755: JUMP
00000756: JUMPDEST
00000757: DUP3
00000758: DUP1
00000759: ADD
0000075a: PUSH1 0x01
0000075c: ADD
0000075d: DUP6
0000075e: SSTORE
0000075f: DUP3
00000760: ISZERO
00000761: PUSH2 0x016d
00000764: JUMPI
00000765: SWAP2
00000766: DUP3
00000767: ADD
00000768: JUMPDEST
00000769: DUP3
0000076a: DUP2
0000076b: GT
0000076c: ISZERO
0000076d: PUSH2 0x016d
00000770: JUMPI
00000771: DUP3
00000772: MLOAD
00000773: DUP3
00000774: PUSH1 0x00
00000776: POP
00000777: SSTORE
00000778: SWAP2
00000779: PUSH1 0x20
0000077b: ADD
0000077c: SWAP2
0000077d: SWAP1
0000077e: PUSH1 0x01
00000780: ADD
00000781: SWAP1
00000782: PUSH2 0x018f
00000785: JUMP
00000786: JUMPDEST
00000787: POP
00000788: POP
00000789: PUSH1 0x04
0000078b: DUP1
0000078c: SLOAD
0000078d: PUSH1 0xff
0000078f: NOT
00000790: AND
00000791: DUP4
00000792: OR
00000793: SWAP1
00000794: SSTORE
00000795: PUSH1 0x05
00000797: DUP1
00000798: SLOAD
00000799: DUP3
0000079a: MLOAD
0000079b: PUSH1 0x00
0000079d: DUP4
0000079e: SWAP1
0000079f: MSTORE
000007a0: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0
000007c1: PUSH1 0x20
000007c3: PUSH1 0x02
000007c5: PUSH1 0x01
000007c7: DUP6
000007c8: AND
000007c9: ISZERO
000007ca: PUSH2 0x0100
000007cd: MUL
000007ce: PUSH1 0x00
000007d0: NOT
000007d1: ADD
000007d2: SWAP1
000007d3: SWAP5
000007d4: AND
000007d5: SWAP4
000007d6: SWAP1
000007d7: SWAP4
000007d8: DIV
000007d9: PUSH1 0x1f
000007db: SWAP1
000007dc: DUP2
000007dd: ADD
000007de: DUP5
000007df: SWAP1
000007e0: DIV
000007e1: DUP3
000007e2: ADD
000007e3: SWAP4
000007e4: DUP7
000007e5: ADD
000007e6: SWAP1
000007e7: DUP4
000007e8: SWAP1
000007e9: LT
000007ea: PUSH2 0x022d
000007ed: JUMPI
000007ee: DUP1
000007ef: MLOAD
000007f0: PUSH1 0xff
000007f2: NOT
000007f3: AND
000007f4: DUP4
000007f5: DUP1
000007f6: ADD
000007f7: OR
000007f8: DUP6
000007f9: SSTORE
000007fa: JUMPDEST
000007fb: POP
000007fc: PUSH2 0x025d
000007ff: SWAP3
00000800: SWAP2
00000801: POP
00000802: PUSH2 0x00a1
00000805: JUMP
00000806: JUMPDEST
00000807: DUP3
00000808: DUP1
00000809: ADD
0000080a: PUSH1 0x01
0000080c: ADD
0000080d: DUP6
0000080e: SSTORE
0000080f: DUP3
00000810: ISZERO
00000811: PUSH2 0x0221
00000814: JUMPI
00000815: SWAP2
00000816: DUP3
00000817: ADD
00000818: JUMPDEST
00000819: DUP3
0000081a: DUP2
0000081b: GT
0000081c: ISZERO
0000081d: PUSH2 0x0221
00000820: JUMPI
00000821: DUP3
00000822: MLOAD
00000823: DUP3
00000824: PUSH1 0x00
00000826: POP
00000827: SSTORE
00000828: SWAP2
00000829: PUSH1 0x20
0000082b: ADD
0000082c: SWAP2
0000082d: SWAP1
0000082e: PUSH1 0x01
00000830: ADD
00000831: SWAP1
00000832: PUSH2 0x023f
00000835: JUMP
00000836: JUMPDEST
00000837: POP
00000838: POP
00000839: POP
0000083a: POP
0000083b: POP
0000083c: POP
0000083d: PUSH2 0x070c
00000840: DUP1
00000841: PUSH2 0x0271
00000844: PUSH1 0x00
00000846: CODECOPY
00000847: PUSH1 0x00
00000849: RETURN
0000084a: PUSH1 0x60
0000084c: PUSH1 0x40
0000084e: MSTORE
0000084f: CALLDATASIZE
00000850: ISZERO
00000851: PUSH2 0x008d
00000854: JUMPI
00000855: PUSH1 0xe0
00000857: PUSH1 0x02
00000859: EXP
0000085a: PUSH1 0x00
0000085c: CALLDATALOAD
0000085d: DIV
0000085e: PUSH4 0x06fdde03
00000863: DUP2
00000864: EQ
00000865: PUSH2 0x0095
00000868: JUMPI
00000869: DUP1
0000086a: PUSH4 0x095ea7b3
0000086f: EQ
00000870: PUSH2 0x00f2
00000873: JUMPI
00000874: DUP1
00000875: PUSH4 0x18160ddd
0000087a: EQ
0000087b: PUSH2 0x015d
0000087e: JUMPI
0000087f: DUP1
00000880: PUSH4 0x23b872dd
00000885: EQ
00000886: PUSH2 0x0166
00000889: JUMPI
0000088a: DUP1
0000088b: PUSH4 0x313ce567
00000890: EQ
00000891: PUSH2 0x02c7
00000894: JUMPI
00000895: DUP1
00000896: PUSH4 0x54fd4d50
0000089b: EQ
0000089c: PUSH2 0x02d3
0000089f: JUMPI
000008a0: DUP1
000008a1: PUSH4 0x70a08231
000008a6: EQ
000008a7: PUSH2 0x0330
000008aa: JUMPI
000008ab: DUP1
000008ac: PUSH4 0x95d89b41
000008b1: EQ
000008b2: PUSH2 0x035e
000008b5: JUMPI
000008b6: DUP1
000008b7: PUSH4 0xa9059cbb
000008bc: EQ
000008bd: PUSH2 0x03bb
000008c0: JUMPI
000008c1: DUP1
000008c2: PUSH4 0xcae9ca51
000008c7: EQ
000008c8: PUSH2 0x044d
000008cb: JUMPI
000008cc: DUP1
000008cd: PUSH4 0xdd62ed3e
000008d2: EQ
000008d3: PUSH2 0x0618
000008d6: JUMPI
000008d7: JUMPDEST
000008d8: PUSH2 0x0000
000008db: PUSH2 0x0002
000008de: JUMP
000008df: JUMPDEST
000008e0: PUSH2 0x064c
000008e3: PUSH1 0x03
000008e5: DUP1
000008e6: SLOAD
000008e7: PUSH1 0x20
000008e9: PUSH1 0x02
000008eb: PUSH1 0x01
000008ed: DUP4
000008ee: AND
000008ef: ISZERO
000008f0: PUSH2 0x0100
000008f3: MUL
000008f4: PUSH1 0x00
000008f6: NOT
000008f7: ADD
000008f8: SWAP1
000008f9: SWAP3
000008fa: AND
000008fb: SWAP2
000008fc: SWAP1
000008fd: SWAP2
000008fe: DIV
000008ff: PUSH1 0x1f
00000901: DUP2
00000902: ADD
00000903: DUP3
00000904: SWAP1
00000905: DIV
00000906: SWAP1
00000907: SWAP2
00000908: MUL
00000909: PUSH1 0x80
0000090b: SWAP1
0000090c: DUP2
0000090d: ADD
0000090e: PUSH1 0x40
00000910: MSTORE
00000911: PUSH1 0x60
00000913: DUP3
00000914: DUP2
00000915: MSTORE
00000916: SWAP3
00000917: SWAP2
00000918: SWAP1
00000919: DUP3
0000091a: DUP3
0000091b: DUP1
0000091c: ISZERO
0000091d: PUSH2 0x06ff
00000920: JUMPI
00000921: DUP1
00000922: PUSH1 0x1f
00000924: LT
00000925: PUSH2 0x06d4
00000928: JUMPI
00000929: PUSH2 0x0100
0000092c: DUP1
0000092d: DUP4
0000092e: SLOAD
0000092f: DIV
00000930: MUL
00000931: DUP4
00000932: MSTORE
00000933: SWAP2
00000934: PUSH1 0x20
00000936: ADD
00000937: SWAP2
00000938: PUSH2 0x06ff
0000093b: JUMP
0000093c: JUMPDEST
0000093d: PUSH2 0x034c
00000940: PUSH1 0x04
00000942: CALLDATALOAD
00000943: PUSH1 0x24
00000945: CALLDATALOAD
00000946: CALLER
00000947: PUSH1 0x01
00000949: PUSH1 0xa0
0000094b: PUSH1 0x02
0000094d: EXP
0000094e: SUB
0000094f: SWAP1
00000950: DUP2
00000951: AND
00000952: PUSH1 0x00
00000954: DUP2
00000955: DUP2
00000956: MSTORE
00000957: PUSH1 0x01
00000959: PUSH1 0x20
0000095b: SWAP1
0000095c: DUP2
0000095d: MSTORE
0000095e: PUSH1 0x40
00000960: DUP1
00000961: DUP4
00000962: KECCAK256
00000963: SWAP5
00000964: DUP8
00000965: AND
00000966: DUP1
00000967: DUP5
00000968: MSTORE
00000969: SWAP5
0000096a: DUP3
0000096b: MSTORE
0000096c: DUP3
0000096d: KECCAK256
0000096e: DUP6
0000096f: SWAP1
00000970: SSTORE
00000971: PUSH1 0x60
00000973: DUP6
00000974: DUP2
00000975: MSTORE
00000976: SWAP2
00000977: SWAP4
00000978: SWAP3
00000979: SWAP2
0000097a: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
0000099b: SWAP2
0000099c: SWAP1
0000099d: LOG3
0000099e: POP
0000099f: PUSH1 0x01
000009a1: JUMPDEST
000009a2: SWAP3
000009a3: SWAP2
000009a4: POP
000009a5: POP
000009a6: JUMP
000009a7: JUMPDEST
000009a8: PUSH2 0x034c
000009ab: PUSH1 0x02
000009ad: SLOAD
000009ae: DUP2
000009af: JUMP
000009b0: JUMPDEST
000009b1: PUSH2 0x034c
000009b4: PUSH1 0x04
000009b6: CALLDATALOAD
000009b7: PUSH1 0x24
000009b9: CALLDATALOAD
000009ba: PUSH1 0x44
000009bc: CALLDATALOAD
000009bd: PUSH1 0x01
000009bf: PUSH1 0xa0
000009c1: PUSH1 0x02
000009c3: EXP
000009c4: SUB
000009c5: DUP4
000009c6: AND
000009c7: PUSH1 0x00
000009c9: SWAP1
000009ca: DUP2
000009cb: MSTORE
000009cc: PUSH1 0x20
000009ce: DUP2
000009cf: SWAP1
000009d0: MSTORE
000009d1: PUSH1 0x40
000009d3: DUP2
000009d4: KECCAK256
000009d5: SLOAD
000009d6: DUP3
000009d7: SWAP1
000009d8: LT
000009d9: DUP1
000009da: ISZERO
000009db: SWAP1
000009dc: PUSH2 0x01b9
000009df: JUMPI
000009e0: POP
000009e1: PUSH1 0x01
000009e3: PUSH1 0x20
000009e5: SWAP1
000009e6: DUP2
000009e7: MSTORE
000009e8: PUSH1 0x40
000009ea: DUP1
000009eb: DUP4
000009ec: KECCAK256
000009ed: CALLER
000009ee: PUSH1 0x01
000009f0: PUSH1 0xa0
000009f2: PUSH1 0x02
000009f4: EXP
000009f5: SUB
000009f6: AND
000009f7: DUP5
000009f8: MSTORE
000009f9: SWAP1
000009fa: SWAP2
000009fb: MSTORE
000009fc: DUP2
000009fd: KECCAK256
000009fe: SLOAD
000009ff: DUP3
00000a00: SWAP1
00000a01: LT
00000a02: ISZERO
00000a03: JUMPDEST
00000a04: DUP1
00000a05: ISZERO
00000a06: PUSH2 0x01c5
00000a09: JUMPI
00000a0a: POP
00000a0b: PUSH1 0x00
00000a0d: DUP3
00000a0e: GT
00000a0f: JUMPDEST
00000a10: ISZERO
00000a11: PUSH2 0x06cf
00000a14: JUMPI
00000a15: DUP2
00000a16: PUSH1 0x00
00000a18: PUSH1 0x00
00000a1a: POP
00000a1b: PUSH1 0x00
00000a1d: DUP6
00000a1e: PUSH1 0x01
00000a20: PUSH1 0xa0
00000a22: PUSH1 0x02
00000a24: EXP
00000a25: SUB
00000a26: AND
00000a27: DUP2
00000a28: MSTORE
00000a29: PUSH1 0x20
00000a2b: ADD
00000a2c: SWAP1
00000a2d: DUP2
00000a2e: MSTORE
00000a2f: PUSH1 0x20
00000a31: ADD
00000a32: PUSH1 0x00
00000a34: KECCAK256
00000a35: PUSH1 0x00
00000a37: DUP3
00000a38: DUP3
00000a39: DUP3
00000a3a: POP
00000a3b: SLOAD
00000a3c: ADD
00000a3d: SWAP3
00000a3e: POP
00000a3f: POP
00000a40: DUP2
00000a41: SWAP1
00000a42: SSTORE
00000a43: POP
00000a44: DUP2
00000a45: PUSH1 0x00
00000a47: PUSH1 0x00
00000a49: POP
00000a4a: PUSH1 0x00
00000a4c: DUP7
00000a4d: PUSH1 0x01
00000a4f: PUSH1 0xa0
00000a51: PUSH1 0x02
00000a53: EXP
00000a54: SUB
00000a55: AND
00000a56: DUP2
00000a57: MSTORE
00000a58: PUSH1 0x20
00000a5a: ADD
00000a5b: SWAP1
00000a5c: DUP2
00000a5d: MSTORE
00000a5e: PUSH1 0x20
00000a60: ADD
00000a61: PUSH1 0x00
00000a63: KECCAK256
00000a64: PUSH1 0x00
00000a66: DUP3
00000a67: DUP3
00000a68: DUP3
00000a69: POP
00000a6a: SLOAD
00000a6b: SUB
00000a6c: SWAP3
00000a6d: POP
00000a6e: POP
00000a6f: DUP2
00000a70: SWAP1
00000a71: SSTORE
00000a72: POP
00000a73: DUP2
00000a74: PUSH1 0x01
00000a76: PUSH1 0x00
00000a78: POP
00000a79: PUSH1 0x00
00000a7b: DUP7
00000a7c: PUSH1 0x01
00000a7e: PUSH1 0xa0
00000a80: PUSH1 0x02
00000a82: EXP
00000a83: SUB
00000a84: AND
00000a85: DUP2
00000a86: MSTORE
00000a87: PUSH1 0x20
00000a89: ADD
00000a8a: SWAP1
00000a8b: DUP2
00000a8c: MSTORE
00000a8d: PUSH1 0x20
00000a8f: ADD
00000a90: PUSH1 0x00
00000a92: KECCAK256
00000a93: PUSH1 0x00
00000a95: POP
00000a96: PUSH1 0x00
00000a98: CALLER
00000a99: PUSH1 0x01
00000a9b: PUSH1 0xa0
00000a9d: PUSH1 0x02
00000a9f: EXP
00000aa0: SUB
00000aa1: AND
00000aa2: DUP2
00000aa3: MSTORE
00000aa4: PUSH1 0x20
00000aa6: ADD
00000aa7: SWAP1
00000aa8: DUP2
00000aa9: MSTORE
00000aaa: PUSH1 0x20
00000aac: ADD
00000aad: PUSH1 0x00
00000aaf: KECCAK256
00000ab0: PUSH1 0x00
00000ab2: DUP3
00000ab3: DUP3
00000ab4: DUP3
00000ab5: POP
00000ab6: SLOAD
00000ab7: SUB
00000ab8: SWAP3
00000ab9: POP
00000aba: POP
00000abb: DUP2
00000abc: SWAP1
00000abd: SSTORE
00000abe: POP
00000abf: DUP3
00000ac0: PUSH1 0x01
00000ac2: PUSH1 0xa0
00000ac4: PUSH1 0x02
00000ac6: EXP
00000ac7: SUB
00000ac8: AND
00000ac9: DUP5
00000aca: PUSH1 0x01
00000acc: PUSH1 0xa0
00000ace: PUSH1 0x02
00000ad0: EXP
00000ad1: SUB
00000ad2: AND
00000ad3: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000af4: DUP5
00000af5: PUSH1 0x40
00000af7: MLOAD
00000af8: DUP1
00000af9: DUP3
00000afa: DUP2
00000afb: MSTORE
00000afc: PUSH1 0x20
00000afe: ADD
00000aff: SWAP2
00000b00: POP
00000b01: POP
00000b02: PUSH1 0x40
00000b04: MLOAD
00000b05: DUP1
00000b06: SWAP2
00000b07: SUB
00000b08: SWAP1
00000b09: LOG3
00000b0a: POP
00000b0b: PUSH1 0x01
00000b0d: PUSH2 0x06c8
00000b10: JUMP
00000b11: JUMPDEST
00000b12: PUSH2 0x06ba
00000b15: PUSH1 0x04
00000b17: SLOAD
00000b18: PUSH1 0xff
00000b1a: AND
00000b1b: DUP2
00000b1c: JUMP
00000b1d: JUMPDEST
00000b1e: PUSH2 0x064c
00000b21: PUSH1 0x06
00000b23: DUP1
00000b24: SLOAD
00000b25: PUSH1 0x20
00000b27: PUSH1 0x02
00000b29: PUSH1 0x01
00000b2b: DUP4
00000b2c: AND
00000b2d: ISZERO
00000b2e: PUSH2 0x0100
00000b31: MUL
00000b32: PUSH1 0x00
00000b34: NOT
00000b35: ADD
00000b36: SWAP1
00000b37: SWAP3
00000b38: AND
00000b39: SWAP2
00000b3a: SWAP1
00000b3b: SWAP2
00000b3c: DIV
00000b3d: PUSH1 0x1f
00000b3f: DUP2
00000b40: ADD
00000b41: DUP3
00000b42: SWAP1
00000b43: DIV
00000b44: SWAP1
00000b45: SWAP2
00000b46: MUL
00000b47: PUSH1 0x80
00000b49: SWAP1
00000b4a: DUP2
00000b4b: ADD
00000b4c: PUSH1 0x40
00000b4e: MSTORE
00000b4f: PUSH1 0x60
00000b51: DUP3
00000b52: DUP2
00000b53: MSTORE
00000b54: SWAP3
00000b55: SWAP2
00000b56: SWAP1
00000b57: DUP3
00000b58: DUP3
00000b59: DUP1
00000b5a: ISZERO
00000b5b: PUSH2 0x06ff
00000b5e: JUMPI
00000b5f: DUP1
00000b60: PUSH1 0x1f
00000b62: LT
00000b63: PUSH2 0x06d4
00000b66: JUMPI
00000b67: PUSH2 0x0100
00000b6a: DUP1
00000b6b: DUP4
00000b6c: SLOAD
00000b6d: DIV
00000b6e: MUL
00000b6f: DUP4
00000b70: MSTORE
00000b71: SWAP2
00000b72: PUSH1 0x20
00000b74: ADD
00000b75: SWAP2
00000b76: PUSH2 0x06ff
00000b79: JUMP
00000b7a: JUMPDEST
00000b7b: PUSH1 0x01
00000b7d: PUSH1 0xa0
00000b7f: PUSH1 0x02
00000b81: EXP
00000b82: SUB
00000b83: PUSH1 0x04
00000b85: CALLDATALOAD
00000b86: AND
00000b87: PUSH1 0x00
00000b89: SWAP1
00000b8a: DUP2
00000b8b: MSTORE
00000b8c: PUSH1 0x20
00000b8e: DUP2
00000b8f: SWAP1
00000b90: MSTORE
00000b91: PUSH1 0x40
00000b93: SWAP1
00000b94: KECCAK256
00000b95: SLOAD
00000b96: JUMPDEST
00000b97: PUSH1 0x40
00000b99: DUP1
00000b9a: MLOAD
00000b9b: SWAP2
00000b9c: DUP3
00000b9d: MSTORE
00000b9e: MLOAD
00000b9f: SWAP1
00000ba0: DUP2
00000ba1: SWAP1
00000ba2: SUB
00000ba3: PUSH1 0x20
00000ba5: ADD
00000ba6: SWAP1
00000ba7: RETURN
00000ba8: JUMPDEST
00000ba9: PUSH2 0x064c
00000bac: PUSH1 0x05
00000bae: DUP1
00000baf: SLOAD
00000bb0: PUSH1 0x20
00000bb2: PUSH1 0x02
00000bb4: PUSH1 0x01
00000bb6: DUP4
00000bb7: AND
00000bb8: ISZERO
00000bb9: PUSH2 0x0100
00000bbc: MUL
00000bbd: PUSH1 0x00
00000bbf: NOT
00000bc0: ADD
00000bc1: SWAP1
00000bc2: SWAP3
00000bc3: AND
00000bc4: SWAP2
00000bc5: SWAP1
00000bc6: SWAP2
00000bc7: DIV
00000bc8: PUSH1 0x1f
00000bca: DUP2
00000bcb: ADD
00000bcc: DUP3
00000bcd: SWAP1
00000bce: DIV
00000bcf: SWAP1
00000bd0: SWAP2
00000bd1: MUL
00000bd2: PUSH1 0x80
00000bd4: SWAP1
00000bd5: DUP2
00000bd6: ADD
00000bd7: PUSH1 0x40
00000bd9: MSTORE
00000bda: PUSH1 0x60
00000bdc: DUP3
00000bdd: DUP2
00000bde: MSTORE
00000bdf: SWAP3
00000be0: SWAP2
00000be1: SWAP1
00000be2: DUP3
00000be3: DUP3
00000be4: DUP1
00000be5: ISZERO
00000be6: PUSH2 0x06ff
00000be9: JUMPI
00000bea: DUP1
00000beb: PUSH1 0x1f
00000bed: LT
00000bee: PUSH2 0x06d4
00000bf1: JUMPI
00000bf2: PUSH2 0x0100
00000bf5: DUP1
00000bf6: DUP4
00000bf7: SLOAD
00000bf8: DIV
00000bf9: MUL
00000bfa: DUP4
00000bfb: MSTORE
00000bfc: SWAP2
00000bfd: PUSH1 0x20
00000bff: ADD
00000c00: SWAP2
00000c01: PUSH2 0x06ff
00000c04: JUMP
00000c05: JUMPDEST
00000c06: PUSH2 0x034c
00000c09: PUSH1 0x04
00000c0b: CALLDATALOAD
00000c0c: PUSH1 0x24
00000c0e: CALLDATALOAD
00000c0f: CALLER
00000c10: PUSH1 0x01
00000c12: PUSH1 0xa0
00000c14: PUSH1 0x02
00000c16: EXP
00000c17: SUB
00000c18: AND
00000c19: PUSH1 0x00
00000c1b: SWAP1
00000c1c: DUP2
00000c1d: MSTORE
00000c1e: PUSH1 0x20
00000c20: DUP2
00000c21: SWAP1
00000c22: MSTORE
00000c23: PUSH1 0x40
00000c25: DUP2
00000c26: KECCAK256
00000c27: SLOAD
00000c28: DUP3
00000c29: SWAP1
00000c2a: LT
00000c2b: DUP1
00000c2c: ISZERO
00000c2d: SWAP1
00000c2e: PUSH2 0x03ed
00000c31: JUMPI
00000c32: POP
00000c33: PUSH1 0x00
00000c35: DUP3
00000c36: GT
00000c37: JUMPDEST
00000c38: ISZERO
00000c39: PUSH2 0x0707
00000c3c: JUMPI
00000c3d: PUSH1 0x40
00000c3f: DUP1
00000c40: DUP3
00000c41: KECCAK256
00000c42: DUP1
00000c43: SLOAD
00000c44: DUP5
00000c45: SWAP1
00000c46: SUB
00000c47: SWAP1
00000c48: SSTORE
00000c49: PUSH1 0x01
00000c4b: PUSH1 0xa0
00000c4d: PUSH1 0x02
00000c4f: EXP
00000c50: SUB
00000c51: DUP1
00000c52: DUP6
00000c53: AND
00000c54: DUP1
00000c55: DUP5
00000c56: MSTORE
00000c57: SWAP2
00000c58: DUP4
00000c59: KECCAK256
00000c5a: DUP1
00000c5b: SLOAD
00000c5c: DUP6
00000c5d: ADD
00000c5e: SWAP1
00000c5f: SSTORE
00000c60: PUSH1 0x60
00000c62: DUP5
00000c63: DUP2
00000c64: MSTORE
00000c65: CALLER
00000c66: SWAP1
00000c67: SWAP2
00000c68: AND
00000c69: SWAP1
00000c6a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000c8b: SWAP1
00000c8c: PUSH1 0x20
00000c8e: SWAP1
00000c8f: LOG3
00000c90: POP
00000c91: PUSH1 0x01
00000c93: PUSH2 0x0157
00000c96: JUMP
00000c97: JUMPDEST
00000c98: PUSH1 0x80
00000c9a: PUSH1 0x20
00000c9c: PUSH1 0x44
00000c9e: CALLDATALOAD
00000c9f: PUSH1 0x04
00000ca1: DUP2
00000ca2: DUP2
00000ca3: ADD
00000ca4: CALLDATALOAD
00000ca5: PUSH1 0x1f
00000ca7: DUP2
00000ca8: ADD
00000ca9: DUP5
00000caa: SWAP1
00000cab: DIV
00000cac: SWAP1
00000cad: SWAP4
00000cae: MUL
00000caf: DUP5
00000cb0: ADD
00000cb1: PUSH1 0x40
00000cb3: MSTORE
00000cb4: PUSH1 0x60
00000cb6: DUP4
00000cb7: DUP2
00000cb8: MSTORE
00000cb9: PUSH2 0x034c
00000cbc: SWAP5
00000cbd: DUP3
00000cbe: CALLDATALOAD
00000cbf: SWAP5
00000cc0: PUSH1 0x24
00000cc2: DUP1
00000cc3: CALLDATALOAD
00000cc4: SWAP6
00000cc5: PUSH1 0x64
00000cc7: SWAP5
00000cc8: SWAP4
00000cc9: SWAP2
00000cca: ADD
00000ccb: SWAP2
00000ccc: SWAP1
00000ccd: DUP2
00000cce: SWAP1
00000ccf: DUP4
00000cd0: DUP3
00000cd1: DUP1
00000cd2: DUP3
00000cd3: DUP5
00000cd4: CALLDATACOPY
00000cd5: POP
00000cd6: SWAP5
00000cd7: SWAP7
00000cd8: POP
00000cd9: POP
00000cda: POP
00000cdb: POP
00000cdc: POP
00000cdd: POP
00000cde: POP
00000cdf: CALLER
00000ce0: PUSH1 0x01
00000ce2: PUSH1 0xa0
00000ce4: PUSH1 0x02
00000ce6: EXP
00000ce7: SUB
00000ce8: SWAP1
00000ce9: DUP2
00000cea: AND
00000ceb: PUSH1 0x00
00000ced: DUP2
00000cee: DUP2
00000cef: MSTORE
00000cf0: PUSH1 0x01
00000cf2: PUSH1 0x20
00000cf4: SWAP1
00000cf5: DUP2
00000cf6: MSTORE
00000cf7: PUSH1 0x40
00000cf9: DUP1
00000cfa: DUP4
00000cfb: KECCAK256
00000cfc: SWAP5
00000cfd: DUP9
00000cfe: AND
00000cff: DUP1
00000d00: DUP5
00000d01: MSTORE
00000d02: SWAP5
00000d03: DUP3
00000d04: MSTORE
00000d05: DUP1
00000d06: DUP4
00000d07: KECCAK256
00000d08: DUP8
00000d09: SWAP1
00000d0a: SSTORE
00000d0b: DUP1
00000d0c: MLOAD
00000d0d: DUP8
00000d0e: DUP2
00000d0f: MSTORE
00000d10: SWAP1
00000d11: MLOAD
00000d12: SWAP3
00000d13: SWAP5
00000d14: SWAP4
00000d15: SWAP3
00000d16: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000d37: SWAP3
00000d38: SWAP2
00000d39: DUP2
00000d3a: SWAP1
00000d3b: SUB
00000d3c: SWAP1
00000d3d: SWAP2
00000d3e: ADD
00000d3f: SWAP1
00000d40: LOG3
00000d41: DUP4
00000d42: PUSH1 0x01
00000d44: PUSH1 0xa0
00000d46: PUSH1 0x02
00000d48: EXP
00000d49: SUB
00000d4a: AND
00000d4b: PUSH1 0x40
00000d4d: MLOAD
00000d4e: DUP1
00000d4f: DUP1
00000d50: PUSH32 0x72656365697665417070726f76616c28616464726573732c75696e743235362c
00000d71: DUP2
00000d72: MSTORE
00000d73: PUSH1 0x20
00000d75: ADD
00000d76: PUSH32 0x616464726573732c627974657329000000000000000000000000000000000000
00000d97: DUP2
00000d98: MSTORE
00000d99: PUSH1 0x20
00000d9b: ADD
00000d9c: POP
00000d9d: PUSH1 0x2e
00000d9f: ADD
00000da0: SWAP1
00000da1: POP
00000da2: PUSH1 0x40
00000da4: MLOAD
00000da5: DUP1
00000da6: SWAP2
00000da7: SUB
00000da8: SWAP1
00000da9: KECCAK256
00000daa: PUSH1 0xe0
00000dac: PUSH1 0x02
00000dae: EXP
00000daf: DUP1
00000db0: SWAP2
00000db1: DIV
00000db2: MUL
00000db3: PUSH1 0xe0
00000db5: PUSH1 0x02
00000db7: EXP
00000db8: SWAP1
00000db9: DIV
00000dba: CALLER
00000dbb: DUP6
00000dbc: ADDRESS
00000dbd: DUP7
00000dbe: PUSH1 0x40
00000dc0: MLOAD
00000dc1: DUP6
00000dc2: PUSH1 0xe0
00000dc4: PUSH1 0x02
00000dc6: EXP
00000dc7: MUL
00000dc8: DUP2
00000dc9: MSTORE
00000dca: PUSH1 0x04
00000dcc: ADD
00000dcd: DUP1
00000dce: DUP6
00000dcf: PUSH1 0x01
00000dd1: PUSH1 0xa0
00000dd3: PUSH1 0x02
00000dd5: EXP
00000dd6: SUB
00000dd7: AND
00000dd8: DUP2
00000dd9: MSTORE
00000dda: PUSH1 0x20
00000ddc: ADD
00000ddd: DUP5
00000dde: DUP2
00000ddf: MSTORE
00000de0: PUSH1 0x20
00000de2: ADD
00000de3: DUP4
00000de4: PUSH1 0x01
00000de6: PUSH1 0xa0
00000de8: PUSH1 0x02
00000dea: EXP
00000deb: SUB
00000dec: AND
00000ded: DUP2
00000dee: MSTORE
00000def: PUSH1 0x20
00000df1: ADD
00000df2: DUP3
00000df3: DUP1
00000df4: MLOAD
00000df5: SWAP1
00000df6: PUSH1 0x20
00000df8: ADD
00000df9: SWAP1
00000dfa: DUP1
00000dfb: DUP4
00000dfc: DUP4
00000dfd: DUP3
00000dfe: SWAP1
00000dff: PUSH1 0x00
00000e01: PUSH1 0x04
00000e03: PUSH1 0x20
00000e05: DUP5
00000e06: PUSH1 0x1f
00000e08: ADD
00000e09: DIV
00000e0a: PUSH1 0x0f
00000e0c: MUL
00000e0d: PUSH1 0x03
00000e0f: ADD
00000e10: CALL
00000e11: POP
00000e12: SWAP1
00000e13: POP
00000e14: SWAP1
00000e15: DUP2
00000e16: ADD
00000e17: SWAP1
00000e18: PUSH1 0x1f
00000e1a: AND
00000e1b: DUP1
00000e1c: ISZERO
00000e1d: PUSH2 0x05f0
00000e20: JUMPI
00000e21: DUP1
00000e22: DUP3
00000e23: SUB
00000e24: DUP1
00000e25: MLOAD
00000e26: PUSH1 0x01
00000e28: DUP4
00000e29: PUSH1 0x20
00000e2b: SUB
00000e2c: PUSH2 0x0100
00000e2f: EXP
00000e30: SUB
00000e31: NOT
00000e32: AND
00000e33: DUP2
00000e34: MSTORE
00000e35: PUSH1 0x20
00000e37: ADD
00000e38: SWAP2
00000e39: POP
00000e3a: JUMPDEST
00000e3b: POP
00000e3c: SWAP5
00000e3d: POP
00000e3e: POP
00000e3f: POP
00000e40: POP
00000e41: POP
00000e42: PUSH1 0x00
00000e44: PUSH1 0x40
00000e46: MLOAD
00000e47: DUP1
00000e48: DUP4
00000e49: SUB
00000e4a: DUP2
00000e4b: PUSH1 0x00
00000e4d: DUP8
00000e4e: PUSH2 0x61da
00000e51: GAS
00000e52: SUB
00000e53: CALL
00000e54: SWAP3
00000e55: POP
00000e56: POP
00000e57: POP
00000e58: ISZERO
00000e59: ISZERO
00000e5a: PUSH2 0x06c4
00000e5d: JUMPI
00000e5e: PUSH2 0x0002
00000e61: JUMP
00000e62: JUMPDEST
00000e63: PUSH2 0x034c
00000e66: PUSH1 0x04
00000e68: CALLDATALOAD
00000e69: PUSH1 0x24
00000e6b: CALLDATALOAD
00000e6c: PUSH1 0x01
00000e6e: PUSH1 0xa0
00000e70: PUSH1 0x02
00000e72: EXP
00000e73: SUB
00000e74: DUP1
00000e75: DUP4
00000e76: AND
00000e77: PUSH1 0x00
00000e79: SWAP1
00000e7a: DUP2
00000e7b: MSTORE
00000e7c: PUSH1 0x01
00000e7e: PUSH1 0x20
00000e80: SWAP1
00000e81: DUP2
00000e82: MSTORE
00000e83: PUSH1 0x40
00000e85: DUP1
00000e86: DUP4
00000e87: KECCAK256
00000e88: SWAP4
00000e89: DUP6
00000e8a: AND
00000e8b: DUP4
00000e8c: MSTORE
00000e8d: SWAP3
00000e8e: SWAP1
00000e8f: MSTORE
00000e90: KECCAK256
00000e91: SLOAD
00000e92: PUSH2 0x0157
00000e95: JUMP
00000e96: JUMPDEST
00000e97: PUSH1 0x40
00000e99: MLOAD
00000e9a: DUP1
00000e9b: DUP1
00000e9c: PUSH1 0x20
00000e9e: ADD
00000e9f: DUP3
00000ea0: DUP2
00000ea1: SUB
00000ea2: DUP3
00000ea3: MSTORE
00000ea4: DUP4
00000ea5: DUP2
00000ea6: DUP2
00000ea7: MLOAD
00000ea8: DUP2
00000ea9: MSTORE
00000eaa: PUSH1 0x20
00000eac: ADD
00000ead: SWAP2
00000eae: POP
00000eaf: DUP1
00000eb0: MLOAD
00000eb1: SWAP1
00000eb2: PUSH1 0x20
00000eb4: ADD
00000eb5: SWAP1
00000eb6: DUP1
00000eb7: DUP4
00000eb8: DUP4
00000eb9: DUP3
00000eba: SWAP1
00000ebb: PUSH1 0x00
00000ebd: PUSH1 0x04
00000ebf: PUSH1 0x20
00000ec1: DUP5
00000ec2: PUSH1 0x1f
00000ec4: ADD
00000ec5: DIV
00000ec6: PUSH1 0x0f
00000ec8: MUL
00000ec9: PUSH1 0x03
00000ecb: ADD
00000ecc: CALL
00000ecd: POP
00000ece: SWAP1
00000ecf: POP
00000ed0: SWAP1
00000ed1: DUP2
00000ed2: ADD
00000ed3: SWAP1
00000ed4: PUSH1 0x1f
00000ed6: AND
00000ed7: DUP1
00000ed8: ISZERO
00000ed9: PUSH2 0x06ac
00000edc: JUMPI
00000edd: DUP1
00000ede: DUP3
00000edf: SUB
00000ee0: DUP1
00000ee1: MLOAD
00000ee2: PUSH1 0x01
00000ee4: DUP4
00000ee5: PUSH1 0x20
00000ee7: SUB
00000ee8: PUSH2 0x0100
00000eeb: EXP
00000eec: SUB
00000eed: NOT
00000eee: AND
00000eef: DUP2
00000ef0: MSTORE
00000ef1: PUSH1 0x20
00000ef3: ADD
00000ef4: SWAP2
00000ef5: POP
00000ef6: JUMPDEST
00000ef7: POP
00000ef8: SWAP3
00000ef9: POP
00000efa: POP
00000efb: POP
00000efc: PUSH1 0x40
00000efe: MLOAD
00000eff: DUP1
00000f00: SWAP2
00000f01: SUB
00000f02: SWAP1
00000f03: RETURN
00000f04: JUMPDEST
00000f05: PUSH1 0x60
00000f07: SWAP1
00000f08: DUP2
00000f09: MSTORE
00000f0a: PUSH1 0x20
00000f0c: SWAP1
00000f0d: RETURN
00000f0e: JUMPDEST
00000f0f: POP
00000f10: PUSH1 0x01
00000f12: JUMPDEST
00000f13: SWAP4
00000f14: SWAP3
00000f15: POP
00000f16: POP
00000f17: POP
00000f18: JUMP
00000f19: JUMPDEST
00000f1a: PUSH2 0x06c8
00000f1d: JUMP
00000f1e: JUMPDEST
00000f1f: DUP3
00000f20: ADD
00000f21: SWAP2
00000f22: SWAP1
00000f23: PUSH1 0x00
00000f25: MSTORE
00000f26: PUSH1 0x20
00000f28: PUSH1 0x00
00000f2a: KECCAK256
00000f2b: SWAP1
00000f2c: JUMPDEST
00000f2d: DUP2
00000f2e: SLOAD
00000f2f: DUP2
00000f30: MSTORE
00000f31: SWAP1
00000f32: PUSH1 0x01
00000f34: ADD
00000f35: SWAP1
00000f36: PUSH1 0x20
00000f38: ADD
00000f39: DUP1
00000f3a: DUP4
00000f3b: GT
00000f3c: PUSH2 0x06e2
00000f3f: JUMPI
00000f40: DUP3
00000f41: SWAP1
00000f42: SUB
00000f43: PUSH1 0x1f
00000f45: AND
00000f46: DUP3
00000f47: ADD
00000f48: SWAP2
00000f49: JUMPDEST
00000f4a: POP
00000f4b: POP
00000f4c: POP
00000f4d: POP
00000f4e: POP
00000f4f: DUP2
00000f50: JUMP
00000f51: JUMPDEST
00000f52: PUSH2 0x0157
00000f55: JUMP
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 other detector ETH value transfer possible 55 yes yes
view
trace_id: 0x654a79e6589c43facbe090ef6e5a82939e499fbe93822cbc9746cf638084feba
call_targets: 0x0000000000000000000000000000000000000004, 0xa7a677183373ca33a65f00084eb81747c8ae5f03, 0xbc08b48e915fa5760d9b93863964d4bea0f85efc
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x654a79e6589c43facbe090ef6e5a82939e499fbe93822cbc9746cf638084feba",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xa7a677183373ca33a65f00084eb81747c8ae5f03",
        "0xbc08b48e915fa5760d9b93863964d4bea0f85efc"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x08216c0f",
            "selector": "0x08216c0f",
            "calldata_variants": [
                "0x08216c0f",
                "0x08216c0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xacad94ae",
            "selector": "0xacad94ae",
            "calldata_variants": [
                "0xacad94ae",
                "0xacad94ae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3f65d3",
            "selector": "0xdc3f65d3",
            "calldata_variants": [
                "0xdc3f65d3",
                "0xdc3f65d30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc94dd18",
            "selector": "0xfc94dd18",
            "calldata_variants": [
                "0xfc94dd18",
                "0xfc94dd180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 300,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 389,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 528,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0x654a79e6589c43facbe090ef6e5a82939e499fbe93822cbc9746cf638084feba
call_targets: 0x0000000000000000000000000000000000000004, 0xa7a677183373ca33a65f00084eb81747c8ae5f03, 0xbc08b48e915fa5760d9b93863964d4bea0f85efc
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x654a79e6589c43facbe090ef6e5a82939e499fbe93822cbc9746cf638084feba",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0xa7a677183373ca33a65f00084eb81747c8ae5f03",
        "0xbc08b48e915fa5760d9b93863964d4bea0f85efc"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x08216c0f",
            "selector": "0x08216c0f",
            "calldata_variants": [
                "0x08216c0f",
                "0x08216c0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xacad94ae",
            "selector": "0xacad94ae",
            "calldata_variants": [
                "0xacad94ae",
                "0xacad94ae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3f65d3",
            "selector": "0xdc3f65d3",
            "calldata_variants": [
                "0xdc3f65d3",
                "0xdc3f65d30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc94dd18",
            "selector": "0xfc94dd18",
            "calldata_variants": [
                "0xfc94dd18",
                "0xfc94dd180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 300,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 389,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 528,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [],
    "untrusted_call_count": 8
}
medium other detector CREATE/CREATE2 reachable 45 yes yes
view
trace_id: 0x9e123c90dd3f1d7e41f3a7ff590a8e16a923a6500d3f08132ab2dd722f5226eb
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x9e123c90dd3f1d7e41f3a7ff590a8e16a923a6500d3f08132ab2dd722f5226eb",
    "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": "0x08216c0f",
            "selector": "0x08216c0f",
            "calldata_variants": [
                "0x08216c0f",
                "0x08216c0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5f8dead3",
            "selector": "0x5f8dead3",
            "calldata_variants": [
                "0x5f8dead3",
                "0x5f8dead30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xacad94ae",
            "selector": "0xacad94ae",
            "calldata_variants": [
                "0xacad94ae",
                "0xacad94ae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3f65d3",
            "selector": "0xdc3f65d3",
            "calldata_variants": [
                "0xdc3f65d3",
                "0xdc3f65d30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc94dd18",
            "selector": "0xfc94dd18",
            "calldata_variants": [
                "0xfc94dd18",
                "0xfc94dd180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}