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

Analysis Run

019b3836-5d21-7226-bd0f-cd67b0cdaf79

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
9285 artifact.fetch complete 1 / 3 3 months ago
9286 tool.cast_disasm complete 1 / 3 3 months ago
83156 analysis.bundle complete 1 / 3 1 week ago
83157 capability.graph complete 1 / 3 1 week ago
83158 detector.run complete 1 / 3 1 week ago
83159 validation.fork complete 1 / 3 1 week ago
113677 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-xtzqwtbt
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c9b-4359-7580-862c-fd4b23198ade
--------
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:46:15.141127+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 9286,
        "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
1
Total opcodes
2743
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0124
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x06fdde03
00000034: EQ
00000035: PUSH2 0x012d
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x095ea7b3
0000003f: EQ
00000040: PUSH2 0x01a8
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x171f34a6
0000004a: EQ
0000004b: PUSH2 0x01df
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x1720ea55
00000055: EQ
00000056: PUSH2 0x020b
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x18160ddd
00000060: EQ
00000061: PUSH2 0x0239
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x23b872dd
0000006b: EQ
0000006c: PUSH2 0x025c
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x313ce567
00000076: EQ
00000077: PUSH2 0x029c
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x354dace2
00000081: EQ
00000082: PUSH2 0x02c2
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x5a3b7e42
0000008c: EQ
0000008d: PUSH2 0x02ee
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x70a08231
00000097: EQ
00000098: PUSH2 0x0369
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x72689e4d
000000a2: EQ
000000a3: PUSH2 0x0395
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0x836a1e23
000000ad: EQ
000000ae: PUSH2 0x03ce
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0x8da5cb5b
000000b8: EQ
000000b9: PUSH2 0x03dd
000000bc: JUMPI
000000bd: DUP1
000000be: PUSH4 0x95d89b41
000000c3: EQ
000000c4: PUSH2 0x0416
000000c7: JUMPI
000000c8: DUP1
000000c9: PUSH4 0xa9059cbb
000000ce: EQ
000000cf: PUSH2 0x0491
000000d2: JUMPI
000000d3: DUP1
000000d4: PUSH4 0xb0987c03
000000d9: EQ
000000da: PUSH2 0x04b2
000000dd: JUMPI
000000de: DUP1
000000df: PUSH4 0xb6db8973
000000e4: EQ
000000e5: PUSH2 0x04eb
000000e8: JUMPI
000000e9: DUP1
000000ea: PUSH4 0xc03945f7
000000ef: EQ
000000f0: PUSH2 0x050e
000000f3: JUMPI
000000f4: DUP1
000000f5: PUSH4 0xcae9ca51
000000fa: EQ
000000fb: PUSH2 0x051d
000000fe: JUMPI
000000ff: DUP1
00000100: PUSH4 0xdd62ed3e
00000105: EQ
00000106: PUSH2 0x059b
00000109: JUMPI
0000010a: DUP1
0000010b: PUSH4 0xecf09417
00000110: EQ
00000111: PUSH2 0x05d0
00000114: JUMPI
00000115: DUP1
00000116: PUSH4 0xf8b2cb4f
0000011b: EQ
0000011c: PUSH2 0x05f3
0000011f: JUMPI
00000120: PUSH2 0x0124
00000123: JUMP
00000124: JUMPDEST
00000125: PUSH2 0x012b
00000128: JUMPDEST
00000129: JUMPDEST
0000012a: JUMP
0000012b: JUMPDEST
0000012c: STOP
0000012d: JUMPDEST
0000012e: PUSH2 0x013a
00000131: PUSH1 0x04
00000133: DUP1
00000134: POP
00000135: POP
00000136: PUSH2 0x061f
00000139: JUMP
0000013a: JUMPDEST
0000013b: PUSH1 0x40
0000013d: MLOAD
0000013e: DUP1
0000013f: DUP1
00000140: PUSH1 0x20
00000142: ADD
00000143: DUP3
00000144: DUP2
00000145: SUB
00000146: DUP3
00000147: MSTORE
00000148: DUP4
00000149: DUP2
0000014a: DUP2
0000014b: MLOAD
0000014c: DUP2
0000014d: MSTORE
0000014e: PUSH1 0x20
00000150: ADD
00000151: SWAP2
00000152: POP
00000153: DUP1
00000154: MLOAD
00000155: SWAP1
00000156: PUSH1 0x20
00000158: ADD
00000159: SWAP1
0000015a: DUP1
0000015b: DUP4
0000015c: DUP4
0000015d: DUP3
0000015e: SWAP1
0000015f: PUSH1 0x00
00000161: PUSH1 0x04
00000163: PUSH1 0x20
00000165: DUP5
00000166: PUSH1 0x1f
00000168: ADD
00000169: DIV
0000016a: PUSH1 0x03
0000016c: MUL
0000016d: PUSH1 0x0f
0000016f: ADD
00000170: CALL
00000171: POP
00000172: SWAP1
00000173: POP
00000174: SWAP1
00000175: DUP2
00000176: ADD
00000177: SWAP1
00000178: PUSH1 0x1f
0000017a: AND
0000017b: DUP1
0000017c: ISZERO
0000017d: PUSH2 0x019a
00000180: JUMPI
00000181: DUP1
00000182: DUP3
00000183: SUB
00000184: DUP1
00000185: MLOAD
00000186: PUSH1 0x01
00000188: DUP4
00000189: PUSH1 0x20
0000018b: SUB
0000018c: PUSH2 0x0100
0000018f: EXP
00000190: SUB
00000191: NOT
00000192: AND
00000193: DUP2
00000194: MSTORE
00000195: PUSH1 0x20
00000197: ADD
00000198: SWAP2
00000199: POP
0000019a: JUMPDEST
0000019b: POP
0000019c: SWAP3
0000019d: POP
0000019e: POP
0000019f: POP
000001a0: PUSH1 0x40
000001a2: MLOAD
000001a3: DUP1
000001a4: SWAP2
000001a5: SUB
000001a6: SWAP1
000001a7: RETURN
000001a8: JUMPDEST
000001a9: PUSH2 0x01c7
000001ac: PUSH1 0x04
000001ae: DUP1
000001af: DUP1
000001b0: CALLDATALOAD
000001b1: SWAP1
000001b2: PUSH1 0x20
000001b4: ADD
000001b5: SWAP1
000001b6: SWAP2
000001b7: SWAP1
000001b8: DUP1
000001b9: CALLDATALOAD
000001ba: SWAP1
000001bb: PUSH1 0x20
000001bd: ADD
000001be: SWAP1
000001bf: SWAP2
000001c0: SWAP1
000001c1: POP
000001c2: POP
000001c3: PUSH2 0x06c0
000001c6: JUMP
000001c7: JUMPDEST
000001c8: PUSH1 0x40
000001ca: MLOAD
000001cb: DUP1
000001cc: DUP3
000001cd: ISZERO
000001ce: ISZERO
000001cf: DUP2
000001d0: MSTORE
000001d1: PUSH1 0x20
000001d3: ADD
000001d4: SWAP2
000001d5: POP
000001d6: POP
000001d7: PUSH1 0x40
000001d9: MLOAD
000001da: DUP1
000001db: SWAP2
000001dc: SUB
000001dd: SWAP1
000001de: RETURN
000001df: JUMPDEST
000001e0: PUSH2 0x01f5
000001e3: PUSH1 0x04
000001e5: DUP1
000001e6: DUP1
000001e7: CALLDATALOAD
000001e8: SWAP1
000001e9: PUSH1 0x20
000001eb: ADD
000001ec: SWAP1
000001ed: SWAP2
000001ee: SWAP1
000001ef: POP
000001f0: POP
000001f1: PUSH2 0x072f
000001f4: JUMP
000001f5: JUMPDEST
000001f6: PUSH1 0x40
000001f8: MLOAD
000001f9: DUP1
000001fa: DUP3
000001fb: DUP2
000001fc: MSTORE
000001fd: PUSH1 0x20
000001ff: ADD
00000200: SWAP2
00000201: POP
00000202: POP
00000203: PUSH1 0x40
00000205: MLOAD
00000206: DUP1
00000207: SWAP2
00000208: SUB
00000209: SWAP1
0000020a: RETURN
0000020b: JUMPDEST
0000020c: PUSH2 0x0221
0000020f: PUSH1 0x04
00000211: DUP1
00000212: DUP1
00000213: CALLDATALOAD
00000214: SWAP1
00000215: PUSH1 0x20
00000217: ADD
00000218: SWAP1
00000219: SWAP2
0000021a: SWAP1
0000021b: POP
0000021c: POP
0000021d: PUSH2 0x074a
00000220: JUMP
00000221: JUMPDEST
00000222: PUSH1 0x40
00000224: MLOAD
00000225: DUP1
00000226: DUP3
00000227: ISZERO
00000228: ISZERO
00000229: DUP2
0000022a: MSTORE
0000022b: PUSH1 0x20
0000022d: ADD
0000022e: SWAP2
0000022f: POP
00000230: POP
00000231: PUSH1 0x40
00000233: MLOAD
00000234: DUP1
00000235: SWAP2
00000236: SUB
00000237: SWAP1
00000238: RETURN
00000239: JUMPDEST
0000023a: PUSH2 0x0246
0000023d: PUSH1 0x04
0000023f: DUP1
00000240: POP
00000241: POP
00000242: PUSH2 0x0872
00000245: JUMP
00000246: JUMPDEST
00000247: PUSH1 0x40
00000249: MLOAD
0000024a: DUP1
0000024b: DUP3
0000024c: DUP2
0000024d: MSTORE
0000024e: PUSH1 0x20
00000250: ADD
00000251: SWAP2
00000252: POP
00000253: POP
00000254: PUSH1 0x40
00000256: MLOAD
00000257: DUP1
00000258: SWAP2
00000259: SUB
0000025a: SWAP1
0000025b: RETURN
0000025c: JUMPDEST
0000025d: PUSH2 0x0284
00000260: PUSH1 0x04
00000262: DUP1
00000263: DUP1
00000264: CALLDATALOAD
00000265: SWAP1
00000266: PUSH1 0x20
00000268: ADD
00000269: SWAP1
0000026a: SWAP2
0000026b: SWAP1
0000026c: DUP1
0000026d: CALLDATALOAD
0000026e: SWAP1
0000026f: PUSH1 0x20
00000271: ADD
00000272: SWAP1
00000273: SWAP2
00000274: SWAP1
00000275: DUP1
00000276: CALLDATALOAD
00000277: SWAP1
00000278: PUSH1 0x20
0000027a: ADD
0000027b: SWAP1
0000027c: SWAP2
0000027d: SWAP1
0000027e: POP
0000027f: POP
00000280: PUSH2 0x087b
00000283: JUMP
00000284: JUMPDEST
00000285: PUSH1 0x40
00000287: MLOAD
00000288: DUP1
00000289: DUP3
0000028a: ISZERO
0000028b: ISZERO
0000028c: DUP2
0000028d: MSTORE
0000028e: PUSH1 0x20
00000290: ADD
00000291: SWAP2
00000292: POP
00000293: POP
00000294: PUSH1 0x40
00000296: MLOAD
00000297: DUP1
00000298: SWAP2
00000299: SUB
0000029a: SWAP1
0000029b: RETURN
0000029c: JUMPDEST
0000029d: PUSH2 0x02a9
000002a0: PUSH1 0x04
000002a2: DUP1
000002a3: POP
000002a4: POP
000002a5: PUSH2 0x0adf
000002a8: JUMP
000002a9: JUMPDEST
000002aa: PUSH1 0x40
000002ac: MLOAD
000002ad: DUP1
000002ae: DUP3
000002af: PUSH1 0xff
000002b1: AND
000002b2: DUP2
000002b3: MSTORE
000002b4: PUSH1 0x20
000002b6: ADD
000002b7: SWAP2
000002b8: POP
000002b9: POP
000002ba: PUSH1 0x40
000002bc: MLOAD
000002bd: DUP1
000002be: SWAP2
000002bf: SUB
000002c0: SWAP1
000002c1: RETURN
000002c2: JUMPDEST
000002c3: PUSH2 0x02d8
000002c6: PUSH1 0x04
000002c8: DUP1
000002c9: DUP1
000002ca: CALLDATALOAD
000002cb: SWAP1
000002cc: PUSH1 0x20
000002ce: ADD
000002cf: SWAP1
000002d0: SWAP2
000002d1: SWAP1
000002d2: POP
000002d3: POP
000002d4: PUSH2 0x0af2
000002d7: JUMP
000002d8: JUMPDEST
000002d9: PUSH1 0x40
000002db: MLOAD
000002dc: DUP1
000002dd: DUP3
000002de: DUP2
000002df: MSTORE
000002e0: PUSH1 0x20
000002e2: ADD
000002e3: SWAP2
000002e4: POP
000002e5: POP
000002e6: PUSH1 0x40
000002e8: MLOAD
000002e9: DUP1
000002ea: SWAP2
000002eb: SUB
000002ec: SWAP1
000002ed: RETURN
000002ee: JUMPDEST
000002ef: PUSH2 0x02fb
000002f2: PUSH1 0x04
000002f4: DUP1
000002f5: POP
000002f6: POP
000002f7: PUSH2 0x0b0d
000002fa: JUMP
000002fb: JUMPDEST
000002fc: PUSH1 0x40
000002fe: MLOAD
000002ff: DUP1
00000300: DUP1
00000301: PUSH1 0x20
00000303: ADD
00000304: DUP3
00000305: DUP2
00000306: SUB
00000307: DUP3
00000308: MSTORE
00000309: DUP4
0000030a: DUP2
0000030b: DUP2
0000030c: MLOAD
0000030d: DUP2
0000030e: MSTORE
0000030f: PUSH1 0x20
00000311: ADD
00000312: SWAP2
00000313: POP
00000314: DUP1
00000315: MLOAD
00000316: SWAP1
00000317: PUSH1 0x20
00000319: ADD
0000031a: SWAP1
0000031b: DUP1
0000031c: DUP4
0000031d: DUP4
0000031e: DUP3
0000031f: SWAP1
00000320: PUSH1 0x00
00000322: PUSH1 0x04
00000324: PUSH1 0x20
00000326: DUP5
00000327: PUSH1 0x1f
00000329: ADD
0000032a: DIV
0000032b: PUSH1 0x03
0000032d: MUL
0000032e: PUSH1 0x0f
00000330: ADD
00000331: CALL
00000332: POP
00000333: SWAP1
00000334: POP
00000335: SWAP1
00000336: DUP2
00000337: ADD
00000338: SWAP1
00000339: PUSH1 0x1f
0000033b: AND
0000033c: DUP1
0000033d: ISZERO
0000033e: PUSH2 0x035b
00000341: JUMPI
00000342: DUP1
00000343: DUP3
00000344: SUB
00000345: DUP1
00000346: MLOAD
00000347: PUSH1 0x01
00000349: DUP4
0000034a: PUSH1 0x20
0000034c: SUB
0000034d: PUSH2 0x0100
00000350: EXP
00000351: SUB
00000352: NOT
00000353: AND
00000354: DUP2
00000355: MSTORE
00000356: PUSH1 0x20
00000358: ADD
00000359: SWAP2
0000035a: POP
0000035b: JUMPDEST
0000035c: POP
0000035d: SWAP3
0000035e: POP
0000035f: POP
00000360: POP
00000361: PUSH1 0x40
00000363: MLOAD
00000364: DUP1
00000365: SWAP2
00000366: SUB
00000367: SWAP1
00000368: RETURN
00000369: JUMPDEST
0000036a: PUSH2 0x037f
0000036d: PUSH1 0x04
0000036f: DUP1
00000370: DUP1
00000371: CALLDATALOAD
00000372: SWAP1
00000373: PUSH1 0x20
00000375: ADD
00000376: SWAP1
00000377: SWAP2
00000378: SWAP1
00000379: POP
0000037a: POP
0000037b: PUSH2 0x0bae
0000037e: JUMP
0000037f: JUMPDEST
00000380: PUSH1 0x40
00000382: MLOAD
00000383: DUP1
00000384: DUP3
00000385: DUP2
00000386: MSTORE
00000387: PUSH1 0x20
00000389: ADD
0000038a: SWAP2
0000038b: POP
0000038c: POP
0000038d: PUSH1 0x40
0000038f: MLOAD
00000390: DUP1
00000391: SWAP2
00000392: SUB
00000393: SWAP1
00000394: RETURN
00000395: JUMPDEST
00000396: PUSH2 0x03a2
00000399: PUSH1 0x04
0000039b: DUP1
0000039c: POP
0000039d: POP
0000039e: PUSH2 0x0bc9
000003a1: JUMP
000003a2: JUMPDEST
000003a3: PUSH1 0x40
000003a5: MLOAD
000003a6: DUP1
000003a7: DUP3
000003a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003bd: AND
000003be: DUP2
000003bf: MSTORE
000003c0: PUSH1 0x20
000003c2: ADD
000003c3: SWAP2
000003c4: POP
000003c5: POP
000003c6: PUSH1 0x40
000003c8: MLOAD
000003c9: DUP1
000003ca: SWAP2
000003cb: SUB
000003cc: SWAP1
000003cd: RETURN
000003ce: JUMPDEST
000003cf: PUSH2 0x03db
000003d2: PUSH1 0x04
000003d4: DUP1
000003d5: POP
000003d6: POP
000003d7: PUSH2 0x0bef
000003da: JUMP
000003db: JUMPDEST
000003dc: STOP
000003dd: JUMPDEST
000003de: PUSH2 0x03ea
000003e1: PUSH1 0x04
000003e3: DUP1
000003e4: POP
000003e5: POP
000003e6: PUSH2 0x0cba
000003e9: JUMP
000003ea: JUMPDEST
000003eb: PUSH1 0x40
000003ed: MLOAD
000003ee: DUP1
000003ef: DUP3
000003f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000405: AND
00000406: DUP2
00000407: MSTORE
00000408: PUSH1 0x20
0000040a: ADD
0000040b: SWAP2
0000040c: POP
0000040d: POP
0000040e: PUSH1 0x40
00000410: MLOAD
00000411: DUP1
00000412: SWAP2
00000413: SUB
00000414: SWAP1
00000415: RETURN
00000416: JUMPDEST
00000417: PUSH2 0x0423
0000041a: PUSH1 0x04
0000041c: DUP1
0000041d: POP
0000041e: POP
0000041f: PUSH2 0x0ce0
00000422: JUMP
00000423: JUMPDEST
00000424: PUSH1 0x40
00000426: MLOAD
00000427: DUP1
00000428: DUP1
00000429: PUSH1 0x20
0000042b: ADD
0000042c: DUP3
0000042d: DUP2
0000042e: SUB
0000042f: DUP3
00000430: MSTORE
00000431: DUP4
00000432: DUP2
00000433: DUP2
00000434: MLOAD
00000435: DUP2
00000436: MSTORE
00000437: PUSH1 0x20
00000439: ADD
0000043a: SWAP2
0000043b: POP
0000043c: DUP1
0000043d: MLOAD
0000043e: SWAP1
0000043f: PUSH1 0x20
00000441: ADD
00000442: SWAP1
00000443: DUP1
00000444: DUP4
00000445: DUP4
00000446: DUP3
00000447: SWAP1
00000448: PUSH1 0x00
0000044a: PUSH1 0x04
0000044c: PUSH1 0x20
0000044e: DUP5
0000044f: PUSH1 0x1f
00000451: ADD
00000452: DIV
00000453: PUSH1 0x03
00000455: MUL
00000456: PUSH1 0x0f
00000458: ADD
00000459: CALL
0000045a: POP
0000045b: SWAP1
0000045c: POP
0000045d: SWAP1
0000045e: DUP2
0000045f: ADD
00000460: SWAP1
00000461: PUSH1 0x1f
00000463: AND
00000464: DUP1
00000465: ISZERO
00000466: PUSH2 0x0483
00000469: JUMPI
0000046a: DUP1
0000046b: DUP3
0000046c: SUB
0000046d: DUP1
0000046e: MLOAD
0000046f: PUSH1 0x01
00000471: DUP4
00000472: PUSH1 0x20
00000474: SUB
00000475: PUSH2 0x0100
00000478: EXP
00000479: SUB
0000047a: NOT
0000047b: AND
0000047c: DUP2
0000047d: MSTORE
0000047e: PUSH1 0x20
00000480: ADD
00000481: SWAP2
00000482: POP
00000483: JUMPDEST
00000484: POP
00000485: SWAP3
00000486: POP
00000487: POP
00000488: POP
00000489: PUSH1 0x40
0000048b: MLOAD
0000048c: DUP1
0000048d: SWAP2
0000048e: SUB
0000048f: SWAP1
00000490: RETURN
00000491: JUMPDEST
00000492: PUSH2 0x04b0
00000495: PUSH1 0x04
00000497: DUP1
00000498: DUP1
00000499: CALLDATALOAD
0000049a: SWAP1
0000049b: PUSH1 0x20
0000049d: ADD
0000049e: SWAP1
0000049f: SWAP2
000004a0: SWAP1
000004a1: DUP1
000004a2: CALLDATALOAD
000004a3: SWAP1
000004a4: PUSH1 0x20
000004a6: ADD
000004a7: SWAP1
000004a8: SWAP2
000004a9: SWAP1
000004aa: POP
000004ab: POP
000004ac: PUSH2 0x0d81
000004af: JUMP
000004b0: JUMPDEST
000004b1: STOP
000004b2: JUMPDEST
000004b3: PUSH2 0x04bf
000004b6: PUSH1 0x04
000004b8: DUP1
000004b9: POP
000004ba: POP
000004bb: PUSH2 0x0f0c
000004be: JUMP
000004bf: JUMPDEST
000004c0: PUSH1 0x40
000004c2: MLOAD
000004c3: DUP1
000004c4: DUP3
000004c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004da: AND
000004db: DUP2
000004dc: MSTORE
000004dd: PUSH1 0x20
000004df: ADD
000004e0: SWAP2
000004e1: POP
000004e2: POP
000004e3: PUSH1 0x40
000004e5: MLOAD
000004e6: DUP1
000004e7: SWAP2
000004e8: SUB
000004e9: SWAP1
000004ea: RETURN
000004eb: JUMPDEST
000004ec: PUSH2 0x04f8
000004ef: PUSH1 0x04
000004f1: DUP1
000004f2: POP
000004f3: POP
000004f4: PUSH2 0x0f32
000004f7: JUMP
000004f8: JUMPDEST
000004f9: PUSH1 0x40
000004fb: MLOAD
000004fc: DUP1
000004fd: DUP3
000004fe: DUP2
000004ff: MSTORE
00000500: PUSH1 0x20
00000502: ADD
00000503: SWAP2
00000504: POP
00000505: POP
00000506: PUSH1 0x40
00000508: MLOAD
00000509: DUP1
0000050a: SWAP2
0000050b: SUB
0000050c: SWAP1
0000050d: RETURN
0000050e: JUMPDEST
0000050f: PUSH2 0x051b
00000512: PUSH1 0x04
00000514: DUP1
00000515: POP
00000516: POP
00000517: PUSH2 0x0f3b
0000051a: JUMP
0000051b: JUMPDEST
0000051c: STOP
0000051d: JUMPDEST
0000051e: PUSH2 0x0583
00000521: PUSH1 0x04
00000523: DUP1
00000524: DUP1
00000525: CALLDATALOAD
00000526: SWAP1
00000527: PUSH1 0x20
00000529: ADD
0000052a: SWAP1
0000052b: SWAP2
0000052c: SWAP1
0000052d: DUP1
0000052e: CALLDATALOAD
0000052f: SWAP1
00000530: PUSH1 0x20
00000532: ADD
00000533: SWAP1
00000534: SWAP2
00000535: SWAP1
00000536: DUP1
00000537: CALLDATALOAD
00000538: SWAP1
00000539: PUSH1 0x20
0000053b: ADD
0000053c: SWAP1
0000053d: DUP3
0000053e: ADD
0000053f: DUP1
00000540: CALLDATALOAD
00000541: SWAP1
00000542: PUSH1 0x20
00000544: ADD
00000545: SWAP2
00000546: SWAP2
00000547: SWAP1
00000548: DUP1
00000549: DUP1
0000054a: PUSH1 0x1f
0000054c: ADD
0000054d: PUSH1 0x20
0000054f: DUP1
00000550: SWAP2
00000551: DIV
00000552: MUL
00000553: PUSH1 0x20
00000555: ADD
00000556: PUSH1 0x40
00000558: MLOAD
00000559: SWAP1
0000055a: DUP2
0000055b: ADD
0000055c: PUSH1 0x40
0000055e: MSTORE
0000055f: DUP1
00000560: SWAP4
00000561: SWAP3
00000562: SWAP2
00000563: SWAP1
00000564: DUP2
00000565: DUP2
00000566: MSTORE
00000567: PUSH1 0x20
00000569: ADD
0000056a: DUP4
0000056b: DUP4
0000056c: DUP1
0000056d: DUP3
0000056e: DUP5
0000056f: CALLDATACOPY
00000570: DUP3
00000571: ADD
00000572: SWAP2
00000573: POP
00000574: POP
00000575: POP
00000576: POP
00000577: POP
00000578: POP
00000579: SWAP1
0000057a: SWAP1
0000057b: SWAP2
0000057c: SWAP1
0000057d: POP
0000057e: POP
0000057f: PUSH2 0x0fd5
00000582: JUMP
00000583: JUMPDEST
00000584: PUSH1 0x40
00000586: MLOAD
00000587: DUP1
00000588: DUP3
00000589: ISZERO
0000058a: ISZERO
0000058b: DUP2
0000058c: MSTORE
0000058d: PUSH1 0x20
0000058f: ADD
00000590: SWAP2
00000591: POP
00000592: POP
00000593: PUSH1 0x40
00000595: MLOAD
00000596: DUP1
00000597: SWAP2
00000598: SUB
00000599: SWAP1
0000059a: RETURN
0000059b: JUMPDEST
0000059c: PUSH2 0x05ba
0000059f: PUSH1 0x04
000005a1: DUP1
000005a2: DUP1
000005a3: CALLDATALOAD
000005a4: SWAP1
000005a5: PUSH1 0x20
000005a7: ADD
000005a8: SWAP1
000005a9: SWAP2
000005aa: SWAP1
000005ab: DUP1
000005ac: CALLDATALOAD
000005ad: SWAP1
000005ae: PUSH1 0x20
000005b0: ADD
000005b1: SWAP1
000005b2: SWAP2
000005b3: SWAP1
000005b4: POP
000005b5: POP
000005b6: PUSH2 0x1102
000005b9: JUMP
000005ba: JUMPDEST
000005bb: PUSH1 0x40
000005bd: MLOAD
000005be: DUP1
000005bf: DUP3
000005c0: DUP2
000005c1: MSTORE
000005c2: PUSH1 0x20
000005c4: ADD
000005c5: SWAP2
000005c6: POP
000005c7: POP
000005c8: PUSH1 0x40
000005ca: MLOAD
000005cb: DUP1
000005cc: SWAP2
000005cd: SUB
000005ce: SWAP1
000005cf: RETURN
000005d0: JUMPDEST
000005d1: PUSH2 0x05dd
000005d4: PUSH1 0x04
000005d6: DUP1
000005d7: POP
000005d8: POP
000005d9: PUSH2 0x112d
000005dc: JUMP
000005dd: JUMPDEST
000005de: PUSH1 0x40
000005e0: MLOAD
000005e1: DUP1
000005e2: DUP3
000005e3: DUP2
000005e4: MSTORE
000005e5: PUSH1 0x20
000005e7: ADD
000005e8: SWAP2
000005e9: POP
000005ea: POP
000005eb: PUSH1 0x40
000005ed: MLOAD
000005ee: DUP1
000005ef: SWAP2
000005f0: SUB
000005f1: SWAP1
000005f2: RETURN
000005f3: JUMPDEST
000005f4: PUSH2 0x0609
000005f7: PUSH1 0x04
000005f9: DUP1
000005fa: DUP1
000005fb: CALLDATALOAD
000005fc: SWAP1
000005fd: PUSH1 0x20
000005ff: ADD
00000600: SWAP1
00000601: SWAP2
00000602: SWAP1
00000603: POP
00000604: POP
00000605: PUSH2 0x1136
00000608: JUMP
00000609: JUMPDEST
0000060a: PUSH1 0x40
0000060c: MLOAD
0000060d: DUP1
0000060e: DUP3
0000060f: DUP2
00000610: MSTORE
00000611: PUSH1 0x20
00000613: ADD
00000614: SWAP2
00000615: POP
00000616: POP
00000617: PUSH1 0x40
00000619: MLOAD
0000061a: DUP1
0000061b: SWAP2
0000061c: SUB
0000061d: SWAP1
0000061e: RETURN
0000061f: JUMPDEST
00000620: PUSH1 0x01
00000622: PUSH1 0x00
00000624: POP
00000625: DUP1
00000626: SLOAD
00000627: PUSH1 0x01
00000629: DUP2
0000062a: PUSH1 0x01
0000062c: AND
0000062d: ISZERO
0000062e: PUSH2 0x0100
00000631: MUL
00000632: SUB
00000633: AND
00000634: PUSH1 0x02
00000636: SWAP1
00000637: DIV
00000638: DUP1
00000639: PUSH1 0x1f
0000063b: ADD
0000063c: PUSH1 0x20
0000063e: DUP1
0000063f: SWAP2
00000640: DIV
00000641: MUL
00000642: PUSH1 0x20
00000644: ADD
00000645: PUSH1 0x40
00000647: MLOAD
00000648: SWAP1
00000649: DUP2
0000064a: ADD
0000064b: PUSH1 0x40
0000064d: MSTORE
0000064e: DUP1
0000064f: SWAP3
00000650: SWAP2
00000651: SWAP1
00000652: DUP2
00000653: DUP2
00000654: MSTORE
00000655: PUSH1 0x20
00000657: ADD
00000658: DUP3
00000659: DUP1
0000065a: SLOAD
0000065b: PUSH1 0x01
0000065d: DUP2
0000065e: PUSH1 0x01
00000660: AND
00000661: ISZERO
00000662: PUSH2 0x0100
00000665: MUL
00000666: SUB
00000667: AND
00000668: PUSH1 0x02
0000066a: SWAP1
0000066b: DIV
0000066c: DUP1
0000066d: ISZERO
0000066e: PUSH2 0x06b8
00000671: JUMPI
00000672: DUP1
00000673: PUSH1 0x1f
00000675: LT
00000676: PUSH2 0x068d
00000679: JUMPI
0000067a: PUSH2 0x0100
0000067d: DUP1
0000067e: DUP4
0000067f: SLOAD
00000680: DIV
00000681: MUL
00000682: DUP4
00000683: MSTORE
00000684: SWAP2
00000685: PUSH1 0x20
00000687: ADD
00000688: SWAP2
00000689: PUSH2 0x06b8
0000068c: JUMP
0000068d: JUMPDEST
0000068e: DUP3
0000068f: ADD
00000690: SWAP2
00000691: SWAP1
00000692: PUSH1 0x00
00000694: MSTORE
00000695: PUSH1 0x20
00000697: PUSH1 0x00
00000699: KECCAK256
0000069a: SWAP1
0000069b: JUMPDEST
0000069c: DUP2
0000069d: SLOAD
0000069e: DUP2
0000069f: MSTORE
000006a0: SWAP1
000006a1: PUSH1 0x01
000006a3: ADD
000006a4: SWAP1
000006a5: PUSH1 0x20
000006a7: ADD
000006a8: DUP1
000006a9: DUP4
000006aa: GT
000006ab: PUSH2 0x069b
000006ae: JUMPI
000006af: DUP3
000006b0: SWAP1
000006b1: SUB
000006b2: PUSH1 0x1f
000006b4: AND
000006b5: DUP3
000006b6: ADD
000006b7: SWAP2
000006b8: JUMPDEST
000006b9: POP
000006ba: POP
000006bb: POP
000006bc: POP
000006bd: POP
000006be: DUP2
000006bf: JUMP
000006c0: JUMPDEST
000006c1: PUSH1 0x00
000006c3: DUP2
000006c4: PUSH1 0x07
000006c6: PUSH1 0x00
000006c8: POP
000006c9: PUSH1 0x00
000006cb: CALLER
000006cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e1: AND
000006e2: DUP2
000006e3: MSTORE
000006e4: PUSH1 0x20
000006e6: ADD
000006e7: SWAP1
000006e8: DUP2
000006e9: MSTORE
000006ea: PUSH1 0x20
000006ec: ADD
000006ed: PUSH1 0x00
000006ef: KECCAK256
000006f0: PUSH1 0x00
000006f2: POP
000006f3: PUSH1 0x00
000006f5: DUP6
000006f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070b: AND
0000070c: DUP2
0000070d: MSTORE
0000070e: PUSH1 0x20
00000710: ADD
00000711: SWAP1
00000712: DUP2
00000713: MSTORE
00000714: PUSH1 0x20
00000716: ADD
00000717: PUSH1 0x00
00000719: KECCAK256
0000071a: PUSH1 0x00
0000071c: POP
0000071d: DUP2
0000071e: SWAP1
0000071f: SSTORE
00000720: POP
00000721: PUSH1 0x01
00000723: SWAP1
00000724: POP
00000725: PUSH2 0x0729
00000728: JUMP
00000729: JUMPDEST
0000072a: SWAP3
0000072b: SWAP2
0000072c: POP
0000072d: POP
0000072e: JUMP
0000072f: JUMPDEST
00000730: PUSH1 0x0b
00000732: PUSH1 0x00
00000734: POP
00000735: PUSH1 0x20
00000737: MSTORE
00000738: DUP1
00000739: PUSH1 0x00
0000073b: MSTORE
0000073c: PUSH1 0x40
0000073e: PUSH1 0x00
00000740: KECCAK256
00000741: PUSH1 0x00
00000743: SWAP2
00000744: POP
00000745: SWAP1
00000746: POP
00000747: SLOAD
00000748: DUP2
00000749: JUMP
0000074a: JUMPDEST
0000074b: PUSH1 0x00
0000074d: PUSH1 0x00
0000074f: DUP3
00000750: PUSH1 0x0b
00000752: PUSH1 0x00
00000754: POP
00000755: PUSH1 0x00
00000757: CALLER
00000758: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000076d: AND
0000076e: DUP2
0000076f: MSTORE
00000770: PUSH1 0x20
00000772: ADD
00000773: SWAP1
00000774: DUP2
00000775: MSTORE
00000776: PUSH1 0x20
00000778: ADD
00000779: PUSH1 0x00
0000077b: KECCAK256
0000077c: PUSH1 0x00
0000077e: POP
0000077f: SLOAD
00000780: LT
00000781: ISZERO
00000782: PUSH2 0x078a
00000785: JUMPI
00000786: PUSH2 0x0002
00000789: JUMP
0000078a: JUMPDEST
0000078b: PUSH1 0x0d
0000078d: PUSH1 0x00
0000078f: POP
00000790: SLOAD
00000791: DUP4
00000792: DIV
00000793: SWAP1
00000794: POP
00000795: PUSH1 0x01
00000797: ISZERO
00000798: ISZERO
00000799: CALLER
0000079a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007af: AND
000007b0: PUSH1 0x00
000007b2: DUP6
000007b3: PUSH1 0x40
000007b5: MLOAD
000007b6: DUP1
000007b7: SWAP1
000007b8: POP
000007b9: PUSH1 0x00
000007bb: PUSH1 0x40
000007bd: MLOAD
000007be: DUP1
000007bf: DUP4
000007c0: SUB
000007c1: DUP2
000007c2: DUP6
000007c3: DUP9
000007c4: DUP9
000007c5: CALL
000007c6: SWAP4
000007c7: POP
000007c8: POP
000007c9: POP
000007ca: POP
000007cb: ISZERO
000007cc: ISZERO
000007cd: EQ
000007ce: ISZERO
000007cf: PUSH2 0x0862
000007d2: JUMPI
000007d3: DUP3
000007d4: PUSH1 0x0b
000007d6: PUSH1 0x00
000007d8: POP
000007d9: PUSH1 0x00
000007db: CALLER
000007dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f1: AND
000007f2: DUP2
000007f3: MSTORE
000007f4: PUSH1 0x20
000007f6: ADD
000007f7: SWAP1
000007f8: DUP2
000007f9: MSTORE
000007fa: PUSH1 0x20
000007fc: ADD
000007fd: PUSH1 0x00
000007ff: KECCAK256
00000800: PUSH1 0x00
00000802: DUP3
00000803: DUP3
00000804: DUP3
00000805: POP
00000806: SLOAD
00000807: SUB
00000808: SWAP3
00000809: POP
0000080a: POP
0000080b: DUP2
0000080c: SWAP1
0000080d: SSTORE
0000080e: POP
0000080f: DUP1
00000810: PUSH1 0x0c
00000812: PUSH1 0x00
00000814: POP
00000815: PUSH1 0x00
00000817: CALLER
00000818: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000082d: AND
0000082e: DUP2
0000082f: MSTORE
00000830: PUSH1 0x20
00000832: ADD
00000833: SWAP1
00000834: DUP2
00000835: MSTORE
00000836: PUSH1 0x20
00000838: ADD
00000839: PUSH1 0x00
0000083b: KECCAK256
0000083c: PUSH1 0x00
0000083e: DUP3
0000083f: DUP3
00000840: DUP3
00000841: POP
00000842: SLOAD
00000843: SUB
00000844: SWAP3
00000845: POP
00000846: POP
00000847: DUP2
00000848: SWAP1
00000849: SSTORE
0000084a: POP
0000084b: PUSH2 0x0855
0000084e: PUSH1 0x01
00000850: CALLER
00000851: PUSH2 0x1174
00000854: JUMP
00000855: JUMPDEST
00000856: PUSH1 0x01
00000858: SWAP2
00000859: POP
0000085a: PUSH2 0x086c
0000085d: JUMP
0000085e: PUSH2 0x086b
00000861: JUMP
00000862: JUMPDEST
00000863: PUSH1 0x00
00000865: SWAP2
00000866: POP
00000867: PUSH2 0x086c
0000086a: JUMP
0000086b: JUMPDEST
0000086c: JUMPDEST
0000086d: POP
0000086e: SWAP2
0000086f: SWAP1
00000870: POP
00000871: JUMP
00000872: JUMPDEST
00000873: PUSH1 0x04
00000875: PUSH1 0x00
00000877: POP
00000878: SLOAD
00000879: DUP2
0000087a: JUMP
0000087b: JUMPDEST
0000087c: PUSH1 0x00
0000087e: DUP2
0000087f: PUSH1 0x06
00000881: PUSH1 0x00
00000883: POP
00000884: PUSH1 0x00
00000886: DUP7
00000887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000089c: AND
0000089d: DUP2
0000089e: MSTORE
0000089f: PUSH1 0x20
000008a1: ADD
000008a2: SWAP1
000008a3: DUP2
000008a4: MSTORE
000008a5: PUSH1 0x20
000008a7: ADD
000008a8: PUSH1 0x00
000008aa: KECCAK256
000008ab: PUSH1 0x00
000008ad: POP
000008ae: SLOAD
000008af: LT
000008b0: ISZERO
000008b1: PUSH2 0x08b9
000008b4: JUMPI
000008b5: PUSH2 0x0002
000008b8: JUMP
000008b9: JUMPDEST
000008ba: PUSH1 0x06
000008bc: PUSH1 0x00
000008be: POP
000008bf: PUSH1 0x00
000008c1: DUP5
000008c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d7: AND
000008d8: DUP2
000008d9: MSTORE
000008da: PUSH1 0x20
000008dc: ADD
000008dd: SWAP1
000008de: DUP2
000008df: MSTORE
000008e0: PUSH1 0x20
000008e2: ADD
000008e3: PUSH1 0x00
000008e5: KECCAK256
000008e6: PUSH1 0x00
000008e8: POP
000008e9: SLOAD
000008ea: DUP3
000008eb: PUSH1 0x06
000008ed: PUSH1 0x00
000008ef: POP
000008f0: PUSH1 0x00
000008f2: DUP7
000008f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000908: AND
00000909: DUP2
0000090a: MSTORE
0000090b: PUSH1 0x20
0000090d: ADD
0000090e: SWAP1
0000090f: DUP2
00000910: MSTORE
00000911: PUSH1 0x20
00000913: ADD
00000914: PUSH1 0x00
00000916: KECCAK256
00000917: PUSH1 0x00
00000919: POP
0000091a: SLOAD
0000091b: ADD
0000091c: LT
0000091d: ISZERO
0000091e: PUSH2 0x0926
00000921: JUMPI
00000922: PUSH2 0x0002
00000925: JUMP
00000926: JUMPDEST
00000927: PUSH1 0x07
00000929: PUSH1 0x00
0000092b: POP
0000092c: PUSH1 0x00
0000092e: DUP6
0000092f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000944: AND
00000945: DUP2
00000946: MSTORE
00000947: PUSH1 0x20
00000949: ADD
0000094a: SWAP1
0000094b: DUP2
0000094c: MSTORE
0000094d: PUSH1 0x20
0000094f: ADD
00000950: PUSH1 0x00
00000952: KECCAK256
00000953: PUSH1 0x00
00000955: POP
00000956: PUSH1 0x00
00000958: CALLER
00000959: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000096e: AND
0000096f: DUP2
00000970: MSTORE
00000971: PUSH1 0x20
00000973: ADD
00000974: SWAP1
00000975: DUP2
00000976: MSTORE
00000977: PUSH1 0x20
00000979: ADD
0000097a: PUSH1 0x00
0000097c: KECCAK256
0000097d: PUSH1 0x00
0000097f: POP
00000980: SLOAD
00000981: DUP3
00000982: GT
00000983: ISZERO
00000984: PUSH2 0x098c
00000987: JUMPI
00000988: PUSH2 0x0002
0000098b: JUMP
0000098c: JUMPDEST
0000098d: DUP2
0000098e: PUSH1 0x06
00000990: PUSH1 0x00
00000992: POP
00000993: PUSH1 0x00
00000995: DUP7
00000996: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ab: AND
000009ac: DUP2
000009ad: MSTORE
000009ae: PUSH1 0x20
000009b0: ADD
000009b1: SWAP1
000009b2: DUP2
000009b3: MSTORE
000009b4: PUSH1 0x20
000009b6: ADD
000009b7: PUSH1 0x00
000009b9: KECCAK256
000009ba: PUSH1 0x00
000009bc: DUP3
000009bd: DUP3
000009be: DUP3
000009bf: POP
000009c0: SLOAD
000009c1: SUB
000009c2: SWAP3
000009c3: POP
000009c4: POP
000009c5: DUP2
000009c6: SWAP1
000009c7: SSTORE
000009c8: POP
000009c9: DUP2
000009ca: PUSH1 0x06
000009cc: PUSH1 0x00
000009ce: POP
000009cf: PUSH1 0x00
000009d1: DUP6
000009d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009e7: AND
000009e8: DUP2
000009e9: MSTORE
000009ea: PUSH1 0x20
000009ec: ADD
000009ed: SWAP1
000009ee: DUP2
000009ef: MSTORE
000009f0: PUSH1 0x20
000009f2: ADD
000009f3: PUSH1 0x00
000009f5: KECCAK256
000009f6: PUSH1 0x00
000009f8: DUP3
000009f9: DUP3
000009fa: DUP3
000009fb: POP
000009fc: SLOAD
000009fd: ADD
000009fe: SWAP3
000009ff: POP
00000a00: POP
00000a01: DUP2
00000a02: SWAP1
00000a03: SSTORE
00000a04: POP
00000a05: DUP2
00000a06: PUSH1 0x07
00000a08: PUSH1 0x00
00000a0a: POP
00000a0b: PUSH1 0x00
00000a0d: DUP7
00000a0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a23: AND
00000a24: DUP2
00000a25: MSTORE
00000a26: PUSH1 0x20
00000a28: ADD
00000a29: SWAP1
00000a2a: DUP2
00000a2b: MSTORE
00000a2c: PUSH1 0x20
00000a2e: ADD
00000a2f: PUSH1 0x00
00000a31: KECCAK256
00000a32: PUSH1 0x00
00000a34: POP
00000a35: PUSH1 0x00
00000a37: CALLER
00000a38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a4d: AND
00000a4e: DUP2
00000a4f: MSTORE
00000a50: PUSH1 0x20
00000a52: ADD
00000a53: SWAP1
00000a54: DUP2
00000a55: MSTORE
00000a56: PUSH1 0x20
00000a58: ADD
00000a59: PUSH1 0x00
00000a5b: KECCAK256
00000a5c: PUSH1 0x00
00000a5e: DUP3
00000a5f: DUP3
00000a60: DUP3
00000a61: POP
00000a62: SLOAD
00000a63: SUB
00000a64: SWAP3
00000a65: POP
00000a66: POP
00000a67: DUP2
00000a68: SWAP1
00000a69: SSTORE
00000a6a: POP
00000a6b: DUP3
00000a6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a81: AND
00000a82: DUP5
00000a83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a98: AND
00000a99: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000aba: DUP5
00000abb: PUSH1 0x40
00000abd: MLOAD
00000abe: DUP1
00000abf: DUP3
00000ac0: DUP2
00000ac1: MSTORE
00000ac2: PUSH1 0x20
00000ac4: ADD
00000ac5: SWAP2
00000ac6: POP
00000ac7: POP
00000ac8: PUSH1 0x40
00000aca: MLOAD
00000acb: DUP1
00000acc: SWAP2
00000acd: SUB
00000ace: SWAP1
00000acf: LOG3
00000ad0: PUSH1 0x01
00000ad2: SWAP1
00000ad3: POP
00000ad4: PUSH2 0x0ad8
00000ad7: JUMP
00000ad8: JUMPDEST
00000ad9: SWAP4
00000ada: SWAP3
00000adb: POP
00000adc: POP
00000add: POP
00000ade: JUMP
00000adf: JUMPDEST
00000ae0: PUSH1 0x03
00000ae2: PUSH1 0x00
00000ae4: SWAP1
00000ae5: SLOAD
00000ae6: SWAP1
00000ae7: PUSH2 0x0100
00000aea: EXP
00000aeb: SWAP1
00000aec: DIV
00000aed: PUSH1 0xff
00000aef: AND
00000af0: DUP2
00000af1: JUMP
00000af2: JUMPDEST
00000af3: PUSH1 0x0c
00000af5: PUSH1 0x00
00000af7: POP
00000af8: PUSH1 0x20
00000afa: MSTORE
00000afb: DUP1
00000afc: PUSH1 0x00
00000afe: MSTORE
00000aff: PUSH1 0x40
00000b01: PUSH1 0x00
00000b03: KECCAK256
00000b04: PUSH1 0x00
00000b06: SWAP2
00000b07: POP
00000b08: SWAP1
00000b09: POP
00000b0a: SLOAD
00000b0b: DUP2
00000b0c: JUMP
00000b0d: JUMPDEST
00000b0e: PUSH1 0x00
00000b10: PUSH1 0x00
00000b12: POP
00000b13: DUP1
00000b14: SLOAD
00000b15: PUSH1 0x01
00000b17: DUP2
00000b18: PUSH1 0x01
00000b1a: AND
00000b1b: ISZERO
00000b1c: PUSH2 0x0100
00000b1f: MUL
00000b20: SUB
00000b21: AND
00000b22: PUSH1 0x02
00000b24: SWAP1
00000b25: DIV
00000b26: DUP1
00000b27: PUSH1 0x1f
00000b29: ADD
00000b2a: PUSH1 0x20
00000b2c: DUP1
00000b2d: SWAP2
00000b2e: DIV
00000b2f: MUL
00000b30: PUSH1 0x20
00000b32: ADD
00000b33: PUSH1 0x40
00000b35: MLOAD
00000b36: SWAP1
00000b37: DUP2
00000b38: ADD
00000b39: PUSH1 0x40
00000b3b: MSTORE
00000b3c: DUP1
00000b3d: SWAP3
00000b3e: SWAP2
00000b3f: SWAP1
00000b40: DUP2
00000b41: DUP2
00000b42: MSTORE
00000b43: PUSH1 0x20
00000b45: ADD
00000b46: DUP3
00000b47: DUP1
00000b48: SLOAD
00000b49: PUSH1 0x01
00000b4b: DUP2
00000b4c: PUSH1 0x01
00000b4e: AND
00000b4f: ISZERO
00000b50: PUSH2 0x0100
00000b53: MUL
00000b54: SUB
00000b55: AND
00000b56: PUSH1 0x02
00000b58: SWAP1
00000b59: DIV
00000b5a: DUP1
00000b5b: ISZERO
00000b5c: PUSH2 0x0ba6
00000b5f: JUMPI
00000b60: DUP1
00000b61: PUSH1 0x1f
00000b63: LT
00000b64: PUSH2 0x0b7b
00000b67: JUMPI
00000b68: PUSH2 0x0100
00000b6b: DUP1
00000b6c: DUP4
00000b6d: SLOAD
00000b6e: DIV
00000b6f: MUL
00000b70: DUP4
00000b71: MSTORE
00000b72: SWAP2
00000b73: PUSH1 0x20
00000b75: ADD
00000b76: SWAP2
00000b77: PUSH2 0x0ba6
00000b7a: JUMP
00000b7b: JUMPDEST
00000b7c: DUP3
00000b7d: ADD
00000b7e: SWAP2
00000b7f: SWAP1
00000b80: PUSH1 0x00
00000b82: MSTORE
00000b83: PUSH1 0x20
00000b85: PUSH1 0x00
00000b87: KECCAK256
00000b88: SWAP1
00000b89: JUMPDEST
00000b8a: DUP2
00000b8b: SLOAD
00000b8c: DUP2
00000b8d: MSTORE
00000b8e: SWAP1
00000b8f: PUSH1 0x01
00000b91: ADD
00000b92: SWAP1
00000b93: PUSH1 0x20
00000b95: ADD
00000b96: DUP1
00000b97: DUP4
00000b98: GT
00000b99: PUSH2 0x0b89
00000b9c: JUMPI
00000b9d: DUP3
00000b9e: SWAP1
00000b9f: SUB
00000ba0: PUSH1 0x1f
00000ba2: AND
00000ba3: DUP3
00000ba4: ADD
00000ba5: SWAP2
00000ba6: JUMPDEST
00000ba7: POP
00000ba8: POP
00000ba9: POP
00000baa: POP
00000bab: POP
00000bac: DUP2
00000bad: JUMP
00000bae: JUMPDEST
00000baf: PUSH1 0x06
00000bb1: PUSH1 0x00
00000bb3: POP
00000bb4: PUSH1 0x20
00000bb6: MSTORE
00000bb7: DUP1
00000bb8: PUSH1 0x00
00000bba: MSTORE
00000bbb: PUSH1 0x40
00000bbd: PUSH1 0x00
00000bbf: KECCAK256
00000bc0: PUSH1 0x00
00000bc2: SWAP2
00000bc3: POP
00000bc4: SWAP1
00000bc5: POP
00000bc6: SLOAD
00000bc7: DUP2
00000bc8: JUMP
00000bc9: JUMPDEST
00000bca: PUSH1 0x0a
00000bcc: PUSH1 0x00
00000bce: SWAP1
00000bcf: SLOAD
00000bd0: SWAP1
00000bd1: PUSH2 0x0100
00000bd4: EXP
00000bd5: SWAP1
00000bd6: DIV
00000bd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bec: AND
00000bed: DUP2
00000bee: JUMP
00000bef: JUMPDEST
00000bf0: PUSH1 0x08
00000bf2: PUSH1 0x00
00000bf4: SWAP1
00000bf5: SLOAD
00000bf6: SWAP1
00000bf7: PUSH2 0x0100
00000bfa: EXP
00000bfb: SWAP1
00000bfc: DIV
00000bfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c12: AND
00000c13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c28: AND
00000c29: CALLER
00000c2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c3f: AND
00000c40: EQ
00000c41: ISZERO
00000c42: PUSH2 0x0cb7
00000c45: JUMPI
00000c46: PUSH1 0x08
00000c48: PUSH1 0x00
00000c4a: SWAP1
00000c4b: SLOAD
00000c4c: SWAP1
00000c4d: PUSH2 0x0100
00000c50: EXP
00000c51: SWAP1
00000c52: DIV
00000c53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c68: AND
00000c69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c7e: AND
00000c7f: PUSH1 0x00
00000c81: PUSH3 0x200b20
00000c85: ADDRESS
00000c86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c9b: AND
00000c9c: BALANCE
00000c9d: SUB
00000c9e: PUSH1 0x40
00000ca0: MLOAD
00000ca1: DUP1
00000ca2: SWAP1
00000ca3: POP
00000ca4: PUSH1 0x00
00000ca6: PUSH1 0x40
00000ca8: MLOAD
00000ca9: DUP1
00000caa: DUP4
00000cab: SUB
00000cac: DUP2
00000cad: DUP6
00000cae: DUP9
00000caf: DUP9
00000cb0: CALL
00000cb1: SWAP4
00000cb2: POP
00000cb3: POP
00000cb4: POP
00000cb5: POP
00000cb6: POP
00000cb7: JUMPDEST
00000cb8: JUMPDEST
00000cb9: JUMP
00000cba: JUMPDEST
00000cbb: PUSH1 0x08
00000cbd: PUSH1 0x00
00000cbf: SWAP1
00000cc0: SLOAD
00000cc1: SWAP1
00000cc2: PUSH2 0x0100
00000cc5: EXP
00000cc6: SWAP1
00000cc7: DIV
00000cc8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cdd: AND
00000cde: DUP2
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: PUSH1 0x02
00000ce3: PUSH1 0x00
00000ce5: POP
00000ce6: DUP1
00000ce7: SLOAD
00000ce8: PUSH1 0x01
00000cea: DUP2
00000ceb: PUSH1 0x01
00000ced: AND
00000cee: ISZERO
00000cef: PUSH2 0x0100
00000cf2: MUL
00000cf3: SUB
00000cf4: AND
00000cf5: PUSH1 0x02
00000cf7: SWAP1
00000cf8: DIV
00000cf9: DUP1
00000cfa: PUSH1 0x1f
00000cfc: ADD
00000cfd: PUSH1 0x20
00000cff: DUP1
00000d00: SWAP2
00000d01: DIV
00000d02: MUL
00000d03: PUSH1 0x20
00000d05: ADD
00000d06: PUSH1 0x40
00000d08: MLOAD
00000d09: SWAP1
00000d0a: DUP2
00000d0b: ADD
00000d0c: PUSH1 0x40
00000d0e: MSTORE
00000d0f: DUP1
00000d10: SWAP3
00000d11: SWAP2
00000d12: SWAP1
00000d13: DUP2
00000d14: DUP2
00000d15: MSTORE
00000d16: PUSH1 0x20
00000d18: ADD
00000d19: DUP3
00000d1a: DUP1
00000d1b: SLOAD
00000d1c: PUSH1 0x01
00000d1e: DUP2
00000d1f: PUSH1 0x01
00000d21: AND
00000d22: ISZERO
00000d23: PUSH2 0x0100
00000d26: MUL
00000d27: SUB
00000d28: AND
00000d29: PUSH1 0x02
00000d2b: SWAP1
00000d2c: DIV
00000d2d: DUP1
00000d2e: ISZERO
00000d2f: PUSH2 0x0d79
00000d32: JUMPI
00000d33: DUP1
00000d34: PUSH1 0x1f
00000d36: LT
00000d37: PUSH2 0x0d4e
00000d3a: JUMPI
00000d3b: PUSH2 0x0100
00000d3e: DUP1
00000d3f: DUP4
00000d40: SLOAD
00000d41: DIV
00000d42: MUL
00000d43: DUP4
00000d44: MSTORE
00000d45: SWAP2
00000d46: PUSH1 0x20
00000d48: ADD
00000d49: SWAP2
00000d4a: PUSH2 0x0d79
00000d4d: JUMP
00000d4e: JUMPDEST
00000d4f: DUP3
00000d50: ADD
00000d51: SWAP2
00000d52: SWAP1
00000d53: PUSH1 0x00
00000d55: MSTORE
00000d56: PUSH1 0x20
00000d58: PUSH1 0x00
00000d5a: KECCAK256
00000d5b: SWAP1
00000d5c: JUMPDEST
00000d5d: DUP2
00000d5e: SLOAD
00000d5f: DUP2
00000d60: MSTORE
00000d61: SWAP1
00000d62: PUSH1 0x01
00000d64: ADD
00000d65: SWAP1
00000d66: PUSH1 0x20
00000d68: ADD
00000d69: DUP1
00000d6a: DUP4
00000d6b: GT
00000d6c: PUSH2 0x0d5c
00000d6f: JUMPI
00000d70: DUP3
00000d71: SWAP1
00000d72: SUB
00000d73: PUSH1 0x1f
00000d75: AND
00000d76: DUP3
00000d77: ADD
00000d78: SWAP2
00000d79: JUMPDEST
00000d7a: POP
00000d7b: POP
00000d7c: POP
00000d7d: POP
00000d7e: POP
00000d7f: DUP2
00000d80: JUMP
00000d81: JUMPDEST
00000d82: DUP1
00000d83: PUSH1 0x06
00000d85: PUSH1 0x00
00000d87: POP
00000d88: PUSH1 0x00
00000d8a: CALLER
00000d8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000da0: AND
00000da1: DUP2
00000da2: MSTORE
00000da3: PUSH1 0x20
00000da5: ADD
00000da6: SWAP1
00000da7: DUP2
00000da8: MSTORE
00000da9: PUSH1 0x20
00000dab: ADD
00000dac: PUSH1 0x00
00000dae: KECCAK256
00000daf: PUSH1 0x00
00000db1: POP
00000db2: SLOAD
00000db3: LT
00000db4: ISZERO
00000db5: PUSH2 0x0dbd
00000db8: JUMPI
00000db9: PUSH2 0x0002
00000dbc: JUMP
00000dbd: JUMPDEST
00000dbe: PUSH1 0x06
00000dc0: PUSH1 0x00
00000dc2: POP
00000dc3: PUSH1 0x00
00000dc5: DUP4
00000dc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ddb: AND
00000ddc: DUP2
00000ddd: MSTORE
00000dde: PUSH1 0x20
00000de0: ADD
00000de1: SWAP1
00000de2: DUP2
00000de3: MSTORE
00000de4: PUSH1 0x20
00000de6: ADD
00000de7: PUSH1 0x00
00000de9: KECCAK256
00000dea: PUSH1 0x00
00000dec: POP
00000ded: SLOAD
00000dee: DUP2
00000def: PUSH1 0x06
00000df1: PUSH1 0x00
00000df3: POP
00000df4: PUSH1 0x00
00000df6: DUP6
00000df7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e0c: AND
00000e0d: DUP2
00000e0e: MSTORE
00000e0f: PUSH1 0x20
00000e11: ADD
00000e12: SWAP1
00000e13: DUP2
00000e14: MSTORE
00000e15: PUSH1 0x20
00000e17: ADD
00000e18: PUSH1 0x00
00000e1a: KECCAK256
00000e1b: PUSH1 0x00
00000e1d: POP
00000e1e: SLOAD
00000e1f: ADD
00000e20: LT
00000e21: ISZERO
00000e22: PUSH2 0x0e2a
00000e25: JUMPI
00000e26: PUSH2 0x0002
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: DUP1
00000e2c: PUSH1 0x06
00000e2e: PUSH1 0x00
00000e30: POP
00000e31: PUSH1 0x00
00000e33: CALLER
00000e34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e49: AND
00000e4a: DUP2
00000e4b: MSTORE
00000e4c: PUSH1 0x20
00000e4e: ADD
00000e4f: SWAP1
00000e50: DUP2
00000e51: MSTORE
00000e52: PUSH1 0x20
00000e54: ADD
00000e55: PUSH1 0x00
00000e57: KECCAK256
00000e58: PUSH1 0x00
00000e5a: DUP3
00000e5b: DUP3
00000e5c: DUP3
00000e5d: POP
00000e5e: SLOAD
00000e5f: SUB
00000e60: SWAP3
00000e61: POP
00000e62: POP
00000e63: DUP2
00000e64: SWAP1
00000e65: SSTORE
00000e66: POP
00000e67: DUP1
00000e68: PUSH1 0x06
00000e6a: PUSH1 0x00
00000e6c: POP
00000e6d: PUSH1 0x00
00000e6f: DUP5
00000e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e85: AND
00000e86: DUP2
00000e87: MSTORE
00000e88: PUSH1 0x20
00000e8a: ADD
00000e8b: SWAP1
00000e8c: DUP2
00000e8d: MSTORE
00000e8e: PUSH1 0x20
00000e90: ADD
00000e91: PUSH1 0x00
00000e93: KECCAK256
00000e94: PUSH1 0x00
00000e96: DUP3
00000e97: DUP3
00000e98: DUP3
00000e99: POP
00000e9a: SLOAD
00000e9b: ADD
00000e9c: SWAP3
00000e9d: POP
00000e9e: POP
00000e9f: DUP2
00000ea0: SWAP1
00000ea1: SSTORE
00000ea2: POP
00000ea3: DUP2
00000ea4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eb9: AND
00000eba: CALLER
00000ebb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ed0: AND
00000ed1: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000ef2: DUP4
00000ef3: PUSH1 0x40
00000ef5: MLOAD
00000ef6: DUP1
00000ef7: DUP3
00000ef8: DUP2
00000ef9: MSTORE
00000efa: PUSH1 0x20
00000efc: ADD
00000efd: SWAP2
00000efe: POP
00000eff: POP
00000f00: PUSH1 0x40
00000f02: MLOAD
00000f03: DUP1
00000f04: SWAP2
00000f05: SUB
00000f06: SWAP1
00000f07: LOG3
00000f08: JUMPDEST
00000f09: POP
00000f0a: POP
00000f0b: JUMP
00000f0c: JUMPDEST
00000f0d: PUSH1 0x09
00000f0f: PUSH1 0x00
00000f11: SWAP1
00000f12: SLOAD
00000f13: SWAP1
00000f14: PUSH2 0x0100
00000f17: EXP
00000f18: SWAP1
00000f19: DIV
00000f1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f2f: AND
00000f30: DUP2
00000f31: JUMP
00000f32: JUMPDEST
00000f33: PUSH1 0x0d
00000f35: PUSH1 0x00
00000f37: POP
00000f38: SLOAD
00000f39: DUP2
00000f3a: JUMP
00000f3b: JUMPDEST
00000f3c: PUSH1 0x0d
00000f3e: PUSH1 0x00
00000f40: POP
00000f41: SLOAD
00000f42: CALLVALUE
00000f43: LT
00000f44: ISZERO
00000f45: ISZERO
00000f46: PUSH2 0x0fcd
00000f49: JUMPI
00000f4a: CALLVALUE
00000f4b: PUSH1 0x0b
00000f4d: PUSH1 0x00
00000f4f: POP
00000f50: PUSH1 0x00
00000f52: CALLER
00000f53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f68: AND
00000f69: DUP2
00000f6a: MSTORE
00000f6b: PUSH1 0x20
00000f6d: ADD
00000f6e: SWAP1
00000f6f: DUP2
00000f70: MSTORE
00000f71: PUSH1 0x20
00000f73: ADD
00000f74: PUSH1 0x00
00000f76: KECCAK256
00000f77: PUSH1 0x00
00000f79: DUP3
00000f7a: DUP3
00000f7b: DUP3
00000f7c: POP
00000f7d: SLOAD
00000f7e: ADD
00000f7f: SWAP3
00000f80: POP
00000f81: POP
00000f82: DUP2
00000f83: SWAP1
00000f84: SSTORE
00000f85: POP
00000f86: PUSH1 0x0d
00000f88: PUSH1 0x00
00000f8a: POP
00000f8b: SLOAD
00000f8c: CALLVALUE
00000f8d: DIV
00000f8e: PUSH1 0x0c
00000f90: PUSH1 0x00
00000f92: POP
00000f93: PUSH1 0x00
00000f95: CALLER
00000f96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fab: AND
00000fac: DUP2
00000fad: MSTORE
00000fae: PUSH1 0x20
00000fb0: ADD
00000fb1: SWAP1
00000fb2: DUP2
00000fb3: MSTORE
00000fb4: PUSH1 0x20
00000fb6: ADD
00000fb7: PUSH1 0x00
00000fb9: KECCAK256
00000fba: PUSH1 0x00
00000fbc: DUP3
00000fbd: DUP3
00000fbe: DUP3
00000fbf: POP
00000fc0: SLOAD
00000fc1: ADD
00000fc2: SWAP3
00000fc3: POP
00000fc4: POP
00000fc5: DUP2
00000fc6: SWAP1
00000fc7: SSTORE
00000fc8: POP
00000fc9: PUSH2 0x0fd2
00000fcc: JUMP
00000fcd: JUMPDEST
00000fce: PUSH2 0x0002
00000fd1: JUMP
00000fd2: JUMPDEST
00000fd3: JUMPDEST
00000fd4: JUMP
00000fd5: JUMPDEST
00000fd6: PUSH1 0x00
00000fd8: PUSH1 0x00
00000fda: DUP5
00000fdb: SWAP1
00000fdc: POP
00000fdd: PUSH2 0x0fe6
00000fe0: DUP6
00000fe1: DUP6
00000fe2: PUSH2 0x06c0
00000fe5: JUMP
00000fe6: JUMPDEST
00000fe7: ISZERO
00000fe8: PUSH2 0x10f9
00000feb: JUMPI
00000fec: DUP1
00000fed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001002: AND
00001003: PUSH4 0x8f4ffcb1
00001008: CALLER
00001009: DUP7
0000100a: ADDRESS
0000100b: DUP8
0000100c: PUSH1 0x40
0000100e: MLOAD
0000100f: DUP6
00001010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000102e: MUL
0000102f: DUP2
00001030: MSTORE
00001031: PUSH1 0x04
00001033: ADD
00001034: DUP1
00001035: DUP6
00001036: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000104b: AND
0000104c: DUP2
0000104d: MSTORE
0000104e: PUSH1 0x20
00001050: ADD
00001051: DUP5
00001052: DUP2
00001053: MSTORE
00001054: PUSH1 0x20
00001056: ADD
00001057: DUP4
00001058: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000106d: AND
0000106e: DUP2
0000106f: MSTORE
00001070: PUSH1 0x20
00001072: ADD
00001073: DUP1
00001074: PUSH1 0x20
00001076: ADD
00001077: DUP3
00001078: DUP2
00001079: SUB
0000107a: DUP3
0000107b: MSTORE
0000107c: DUP4
0000107d: DUP2
0000107e: DUP2
0000107f: MLOAD
00001080: DUP2
00001081: MSTORE
00001082: PUSH1 0x20
00001084: ADD
00001085: SWAP2
00001086: POP
00001087: DUP1
00001088: MLOAD
00001089: SWAP1
0000108a: PUSH1 0x20
0000108c: ADD
0000108d: SWAP1
0000108e: DUP1
0000108f: DUP4
00001090: DUP4
00001091: DUP3
00001092: SWAP1
00001093: PUSH1 0x00
00001095: PUSH1 0x04
00001097: PUSH1 0x20
00001099: DUP5
0000109a: PUSH1 0x1f
0000109c: ADD
0000109d: DIV
0000109e: PUSH1 0x03
000010a0: MUL
000010a1: PUSH1 0x0f
000010a3: ADD
000010a4: CALL
000010a5: POP
000010a6: SWAP1
000010a7: POP
000010a8: SWAP1
000010a9: DUP2
000010aa: ADD
000010ab: SWAP1
000010ac: PUSH1 0x1f
000010ae: AND
000010af: DUP1
000010b0: ISZERO
000010b1: PUSH2 0x10ce
000010b4: JUMPI
000010b5: DUP1
000010b6: DUP3
000010b7: SUB
000010b8: DUP1
000010b9: MLOAD
000010ba: PUSH1 0x01
000010bc: DUP4
000010bd: PUSH1 0x20
000010bf: SUB
000010c0: PUSH2 0x0100
000010c3: EXP
000010c4: SUB
000010c5: NOT
000010c6: AND
000010c7: DUP2
000010c8: MSTORE
000010c9: PUSH1 0x20
000010cb: ADD
000010cc: SWAP2
000010cd: POP
000010ce: JUMPDEST
000010cf: POP
000010d0: SWAP6
000010d1: POP
000010d2: POP
000010d3: POP
000010d4: POP
000010d5: POP
000010d6: POP
000010d7: PUSH1 0x00
000010d9: PUSH1 0x40
000010db: MLOAD
000010dc: DUP1
000010dd: DUP4
000010de: SUB
000010df: DUP2
000010e0: PUSH1 0x00
000010e2: DUP8
000010e3: PUSH2 0x61da
000010e6: GAS
000010e7: SUB
000010e8: CALL
000010e9: ISZERO
000010ea: PUSH2 0x0002
000010ed: JUMPI
000010ee: POP
000010ef: POP
000010f0: POP
000010f1: PUSH1 0x01
000010f3: SWAP2
000010f4: POP
000010f5: PUSH2 0x10fa
000010f8: JUMP
000010f9: JUMPDEST
000010fa: JUMPDEST
000010fb: POP
000010fc: SWAP4
000010fd: SWAP3
000010fe: POP
000010ff: POP
00001100: POP
00001101: JUMP
00001102: JUMPDEST
00001103: PUSH1 0x07
00001105: PUSH1 0x00
00001107: POP
00001108: PUSH1 0x20
0000110a: MSTORE
0000110b: DUP2
0000110c: PUSH1 0x00
0000110e: MSTORE
0000110f: PUSH1 0x40
00001111: PUSH1 0x00
00001113: KECCAK256
00001114: PUSH1 0x00
00001116: POP
00001117: PUSH1 0x20
00001119: MSTORE
0000111a: DUP1
0000111b: PUSH1 0x00
0000111d: MSTORE
0000111e: PUSH1 0x40
00001120: PUSH1 0x00
00001122: KECCAK256
00001123: PUSH1 0x00
00001125: SWAP2
00001126: POP
00001127: SWAP2
00001128: POP
00001129: POP
0000112a: SLOAD
0000112b: DUP2
0000112c: JUMP
0000112d: JUMPDEST
0000112e: PUSH1 0x0e
00001130: PUSH1 0x00
00001132: POP
00001133: SLOAD
00001134: DUP2
00001135: JUMP
00001136: JUMPDEST
00001137: PUSH1 0x00
00001139: PUSH1 0x06
0000113b: PUSH1 0x00
0000113d: POP
0000113e: PUSH1 0x00
00001140: DUP4
00001141: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001156: AND
00001157: DUP2
00001158: MSTORE
00001159: PUSH1 0x20
0000115b: ADD
0000115c: SWAP1
0000115d: DUP2
0000115e: MSTORE
0000115f: PUSH1 0x20
00001161: ADD
00001162: PUSH1 0x00
00001164: KECCAK256
00001165: PUSH1 0x00
00001167: POP
00001168: SLOAD
00001169: SWAP1
0000116a: POP
0000116b: PUSH2 0x116f
0000116e: JUMP
0000116f: JUMPDEST
00001170: SWAP2
00001171: SWAP1
00001172: POP
00001173: JUMP
00001174: JUMPDEST
00001175: PUSH1 0x0a
00001177: PUSH1 0x00
00001179: SWAP1
0000117a: SLOAD
0000117b: SWAP1
0000117c: PUSH2 0x0100
0000117f: EXP
00001180: SWAP1
00001181: DIV
00001182: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001197: AND
00001198: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ad: AND
000011ae: PUSH4 0xa9059cbb
000011b3: DUP3
000011b4: DUP5
000011b5: PUSH1 0x40
000011b7: MLOAD
000011b8: DUP4
000011b9: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000011d7: MUL
000011d8: DUP2
000011d9: MSTORE
000011da: PUSH1 0x04
000011dc: ADD
000011dd: DUP1
000011de: DUP4
000011df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011f4: AND
000011f5: DUP2
000011f6: MSTORE
000011f7: PUSH1 0x20
000011f9: ADD
000011fa: DUP3
000011fb: DUP2
000011fc: MSTORE
000011fd: PUSH1 0x20
000011ff: ADD
00001200: SWAP3
00001201: POP
00001202: POP
00001203: POP
00001204: PUSH1 0x00
00001206: PUSH1 0x40
00001208: MLOAD
00001209: DUP1
0000120a: DUP4
0000120b: SUB
0000120c: DUP2
0000120d: PUSH1 0x00
0000120f: DUP8
00001210: PUSH2 0x61da
00001213: GAS
00001214: SUB
00001215: CALL
00001216: ISZERO
00001217: PUSH2 0x0002
0000121a: JUMPI
0000121b: POP
0000121c: POP
0000121d: POP
0000121e: JUMPDEST
0000121f: POP
00001220: POP
00001221: 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
medium other detector Untrusted CALL target/value reachable 45 yes yes
view
trace_id: 0xe0afbdf6fe9d16337aba7d0c81ba6e9e2062fb7abc4c76e442def14eb60d24e3
call_targets: 0x0000000000000000000000000000000000000004, 0x69a070b0ab429b6c07d87dec3be1d4c8a51b94e7
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xe0afbdf6fe9d16337aba7d0c81ba6e9e2062fb7abc4c76e442def14eb60d24e3",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x69a070b0ab429b6c07d87dec3be1d4c8a51b94e7"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x171f34a6",
            "selector": "0x171f34a6",
            "calldata_variants": [
                "0x171f34a6",
                "0x171f34a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1720ea55",
            "selector": "0x1720ea55",
            "calldata_variants": [
                "0x1720ea55",
                "0x1720ea550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x354dace2",
            "selector": "0x354dace2",
            "calldata_variants": [
                "0x354dace2",
                "0x354dace20000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 368,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 817,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1113,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 3113,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 8
}
medium other detector ETH value transfer possible 40 yes yes
view
trace_id: 0xe0afbdf6fe9d16337aba7d0c81ba6e9e2062fb7abc4c76e442def14eb60d24e3
call_targets: 0x0000000000000000000000000000000000000004, 0x69a070b0ab429b6c07d87dec3be1d4c8a51b94e7
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0xe0afbdf6fe9d16337aba7d0c81ba6e9e2062fb7abc4c76e442def14eb60d24e3",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x69a070b0ab429b6c07d87dec3be1d4c8a51b94e7"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x171f34a6",
            "selector": "0x171f34a6",
            "calldata_variants": [
                "0x171f34a6",
                "0x171f34a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1720ea55",
            "selector": "0x1720ea55",
            "calldata_variants": [
                "0x1720ea55",
                "0x1720ea550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x354dace2",
            "selector": "0x354dace2",
            "calldata_variants": [
                "0x354dace2",
                "0x354dace20000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 368,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 817,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1113,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 3113,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}