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

Analysis Run

019b3836-5d2a-72a3-8d30-698e963c3711

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
9291 artifact.fetch complete 1 / 3 3 months ago
9292 tool.cast_disasm complete 1 / 3 3 months ago
83160 analysis.bundle complete 1 / 3 1 week ago
83161 capability.graph complete 1 / 3 1 week ago
83162 detector.run complete 1 / 3 1 week ago
83163 validation.fork complete 1 / 3 1 week ago
113678 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-2zmg4mja
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c9b-4fa1-70c3-b296-face4fd2ec76
--------
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:17.252610+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 9580,
        "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)
10
EXT*/BALANCE
1
Total opcodes
2775
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0119
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x06fdde03
00000034: EQ
00000035: PUSH2 0x0122
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x095ea7b3
0000003f: EQ
00000040: PUSH2 0x019d
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x1720ea55
0000004a: EQ
0000004b: PUSH2 0x01d4
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x18160ddd
00000055: EQ
00000056: PUSH2 0x0202
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x23b872dd
00000060: EQ
00000061: PUSH2 0x0225
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x313ce567
0000006b: EQ
0000006c: PUSH2 0x0265
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x5a3b7e42
00000076: EQ
00000077: PUSH2 0x028b
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x70a08231
00000081: EQ
00000082: PUSH2 0x0306
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x72689e4d
0000008c: EQ
0000008d: PUSH2 0x0332
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x836a1e23
00000097: EQ
00000098: PUSH2 0x036b
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x8da5cb5b
000000a2: EQ
000000a3: PUSH2 0x037a
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0x95d89b41
000000ad: EQ
000000ae: PUSH2 0x03b3
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0xa9059cbb
000000b8: EQ
000000b9: PUSH2 0x042e
000000bc: JUMPI
000000bd: DUP1
000000be: PUSH4 0xb0987c03
000000c3: EQ
000000c4: PUSH2 0x044f
000000c7: JUMPI
000000c8: DUP1
000000c9: PUSH4 0xb6db8973
000000ce: EQ
000000cf: PUSH2 0x0488
000000d2: JUMPI
000000d3: DUP1
000000d4: PUSH4 0xc03945f7
000000d9: EQ
000000da: PUSH2 0x04ab
000000dd: JUMPI
000000de: DUP1
000000df: PUSH4 0xcae9ca51
000000e4: EQ
000000e5: PUSH2 0x04ba
000000e8: JUMPI
000000e9: DUP1
000000ea: PUSH4 0xdd62ed3e
000000ef: EQ
000000f0: PUSH2 0x0538
000000f3: JUMPI
000000f4: DUP1
000000f5: PUSH4 0xecf09417
000000fa: EQ
000000fb: PUSH2 0x056d
000000fe: JUMPI
000000ff: DUP1
00000100: PUSH4 0xf8b2cb4f
00000105: EQ
00000106: PUSH2 0x0590
00000109: JUMPI
0000010a: DUP1
0000010b: PUSH4 0xfcc820e2
00000110: EQ
00000111: PUSH2 0x05bc
00000114: JUMPI
00000115: PUSH2 0x0119
00000118: JUMP
00000119: JUMPDEST
0000011a: PUSH2 0x0120
0000011d: JUMPDEST
0000011e: JUMPDEST
0000011f: JUMP
00000120: JUMPDEST
00000121: STOP
00000122: JUMPDEST
00000123: PUSH2 0x012f
00000126: PUSH1 0x04
00000128: DUP1
00000129: POP
0000012a: POP
0000012b: PUSH2 0x05e8
0000012e: JUMP
0000012f: JUMPDEST
00000130: PUSH1 0x40
00000132: MLOAD
00000133: DUP1
00000134: DUP1
00000135: PUSH1 0x20
00000137: ADD
00000138: DUP3
00000139: DUP2
0000013a: SUB
0000013b: DUP3
0000013c: MSTORE
0000013d: DUP4
0000013e: DUP2
0000013f: DUP2
00000140: MLOAD
00000141: DUP2
00000142: MSTORE
00000143: PUSH1 0x20
00000145: ADD
00000146: SWAP2
00000147: POP
00000148: DUP1
00000149: MLOAD
0000014a: SWAP1
0000014b: PUSH1 0x20
0000014d: ADD
0000014e: SWAP1
0000014f: DUP1
00000150: DUP4
00000151: DUP4
00000152: DUP3
00000153: SWAP1
00000154: PUSH1 0x00
00000156: PUSH1 0x04
00000158: PUSH1 0x20
0000015a: DUP5
0000015b: PUSH1 0x1f
0000015d: ADD
0000015e: DIV
0000015f: PUSH1 0x03
00000161: MUL
00000162: PUSH1 0x0f
00000164: ADD
00000165: CALL
00000166: POP
00000167: SWAP1
00000168: POP
00000169: SWAP1
0000016a: DUP2
0000016b: ADD
0000016c: SWAP1
0000016d: PUSH1 0x1f
0000016f: AND
00000170: DUP1
00000171: ISZERO
00000172: PUSH2 0x018f
00000175: JUMPI
00000176: DUP1
00000177: DUP3
00000178: SUB
00000179: DUP1
0000017a: MLOAD
0000017b: PUSH1 0x01
0000017d: DUP4
0000017e: PUSH1 0x20
00000180: SUB
00000181: PUSH2 0x0100
00000184: EXP
00000185: SUB
00000186: NOT
00000187: AND
00000188: DUP2
00000189: MSTORE
0000018a: PUSH1 0x20
0000018c: ADD
0000018d: SWAP2
0000018e: POP
0000018f: JUMPDEST
00000190: POP
00000191: SWAP3
00000192: POP
00000193: POP
00000194: POP
00000195: PUSH1 0x40
00000197: MLOAD
00000198: DUP1
00000199: SWAP2
0000019a: SUB
0000019b: SWAP1
0000019c: RETURN
0000019d: JUMPDEST
0000019e: PUSH2 0x01bc
000001a1: PUSH1 0x04
000001a3: DUP1
000001a4: DUP1
000001a5: CALLDATALOAD
000001a6: SWAP1
000001a7: PUSH1 0x20
000001a9: ADD
000001aa: SWAP1
000001ab: SWAP2
000001ac: SWAP1
000001ad: DUP1
000001ae: CALLDATALOAD
000001af: SWAP1
000001b0: PUSH1 0x20
000001b2: ADD
000001b3: SWAP1
000001b4: SWAP2
000001b5: SWAP1
000001b6: POP
000001b7: POP
000001b8: PUSH2 0x0689
000001bb: JUMP
000001bc: JUMPDEST
000001bd: PUSH1 0x40
000001bf: MLOAD
000001c0: DUP1
000001c1: DUP3
000001c2: ISZERO
000001c3: ISZERO
000001c4: DUP2
000001c5: MSTORE
000001c6: PUSH1 0x20
000001c8: ADD
000001c9: SWAP2
000001ca: POP
000001cb: POP
000001cc: PUSH1 0x40
000001ce: MLOAD
000001cf: DUP1
000001d0: SWAP2
000001d1: SUB
000001d2: SWAP1
000001d3: RETURN
000001d4: JUMPDEST
000001d5: PUSH2 0x01ea
000001d8: PUSH1 0x04
000001da: DUP1
000001db: DUP1
000001dc: CALLDATALOAD
000001dd: SWAP1
000001de: PUSH1 0x20
000001e0: ADD
000001e1: SWAP1
000001e2: SWAP2
000001e3: SWAP1
000001e4: POP
000001e5: POP
000001e6: PUSH2 0x06f8
000001e9: JUMP
000001ea: JUMPDEST
000001eb: PUSH1 0x40
000001ed: MLOAD
000001ee: DUP1
000001ef: DUP3
000001f0: ISZERO
000001f1: ISZERO
000001f2: DUP2
000001f3: MSTORE
000001f4: PUSH1 0x20
000001f6: ADD
000001f7: SWAP2
000001f8: POP
000001f9: POP
000001fa: PUSH1 0x40
000001fc: MLOAD
000001fd: DUP1
000001fe: SWAP2
000001ff: SUB
00000200: SWAP1
00000201: RETURN
00000202: JUMPDEST
00000203: PUSH2 0x020f
00000206: PUSH1 0x04
00000208: DUP1
00000209: POP
0000020a: POP
0000020b: PUSH2 0x0906
0000020e: JUMP
0000020f: JUMPDEST
00000210: PUSH1 0x40
00000212: MLOAD
00000213: DUP1
00000214: DUP3
00000215: DUP2
00000216: MSTORE
00000217: PUSH1 0x20
00000219: ADD
0000021a: SWAP2
0000021b: POP
0000021c: POP
0000021d: PUSH1 0x40
0000021f: MLOAD
00000220: DUP1
00000221: SWAP2
00000222: SUB
00000223: SWAP1
00000224: RETURN
00000225: JUMPDEST
00000226: PUSH2 0x024d
00000229: PUSH1 0x04
0000022b: DUP1
0000022c: DUP1
0000022d: CALLDATALOAD
0000022e: SWAP1
0000022f: PUSH1 0x20
00000231: ADD
00000232: SWAP1
00000233: SWAP2
00000234: SWAP1
00000235: DUP1
00000236: CALLDATALOAD
00000237: SWAP1
00000238: PUSH1 0x20
0000023a: ADD
0000023b: SWAP1
0000023c: SWAP2
0000023d: SWAP1
0000023e: DUP1
0000023f: CALLDATALOAD
00000240: SWAP1
00000241: PUSH1 0x20
00000243: ADD
00000244: SWAP1
00000245: SWAP2
00000246: SWAP1
00000247: POP
00000248: POP
00000249: PUSH2 0x090f
0000024c: JUMP
0000024d: JUMPDEST
0000024e: PUSH1 0x40
00000250: MLOAD
00000251: DUP1
00000252: DUP3
00000253: ISZERO
00000254: ISZERO
00000255: DUP2
00000256: MSTORE
00000257: PUSH1 0x20
00000259: ADD
0000025a: SWAP2
0000025b: POP
0000025c: POP
0000025d: PUSH1 0x40
0000025f: MLOAD
00000260: DUP1
00000261: SWAP2
00000262: SUB
00000263: SWAP1
00000264: RETURN
00000265: JUMPDEST
00000266: PUSH2 0x0272
00000269: PUSH1 0x04
0000026b: DUP1
0000026c: POP
0000026d: POP
0000026e: PUSH2 0x0b73
00000271: JUMP
00000272: JUMPDEST
00000273: PUSH1 0x40
00000275: MLOAD
00000276: DUP1
00000277: DUP3
00000278: PUSH1 0xff
0000027a: AND
0000027b: DUP2
0000027c: MSTORE
0000027d: PUSH1 0x20
0000027f: ADD
00000280: SWAP2
00000281: POP
00000282: POP
00000283: PUSH1 0x40
00000285: MLOAD
00000286: DUP1
00000287: SWAP2
00000288: SUB
00000289: SWAP1
0000028a: RETURN
0000028b: JUMPDEST
0000028c: PUSH2 0x0298
0000028f: PUSH1 0x04
00000291: DUP1
00000292: POP
00000293: POP
00000294: PUSH2 0x0b86
00000297: JUMP
00000298: JUMPDEST
00000299: PUSH1 0x40
0000029b: MLOAD
0000029c: DUP1
0000029d: DUP1
0000029e: PUSH1 0x20
000002a0: ADD
000002a1: DUP3
000002a2: DUP2
000002a3: SUB
000002a4: DUP3
000002a5: MSTORE
000002a6: DUP4
000002a7: DUP2
000002a8: DUP2
000002a9: MLOAD
000002aa: DUP2
000002ab: MSTORE
000002ac: PUSH1 0x20
000002ae: ADD
000002af: SWAP2
000002b0: POP
000002b1: DUP1
000002b2: MLOAD
000002b3: SWAP1
000002b4: PUSH1 0x20
000002b6: ADD
000002b7: SWAP1
000002b8: DUP1
000002b9: DUP4
000002ba: DUP4
000002bb: DUP3
000002bc: SWAP1
000002bd: PUSH1 0x00
000002bf: PUSH1 0x04
000002c1: PUSH1 0x20
000002c3: DUP5
000002c4: PUSH1 0x1f
000002c6: ADD
000002c7: DIV
000002c8: PUSH1 0x03
000002ca: MUL
000002cb: PUSH1 0x0f
000002cd: ADD
000002ce: CALL
000002cf: POP
000002d0: SWAP1
000002d1: POP
000002d2: SWAP1
000002d3: DUP2
000002d4: ADD
000002d5: SWAP1
000002d6: PUSH1 0x1f
000002d8: AND
000002d9: DUP1
000002da: ISZERO
000002db: PUSH2 0x02f8
000002de: JUMPI
000002df: DUP1
000002e0: DUP3
000002e1: SUB
000002e2: DUP1
000002e3: MLOAD
000002e4: PUSH1 0x01
000002e6: DUP4
000002e7: PUSH1 0x20
000002e9: SUB
000002ea: PUSH2 0x0100
000002ed: EXP
000002ee: SUB
000002ef: NOT
000002f0: AND
000002f1: DUP2
000002f2: MSTORE
000002f3: PUSH1 0x20
000002f5: ADD
000002f6: SWAP2
000002f7: POP
000002f8: JUMPDEST
000002f9: POP
000002fa: SWAP3
000002fb: POP
000002fc: POP
000002fd: POP
000002fe: PUSH1 0x40
00000300: MLOAD
00000301: DUP1
00000302: SWAP2
00000303: SUB
00000304: SWAP1
00000305: RETURN
00000306: JUMPDEST
00000307: PUSH2 0x031c
0000030a: PUSH1 0x04
0000030c: DUP1
0000030d: DUP1
0000030e: CALLDATALOAD
0000030f: SWAP1
00000310: PUSH1 0x20
00000312: ADD
00000313: SWAP1
00000314: SWAP2
00000315: SWAP1
00000316: POP
00000317: POP
00000318: PUSH2 0x0c27
0000031b: JUMP
0000031c: JUMPDEST
0000031d: PUSH1 0x40
0000031f: MLOAD
00000320: DUP1
00000321: DUP3
00000322: DUP2
00000323: MSTORE
00000324: PUSH1 0x20
00000326: ADD
00000327: SWAP2
00000328: POP
00000329: POP
0000032a: PUSH1 0x40
0000032c: MLOAD
0000032d: DUP1
0000032e: SWAP2
0000032f: SUB
00000330: SWAP1
00000331: RETURN
00000332: JUMPDEST
00000333: PUSH2 0x033f
00000336: PUSH1 0x04
00000338: DUP1
00000339: POP
0000033a: POP
0000033b: PUSH2 0x0c42
0000033e: JUMP
0000033f: JUMPDEST
00000340: PUSH1 0x40
00000342: MLOAD
00000343: DUP1
00000344: DUP3
00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035a: AND
0000035b: DUP2
0000035c: MSTORE
0000035d: PUSH1 0x20
0000035f: ADD
00000360: SWAP2
00000361: POP
00000362: POP
00000363: PUSH1 0x40
00000365: MLOAD
00000366: DUP1
00000367: SWAP2
00000368: SUB
00000369: SWAP1
0000036a: RETURN
0000036b: JUMPDEST
0000036c: PUSH2 0x0378
0000036f: PUSH1 0x04
00000371: DUP1
00000372: POP
00000373: POP
00000374: PUSH2 0x0c68
00000377: JUMP
00000378: JUMPDEST
00000379: STOP
0000037a: JUMPDEST
0000037b: PUSH2 0x0387
0000037e: PUSH1 0x04
00000380: DUP1
00000381: POP
00000382: POP
00000383: PUSH2 0x0d33
00000386: JUMP
00000387: JUMPDEST
00000388: PUSH1 0x40
0000038a: MLOAD
0000038b: DUP1
0000038c: DUP3
0000038d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a2: AND
000003a3: DUP2
000003a4: MSTORE
000003a5: PUSH1 0x20
000003a7: ADD
000003a8: SWAP2
000003a9: POP
000003aa: POP
000003ab: PUSH1 0x40
000003ad: MLOAD
000003ae: DUP1
000003af: SWAP2
000003b0: SUB
000003b1: SWAP1
000003b2: RETURN
000003b3: JUMPDEST
000003b4: PUSH2 0x03c0
000003b7: PUSH1 0x04
000003b9: DUP1
000003ba: POP
000003bb: POP
000003bc: PUSH2 0x0d59
000003bf: JUMP
000003c0: JUMPDEST
000003c1: PUSH1 0x40
000003c3: MLOAD
000003c4: DUP1
000003c5: DUP1
000003c6: PUSH1 0x20
000003c8: ADD
000003c9: DUP3
000003ca: DUP2
000003cb: SUB
000003cc: DUP3
000003cd: MSTORE
000003ce: DUP4
000003cf: DUP2
000003d0: DUP2
000003d1: MLOAD
000003d2: DUP2
000003d3: MSTORE
000003d4: PUSH1 0x20
000003d6: ADD
000003d7: SWAP2
000003d8: POP
000003d9: DUP1
000003da: MLOAD
000003db: SWAP1
000003dc: PUSH1 0x20
000003de: ADD
000003df: SWAP1
000003e0: DUP1
000003e1: DUP4
000003e2: DUP4
000003e3: DUP3
000003e4: SWAP1
000003e5: PUSH1 0x00
000003e7: PUSH1 0x04
000003e9: PUSH1 0x20
000003eb: DUP5
000003ec: PUSH1 0x1f
000003ee: ADD
000003ef: DIV
000003f0: PUSH1 0x03
000003f2: MUL
000003f3: PUSH1 0x0f
000003f5: ADD
000003f6: CALL
000003f7: POP
000003f8: SWAP1
000003f9: POP
000003fa: SWAP1
000003fb: DUP2
000003fc: ADD
000003fd: SWAP1
000003fe: PUSH1 0x1f
00000400: AND
00000401: DUP1
00000402: ISZERO
00000403: PUSH2 0x0420
00000406: JUMPI
00000407: DUP1
00000408: DUP3
00000409: SUB
0000040a: DUP1
0000040b: MLOAD
0000040c: PUSH1 0x01
0000040e: DUP4
0000040f: PUSH1 0x20
00000411: SUB
00000412: PUSH2 0x0100
00000415: EXP
00000416: SUB
00000417: NOT
00000418: AND
00000419: DUP2
0000041a: MSTORE
0000041b: PUSH1 0x20
0000041d: ADD
0000041e: SWAP2
0000041f: POP
00000420: JUMPDEST
00000421: POP
00000422: SWAP3
00000423: POP
00000424: POP
00000425: POP
00000426: PUSH1 0x40
00000428: MLOAD
00000429: DUP1
0000042a: SWAP2
0000042b: SUB
0000042c: SWAP1
0000042d: RETURN
0000042e: JUMPDEST
0000042f: PUSH2 0x044d
00000432: PUSH1 0x04
00000434: DUP1
00000435: DUP1
00000436: CALLDATALOAD
00000437: SWAP1
00000438: PUSH1 0x20
0000043a: ADD
0000043b: SWAP1
0000043c: SWAP2
0000043d: SWAP1
0000043e: DUP1
0000043f: CALLDATALOAD
00000440: SWAP1
00000441: PUSH1 0x20
00000443: ADD
00000444: SWAP1
00000445: SWAP2
00000446: SWAP1
00000447: POP
00000448: POP
00000449: PUSH2 0x0dfa
0000044c: JUMP
0000044d: JUMPDEST
0000044e: STOP
0000044f: JUMPDEST
00000450: PUSH2 0x045c
00000453: PUSH1 0x04
00000455: DUP1
00000456: POP
00000457: POP
00000458: PUSH2 0x0f85
0000045b: JUMP
0000045c: JUMPDEST
0000045d: PUSH1 0x40
0000045f: MLOAD
00000460: DUP1
00000461: DUP3
00000462: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000477: AND
00000478: DUP2
00000479: MSTORE
0000047a: PUSH1 0x20
0000047c: ADD
0000047d: SWAP2
0000047e: POP
0000047f: POP
00000480: PUSH1 0x40
00000482: MLOAD
00000483: DUP1
00000484: SWAP2
00000485: SUB
00000486: SWAP1
00000487: RETURN
00000488: JUMPDEST
00000489: PUSH2 0x0495
0000048c: PUSH1 0x04
0000048e: DUP1
0000048f: POP
00000490: POP
00000491: PUSH2 0x0fab
00000494: JUMP
00000495: JUMPDEST
00000496: PUSH1 0x40
00000498: MLOAD
00000499: DUP1
0000049a: DUP3
0000049b: DUP2
0000049c: MSTORE
0000049d: PUSH1 0x20
0000049f: ADD
000004a0: SWAP2
000004a1: POP
000004a2: POP
000004a3: PUSH1 0x40
000004a5: MLOAD
000004a6: DUP1
000004a7: SWAP2
000004a8: SUB
000004a9: SWAP1
000004aa: RETURN
000004ab: JUMPDEST
000004ac: PUSH2 0x04b8
000004af: PUSH1 0x04
000004b1: DUP1
000004b2: POP
000004b3: POP
000004b4: PUSH2 0x0fb4
000004b7: JUMP
000004b8: JUMPDEST
000004b9: STOP
000004ba: JUMPDEST
000004bb: PUSH2 0x0520
000004be: PUSH1 0x04
000004c0: DUP1
000004c1: DUP1
000004c2: CALLDATALOAD
000004c3: SWAP1
000004c4: PUSH1 0x20
000004c6: ADD
000004c7: SWAP1
000004c8: SWAP2
000004c9: SWAP1
000004ca: DUP1
000004cb: CALLDATALOAD
000004cc: SWAP1
000004cd: PUSH1 0x20
000004cf: ADD
000004d0: SWAP1
000004d1: SWAP2
000004d2: SWAP1
000004d3: DUP1
000004d4: CALLDATALOAD
000004d5: SWAP1
000004d6: PUSH1 0x20
000004d8: ADD
000004d9: SWAP1
000004da: DUP3
000004db: ADD
000004dc: DUP1
000004dd: CALLDATALOAD
000004de: SWAP1
000004df: PUSH1 0x20
000004e1: ADD
000004e2: SWAP2
000004e3: SWAP2
000004e4: SWAP1
000004e5: DUP1
000004e6: DUP1
000004e7: PUSH1 0x1f
000004e9: ADD
000004ea: PUSH1 0x20
000004ec: DUP1
000004ed: SWAP2
000004ee: DIV
000004ef: MUL
000004f0: PUSH1 0x20
000004f2: ADD
000004f3: PUSH1 0x40
000004f5: MLOAD
000004f6: SWAP1
000004f7: DUP2
000004f8: ADD
000004f9: PUSH1 0x40
000004fb: MSTORE
000004fc: DUP1
000004fd: SWAP4
000004fe: SWAP3
000004ff: SWAP2
00000500: SWAP1
00000501: DUP2
00000502: DUP2
00000503: MSTORE
00000504: PUSH1 0x20
00000506: ADD
00000507: DUP4
00000508: DUP4
00000509: DUP1
0000050a: DUP3
0000050b: DUP5
0000050c: CALLDATACOPY
0000050d: DUP3
0000050e: ADD
0000050f: SWAP2
00000510: POP
00000511: POP
00000512: POP
00000513: POP
00000514: POP
00000515: POP
00000516: SWAP1
00000517: SWAP1
00000518: SWAP2
00000519: SWAP1
0000051a: POP
0000051b: POP
0000051c: PUSH2 0x104e
0000051f: JUMP
00000520: JUMPDEST
00000521: PUSH1 0x40
00000523: MLOAD
00000524: DUP1
00000525: DUP3
00000526: ISZERO
00000527: ISZERO
00000528: DUP2
00000529: MSTORE
0000052a: PUSH1 0x20
0000052c: ADD
0000052d: SWAP2
0000052e: POP
0000052f: POP
00000530: PUSH1 0x40
00000532: MLOAD
00000533: DUP1
00000534: SWAP2
00000535: SUB
00000536: SWAP1
00000537: RETURN
00000538: JUMPDEST
00000539: PUSH2 0x0557
0000053c: PUSH1 0x04
0000053e: DUP1
0000053f: DUP1
00000540: CALLDATALOAD
00000541: SWAP1
00000542: PUSH1 0x20
00000544: ADD
00000545: SWAP1
00000546: SWAP2
00000547: SWAP1
00000548: DUP1
00000549: CALLDATALOAD
0000054a: SWAP1
0000054b: PUSH1 0x20
0000054d: ADD
0000054e: SWAP1
0000054f: SWAP2
00000550: SWAP1
00000551: POP
00000552: POP
00000553: PUSH2 0x117b
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH1 0x40
0000055a: MLOAD
0000055b: DUP1
0000055c: DUP3
0000055d: DUP2
0000055e: MSTORE
0000055f: PUSH1 0x20
00000561: ADD
00000562: SWAP2
00000563: POP
00000564: POP
00000565: PUSH1 0x40
00000567: MLOAD
00000568: DUP1
00000569: SWAP2
0000056a: SUB
0000056b: SWAP1
0000056c: RETURN
0000056d: JUMPDEST
0000056e: PUSH2 0x057a
00000571: PUSH1 0x04
00000573: DUP1
00000574: POP
00000575: POP
00000576: PUSH2 0x11a6
00000579: JUMP
0000057a: JUMPDEST
0000057b: PUSH1 0x40
0000057d: MLOAD
0000057e: DUP1
0000057f: DUP3
00000580: DUP2
00000581: MSTORE
00000582: PUSH1 0x20
00000584: ADD
00000585: SWAP2
00000586: POP
00000587: POP
00000588: PUSH1 0x40
0000058a: MLOAD
0000058b: DUP1
0000058c: SWAP2
0000058d: SUB
0000058e: SWAP1
0000058f: RETURN
00000590: JUMPDEST
00000591: PUSH2 0x05a6
00000594: PUSH1 0x04
00000596: DUP1
00000597: DUP1
00000598: CALLDATALOAD
00000599: SWAP1
0000059a: PUSH1 0x20
0000059c: ADD
0000059d: SWAP1
0000059e: SWAP2
0000059f: SWAP1
000005a0: POP
000005a1: POP
000005a2: PUSH2 0x11af
000005a5: JUMP
000005a6: JUMPDEST
000005a7: PUSH1 0x40
000005a9: MLOAD
000005aa: DUP1
000005ab: DUP3
000005ac: DUP2
000005ad: MSTORE
000005ae: PUSH1 0x20
000005b0: ADD
000005b1: SWAP2
000005b2: POP
000005b3: POP
000005b4: PUSH1 0x40
000005b6: MLOAD
000005b7: DUP1
000005b8: SWAP2
000005b9: SUB
000005ba: SWAP1
000005bb: RETURN
000005bc: JUMPDEST
000005bd: PUSH2 0x05d2
000005c0: PUSH1 0x04
000005c2: DUP1
000005c3: DUP1
000005c4: CALLDATALOAD
000005c5: SWAP1
000005c6: PUSH1 0x20
000005c8: ADD
000005c9: SWAP1
000005ca: SWAP2
000005cb: SWAP1
000005cc: POP
000005cd: POP
000005ce: PUSH2 0x11ed
000005d1: JUMP
000005d2: JUMPDEST
000005d3: PUSH1 0x40
000005d5: MLOAD
000005d6: DUP1
000005d7: DUP3
000005d8: DUP2
000005d9: MSTORE
000005da: PUSH1 0x20
000005dc: ADD
000005dd: SWAP2
000005de: POP
000005df: POP
000005e0: PUSH1 0x40
000005e2: MLOAD
000005e3: DUP1
000005e4: SWAP2
000005e5: SUB
000005e6: SWAP1
000005e7: RETURN
000005e8: JUMPDEST
000005e9: PUSH1 0x01
000005eb: PUSH1 0x00
000005ed: POP
000005ee: DUP1
000005ef: SLOAD
000005f0: PUSH1 0x01
000005f2: DUP2
000005f3: PUSH1 0x01
000005f5: AND
000005f6: ISZERO
000005f7: PUSH2 0x0100
000005fa: MUL
000005fb: SUB
000005fc: AND
000005fd: PUSH1 0x02
000005ff: SWAP1
00000600: DIV
00000601: DUP1
00000602: PUSH1 0x1f
00000604: ADD
00000605: PUSH1 0x20
00000607: DUP1
00000608: SWAP2
00000609: DIV
0000060a: MUL
0000060b: PUSH1 0x20
0000060d: ADD
0000060e: PUSH1 0x40
00000610: MLOAD
00000611: SWAP1
00000612: DUP2
00000613: ADD
00000614: PUSH1 0x40
00000616: MSTORE
00000617: DUP1
00000618: SWAP3
00000619: SWAP2
0000061a: SWAP1
0000061b: DUP2
0000061c: DUP2
0000061d: MSTORE
0000061e: PUSH1 0x20
00000620: ADD
00000621: DUP3
00000622: DUP1
00000623: SLOAD
00000624: PUSH1 0x01
00000626: DUP2
00000627: PUSH1 0x01
00000629: AND
0000062a: ISZERO
0000062b: PUSH2 0x0100
0000062e: MUL
0000062f: SUB
00000630: AND
00000631: PUSH1 0x02
00000633: SWAP1
00000634: DIV
00000635: DUP1
00000636: ISZERO
00000637: PUSH2 0x0681
0000063a: JUMPI
0000063b: DUP1
0000063c: PUSH1 0x1f
0000063e: LT
0000063f: PUSH2 0x0656
00000642: JUMPI
00000643: PUSH2 0x0100
00000646: DUP1
00000647: DUP4
00000648: SLOAD
00000649: DIV
0000064a: MUL
0000064b: DUP4
0000064c: MSTORE
0000064d: SWAP2
0000064e: PUSH1 0x20
00000650: ADD
00000651: SWAP2
00000652: PUSH2 0x0681
00000655: JUMP
00000656: JUMPDEST
00000657: DUP3
00000658: ADD
00000659: SWAP2
0000065a: SWAP1
0000065b: PUSH1 0x00
0000065d: MSTORE
0000065e: PUSH1 0x20
00000660: PUSH1 0x00
00000662: KECCAK256
00000663: SWAP1
00000664: JUMPDEST
00000665: DUP2
00000666: SLOAD
00000667: DUP2
00000668: MSTORE
00000669: SWAP1
0000066a: PUSH1 0x01
0000066c: ADD
0000066d: SWAP1
0000066e: PUSH1 0x20
00000670: ADD
00000671: DUP1
00000672: DUP4
00000673: GT
00000674: PUSH2 0x0664
00000677: JUMPI
00000678: DUP3
00000679: SWAP1
0000067a: SUB
0000067b: PUSH1 0x1f
0000067d: AND
0000067e: DUP3
0000067f: ADD
00000680: SWAP2
00000681: JUMPDEST
00000682: POP
00000683: POP
00000684: POP
00000685: POP
00000686: POP
00000687: DUP2
00000688: JUMP
00000689: JUMPDEST
0000068a: PUSH1 0x00
0000068c: DUP2
0000068d: PUSH1 0x07
0000068f: PUSH1 0x00
00000691: POP
00000692: PUSH1 0x00
00000694: CALLER
00000695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006aa: AND
000006ab: DUP2
000006ac: MSTORE
000006ad: PUSH1 0x20
000006af: ADD
000006b0: SWAP1
000006b1: DUP2
000006b2: MSTORE
000006b3: PUSH1 0x20
000006b5: ADD
000006b6: PUSH1 0x00
000006b8: KECCAK256
000006b9: PUSH1 0x00
000006bb: POP
000006bc: PUSH1 0x00
000006be: DUP6
000006bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006d4: AND
000006d5: DUP2
000006d6: MSTORE
000006d7: PUSH1 0x20
000006d9: ADD
000006da: SWAP1
000006db: DUP2
000006dc: MSTORE
000006dd: PUSH1 0x20
000006df: ADD
000006e0: PUSH1 0x00
000006e2: KECCAK256
000006e3: PUSH1 0x00
000006e5: POP
000006e6: DUP2
000006e7: SWAP1
000006e8: SSTORE
000006e9: POP
000006ea: PUSH1 0x01
000006ec: SWAP1
000006ed: POP
000006ee: PUSH2 0x06f2
000006f1: JUMP
000006f2: JUMPDEST
000006f3: SWAP3
000006f4: SWAP2
000006f5: POP
000006f6: POP
000006f7: JUMP
000006f8: JUMPDEST
000006f9: PUSH1 0x00
000006fb: PUSH1 0x00
000006fd: DUP3
000006fe: PUSH1 0x0b
00000700: PUSH1 0x00
00000702: POP
00000703: PUSH1 0x00
00000705: CALLER
00000706: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000071b: AND
0000071c: DUP2
0000071d: MSTORE
0000071e: PUSH1 0x20
00000720: ADD
00000721: SWAP1
00000722: DUP2
00000723: MSTORE
00000724: PUSH1 0x20
00000726: ADD
00000727: PUSH1 0x00
00000729: KECCAK256
0000072a: PUSH1 0x00
0000072c: POP
0000072d: SLOAD
0000072e: LT
0000072f: ISZERO
00000730: PUSH2 0x0738
00000733: JUMPI
00000734: PUSH2 0x0002
00000737: JUMP
00000738: JUMPDEST
00000739: PUSH1 0x0e
0000073b: PUSH1 0x00
0000073d: POP
0000073e: SLOAD
0000073f: PUSH1 0x0a
00000741: PUSH1 0x00
00000743: SWAP1
00000744: SLOAD
00000745: SWAP1
00000746: PUSH2 0x0100
00000749: EXP
0000074a: SWAP1
0000074b: DIV
0000074c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000761: AND
00000762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000777: AND
00000778: PUSH4 0xf8b2cb4f
0000077d: CALLER
0000077e: PUSH1 0x40
00000780: MLOAD
00000781: DUP3
00000782: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000007a0: MUL
000007a1: DUP2
000007a2: MSTORE
000007a3: PUSH1 0x04
000007a5: ADD
000007a6: DUP1
000007a7: DUP3
000007a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007bd: AND
000007be: DUP2
000007bf: MSTORE
000007c0: PUSH1 0x20
000007c2: ADD
000007c3: SWAP2
000007c4: POP
000007c5: POP
000007c6: PUSH1 0x20
000007c8: PUSH1 0x40
000007ca: MLOAD
000007cb: DUP1
000007cc: DUP4
000007cd: SUB
000007ce: DUP2
000007cf: PUSH1 0x00
000007d1: DUP8
000007d2: PUSH2 0x61da
000007d5: GAS
000007d6: SUB
000007d7: CALL
000007d8: ISZERO
000007d9: PUSH2 0x0002
000007dc: JUMPI
000007dd: POP
000007de: POP
000007df: POP
000007e0: PUSH1 0x40
000007e2: MLOAD
000007e3: DUP1
000007e4: MLOAD
000007e5: SWAP1
000007e6: PUSH1 0x20
000007e8: ADD
000007e9: POP
000007ea: GT
000007eb: ISZERO
000007ec: PUSH2 0x082b
000007ef: JUMPI
000007f0: CALLER
000007f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000806: AND
00000807: PUSH1 0x00
00000809: DUP5
0000080a: PUSH1 0x40
0000080c: MLOAD
0000080d: DUP1
0000080e: SWAP1
0000080f: POP
00000810: PUSH1 0x00
00000812: PUSH1 0x40
00000814: MLOAD
00000815: DUP1
00000816: DUP4
00000817: SUB
00000818: DUP2
00000819: DUP6
0000081a: DUP9
0000081b: DUP9
0000081c: CALL
0000081d: SWAP4
0000081e: POP
0000081f: POP
00000820: POP
00000821: POP
00000822: POP
00000823: PUSH1 0x01
00000825: SWAP2
00000826: POP
00000827: PUSH2 0x0900
0000082a: JUMP
0000082b: JUMPDEST
0000082c: PUSH1 0x0d
0000082e: PUSH1 0x00
00000830: POP
00000831: SLOAD
00000832: DUP4
00000833: DIV
00000834: SWAP1
00000835: POP
00000836: CALLER
00000837: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000084c: AND
0000084d: PUSH1 0x00
0000084f: DUP5
00000850: PUSH1 0x40
00000852: MLOAD
00000853: DUP1
00000854: SWAP1
00000855: POP
00000856: PUSH1 0x00
00000858: PUSH1 0x40
0000085a: MLOAD
0000085b: DUP1
0000085c: DUP4
0000085d: SUB
0000085e: DUP2
0000085f: DUP6
00000860: DUP9
00000861: DUP9
00000862: CALL
00000863: SWAP4
00000864: POP
00000865: POP
00000866: POP
00000867: POP
00000868: ISZERO
00000869: PUSH2 0x08f7
0000086c: JUMPI
0000086d: DUP3
0000086e: PUSH1 0x0b
00000870: PUSH1 0x00
00000872: POP
00000873: PUSH1 0x00
00000875: ORIGIN
00000876: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000088b: AND
0000088c: DUP2
0000088d: MSTORE
0000088e: PUSH1 0x20
00000890: ADD
00000891: SWAP1
00000892: DUP2
00000893: MSTORE
00000894: PUSH1 0x20
00000896: ADD
00000897: PUSH1 0x00
00000899: KECCAK256
0000089a: PUSH1 0x00
0000089c: DUP3
0000089d: DUP3
0000089e: DUP3
0000089f: POP
000008a0: SLOAD
000008a1: SUB
000008a2: SWAP3
000008a3: POP
000008a4: POP
000008a5: DUP2
000008a6: SWAP1
000008a7: SSTORE
000008a8: POP
000008a9: DUP1
000008aa: PUSH1 0x0c
000008ac: PUSH1 0x00
000008ae: POP
000008af: PUSH1 0x00
000008b1: ORIGIN
000008b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c7: AND
000008c8: DUP2
000008c9: MSTORE
000008ca: PUSH1 0x20
000008cc: ADD
000008cd: SWAP1
000008ce: DUP2
000008cf: MSTORE
000008d0: PUSH1 0x20
000008d2: ADD
000008d3: PUSH1 0x00
000008d5: KECCAK256
000008d6: PUSH1 0x00
000008d8: DUP3
000008d9: DUP3
000008da: DUP3
000008db: POP
000008dc: SLOAD
000008dd: SUB
000008de: SWAP3
000008df: POP
000008e0: POP
000008e1: DUP2
000008e2: SWAP1
000008e3: SSTORE
000008e4: POP
000008e5: PUSH2 0x08ee
000008e8: PUSH1 0x01
000008ea: PUSH2 0x1208
000008ed: JUMP
000008ee: JUMPDEST
000008ef: PUSH1 0x01
000008f1: SWAP2
000008f2: POP
000008f3: PUSH2 0x0900
000008f6: JUMP
000008f7: JUMPDEST
000008f8: PUSH1 0x00
000008fa: SWAP2
000008fb: POP
000008fc: PUSH2 0x0900
000008ff: JUMP
00000900: JUMPDEST
00000901: POP
00000902: SWAP2
00000903: SWAP1
00000904: POP
00000905: JUMP
00000906: JUMPDEST
00000907: PUSH1 0x04
00000909: PUSH1 0x00
0000090b: POP
0000090c: SLOAD
0000090d: DUP2
0000090e: JUMP
0000090f: JUMPDEST
00000910: PUSH1 0x00
00000912: DUP2
00000913: PUSH1 0x06
00000915: PUSH1 0x00
00000917: POP
00000918: PUSH1 0x00
0000091a: DUP7
0000091b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000930: AND
00000931: DUP2
00000932: MSTORE
00000933: PUSH1 0x20
00000935: ADD
00000936: SWAP1
00000937: DUP2
00000938: MSTORE
00000939: PUSH1 0x20
0000093b: ADD
0000093c: PUSH1 0x00
0000093e: KECCAK256
0000093f: PUSH1 0x00
00000941: POP
00000942: SLOAD
00000943: LT
00000944: ISZERO
00000945: PUSH2 0x094d
00000948: JUMPI
00000949: PUSH2 0x0002
0000094c: JUMP
0000094d: JUMPDEST
0000094e: PUSH1 0x06
00000950: PUSH1 0x00
00000952: POP
00000953: PUSH1 0x00
00000955: DUP5
00000956: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000096b: AND
0000096c: DUP2
0000096d: MSTORE
0000096e: PUSH1 0x20
00000970: ADD
00000971: SWAP1
00000972: DUP2
00000973: MSTORE
00000974: PUSH1 0x20
00000976: ADD
00000977: PUSH1 0x00
00000979: KECCAK256
0000097a: PUSH1 0x00
0000097c: POP
0000097d: SLOAD
0000097e: DUP3
0000097f: PUSH1 0x06
00000981: PUSH1 0x00
00000983: POP
00000984: PUSH1 0x00
00000986: DUP7
00000987: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000099c: AND
0000099d: DUP2
0000099e: MSTORE
0000099f: PUSH1 0x20
000009a1: ADD
000009a2: SWAP1
000009a3: DUP2
000009a4: MSTORE
000009a5: PUSH1 0x20
000009a7: ADD
000009a8: PUSH1 0x00
000009aa: KECCAK256
000009ab: PUSH1 0x00
000009ad: POP
000009ae: SLOAD
000009af: ADD
000009b0: LT
000009b1: ISZERO
000009b2: PUSH2 0x09ba
000009b5: JUMPI
000009b6: PUSH2 0x0002
000009b9: JUMP
000009ba: JUMPDEST
000009bb: PUSH1 0x07
000009bd: PUSH1 0x00
000009bf: POP
000009c0: PUSH1 0x00
000009c2: DUP6
000009c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009d8: AND
000009d9: DUP2
000009da: MSTORE
000009db: PUSH1 0x20
000009dd: ADD
000009de: SWAP1
000009df: DUP2
000009e0: MSTORE
000009e1: PUSH1 0x20
000009e3: ADD
000009e4: PUSH1 0x00
000009e6: KECCAK256
000009e7: PUSH1 0x00
000009e9: POP
000009ea: PUSH1 0x00
000009ec: CALLER
000009ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a02: AND
00000a03: DUP2
00000a04: MSTORE
00000a05: PUSH1 0x20
00000a07: ADD
00000a08: SWAP1
00000a09: DUP2
00000a0a: MSTORE
00000a0b: PUSH1 0x20
00000a0d: ADD
00000a0e: PUSH1 0x00
00000a10: KECCAK256
00000a11: PUSH1 0x00
00000a13: POP
00000a14: SLOAD
00000a15: DUP3
00000a16: GT
00000a17: ISZERO
00000a18: PUSH2 0x0a20
00000a1b: JUMPI
00000a1c: PUSH2 0x0002
00000a1f: JUMP
00000a20: JUMPDEST
00000a21: DUP2
00000a22: PUSH1 0x06
00000a24: PUSH1 0x00
00000a26: POP
00000a27: PUSH1 0x00
00000a29: DUP7
00000a2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a3f: AND
00000a40: DUP2
00000a41: MSTORE
00000a42: PUSH1 0x20
00000a44: ADD
00000a45: SWAP1
00000a46: DUP2
00000a47: MSTORE
00000a48: PUSH1 0x20
00000a4a: ADD
00000a4b: PUSH1 0x00
00000a4d: KECCAK256
00000a4e: PUSH1 0x00
00000a50: DUP3
00000a51: DUP3
00000a52: DUP3
00000a53: POP
00000a54: SLOAD
00000a55: SUB
00000a56: SWAP3
00000a57: POP
00000a58: POP
00000a59: DUP2
00000a5a: SWAP1
00000a5b: SSTORE
00000a5c: POP
00000a5d: DUP2
00000a5e: PUSH1 0x06
00000a60: PUSH1 0x00
00000a62: POP
00000a63: PUSH1 0x00
00000a65: DUP6
00000a66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a7b: AND
00000a7c: DUP2
00000a7d: MSTORE
00000a7e: PUSH1 0x20
00000a80: ADD
00000a81: SWAP1
00000a82: DUP2
00000a83: MSTORE
00000a84: PUSH1 0x20
00000a86: ADD
00000a87: PUSH1 0x00
00000a89: KECCAK256
00000a8a: PUSH1 0x00
00000a8c: DUP3
00000a8d: DUP3
00000a8e: DUP3
00000a8f: POP
00000a90: SLOAD
00000a91: ADD
00000a92: SWAP3
00000a93: POP
00000a94: POP
00000a95: DUP2
00000a96: SWAP1
00000a97: SSTORE
00000a98: POP
00000a99: DUP2
00000a9a: PUSH1 0x07
00000a9c: PUSH1 0x00
00000a9e: POP
00000a9f: PUSH1 0x00
00000aa1: DUP7
00000aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab7: AND
00000ab8: DUP2
00000ab9: MSTORE
00000aba: PUSH1 0x20
00000abc: ADD
00000abd: SWAP1
00000abe: DUP2
00000abf: MSTORE
00000ac0: PUSH1 0x20
00000ac2: ADD
00000ac3: PUSH1 0x00
00000ac5: KECCAK256
00000ac6: PUSH1 0x00
00000ac8: POP
00000ac9: PUSH1 0x00
00000acb: CALLER
00000acc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ae1: AND
00000ae2: DUP2
00000ae3: MSTORE
00000ae4: PUSH1 0x20
00000ae6: ADD
00000ae7: SWAP1
00000ae8: DUP2
00000ae9: MSTORE
00000aea: PUSH1 0x20
00000aec: ADD
00000aed: PUSH1 0x00
00000aef: KECCAK256
00000af0: PUSH1 0x00
00000af2: DUP3
00000af3: DUP3
00000af4: DUP3
00000af5: POP
00000af6: SLOAD
00000af7: SUB
00000af8: SWAP3
00000af9: POP
00000afa: POP
00000afb: DUP2
00000afc: SWAP1
00000afd: SSTORE
00000afe: POP
00000aff: DUP3
00000b00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b15: AND
00000b16: DUP5
00000b17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b2c: AND
00000b2d: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000b4e: DUP5
00000b4f: PUSH1 0x40
00000b51: MLOAD
00000b52: DUP1
00000b53: DUP3
00000b54: DUP2
00000b55: MSTORE
00000b56: PUSH1 0x20
00000b58: ADD
00000b59: SWAP2
00000b5a: POP
00000b5b: POP
00000b5c: PUSH1 0x40
00000b5e: MLOAD
00000b5f: DUP1
00000b60: SWAP2
00000b61: SUB
00000b62: SWAP1
00000b63: LOG3
00000b64: PUSH1 0x01
00000b66: SWAP1
00000b67: POP
00000b68: PUSH2 0x0b6c
00000b6b: JUMP
00000b6c: JUMPDEST
00000b6d: SWAP4
00000b6e: SWAP3
00000b6f: POP
00000b70: POP
00000b71: POP
00000b72: JUMP
00000b73: JUMPDEST
00000b74: PUSH1 0x03
00000b76: PUSH1 0x00
00000b78: SWAP1
00000b79: SLOAD
00000b7a: SWAP1
00000b7b: PUSH2 0x0100
00000b7e: EXP
00000b7f: SWAP1
00000b80: DIV
00000b81: PUSH1 0xff
00000b83: AND
00000b84: DUP2
00000b85: JUMP
00000b86: JUMPDEST
00000b87: PUSH1 0x00
00000b89: PUSH1 0x00
00000b8b: POP
00000b8c: DUP1
00000b8d: SLOAD
00000b8e: PUSH1 0x01
00000b90: DUP2
00000b91: PUSH1 0x01
00000b93: AND
00000b94: ISZERO
00000b95: PUSH2 0x0100
00000b98: MUL
00000b99: SUB
00000b9a: AND
00000b9b: PUSH1 0x02
00000b9d: SWAP1
00000b9e: DIV
00000b9f: DUP1
00000ba0: PUSH1 0x1f
00000ba2: ADD
00000ba3: PUSH1 0x20
00000ba5: DUP1
00000ba6: SWAP2
00000ba7: DIV
00000ba8: MUL
00000ba9: PUSH1 0x20
00000bab: ADD
00000bac: PUSH1 0x40
00000bae: MLOAD
00000baf: SWAP1
00000bb0: DUP2
00000bb1: ADD
00000bb2: PUSH1 0x40
00000bb4: MSTORE
00000bb5: DUP1
00000bb6: SWAP3
00000bb7: SWAP2
00000bb8: SWAP1
00000bb9: DUP2
00000bba: DUP2
00000bbb: MSTORE
00000bbc: PUSH1 0x20
00000bbe: ADD
00000bbf: DUP3
00000bc0: DUP1
00000bc1: SLOAD
00000bc2: PUSH1 0x01
00000bc4: DUP2
00000bc5: PUSH1 0x01
00000bc7: AND
00000bc8: ISZERO
00000bc9: PUSH2 0x0100
00000bcc: MUL
00000bcd: SUB
00000bce: AND
00000bcf: PUSH1 0x02
00000bd1: SWAP1
00000bd2: DIV
00000bd3: DUP1
00000bd4: ISZERO
00000bd5: PUSH2 0x0c1f
00000bd8: JUMPI
00000bd9: DUP1
00000bda: PUSH1 0x1f
00000bdc: LT
00000bdd: PUSH2 0x0bf4
00000be0: JUMPI
00000be1: PUSH2 0x0100
00000be4: DUP1
00000be5: DUP4
00000be6: SLOAD
00000be7: DIV
00000be8: MUL
00000be9: DUP4
00000bea: MSTORE
00000beb: SWAP2
00000bec: PUSH1 0x20
00000bee: ADD
00000bef: SWAP2
00000bf0: PUSH2 0x0c1f
00000bf3: JUMP
00000bf4: JUMPDEST
00000bf5: DUP3
00000bf6: ADD
00000bf7: SWAP2
00000bf8: SWAP1
00000bf9: PUSH1 0x00
00000bfb: MSTORE
00000bfc: PUSH1 0x20
00000bfe: PUSH1 0x00
00000c00: KECCAK256
00000c01: SWAP1
00000c02: JUMPDEST
00000c03: DUP2
00000c04: SLOAD
00000c05: DUP2
00000c06: MSTORE
00000c07: SWAP1
00000c08: PUSH1 0x01
00000c0a: ADD
00000c0b: SWAP1
00000c0c: PUSH1 0x20
00000c0e: ADD
00000c0f: DUP1
00000c10: DUP4
00000c11: GT
00000c12: PUSH2 0x0c02
00000c15: JUMPI
00000c16: DUP3
00000c17: SWAP1
00000c18: SUB
00000c19: PUSH1 0x1f
00000c1b: AND
00000c1c: DUP3
00000c1d: ADD
00000c1e: SWAP2
00000c1f: JUMPDEST
00000c20: POP
00000c21: POP
00000c22: POP
00000c23: POP
00000c24: POP
00000c25: DUP2
00000c26: JUMP
00000c27: JUMPDEST
00000c28: PUSH1 0x0b
00000c2a: PUSH1 0x00
00000c2c: POP
00000c2d: PUSH1 0x20
00000c2f: MSTORE
00000c30: DUP1
00000c31: PUSH1 0x00
00000c33: MSTORE
00000c34: PUSH1 0x40
00000c36: PUSH1 0x00
00000c38: KECCAK256
00000c39: PUSH1 0x00
00000c3b: SWAP2
00000c3c: POP
00000c3d: SWAP1
00000c3e: POP
00000c3f: SLOAD
00000c40: DUP2
00000c41: JUMP
00000c42: JUMPDEST
00000c43: PUSH1 0x0a
00000c45: PUSH1 0x00
00000c47: SWAP1
00000c48: SLOAD
00000c49: SWAP1
00000c4a: PUSH2 0x0100
00000c4d: EXP
00000c4e: SWAP1
00000c4f: DIV
00000c50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c65: AND
00000c66: DUP2
00000c67: JUMP
00000c68: JUMPDEST
00000c69: PUSH1 0x08
00000c6b: PUSH1 0x00
00000c6d: SWAP1
00000c6e: SLOAD
00000c6f: SWAP1
00000c70: PUSH2 0x0100
00000c73: EXP
00000c74: SWAP1
00000c75: DIV
00000c76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c8b: AND
00000c8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca1: AND
00000ca2: CALLER
00000ca3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb8: AND
00000cb9: EQ
00000cba: ISZERO
00000cbb: PUSH2 0x0d30
00000cbe: JUMPI
00000cbf: PUSH1 0x08
00000cc1: PUSH1 0x00
00000cc3: SWAP1
00000cc4: SLOAD
00000cc5: SWAP1
00000cc6: PUSH2 0x0100
00000cc9: EXP
00000cca: SWAP1
00000ccb: DIV
00000ccc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ce1: AND
00000ce2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf7: AND
00000cf8: PUSH1 0x00
00000cfa: PUSH3 0x200b20
00000cfe: ADDRESS
00000cff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d14: AND
00000d15: BALANCE
00000d16: SUB
00000d17: PUSH1 0x40
00000d19: MLOAD
00000d1a: DUP1
00000d1b: SWAP1
00000d1c: POP
00000d1d: PUSH1 0x00
00000d1f: PUSH1 0x40
00000d21: MLOAD
00000d22: DUP1
00000d23: DUP4
00000d24: SUB
00000d25: DUP2
00000d26: DUP6
00000d27: DUP9
00000d28: DUP9
00000d29: CALL
00000d2a: SWAP4
00000d2b: POP
00000d2c: POP
00000d2d: POP
00000d2e: POP
00000d2f: POP
00000d30: JUMPDEST
00000d31: JUMPDEST
00000d32: JUMP
00000d33: JUMPDEST
00000d34: PUSH1 0x08
00000d36: PUSH1 0x00
00000d38: SWAP1
00000d39: SLOAD
00000d3a: SWAP1
00000d3b: PUSH2 0x0100
00000d3e: EXP
00000d3f: SWAP1
00000d40: DIV
00000d41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d56: AND
00000d57: DUP2
00000d58: JUMP
00000d59: JUMPDEST
00000d5a: PUSH1 0x02
00000d5c: PUSH1 0x00
00000d5e: POP
00000d5f: DUP1
00000d60: SLOAD
00000d61: PUSH1 0x01
00000d63: DUP2
00000d64: PUSH1 0x01
00000d66: AND
00000d67: ISZERO
00000d68: PUSH2 0x0100
00000d6b: MUL
00000d6c: SUB
00000d6d: AND
00000d6e: PUSH1 0x02
00000d70: SWAP1
00000d71: DIV
00000d72: DUP1
00000d73: PUSH1 0x1f
00000d75: ADD
00000d76: PUSH1 0x20
00000d78: DUP1
00000d79: SWAP2
00000d7a: DIV
00000d7b: MUL
00000d7c: PUSH1 0x20
00000d7e: ADD
00000d7f: PUSH1 0x40
00000d81: MLOAD
00000d82: SWAP1
00000d83: DUP2
00000d84: ADD
00000d85: PUSH1 0x40
00000d87: MSTORE
00000d88: DUP1
00000d89: SWAP3
00000d8a: SWAP2
00000d8b: SWAP1
00000d8c: DUP2
00000d8d: DUP2
00000d8e: MSTORE
00000d8f: PUSH1 0x20
00000d91: ADD
00000d92: DUP3
00000d93: DUP1
00000d94: SLOAD
00000d95: PUSH1 0x01
00000d97: DUP2
00000d98: PUSH1 0x01
00000d9a: AND
00000d9b: ISZERO
00000d9c: PUSH2 0x0100
00000d9f: MUL
00000da0: SUB
00000da1: AND
00000da2: PUSH1 0x02
00000da4: SWAP1
00000da5: DIV
00000da6: DUP1
00000da7: ISZERO
00000da8: PUSH2 0x0df2
00000dab: JUMPI
00000dac: DUP1
00000dad: PUSH1 0x1f
00000daf: LT
00000db0: PUSH2 0x0dc7
00000db3: JUMPI
00000db4: PUSH2 0x0100
00000db7: DUP1
00000db8: DUP4
00000db9: SLOAD
00000dba: DIV
00000dbb: MUL
00000dbc: DUP4
00000dbd: MSTORE
00000dbe: SWAP2
00000dbf: PUSH1 0x20
00000dc1: ADD
00000dc2: SWAP2
00000dc3: PUSH2 0x0df2
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: DUP3
00000dc9: ADD
00000dca: SWAP2
00000dcb: SWAP1
00000dcc: PUSH1 0x00
00000dce: MSTORE
00000dcf: PUSH1 0x20
00000dd1: PUSH1 0x00
00000dd3: KECCAK256
00000dd4: SWAP1
00000dd5: JUMPDEST
00000dd6: DUP2
00000dd7: SLOAD
00000dd8: DUP2
00000dd9: MSTORE
00000dda: SWAP1
00000ddb: PUSH1 0x01
00000ddd: ADD
00000dde: SWAP1
00000ddf: PUSH1 0x20
00000de1: ADD
00000de2: DUP1
00000de3: DUP4
00000de4: GT
00000de5: PUSH2 0x0dd5
00000de8: JUMPI
00000de9: DUP3
00000dea: SWAP1
00000deb: SUB
00000dec: PUSH1 0x1f
00000dee: AND
00000def: DUP3
00000df0: ADD
00000df1: SWAP2
00000df2: JUMPDEST
00000df3: POP
00000df4: POP
00000df5: POP
00000df6: POP
00000df7: POP
00000df8: DUP2
00000df9: JUMP
00000dfa: JUMPDEST
00000dfb: DUP1
00000dfc: PUSH1 0x06
00000dfe: PUSH1 0x00
00000e00: POP
00000e01: PUSH1 0x00
00000e03: CALLER
00000e04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e19: AND
00000e1a: DUP2
00000e1b: MSTORE
00000e1c: PUSH1 0x20
00000e1e: ADD
00000e1f: SWAP1
00000e20: DUP2
00000e21: MSTORE
00000e22: PUSH1 0x20
00000e24: ADD
00000e25: PUSH1 0x00
00000e27: KECCAK256
00000e28: PUSH1 0x00
00000e2a: POP
00000e2b: SLOAD
00000e2c: LT
00000e2d: ISZERO
00000e2e: PUSH2 0x0e36
00000e31: JUMPI
00000e32: PUSH2 0x0002
00000e35: JUMP
00000e36: JUMPDEST
00000e37: PUSH1 0x06
00000e39: PUSH1 0x00
00000e3b: POP
00000e3c: PUSH1 0x00
00000e3e: DUP4
00000e3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e54: AND
00000e55: DUP2
00000e56: MSTORE
00000e57: PUSH1 0x20
00000e59: ADD
00000e5a: SWAP1
00000e5b: DUP2
00000e5c: MSTORE
00000e5d: PUSH1 0x20
00000e5f: ADD
00000e60: PUSH1 0x00
00000e62: KECCAK256
00000e63: PUSH1 0x00
00000e65: POP
00000e66: SLOAD
00000e67: DUP2
00000e68: PUSH1 0x06
00000e6a: PUSH1 0x00
00000e6c: POP
00000e6d: PUSH1 0x00
00000e6f: DUP6
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: POP
00000e97: SLOAD
00000e98: ADD
00000e99: LT
00000e9a: ISZERO
00000e9b: PUSH2 0x0ea3
00000e9e: JUMPI
00000e9f: PUSH2 0x0002
00000ea2: JUMP
00000ea3: JUMPDEST
00000ea4: DUP1
00000ea5: PUSH1 0x06
00000ea7: PUSH1 0x00
00000ea9: POP
00000eaa: PUSH1 0x00
00000eac: CALLER
00000ead: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ec2: AND
00000ec3: DUP2
00000ec4: MSTORE
00000ec5: PUSH1 0x20
00000ec7: ADD
00000ec8: SWAP1
00000ec9: DUP2
00000eca: MSTORE
00000ecb: PUSH1 0x20
00000ecd: ADD
00000ece: PUSH1 0x00
00000ed0: KECCAK256
00000ed1: PUSH1 0x00
00000ed3: DUP3
00000ed4: DUP3
00000ed5: DUP3
00000ed6: POP
00000ed7: SLOAD
00000ed8: SUB
00000ed9: SWAP3
00000eda: POP
00000edb: POP
00000edc: DUP2
00000edd: SWAP1
00000ede: SSTORE
00000edf: POP
00000ee0: DUP1
00000ee1: PUSH1 0x06
00000ee3: PUSH1 0x00
00000ee5: POP
00000ee6: PUSH1 0x00
00000ee8: DUP5
00000ee9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000efe: AND
00000eff: DUP2
00000f00: MSTORE
00000f01: PUSH1 0x20
00000f03: ADD
00000f04: SWAP1
00000f05: DUP2
00000f06: MSTORE
00000f07: PUSH1 0x20
00000f09: ADD
00000f0a: PUSH1 0x00
00000f0c: KECCAK256
00000f0d: PUSH1 0x00
00000f0f: DUP3
00000f10: DUP3
00000f11: DUP3
00000f12: POP
00000f13: SLOAD
00000f14: ADD
00000f15: SWAP3
00000f16: POP
00000f17: POP
00000f18: DUP2
00000f19: SWAP1
00000f1a: SSTORE
00000f1b: POP
00000f1c: DUP2
00000f1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f32: AND
00000f33: CALLER
00000f34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f49: AND
00000f4a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000f6b: DUP4
00000f6c: PUSH1 0x40
00000f6e: MLOAD
00000f6f: DUP1
00000f70: DUP3
00000f71: DUP2
00000f72: MSTORE
00000f73: PUSH1 0x20
00000f75: ADD
00000f76: SWAP2
00000f77: POP
00000f78: POP
00000f79: PUSH1 0x40
00000f7b: MLOAD
00000f7c: DUP1
00000f7d: SWAP2
00000f7e: SUB
00000f7f: SWAP1
00000f80: LOG3
00000f81: JUMPDEST
00000f82: POP
00000f83: POP
00000f84: JUMP
00000f85: JUMPDEST
00000f86: PUSH1 0x09
00000f88: PUSH1 0x00
00000f8a: SWAP1
00000f8b: SLOAD
00000f8c: SWAP1
00000f8d: PUSH2 0x0100
00000f90: EXP
00000f91: SWAP1
00000f92: DIV
00000f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa8: AND
00000fa9: DUP2
00000faa: JUMP
00000fab: JUMPDEST
00000fac: PUSH1 0x0d
00000fae: PUSH1 0x00
00000fb0: POP
00000fb1: SLOAD
00000fb2: DUP2
00000fb3: JUMP
00000fb4: JUMPDEST
00000fb5: PUSH1 0x0d
00000fb7: PUSH1 0x00
00000fb9: POP
00000fba: SLOAD
00000fbb: CALLVALUE
00000fbc: LT
00000fbd: ISZERO
00000fbe: ISZERO
00000fbf: PUSH2 0x1046
00000fc2: JUMPI
00000fc3: CALLVALUE
00000fc4: PUSH1 0x0b
00000fc6: PUSH1 0x00
00000fc8: POP
00000fc9: PUSH1 0x00
00000fcb: CALLER
00000fcc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fe1: AND
00000fe2: DUP2
00000fe3: MSTORE
00000fe4: PUSH1 0x20
00000fe6: ADD
00000fe7: SWAP1
00000fe8: DUP2
00000fe9: MSTORE
00000fea: PUSH1 0x20
00000fec: ADD
00000fed: PUSH1 0x00
00000fef: KECCAK256
00000ff0: PUSH1 0x00
00000ff2: DUP3
00000ff3: DUP3
00000ff4: DUP3
00000ff5: POP
00000ff6: SLOAD
00000ff7: ADD
00000ff8: SWAP3
00000ff9: POP
00000ffa: POP
00000ffb: DUP2
00000ffc: SWAP1
00000ffd: SSTORE
00000ffe: POP
00000fff: PUSH1 0x0d
00001001: PUSH1 0x00
00001003: POP
00001004: SLOAD
00001005: CALLVALUE
00001006: DIV
00001007: PUSH1 0x0c
00001009: PUSH1 0x00
0000100b: POP
0000100c: PUSH1 0x00
0000100e: CALLER
0000100f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001024: AND
00001025: DUP2
00001026: MSTORE
00001027: PUSH1 0x20
00001029: ADD
0000102a: SWAP1
0000102b: DUP2
0000102c: MSTORE
0000102d: PUSH1 0x20
0000102f: ADD
00001030: PUSH1 0x00
00001032: KECCAK256
00001033: PUSH1 0x00
00001035: DUP3
00001036: DUP3
00001037: DUP3
00001038: POP
00001039: SLOAD
0000103a: ADD
0000103b: SWAP3
0000103c: POP
0000103d: POP
0000103e: DUP2
0000103f: SWAP1
00001040: SSTORE
00001041: POP
00001042: PUSH2 0x104b
00001045: JUMP
00001046: JUMPDEST
00001047: PUSH2 0x0002
0000104a: JUMP
0000104b: JUMPDEST
0000104c: JUMPDEST
0000104d: JUMP
0000104e: JUMPDEST
0000104f: PUSH1 0x00
00001051: PUSH1 0x00
00001053: DUP5
00001054: SWAP1
00001055: POP
00001056: PUSH2 0x105f
00001059: DUP6
0000105a: DUP6
0000105b: PUSH2 0x0689
0000105e: JUMP
0000105f: JUMPDEST
00001060: ISZERO
00001061: PUSH2 0x1172
00001064: JUMPI
00001065: DUP1
00001066: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000107b: AND
0000107c: PUSH4 0x8f4ffcb1
00001081: CALLER
00001082: DUP7
00001083: ADDRESS
00001084: DUP8
00001085: PUSH1 0x40
00001087: MLOAD
00001088: DUP6
00001089: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000010a7: MUL
000010a8: DUP2
000010a9: MSTORE
000010aa: PUSH1 0x04
000010ac: ADD
000010ad: DUP1
000010ae: DUP6
000010af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010c4: AND
000010c5: DUP2
000010c6: MSTORE
000010c7: PUSH1 0x20
000010c9: ADD
000010ca: DUP5
000010cb: DUP2
000010cc: MSTORE
000010cd: PUSH1 0x20
000010cf: ADD
000010d0: DUP4
000010d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010e6: AND
000010e7: DUP2
000010e8: MSTORE
000010e9: PUSH1 0x20
000010eb: ADD
000010ec: DUP1
000010ed: PUSH1 0x20
000010ef: ADD
000010f0: DUP3
000010f1: DUP2
000010f2: SUB
000010f3: DUP3
000010f4: MSTORE
000010f5: DUP4
000010f6: DUP2
000010f7: DUP2
000010f8: MLOAD
000010f9: DUP2
000010fa: MSTORE
000010fb: PUSH1 0x20
000010fd: ADD
000010fe: SWAP2
000010ff: POP
00001100: DUP1
00001101: MLOAD
00001102: SWAP1
00001103: PUSH1 0x20
00001105: ADD
00001106: SWAP1
00001107: DUP1
00001108: DUP4
00001109: DUP4
0000110a: DUP3
0000110b: SWAP1
0000110c: PUSH1 0x00
0000110e: PUSH1 0x04
00001110: PUSH1 0x20
00001112: DUP5
00001113: PUSH1 0x1f
00001115: ADD
00001116: DIV
00001117: PUSH1 0x03
00001119: MUL
0000111a: PUSH1 0x0f
0000111c: ADD
0000111d: CALL
0000111e: POP
0000111f: SWAP1
00001120: POP
00001121: SWAP1
00001122: DUP2
00001123: ADD
00001124: SWAP1
00001125: PUSH1 0x1f
00001127: AND
00001128: DUP1
00001129: ISZERO
0000112a: PUSH2 0x1147
0000112d: JUMPI
0000112e: DUP1
0000112f: DUP3
00001130: SUB
00001131: DUP1
00001132: MLOAD
00001133: PUSH1 0x01
00001135: DUP4
00001136: PUSH1 0x20
00001138: SUB
00001139: PUSH2 0x0100
0000113c: EXP
0000113d: SUB
0000113e: NOT
0000113f: AND
00001140: DUP2
00001141: MSTORE
00001142: PUSH1 0x20
00001144: ADD
00001145: SWAP2
00001146: POP
00001147: JUMPDEST
00001148: POP
00001149: SWAP6
0000114a: POP
0000114b: POP
0000114c: POP
0000114d: POP
0000114e: POP
0000114f: POP
00001150: PUSH1 0x00
00001152: PUSH1 0x40
00001154: MLOAD
00001155: DUP1
00001156: DUP4
00001157: SUB
00001158: DUP2
00001159: PUSH1 0x00
0000115b: DUP8
0000115c: PUSH2 0x61da
0000115f: GAS
00001160: SUB
00001161: CALL
00001162: ISZERO
00001163: PUSH2 0x0002
00001166: JUMPI
00001167: POP
00001168: POP
00001169: POP
0000116a: PUSH1 0x01
0000116c: SWAP2
0000116d: POP
0000116e: PUSH2 0x1173
00001171: JUMP
00001172: JUMPDEST
00001173: JUMPDEST
00001174: POP
00001175: SWAP4
00001176: SWAP3
00001177: POP
00001178: POP
00001179: POP
0000117a: JUMP
0000117b: JUMPDEST
0000117c: PUSH1 0x07
0000117e: PUSH1 0x00
00001180: POP
00001181: PUSH1 0x20
00001183: MSTORE
00001184: DUP2
00001185: PUSH1 0x00
00001187: MSTORE
00001188: PUSH1 0x40
0000118a: PUSH1 0x00
0000118c: KECCAK256
0000118d: PUSH1 0x00
0000118f: POP
00001190: PUSH1 0x20
00001192: MSTORE
00001193: DUP1
00001194: PUSH1 0x00
00001196: MSTORE
00001197: PUSH1 0x40
00001199: PUSH1 0x00
0000119b: KECCAK256
0000119c: PUSH1 0x00
0000119e: SWAP2
0000119f: POP
000011a0: SWAP2
000011a1: POP
000011a2: POP
000011a3: SLOAD
000011a4: DUP2
000011a5: JUMP
000011a6: JUMPDEST
000011a7: PUSH1 0x0e
000011a9: PUSH1 0x00
000011ab: POP
000011ac: SLOAD
000011ad: DUP2
000011ae: JUMP
000011af: JUMPDEST
000011b0: PUSH1 0x00
000011b2: PUSH1 0x06
000011b4: PUSH1 0x00
000011b6: POP
000011b7: PUSH1 0x00
000011b9: DUP4
000011ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011cf: AND
000011d0: DUP2
000011d1: MSTORE
000011d2: PUSH1 0x20
000011d4: ADD
000011d5: SWAP1
000011d6: DUP2
000011d7: MSTORE
000011d8: PUSH1 0x20
000011da: ADD
000011db: PUSH1 0x00
000011dd: KECCAK256
000011de: PUSH1 0x00
000011e0: POP
000011e1: SLOAD
000011e2: SWAP1
000011e3: POP
000011e4: PUSH2 0x11e8
000011e7: JUMP
000011e8: JUMPDEST
000011e9: SWAP2
000011ea: SWAP1
000011eb: POP
000011ec: JUMP
000011ed: JUMPDEST
000011ee: PUSH1 0x0c
000011f0: PUSH1 0x00
000011f2: POP
000011f3: PUSH1 0x20
000011f5: MSTORE
000011f6: DUP1
000011f7: PUSH1 0x00
000011f9: MSTORE
000011fa: PUSH1 0x40
000011fc: PUSH1 0x00
000011fe: KECCAK256
000011ff: PUSH1 0x00
00001201: SWAP2
00001202: POP
00001203: SWAP1
00001204: POP
00001205: SLOAD
00001206: DUP2
00001207: JUMP
00001208: JUMPDEST
00001209: PUSH1 0x0a
0000120b: PUSH1 0x00
0000120d: SWAP1
0000120e: SLOAD
0000120f: SWAP1
00001210: PUSH2 0x0100
00001213: EXP
00001214: SWAP1
00001215: DIV
00001216: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000122b: AND
0000122c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001241: AND
00001242: PUSH4 0xa9059cbb
00001247: CALLER
00001248: DUP4
00001249: PUSH1 0x40
0000124b: MLOAD
0000124c: DUP4
0000124d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000126b: MUL
0000126c: DUP2
0000126d: MSTORE
0000126e: PUSH1 0x04
00001270: ADD
00001271: DUP1
00001272: DUP4
00001273: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001288: AND
00001289: DUP2
0000128a: MSTORE
0000128b: PUSH1 0x20
0000128d: ADD
0000128e: DUP3
0000128f: DUP2
00001290: MSTORE
00001291: PUSH1 0x20
00001293: ADD
00001294: SWAP3
00001295: POP
00001296: POP
00001297: POP
00001298: PUSH1 0x00
0000129a: PUSH1 0x40
0000129c: MLOAD
0000129d: DUP1
0000129e: DUP4
0000129f: SUB
000012a0: DUP2
000012a1: PUSH1 0x00
000012a3: DUP8
000012a4: PUSH2 0x61da
000012a7: GAS
000012a8: SUB
000012a9: CALL
000012aa: ISZERO
000012ab: PUSH2 0x0002
000012ae: JUMPI
000012af: POP
000012b0: POP
000012b1: POP
000012b2: JUMPDEST
000012b3: POP
000012b4: JUMP
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high 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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "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": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2165,
            "type": "tx_origin_used"
        },
        {
            "pc": 2225,
            "type": "tx_origin_used"
        },
        {
            "pc": 3234,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 yes yes
view
trace_id: 0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc
call_targets: 0x0000000000000000000000000000000000000004, 0x539e67a4a1254b9a770678870c08942614075250
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x539e67a4a1254b9a770678870c08942614075250"
    ],
    "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": "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": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 357,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 718,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1014,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 10,
    "guards_detected": [
        {
            "pc": 2165,
            "type": "tx_origin_used"
        },
        {
            "pc": 2225,
            "type": "tx_origin_used"
        },
        {
            "pc": 3234,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 10
}
medium other detector ETH value transfer possible 40 yes yes
view
trace_id: 0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc
call_targets: 0x0000000000000000000000000000000000000004, 0x539e67a4a1254b9a770678870c08942614075250
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x539e67a4a1254b9a770678870c08942614075250"
    ],
    "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": "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": "0x5a3b7e42",
            "selector": "0x5a3b7e42",
            "calldata_variants": [
                "0x5a3b7e42",
                "0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 357,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 718,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1014,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 10,
    "guards_detected": [
        {
            "pc": 2165,
            "type": "tx_origin_used"
        },
        {
            "pc": 2225,
            "type": "tx_origin_used"
        },
        {
            "pc": 3234,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}