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

Analysis Run

019b3836-567e-7170-9c3a-4983ea0ac6b8

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
2
Validated
2
Source
Bytecode only
Review Backing
Not yet
Best current signal
Untrusted CALL target/value 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
8391 artifact.fetch complete 1 / 3 3 months ago
8392 tool.cast_disasm complete 1 / 3 3 months ago
51712 analysis.bundle complete 1 / 3 1 week ago
51713 capability.graph complete 1 / 3 1 week ago
51714 detector.run complete 1 / 3 1 week ago
51715 validation.fork complete 1 / 3 1 week ago
113379 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-f8jip_uo
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c91-f0b0-7be0-9260-8363516b5374
--------
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:03.033759+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 7660,
        "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
0
Total opcodes
2715
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00a3
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x0a19b14a
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x00ab
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x2e1a7d4d
00000025: EQ
00000026: PUSH2 0x00e2
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x338b5dea
00000030: EQ
00000031: PUSH2 0x00f6
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x57786394
0000003b: EQ
0000003c: PUSH2 0x0121
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x65e17c9d
00000046: EQ
00000047: PUSH2 0x012a
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x6c86888b
00000051: EQ
00000052: PUSH2 0x013c
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x74e60a48
0000005c: EQ
0000005d: PUSH2 0x01ab
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x93f0bb51
00000067: EQ
00000068: PUSH2 0x01de
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x9e281a98
00000072: EQ
00000073: PUSH2 0x020b
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xc281309e
0000007d: EQ
0000007e: PUSH2 0x0236
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xd0e30db0
00000088: EQ
00000089: PUSH2 0x023f
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xf7888aec
00000093: EQ
00000094: PUSH2 0x028b
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xfb6e155f
0000009e: EQ
0000009f: PUSH2 0x02bf
000000a2: JUMPI
000000a3: JUMPDEST
000000a4: PUSH2 0x03d1
000000a7: PUSH2 0x0002
000000aa: JUMP
000000ab: JUMPDEST
000000ac: PUSH2 0x03d1
000000af: PUSH1 0x04
000000b1: CALLDATALOAD
000000b2: PUSH1 0x24
000000b4: CALLDATALOAD
000000b5: PUSH1 0x44
000000b7: CALLDATALOAD
000000b8: PUSH1 0x64
000000ba: CALLDATALOAD
000000bb: PUSH1 0x84
000000bd: CALLDATALOAD
000000be: PUSH1 0xa4
000000c0: CALLDATALOAD
000000c1: PUSH1 0xc4
000000c3: CALLDATALOAD
000000c4: PUSH1 0xe4
000000c6: CALLDATALOAD
000000c7: PUSH2 0x0104
000000ca: CALLDATALOAD
000000cb: PUSH2 0x0124
000000ce: CALLDATALOAD
000000cf: PUSH2 0x0144
000000d2: CALLDATALOAD
000000d3: PUSH1 0x00
000000d5: PUSH1 0x00
000000d7: CALLVALUE
000000d8: GT
000000d9: ISZERO
000000da: PUSH2 0x0416
000000dd: JUMPI
000000de: PUSH2 0x0002
000000e1: JUMP
000000e2: JUMPDEST
000000e3: PUSH2 0x03d1
000000e6: PUSH1 0x04
000000e8: CALLDATALOAD
000000e9: PUSH1 0x00
000000eb: CALLVALUE
000000ec: GT
000000ed: ISZERO
000000ee: PUSH2 0x08cd
000000f1: JUMPI
000000f2: PUSH2 0x0002
000000f5: JUMP
000000f6: JUMPDEST
000000f7: PUSH2 0x03d1
000000fa: PUSH1 0x04
000000fc: CALLDATALOAD
000000fd: PUSH1 0x24
000000ff: CALLDATALOAD
00000100: PUSH1 0x00
00000102: CALLVALUE
00000103: GT
00000104: DUP1
00000105: PUSH2 0x0117
00000108: JUMPI
00000109: POP
0000010a: DUP2
0000010b: PUSH1 0x01
0000010d: PUSH1 0xa0
0000010f: PUSH1 0x02
00000111: EXP
00000112: SUB
00000113: AND
00000114: PUSH1 0x00
00000116: EQ
00000117: JUMPDEST
00000118: ISZERO
00000119: PUSH2 0x097b
0000011c: JUMPI
0000011d: PUSH2 0x0002
00000120: JUMP
00000121: JUMPDEST
00000122: PUSH2 0x03d3
00000125: PUSH1 0x03
00000127: SLOAD
00000128: DUP2
00000129: JUMP
0000012a: JUMPDEST
0000012b: PUSH2 0x03e5
0000012e: PUSH1 0x02
00000130: SLOAD
00000131: PUSH1 0x01
00000133: PUSH1 0xa0
00000135: PUSH1 0x02
00000137: EXP
00000138: SUB
00000139: AND
0000013a: DUP2
0000013b: JUMP
0000013c: JUMPDEST
0000013d: PUSH2 0x0402
00000140: PUSH1 0x04
00000142: CALLDATALOAD
00000143: PUSH1 0x24
00000145: CALLDATALOAD
00000146: PUSH1 0x44
00000148: CALLDATALOAD
00000149: PUSH1 0x64
0000014b: CALLDATALOAD
0000014c: PUSH1 0x84
0000014e: CALLDATALOAD
0000014f: PUSH1 0xa4
00000151: CALLDATALOAD
00000152: PUSH1 0xc4
00000154: CALLDATALOAD
00000155: PUSH1 0xe4
00000157: CALLDATALOAD
00000158: PUSH2 0x0104
0000015b: CALLDATALOAD
0000015c: PUSH2 0x0124
0000015f: CALLDATALOAD
00000160: PUSH2 0x0144
00000163: CALLDATALOAD
00000164: PUSH2 0x0164
00000167: CALLDATALOAD
00000168: PUSH1 0x01
0000016a: PUSH1 0xa0
0000016c: PUSH1 0x02
0000016e: EXP
0000016f: SUB
00000170: DUP13
00000171: DUP2
00000172: AND
00000173: PUSH1 0x00
00000175: SWAP1
00000176: DUP2
00000177: MSTORE
00000178: PUSH1 0x20
0000017a: DUP2
0000017b: DUP2
0000017c: MSTORE
0000017d: PUSH1 0x40
0000017f: DUP1
00000180: DUP4
00000181: KECCAK256
00000182: SWAP4
00000183: DUP6
00000184: AND
00000185: DUP4
00000186: MSTORE
00000187: SWAP3
00000188: SWAP1
00000189: MSTORE
0000018a: SWAP1
0000018b: DUP2
0000018c: KECCAK256
0000018d: SLOAD
0000018e: DUP4
0000018f: SWAP1
00000190: LT
00000191: DUP1
00000192: ISZERO
00000193: SWAP1
00000194: PUSH2 0x0aa9
00000197: JUMPI
00000198: POP
00000199: DUP3
0000019a: PUSH2 0x0aa6
0000019d: DUP15
0000019e: DUP15
0000019f: DUP15
000001a0: DUP15
000001a1: DUP15
000001a2: DUP15
000001a3: DUP15
000001a4: DUP15
000001a5: DUP15
000001a6: DUP15
000001a7: PUSH2 0x02e3
000001aa: JUMP
000001ab: JUMPDEST
000001ac: PUSH2 0x03d1
000001af: PUSH1 0x04
000001b1: CALLDATALOAD
000001b2: PUSH1 0x24
000001b4: CALLDATALOAD
000001b5: PUSH1 0x44
000001b7: CALLDATALOAD
000001b8: PUSH1 0x64
000001ba: CALLDATALOAD
000001bb: PUSH1 0x84
000001bd: CALLDATALOAD
000001be: PUSH1 0xa4
000001c0: CALLDATALOAD
000001c1: PUSH1 0xc4
000001c3: CALLDATALOAD
000001c4: PUSH1 0xe4
000001c6: CALLDATALOAD
000001c7: PUSH2 0x0104
000001ca: CALLDATALOAD
000001cb: PUSH2 0x0124
000001ce: CALLDATALOAD
000001cf: PUSH1 0x00
000001d1: PUSH1 0x00
000001d3: CALLVALUE
000001d4: GT
000001d5: ISZERO
000001d6: PUSH2 0x0ab7
000001d9: JUMPI
000001da: PUSH2 0x0002
000001dd: JUMP
000001de: JUMPDEST
000001df: PUSH2 0x03d1
000001e2: PUSH1 0x04
000001e4: CALLDATALOAD
000001e5: PUSH1 0x24
000001e7: CALLDATALOAD
000001e8: PUSH1 0x44
000001ea: CALLDATALOAD
000001eb: PUSH1 0x64
000001ed: CALLDATALOAD
000001ee: PUSH1 0x84
000001f0: CALLDATALOAD
000001f1: PUSH1 0xa4
000001f3: CALLDATALOAD
000001f4: PUSH1 0xc4
000001f6: CALLDATALOAD
000001f7: PUSH1 0xe4
000001f9: CALLDATALOAD
000001fa: PUSH2 0x0104
000001fd: CALLDATALOAD
000001fe: PUSH1 0x00
00000200: CALLVALUE
00000201: GT
00000202: ISZERO
00000203: PUSH2 0x0be7
00000206: JUMPI
00000207: PUSH2 0x0002
0000020a: JUMP
0000020b: JUMPDEST
0000020c: PUSH2 0x03d1
0000020f: PUSH1 0x04
00000211: CALLDATALOAD
00000212: PUSH1 0x24
00000214: CALLDATALOAD
00000215: PUSH1 0x00
00000217: CALLVALUE
00000218: GT
00000219: DUP1
0000021a: PUSH2 0x022c
0000021d: JUMPI
0000021e: POP
0000021f: DUP2
00000220: PUSH1 0x01
00000222: PUSH1 0xa0
00000224: PUSH1 0x02
00000226: EXP
00000227: SUB
00000228: AND
00000229: PUSH1 0x00
0000022b: EQ
0000022c: JUMPDEST
0000022d: ISZERO
0000022e: PUSH2 0x0c73
00000231: JUMPI
00000232: PUSH2 0x0002
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH2 0x03d3
0000023a: PUSH1 0x04
0000023c: SLOAD
0000023d: DUP2
0000023e: JUMP
0000023f: JUMPDEST
00000240: PUSH2 0x03d1
00000243: CALLER
00000244: PUSH1 0x01
00000246: PUSH1 0xa0
00000248: PUSH1 0x02
0000024a: EXP
0000024b: SUB
0000024c: AND
0000024d: PUSH1 0x00
0000024f: SWAP1
00000250: DUP2
00000251: MSTORE
00000252: PUSH1 0x00
00000254: DUP1
00000255: MLOAD
00000256: PUSH1 0x20
00000258: PUSH2 0x0ed5
0000025b: DUP4
0000025c: CODECOPY
0000025d: DUP2
0000025e: MLOAD
0000025f: SWAP2
00000260: MSTORE
00000261: PUSH1 0x20
00000263: MSTORE
00000264: PUSH1 0x40
00000266: SWAP1
00000267: KECCAK256
00000268: SLOAD
00000269: PUSH2 0x0ddf
0000026c: SWAP1
0000026d: CALLVALUE
0000026e: JUMPDEST
0000026f: PUSH1 0x00
00000271: DUP3
00000272: DUP3
00000273: ADD
00000274: PUSH2 0x0ec5
00000277: DUP5
00000278: DUP3
00000279: LT
0000027a: DUP1
0000027b: ISZERO
0000027c: SWAP1
0000027d: PUSH2 0x0286
00000280: JUMPI
00000281: POP
00000282: DUP4
00000283: DUP3
00000284: LT
00000285: ISZERO
00000286: JUMPDEST
00000287: PUSH2 0x0627
0000028a: JUMP
0000028b: JUMPDEST
0000028c: PUSH2 0x03d3
0000028f: PUSH1 0x04
00000291: CALLDATALOAD
00000292: PUSH1 0x24
00000294: CALLDATALOAD
00000295: PUSH1 0x01
00000297: PUSH1 0xa0
00000299: PUSH1 0x02
0000029b: EXP
0000029c: SUB
0000029d: DUP3
0000029e: DUP2
0000029f: AND
000002a0: PUSH1 0x00
000002a2: SWAP1
000002a3: DUP2
000002a4: MSTORE
000002a5: PUSH1 0x20
000002a7: DUP2
000002a8: DUP2
000002a9: MSTORE
000002aa: PUSH1 0x40
000002ac: DUP1
000002ad: DUP4
000002ae: KECCAK256
000002af: SWAP4
000002b0: DUP6
000002b1: AND
000002b2: DUP4
000002b3: MSTORE
000002b4: SWAP3
000002b5: SWAP1
000002b6: MSTORE
000002b7: KECCAK256
000002b8: SLOAD
000002b9: JUMPDEST
000002ba: SWAP3
000002bb: SWAP2
000002bc: POP
000002bd: POP
000002be: JUMP
000002bf: JUMPDEST
000002c0: PUSH2 0x03d3
000002c3: PUSH1 0x04
000002c5: CALLDATALOAD
000002c6: PUSH1 0x24
000002c8: CALLDATALOAD
000002c9: PUSH1 0x44
000002cb: CALLDATALOAD
000002cc: PUSH1 0x64
000002ce: CALLDATALOAD
000002cf: PUSH1 0x84
000002d1: CALLDATALOAD
000002d2: PUSH1 0xa4
000002d4: CALLDATALOAD
000002d5: PUSH1 0xc4
000002d7: CALLDATALOAD
000002d8: PUSH1 0xe4
000002da: CALLDATALOAD
000002db: PUSH2 0x0104
000002de: CALLDATALOAD
000002df: PUSH2 0x0124
000002e2: CALLDATALOAD
000002e3: JUMPDEST
000002e4: PUSH1 0x00
000002e6: PUSH1 0x00
000002e8: PUSH1 0x00
000002ea: PUSH1 0x00
000002ec: PUSH1 0x02
000002ee: DUP15
000002ef: DUP15
000002f0: DUP15
000002f1: DUP15
000002f2: DUP15
000002f3: DUP15
000002f4: PUSH1 0x40
000002f6: MLOAD
000002f7: DUP1
000002f8: DUP8
000002f9: PUSH1 0x01
000002fb: PUSH1 0xa0
000002fd: PUSH1 0x02
000002ff: EXP
00000300: SUB
00000301: AND
00000302: PUSH1 0x60
00000304: PUSH1 0x02
00000306: EXP
00000307: MUL
00000308: DUP2
00000309: MSTORE
0000030a: PUSH1 0x14
0000030c: ADD
0000030d: DUP7
0000030e: DUP2
0000030f: MSTORE
00000310: PUSH1 0x20
00000312: ADD
00000313: DUP6
00000314: PUSH1 0x01
00000316: PUSH1 0xa0
00000318: PUSH1 0x02
0000031a: EXP
0000031b: SUB
0000031c: AND
0000031d: PUSH1 0x60
0000031f: PUSH1 0x02
00000321: EXP
00000322: MUL
00000323: DUP2
00000324: MSTORE
00000325: PUSH1 0x14
00000327: ADD
00000328: DUP5
00000329: DUP2
0000032a: MSTORE
0000032b: PUSH1 0x20
0000032d: ADD
0000032e: DUP4
0000032f: DUP2
00000330: MSTORE
00000331: PUSH1 0x20
00000333: ADD
00000334: DUP3
00000335: DUP2
00000336: MSTORE
00000337: PUSH1 0x20
00000339: ADD
0000033a: SWAP7
0000033b: POP
0000033c: POP
0000033d: POP
0000033e: POP
0000033f: POP
00000340: POP
00000341: POP
00000342: PUSH1 0x20
00000344: PUSH1 0x40
00000346: MLOAD
00000347: DUP1
00000348: DUP4
00000349: SUB
0000034a: DUP2
0000034b: PUSH1 0x00
0000034d: DUP7
0000034e: PUSH2 0x61da
00000351: GAS
00000352: SUB
00000353: CALL
00000354: ISZERO
00000355: PUSH2 0x0002
00000358: JUMPI
00000359: POP
0000035a: POP
0000035b: PUSH1 0x40
0000035d: DUP1
0000035e: MLOAD
0000035f: DUP1
00000360: MLOAD
00000361: PUSH1 0xff
00000363: DUP11
00000364: AND
00000365: PUSH1 0x20
00000367: DUP4
00000368: DUP2
00000369: ADD
0000036a: SWAP2
0000036b: SWAP1
0000036c: SWAP2
0000036d: MSTORE
0000036e: DUP3
0000036f: DUP5
00000370: ADD
00000371: DUP11
00000372: SWAP1
00000373: MSTORE
00000374: PUSH1 0x60
00000376: DUP4
00000377: ADD
00000378: DUP10
00000379: SWAP1
0000037a: MSTORE
0000037b: SWAP3
0000037c: MLOAD
0000037d: SWAP1
0000037e: SWAP6
0000037f: POP
00000380: PUSH1 0x01
00000382: PUSH1 0xa0
00000384: PUSH1 0x02
00000386: EXP
00000387: SUB
00000388: DUP12
00000389: AND
0000038a: SWAP3
0000038b: PUSH1 0x01
0000038d: SWAP3
0000038e: PUSH1 0x80
00000390: DUP1
00000391: DUP3
00000392: ADD
00000393: SWAP4
00000394: SWAP2
00000395: DUP3
00000396: SWAP1
00000397: SUB
00000398: ADD
00000399: DUP2
0000039a: DUP8
0000039b: DUP7
0000039c: PUSH2 0x61da
0000039f: GAS
000003a0: SUB
000003a1: CALL
000003a2: ISZERO
000003a3: PUSH2 0x0002
000003a6: JUMPI
000003a7: POP
000003a8: POP
000003a9: PUSH1 0x40
000003ab: MLOAD
000003ac: MLOAD
000003ad: PUSH1 0x01
000003af: PUSH1 0xa0
000003b1: PUSH1 0x02
000003b3: EXP
000003b4: SUB
000003b5: AND
000003b6: EQ
000003b7: DUP1
000003b8: ISZERO
000003b9: PUSH2 0x03c2
000003bc: JUMPI
000003bd: POP
000003be: DUP10
000003bf: NUMBER
000003c0: GT
000003c1: ISZERO
000003c2: JUMPDEST
000003c3: ISZERO
000003c4: ISZERO
000003c5: PUSH2 0x0e65
000003c8: JUMPI
000003c9: PUSH1 0x00
000003cb: SWAP4
000003cc: POP
000003cd: PUSH2 0x0e54
000003d0: JUMP
000003d1: JUMPDEST
000003d2: STOP
000003d3: JUMPDEST
000003d4: PUSH1 0x40
000003d6: DUP1
000003d7: MLOAD
000003d8: SWAP2
000003d9: DUP3
000003da: MSTORE
000003db: MLOAD
000003dc: SWAP1
000003dd: DUP2
000003de: SWAP1
000003df: SUB
000003e0: PUSH1 0x20
000003e2: ADD
000003e3: SWAP1
000003e4: RETURN
000003e5: JUMPDEST
000003e6: PUSH1 0x40
000003e8: DUP1
000003e9: MLOAD
000003ea: PUSH1 0x01
000003ec: PUSH1 0xa0
000003ee: PUSH1 0x02
000003f0: EXP
000003f1: SUB
000003f2: SWAP3
000003f3: SWAP1
000003f4: SWAP3
000003f5: AND
000003f6: DUP3
000003f7: MSTORE
000003f8: MLOAD
000003f9: SWAP1
000003fa: DUP2
000003fb: SWAP1
000003fc: SUB
000003fd: PUSH1 0x20
000003ff: ADD
00000400: SWAP1
00000401: RETURN
00000402: JUMPDEST
00000403: PUSH1 0x40
00000405: DUP1
00000406: MLOAD
00000407: SWAP2
00000408: ISZERO
00000409: ISZERO
0000040a: DUP3
0000040b: MSTORE
0000040c: MLOAD
0000040d: SWAP1
0000040e: DUP2
0000040f: SWAP1
00000410: SUB
00000411: PUSH1 0x20
00000413: ADD
00000414: SWAP1
00000415: RETURN
00000416: JUMPDEST
00000417: PUSH1 0x02
00000419: DUP13
0000041a: DUP13
0000041b: DUP13
0000041c: DUP13
0000041d: DUP13
0000041e: DUP13
0000041f: PUSH1 0x40
00000421: MLOAD
00000422: DUP1
00000423: DUP8
00000424: PUSH1 0x01
00000426: PUSH1 0xa0
00000428: PUSH1 0x02
0000042a: EXP
0000042b: SUB
0000042c: AND
0000042d: PUSH1 0x60
0000042f: PUSH1 0x02
00000431: EXP
00000432: MUL
00000433: DUP2
00000434: MSTORE
00000435: PUSH1 0x14
00000437: ADD
00000438: DUP7
00000439: DUP2
0000043a: MSTORE
0000043b: PUSH1 0x20
0000043d: ADD
0000043e: DUP6
0000043f: PUSH1 0x01
00000441: PUSH1 0xa0
00000443: PUSH1 0x02
00000445: EXP
00000446: SUB
00000447: AND
00000448: PUSH1 0x60
0000044a: PUSH1 0x02
0000044c: EXP
0000044d: MUL
0000044e: DUP2
0000044f: MSTORE
00000450: PUSH1 0x14
00000452: ADD
00000453: DUP5
00000454: DUP2
00000455: MSTORE
00000456: PUSH1 0x20
00000458: ADD
00000459: DUP4
0000045a: DUP2
0000045b: MSTORE
0000045c: PUSH1 0x20
0000045e: ADD
0000045f: DUP3
00000460: DUP2
00000461: MSTORE
00000462: PUSH1 0x20
00000464: ADD
00000465: SWAP7
00000466: POP
00000467: POP
00000468: POP
00000469: POP
0000046a: POP
0000046b: POP
0000046c: POP
0000046d: PUSH1 0x20
0000046f: PUSH1 0x40
00000471: MLOAD
00000472: DUP1
00000473: DUP4
00000474: SUB
00000475: DUP2
00000476: PUSH1 0x00
00000478: DUP7
00000479: PUSH2 0x61da
0000047c: GAS
0000047d: SUB
0000047e: CALL
0000047f: ISZERO
00000480: PUSH2 0x0002
00000483: JUMPI
00000484: POP
00000485: POP
00000486: PUSH1 0x40
00000488: DUP1
00000489: MLOAD
0000048a: DUP1
0000048b: MLOAD
0000048c: PUSH1 0xff
0000048e: DUP9
0000048f: AND
00000490: PUSH1 0x20
00000492: DUP4
00000493: DUP2
00000494: ADD
00000495: SWAP2
00000496: SWAP1
00000497: SWAP2
00000498: MSTORE
00000499: DUP3
0000049a: DUP5
0000049b: ADD
0000049c: DUP9
0000049d: SWAP1
0000049e: MSTORE
0000049f: PUSH1 0x60
000004a1: DUP4
000004a2: ADD
000004a3: DUP8
000004a4: SWAP1
000004a5: MSTORE
000004a6: SWAP3
000004a7: MLOAD
000004a8: SWAP1
000004a9: SWAP4
000004aa: POP
000004ab: PUSH1 0x01
000004ad: PUSH1 0xa0
000004af: PUSH1 0x02
000004b1: EXP
000004b2: SUB
000004b3: DUP10
000004b4: AND
000004b5: SWAP3
000004b6: PUSH1 0x01
000004b8: SWAP3
000004b9: PUSH1 0x80
000004bb: DUP2
000004bc: DUP2
000004bd: ADD
000004be: SWAP4
000004bf: SWAP2
000004c0: DUP3
000004c1: SWAP1
000004c2: SUB
000004c3: ADD
000004c4: DUP2
000004c5: PUSH1 0x00
000004c7: DUP7
000004c8: PUSH2 0x61da
000004cb: GAS
000004cc: SUB
000004cd: CALL
000004ce: ISZERO
000004cf: PUSH2 0x0002
000004d2: JUMPI
000004d3: POP
000004d4: POP
000004d5: PUSH1 0x40
000004d7: MLOAD
000004d8: MLOAD
000004d9: PUSH1 0x01
000004db: PUSH1 0xa0
000004dd: PUSH1 0x02
000004df: EXP
000004e0: SUB
000004e1: AND
000004e2: EQ
000004e3: DUP1
000004e4: ISZERO
000004e5: PUSH2 0x04ee
000004e8: JUMPI
000004e9: POP
000004ea: DUP8
000004eb: NUMBER
000004ec: GT
000004ed: ISZERO
000004ee: JUMPDEST
000004ef: DUP1
000004f0: ISZERO
000004f1: PUSH2 0x0513
000004f4: JUMPI
000004f5: POP
000004f6: PUSH1 0x00
000004f8: DUP2
000004f9: DUP2
000004fa: MSTORE
000004fb: PUSH1 0x01
000004fd: PUSH1 0x20
000004ff: MSTORE
00000500: PUSH1 0x40
00000502: SWAP1
00000503: KECCAK256
00000504: SLOAD
00000505: DUP12
00000506: SWAP1
00000507: PUSH2 0x0510
0000050a: SWAP1
0000050b: DUP5
0000050c: PUSH2 0x026e
0000050f: JUMP
00000510: JUMPDEST
00000511: GT
00000512: ISZERO
00000513: JUMPDEST
00000514: DUP1
00000515: ISZERO
00000516: PUSH2 0x0544
00000519: JUMPI
0000051a: POP
0000051b: PUSH1 0x01
0000051d: PUSH1 0xa0
0000051f: PUSH1 0x02
00000521: EXP
00000522: SUB
00000523: DUP13
00000524: DUP2
00000525: AND
00000526: PUSH1 0x00
00000528: SWAP1
00000529: DUP2
0000052a: MSTORE
0000052b: PUSH1 0x20
0000052d: DUP2
0000052e: DUP2
0000052f: MSTORE
00000530: PUSH1 0x40
00000532: DUP1
00000533: DUP4
00000534: KECCAK256
00000535: CALLER
00000536: SWAP1
00000537: SWAP5
00000538: AND
00000539: DUP4
0000053a: MSTORE
0000053b: SWAP3
0000053c: SWAP1
0000053d: MSTORE
0000053e: KECCAK256
0000053f: SLOAD
00000540: DUP3
00000541: SWAP1
00000542: LT
00000543: ISZERO
00000544: JUMPDEST
00000545: DUP1
00000546: ISZERO
00000547: PUSH2 0x0581
0000054a: JUMPI
0000054b: POP
0000054c: DUP11
0000054d: PUSH2 0x0556
00000550: DUP11
00000551: DUP5
00000552: PUSH2 0x05d7
00000555: JUMP
00000556: JUMPDEST
00000557: PUSH1 0x01
00000559: PUSH1 0xa0
0000055b: PUSH1 0x02
0000055d: EXP
0000055e: SUB
0000055f: DUP13
00000560: DUP2
00000561: AND
00000562: PUSH1 0x00
00000564: SWAP1
00000565: DUP2
00000566: MSTORE
00000567: PUSH1 0x20
00000569: DUP2
0000056a: DUP2
0000056b: MSTORE
0000056c: PUSH1 0x40
0000056e: DUP1
0000056f: DUP4
00000570: KECCAK256
00000571: SWAP4
00000572: DUP13
00000573: AND
00000574: DUP4
00000575: MSTORE
00000576: SWAP3
00000577: SWAP1
00000578: MSTORE
00000579: KECCAK256
0000057a: SLOAD
0000057b: SWAP2
0000057c: SWAP1
0000057d: DIV
0000057e: SWAP1
0000057f: LT
00000580: ISZERO
00000581: JUMPDEST
00000582: ISZERO
00000583: ISZERO
00000584: PUSH2 0x05f2
00000587: JUMPI
00000588: PUSH2 0x0002
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH1 0x01
0000058f: PUSH1 0xa0
00000591: PUSH1 0x02
00000593: EXP
00000594: SUB
00000595: DUP14
00000596: DUP2
00000597: AND
00000598: PUSH1 0x00
0000059a: SWAP1
0000059b: DUP2
0000059c: MSTORE
0000059d: PUSH1 0x20
0000059f: DUP2
000005a0: DUP2
000005a1: MSTORE
000005a2: PUSH1 0x40
000005a4: DUP1
000005a5: DUP4
000005a6: KECCAK256
000005a7: CALLER
000005a8: DUP6
000005a9: AND
000005aa: DUP5
000005ab: MSTORE
000005ac: SWAP1
000005ad: SWAP2
000005ae: MSTORE
000005af: DUP1
000005b0: DUP3
000005b1: KECCAK256
000005b2: SWAP4
000005b3: SWAP1
000005b4: SWAP4
000005b5: SSTORE
000005b6: SWAP1
000005b7: DUP9
000005b8: AND
000005b9: DUP2
000005ba: MSTORE
000005bb: KECCAK256
000005bc: SLOAD
000005bd: PUSH1 0x03
000005bf: SLOAD
000005c0: PUSH2 0x0633
000005c3: SWAP2
000005c4: SWAP1
000005c5: PUSH8 0x0de0b6b3a7640000
000005ce: SWAP1
000005cf: PUSH2 0x0683
000005d2: SWAP1
000005d3: DUP7
000005d4: SWAP1
000005d5: DUP4
000005d6: SUB
000005d7: JUMPDEST
000005d8: PUSH1 0x00
000005da: DUP2
000005db: DUP4
000005dc: MUL
000005dd: PUSH2 0x0ec5
000005e0: DUP5
000005e1: DUP4
000005e2: EQ
000005e3: DUP1
000005e4: PUSH2 0x0286
000005e7: JUMPI
000005e8: POP
000005e9: DUP4
000005ea: DUP6
000005eb: DUP4
000005ec: DIV
000005ed: EQ
000005ee: PUSH2 0x0627
000005f1: JUMP
000005f2: JUMPDEST
000005f3: PUSH1 0x01
000005f5: PUSH1 0xa0
000005f7: PUSH1 0x02
000005f9: EXP
000005fa: SUB
000005fb: DUP13
000005fc: DUP2
000005fd: AND
000005fe: PUSH1 0x00
00000600: SWAP1
00000601: DUP2
00000602: MSTORE
00000603: PUSH1 0x20
00000605: DUP2
00000606: DUP2
00000607: MSTORE
00000608: PUSH1 0x40
0000060a: DUP1
0000060b: DUP4
0000060c: KECCAK256
0000060d: CALLER
0000060e: SWAP1
0000060f: SWAP5
00000610: AND
00000611: DUP4
00000612: MSTORE
00000613: SWAP3
00000614: SWAP1
00000615: MSTORE
00000616: KECCAK256
00000617: SLOAD
00000618: PUSH2 0x058c
0000061b: SWAP1
0000061c: DUP4
0000061d: JUMPDEST
0000061e: PUSH1 0x00
00000620: PUSH2 0x0ecc
00000623: DUP4
00000624: DUP4
00000625: GT
00000626: ISZERO
00000627: JUMPDEST
00000628: DUP1
00000629: ISZERO
0000062a: ISZERO
0000062b: PUSH2 0x08ca
0000062e: JUMPI
0000062f: PUSH2 0x0002
00000632: JUMP
00000633: JUMPDEST
00000634: PUSH1 0x01
00000636: PUSH1 0xa0
00000638: PUSH1 0x02
0000063a: EXP
0000063b: SUB
0000063c: DUP14
0000063d: DUP2
0000063e: AND
0000063f: PUSH1 0x00
00000641: SWAP1
00000642: DUP2
00000643: MSTORE
00000644: PUSH1 0x20
00000646: DUP2
00000647: DUP2
00000648: MSTORE
00000649: PUSH1 0x40
0000064b: DUP1
0000064c: DUP4
0000064d: KECCAK256
0000064e: DUP12
0000064f: DUP6
00000650: AND
00000651: DUP5
00000652: MSTORE
00000653: SWAP1
00000654: SWAP2
00000655: MSTORE
00000656: DUP1
00000657: DUP3
00000658: KECCAK256
00000659: SWAP4
0000065a: SWAP1
0000065b: SWAP4
0000065c: SSTORE
0000065d: PUSH1 0x02
0000065f: SLOAD
00000660: SWAP1
00000661: SWAP2
00000662: AND
00000663: DUP2
00000664: MSTORE
00000665: KECCAK256
00000666: SLOAD
00000667: PUSH1 0x03
00000669: SLOAD
0000066a: PUSH2 0x0689
0000066d: SWAP2
0000066e: SWAP1
0000066f: PUSH8 0x0de0b6b3a7640000
00000678: SWAP1
00000679: PUSH2 0x0683
0000067c: SWAP1
0000067d: DUP7
0000067e: SWAP1
0000067f: PUSH2 0x05d7
00000682: JUMP
00000683: JUMPDEST
00000684: DIV
00000685: PUSH2 0x026e
00000688: JUMP
00000689: JUMPDEST
0000068a: PUSH1 0x01
0000068c: PUSH1 0xa0
0000068e: PUSH1 0x02
00000690: EXP
00000691: SUB
00000692: DUP14
00000693: DUP2
00000694: AND
00000695: PUSH1 0x00
00000697: SWAP1
00000698: DUP2
00000699: MSTORE
0000069a: PUSH1 0x20
0000069c: DUP2
0000069d: DUP2
0000069e: MSTORE
0000069f: PUSH1 0x40
000006a1: DUP1
000006a2: DUP4
000006a3: KECCAK256
000006a4: PUSH1 0x02
000006a6: SLOAD
000006a7: DUP6
000006a8: AND
000006a9: DUP5
000006aa: MSTORE
000006ab: DUP3
000006ac: MSTORE
000006ad: DUP1
000006ae: DUP4
000006af: KECCAK256
000006b0: SWAP5
000006b1: SWAP1
000006b2: SWAP5
000006b3: SSTORE
000006b4: DUP14
000006b5: DUP4
000006b6: AND
000006b7: DUP3
000006b8: MSTORE
000006b9: DUP2
000006ba: DUP2
000006bb: MSTORE
000006bc: DUP4
000006bd: DUP3
000006be: KECCAK256
000006bf: SWAP3
000006c0: DUP11
000006c1: AND
000006c2: DUP3
000006c3: MSTORE
000006c4: SWAP2
000006c5: SWAP1
000006c6: SWAP2
000006c7: MSTORE
000006c8: KECCAK256
000006c9: SLOAD
000006ca: PUSH2 0x06d8
000006cd: SWAP1
000006ce: DUP13
000006cf: PUSH2 0x072d
000006d2: DUP13
000006d3: DUP7
000006d4: PUSH2 0x05d7
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH1 0x01
000006db: PUSH1 0xa0
000006dd: PUSH1 0x02
000006df: EXP
000006e0: SUB
000006e1: DUP12
000006e2: DUP2
000006e3: AND
000006e4: PUSH1 0x00
000006e6: SWAP1
000006e7: DUP2
000006e8: MSTORE
000006e9: PUSH1 0x20
000006eb: DUP2
000006ec: DUP2
000006ed: MSTORE
000006ee: PUSH1 0x40
000006f0: DUP1
000006f1: DUP4
000006f2: KECCAK256
000006f3: DUP12
000006f4: DUP6
000006f5: AND
000006f6: DUP5
000006f7: MSTORE
000006f8: SWAP1
000006f9: SWAP2
000006fa: MSTORE
000006fb: DUP1
000006fc: DUP3
000006fd: KECCAK256
000006fe: SWAP4
000006ff: SWAP1
00000700: SWAP4
00000701: SSTORE
00000702: CALLER
00000703: SWAP1
00000704: SWAP2
00000705: AND
00000706: DUP2
00000707: MSTORE
00000708: KECCAK256
00000709: SLOAD
0000070a: PUSH1 0x04
0000070c: SLOAD
0000070d: PUSH2 0x0733
00000710: SWAP2
00000711: SWAP1
00000712: PUSH8 0x0de0b6b3a7640000
0000071b: SWAP1
0000071c: DUP15
0000071d: SWAP1
0000071e: PUSH2 0x0788
00000721: SWAP1
00000722: PUSH2 0x078f
00000725: SWAP1
00000726: DUP5
00000727: SUB
00000728: DUP16
00000729: PUSH2 0x05d7
0000072c: JUMP
0000072d: JUMPDEST
0000072e: DIV
0000072f: PUSH2 0x061d
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH1 0x01
00000736: PUSH1 0xa0
00000738: PUSH1 0x02
0000073a: EXP
0000073b: SUB
0000073c: DUP12
0000073d: DUP2
0000073e: AND
0000073f: PUSH1 0x00
00000741: SWAP1
00000742: DUP2
00000743: MSTORE
00000744: PUSH1 0x20
00000746: DUP2
00000747: DUP2
00000748: MSTORE
00000749: PUSH1 0x40
0000074b: DUP1
0000074c: DUP4
0000074d: KECCAK256
0000074e: CALLER
0000074f: DUP6
00000750: AND
00000751: DUP5
00000752: MSTORE
00000753: SWAP1
00000754: SWAP2
00000755: MSTORE
00000756: DUP1
00000757: DUP3
00000758: KECCAK256
00000759: SWAP4
0000075a: SWAP1
0000075b: SWAP4
0000075c: SSTORE
0000075d: PUSH1 0x02
0000075f: SLOAD
00000760: SWAP1
00000761: SWAP2
00000762: AND
00000763: DUP2
00000764: MSTORE
00000765: KECCAK256
00000766: SLOAD
00000767: PUSH1 0x04
00000769: SLOAD
0000076a: PUSH2 0x0795
0000076d: SWAP2
0000076e: SWAP1
0000076f: PUSH8 0x0de0b6b3a7640000
00000778: SWAP1
00000779: DUP15
0000077a: SWAP1
0000077b: PUSH2 0x0788
0000077e: SWAP1
0000077f: PUSH2 0x078f
00000782: SWAP1
00000783: DUP16
00000784: PUSH2 0x05d7
00000787: JUMP
00000788: JUMPDEST
00000789: DIV
0000078a: DIV
0000078b: PUSH2 0x026e
0000078e: JUMP
0000078f: JUMPDEST
00000790: DUP8
00000791: PUSH2 0x05d7
00000794: JUMP
00000795: JUMPDEST
00000796: PUSH1 0x01
00000798: PUSH1 0xa0
0000079a: PUSH1 0x02
0000079c: EXP
0000079d: SUB
0000079e: DUP12
0000079f: DUP2
000007a0: AND
000007a1: PUSH1 0x00
000007a3: SWAP1
000007a4: DUP2
000007a5: MSTORE
000007a6: PUSH1 0x20
000007a8: DUP2
000007a9: DUP2
000007aa: MSTORE
000007ab: PUSH1 0x40
000007ad: DUP1
000007ae: DUP4
000007af: KECCAK256
000007b0: PUSH1 0x02
000007b2: SLOAD
000007b3: SWAP1
000007b4: SWAP5
000007b5: AND
000007b6: DUP4
000007b7: MSTORE
000007b8: SWAP3
000007b9: DUP2
000007ba: MSTORE
000007bb: DUP3
000007bc: DUP3
000007bd: KECCAK256
000007be: SWAP4
000007bf: SWAP1
000007c0: SWAP4
000007c1: SSTORE
000007c2: DUP4
000007c3: DUP2
000007c4: MSTORE
000007c5: PUSH1 0x01
000007c7: SWAP1
000007c8: SWAP3
000007c9: MSTORE
000007ca: SWAP1
000007cb: KECCAK256
000007cc: SLOAD
000007cd: PUSH2 0x07d6
000007d0: SWAP1
000007d1: DUP4
000007d2: PUSH2 0x026e
000007d5: JUMP
000007d6: JUMPDEST
000007d7: PUSH1 0x00
000007d9: DUP3
000007da: DUP2
000007db: MSTORE
000007dc: PUSH1 0x01
000007de: PUSH1 0x20
000007e0: SWAP1
000007e1: DUP2
000007e2: MSTORE
000007e3: PUSH1 0x40
000007e5: SWAP2
000007e6: DUP3
000007e7: SWAP1
000007e8: KECCAK256
000007e9: SWAP3
000007ea: SWAP1
000007eb: SWAP3
000007ec: SSTORE
000007ed: DUP1
000007ee: MLOAD
000007ef: PUSH1 0x01
000007f1: PUSH1 0xa0
000007f3: PUSH1 0x02
000007f5: EXP
000007f6: SUB
000007f7: DUP16
000007f8: DUP2
000007f9: AND
000007fa: DUP3
000007fb: MSTORE
000007fc: SWAP3
000007fd: DUP2
000007fe: ADD
000007ff: DUP6
00000800: SWAP1
00000801: MSTORE
00000802: DUP13
00000803: DUP4
00000804: AND
00000805: DUP2
00000806: DUP4
00000807: ADD
00000808: MSTORE
00000809: DUP12
0000080a: DUP6
0000080b: MUL
0000080c: DUP15
0000080d: SWAP1
0000080e: DIV
0000080f: PUSH1 0x60
00000811: DUP3
00000812: ADD
00000813: MSTORE
00000814: DUP9
00000815: DUP4
00000816: AND
00000817: PUSH1 0x80
00000819: DUP3
0000081a: ADD
0000081b: MSTORE
0000081c: CALLER
0000081d: SWAP1
0000081e: SWAP3
0000081f: AND
00000820: PUSH1 0xa0
00000822: DUP4
00000823: ADD
00000824: MSTORE
00000825: MLOAD
00000826: PUSH32 0x6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d
00000847: SWAP2
00000848: DUP2
00000849: SWAP1
0000084a: SUB
0000084b: PUSH1 0xc0
0000084d: ADD
0000084e: SWAP1
0000084f: LOG1
00000850: POP
00000851: POP
00000852: POP
00000853: POP
00000854: POP
00000855: POP
00000856: POP
00000857: POP
00000858: POP
00000859: POP
0000085a: POP
0000085b: POP
0000085c: JUMP
0000085d: JUMPDEST
0000085e: CALLER
0000085f: PUSH1 0x01
00000861: PUSH1 0xa0
00000863: PUSH1 0x02
00000865: EXP
00000866: SUB
00000867: AND
00000868: PUSH1 0x00
0000086a: DUP2
0000086b: DUP2
0000086c: MSTORE
0000086d: PUSH1 0x00
0000086f: DUP1
00000870: MLOAD
00000871: PUSH1 0x20
00000873: PUSH2 0x0ed5
00000876: DUP4
00000877: CODECOPY
00000878: DUP2
00000879: MLOAD
0000087a: SWAP2
0000087b: MSTORE
0000087c: PUSH1 0x20
0000087e: SWAP1
0000087f: DUP2
00000880: MSTORE
00000881: PUSH1 0x40
00000883: DUP1
00000884: DUP4
00000885: KECCAK256
00000886: SLOAD
00000887: DUP2
00000888: MLOAD
00000889: SWAP4
0000088a: DUP5
0000088b: MSTORE
0000088c: SWAP2
0000088d: DUP4
0000088e: ADD
0000088f: SWAP4
00000890: SWAP1
00000891: SWAP4
00000892: MSTORE
00000893: DUP2
00000894: DUP4
00000895: ADD
00000896: DUP5
00000897: SWAP1
00000898: MSTORE
00000899: PUSH1 0x60
0000089b: DUP3
0000089c: ADD
0000089d: MSTORE
0000089e: SWAP1
0000089f: MLOAD
000008a0: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567
000008c1: SWAP2
000008c2: DUP2
000008c3: SWAP1
000008c4: SUB
000008c5: PUSH1 0x80
000008c7: ADD
000008c8: SWAP1
000008c9: LOG1
000008ca: JUMPDEST
000008cb: POP
000008cc: JUMP
000008cd: JUMPDEST
000008ce: CALLER
000008cf: PUSH1 0x01
000008d1: PUSH1 0xa0
000008d3: PUSH1 0x02
000008d5: EXP
000008d6: SUB
000008d7: AND
000008d8: PUSH1 0x00
000008da: SWAP1
000008db: DUP2
000008dc: MSTORE
000008dd: PUSH1 0x00
000008df: DUP1
000008e0: MLOAD
000008e1: PUSH1 0x20
000008e3: PUSH2 0x0ed5
000008e6: DUP4
000008e7: CODECOPY
000008e8: DUP2
000008e9: MLOAD
000008ea: SWAP2
000008eb: MSTORE
000008ec: PUSH1 0x20
000008ee: MSTORE
000008ef: PUSH1 0x40
000008f1: SWAP1
000008f2: KECCAK256
000008f3: SLOAD
000008f4: DUP2
000008f5: SWAP1
000008f6: LT
000008f7: ISZERO
000008f8: PUSH2 0x0900
000008fb: JUMPI
000008fc: PUSH2 0x0002
000008ff: JUMP
00000900: JUMPDEST
00000901: CALLER
00000902: PUSH1 0x01
00000904: PUSH1 0xa0
00000906: PUSH1 0x02
00000908: EXP
00000909: SUB
0000090a: AND
0000090b: PUSH1 0x00
0000090d: SWAP1
0000090e: DUP2
0000090f: MSTORE
00000910: PUSH1 0x00
00000912: DUP1
00000913: MLOAD
00000914: PUSH1 0x20
00000916: PUSH2 0x0ed5
00000919: DUP4
0000091a: CODECOPY
0000091b: DUP2
0000091c: MLOAD
0000091d: SWAP2
0000091e: MSTORE
0000091f: PUSH1 0x20
00000921: MSTORE
00000922: PUSH1 0x40
00000924: SWAP1
00000925: KECCAK256
00000926: SLOAD
00000927: PUSH2 0x0930
0000092a: SWAP1
0000092b: DUP3
0000092c: PUSH2 0x061d
0000092f: JUMP
00000930: JUMPDEST
00000931: CALLER
00000932: PUSH1 0x01
00000934: PUSH1 0xa0
00000936: PUSH1 0x02
00000938: EXP
00000939: SUB
0000093a: AND
0000093b: PUSH1 0x00
0000093d: DUP2
0000093e: DUP2
0000093f: MSTORE
00000940: PUSH1 0x00
00000942: DUP1
00000943: MLOAD
00000944: PUSH1 0x20
00000946: PUSH2 0x0ed5
00000949: DUP4
0000094a: CODECOPY
0000094b: DUP2
0000094c: MLOAD
0000094d: SWAP2
0000094e: MSTORE
0000094f: PUSH1 0x20
00000951: MSTORE
00000952: PUSH1 0x40
00000954: DUP1
00000955: DUP3
00000956: KECCAK256
00000957: SWAP4
00000958: SWAP1
00000959: SWAP4
0000095a: SSTORE
0000095b: SWAP2
0000095c: MLOAD
0000095d: SWAP1
0000095e: SWAP2
0000095f: DUP4
00000960: SWAP2
00000961: SWAP1
00000962: DUP2
00000963: DUP2
00000964: DUP2
00000965: DUP6
00000966: DUP8
00000967: PUSH2 0x8502
0000096a: GAS
0000096b: SUB
0000096c: CALL
0000096d: SWAP3
0000096e: POP
0000096f: POP
00000970: POP
00000971: ISZERO
00000972: ISZERO
00000973: PUSH2 0x085d
00000976: JUMPI
00000977: PUSH2 0x0002
0000097a: JUMP
0000097b: JUMPDEST
0000097c: DUP2
0000097d: PUSH1 0x01
0000097f: PUSH1 0xa0
00000981: PUSH1 0x02
00000983: EXP
00000984: SUB
00000985: AND
00000986: PUSH4 0x23b872dd
0000098b: CALLER
0000098c: ADDRESS
0000098d: DUP5
0000098e: PUSH1 0x40
00000990: MLOAD
00000991: DUP5
00000992: PUSH1 0xe0
00000994: PUSH1 0x02
00000996: EXP
00000997: MUL
00000998: DUP2
00000999: MSTORE
0000099a: PUSH1 0x04
0000099c: ADD
0000099d: DUP1
0000099e: DUP5
0000099f: PUSH1 0x01
000009a1: PUSH1 0xa0
000009a3: PUSH1 0x02
000009a5: EXP
000009a6: SUB
000009a7: AND
000009a8: DUP2
000009a9: MSTORE
000009aa: PUSH1 0x20
000009ac: ADD
000009ad: DUP4
000009ae: PUSH1 0x01
000009b0: PUSH1 0xa0
000009b2: PUSH1 0x02
000009b4: EXP
000009b5: SUB
000009b6: AND
000009b7: DUP2
000009b8: MSTORE
000009b9: PUSH1 0x20
000009bb: ADD
000009bc: DUP3
000009bd: DUP2
000009be: MSTORE
000009bf: PUSH1 0x20
000009c1: ADD
000009c2: SWAP4
000009c3: POP
000009c4: POP
000009c5: POP
000009c6: POP
000009c7: PUSH1 0x20
000009c9: PUSH1 0x40
000009cb: MLOAD
000009cc: DUP1
000009cd: DUP4
000009ce: SUB
000009cf: DUP2
000009d0: PUSH1 0x00
000009d2: DUP8
000009d3: PUSH2 0x61da
000009d6: GAS
000009d7: SUB
000009d8: CALL
000009d9: ISZERO
000009da: PUSH2 0x0002
000009dd: JUMPI
000009de: POP
000009df: POP
000009e0: PUSH1 0x40
000009e2: MLOAD
000009e3: MLOAD
000009e4: ISZERO
000009e5: ISZERO
000009e6: SWAP1
000009e7: POP
000009e8: PUSH2 0x09f0
000009eb: JUMPI
000009ec: PUSH2 0x0002
000009ef: JUMP
000009f0: JUMPDEST
000009f1: PUSH1 0x01
000009f3: PUSH1 0xa0
000009f5: PUSH1 0x02
000009f7: EXP
000009f8: SUB
000009f9: DUP3
000009fa: DUP2
000009fb: AND
000009fc: PUSH1 0x00
000009fe: SWAP1
000009ff: DUP2
00000a00: MSTORE
00000a01: PUSH1 0x20
00000a03: DUP2
00000a04: DUP2
00000a05: MSTORE
00000a06: PUSH1 0x40
00000a08: DUP1
00000a09: DUP4
00000a0a: KECCAK256
00000a0b: CALLER
00000a0c: SWAP1
00000a0d: SWAP5
00000a0e: AND
00000a0f: DUP4
00000a10: MSTORE
00000a11: SWAP3
00000a12: SWAP1
00000a13: MSTORE
00000a14: KECCAK256
00000a15: SLOAD
00000a16: PUSH2 0x0a1f
00000a19: SWAP1
00000a1a: DUP3
00000a1b: PUSH2 0x026e
00000a1e: JUMP
00000a1f: JUMPDEST
00000a20: PUSH1 0x01
00000a22: PUSH1 0xa0
00000a24: PUSH1 0x02
00000a26: EXP
00000a27: SUB
00000a28: DUP4
00000a29: DUP2
00000a2a: AND
00000a2b: PUSH1 0x00
00000a2d: DUP2
00000a2e: DUP2
00000a2f: MSTORE
00000a30: PUSH1 0x20
00000a32: DUP2
00000a33: DUP2
00000a34: MSTORE
00000a35: PUSH1 0x40
00000a37: DUP1
00000a38: DUP4
00000a39: KECCAK256
00000a3a: CALLER
00000a3b: SWAP1
00000a3c: SWAP6
00000a3d: AND
00000a3e: DUP1
00000a3f: DUP5
00000a40: MSTORE
00000a41: SWAP5
00000a42: DUP3
00000a43: MSTORE
00000a44: SWAP2
00000a45: DUP3
00000a46: SWAP1
00000a47: KECCAK256
00000a48: DUP6
00000a49: SWAP1
00000a4a: SSTORE
00000a4b: DUP2
00000a4c: MLOAD
00000a4d: SWAP3
00000a4e: DUP4
00000a4f: MSTORE
00000a50: DUP3
00000a51: ADD
00000a52: SWAP3
00000a53: SWAP1
00000a54: SWAP3
00000a55: MSTORE
00000a56: DUP1
00000a57: DUP3
00000a58: ADD
00000a59: DUP5
00000a5a: SWAP1
00000a5b: MSTORE
00000a5c: PUSH1 0x60
00000a5e: DUP2
00000a5f: ADD
00000a60: SWAP3
00000a61: SWAP1
00000a62: SWAP3
00000a63: MSTORE
00000a64: MLOAD
00000a65: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00000a86: SWAP2
00000a87: DUP2
00000a88: SWAP1
00000a89: SUB
00000a8a: PUSH1 0x80
00000a8c: ADD
00000a8d: SWAP1
00000a8e: LOG1
00000a8f: POP
00000a90: POP
00000a91: JUMP
00000a92: JUMPDEST
00000a93: POP
00000a94: PUSH1 0x01
00000a96: JUMPDEST
00000a97: SWAP13
00000a98: SWAP12
00000a99: POP
00000a9a: POP
00000a9b: POP
00000a9c: POP
00000a9d: POP
00000a9e: POP
00000a9f: POP
00000aa0: POP
00000aa1: POP
00000aa2: POP
00000aa3: POP
00000aa4: POP
00000aa5: JUMP
00000aa6: JUMPDEST
00000aa7: LT
00000aa8: ISZERO
00000aa9: JUMPDEST
00000aaa: ISZERO
00000aab: ISZERO
00000aac: PUSH2 0x0a92
00000aaf: JUMPI
00000ab0: POP
00000ab1: PUSH1 0x00
00000ab3: PUSH2 0x0a96
00000ab6: JUMP
00000ab7: JUMPDEST
00000ab8: PUSH1 0x02
00000aba: DUP12
00000abb: DUP12
00000abc: DUP12
00000abd: DUP12
00000abe: DUP12
00000abf: DUP12
00000ac0: PUSH1 0x40
00000ac2: MLOAD
00000ac3: DUP1
00000ac4: DUP8
00000ac5: PUSH1 0x01
00000ac7: PUSH1 0xa0
00000ac9: PUSH1 0x02
00000acb: EXP
00000acc: SUB
00000acd: AND
00000ace: PUSH1 0x60
00000ad0: PUSH1 0x02
00000ad2: EXP
00000ad3: MUL
00000ad4: DUP2
00000ad5: MSTORE
00000ad6: PUSH1 0x14
00000ad8: ADD
00000ad9: DUP7
00000ada: DUP2
00000adb: MSTORE
00000adc: PUSH1 0x20
00000ade: ADD
00000adf: DUP6
00000ae0: PUSH1 0x01
00000ae2: PUSH1 0xa0
00000ae4: PUSH1 0x02
00000ae6: EXP
00000ae7: SUB
00000ae8: AND
00000ae9: PUSH1 0x60
00000aeb: PUSH1 0x02
00000aed: EXP
00000aee: MUL
00000aef: DUP2
00000af0: MSTORE
00000af1: PUSH1 0x14
00000af3: ADD
00000af4: DUP5
00000af5: DUP2
00000af6: MSTORE
00000af7: PUSH1 0x20
00000af9: ADD
00000afa: DUP4
00000afb: DUP2
00000afc: MSTORE
00000afd: PUSH1 0x20
00000aff: ADD
00000b00: DUP3
00000b01: DUP2
00000b02: MSTORE
00000b03: PUSH1 0x20
00000b05: ADD
00000b06: SWAP7
00000b07: POP
00000b08: POP
00000b09: POP
00000b0a: POP
00000b0b: POP
00000b0c: POP
00000b0d: POP
00000b0e: PUSH1 0x20
00000b10: PUSH1 0x40
00000b12: MLOAD
00000b13: DUP1
00000b14: DUP4
00000b15: SUB
00000b16: DUP2
00000b17: PUSH1 0x00
00000b19: DUP7
00000b1a: PUSH2 0x61da
00000b1d: GAS
00000b1e: SUB
00000b1f: CALL
00000b20: ISZERO
00000b21: PUSH2 0x0002
00000b24: JUMPI
00000b25: POP
00000b26: POP
00000b27: PUSH1 0x40
00000b29: MLOAD
00000b2a: MLOAD
00000b2b: SWAP1
00000b2c: POP
00000b2d: PUSH1 0x01
00000b2f: PUSH1 0xa0
00000b31: PUSH1 0x02
00000b33: EXP
00000b34: SUB
00000b35: DUP6
00000b36: DUP2
00000b37: AND
00000b38: CALLER
00000b39: SWAP1
00000b3a: SWAP2
00000b3b: AND
00000b3c: EQ
00000b3d: PUSH2 0x0b45
00000b40: JUMPI
00000b41: PUSH2 0x0002
00000b44: JUMP
00000b45: JUMPDEST
00000b46: PUSH1 0x00
00000b48: DUP2
00000b49: DUP2
00000b4a: MSTORE
00000b4b: PUSH1 0x01
00000b4d: PUSH1 0x20
00000b4f: SWAP1
00000b50: DUP2
00000b51: MSTORE
00000b52: PUSH1 0x40
00000b54: SWAP2
00000b55: DUP3
00000b56: SWAP1
00000b57: KECCAK256
00000b58: DUP13
00000b59: SWAP1
00000b5a: SSTORE
00000b5b: DUP2
00000b5c: MLOAD
00000b5d: PUSH1 0x01
00000b5f: PUSH1 0xa0
00000b61: PUSH1 0x02
00000b63: EXP
00000b64: SUB
00000b65: DUP15
00000b66: DUP2
00000b67: AND
00000b68: DUP3
00000b69: MSTORE
00000b6a: SWAP2
00000b6b: DUP2
00000b6c: ADD
00000b6d: DUP14
00000b6e: SWAP1
00000b6f: MSTORE
00000b70: DUP12
00000b71: DUP3
00000b72: AND
00000b73: DUP2
00000b74: DUP5
00000b75: ADD
00000b76: MSTORE
00000b77: PUSH1 0x60
00000b79: DUP2
00000b7a: ADD
00000b7b: DUP12
00000b7c: SWAP1
00000b7d: MSTORE
00000b7e: PUSH1 0x80
00000b80: DUP2
00000b81: ADD
00000b82: DUP11
00000b83: SWAP1
00000b84: MSTORE
00000b85: PUSH1 0xa0
00000b87: DUP2
00000b88: ADD
00000b89: DUP10
00000b8a: SWAP1
00000b8b: MSTORE
00000b8c: CALLER
00000b8d: SWAP1
00000b8e: SWAP2
00000b8f: AND
00000b90: PUSH1 0xc0
00000b92: DUP3
00000b93: ADD
00000b94: MSTORE
00000b95: PUSH1 0xff
00000b97: DUP7
00000b98: AND
00000b99: PUSH1 0xe0
00000b9b: DUP3
00000b9c: ADD
00000b9d: MSTORE
00000b9e: PUSH2 0x0100
00000ba1: DUP2
00000ba2: ADD
00000ba3: DUP6
00000ba4: SWAP1
00000ba5: MSTORE
00000ba6: PUSH2 0x0120
00000ba9: DUP2
00000baa: ADD
00000bab: DUP5
00000bac: SWAP1
00000bad: MSTORE
00000bae: SWAP1
00000baf: MLOAD
00000bb0: PUSH32 0x1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0
00000bd1: SWAP2
00000bd2: DUP2
00000bd3: SWAP1
00000bd4: SUB
00000bd5: PUSH2 0x0140
00000bd8: ADD
00000bd9: SWAP1
00000bda: LOG1
00000bdb: POP
00000bdc: POP
00000bdd: POP
00000bde: POP
00000bdf: POP
00000be0: POP
00000be1: POP
00000be2: POP
00000be3: POP
00000be4: POP
00000be5: POP
00000be6: JUMP
00000be7: JUMPDEST
00000be8: PUSH1 0x40
00000bea: DUP1
00000beb: MLOAD
00000bec: PUSH1 0x01
00000bee: PUSH1 0xa0
00000bf0: PUSH1 0x02
00000bf2: EXP
00000bf3: SUB
00000bf4: DUP12
00000bf5: DUP2
00000bf6: AND
00000bf7: DUP3
00000bf8: MSTORE
00000bf9: PUSH1 0x20
00000bfb: DUP3
00000bfc: ADD
00000bfd: DUP12
00000bfe: SWAP1
00000bff: MSTORE
00000c00: DUP10
00000c01: DUP2
00000c02: AND
00000c03: DUP3
00000c04: DUP5
00000c05: ADD
00000c06: MSTORE
00000c07: PUSH1 0x60
00000c09: DUP3
00000c0a: ADD
00000c0b: DUP10
00000c0c: SWAP1
00000c0d: MSTORE
00000c0e: PUSH1 0x80
00000c10: DUP3
00000c11: ADD
00000c12: DUP9
00000c13: SWAP1
00000c14: MSTORE
00000c15: PUSH1 0xa0
00000c17: DUP3
00000c18: ADD
00000c19: DUP8
00000c1a: SWAP1
00000c1b: MSTORE
00000c1c: CALLER
00000c1d: AND
00000c1e: PUSH1 0xc0
00000c20: DUP3
00000c21: ADD
00000c22: MSTORE
00000c23: PUSH1 0xff
00000c25: DUP6
00000c26: AND
00000c27: PUSH1 0xe0
00000c29: DUP3
00000c2a: ADD
00000c2b: MSTORE
00000c2c: PUSH2 0x0100
00000c2f: DUP2
00000c30: ADD
00000c31: DUP5
00000c32: SWAP1
00000c33: MSTORE
00000c34: PUSH2 0x0120
00000c37: DUP2
00000c38: ADD
00000c39: DUP4
00000c3a: SWAP1
00000c3b: MSTORE
00000c3c: SWAP1
00000c3d: MLOAD
00000c3e: PUSH32 0x91daf02b6d1454acd74c097a67e389a9d9371da3ff51366947022dc36748ce4d
00000c5f: SWAP2
00000c60: DUP2
00000c61: SWAP1
00000c62: SUB
00000c63: PUSH2 0x0140
00000c66: ADD
00000c67: SWAP1
00000c68: LOG1
00000c69: POP
00000c6a: POP
00000c6b: POP
00000c6c: POP
00000c6d: POP
00000c6e: POP
00000c6f: POP
00000c70: POP
00000c71: POP
00000c72: JUMP
00000c73: JUMPDEST
00000c74: PUSH1 0x01
00000c76: PUSH1 0xa0
00000c78: PUSH1 0x02
00000c7a: EXP
00000c7b: SUB
00000c7c: DUP3
00000c7d: DUP2
00000c7e: AND
00000c7f: PUSH1 0x00
00000c81: SWAP1
00000c82: DUP2
00000c83: MSTORE
00000c84: PUSH1 0x20
00000c86: DUP2
00000c87: DUP2
00000c88: MSTORE
00000c89: PUSH1 0x40
00000c8b: DUP1
00000c8c: DUP4
00000c8d: KECCAK256
00000c8e: CALLER
00000c8f: SWAP1
00000c90: SWAP5
00000c91: AND
00000c92: DUP4
00000c93: MSTORE
00000c94: SWAP3
00000c95: SWAP1
00000c96: MSTORE
00000c97: KECCAK256
00000c98: SLOAD
00000c99: DUP2
00000c9a: SWAP1
00000c9b: LT
00000c9c: ISZERO
00000c9d: PUSH2 0x0ca5
00000ca0: JUMPI
00000ca1: PUSH2 0x0002
00000ca4: JUMP
00000ca5: JUMPDEST
00000ca6: PUSH1 0x01
00000ca8: PUSH1 0xa0
00000caa: PUSH1 0x02
00000cac: EXP
00000cad: SUB
00000cae: DUP3
00000caf: DUP2
00000cb0: AND
00000cb1: PUSH1 0x00
00000cb3: SWAP1
00000cb4: DUP2
00000cb5: MSTORE
00000cb6: PUSH1 0x20
00000cb8: DUP2
00000cb9: DUP2
00000cba: MSTORE
00000cbb: PUSH1 0x40
00000cbd: DUP1
00000cbe: DUP4
00000cbf: KECCAK256
00000cc0: CALLER
00000cc1: SWAP1
00000cc2: SWAP5
00000cc3: AND
00000cc4: DUP4
00000cc5: MSTORE
00000cc6: SWAP3
00000cc7: SWAP1
00000cc8: MSTORE
00000cc9: KECCAK256
00000cca: SLOAD
00000ccb: PUSH2 0x0cd4
00000cce: SWAP1
00000ccf: DUP3
00000cd0: PUSH2 0x061d
00000cd3: JUMP
00000cd4: JUMPDEST
00000cd5: PUSH1 0x01
00000cd7: PUSH1 0xa0
00000cd9: PUSH1 0x02
00000cdb: EXP
00000cdc: SUB
00000cdd: DUP4
00000cde: DUP2
00000cdf: AND
00000ce0: PUSH1 0x00
00000ce2: DUP2
00000ce3: DUP2
00000ce4: MSTORE
00000ce5: PUSH1 0x20
00000ce7: DUP2
00000ce8: DUP2
00000ce9: MSTORE
00000cea: PUSH1 0x40
00000cec: DUP1
00000ced: DUP4
00000cee: KECCAK256
00000cef: CALLER
00000cf0: SWAP1
00000cf1: SWAP6
00000cf2: AND
00000cf3: DUP1
00000cf4: DUP5
00000cf5: MSTORE
00000cf6: SWAP5
00000cf7: DUP3
00000cf8: MSTORE
00000cf9: DUP1
00000cfa: DUP4
00000cfb: KECCAK256
00000cfc: SWAP6
00000cfd: SWAP1
00000cfe: SWAP6
00000cff: SSTORE
00000d00: DUP5
00000d01: MLOAD
00000d02: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000d23: DUP2
00000d24: MSTORE
00000d25: PUSH1 0x04
00000d27: DUP2
00000d28: ADD
00000d29: SWAP5
00000d2a: SWAP1
00000d2b: SWAP5
00000d2c: MSTORE
00000d2d: PUSH1 0x24
00000d2f: DUP5
00000d30: ADD
00000d31: DUP7
00000d32: SWAP1
00000d33: MSTORE
00000d34: SWAP4
00000d35: MLOAD
00000d36: SWAP2
00000d37: SWAP4
00000d38: PUSH4 0xa9059cbb
00000d3d: SWAP4
00000d3e: PUSH1 0x44
00000d40: DUP2
00000d41: DUP2
00000d42: ADD
00000d43: SWAP5
00000d44: SWAP3
00000d45: SWAP4
00000d46: SWAP2
00000d47: DUP4
00000d48: SWAP1
00000d49: SUB
00000d4a: ADD
00000d4b: SWAP1
00000d4c: DUP3
00000d4d: SWAP1
00000d4e: DUP8
00000d4f: PUSH2 0x61da
00000d52: GAS
00000d53: SUB
00000d54: CALL
00000d55: ISZERO
00000d56: PUSH2 0x0002
00000d59: JUMPI
00000d5a: POP
00000d5b: POP
00000d5c: PUSH1 0x40
00000d5e: MLOAD
00000d5f: MLOAD
00000d60: ISZERO
00000d61: ISZERO
00000d62: SWAP1
00000d63: POP
00000d64: PUSH2 0x0d6c
00000d67: JUMPI
00000d68: PUSH2 0x0002
00000d6b: JUMP
00000d6c: JUMPDEST
00000d6d: PUSH1 0x01
00000d6f: PUSH1 0xa0
00000d71: PUSH1 0x02
00000d73: EXP
00000d74: SUB
00000d75: DUP3
00000d76: DUP2
00000d77: AND
00000d78: PUSH1 0x00
00000d7a: DUP2
00000d7b: DUP2
00000d7c: MSTORE
00000d7d: PUSH1 0x20
00000d7f: DUP2
00000d80: DUP2
00000d81: MSTORE
00000d82: PUSH1 0x40
00000d84: DUP1
00000d85: DUP4
00000d86: KECCAK256
00000d87: CALLER
00000d88: SWAP1
00000d89: SWAP6
00000d8a: AND
00000d8b: DUP1
00000d8c: DUP5
00000d8d: MSTORE
00000d8e: SWAP5
00000d8f: DUP3
00000d90: MSTORE
00000d91: SWAP2
00000d92: DUP3
00000d93: SWAP1
00000d94: KECCAK256
00000d95: SLOAD
00000d96: DUP3
00000d97: MLOAD
00000d98: SWAP4
00000d99: DUP5
00000d9a: MSTORE
00000d9b: SWAP1
00000d9c: DUP4
00000d9d: ADD
00000d9e: SWAP4
00000d9f: SWAP1
00000da0: SWAP4
00000da1: MSTORE
00000da2: DUP2
00000da3: DUP2
00000da4: ADD
00000da5: DUP5
00000da6: SWAP1
00000da7: MSTORE
00000da8: PUSH1 0x60
00000daa: DUP3
00000dab: ADD
00000dac: SWAP3
00000dad: SWAP1
00000dae: SWAP3
00000daf: MSTORE
00000db0: SWAP1
00000db1: MLOAD
00000db2: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567
00000dd3: SWAP2
00000dd4: DUP2
00000dd5: SWAP1
00000dd6: SUB
00000dd7: PUSH1 0x80
00000dd9: ADD
00000dda: SWAP1
00000ddb: LOG1
00000ddc: POP
00000ddd: POP
00000dde: JUMP
00000ddf: JUMPDEST
00000de0: CALLER
00000de1: PUSH1 0x01
00000de3: PUSH1 0xa0
00000de5: PUSH1 0x02
00000de7: EXP
00000de8: SUB
00000de9: AND
00000dea: PUSH1 0x00
00000dec: DUP2
00000ded: DUP2
00000dee: MSTORE
00000def: PUSH1 0x00
00000df1: DUP1
00000df2: MLOAD
00000df3: PUSH1 0x20
00000df5: PUSH2 0x0ed5
00000df8: DUP4
00000df9: CODECOPY
00000dfa: DUP2
00000dfb: MLOAD
00000dfc: SWAP2
00000dfd: MSTORE
00000dfe: PUSH1 0x20
00000e00: SWAP1
00000e01: DUP2
00000e02: MSTORE
00000e03: PUSH1 0x40
00000e05: DUP1
00000e06: DUP4
00000e07: KECCAK256
00000e08: DUP6
00000e09: SWAP1
00000e0a: SSTORE
00000e0b: DUP1
00000e0c: MLOAD
00000e0d: SWAP3
00000e0e: DUP4
00000e0f: MSTORE
00000e10: SWAP1
00000e11: DUP3
00000e12: ADD
00000e13: SWAP3
00000e14: SWAP1
00000e15: SWAP3
00000e16: MSTORE
00000e17: CALLVALUE
00000e18: DUP2
00000e19: DUP4
00000e1a: ADD
00000e1b: MSTORE
00000e1c: PUSH1 0x60
00000e1e: DUP2
00000e1f: ADD
00000e20: SWAP3
00000e21: SWAP1
00000e22: SWAP3
00000e23: MSTORE
00000e24: MLOAD
00000e25: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00000e46: SWAP2
00000e47: DUP2
00000e48: SWAP1
00000e49: SUB
00000e4a: PUSH1 0x80
00000e4c: ADD
00000e4d: SWAP1
00000e4e: LOG1
00000e4f: JUMP
00000e50: JUMPDEST
00000e51: DUP1
00000e52: SWAP4
00000e53: POP
00000e54: JUMPDEST
00000e55: POP
00000e56: POP
00000e57: POP
00000e58: SWAP11
00000e59: SWAP10
00000e5a: POP
00000e5b: POP
00000e5c: POP
00000e5d: POP
00000e5e: POP
00000e5f: POP
00000e60: POP
00000e61: POP
00000e62: POP
00000e63: POP
00000e64: JUMP
00000e65: JUMPDEST
00000e66: PUSH1 0x00
00000e68: DUP4
00000e69: DUP2
00000e6a: MSTORE
00000e6b: PUSH1 0x01
00000e6d: PUSH1 0x20
00000e6f: MSTORE
00000e70: PUSH1 0x40
00000e72: SWAP1
00000e73: KECCAK256
00000e74: SLOAD
00000e75: PUSH2 0x0e7f
00000e78: SWAP1
00000e79: DUP15
00000e7a: SWAP1
00000e7b: PUSH2 0x061d
00000e7e: JUMP
00000e7f: JUMPDEST
00000e80: PUSH1 0x01
00000e82: PUSH1 0xa0
00000e84: PUSH1 0x02
00000e86: EXP
00000e87: SUB
00000e88: DUP14
00000e89: DUP2
00000e8a: AND
00000e8b: PUSH1 0x00
00000e8d: SWAP1
00000e8e: DUP2
00000e8f: MSTORE
00000e90: PUSH1 0x20
00000e92: DUP2
00000e93: DUP2
00000e94: MSTORE
00000e95: PUSH1 0x40
00000e97: DUP1
00000e98: DUP4
00000e99: KECCAK256
00000e9a: SWAP4
00000e9b: DUP14
00000e9c: AND
00000e9d: DUP4
00000e9e: MSTORE
00000e9f: SWAP3
00000ea0: SWAP1
00000ea1: MSTORE
00000ea2: KECCAK256
00000ea3: SLOAD
00000ea4: SWAP1
00000ea5: SWAP3
00000ea6: POP
00000ea7: DUP12
00000ea8: SWAP1
00000ea9: PUSH2 0x0eb2
00000eac: SWAP1
00000ead: DUP16
00000eae: PUSH2 0x05d7
00000eb1: JUMP
00000eb2: JUMPDEST
00000eb3: DIV
00000eb4: SWAP1
00000eb5: POP
00000eb6: DUP1
00000eb7: DUP3
00000eb8: LT
00000eb9: ISZERO
00000eba: PUSH2 0x0e50
00000ebd: JUMPI
00000ebe: DUP2
00000ebf: SWAP4
00000ec0: POP
00000ec1: PUSH2 0x0e54
00000ec4: JUMP
00000ec5: JUMPDEST
00000ec6: SWAP4
00000ec7: SWAP3
00000ec8: POP
00000ec9: POP
00000eca: POP
00000ecb: JUMP
00000ecc: JUMPDEST
00000ecd: POP
00000ece: DUP1
00000ecf: DUP3
00000ed0: SUB
00000ed1: PUSH2 0x02b9
00000ed4: JUMP
00000ed5: UNKNOWN(0xAD)
00000ed6: ORIGIN
00000ed7: UNKNOWN(0x28)
00000ed8: UNKNOWN(0xB6)
00000ed9: PUSH23 0xf7d3cd4284a5443f17f1962b36e491b30a40b2405849e5
00000ef1: SWAP8
00000ef2: UNKNOWN(0xBA)
00000ef3: PUSH0
00000ef4: UNKNOWN(0xB5)
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": "0x0a19b14a",
            "selector": "0x0a19b14a",
            "calldata_variants": [
                "0x0a19b14a",
                "0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x338b5dea",
            "selector": "0x338b5dea",
            "calldata_variants": [
                "0x338b5dea",
                "0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x57786394",
            "selector": "0x57786394",
            "calldata_variants": [
                "0x57786394",
                "0x577863940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x65e17c9d",
            "selector": "0x65e17c9d",
            "calldata_variants": [
                "0x65e17c9d",
                "0x65e17c9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6c86888b",
            "selector": "0x6c86888b",
            "calldata_variants": [
                "0x6c86888b",
                "0x6c86888b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x74e60a48",
            "selector": "0x74e60a48",
            "calldata_variants": [
                "0x74e60a48",
                "0x74e60a480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93f0bb51",
            "selector": "0x93f0bb51",
            "calldata_variants": [
                "0x93f0bb51",
                "0x93f0bb510000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 3798,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 yes yes
view
trace_id: 0xaf765ab6d039af9db13bee37c7d9daff10f2e02d37ec15619e260d6f51c86f5a
call_targets: 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000002, 0x2136bbba2edca21afdddee838fff19ea70d10f03
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xaf765ab6d039af9db13bee37c7d9daff10f2e02d37ec15619e260d6f51c86f5a",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000001",
        "0x0000000000000000000000000000000000000002",
        "0x2136bbba2edca21afdddee838fff19ea70d10f03"
    ],
    "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": "0x0a19b14a",
            "selector": "0x0a19b14a",
            "calldata_variants": [
                "0x0a19b14a",
                "0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x338b5dea",
            "selector": "0x338b5dea",
            "calldata_variants": [
                "0x338b5dea",
                "0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x57786394",
            "selector": "0x57786394",
            "calldata_variants": [
                "0x57786394",
                "0x577863940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x65e17c9d",
            "selector": "0x65e17c9d",
            "calldata_variants": [
                "0x65e17c9d",
                "0x65e17c9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6c86888b",
            "selector": "0x6c86888b",
            "calldata_variants": [
                "0x6c86888b",
                "0x6c86888b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x74e60a48",
            "selector": "0x74e60a48",
            "calldata_variants": [
                "0x74e60a48",
                "0x74e60a480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93f0bb51",
            "selector": "0x93f0bb51",
            "calldata_variants": [
                "0x93f0bb51",
                "0x93f0bb510000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 851,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 929,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1150,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 3798,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 8
}
medium other detector ETH value transfer possible 40 yes yes
view
trace_id: 0xaf765ab6d039af9db13bee37c7d9daff10f2e02d37ec15619e260d6f51c86f5a
call_targets: 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000002, 0x2136bbba2edca21afdddee838fff19ea70d10f03
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xaf765ab6d039af9db13bee37c7d9daff10f2e02d37ec15619e260d6f51c86f5a",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000001",
        "0x0000000000000000000000000000000000000002",
        "0x2136bbba2edca21afdddee838fff19ea70d10f03"
    ],
    "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": "0x0a19b14a",
            "selector": "0x0a19b14a",
            "calldata_variants": [
                "0x0a19b14a",
                "0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x338b5dea",
            "selector": "0x338b5dea",
            "calldata_variants": [
                "0x338b5dea",
                "0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x57786394",
            "selector": "0x57786394",
            "calldata_variants": [
                "0x57786394",
                "0x577863940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x65e17c9d",
            "selector": "0x65e17c9d",
            "calldata_variants": [
                "0x65e17c9d",
                "0x65e17c9d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6c86888b",
            "selector": "0x6c86888b",
            "calldata_variants": [
                "0x6c86888b",
                "0x6c86888b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x74e60a48",
            "selector": "0x74e60a48",
            "calldata_variants": [
                "0x74e60a48",
                "0x74e60a480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93f0bb51",
            "selector": "0x93f0bb51",
            "calldata_variants": [
                "0x93f0bb51",
                "0x93f0bb510000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 851,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 929,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1150,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 3798,
            "type": "tx_origin_used"
        }
    ]
}