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

Analysis Run

82d58a77-9603-420b-b189-d64e0b29d954

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 1:56 AM
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
0
Validated
0
Source
Verified
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
31180 report.consolidate complete 1 / 1 3 months ago
76894 artifact.fetch failed 1 / 3 2 weeks ago
76895 tool.cast_disasm complete 1 / 3 2 weeks ago
76896 analysis.bundle complete 1 / 3 2 weeks ago
76897 capability.graph complete 1 / 3 2 weeks ago
76898 detector.run complete 1 / 3 2 weeks ago
76899 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed AUDIT_BUNDLE.txt (MultiSigWallet.sol) and found no concrete, exploitable path to extract value under the stated assumptions.
View stderr
[codex:1127438] OpenAI Codex v0.77.0 (research preview)
[codex:1127438] --------
[codex:1127438] workdir: /tmp/codex-multi-r1wzph9o
[codex:1127438] model: gpt-5.2-codex
[codex:1127438] provider: openai
[codex:1127438] approval: never
[codex:1127438] sandbox: read-only
[codex:1127438] reasoning effort: xhigh
[codex:1127438] reasoning summaries: auto
[codex:1127438] session id: 019b7c6b-7886-7f80-b819-a814ab110f22
[codex:1127438] --------
[codex:1127438] user
[codex:1127438] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1127438] 
[codex:1127438] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1127438] 
[codex:1127438] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1127438] - Gas inefficiency, code quality, naming, or best practices
[codex:1127438] - Theoretical vulnerabilities without a clear extraction path
[codex:1127438] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1127438] - Front-running unless it enables theft beyond MEV
[codex:1127438] - DoS, griefing, or issues that don't result in attacker profit
[codex:1127438] - Missing events, view function issues, or informational findings
[codex:1127438] 
[codex:1127438] HIGH-VALUE PATTERNS TO HUNT:
[codex:1127438] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1127438] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1127438] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1127438] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1127438] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1127438] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1127438] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1127438] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1127438] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1127438] 
[codex:1127438] For each finding, you MUST provide:
[codex:1127438] 1. Exact file and line numbers of vulnerable code
[codex:1127438] 2. Step-by-step exploit transaction sequence
[codex:1127438] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1127438] 
[codex:1127438] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1127438] 
[codex:1127438] Output MUST be valid JSON matching the provided schema.
[codex:1127438] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1127438] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1127438] mcp startup: no servers
[codex:1127438] 
[codex:1127438] thinking
[codex:1127438] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1127438] exec
[codex:1127438] /bin/bash -lc ls in /tmp/codex-multi-r1wzph9o succeeded in 5ms:
[codex:1127438] AUDIT_BUNDLE.txt
[codex:1127438] codex-output-schema.json
[codex:1127438] contracts
[codex:1127438] exec
[codex:1127438] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-r1wzph9o succeeded in 5ms:
[codex:1127438] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1127438] 
[codex:1127438] ================================================================================
[codex:1127438] FILE: contracts/src/MultiSigWallet.sol
[codex:1127438] ================================================================================
[codex:1127438] pragma solidity ^0.4.15;
[codex:1127438] 
[codex:1127438] 
[codex:1127438] /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
[codex:1127438] /// @author Stefan George - <stefan.george@consensys.net>
[codex:1127438] contract MultiSigWallet {
[codex:1127438] 
[codex:1127438]     /*
[codex:1127438]      *  Events
[codex:1127438]      */
[codex:1127438]     event Confirmation(address indexed sender, uint indexed transactionId);
[codex:1127438]     event Revocation(address indexed sender, uint indexed transactionId);
[codex:1127438]     event Submission(uint indexed transactionId);
[codex:1127438]     event Execution(uint indexed transactionId);
[codex:1127438]     event ExecutionFailure(uint indexed transactionId);
[codex:1127438] 
[codex:1127438] thinking
[codex:1127438] **Analyzing multisig reentrancy and logic**
[codex:1127438] codex
[codex:1127438] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt (MultiSigWallet.sol) and found no concrete, exploitable path to extract value under the stated assumptions.","findings":[]}
[codex:1127438] tokens used
[codex:1127438] 13,372
[codex:1127438] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt (MultiSigWallet.sol) and found no concrete, exploitable path to extract value under the stated assumptions.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T01:56:39.807222+00:00",
        "returncode": 0
    },
    "summary": "Reviewed AUDIT_BUNDLE.txt (MultiSigWallet.sol) and found no concrete, exploitable path to extract value under the stated assumptions.",
    "raw_final": {
        "summary": "Reviewed AUDIT_BUNDLE.txt (MultiSigWallet.sol) and found no concrete, exploitable path to extract value under the stated assumptions.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
3718
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0100
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: PUSH4 0xffffffff
00000018: AND
00000019: DUP1
0000001a: PUSH4 0x025e7c27
0000001f: EQ
00000020: PUSH2 0x0142
00000023: JUMPI
00000024: DUP1
00000025: PUSH4 0x173825d9
0000002a: EQ
0000002b: PUSH2 0x0176
0000002e: JUMPI
0000002f: DUP1
00000030: PUSH4 0x20ea8d86
00000035: EQ
00000036: PUSH2 0x0197
00000039: JUMPI
0000003a: DUP1
0000003b: PUSH4 0x2f54bf6e
00000040: EQ
00000041: PUSH2 0x01af
00000044: JUMPI
00000045: DUP1
00000046: PUSH4 0x3411c81c
0000004b: EQ
0000004c: PUSH2 0x01e4
0000004f: JUMPI
00000050: DUP1
00000051: PUSH4 0x54741525
00000056: EQ
00000057: PUSH2 0x0208
0000005a: JUMPI
0000005b: DUP1
0000005c: PUSH4 0x7065cb48
00000061: EQ
00000062: PUSH2 0x0239
00000065: JUMPI
00000066: DUP1
00000067: PUSH4 0x784547a7
0000006c: EQ
0000006d: PUSH2 0x025a
00000070: JUMPI
00000071: DUP1
00000072: PUSH4 0x8b51d13f
00000077: EQ
00000078: PUSH2 0x0272
0000007b: JUMPI
0000007c: DUP1
0000007d: PUSH4 0x9ace38c2
00000082: EQ
00000083: PUSH2 0x028a
00000086: JUMPI
00000087: DUP1
00000088: PUSH4 0xa0e67e2b
0000008d: EQ
0000008e: PUSH2 0x0345
00000091: JUMPI
00000092: DUP1
00000093: PUSH4 0xa8abe69a
00000098: EQ
00000099: PUSH2 0x03aa
0000009c: JUMPI
0000009d: DUP1
0000009e: PUSH4 0xb5dc40c3
000000a3: EQ
000000a4: PUSH2 0x03cf
000000a7: JUMPI
000000a8: DUP1
000000a9: PUSH4 0xb77bf600
000000ae: EQ
000000af: PUSH2 0x03e7
000000b2: JUMPI
000000b3: DUP1
000000b4: PUSH4 0xba51a6df
000000b9: EQ
000000ba: PUSH2 0x03fc
000000bd: JUMPI
000000be: DUP1
000000bf: PUSH4 0xc01a8c84
000000c4: EQ
000000c5: PUSH2 0x0414
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0xc6427474
000000cf: EQ
000000d0: PUSH2 0x042c
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0xd74f8edd
000000da: EQ
000000db: PUSH2 0x0495
000000de: JUMPI
000000df: DUP1
000000e0: PUSH4 0xdc8452cd
000000e5: EQ
000000e6: PUSH2 0x04aa
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0xe20056e6
000000f0: EQ
000000f1: PUSH2 0x04bf
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0xee22610b
000000fb: EQ
000000fc: PUSH2 0x04e6
000000ff: JUMPI
00000100: JUMPDEST
00000101: PUSH1 0x00
00000103: CALLVALUE
00000104: GT
00000105: ISZERO
00000106: PUSH2 0x0140
00000109: JUMPI
0000010a: PUSH1 0x40
0000010c: DUP1
0000010d: MLOAD
0000010e: CALLVALUE
0000010f: DUP2
00000110: MSTORE
00000111: SWAP1
00000112: MLOAD
00000113: CALLER
00000114: SWAP2
00000115: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
00000136: SWAP2
00000137: SWAP1
00000138: DUP2
00000139: SWAP1
0000013a: SUB
0000013b: PUSH1 0x20
0000013d: ADD
0000013e: SWAP1
0000013f: LOG2
00000140: JUMPDEST
00000141: STOP
00000142: JUMPDEST
00000143: CALLVALUE
00000144: DUP1
00000145: ISZERO
00000146: PUSH2 0x014e
00000149: JUMPI
0000014a: PUSH1 0x00
0000014c: DUP1
0000014d: REVERT
0000014e: JUMPDEST
0000014f: POP
00000150: PUSH2 0x015a
00000153: PUSH1 0x04
00000155: CALLDATALOAD
00000156: PUSH2 0x04fe
00000159: JUMP
0000015a: JUMPDEST
0000015b: PUSH1 0x40
0000015d: DUP1
0000015e: MLOAD
0000015f: PUSH1 0x01
00000161: PUSH1 0xa0
00000163: PUSH1 0x02
00000165: EXP
00000166: SUB
00000167: SWAP1
00000168: SWAP3
00000169: AND
0000016a: DUP3
0000016b: MSTORE
0000016c: MLOAD
0000016d: SWAP1
0000016e: DUP2
0000016f: SWAP1
00000170: SUB
00000171: PUSH1 0x20
00000173: ADD
00000174: SWAP1
00000175: RETURN
00000176: JUMPDEST
00000177: CALLVALUE
00000178: DUP1
00000179: ISZERO
0000017a: PUSH2 0x0182
0000017d: JUMPI
0000017e: PUSH1 0x00
00000180: DUP1
00000181: REVERT
00000182: JUMPDEST
00000183: POP
00000184: PUSH2 0x0140
00000187: PUSH1 0x01
00000189: PUSH1 0xa0
0000018b: PUSH1 0x02
0000018d: EXP
0000018e: SUB
0000018f: PUSH1 0x04
00000191: CALLDATALOAD
00000192: AND
00000193: PUSH2 0x0526
00000196: JUMP
00000197: JUMPDEST
00000198: CALLVALUE
00000199: DUP1
0000019a: ISZERO
0000019b: PUSH2 0x01a3
0000019e: JUMPI
0000019f: PUSH1 0x00
000001a1: DUP1
000001a2: REVERT
000001a3: JUMPDEST
000001a4: POP
000001a5: PUSH2 0x0140
000001a8: PUSH1 0x04
000001aa: CALLDATALOAD
000001ab: PUSH2 0x069d
000001ae: JUMP
000001af: JUMPDEST
000001b0: CALLVALUE
000001b1: DUP1
000001b2: ISZERO
000001b3: PUSH2 0x01bb
000001b6: JUMPI
000001b7: PUSH1 0x00
000001b9: DUP1
000001ba: REVERT
000001bb: JUMPDEST
000001bc: POP
000001bd: PUSH2 0x01d0
000001c0: PUSH1 0x01
000001c2: PUSH1 0xa0
000001c4: PUSH1 0x02
000001c6: EXP
000001c7: SUB
000001c8: PUSH1 0x04
000001ca: CALLDATALOAD
000001cb: AND
000001cc: PUSH2 0x0757
000001cf: JUMP
000001d0: JUMPDEST
000001d1: PUSH1 0x40
000001d3: DUP1
000001d4: MLOAD
000001d5: SWAP2
000001d6: ISZERO
000001d7: ISZERO
000001d8: DUP3
000001d9: MSTORE
000001da: MLOAD
000001db: SWAP1
000001dc: DUP2
000001dd: SWAP1
000001de: SUB
000001df: PUSH1 0x20
000001e1: ADD
000001e2: SWAP1
000001e3: RETURN
000001e4: JUMPDEST
000001e5: CALLVALUE
000001e6: DUP1
000001e7: ISZERO
000001e8: PUSH2 0x01f0
000001eb: JUMPI
000001ec: PUSH1 0x00
000001ee: DUP1
000001ef: REVERT
000001f0: JUMPDEST
000001f1: POP
000001f2: PUSH2 0x01d0
000001f5: PUSH1 0x04
000001f7: CALLDATALOAD
000001f8: PUSH1 0x01
000001fa: PUSH1 0xa0
000001fc: PUSH1 0x02
000001fe: EXP
000001ff: SUB
00000200: PUSH1 0x24
00000202: CALLDATALOAD
00000203: AND
00000204: PUSH2 0x076c
00000207: JUMP
00000208: JUMPDEST
00000209: CALLVALUE
0000020a: DUP1
0000020b: ISZERO
0000020c: PUSH2 0x0214
0000020f: JUMPI
00000210: PUSH1 0x00
00000212: DUP1
00000213: REVERT
00000214: JUMPDEST
00000215: POP
00000216: PUSH2 0x0227
00000219: PUSH1 0x04
0000021b: CALLDATALOAD
0000021c: ISZERO
0000021d: ISZERO
0000021e: PUSH1 0x24
00000220: CALLDATALOAD
00000221: ISZERO
00000222: ISZERO
00000223: PUSH2 0x078c
00000226: JUMP
00000227: JUMPDEST
00000228: PUSH1 0x40
0000022a: DUP1
0000022b: MLOAD
0000022c: SWAP2
0000022d: DUP3
0000022e: MSTORE
0000022f: MLOAD
00000230: SWAP1
00000231: DUP2
00000232: SWAP1
00000233: SUB
00000234: PUSH1 0x20
00000236: ADD
00000237: SWAP1
00000238: RETURN
00000239: JUMPDEST
0000023a: CALLVALUE
0000023b: DUP1
0000023c: ISZERO
0000023d: PUSH2 0x0245
00000240: JUMPI
00000241: PUSH1 0x00
00000243: DUP1
00000244: REVERT
00000245: JUMPDEST
00000246: POP
00000247: PUSH2 0x0140
0000024a: PUSH1 0x01
0000024c: PUSH1 0xa0
0000024e: PUSH1 0x02
00000250: EXP
00000251: SUB
00000252: PUSH1 0x04
00000254: CALLDATALOAD
00000255: AND
00000256: PUSH2 0x07f8
00000259: JUMP
0000025a: JUMPDEST
0000025b: CALLVALUE
0000025c: DUP1
0000025d: ISZERO
0000025e: PUSH2 0x0266
00000261: JUMPI
00000262: PUSH1 0x00
00000264: DUP1
00000265: REVERT
00000266: JUMPDEST
00000267: POP
00000268: PUSH2 0x01d0
0000026b: PUSH1 0x04
0000026d: CALLDATALOAD
0000026e: PUSH2 0x091d
00000271: JUMP
00000272: JUMPDEST
00000273: CALLVALUE
00000274: DUP1
00000275: ISZERO
00000276: PUSH2 0x027e
00000279: JUMPI
0000027a: PUSH1 0x00
0000027c: DUP1
0000027d: REVERT
0000027e: JUMPDEST
0000027f: POP
00000280: PUSH2 0x0227
00000283: PUSH1 0x04
00000285: CALLDATALOAD
00000286: PUSH2 0x09a1
00000289: JUMP
0000028a: JUMPDEST
0000028b: CALLVALUE
0000028c: DUP1
0000028d: ISZERO
0000028e: PUSH2 0x0296
00000291: JUMPI
00000292: PUSH1 0x00
00000294: DUP1
00000295: REVERT
00000296: JUMPDEST
00000297: POP
00000298: PUSH2 0x02a2
0000029b: PUSH1 0x04
0000029d: CALLDATALOAD
0000029e: PUSH2 0x0a10
000002a1: JUMP
000002a2: JUMPDEST
000002a3: PUSH1 0x40
000002a5: MLOAD
000002a6: DUP1
000002a7: DUP6
000002a8: PUSH1 0x01
000002aa: PUSH1 0xa0
000002ac: PUSH1 0x02
000002ae: EXP
000002af: SUB
000002b0: AND
000002b1: PUSH1 0x01
000002b3: PUSH1 0xa0
000002b5: PUSH1 0x02
000002b7: EXP
000002b8: SUB
000002b9: AND
000002ba: DUP2
000002bb: MSTORE
000002bc: PUSH1 0x20
000002be: ADD
000002bf: DUP5
000002c0: DUP2
000002c1: MSTORE
000002c2: PUSH1 0x20
000002c4: ADD
000002c5: DUP1
000002c6: PUSH1 0x20
000002c8: ADD
000002c9: DUP4
000002ca: ISZERO
000002cb: ISZERO
000002cc: ISZERO
000002cd: ISZERO
000002ce: DUP2
000002cf: MSTORE
000002d0: PUSH1 0x20
000002d2: ADD
000002d3: DUP3
000002d4: DUP2
000002d5: SUB
000002d6: DUP3
000002d7: MSTORE
000002d8: DUP5
000002d9: DUP2
000002da: DUP2
000002db: MLOAD
000002dc: DUP2
000002dd: MSTORE
000002de: PUSH1 0x20
000002e0: ADD
000002e1: SWAP2
000002e2: POP
000002e3: DUP1
000002e4: MLOAD
000002e5: SWAP1
000002e6: PUSH1 0x20
000002e8: ADD
000002e9: SWAP1
000002ea: DUP1
000002eb: DUP4
000002ec: DUP4
000002ed: PUSH1 0x00
000002ef: JUMPDEST
000002f0: DUP4
000002f1: DUP2
000002f2: LT
000002f3: ISZERO
000002f4: PUSH2 0x0307
000002f7: JUMPI
000002f8: DUP2
000002f9: DUP2
000002fa: ADD
000002fb: MLOAD
000002fc: DUP4
000002fd: DUP3
000002fe: ADD
000002ff: MSTORE
00000300: PUSH1 0x20
00000302: ADD
00000303: PUSH2 0x02ef
00000306: JUMP
00000307: JUMPDEST
00000308: POP
00000309: POP
0000030a: POP
0000030b: POP
0000030c: SWAP1
0000030d: POP
0000030e: SWAP1
0000030f: DUP2
00000310: ADD
00000311: SWAP1
00000312: PUSH1 0x1f
00000314: AND
00000315: DUP1
00000316: ISZERO
00000317: PUSH2 0x0334
0000031a: JUMPI
0000031b: DUP1
0000031c: DUP3
0000031d: SUB
0000031e: DUP1
0000031f: MLOAD
00000320: PUSH1 0x01
00000322: DUP4
00000323: PUSH1 0x20
00000325: SUB
00000326: PUSH2 0x0100
00000329: EXP
0000032a: SUB
0000032b: NOT
0000032c: AND
0000032d: DUP2
0000032e: MSTORE
0000032f: PUSH1 0x20
00000331: ADD
00000332: SWAP2
00000333: POP
00000334: JUMPDEST
00000335: POP
00000336: SWAP6
00000337: POP
00000338: POP
00000339: POP
0000033a: POP
0000033b: POP
0000033c: POP
0000033d: PUSH1 0x40
0000033f: MLOAD
00000340: DUP1
00000341: SWAP2
00000342: SUB
00000343: SWAP1
00000344: RETURN
00000345: JUMPDEST
00000346: CALLVALUE
00000347: DUP1
00000348: ISZERO
00000349: PUSH2 0x0351
0000034c: JUMPI
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: POP
00000353: PUSH2 0x035a
00000356: PUSH2 0x0ace
00000359: JUMP
0000035a: JUMPDEST
0000035b: PUSH1 0x40
0000035d: DUP1
0000035e: MLOAD
0000035f: PUSH1 0x20
00000361: DUP1
00000362: DUP3
00000363: MSTORE
00000364: DUP4
00000365: MLOAD
00000366: DUP2
00000367: DUP4
00000368: ADD
00000369: MSTORE
0000036a: DUP4
0000036b: MLOAD
0000036c: SWAP2
0000036d: SWAP3
0000036e: DUP4
0000036f: SWAP3
00000370: SWAP1
00000371: DUP4
00000372: ADD
00000373: SWAP2
00000374: DUP6
00000375: DUP2
00000376: ADD
00000377: SWAP2
00000378: MUL
00000379: DUP1
0000037a: DUP4
0000037b: DUP4
0000037c: PUSH1 0x00
0000037e: JUMPDEST
0000037f: DUP4
00000380: DUP2
00000381: LT
00000382: ISZERO
00000383: PUSH2 0x0396
00000386: JUMPI
00000387: DUP2
00000388: DUP2
00000389: ADD
0000038a: MLOAD
0000038b: DUP4
0000038c: DUP3
0000038d: ADD
0000038e: MSTORE
0000038f: PUSH1 0x20
00000391: ADD
00000392: PUSH2 0x037e
00000395: JUMP
00000396: JUMPDEST
00000397: POP
00000398: POP
00000399: POP
0000039a: POP
0000039b: SWAP1
0000039c: POP
0000039d: ADD
0000039e: SWAP3
0000039f: POP
000003a0: POP
000003a1: POP
000003a2: PUSH1 0x40
000003a4: MLOAD
000003a5: DUP1
000003a6: SWAP2
000003a7: SUB
000003a8: SWAP1
000003a9: RETURN
000003aa: JUMPDEST
000003ab: CALLVALUE
000003ac: DUP1
000003ad: ISZERO
000003ae: PUSH2 0x03b6
000003b1: JUMPI
000003b2: PUSH1 0x00
000003b4: DUP1
000003b5: REVERT
000003b6: JUMPDEST
000003b7: POP
000003b8: PUSH2 0x035a
000003bb: PUSH1 0x04
000003bd: CALLDATALOAD
000003be: PUSH1 0x24
000003c0: CALLDATALOAD
000003c1: PUSH1 0x44
000003c3: CALLDATALOAD
000003c4: ISZERO
000003c5: ISZERO
000003c6: PUSH1 0x64
000003c8: CALLDATALOAD
000003c9: ISZERO
000003ca: ISZERO
000003cb: PUSH2 0x0b31
000003ce: JUMP
000003cf: JUMPDEST
000003d0: CALLVALUE
000003d1: DUP1
000003d2: ISZERO
000003d3: PUSH2 0x03db
000003d6: JUMPI
000003d7: PUSH1 0x00
000003d9: DUP1
000003da: REVERT
000003db: JUMPDEST
000003dc: POP
000003dd: PUSH2 0x035a
000003e0: PUSH1 0x04
000003e2: CALLDATALOAD
000003e3: PUSH2 0x0c6a
000003e6: JUMP
000003e7: JUMPDEST
000003e8: CALLVALUE
000003e9: DUP1
000003ea: ISZERO
000003eb: PUSH2 0x03f3
000003ee: JUMPI
000003ef: PUSH1 0x00
000003f1: DUP1
000003f2: REVERT
000003f3: JUMPDEST
000003f4: POP
000003f5: PUSH2 0x0227
000003f8: PUSH2 0x0de3
000003fb: JUMP
000003fc: JUMPDEST
000003fd: CALLVALUE
000003fe: DUP1
000003ff: ISZERO
00000400: PUSH2 0x0408
00000403: JUMPI
00000404: PUSH1 0x00
00000406: DUP1
00000407: REVERT
00000408: JUMPDEST
00000409: POP
0000040a: PUSH2 0x0140
0000040d: PUSH1 0x04
0000040f: CALLDATALOAD
00000410: PUSH2 0x0de9
00000413: JUMP
00000414: JUMPDEST
00000415: CALLVALUE
00000416: DUP1
00000417: ISZERO
00000418: PUSH2 0x0420
0000041b: JUMPI
0000041c: PUSH1 0x00
0000041e: DUP1
0000041f: REVERT
00000420: JUMPDEST
00000421: POP
00000422: PUSH2 0x0140
00000425: PUSH1 0x04
00000427: CALLDATALOAD
00000428: PUSH2 0x0e68
0000042b: JUMP
0000042c: JUMPDEST
0000042d: CALLVALUE
0000042e: DUP1
0000042f: ISZERO
00000430: PUSH2 0x0438
00000433: JUMPI
00000434: PUSH1 0x00
00000436: DUP1
00000437: REVERT
00000438: JUMPDEST
00000439: POP
0000043a: PUSH1 0x40
0000043c: DUP1
0000043d: MLOAD
0000043e: PUSH1 0x20
00000440: PUSH1 0x04
00000442: PUSH1 0x44
00000444: CALLDATALOAD
00000445: DUP2
00000446: DUP2
00000447: ADD
00000448: CALLDATALOAD
00000449: PUSH1 0x1f
0000044b: DUP2
0000044c: ADD
0000044d: DUP5
0000044e: SWAP1
0000044f: DIV
00000450: DUP5
00000451: MUL
00000452: DUP6
00000453: ADD
00000454: DUP5
00000455: ADD
00000456: SWAP1
00000457: SWAP6
00000458: MSTORE
00000459: DUP5
0000045a: DUP5
0000045b: MSTORE
0000045c: PUSH2 0x0227
0000045f: SWAP5
00000460: DUP3
00000461: CALLDATALOAD
00000462: PUSH1 0x01
00000464: PUSH1 0xa0
00000466: PUSH1 0x02
00000468: EXP
00000469: SUB
0000046a: AND
0000046b: SWAP5
0000046c: PUSH1 0x24
0000046e: DUP1
0000046f: CALLDATALOAD
00000470: SWAP6
00000471: CALLDATASIZE
00000472: SWAP6
00000473: SWAP5
00000474: PUSH1 0x64
00000476: SWAP5
00000477: SWAP3
00000478: ADD
00000479: SWAP2
0000047a: SWAP1
0000047b: DUP2
0000047c: SWAP1
0000047d: DUP5
0000047e: ADD
0000047f: DUP4
00000480: DUP3
00000481: DUP1
00000482: DUP3
00000483: DUP5
00000484: CALLDATACOPY
00000485: POP
00000486: SWAP5
00000487: SWAP8
00000488: POP
00000489: PUSH2 0x0f33
0000048c: SWAP7
0000048d: POP
0000048e: POP
0000048f: POP
00000490: POP
00000491: POP
00000492: POP
00000493: POP
00000494: JUMP
00000495: JUMPDEST
00000496: CALLVALUE
00000497: DUP1
00000498: ISZERO
00000499: PUSH2 0x04a1
0000049c: JUMPI
0000049d: PUSH1 0x00
0000049f: DUP1
000004a0: REVERT
000004a1: JUMPDEST
000004a2: POP
000004a3: PUSH2 0x0227
000004a6: PUSH2 0x0f52
000004a9: JUMP
000004aa: JUMPDEST
000004ab: CALLVALUE
000004ac: DUP1
000004ad: ISZERO
000004ae: PUSH2 0x04b6
000004b1: JUMPI
000004b2: PUSH1 0x00
000004b4: DUP1
000004b5: REVERT
000004b6: JUMPDEST
000004b7: POP
000004b8: PUSH2 0x0227
000004bb: PUSH2 0x0f57
000004be: JUMP
000004bf: JUMPDEST
000004c0: CALLVALUE
000004c1: DUP1
000004c2: ISZERO
000004c3: PUSH2 0x04cb
000004c6: JUMPI
000004c7: PUSH1 0x00
000004c9: DUP1
000004ca: REVERT
000004cb: JUMPDEST
000004cc: POP
000004cd: PUSH2 0x0140
000004d0: PUSH1 0x01
000004d2: PUSH1 0xa0
000004d4: PUSH1 0x02
000004d6: EXP
000004d7: SUB
000004d8: PUSH1 0x04
000004da: CALLDATALOAD
000004db: DUP2
000004dc: AND
000004dd: SWAP1
000004de: PUSH1 0x24
000004e0: CALLDATALOAD
000004e1: AND
000004e2: PUSH2 0x0f5d
000004e5: JUMP
000004e6: JUMPDEST
000004e7: CALLVALUE
000004e8: DUP1
000004e9: ISZERO
000004ea: PUSH2 0x04f2
000004ed: JUMPI
000004ee: PUSH1 0x00
000004f0: DUP1
000004f1: REVERT
000004f2: JUMPDEST
000004f3: POP
000004f4: PUSH2 0x0140
000004f7: PUSH1 0x04
000004f9: CALLDATALOAD
000004fa: PUSH2 0x10e7
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH1 0x03
00000501: DUP1
00000502: SLOAD
00000503: DUP3
00000504: SWAP1
00000505: DUP2
00000506: LT
00000507: PUSH2 0x050c
0000050a: JUMPI
0000050b: INVALID
0000050c: JUMPDEST
0000050d: PUSH1 0x00
0000050f: SWAP2
00000510: DUP3
00000511: MSTORE
00000512: PUSH1 0x20
00000514: SWAP1
00000515: SWAP2
00000516: KECCAK256
00000517: ADD
00000518: SLOAD
00000519: PUSH1 0x01
0000051b: PUSH1 0xa0
0000051d: PUSH1 0x02
0000051f: EXP
00000520: SUB
00000521: AND
00000522: SWAP1
00000523: POP
00000524: DUP2
00000525: JUMP
00000526: JUMPDEST
00000527: PUSH1 0x00
00000529: CALLER
0000052a: ADDRESS
0000052b: EQ
0000052c: PUSH2 0x0534
0000052f: JUMPI
00000530: PUSH1 0x00
00000532: DUP1
00000533: REVERT
00000534: JUMPDEST
00000535: PUSH1 0x01
00000537: PUSH1 0xa0
00000539: PUSH1 0x02
0000053b: EXP
0000053c: SUB
0000053d: DUP3
0000053e: AND
0000053f: PUSH1 0x00
00000541: SWAP1
00000542: DUP2
00000543: MSTORE
00000544: PUSH1 0x02
00000546: PUSH1 0x20
00000548: MSTORE
00000549: PUSH1 0x40
0000054b: SWAP1
0000054c: KECCAK256
0000054d: SLOAD
0000054e: DUP3
0000054f: SWAP1
00000550: PUSH1 0xff
00000552: AND
00000553: ISZERO
00000554: ISZERO
00000555: PUSH2 0x055d
00000558: JUMPI
00000559: PUSH1 0x00
0000055b: DUP1
0000055c: REVERT
0000055d: JUMPDEST
0000055e: PUSH1 0x01
00000560: PUSH1 0xa0
00000562: PUSH1 0x02
00000564: EXP
00000565: SUB
00000566: DUP4
00000567: AND
00000568: PUSH1 0x00
0000056a: SWAP1
0000056b: DUP2
0000056c: MSTORE
0000056d: PUSH1 0x02
0000056f: PUSH1 0x20
00000571: MSTORE
00000572: PUSH1 0x40
00000574: DUP2
00000575: KECCAK256
00000576: DUP1
00000577: SLOAD
00000578: PUSH1 0xff
0000057a: NOT
0000057b: AND
0000057c: SWAP1
0000057d: SSTORE
0000057e: SWAP2
0000057f: POP
00000580: JUMPDEST
00000581: PUSH1 0x03
00000583: SLOAD
00000584: PUSH1 0x00
00000586: NOT
00000587: ADD
00000588: DUP3
00000589: LT
0000058a: ISZERO
0000058b: PUSH2 0x0638
0000058e: JUMPI
0000058f: DUP3
00000590: PUSH1 0x01
00000592: PUSH1 0xa0
00000594: PUSH1 0x02
00000596: EXP
00000597: SUB
00000598: AND
00000599: PUSH1 0x03
0000059b: DUP4
0000059c: DUP2
0000059d: SLOAD
0000059e: DUP2
0000059f: LT
000005a0: ISZERO
000005a1: ISZERO
000005a2: PUSH2 0x05a7
000005a5: JUMPI
000005a6: INVALID
000005a7: JUMPDEST
000005a8: PUSH1 0x00
000005aa: SWAP2
000005ab: DUP3
000005ac: MSTORE
000005ad: PUSH1 0x20
000005af: SWAP1
000005b0: SWAP2
000005b1: KECCAK256
000005b2: ADD
000005b3: SLOAD
000005b4: PUSH1 0x01
000005b6: PUSH1 0xa0
000005b8: PUSH1 0x02
000005ba: EXP
000005bb: SUB
000005bc: AND
000005bd: EQ
000005be: ISZERO
000005bf: PUSH2 0x062d
000005c2: JUMPI
000005c3: PUSH1 0x03
000005c5: DUP1
000005c6: SLOAD
000005c7: PUSH1 0x00
000005c9: NOT
000005ca: DUP2
000005cb: ADD
000005cc: SWAP1
000005cd: DUP2
000005ce: LT
000005cf: PUSH2 0x05d4
000005d2: JUMPI
000005d3: INVALID
000005d4: JUMPDEST
000005d5: PUSH1 0x00
000005d7: SWAP2
000005d8: DUP3
000005d9: MSTORE
000005da: PUSH1 0x20
000005dc: SWAP1
000005dd: SWAP2
000005de: KECCAK256
000005df: ADD
000005e0: SLOAD
000005e1: PUSH1 0x03
000005e3: DUP1
000005e4: SLOAD
000005e5: PUSH1 0x01
000005e7: PUSH1 0xa0
000005e9: PUSH1 0x02
000005eb: EXP
000005ec: SUB
000005ed: SWAP1
000005ee: SWAP3
000005ef: AND
000005f0: SWAP2
000005f1: DUP5
000005f2: SWAP1
000005f3: DUP2
000005f4: LT
000005f5: PUSH2 0x05fa
000005f8: JUMPI
000005f9: INVALID
000005fa: JUMPDEST
000005fb: SWAP1
000005fc: PUSH1 0x00
000005fe: MSTORE
000005ff: PUSH1 0x20
00000601: PUSH1 0x00
00000603: KECCAK256
00000604: ADD
00000605: PUSH1 0x00
00000607: PUSH2 0x0100
0000060a: EXP
0000060b: DUP2
0000060c: SLOAD
0000060d: DUP2
0000060e: PUSH1 0x01
00000610: PUSH1 0xa0
00000612: PUSH1 0x02
00000614: EXP
00000615: SUB
00000616: MUL
00000617: NOT
00000618: AND
00000619: SWAP1
0000061a: DUP4
0000061b: PUSH1 0x01
0000061d: PUSH1 0xa0
0000061f: PUSH1 0x02
00000621: EXP
00000622: SUB
00000623: AND
00000624: MUL
00000625: OR
00000626: SWAP1
00000627: SSTORE
00000628: POP
00000629: PUSH2 0x0638
0000062c: JUMP
0000062d: JUMPDEST
0000062e: PUSH1 0x01
00000630: SWAP1
00000631: SWAP2
00000632: ADD
00000633: SWAP1
00000634: PUSH2 0x0580
00000637: JUMP
00000638: JUMPDEST
00000639: PUSH1 0x03
0000063b: DUP1
0000063c: SLOAD
0000063d: PUSH1 0x00
0000063f: NOT
00000640: ADD
00000641: SWAP1
00000642: PUSH2 0x064b
00000645: SWAP1
00000646: DUP3
00000647: PUSH2 0x13ba
0000064a: JUMP
0000064b: JUMPDEST
0000064c: POP
0000064d: PUSH1 0x03
0000064f: SLOAD
00000650: PUSH1 0x04
00000652: SLOAD
00000653: GT
00000654: ISZERO
00000655: PUSH2 0x0664
00000658: JUMPI
00000659: PUSH1 0x03
0000065b: SLOAD
0000065c: PUSH2 0x0664
0000065f: SWAP1
00000660: PUSH2 0x0de9
00000663: JUMP
00000664: JUMPDEST
00000665: PUSH1 0x40
00000667: MLOAD
00000668: PUSH1 0x01
0000066a: PUSH1 0xa0
0000066c: PUSH1 0x02
0000066e: EXP
0000066f: SUB
00000670: DUP5
00000671: AND
00000672: SWAP1
00000673: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00000694: SWAP1
00000695: PUSH1 0x00
00000697: SWAP1
00000698: LOG2
00000699: POP
0000069a: POP
0000069b: POP
0000069c: JUMP
0000069d: JUMPDEST
0000069e: CALLER
0000069f: PUSH1 0x00
000006a1: DUP2
000006a2: DUP2
000006a3: MSTORE
000006a4: PUSH1 0x02
000006a6: PUSH1 0x20
000006a8: MSTORE
000006a9: PUSH1 0x40
000006ab: SWAP1
000006ac: KECCAK256
000006ad: SLOAD
000006ae: PUSH1 0xff
000006b0: AND
000006b1: ISZERO
000006b2: ISZERO
000006b3: PUSH2 0x06bb
000006b6: JUMPI
000006b7: PUSH1 0x00
000006b9: DUP1
000006ba: REVERT
000006bb: JUMPDEST
000006bc: PUSH1 0x00
000006be: DUP3
000006bf: DUP2
000006c0: MSTORE
000006c1: PUSH1 0x01
000006c3: PUSH1 0x20
000006c5: SWAP1
000006c6: DUP2
000006c7: MSTORE
000006c8: PUSH1 0x40
000006ca: DUP1
000006cb: DUP4
000006cc: KECCAK256
000006cd: CALLER
000006ce: DUP1
000006cf: DUP6
000006d0: MSTORE
000006d1: SWAP3
000006d2: MSTORE
000006d3: SWAP1
000006d4: SWAP2
000006d5: KECCAK256
000006d6: SLOAD
000006d7: DUP4
000006d8: SWAP2
000006d9: SWAP1
000006da: PUSH1 0xff
000006dc: AND
000006dd: ISZERO
000006de: ISZERO
000006df: PUSH2 0x06e7
000006e2: JUMPI
000006e3: PUSH1 0x00
000006e5: DUP1
000006e6: REVERT
000006e7: JUMPDEST
000006e8: PUSH1 0x00
000006ea: DUP5
000006eb: DUP2
000006ec: MSTORE
000006ed: PUSH1 0x20
000006ef: DUP2
000006f0: SWAP1
000006f1: MSTORE
000006f2: PUSH1 0x40
000006f4: SWAP1
000006f5: KECCAK256
000006f6: PUSH1 0x03
000006f8: ADD
000006f9: SLOAD
000006fa: DUP5
000006fb: SWAP1
000006fc: PUSH1 0xff
000006fe: AND
000006ff: ISZERO
00000700: PUSH2 0x0708
00000703: JUMPI
00000704: PUSH1 0x00
00000706: DUP1
00000707: REVERT
00000708: JUMPDEST
00000709: PUSH1 0x00
0000070b: DUP6
0000070c: DUP2
0000070d: MSTORE
0000070e: PUSH1 0x01
00000710: PUSH1 0x20
00000712: SWAP1
00000713: DUP2
00000714: MSTORE
00000715: PUSH1 0x40
00000717: DUP1
00000718: DUP4
00000719: KECCAK256
0000071a: CALLER
0000071b: DUP1
0000071c: DUP6
0000071d: MSTORE
0000071e: SWAP3
0000071f: MSTORE
00000720: DUP1
00000721: DUP4
00000722: KECCAK256
00000723: DUP1
00000724: SLOAD
00000725: PUSH1 0xff
00000727: NOT
00000728: AND
00000729: SWAP1
0000072a: SSTORE
0000072b: MLOAD
0000072c: DUP8
0000072d: SWAP3
0000072e: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9
0000074f: SWAP2
00000750: LOG3
00000751: POP
00000752: POP
00000753: POP
00000754: POP
00000755: POP
00000756: JUMP
00000757: JUMPDEST
00000758: PUSH1 0x02
0000075a: PUSH1 0x20
0000075c: MSTORE
0000075d: PUSH1 0x00
0000075f: SWAP1
00000760: DUP2
00000761: MSTORE
00000762: PUSH1 0x40
00000764: SWAP1
00000765: KECCAK256
00000766: SLOAD
00000767: PUSH1 0xff
00000769: AND
0000076a: DUP2
0000076b: JUMP
0000076c: JUMPDEST
0000076d: PUSH1 0x01
0000076f: PUSH1 0x20
00000771: SWAP1
00000772: DUP2
00000773: MSTORE
00000774: PUSH1 0x00
00000776: SWAP3
00000777: DUP4
00000778: MSTORE
00000779: PUSH1 0x40
0000077b: DUP1
0000077c: DUP5
0000077d: KECCAK256
0000077e: SWAP1
0000077f: SWAP2
00000780: MSTORE
00000781: SWAP1
00000782: DUP3
00000783: MSTORE
00000784: SWAP1
00000785: KECCAK256
00000786: SLOAD
00000787: PUSH1 0xff
00000789: AND
0000078a: DUP2
0000078b: JUMP
0000078c: JUMPDEST
0000078d: PUSH1 0x00
0000078f: DUP1
00000790: JUMPDEST
00000791: PUSH1 0x05
00000793: SLOAD
00000794: DUP2
00000795: LT
00000796: ISZERO
00000797: PUSH2 0x07f1
0000079a: JUMPI
0000079b: DUP4
0000079c: DUP1
0000079d: ISZERO
0000079e: PUSH2 0x07b9
000007a1: JUMPI
000007a2: POP
000007a3: PUSH1 0x00
000007a5: DUP2
000007a6: DUP2
000007a7: MSTORE
000007a8: PUSH1 0x20
000007aa: DUP2
000007ab: SWAP1
000007ac: MSTORE
000007ad: PUSH1 0x40
000007af: SWAP1
000007b0: KECCAK256
000007b1: PUSH1 0x03
000007b3: ADD
000007b4: SLOAD
000007b5: PUSH1 0xff
000007b7: AND
000007b8: ISZERO
000007b9: JUMPDEST
000007ba: DUP1
000007bb: PUSH2 0x07dd
000007be: JUMPI
000007bf: POP
000007c0: DUP3
000007c1: DUP1
000007c2: ISZERO
000007c3: PUSH2 0x07dd
000007c6: JUMPI
000007c7: POP
000007c8: PUSH1 0x00
000007ca: DUP2
000007cb: DUP2
000007cc: MSTORE
000007cd: PUSH1 0x20
000007cf: DUP2
000007d0: SWAP1
000007d1: MSTORE
000007d2: PUSH1 0x40
000007d4: SWAP1
000007d5: KECCAK256
000007d6: PUSH1 0x03
000007d8: ADD
000007d9: SLOAD
000007da: PUSH1 0xff
000007dc: AND
000007dd: JUMPDEST
000007de: ISZERO
000007df: PUSH2 0x07e9
000007e2: JUMPI
000007e3: PUSH1 0x01
000007e5: DUP3
000007e6: ADD
000007e7: SWAP2
000007e8: POP
000007e9: JUMPDEST
000007ea: PUSH1 0x01
000007ec: ADD
000007ed: PUSH2 0x0790
000007f0: JUMP
000007f1: JUMPDEST
000007f2: POP
000007f3: SWAP3
000007f4: SWAP2
000007f5: POP
000007f6: POP
000007f7: JUMP
000007f8: JUMPDEST
000007f9: CALLER
000007fa: ADDRESS
000007fb: EQ
000007fc: PUSH2 0x0804
000007ff: JUMPI
00000800: PUSH1 0x00
00000802: DUP1
00000803: REVERT
00000804: JUMPDEST
00000805: PUSH1 0x01
00000807: PUSH1 0xa0
00000809: PUSH1 0x02
0000080b: EXP
0000080c: SUB
0000080d: DUP2
0000080e: AND
0000080f: PUSH1 0x00
00000811: SWAP1
00000812: DUP2
00000813: MSTORE
00000814: PUSH1 0x02
00000816: PUSH1 0x20
00000818: MSTORE
00000819: PUSH1 0x40
0000081b: SWAP1
0000081c: KECCAK256
0000081d: SLOAD
0000081e: DUP2
0000081f: SWAP1
00000820: PUSH1 0xff
00000822: AND
00000823: ISZERO
00000824: PUSH2 0x082c
00000827: JUMPI
00000828: PUSH1 0x00
0000082a: DUP1
0000082b: REVERT
0000082c: JUMPDEST
0000082d: DUP2
0000082e: PUSH1 0x01
00000830: PUSH1 0xa0
00000832: PUSH1 0x02
00000834: EXP
00000835: SUB
00000836: DUP2
00000837: AND
00000838: ISZERO
00000839: ISZERO
0000083a: PUSH2 0x0842
0000083d: JUMPI
0000083e: PUSH1 0x00
00000840: DUP1
00000841: REVERT
00000842: JUMPDEST
00000843: PUSH1 0x03
00000845: DUP1
00000846: SLOAD
00000847: SWAP1
00000848: POP
00000849: PUSH1 0x01
0000084b: ADD
0000084c: PUSH1 0x04
0000084e: SLOAD
0000084f: PUSH1 0x32
00000851: DUP3
00000852: GT
00000853: ISZERO
00000854: DUP1
00000855: ISZERO
00000856: PUSH2 0x085f
00000859: JUMPI
0000085a: POP
0000085b: DUP2
0000085c: DUP2
0000085d: GT
0000085e: ISZERO
0000085f: JUMPDEST
00000860: DUP1
00000861: ISZERO
00000862: PUSH2 0x086a
00000865: JUMPI
00000866: POP
00000867: DUP1
00000868: ISZERO
00000869: ISZERO
0000086a: JUMPDEST
0000086b: DUP1
0000086c: ISZERO
0000086d: PUSH2 0x0875
00000870: JUMPI
00000871: POP
00000872: DUP2
00000873: ISZERO
00000874: ISZERO
00000875: JUMPDEST
00000876: ISZERO
00000877: ISZERO
00000878: PUSH2 0x0880
0000087b: JUMPI
0000087c: PUSH1 0x00
0000087e: DUP1
0000087f: REVERT
00000880: JUMPDEST
00000881: PUSH1 0x01
00000883: PUSH1 0xa0
00000885: PUSH1 0x02
00000887: EXP
00000888: SUB
00000889: DUP6
0000088a: AND
0000088b: PUSH1 0x00
0000088d: DUP2
0000088e: DUP2
0000088f: MSTORE
00000890: PUSH1 0x02
00000892: PUSH1 0x20
00000894: MSTORE
00000895: PUSH1 0x40
00000897: DUP1
00000898: DUP3
00000899: KECCAK256
0000089a: DUP1
0000089b: SLOAD
0000089c: PUSH1 0xff
0000089e: NOT
0000089f: AND
000008a0: PUSH1 0x01
000008a2: SWAP1
000008a3: DUP2
000008a4: OR
000008a5: SWAP1
000008a6: SWAP2
000008a7: SSTORE
000008a8: PUSH1 0x03
000008aa: DUP1
000008ab: SLOAD
000008ac: SWAP2
000008ad: DUP3
000008ae: ADD
000008af: DUP2
000008b0: SSTORE
000008b1: DUP4
000008b2: MSTORE
000008b3: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
000008d4: ADD
000008d5: DUP1
000008d6: SLOAD
000008d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008ec: NOT
000008ed: AND
000008ee: DUP5
000008ef: OR
000008f0: SWAP1
000008f1: SSTORE
000008f2: MLOAD
000008f3: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00000914: SWAP2
00000915: SWAP1
00000916: LOG2
00000917: POP
00000918: POP
00000919: POP
0000091a: POP
0000091b: POP
0000091c: JUMP
0000091d: JUMPDEST
0000091e: PUSH1 0x00
00000920: DUP1
00000921: DUP1
00000922: JUMPDEST
00000923: PUSH1 0x03
00000925: SLOAD
00000926: DUP2
00000927: LT
00000928: ISZERO
00000929: PUSH2 0x099a
0000092c: JUMPI
0000092d: PUSH1 0x00
0000092f: DUP5
00000930: DUP2
00000931: MSTORE
00000932: PUSH1 0x01
00000934: PUSH1 0x20
00000936: MSTORE
00000937: PUSH1 0x40
00000939: DUP2
0000093a: KECCAK256
0000093b: PUSH1 0x03
0000093d: DUP1
0000093e: SLOAD
0000093f: SWAP2
00000940: SWAP3
00000941: SWAP2
00000942: DUP5
00000943: SWAP1
00000944: DUP2
00000945: LT
00000946: PUSH2 0x094b
00000949: JUMPI
0000094a: INVALID
0000094b: JUMPDEST
0000094c: PUSH1 0x00
0000094e: SWAP2
0000094f: DUP3
00000950: MSTORE
00000951: PUSH1 0x20
00000953: DUP1
00000954: DUP4
00000955: KECCAK256
00000956: SWAP1
00000957: SWAP2
00000958: ADD
00000959: SLOAD
0000095a: PUSH1 0x01
0000095c: PUSH1 0xa0
0000095e: PUSH1 0x02
00000960: EXP
00000961: SUB
00000962: AND
00000963: DUP4
00000964: MSTORE
00000965: DUP3
00000966: ADD
00000967: SWAP3
00000968: SWAP1
00000969: SWAP3
0000096a: MSTORE
0000096b: PUSH1 0x40
0000096d: ADD
0000096e: SWAP1
0000096f: KECCAK256
00000970: SLOAD
00000971: PUSH1 0xff
00000973: AND
00000974: ISZERO
00000975: PUSH2 0x097f
00000978: JUMPI
00000979: PUSH1 0x01
0000097b: DUP3
0000097c: ADD
0000097d: SWAP2
0000097e: POP
0000097f: JUMPDEST
00000980: PUSH1 0x04
00000982: SLOAD
00000983: DUP3
00000984: EQ
00000985: ISZERO
00000986: PUSH2 0x0992
00000989: JUMPI
0000098a: PUSH1 0x01
0000098c: SWAP3
0000098d: POP
0000098e: PUSH2 0x099a
00000991: JUMP
00000992: JUMPDEST
00000993: PUSH1 0x01
00000995: ADD
00000996: PUSH2 0x0922
00000999: JUMP
0000099a: JUMPDEST
0000099b: POP
0000099c: POP
0000099d: SWAP2
0000099e: SWAP1
0000099f: POP
000009a0: JUMP
000009a1: JUMPDEST
000009a2: PUSH1 0x00
000009a4: DUP1
000009a5: JUMPDEST
000009a6: PUSH1 0x03
000009a8: SLOAD
000009a9: DUP2
000009aa: LT
000009ab: ISZERO
000009ac: PUSH2 0x0a0a
000009af: JUMPI
000009b0: PUSH1 0x00
000009b2: DUP4
000009b3: DUP2
000009b4: MSTORE
000009b5: PUSH1 0x01
000009b7: PUSH1 0x20
000009b9: MSTORE
000009ba: PUSH1 0x40
000009bc: DUP2
000009bd: KECCAK256
000009be: PUSH1 0x03
000009c0: DUP1
000009c1: SLOAD
000009c2: SWAP2
000009c3: SWAP3
000009c4: SWAP2
000009c5: DUP5
000009c6: SWAP1
000009c7: DUP2
000009c8: LT
000009c9: PUSH2 0x09ce
000009cc: JUMPI
000009cd: INVALID
000009ce: JUMPDEST
000009cf: PUSH1 0x00
000009d1: SWAP2
000009d2: DUP3
000009d3: MSTORE
000009d4: PUSH1 0x20
000009d6: DUP1
000009d7: DUP4
000009d8: KECCAK256
000009d9: SWAP1
000009da: SWAP2
000009db: ADD
000009dc: SLOAD
000009dd: PUSH1 0x01
000009df: PUSH1 0xa0
000009e1: PUSH1 0x02
000009e3: EXP
000009e4: SUB
000009e5: AND
000009e6: DUP4
000009e7: MSTORE
000009e8: DUP3
000009e9: ADD
000009ea: SWAP3
000009eb: SWAP1
000009ec: SWAP3
000009ed: MSTORE
000009ee: PUSH1 0x40
000009f0: ADD
000009f1: SWAP1
000009f2: KECCAK256
000009f3: SLOAD
000009f4: PUSH1 0xff
000009f6: AND
000009f7: ISZERO
000009f8: PUSH2 0x0a02
000009fb: JUMPI
000009fc: PUSH1 0x01
000009fe: DUP3
000009ff: ADD
00000a00: SWAP2
00000a01: POP
00000a02: JUMPDEST
00000a03: PUSH1 0x01
00000a05: ADD
00000a06: PUSH2 0x09a5
00000a09: JUMP
00000a0a: JUMPDEST
00000a0b: POP
00000a0c: SWAP2
00000a0d: SWAP1
00000a0e: POP
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: PUSH1 0x00
00000a13: PUSH1 0x20
00000a15: DUP2
00000a16: DUP2
00000a17: MSTORE
00000a18: SWAP2
00000a19: DUP2
00000a1a: MSTORE
00000a1b: PUSH1 0x40
00000a1d: SWAP1
00000a1e: DUP2
00000a1f: SWAP1
00000a20: KECCAK256
00000a21: DUP1
00000a22: SLOAD
00000a23: PUSH1 0x01
00000a25: DUP1
00000a26: DUP4
00000a27: ADD
00000a28: SLOAD
00000a29: PUSH1 0x02
00000a2b: DUP1
00000a2c: DUP6
00000a2d: ADD
00000a2e: DUP1
00000a2f: SLOAD
00000a30: DUP8
00000a31: MLOAD
00000a32: PUSH2 0x0100
00000a35: SWAP6
00000a36: DUP3
00000a37: AND
00000a38: ISZERO
00000a39: SWAP6
00000a3a: SWAP1
00000a3b: SWAP6
00000a3c: MUL
00000a3d: PUSH1 0x00
00000a3f: NOT
00000a40: ADD
00000a41: AND
00000a42: SWAP2
00000a43: SWAP1
00000a44: SWAP2
00000a45: DIV
00000a46: PUSH1 0x1f
00000a48: DUP2
00000a49: ADD
00000a4a: DUP9
00000a4b: SWAP1
00000a4c: DIV
00000a4d: DUP9
00000a4e: MUL
00000a4f: DUP5
00000a50: ADD
00000a51: DUP9
00000a52: ADD
00000a53: SWAP1
00000a54: SWAP7
00000a55: MSTORE
00000a56: DUP6
00000a57: DUP4
00000a58: MSTORE
00000a59: PUSH1 0x01
00000a5b: PUSH1 0xa0
00000a5d: PUSH1 0x02
00000a5f: EXP
00000a60: SUB
00000a61: SWAP1
00000a62: SWAP4
00000a63: AND
00000a64: SWAP6
00000a65: SWAP1
00000a66: SWAP5
00000a67: SWAP2
00000a68: SWAP3
00000a69: SWAP2
00000a6a: SWAP1
00000a6b: DUP4
00000a6c: ADD
00000a6d: DUP3
00000a6e: DUP3
00000a6f: DUP1
00000a70: ISZERO
00000a71: PUSH2 0x0abb
00000a74: JUMPI
00000a75: DUP1
00000a76: PUSH1 0x1f
00000a78: LT
00000a79: PUSH2 0x0a90
00000a7c: JUMPI
00000a7d: PUSH2 0x0100
00000a80: DUP1
00000a81: DUP4
00000a82: SLOAD
00000a83: DIV
00000a84: MUL
00000a85: DUP4
00000a86: MSTORE
00000a87: SWAP2
00000a88: PUSH1 0x20
00000a8a: ADD
00000a8b: SWAP2
00000a8c: PUSH2 0x0abb
00000a8f: JUMP
00000a90: JUMPDEST
00000a91: DUP3
00000a92: ADD
00000a93: SWAP2
00000a94: SWAP1
00000a95: PUSH1 0x00
00000a97: MSTORE
00000a98: PUSH1 0x20
00000a9a: PUSH1 0x00
00000a9c: KECCAK256
00000a9d: SWAP1
00000a9e: JUMPDEST
00000a9f: DUP2
00000aa0: SLOAD
00000aa1: DUP2
00000aa2: MSTORE
00000aa3: SWAP1
00000aa4: PUSH1 0x01
00000aa6: ADD
00000aa7: SWAP1
00000aa8: PUSH1 0x20
00000aaa: ADD
00000aab: DUP1
00000aac: DUP4
00000aad: GT
00000aae: PUSH2 0x0a9e
00000ab1: JUMPI
00000ab2: DUP3
00000ab3: SWAP1
00000ab4: SUB
00000ab5: PUSH1 0x1f
00000ab7: AND
00000ab8: DUP3
00000ab9: ADD
00000aba: SWAP2
00000abb: JUMPDEST
00000abc: POP
00000abd: POP
00000abe: POP
00000abf: PUSH1 0x03
00000ac1: SWAP1
00000ac2: SWAP4
00000ac3: ADD
00000ac4: SLOAD
00000ac5: SWAP2
00000ac6: SWAP3
00000ac7: POP
00000ac8: POP
00000ac9: PUSH1 0xff
00000acb: AND
00000acc: DUP5
00000acd: JUMP
00000ace: JUMPDEST
00000acf: PUSH1 0x60
00000ad1: PUSH1 0x03
00000ad3: DUP1
00000ad4: SLOAD
00000ad5: DUP1
00000ad6: PUSH1 0x20
00000ad8: MUL
00000ad9: PUSH1 0x20
00000adb: ADD
00000adc: PUSH1 0x40
00000ade: MLOAD
00000adf: SWAP1
00000ae0: DUP2
00000ae1: ADD
00000ae2: PUSH1 0x40
00000ae4: MSTORE
00000ae5: DUP1
00000ae6: SWAP3
00000ae7: SWAP2
00000ae8: SWAP1
00000ae9: DUP2
00000aea: DUP2
00000aeb: MSTORE
00000aec: PUSH1 0x20
00000aee: ADD
00000aef: DUP3
00000af0: DUP1
00000af1: SLOAD
00000af2: DUP1
00000af3: ISZERO
00000af4: PUSH2 0x0b26
00000af7: JUMPI
00000af8: PUSH1 0x20
00000afa: MUL
00000afb: DUP3
00000afc: ADD
00000afd: SWAP2
00000afe: SWAP1
00000aff: PUSH1 0x00
00000b01: MSTORE
00000b02: PUSH1 0x20
00000b04: PUSH1 0x00
00000b06: KECCAK256
00000b07: SWAP1
00000b08: JUMPDEST
00000b09: DUP2
00000b0a: SLOAD
00000b0b: PUSH1 0x01
00000b0d: PUSH1 0xa0
00000b0f: PUSH1 0x02
00000b11: EXP
00000b12: SUB
00000b13: AND
00000b14: DUP2
00000b15: MSTORE
00000b16: PUSH1 0x01
00000b18: SWAP1
00000b19: SWAP2
00000b1a: ADD
00000b1b: SWAP1
00000b1c: PUSH1 0x20
00000b1e: ADD
00000b1f: DUP1
00000b20: DUP4
00000b21: GT
00000b22: PUSH2 0x0b08
00000b25: JUMPI
00000b26: JUMPDEST
00000b27: POP
00000b28: POP
00000b29: POP
00000b2a: POP
00000b2b: POP
00000b2c: SWAP1
00000b2d: POP
00000b2e: JUMPDEST
00000b2f: SWAP1
00000b30: JUMP
00000b31: JUMPDEST
00000b32: PUSH1 0x60
00000b34: DUP1
00000b35: PUSH1 0x00
00000b37: DUP1
00000b38: PUSH1 0x05
00000b3a: SLOAD
00000b3b: PUSH1 0x40
00000b3d: MLOAD
00000b3e: SWAP1
00000b3f: DUP1
00000b40: DUP3
00000b41: MSTORE
00000b42: DUP1
00000b43: PUSH1 0x20
00000b45: MUL
00000b46: PUSH1 0x20
00000b48: ADD
00000b49: DUP3
00000b4a: ADD
00000b4b: PUSH1 0x40
00000b4d: MSTORE
00000b4e: DUP1
00000b4f: ISZERO
00000b50: PUSH2 0x0b63
00000b53: JUMPI
00000b54: DUP2
00000b55: PUSH1 0x20
00000b57: ADD
00000b58: PUSH1 0x20
00000b5a: DUP3
00000b5b: MUL
00000b5c: DUP1
00000b5d: CODESIZE
00000b5e: DUP4
00000b5f: CODECOPY
00000b60: ADD
00000b61: SWAP1
00000b62: POP
00000b63: JUMPDEST
00000b64: POP
00000b65: SWAP3
00000b66: POP
00000b67: PUSH1 0x00
00000b69: SWAP2
00000b6a: POP
00000b6b: PUSH1 0x00
00000b6d: SWAP1
00000b6e: POP
00000b6f: JUMPDEST
00000b70: PUSH1 0x05
00000b72: SLOAD
00000b73: DUP2
00000b74: LT
00000b75: ISZERO
00000b76: PUSH2 0x0bea
00000b79: JUMPI
00000b7a: DUP6
00000b7b: DUP1
00000b7c: ISZERO
00000b7d: PUSH2 0x0b98
00000b80: JUMPI
00000b81: POP
00000b82: PUSH1 0x00
00000b84: DUP2
00000b85: DUP2
00000b86: MSTORE
00000b87: PUSH1 0x20
00000b89: DUP2
00000b8a: SWAP1
00000b8b: MSTORE
00000b8c: PUSH1 0x40
00000b8e: SWAP1
00000b8f: KECCAK256
00000b90: PUSH1 0x03
00000b92: ADD
00000b93: SLOAD
00000b94: PUSH1 0xff
00000b96: AND
00000b97: ISZERO
00000b98: JUMPDEST
00000b99: DUP1
00000b9a: PUSH2 0x0bbc
00000b9d: JUMPI
00000b9e: POP
00000b9f: DUP5
00000ba0: DUP1
00000ba1: ISZERO
00000ba2: PUSH2 0x0bbc
00000ba5: JUMPI
00000ba6: POP
00000ba7: PUSH1 0x00
00000ba9: DUP2
00000baa: DUP2
00000bab: MSTORE
00000bac: PUSH1 0x20
00000bae: DUP2
00000baf: SWAP1
00000bb0: MSTORE
00000bb1: PUSH1 0x40
00000bb3: SWAP1
00000bb4: KECCAK256
00000bb5: PUSH1 0x03
00000bb7: ADD
00000bb8: SLOAD
00000bb9: PUSH1 0xff
00000bbb: AND
00000bbc: JUMPDEST
00000bbd: ISZERO
00000bbe: PUSH2 0x0be2
00000bc1: JUMPI
00000bc2: DUP1
00000bc3: DUP4
00000bc4: DUP4
00000bc5: DUP2
00000bc6: MLOAD
00000bc7: DUP2
00000bc8: LT
00000bc9: ISZERO
00000bca: ISZERO
00000bcb: PUSH2 0x0bd0
00000bce: JUMPI
00000bcf: INVALID
00000bd0: JUMPDEST
00000bd1: PUSH1 0x20
00000bd3: SWAP1
00000bd4: DUP2
00000bd5: MUL
00000bd6: SWAP1
00000bd7: SWAP2
00000bd8: ADD
00000bd9: ADD
00000bda: MSTORE
00000bdb: PUSH1 0x01
00000bdd: SWAP2
00000bde: SWAP1
00000bdf: SWAP2
00000be0: ADD
00000be1: SWAP1
00000be2: JUMPDEST
00000be3: PUSH1 0x01
00000be5: ADD
00000be6: PUSH2 0x0b6f
00000be9: JUMP
00000bea: JUMPDEST
00000beb: DUP8
00000bec: DUP8
00000bed: SUB
00000bee: PUSH1 0x40
00000bf0: MLOAD
00000bf1: SWAP1
00000bf2: DUP1
00000bf3: DUP3
00000bf4: MSTORE
00000bf5: DUP1
00000bf6: PUSH1 0x20
00000bf8: MUL
00000bf9: PUSH1 0x20
00000bfb: ADD
00000bfc: DUP3
00000bfd: ADD
00000bfe: PUSH1 0x40
00000c00: MSTORE
00000c01: DUP1
00000c02: ISZERO
00000c03: PUSH2 0x0c16
00000c06: JUMPI
00000c07: DUP2
00000c08: PUSH1 0x20
00000c0a: ADD
00000c0b: PUSH1 0x20
00000c0d: DUP3
00000c0e: MUL
00000c0f: DUP1
00000c10: CODESIZE
00000c11: DUP4
00000c12: CODECOPY
00000c13: ADD
00000c14: SWAP1
00000c15: POP
00000c16: JUMPDEST
00000c17: POP
00000c18: SWAP4
00000c19: POP
00000c1a: DUP8
00000c1b: SWAP1
00000c1c: POP
00000c1d: JUMPDEST
00000c1e: DUP7
00000c1f: DUP2
00000c20: LT
00000c21: ISZERO
00000c22: PUSH2 0x0c5f
00000c25: JUMPI
00000c26: DUP3
00000c27: DUP2
00000c28: DUP2
00000c29: MLOAD
00000c2a: DUP2
00000c2b: LT
00000c2c: ISZERO
00000c2d: ISZERO
00000c2e: PUSH2 0x0c33
00000c31: JUMPI
00000c32: INVALID
00000c33: JUMPDEST
00000c34: SWAP1
00000c35: PUSH1 0x20
00000c37: ADD
00000c38: SWAP1
00000c39: PUSH1 0x20
00000c3b: MUL
00000c3c: ADD
00000c3d: MLOAD
00000c3e: DUP5
00000c3f: DUP10
00000c40: DUP4
00000c41: SUB
00000c42: DUP2
00000c43: MLOAD
00000c44: DUP2
00000c45: LT
00000c46: ISZERO
00000c47: ISZERO
00000c48: PUSH2 0x0c4d
00000c4b: JUMPI
00000c4c: INVALID
00000c4d: JUMPDEST
00000c4e: PUSH1 0x20
00000c50: SWAP1
00000c51: DUP2
00000c52: MUL
00000c53: SWAP1
00000c54: SWAP2
00000c55: ADD
00000c56: ADD
00000c57: MSTORE
00000c58: PUSH1 0x01
00000c5a: ADD
00000c5b: PUSH2 0x0c1d
00000c5e: JUMP
00000c5f: JUMPDEST
00000c60: POP
00000c61: POP
00000c62: POP
00000c63: SWAP5
00000c64: SWAP4
00000c65: POP
00000c66: POP
00000c67: POP
00000c68: POP
00000c69: JUMP
00000c6a: JUMPDEST
00000c6b: PUSH1 0x60
00000c6d: DUP1
00000c6e: PUSH1 0x00
00000c70: DUP1
00000c71: PUSH1 0x03
00000c73: DUP1
00000c74: SLOAD
00000c75: SWAP1
00000c76: POP
00000c77: PUSH1 0x40
00000c79: MLOAD
00000c7a: SWAP1
00000c7b: DUP1
00000c7c: DUP3
00000c7d: MSTORE
00000c7e: DUP1
00000c7f: PUSH1 0x20
00000c81: MUL
00000c82: PUSH1 0x20
00000c84: ADD
00000c85: DUP3
00000c86: ADD
00000c87: PUSH1 0x40
00000c89: MSTORE
00000c8a: DUP1
00000c8b: ISZERO
00000c8c: PUSH2 0x0c9f
00000c8f: JUMPI
00000c90: DUP2
00000c91: PUSH1 0x20
00000c93: ADD
00000c94: PUSH1 0x20
00000c96: DUP3
00000c97: MUL
00000c98: DUP1
00000c99: CODESIZE
00000c9a: DUP4
00000c9b: CODECOPY
00000c9c: ADD
00000c9d: SWAP1
00000c9e: POP
00000c9f: JUMPDEST
00000ca0: POP
00000ca1: SWAP3
00000ca2: POP
00000ca3: PUSH1 0x00
00000ca5: SWAP2
00000ca6: POP
00000ca7: PUSH1 0x00
00000ca9: SWAP1
00000caa: POP
00000cab: JUMPDEST
00000cac: PUSH1 0x03
00000cae: SLOAD
00000caf: DUP2
00000cb0: LT
00000cb1: ISZERO
00000cb2: PUSH2 0x0d5c
00000cb5: JUMPI
00000cb6: PUSH1 0x00
00000cb8: DUP6
00000cb9: DUP2
00000cba: MSTORE
00000cbb: PUSH1 0x01
00000cbd: PUSH1 0x20
00000cbf: MSTORE
00000cc0: PUSH1 0x40
00000cc2: DUP2
00000cc3: KECCAK256
00000cc4: PUSH1 0x03
00000cc6: DUP1
00000cc7: SLOAD
00000cc8: SWAP2
00000cc9: SWAP3
00000cca: SWAP2
00000ccb: DUP5
00000ccc: SWAP1
00000ccd: DUP2
00000cce: LT
00000ccf: PUSH2 0x0cd4
00000cd2: JUMPI
00000cd3: INVALID
00000cd4: JUMPDEST
00000cd5: PUSH1 0x00
00000cd7: SWAP2
00000cd8: DUP3
00000cd9: MSTORE
00000cda: PUSH1 0x20
00000cdc: DUP1
00000cdd: DUP4
00000cde: KECCAK256
00000cdf: SWAP1
00000ce0: SWAP2
00000ce1: ADD
00000ce2: SLOAD
00000ce3: PUSH1 0x01
00000ce5: PUSH1 0xa0
00000ce7: PUSH1 0x02
00000ce9: EXP
00000cea: SUB
00000ceb: AND
00000cec: DUP4
00000ced: MSTORE
00000cee: DUP3
00000cef: ADD
00000cf0: SWAP3
00000cf1: SWAP1
00000cf2: SWAP3
00000cf3: MSTORE
00000cf4: PUSH1 0x40
00000cf6: ADD
00000cf7: SWAP1
00000cf8: KECCAK256
00000cf9: SLOAD
00000cfa: PUSH1 0xff
00000cfc: AND
00000cfd: ISZERO
00000cfe: PUSH2 0x0d54
00000d01: JUMPI
00000d02: PUSH1 0x03
00000d04: DUP1
00000d05: SLOAD
00000d06: DUP3
00000d07: SWAP1
00000d08: DUP2
00000d09: LT
00000d0a: PUSH2 0x0d0f
00000d0d: JUMPI
00000d0e: INVALID
00000d0f: JUMPDEST
00000d10: PUSH1 0x00
00000d12: SWAP2
00000d13: DUP3
00000d14: MSTORE
00000d15: PUSH1 0x20
00000d17: SWAP1
00000d18: SWAP2
00000d19: KECCAK256
00000d1a: ADD
00000d1b: SLOAD
00000d1c: DUP4
00000d1d: MLOAD
00000d1e: PUSH1 0x01
00000d20: PUSH1 0xa0
00000d22: PUSH1 0x02
00000d24: EXP
00000d25: SUB
00000d26: SWAP1
00000d27: SWAP2
00000d28: AND
00000d29: SWAP1
00000d2a: DUP5
00000d2b: SWAP1
00000d2c: DUP5
00000d2d: SWAP1
00000d2e: DUP2
00000d2f: LT
00000d30: PUSH2 0x0d35
00000d33: JUMPI
00000d34: INVALID
00000d35: JUMPDEST
00000d36: PUSH1 0x01
00000d38: PUSH1 0xa0
00000d3a: PUSH1 0x02
00000d3c: EXP
00000d3d: SUB
00000d3e: SWAP1
00000d3f: SWAP3
00000d40: AND
00000d41: PUSH1 0x20
00000d43: SWAP3
00000d44: DUP4
00000d45: MUL
00000d46: SWAP1
00000d47: SWAP2
00000d48: ADD
00000d49: SWAP1
00000d4a: SWAP2
00000d4b: ADD
00000d4c: MSTORE
00000d4d: PUSH1 0x01
00000d4f: SWAP2
00000d50: SWAP1
00000d51: SWAP2
00000d52: ADD
00000d53: SWAP1
00000d54: JUMPDEST
00000d55: PUSH1 0x01
00000d57: ADD
00000d58: PUSH2 0x0cab
00000d5b: JUMP
00000d5c: JUMPDEST
00000d5d: DUP2
00000d5e: PUSH1 0x40
00000d60: MLOAD
00000d61: SWAP1
00000d62: DUP1
00000d63: DUP3
00000d64: MSTORE
00000d65: DUP1
00000d66: PUSH1 0x20
00000d68: MUL
00000d69: PUSH1 0x20
00000d6b: ADD
00000d6c: DUP3
00000d6d: ADD
00000d6e: PUSH1 0x40
00000d70: MSTORE
00000d71: DUP1
00000d72: ISZERO
00000d73: PUSH2 0x0d86
00000d76: JUMPI
00000d77: DUP2
00000d78: PUSH1 0x20
00000d7a: ADD
00000d7b: PUSH1 0x20
00000d7d: DUP3
00000d7e: MUL
00000d7f: DUP1
00000d80: CODESIZE
00000d81: DUP4
00000d82: CODECOPY
00000d83: ADD
00000d84: SWAP1
00000d85: POP
00000d86: JUMPDEST
00000d87: POP
00000d88: SWAP4
00000d89: POP
00000d8a: PUSH1 0x00
00000d8c: SWAP1
00000d8d: POP
00000d8e: JUMPDEST
00000d8f: DUP2
00000d90: DUP2
00000d91: LT
00000d92: ISZERO
00000d93: PUSH2 0x0ddb
00000d96: JUMPI
00000d97: DUP3
00000d98: DUP2
00000d99: DUP2
00000d9a: MLOAD
00000d9b: DUP2
00000d9c: LT
00000d9d: ISZERO
00000d9e: ISZERO
00000d9f: PUSH2 0x0da4
00000da2: JUMPI
00000da3: INVALID
00000da4: JUMPDEST
00000da5: SWAP1
00000da6: PUSH1 0x20
00000da8: ADD
00000da9: SWAP1
00000daa: PUSH1 0x20
00000dac: MUL
00000dad: ADD
00000dae: MLOAD
00000daf: DUP5
00000db0: DUP3
00000db1: DUP2
00000db2: MLOAD
00000db3: DUP2
00000db4: LT
00000db5: ISZERO
00000db6: ISZERO
00000db7: PUSH2 0x0dbc
00000dba: JUMPI
00000dbb: INVALID
00000dbc: JUMPDEST
00000dbd: PUSH1 0x01
00000dbf: PUSH1 0xa0
00000dc1: PUSH1 0x02
00000dc3: EXP
00000dc4: SUB
00000dc5: SWAP1
00000dc6: SWAP3
00000dc7: AND
00000dc8: PUSH1 0x20
00000dca: SWAP3
00000dcb: DUP4
00000dcc: MUL
00000dcd: SWAP1
00000dce: SWAP2
00000dcf: ADD
00000dd0: SWAP1
00000dd1: SWAP2
00000dd2: ADD
00000dd3: MSTORE
00000dd4: PUSH1 0x01
00000dd6: ADD
00000dd7: PUSH2 0x0d8e
00000dda: JUMP
00000ddb: JUMPDEST
00000ddc: POP
00000ddd: POP
00000dde: POP
00000ddf: SWAP2
00000de0: SWAP1
00000de1: POP
00000de2: JUMP
00000de3: JUMPDEST
00000de4: PUSH1 0x05
00000de6: SLOAD
00000de7: DUP2
00000de8: JUMP
00000de9: JUMPDEST
00000dea: CALLER
00000deb: ADDRESS
00000dec: EQ
00000ded: PUSH2 0x0df5
00000df0: JUMPI
00000df1: PUSH1 0x00
00000df3: DUP1
00000df4: REVERT
00000df5: JUMPDEST
00000df6: PUSH1 0x03
00000df8: SLOAD
00000df9: DUP2
00000dfa: PUSH1 0x32
00000dfc: DUP3
00000dfd: GT
00000dfe: DUP1
00000dff: ISZERO
00000e00: SWAP1
00000e01: PUSH2 0x0e0a
00000e04: JUMPI
00000e05: POP
00000e06: DUP2
00000e07: DUP2
00000e08: GT
00000e09: ISZERO
00000e0a: JUMPDEST
00000e0b: DUP1
00000e0c: ISZERO
00000e0d: PUSH2 0x0e15
00000e10: JUMPI
00000e11: POP
00000e12: DUP1
00000e13: ISZERO
00000e14: ISZERO
00000e15: JUMPDEST
00000e16: DUP1
00000e17: ISZERO
00000e18: PUSH2 0x0e20
00000e1b: JUMPI
00000e1c: POP
00000e1d: DUP2
00000e1e: ISZERO
00000e1f: ISZERO
00000e20: JUMPDEST
00000e21: ISZERO
00000e22: ISZERO
00000e23: PUSH2 0x0e2b
00000e26: JUMPI
00000e27: PUSH1 0x00
00000e29: DUP1
00000e2a: REVERT
00000e2b: JUMPDEST
00000e2c: PUSH1 0x04
00000e2e: DUP4
00000e2f: SWAP1
00000e30: SSTORE
00000e31: PUSH1 0x40
00000e33: DUP1
00000e34: MLOAD
00000e35: DUP5
00000e36: DUP2
00000e37: MSTORE
00000e38: SWAP1
00000e39: MLOAD
00000e3a: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a
00000e5b: SWAP2
00000e5c: DUP2
00000e5d: SWAP1
00000e5e: SUB
00000e5f: PUSH1 0x20
00000e61: ADD
00000e62: SWAP1
00000e63: LOG1
00000e64: POP
00000e65: POP
00000e66: POP
00000e67: JUMP
00000e68: JUMPDEST
00000e69: CALLER
00000e6a: PUSH1 0x00
00000e6c: DUP2
00000e6d: DUP2
00000e6e: MSTORE
00000e6f: PUSH1 0x02
00000e71: PUSH1 0x20
00000e73: MSTORE
00000e74: PUSH1 0x40
00000e76: SWAP1
00000e77: KECCAK256
00000e78: SLOAD
00000e79: PUSH1 0xff
00000e7b: AND
00000e7c: ISZERO
00000e7d: ISZERO
00000e7e: PUSH2 0x0e86
00000e81: JUMPI
00000e82: PUSH1 0x00
00000e84: DUP1
00000e85: REVERT
00000e86: JUMPDEST
00000e87: PUSH1 0x00
00000e89: DUP3
00000e8a: DUP2
00000e8b: MSTORE
00000e8c: PUSH1 0x20
00000e8e: DUP2
00000e8f: SWAP1
00000e90: MSTORE
00000e91: PUSH1 0x40
00000e93: SWAP1
00000e94: KECCAK256
00000e95: SLOAD
00000e96: DUP3
00000e97: SWAP1
00000e98: PUSH1 0x01
00000e9a: PUSH1 0xa0
00000e9c: PUSH1 0x02
00000e9e: EXP
00000e9f: SUB
00000ea0: AND
00000ea1: ISZERO
00000ea2: ISZERO
00000ea3: PUSH2 0x0eab
00000ea6: JUMPI
00000ea7: PUSH1 0x00
00000ea9: DUP1
00000eaa: REVERT
00000eab: JUMPDEST
00000eac: PUSH1 0x00
00000eae: DUP4
00000eaf: DUP2
00000eb0: MSTORE
00000eb1: PUSH1 0x01
00000eb3: PUSH1 0x20
00000eb5: SWAP1
00000eb6: DUP2
00000eb7: MSTORE
00000eb8: PUSH1 0x40
00000eba: DUP1
00000ebb: DUP4
00000ebc: KECCAK256
00000ebd: CALLER
00000ebe: DUP1
00000ebf: DUP6
00000ec0: MSTORE
00000ec1: SWAP3
00000ec2: MSTORE
00000ec3: SWAP1
00000ec4: SWAP2
00000ec5: KECCAK256
00000ec6: SLOAD
00000ec7: DUP5
00000ec8: SWAP2
00000ec9: SWAP1
00000eca: PUSH1 0xff
00000ecc: AND
00000ecd: ISZERO
00000ece: PUSH2 0x0ed6
00000ed1: JUMPI
00000ed2: PUSH1 0x00
00000ed4: DUP1
00000ed5: REVERT
00000ed6: JUMPDEST
00000ed7: PUSH1 0x00
00000ed9: DUP6
00000eda: DUP2
00000edb: MSTORE
00000edc: PUSH1 0x01
00000ede: PUSH1 0x20
00000ee0: DUP2
00000ee1: DUP2
00000ee2: MSTORE
00000ee3: PUSH1 0x40
00000ee5: DUP1
00000ee6: DUP5
00000ee7: KECCAK256
00000ee8: CALLER
00000ee9: DUP1
00000eea: DUP7
00000eeb: MSTORE
00000eec: SWAP3
00000eed: MSTORE
00000eee: DUP1
00000eef: DUP5
00000ef0: KECCAK256
00000ef1: DUP1
00000ef2: SLOAD
00000ef3: PUSH1 0xff
00000ef5: NOT
00000ef6: AND
00000ef7: SWAP1
00000ef8: SWAP4
00000ef9: OR
00000efa: SWAP1
00000efb: SWAP3
00000efc: SSTORE
00000efd: SWAP1
00000efe: MLOAD
00000eff: DUP8
00000f00: SWAP3
00000f01: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef
00000f22: SWAP2
00000f23: LOG3
00000f24: PUSH2 0x0f2c
00000f27: DUP6
00000f28: PUSH2 0x10e7
00000f2b: JUMP
00000f2c: JUMPDEST
00000f2d: POP
00000f2e: POP
00000f2f: POP
00000f30: POP
00000f31: POP
00000f32: JUMP
00000f33: JUMPDEST
00000f34: PUSH1 0x00
00000f36: PUSH2 0x0f40
00000f39: DUP5
00000f3a: DUP5
00000f3b: DUP5
00000f3c: PUSH2 0x12a7
00000f3f: JUMP
00000f40: JUMPDEST
00000f41: SWAP1
00000f42: POP
00000f43: PUSH2 0x0f4b
00000f46: DUP2
00000f47: PUSH2 0x0e68
00000f4a: JUMP
00000f4b: JUMPDEST
00000f4c: SWAP4
00000f4d: SWAP3
00000f4e: POP
00000f4f: POP
00000f50: POP
00000f51: JUMP
00000f52: JUMPDEST
00000f53: PUSH1 0x32
00000f55: DUP2
00000f56: JUMP
00000f57: JUMPDEST
00000f58: PUSH1 0x04
00000f5a: SLOAD
00000f5b: DUP2
00000f5c: JUMP
00000f5d: JUMPDEST
00000f5e: PUSH1 0x00
00000f60: CALLER
00000f61: ADDRESS
00000f62: EQ
00000f63: PUSH2 0x0f6b
00000f66: JUMPI
00000f67: PUSH1 0x00
00000f69: DUP1
00000f6a: REVERT
00000f6b: JUMPDEST
00000f6c: PUSH1 0x01
00000f6e: PUSH1 0xa0
00000f70: PUSH1 0x02
00000f72: EXP
00000f73: SUB
00000f74: DUP4
00000f75: AND
00000f76: PUSH1 0x00
00000f78: SWAP1
00000f79: DUP2
00000f7a: MSTORE
00000f7b: PUSH1 0x02
00000f7d: PUSH1 0x20
00000f7f: MSTORE
00000f80: PUSH1 0x40
00000f82: SWAP1
00000f83: KECCAK256
00000f84: SLOAD
00000f85: DUP4
00000f86: SWAP1
00000f87: PUSH1 0xff
00000f89: AND
00000f8a: ISZERO
00000f8b: ISZERO
00000f8c: PUSH2 0x0f94
00000f8f: JUMPI
00000f90: PUSH1 0x00
00000f92: DUP1
00000f93: REVERT
00000f94: JUMPDEST
00000f95: PUSH1 0x01
00000f97: PUSH1 0xa0
00000f99: PUSH1 0x02
00000f9b: EXP
00000f9c: SUB
00000f9d: DUP4
00000f9e: AND
00000f9f: PUSH1 0x00
00000fa1: SWAP1
00000fa2: DUP2
00000fa3: MSTORE
00000fa4: PUSH1 0x02
00000fa6: PUSH1 0x20
00000fa8: MSTORE
00000fa9: PUSH1 0x40
00000fab: SWAP1
00000fac: KECCAK256
00000fad: SLOAD
00000fae: DUP4
00000faf: SWAP1
00000fb0: PUSH1 0xff
00000fb2: AND
00000fb3: ISZERO
00000fb4: PUSH2 0x0fbc
00000fb7: JUMPI
00000fb8: PUSH1 0x00
00000fba: DUP1
00000fbb: REVERT
00000fbc: JUMPDEST
00000fbd: PUSH1 0x00
00000fbf: SWAP3
00000fc0: POP
00000fc1: JUMPDEST
00000fc2: PUSH1 0x03
00000fc4: SLOAD
00000fc5: DUP4
00000fc6: LT
00000fc7: ISZERO
00000fc8: PUSH2 0x104d
00000fcb: JUMPI
00000fcc: DUP5
00000fcd: PUSH1 0x01
00000fcf: PUSH1 0xa0
00000fd1: PUSH1 0x02
00000fd3: EXP
00000fd4: SUB
00000fd5: AND
00000fd6: PUSH1 0x03
00000fd8: DUP5
00000fd9: DUP2
00000fda: SLOAD
00000fdb: DUP2
00000fdc: LT
00000fdd: ISZERO
00000fde: ISZERO
00000fdf: PUSH2 0x0fe4
00000fe2: JUMPI
00000fe3: INVALID
00000fe4: JUMPDEST
00000fe5: PUSH1 0x00
00000fe7: SWAP2
00000fe8: DUP3
00000fe9: MSTORE
00000fea: PUSH1 0x20
00000fec: SWAP1
00000fed: SWAP2
00000fee: KECCAK256
00000fef: ADD
00000ff0: SLOAD
00000ff1: PUSH1 0x01
00000ff3: PUSH1 0xa0
00000ff5: PUSH1 0x02
00000ff7: EXP
00000ff8: SUB
00000ff9: AND
00000ffa: EQ
00000ffb: ISZERO
00000ffc: PUSH2 0x1042
00000fff: JUMPI
00001000: DUP4
00001001: PUSH1 0x03
00001003: DUP5
00001004: DUP2
00001005: SLOAD
00001006: DUP2
00001007: LT
00001008: ISZERO
00001009: ISZERO
0000100a: PUSH2 0x100f
0000100d: JUMPI
0000100e: INVALID
0000100f: JUMPDEST
00001010: SWAP1
00001011: PUSH1 0x00
00001013: MSTORE
00001014: PUSH1 0x20
00001016: PUSH1 0x00
00001018: KECCAK256
00001019: ADD
0000101a: PUSH1 0x00
0000101c: PUSH2 0x0100
0000101f: EXP
00001020: DUP2
00001021: SLOAD
00001022: DUP2
00001023: PUSH1 0x01
00001025: PUSH1 0xa0
00001027: PUSH1 0x02
00001029: EXP
0000102a: SUB
0000102b: MUL
0000102c: NOT
0000102d: AND
0000102e: SWAP1
0000102f: DUP4
00001030: PUSH1 0x01
00001032: PUSH1 0xa0
00001034: PUSH1 0x02
00001036: EXP
00001037: SUB
00001038: AND
00001039: MUL
0000103a: OR
0000103b: SWAP1
0000103c: SSTORE
0000103d: POP
0000103e: PUSH2 0x104d
00001041: JUMP
00001042: JUMPDEST
00001043: PUSH1 0x01
00001045: SWAP1
00001046: SWAP3
00001047: ADD
00001048: SWAP2
00001049: PUSH2 0x0fc1
0000104c: JUMP
0000104d: JUMPDEST
0000104e: PUSH1 0x01
00001050: PUSH1 0xa0
00001052: PUSH1 0x02
00001054: EXP
00001055: SUB
00001056: DUP1
00001057: DUP7
00001058: AND
00001059: PUSH1 0x00
0000105b: DUP2
0000105c: DUP2
0000105d: MSTORE
0000105e: PUSH1 0x02
00001060: PUSH1 0x20
00001062: MSTORE
00001063: PUSH1 0x40
00001065: DUP1
00001066: DUP3
00001067: KECCAK256
00001068: DUP1
00001069: SLOAD
0000106a: PUSH1 0xff
0000106c: NOT
0000106d: SWAP1
0000106e: DUP2
0000106f: AND
00001070: SWAP1
00001071: SWAP2
00001072: SSTORE
00001073: SWAP4
00001074: DUP9
00001075: AND
00001076: DUP3
00001077: MSTORE
00001078: DUP1
00001079: DUP3
0000107a: KECCAK256
0000107b: DUP1
0000107c: SLOAD
0000107d: SWAP1
0000107e: SWAP5
0000107f: AND
00001080: PUSH1 0x01
00001082: OR
00001083: SWAP1
00001084: SWAP4
00001085: SSTORE
00001086: SWAP2
00001087: MLOAD
00001088: SWAP1
00001089: SWAP2
0000108a: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
000010ab: SWAP2
000010ac: LOG2
000010ad: PUSH1 0x40
000010af: MLOAD
000010b0: PUSH1 0x01
000010b2: PUSH1 0xa0
000010b4: PUSH1 0x02
000010b6: EXP
000010b7: SUB
000010b8: DUP6
000010b9: AND
000010ba: SWAP1
000010bb: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
000010dc: SWAP1
000010dd: PUSH1 0x00
000010df: SWAP1
000010e0: LOG2
000010e1: POP
000010e2: POP
000010e3: POP
000010e4: POP
000010e5: POP
000010e6: JUMP
000010e7: JUMPDEST
000010e8: CALLER
000010e9: PUSH1 0x00
000010eb: DUP2
000010ec: DUP2
000010ed: MSTORE
000010ee: PUSH1 0x02
000010f0: PUSH1 0x20
000010f2: MSTORE
000010f3: PUSH1 0x40
000010f5: DUP2
000010f6: KECCAK256
000010f7: SLOAD
000010f8: SWAP1
000010f9: SWAP2
000010fa: SWAP1
000010fb: PUSH1 0xff
000010fd: AND
000010fe: ISZERO
000010ff: ISZERO
00001100: PUSH2 0x1108
00001103: JUMPI
00001104: PUSH1 0x00
00001106: DUP1
00001107: REVERT
00001108: JUMPDEST
00001109: PUSH1 0x00
0000110b: DUP4
0000110c: DUP2
0000110d: MSTORE
0000110e: PUSH1 0x01
00001110: PUSH1 0x20
00001112: SWAP1
00001113: DUP2
00001114: MSTORE
00001115: PUSH1 0x40
00001117: DUP1
00001118: DUP4
00001119: KECCAK256
0000111a: CALLER
0000111b: DUP1
0000111c: DUP6
0000111d: MSTORE
0000111e: SWAP3
0000111f: MSTORE
00001120: SWAP1
00001121: SWAP2
00001122: KECCAK256
00001123: SLOAD
00001124: DUP5
00001125: SWAP2
00001126: SWAP1
00001127: PUSH1 0xff
00001129: AND
0000112a: ISZERO
0000112b: ISZERO
0000112c: PUSH2 0x1134
0000112f: JUMPI
00001130: PUSH1 0x00
00001132: DUP1
00001133: REVERT
00001134: JUMPDEST
00001135: PUSH1 0x00
00001137: DUP6
00001138: DUP2
00001139: MSTORE
0000113a: PUSH1 0x20
0000113c: DUP2
0000113d: SWAP1
0000113e: MSTORE
0000113f: PUSH1 0x40
00001141: SWAP1
00001142: KECCAK256
00001143: PUSH1 0x03
00001145: ADD
00001146: SLOAD
00001147: DUP6
00001148: SWAP1
00001149: PUSH1 0xff
0000114b: AND
0000114c: ISZERO
0000114d: PUSH2 0x1155
00001150: JUMPI
00001151: PUSH1 0x00
00001153: DUP1
00001154: REVERT
00001155: JUMPDEST
00001156: PUSH2 0x115e
00001159: DUP7
0000115a: PUSH2 0x091d
0000115d: JUMP
0000115e: JUMPDEST
0000115f: ISZERO
00001160: PUSH2 0x129f
00001163: JUMPI
00001164: PUSH1 0x00
00001166: DUP7
00001167: DUP2
00001168: MSTORE
00001169: PUSH1 0x20
0000116b: DUP2
0000116c: DUP2
0000116d: MSTORE
0000116e: PUSH1 0x40
00001170: SWAP2
00001171: DUP3
00001172: SWAP1
00001173: KECCAK256
00001174: PUSH1 0x03
00001176: DUP2
00001177: ADD
00001178: DUP1
00001179: SLOAD
0000117a: PUSH1 0xff
0000117c: NOT
0000117d: AND
0000117e: PUSH1 0x01
00001180: SWAP1
00001181: DUP2
00001182: OR
00001183: SWAP1
00001184: SWAP2
00001185: SSTORE
00001186: DUP2
00001187: SLOAD
00001188: DUP2
00001189: DUP4
0000118a: ADD
0000118b: SLOAD
0000118c: PUSH1 0x02
0000118e: DUP1
0000118f: DUP6
00001190: ADD
00001191: DUP1
00001192: SLOAD
00001193: DUP9
00001194: MLOAD
00001195: PUSH1 0x1f
00001197: PUSH1 0x00
00001199: NOT
0000119a: SWAP8
0000119b: DUP4
0000119c: AND
0000119d: ISZERO
0000119e: PUSH2 0x0100
000011a1: MUL
000011a2: SWAP8
000011a3: SWAP1
000011a4: SWAP8
000011a5: ADD
000011a6: SWAP1
000011a7: SWAP2
000011a8: AND
000011a9: SWAP3
000011aa: SWAP1
000011ab: SWAP3
000011ac: DIV
000011ad: SWAP5
000011ae: DUP6
000011af: ADD
000011b0: DUP8
000011b1: SWAP1
000011b2: DIV
000011b3: DUP8
000011b4: MUL
000011b5: DUP3
000011b6: ADD
000011b7: DUP8
000011b8: ADD
000011b9: SWAP1
000011ba: SWAP8
000011bb: MSTORE
000011bc: DUP4
000011bd: DUP2
000011be: MSTORE
000011bf: SWAP4
000011c0: SWAP11
000011c1: POP
000011c2: PUSH2 0x1232
000011c5: SWAP6
000011c6: PUSH1 0x01
000011c8: PUSH1 0xa0
000011ca: PUSH1 0x02
000011cc: EXP
000011cd: SUB
000011ce: SWAP1
000011cf: SWAP3
000011d0: AND
000011d1: SWAP5
000011d2: SWAP1
000011d3: SWAP4
000011d4: SWAP2
000011d5: SWAP1
000011d6: DUP4
000011d7: SWAP1
000011d8: DUP4
000011d9: ADD
000011da: DUP3
000011db: DUP3
000011dc: DUP1
000011dd: ISZERO
000011de: PUSH2 0x1228
000011e1: JUMPI
000011e2: DUP1
000011e3: PUSH1 0x1f
000011e5: LT
000011e6: PUSH2 0x11fd
000011e9: JUMPI
000011ea: PUSH2 0x0100
000011ed: DUP1
000011ee: DUP4
000011ef: SLOAD
000011f0: DIV
000011f1: MUL
000011f2: DUP4
000011f3: MSTORE
000011f4: SWAP2
000011f5: PUSH1 0x20
000011f7: ADD
000011f8: SWAP2
000011f9: PUSH2 0x1228
000011fc: JUMP
000011fd: JUMPDEST
000011fe: DUP3
000011ff: ADD
00001200: SWAP2
00001201: SWAP1
00001202: PUSH1 0x00
00001204: MSTORE
00001205: PUSH1 0x20
00001207: PUSH1 0x00
00001209: KECCAK256
0000120a: SWAP1
0000120b: JUMPDEST
0000120c: DUP2
0000120d: SLOAD
0000120e: DUP2
0000120f: MSTORE
00001210: SWAP1
00001211: PUSH1 0x01
00001213: ADD
00001214: SWAP1
00001215: PUSH1 0x20
00001217: ADD
00001218: DUP1
00001219: DUP4
0000121a: GT
0000121b: PUSH2 0x120b
0000121e: JUMPI
0000121f: DUP3
00001220: SWAP1
00001221: SUB
00001222: PUSH1 0x1f
00001224: AND
00001225: DUP3
00001226: ADD
00001227: SWAP2
00001228: JUMPDEST
00001229: POP
0000122a: POP
0000122b: POP
0000122c: POP
0000122d: POP
0000122e: PUSH2 0x1397
00001231: JUMP
00001232: JUMPDEST
00001233: ISZERO
00001234: PUSH2 0x1267
00001237: JUMPI
00001238: PUSH1 0x40
0000123a: MLOAD
0000123b: DUP7
0000123c: SWAP1
0000123d: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75
0000125e: SWAP1
0000125f: PUSH1 0x00
00001261: SWAP1
00001262: LOG2
00001263: PUSH2 0x129f
00001266: JUMP
00001267: JUMPDEST
00001268: PUSH1 0x40
0000126a: MLOAD
0000126b: DUP7
0000126c: SWAP1
0000126d: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236
0000128e: SWAP1
0000128f: PUSH1 0x00
00001291: SWAP1
00001292: LOG2
00001293: PUSH1 0x03
00001295: DUP6
00001296: ADD
00001297: DUP1
00001298: SLOAD
00001299: PUSH1 0xff
0000129b: NOT
0000129c: AND
0000129d: SWAP1
0000129e: SSTORE
0000129f: JUMPDEST
000012a0: POP
000012a1: POP
000012a2: POP
000012a3: POP
000012a4: POP
000012a5: POP
000012a6: JUMP
000012a7: JUMPDEST
000012a8: PUSH1 0x00
000012aa: DUP4
000012ab: PUSH1 0x01
000012ad: PUSH1 0xa0
000012af: PUSH1 0x02
000012b1: EXP
000012b2: SUB
000012b3: DUP2
000012b4: AND
000012b5: ISZERO
000012b6: ISZERO
000012b7: PUSH2 0x12bf
000012ba: JUMPI
000012bb: PUSH1 0x00
000012bd: DUP1
000012be: REVERT
000012bf: JUMPDEST
000012c0: PUSH1 0x05
000012c2: SLOAD
000012c3: PUSH1 0x40
000012c5: DUP1
000012c6: MLOAD
000012c7: PUSH1 0x80
000012c9: DUP2
000012ca: ADD
000012cb: DUP3
000012cc: MSTORE
000012cd: PUSH1 0x01
000012cf: PUSH1 0xa0
000012d1: PUSH1 0x02
000012d3: EXP
000012d4: SUB
000012d5: DUP9
000012d6: DUP2
000012d7: AND
000012d8: DUP3
000012d9: MSTORE
000012da: PUSH1 0x20
000012dc: DUP1
000012dd: DUP4
000012de: ADD
000012df: DUP10
000012e0: DUP2
000012e1: MSTORE
000012e2: DUP4
000012e3: DUP6
000012e4: ADD
000012e5: DUP10
000012e6: DUP2
000012e7: MSTORE
000012e8: PUSH1 0x00
000012ea: PUSH1 0x60
000012ec: DUP7
000012ed: ADD
000012ee: DUP2
000012ef: SWAP1
000012f0: MSTORE
000012f1: DUP8
000012f2: DUP2
000012f3: MSTORE
000012f4: DUP1
000012f5: DUP5
000012f6: MSTORE
000012f7: SWAP6
000012f8: SWAP1
000012f9: SWAP6
000012fa: KECCAK256
000012fb: DUP5
000012fc: MLOAD
000012fd: DUP2
000012fe: SLOAD
000012ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001314: NOT
00001315: AND
00001316: SWAP5
00001317: AND
00001318: SWAP4
00001319: SWAP1
0000131a: SWAP4
0000131b: OR
0000131c: DUP4
0000131d: SSTORE
0000131e: MLOAD
0000131f: PUSH1 0x01
00001321: DUP4
00001322: ADD
00001323: SSTORE
00001324: SWAP3
00001325: MLOAD
00001326: DUP1
00001327: MLOAD
00001328: SWAP5
00001329: SWAP7
0000132a: POP
0000132b: SWAP2
0000132c: SWAP4
0000132d: SWAP1
0000132e: SWAP3
0000132f: PUSH2 0x133f
00001332: SWAP3
00001333: PUSH1 0x02
00001335: DUP6
00001336: ADD
00001337: SWAP3
00001338: SWAP2
00001339: ADD
0000133a: SWAP1
0000133b: PUSH2 0x13e3
0000133e: JUMP
0000133f: JUMPDEST
00001340: POP
00001341: PUSH1 0x60
00001343: SWAP2
00001344: SWAP1
00001345: SWAP2
00001346: ADD
00001347: MLOAD
00001348: PUSH1 0x03
0000134a: SWAP1
0000134b: SWAP2
0000134c: ADD
0000134d: DUP1
0000134e: SLOAD
0000134f: PUSH1 0xff
00001351: NOT
00001352: AND
00001353: SWAP2
00001354: ISZERO
00001355: ISZERO
00001356: SWAP2
00001357: SWAP1
00001358: SWAP2
00001359: OR
0000135a: SWAP1
0000135b: SSTORE
0000135c: PUSH1 0x05
0000135e: DUP1
0000135f: SLOAD
00001360: PUSH1 0x01
00001362: ADD
00001363: SWAP1
00001364: SSTORE
00001365: PUSH1 0x40
00001367: MLOAD
00001368: DUP3
00001369: SWAP1
0000136a: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51
0000138b: SWAP1
0000138c: PUSH1 0x00
0000138e: SWAP1
0000138f: LOG2
00001390: POP
00001391: SWAP4
00001392: SWAP3
00001393: POP
00001394: POP
00001395: POP
00001396: JUMP
00001397: JUMPDEST
00001398: PUSH1 0x00
0000139a: DUP1
0000139b: PUSH1 0x40
0000139d: MLOAD
0000139e: PUSH1 0x20
000013a0: DUP5
000013a1: ADD
000013a2: PUSH1 0x00
000013a4: DUP3
000013a5: DUP8
000013a6: DUP4
000013a7: DUP11
000013a8: DUP13
000013a9: PUSH2 0x8796
000013ac: GAS
000013ad: SUB
000013ae: CALL
000013af: SWAP9
000013b0: SWAP8
000013b1: POP
000013b2: POP
000013b3: POP
000013b4: POP
000013b5: POP
000013b6: POP
000013b7: POP
000013b8: POP
000013b9: JUMP
000013ba: JUMPDEST
000013bb: DUP2
000013bc: SLOAD
000013bd: DUP2
000013be: DUP4
000013bf: SSTORE
000013c0: DUP2
000013c1: DUP2
000013c2: GT
000013c3: ISZERO
000013c4: PUSH2 0x13de
000013c7: JUMPI
000013c8: PUSH1 0x00
000013ca: DUP4
000013cb: DUP2
000013cc: MSTORE
000013cd: PUSH1 0x20
000013cf: SWAP1
000013d0: KECCAK256
000013d1: PUSH2 0x13de
000013d4: SWAP2
000013d5: DUP2
000013d6: ADD
000013d7: SWAP1
000013d8: DUP4
000013d9: ADD
000013da: PUSH2 0x1461
000013dd: JUMP
000013de: JUMPDEST
000013df: POP
000013e0: POP
000013e1: POP
000013e2: JUMP
000013e3: JUMPDEST
000013e4: DUP3
000013e5: DUP1
000013e6: SLOAD
000013e7: PUSH1 0x01
000013e9: DUP2
000013ea: PUSH1 0x01
000013ec: AND
000013ed: ISZERO
000013ee: PUSH2 0x0100
000013f1: MUL
000013f2: SUB
000013f3: AND
000013f4: PUSH1 0x02
000013f6: SWAP1
000013f7: DIV
000013f8: SWAP1
000013f9: PUSH1 0x00
000013fb: MSTORE
000013fc: PUSH1 0x20
000013fe: PUSH1 0x00
00001400: KECCAK256
00001401: SWAP1
00001402: PUSH1 0x1f
00001404: ADD
00001405: PUSH1 0x20
00001407: SWAP1
00001408: DIV
00001409: DUP2
0000140a: ADD
0000140b: SWAP3
0000140c: DUP3
0000140d: PUSH1 0x1f
0000140f: LT
00001410: PUSH2 0x1424
00001413: JUMPI
00001414: DUP1
00001415: MLOAD
00001416: PUSH1 0xff
00001418: NOT
00001419: AND
0000141a: DUP4
0000141b: DUP1
0000141c: ADD
0000141d: OR
0000141e: DUP6
0000141f: SSTORE
00001420: PUSH2 0x1451
00001423: JUMP
00001424: JUMPDEST
00001425: DUP3
00001426: DUP1
00001427: ADD
00001428: PUSH1 0x01
0000142a: ADD
0000142b: DUP6
0000142c: SSTORE
0000142d: DUP3
0000142e: ISZERO
0000142f: PUSH2 0x1451
00001432: JUMPI
00001433: SWAP2
00001434: DUP3
00001435: ADD
00001436: JUMPDEST
00001437: DUP3
00001438: DUP2
00001439: GT
0000143a: ISZERO
0000143b: PUSH2 0x1451
0000143e: JUMPI
0000143f: DUP3
00001440: MLOAD
00001441: DUP3
00001442: SSTORE
00001443: SWAP2
00001444: PUSH1 0x20
00001446: ADD
00001447: SWAP2
00001448: SWAP1
00001449: PUSH1 0x01
0000144b: ADD
0000144c: SWAP1
0000144d: PUSH2 0x1436
00001450: JUMP
00001451: JUMPDEST
00001452: POP
00001453: PUSH2 0x145d
00001456: SWAP3
00001457: SWAP2
00001458: POP
00001459: PUSH2 0x1461
0000145c: JUMP
0000145d: JUMPDEST
0000145e: POP
0000145f: SWAP1
00001460: JUMP
00001461: JUMPDEST
00001462: PUSH2 0x0b2e
00001465: SWAP2
00001466: SWAP1
00001467: JUMPDEST
00001468: DUP1
00001469: DUP3
0000146a: GT
0000146b: ISZERO
0000146c: PUSH2 0x145d
0000146f: JUMPI
00001470: PUSH1 0x00
00001472: DUP2
00001473: SSTORE
00001474: PUSH1 0x01
00001476: ADD
00001477: PUSH2 0x1467
0000147a: JUMP
0000147b: STOP
0000147c: LOG1
0000147d: PUSH6 0x627a7a723058
00001484: KECCAK256
00001485: SAR
00001486: DIV
00001487: UNKNOWN(0xEF)
00001488: UNKNOWN(0xD0)
00001489: UNKNOWN(0xCB)
0000148a: NOT
0000148b: EXTCODECOPY
0000148c: UNKNOWN(0x0F)
0000148d: UNKNOWN(0xB2)
0000148e: REVERT
0000148f: MLOAD
00001490: UNKNOWN(0xD4)
00001491: CODESIZE
00001492: UNKNOWN(0xAE)
00001493: UNKNOWN(0xA5)
00001494: BLOBBASEFEE
00001495: SWAP2
00001496: REVERT
00001497: PUSH27

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 no no
view
trace_id: 0x24ebfec3d4b9d315cc5d089bbacd28d95f0b308aef71f095cae5011e5b5990d7
call_targets: 0xfc6e18e22ad11592494b3d541ba25af63a807527
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x24ebfec3d4b9d315cc5d089bbacd28d95f0b308aef71f095cae5011e5b5990d7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfc6e18e22ad11592494b3d541ba25af63a807527"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5038,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 1323,
            "type": "msg_sender_eq_const",
            "value": 0
        },
        {
            "pc": 3938,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x24ebfec3d4b9d315cc5d089bbacd28d95f0b308aef71f095cae5011e5b5990d7
call_targets: 0xfc6e18e22ad11592494b3d541ba25af63a807527
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x24ebfec3d4b9d315cc5d089bbacd28d95f0b308aef71f095cae5011e5b5990d7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfc6e18e22ad11592494b3d541ba25af63a807527"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5038,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 1323,
            "type": "msg_sender_eq_const",
            "value": 0
        },
        {
            "pc": 3938,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ]
}