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

Analysis Run

aabcaaef-8bb7-4d13-9d9f-7e6b80bfea93

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 4:42 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
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
31294 report.consolidate complete 1 / 1 3 months ago
110762 artifact.fetch failed 1 / 3 1 week ago
110763 tool.cast_disasm complete 1 / 3 1 week ago
110764 analysis.bundle complete 1 / 3 1 week ago
110765 capability.graph complete 1 / 3 1 week ago
110766 detector.run complete 1 / 3 1 week ago
110767 validation.fork complete 1 / 3 1 week 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
No concrete, exploitable profit path found in the provided contracts.
View stderr
[codex:537648] OpenAI Codex v0.77.0 (research preview)
[codex:537648] --------
[codex:537648] workdir: /tmp/codex-multi-hb0n9uzq
[codex:537648] model: gpt-5.2-codex
[codex:537648] provider: openai
[codex:537648] approval: never
[codex:537648] sandbox: read-only
[codex:537648] reasoning effort: xhigh
[codex:537648] reasoning summaries: auto
[codex:537648] session id: 019b7f95-ff7b-7181-a412-cbd40eaf0eb0
[codex:537648] --------
[codex:537648] user
[codex:537648] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:537648] 
[codex:537648] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:537648] 
[codex:537648] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:537648] - Gas inefficiency, code quality, naming, or best practices
[codex:537648] - Theoretical vulnerabilities without a clear extraction path
[codex:537648] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:537648] - Front-running unless it enables theft beyond MEV
[codex:537648] - DoS, griefing, or issues that don't result in attacker profit
[codex:537648] - Missing events, view function issues, or informational findings
[codex:537648] 
[codex:537648] HIGH-VALUE PATTERNS TO HUNT:
[codex:537648] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:537648] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:537648] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:537648] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:537648] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:537648] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:537648] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:537648] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:537648] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:537648] 
[codex:537648] For each finding, you MUST provide:
[codex:537648] 1. Exact file and line numbers of vulnerable code
[codex:537648] 2. Step-by-step exploit transaction sequence
[codex:537648] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:537648] 
[codex:537648] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:537648] 
[codex:537648] Output MUST be valid JSON matching the provided schema.
[codex:537648] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:537648] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:537648] mcp startup: no servers
[codex:537648] 
[codex:537648] thinking
[codex:537648] **Preparing to read AUDIT_BUNDLE.txt**
[codex:537648] exec
[codex:537648] /bin/bash -lc ls in /tmp/codex-multi-hb0n9uzq succeeded in 5ms:
[codex:537648] AUDIT_BUNDLE.txt
[codex:537648] codex-output-schema.json
[codex:537648] contracts
[codex:537648] exec
[codex:537648] /bin/bash -lc 'rg --files' in /tmp/codex-multi-hb0n9uzq succeeded in 9ms:
[codex:537648] codex-output-schema.json
[codex:537648] AUDIT_BUNDLE.txt
[codex:537648] contracts/Contract.sol
[codex:537648] exec
[codex:537648] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-hb0n9uzq succeeded in 5ms:
[codex:537648] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:537648] 
[codex:537648] ================================================================================
[codex:537648] FILE: contracts/Contract.sol
[codex:537648] ================================================================================
[codex:537648] /**
[codex:537648]  *Submitted for verification at Etherscan.io on 2018-05-10
[codex:537648] */
[codex:537648] 
[codex:537648] pragma solidity ^0.4.4;
[codex:537648] 
[codex:537648] /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.
[codex:537648] /// @author Stefan George - <stefan.george@consensys.net>
[codex:537648] contract MultiSigWallet {
[codex:537648] 
[codex:537648]     uint constant public MAX_OWNER_COUNT = 50;
[codex:537648] 
[codex:537648]     event Confirmation(address indexed sender, uint indexed transactionId);
[codex:537648]     event Revocation(address indexed sender, uint indexed transactionId);
[codex:537648]     event Submission(uint indexed transactionId);
[codex:537648] 
[codex:537648] thinking
[codex:537648] **Analyzing multisig wallet for exploits**
[codex:537648] 
[codex:537648] I’m carefully examining the multisig wallet’s executeTransaction and daily limit logic to see if any attack paths exist, especially around default transaction entries, access controls, or reentrancy. After reviewing storage writes, confirmations, and limit checks, I find no concrete exploit allowing unauthorized fund transfers or manipulation. I’ll prepare a concise JSON report stating no exploitable profit path found with no findings listed.
[codex:537648] codex
[codex:537648] {"no_findings":true,"summary":"No concrete, exploitable profit path found in the provided contracts.","findings":[]}
[codex:537648] tokens used
[codex:537648] 7,156
[codex:537648] {"no_findings":true,"summary":"No concrete, exploitable profit path found in the provided contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T16:42:19.189832+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit path found in the provided contracts.",
    "raw_final": {
        "summary": "No concrete, exploitable profit path found in the provided contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
0
Total opcodes
3577
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 0x011c
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x025e7c27
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x015e
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x173825d9
00000046: EQ
00000047: PUSH2 0x0192
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x20ea8d86
00000051: EQ
00000052: PUSH2 0x01b3
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x2f54bf6e
0000005c: EQ
0000005d: PUSH2 0x01cb
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x3411c81c
00000067: EQ
00000068: PUSH2 0x0200
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x54741525
00000072: EQ
00000073: PUSH2 0x0224
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x7065cb48
0000007d: EQ
0000007e: PUSH2 0x0255
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x784547a7
00000088: EQ
00000089: PUSH2 0x0276
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x8b51d13f
00000093: EQ
00000094: PUSH2 0x028e
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x9ace38c2
0000009e: EQ
0000009f: PUSH2 0x02a6
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xa0e67e2b
000000a9: EQ
000000aa: PUSH2 0x0361
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xa8abe69a
000000b4: EQ
000000b5: PUSH2 0x03c6
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xb5dc40c3
000000bf: EQ
000000c0: PUSH2 0x03eb
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xb77bf600
000000ca: EQ
000000cb: PUSH2 0x0403
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xba51a6df
000000d5: EQ
000000d6: PUSH2 0x0418
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xc01a8c84
000000e0: EQ
000000e1: PUSH2 0x0430
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xc6427474
000000eb: EQ
000000ec: PUSH2 0x0448
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xd74f8edd
000000f6: EQ
000000f7: PUSH2 0x04b1
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0xdc8452cd
00000101: EQ
00000102: PUSH2 0x04c6
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0xe20056e6
0000010c: EQ
0000010d: PUSH2 0x04db
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0xee22610b
00000117: EQ
00000118: PUSH2 0x0502
0000011b: JUMPI
0000011c: JUMPDEST
0000011d: PUSH1 0x00
0000011f: CALLVALUE
00000120: GT
00000121: ISZERO
00000122: PUSH2 0x015c
00000125: JUMPI
00000126: PUSH1 0x40
00000128: DUP1
00000129: MLOAD
0000012a: CALLVALUE
0000012b: DUP2
0000012c: MSTORE
0000012d: SWAP1
0000012e: MLOAD
0000012f: CALLER
00000130: SWAP2
00000131: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
00000152: SWAP2
00000153: SWAP1
00000154: DUP2
00000155: SWAP1
00000156: SUB
00000157: PUSH1 0x20
00000159: ADD
0000015a: SWAP1
0000015b: LOG2
0000015c: JUMPDEST
0000015d: STOP
0000015e: JUMPDEST
0000015f: CALLVALUE
00000160: DUP1
00000161: ISZERO
00000162: PUSH2 0x016a
00000165: JUMPI
00000166: PUSH1 0x00
00000168: DUP1
00000169: REVERT
0000016a: JUMPDEST
0000016b: POP
0000016c: PUSH2 0x0176
0000016f: PUSH1 0x04
00000171: CALLDATALOAD
00000172: PUSH2 0x051a
00000175: JUMP
00000176: JUMPDEST
00000177: PUSH1 0x40
00000179: DUP1
0000017a: MLOAD
0000017b: PUSH1 0x01
0000017d: PUSH1 0xa0
0000017f: PUSH1 0x02
00000181: EXP
00000182: SUB
00000183: SWAP1
00000184: SWAP3
00000185: AND
00000186: DUP3
00000187: MSTORE
00000188: MLOAD
00000189: SWAP1
0000018a: DUP2
0000018b: SWAP1
0000018c: SUB
0000018d: PUSH1 0x20
0000018f: ADD
00000190: SWAP1
00000191: RETURN
00000192: JUMPDEST
00000193: CALLVALUE
00000194: DUP1
00000195: ISZERO
00000196: PUSH2 0x019e
00000199: JUMPI
0000019a: PUSH1 0x00
0000019c: DUP1
0000019d: REVERT
0000019e: JUMPDEST
0000019f: POP
000001a0: PUSH2 0x015c
000001a3: PUSH1 0x01
000001a5: PUSH1 0xa0
000001a7: PUSH1 0x02
000001a9: EXP
000001aa: SUB
000001ab: PUSH1 0x04
000001ad: CALLDATALOAD
000001ae: AND
000001af: PUSH2 0x0542
000001b2: JUMP
000001b3: JUMPDEST
000001b4: CALLVALUE
000001b5: DUP1
000001b6: ISZERO
000001b7: PUSH2 0x01bf
000001ba: JUMPI
000001bb: PUSH1 0x00
000001bd: DUP1
000001be: REVERT
000001bf: JUMPDEST
000001c0: POP
000001c1: PUSH2 0x015c
000001c4: PUSH1 0x04
000001c6: CALLDATALOAD
000001c7: PUSH2 0x06b9
000001ca: JUMP
000001cb: JUMPDEST
000001cc: CALLVALUE
000001cd: DUP1
000001ce: ISZERO
000001cf: PUSH2 0x01d7
000001d2: JUMPI
000001d3: PUSH1 0x00
000001d5: DUP1
000001d6: REVERT
000001d7: JUMPDEST
000001d8: POP
000001d9: PUSH2 0x01ec
000001dc: PUSH1 0x01
000001de: PUSH1 0xa0
000001e0: PUSH1 0x02
000001e2: EXP
000001e3: SUB
000001e4: PUSH1 0x04
000001e6: CALLDATALOAD
000001e7: AND
000001e8: PUSH2 0x0773
000001eb: JUMP
000001ec: JUMPDEST
000001ed: PUSH1 0x40
000001ef: DUP1
000001f0: MLOAD
000001f1: SWAP2
000001f2: ISZERO
000001f3: ISZERO
000001f4: DUP3
000001f5: MSTORE
000001f6: MLOAD
000001f7: SWAP1
000001f8: DUP2
000001f9: SWAP1
000001fa: SUB
000001fb: PUSH1 0x20
000001fd: ADD
000001fe: SWAP1
000001ff: RETURN
00000200: JUMPDEST
00000201: CALLVALUE
00000202: DUP1
00000203: ISZERO
00000204: PUSH2 0x020c
00000207: JUMPI
00000208: PUSH1 0x00
0000020a: DUP1
0000020b: REVERT
0000020c: JUMPDEST
0000020d: POP
0000020e: PUSH2 0x01ec
00000211: PUSH1 0x04
00000213: CALLDATALOAD
00000214: PUSH1 0x01
00000216: PUSH1 0xa0
00000218: PUSH1 0x02
0000021a: EXP
0000021b: SUB
0000021c: PUSH1 0x24
0000021e: CALLDATALOAD
0000021f: AND
00000220: PUSH2 0x0788
00000223: JUMP
00000224: JUMPDEST
00000225: CALLVALUE
00000226: DUP1
00000227: ISZERO
00000228: PUSH2 0x0230
0000022b: JUMPI
0000022c: PUSH1 0x00
0000022e: DUP1
0000022f: REVERT
00000230: JUMPDEST
00000231: POP
00000232: PUSH2 0x0243
00000235: PUSH1 0x04
00000237: CALLDATALOAD
00000238: ISZERO
00000239: ISZERO
0000023a: PUSH1 0x24
0000023c: CALLDATALOAD
0000023d: ISZERO
0000023e: ISZERO
0000023f: PUSH2 0x07a8
00000242: JUMP
00000243: JUMPDEST
00000244: PUSH1 0x40
00000246: DUP1
00000247: MLOAD
00000248: SWAP2
00000249: DUP3
0000024a: MSTORE
0000024b: MLOAD
0000024c: SWAP1
0000024d: DUP2
0000024e: SWAP1
0000024f: SUB
00000250: PUSH1 0x20
00000252: ADD
00000253: SWAP1
00000254: RETURN
00000255: JUMPDEST
00000256: CALLVALUE
00000257: DUP1
00000258: ISZERO
00000259: PUSH2 0x0261
0000025c: JUMPI
0000025d: PUSH1 0x00
0000025f: DUP1
00000260: REVERT
00000261: JUMPDEST
00000262: POP
00000263: PUSH2 0x015c
00000266: PUSH1 0x01
00000268: PUSH1 0xa0
0000026a: PUSH1 0x02
0000026c: EXP
0000026d: SUB
0000026e: PUSH1 0x04
00000270: CALLDATALOAD
00000271: AND
00000272: PUSH2 0x0814
00000275: JUMP
00000276: JUMPDEST
00000277: CALLVALUE
00000278: DUP1
00000279: ISZERO
0000027a: PUSH2 0x0282
0000027d: JUMPI
0000027e: PUSH1 0x00
00000280: DUP1
00000281: REVERT
00000282: JUMPDEST
00000283: POP
00000284: PUSH2 0x01ec
00000287: PUSH1 0x04
00000289: CALLDATALOAD
0000028a: PUSH2 0x0931
0000028d: JUMP
0000028e: JUMPDEST
0000028f: CALLVALUE
00000290: DUP1
00000291: ISZERO
00000292: PUSH2 0x029a
00000295: JUMPI
00000296: PUSH1 0x00
00000298: DUP1
00000299: REVERT
0000029a: JUMPDEST
0000029b: POP
0000029c: PUSH2 0x0243
0000029f: PUSH1 0x04
000002a1: CALLDATALOAD
000002a2: PUSH2 0x09b5
000002a5: JUMP
000002a6: JUMPDEST
000002a7: CALLVALUE
000002a8: DUP1
000002a9: ISZERO
000002aa: PUSH2 0x02b2
000002ad: JUMPI
000002ae: PUSH1 0x00
000002b0: DUP1
000002b1: REVERT
000002b2: JUMPDEST
000002b3: POP
000002b4: PUSH2 0x02be
000002b7: PUSH1 0x04
000002b9: CALLDATALOAD
000002ba: PUSH2 0x0a24
000002bd: JUMP
000002be: JUMPDEST
000002bf: PUSH1 0x40
000002c1: MLOAD
000002c2: DUP1
000002c3: DUP6
000002c4: PUSH1 0x01
000002c6: PUSH1 0xa0
000002c8: PUSH1 0x02
000002ca: EXP
000002cb: SUB
000002cc: AND
000002cd: PUSH1 0x01
000002cf: PUSH1 0xa0
000002d1: PUSH1 0x02
000002d3: EXP
000002d4: SUB
000002d5: AND
000002d6: DUP2
000002d7: MSTORE
000002d8: PUSH1 0x20
000002da: ADD
000002db: DUP5
000002dc: DUP2
000002dd: MSTORE
000002de: PUSH1 0x20
000002e0: ADD
000002e1: DUP1
000002e2: PUSH1 0x20
000002e4: ADD
000002e5: DUP4
000002e6: ISZERO
000002e7: ISZERO
000002e8: ISZERO
000002e9: ISZERO
000002ea: DUP2
000002eb: MSTORE
000002ec: PUSH1 0x20
000002ee: ADD
000002ef: DUP3
000002f0: DUP2
000002f1: SUB
000002f2: DUP3
000002f3: MSTORE
000002f4: DUP5
000002f5: DUP2
000002f6: DUP2
000002f7: MLOAD
000002f8: DUP2
000002f9: MSTORE
000002fa: PUSH1 0x20
000002fc: ADD
000002fd: SWAP2
000002fe: POP
000002ff: DUP1
00000300: MLOAD
00000301: SWAP1
00000302: PUSH1 0x20
00000304: ADD
00000305: SWAP1
00000306: DUP1
00000307: DUP4
00000308: DUP4
00000309: PUSH1 0x00
0000030b: JUMPDEST
0000030c: DUP4
0000030d: DUP2
0000030e: LT
0000030f: ISZERO
00000310: PUSH2 0x0323
00000313: JUMPI
00000314: DUP2
00000315: DUP2
00000316: ADD
00000317: MLOAD
00000318: DUP4
00000319: DUP3
0000031a: ADD
0000031b: MSTORE
0000031c: PUSH1 0x20
0000031e: ADD
0000031f: PUSH2 0x030b
00000322: JUMP
00000323: JUMPDEST
00000324: POP
00000325: POP
00000326: POP
00000327: POP
00000328: SWAP1
00000329: POP
0000032a: SWAP1
0000032b: DUP2
0000032c: ADD
0000032d: SWAP1
0000032e: PUSH1 0x1f
00000330: AND
00000331: DUP1
00000332: ISZERO
00000333: PUSH2 0x0350
00000336: JUMPI
00000337: DUP1
00000338: DUP3
00000339: SUB
0000033a: DUP1
0000033b: MLOAD
0000033c: PUSH1 0x01
0000033e: DUP4
0000033f: PUSH1 0x20
00000341: SUB
00000342: PUSH2 0x0100
00000345: EXP
00000346: SUB
00000347: NOT
00000348: AND
00000349: DUP2
0000034a: MSTORE
0000034b: PUSH1 0x20
0000034d: ADD
0000034e: SWAP2
0000034f: POP
00000350: JUMPDEST
00000351: POP
00000352: SWAP6
00000353: POP
00000354: POP
00000355: POP
00000356: POP
00000357: POP
00000358: POP
00000359: PUSH1 0x40
0000035b: MLOAD
0000035c: DUP1
0000035d: SWAP2
0000035e: SUB
0000035f: SWAP1
00000360: RETURN
00000361: JUMPDEST
00000362: CALLVALUE
00000363: DUP1
00000364: ISZERO
00000365: PUSH2 0x036d
00000368: JUMPI
00000369: PUSH1 0x00
0000036b: DUP1
0000036c: REVERT
0000036d: JUMPDEST
0000036e: POP
0000036f: PUSH2 0x0376
00000372: PUSH2 0x0ae2
00000375: JUMP
00000376: JUMPDEST
00000377: PUSH1 0x40
00000379: DUP1
0000037a: MLOAD
0000037b: PUSH1 0x20
0000037d: DUP1
0000037e: DUP3
0000037f: MSTORE
00000380: DUP4
00000381: MLOAD
00000382: DUP2
00000383: DUP4
00000384: ADD
00000385: MSTORE
00000386: DUP4
00000387: MLOAD
00000388: SWAP2
00000389: SWAP3
0000038a: DUP4
0000038b: SWAP3
0000038c: SWAP1
0000038d: DUP4
0000038e: ADD
0000038f: SWAP2
00000390: DUP6
00000391: DUP2
00000392: ADD
00000393: SWAP2
00000394: MUL
00000395: DUP1
00000396: DUP4
00000397: DUP4
00000398: PUSH1 0x00
0000039a: JUMPDEST
0000039b: DUP4
0000039c: DUP2
0000039d: LT
0000039e: ISZERO
0000039f: PUSH2 0x03b2
000003a2: JUMPI
000003a3: DUP2
000003a4: DUP2
000003a5: ADD
000003a6: MLOAD
000003a7: DUP4
000003a8: DUP3
000003a9: ADD
000003aa: MSTORE
000003ab: PUSH1 0x20
000003ad: ADD
000003ae: PUSH2 0x039a
000003b1: JUMP
000003b2: JUMPDEST
000003b3: POP
000003b4: POP
000003b5: POP
000003b6: POP
000003b7: SWAP1
000003b8: POP
000003b9: ADD
000003ba: SWAP3
000003bb: POP
000003bc: POP
000003bd: POP
000003be: PUSH1 0x40
000003c0: MLOAD
000003c1: DUP1
000003c2: SWAP2
000003c3: SUB
000003c4: SWAP1
000003c5: RETURN
000003c6: JUMPDEST
000003c7: CALLVALUE
000003c8: DUP1
000003c9: ISZERO
000003ca: PUSH2 0x03d2
000003cd: JUMPI
000003ce: PUSH1 0x00
000003d0: DUP1
000003d1: REVERT
000003d2: JUMPDEST
000003d3: POP
000003d4: PUSH2 0x0376
000003d7: PUSH1 0x04
000003d9: CALLDATALOAD
000003da: PUSH1 0x24
000003dc: CALLDATALOAD
000003dd: PUSH1 0x44
000003df: CALLDATALOAD
000003e0: ISZERO
000003e1: ISZERO
000003e2: PUSH1 0x64
000003e4: CALLDATALOAD
000003e5: ISZERO
000003e6: ISZERO
000003e7: PUSH2 0x0b45
000003ea: JUMP
000003eb: JUMPDEST
000003ec: CALLVALUE
000003ed: DUP1
000003ee: ISZERO
000003ef: PUSH2 0x03f7
000003f2: JUMPI
000003f3: PUSH1 0x00
000003f5: DUP1
000003f6: REVERT
000003f7: JUMPDEST
000003f8: POP
000003f9: PUSH2 0x0376
000003fc: PUSH1 0x04
000003fe: CALLDATALOAD
000003ff: PUSH2 0x0c7e
00000402: JUMP
00000403: JUMPDEST
00000404: CALLVALUE
00000405: DUP1
00000406: ISZERO
00000407: PUSH2 0x040f
0000040a: JUMPI
0000040b: PUSH1 0x00
0000040d: DUP1
0000040e: REVERT
0000040f: JUMPDEST
00000410: POP
00000411: PUSH2 0x0243
00000414: PUSH2 0x0df7
00000417: JUMP
00000418: JUMPDEST
00000419: CALLVALUE
0000041a: DUP1
0000041b: ISZERO
0000041c: PUSH2 0x0424
0000041f: JUMPI
00000420: PUSH1 0x00
00000422: DUP1
00000423: REVERT
00000424: JUMPDEST
00000425: POP
00000426: PUSH2 0x015c
00000429: PUSH1 0x04
0000042b: CALLDATALOAD
0000042c: PUSH2 0x0dfd
0000042f: JUMP
00000430: JUMPDEST
00000431: CALLVALUE
00000432: DUP1
00000433: ISZERO
00000434: PUSH2 0x043c
00000437: JUMPI
00000438: PUSH1 0x00
0000043a: DUP1
0000043b: REVERT
0000043c: JUMPDEST
0000043d: POP
0000043e: PUSH2 0x015c
00000441: PUSH1 0x04
00000443: CALLDATALOAD
00000444: PUSH2 0x0e74
00000447: JUMP
00000448: JUMPDEST
00000449: CALLVALUE
0000044a: DUP1
0000044b: ISZERO
0000044c: PUSH2 0x0454
0000044f: JUMPI
00000450: PUSH1 0x00
00000452: DUP1
00000453: REVERT
00000454: JUMPDEST
00000455: POP
00000456: PUSH1 0x40
00000458: DUP1
00000459: MLOAD
0000045a: PUSH1 0x20
0000045c: PUSH1 0x04
0000045e: PUSH1 0x44
00000460: CALLDATALOAD
00000461: DUP2
00000462: DUP2
00000463: ADD
00000464: CALLDATALOAD
00000465: PUSH1 0x1f
00000467: DUP2
00000468: ADD
00000469: DUP5
0000046a: SWAP1
0000046b: DIV
0000046c: DUP5
0000046d: MUL
0000046e: DUP6
0000046f: ADD
00000470: DUP5
00000471: ADD
00000472: SWAP1
00000473: SWAP6
00000474: MSTORE
00000475: DUP5
00000476: DUP5
00000477: MSTORE
00000478: PUSH2 0x0243
0000047b: SWAP5
0000047c: DUP3
0000047d: CALLDATALOAD
0000047e: PUSH1 0x01
00000480: PUSH1 0xa0
00000482: PUSH1 0x02
00000484: EXP
00000485: SUB
00000486: AND
00000487: SWAP5
00000488: PUSH1 0x24
0000048a: DUP1
0000048b: CALLDATALOAD
0000048c: SWAP6
0000048d: CALLDATASIZE
0000048e: SWAP6
0000048f: SWAP5
00000490: PUSH1 0x64
00000492: SWAP5
00000493: SWAP3
00000494: ADD
00000495: SWAP2
00000496: SWAP1
00000497: DUP2
00000498: SWAP1
00000499: DUP5
0000049a: ADD
0000049b: DUP4
0000049c: DUP3
0000049d: DUP1
0000049e: DUP3
0000049f: DUP5
000004a0: CALLDATACOPY
000004a1: POP
000004a2: SWAP5
000004a3: SWAP8
000004a4: POP
000004a5: PUSH2 0x0f3f
000004a8: SWAP7
000004a9: POP
000004aa: POP
000004ab: POP
000004ac: POP
000004ad: POP
000004ae: POP
000004af: POP
000004b0: JUMP
000004b1: JUMPDEST
000004b2: CALLVALUE
000004b3: DUP1
000004b4: ISZERO
000004b5: PUSH2 0x04bd
000004b8: JUMPI
000004b9: PUSH1 0x00
000004bb: DUP1
000004bc: REVERT
000004bd: JUMPDEST
000004be: POP
000004bf: PUSH2 0x0243
000004c2: PUSH2 0x0f5e
000004c5: JUMP
000004c6: JUMPDEST
000004c7: CALLVALUE
000004c8: DUP1
000004c9: ISZERO
000004ca: PUSH2 0x04d2
000004cd: JUMPI
000004ce: PUSH1 0x00
000004d0: DUP1
000004d1: REVERT
000004d2: JUMPDEST
000004d3: POP
000004d4: PUSH2 0x0243
000004d7: PUSH2 0x0f63
000004da: JUMP
000004db: JUMPDEST
000004dc: CALLVALUE
000004dd: DUP1
000004de: ISZERO
000004df: PUSH2 0x04e7
000004e2: JUMPI
000004e3: PUSH1 0x00
000004e5: DUP1
000004e6: REVERT
000004e7: JUMPDEST
000004e8: POP
000004e9: PUSH2 0x015c
000004ec: PUSH1 0x01
000004ee: PUSH1 0xa0
000004f0: PUSH1 0x02
000004f2: EXP
000004f3: SUB
000004f4: PUSH1 0x04
000004f6: CALLDATALOAD
000004f7: DUP2
000004f8: AND
000004f9: SWAP1
000004fa: PUSH1 0x24
000004fc: CALLDATALOAD
000004fd: AND
000004fe: PUSH2 0x0f69
00000501: JUMP
00000502: JUMPDEST
00000503: CALLVALUE
00000504: DUP1
00000505: ISZERO
00000506: PUSH2 0x050e
00000509: JUMPI
0000050a: PUSH1 0x00
0000050c: DUP1
0000050d: REVERT
0000050e: JUMPDEST
0000050f: POP
00000510: PUSH2 0x015c
00000513: PUSH1 0x04
00000515: CALLDATALOAD
00000516: PUSH2 0x10f3
00000519: JUMP
0000051a: JUMPDEST
0000051b: PUSH1 0x03
0000051d: DUP1
0000051e: SLOAD
0000051f: DUP3
00000520: SWAP1
00000521: DUP2
00000522: LT
00000523: PUSH2 0x0528
00000526: JUMPI
00000527: INVALID
00000528: JUMPDEST
00000529: PUSH1 0x00
0000052b: SWAP2
0000052c: DUP3
0000052d: MSTORE
0000052e: PUSH1 0x20
00000530: SWAP1
00000531: SWAP2
00000532: KECCAK256
00000533: ADD
00000534: SLOAD
00000535: PUSH1 0x01
00000537: PUSH1 0xa0
00000539: PUSH1 0x02
0000053b: EXP
0000053c: SUB
0000053d: AND
0000053e: SWAP1
0000053f: POP
00000540: DUP2
00000541: JUMP
00000542: JUMPDEST
00000543: PUSH1 0x00
00000545: CALLER
00000546: ADDRESS
00000547: EQ
00000548: PUSH2 0x0550
0000054b: JUMPI
0000054c: PUSH1 0x00
0000054e: DUP1
0000054f: REVERT
00000550: JUMPDEST
00000551: PUSH1 0x01
00000553: PUSH1 0xa0
00000555: PUSH1 0x02
00000557: EXP
00000558: SUB
00000559: DUP3
0000055a: AND
0000055b: PUSH1 0x00
0000055d: SWAP1
0000055e: DUP2
0000055f: MSTORE
00000560: PUSH1 0x02
00000562: PUSH1 0x20
00000564: MSTORE
00000565: PUSH1 0x40
00000567: SWAP1
00000568: KECCAK256
00000569: SLOAD
0000056a: DUP3
0000056b: SWAP1
0000056c: PUSH1 0xff
0000056e: AND
0000056f: ISZERO
00000570: ISZERO
00000571: PUSH2 0x0579
00000574: JUMPI
00000575: PUSH1 0x00
00000577: DUP1
00000578: REVERT
00000579: JUMPDEST
0000057a: PUSH1 0x01
0000057c: PUSH1 0xa0
0000057e: PUSH1 0x02
00000580: EXP
00000581: SUB
00000582: DUP4
00000583: AND
00000584: PUSH1 0x00
00000586: SWAP1
00000587: DUP2
00000588: MSTORE
00000589: PUSH1 0x02
0000058b: PUSH1 0x20
0000058d: MSTORE
0000058e: PUSH1 0x40
00000590: DUP2
00000591: KECCAK256
00000592: DUP1
00000593: SLOAD
00000594: PUSH1 0xff
00000596: NOT
00000597: AND
00000598: SWAP1
00000599: SSTORE
0000059a: SWAP2
0000059b: POP
0000059c: JUMPDEST
0000059d: PUSH1 0x03
0000059f: SLOAD
000005a0: PUSH1 0x00
000005a2: NOT
000005a3: ADD
000005a4: DUP3
000005a5: LT
000005a6: ISZERO
000005a7: PUSH2 0x0654
000005aa: JUMPI
000005ab: DUP3
000005ac: PUSH1 0x01
000005ae: PUSH1 0xa0
000005b0: PUSH1 0x02
000005b2: EXP
000005b3: SUB
000005b4: AND
000005b5: PUSH1 0x03
000005b7: DUP4
000005b8: DUP2
000005b9: SLOAD
000005ba: DUP2
000005bb: LT
000005bc: ISZERO
000005bd: ISZERO
000005be: PUSH2 0x05c3
000005c1: JUMPI
000005c2: INVALID
000005c3: JUMPDEST
000005c4: PUSH1 0x00
000005c6: SWAP2
000005c7: DUP3
000005c8: MSTORE
000005c9: PUSH1 0x20
000005cb: SWAP1
000005cc: SWAP2
000005cd: KECCAK256
000005ce: ADD
000005cf: SLOAD
000005d0: PUSH1 0x01
000005d2: PUSH1 0xa0
000005d4: PUSH1 0x02
000005d6: EXP
000005d7: SUB
000005d8: AND
000005d9: EQ
000005da: ISZERO
000005db: PUSH2 0x0649
000005de: JUMPI
000005df: PUSH1 0x03
000005e1: DUP1
000005e2: SLOAD
000005e3: PUSH1 0x00
000005e5: NOT
000005e6: DUP2
000005e7: ADD
000005e8: SWAP1
000005e9: DUP2
000005ea: LT
000005eb: PUSH2 0x05f0
000005ee: JUMPI
000005ef: INVALID
000005f0: JUMPDEST
000005f1: PUSH1 0x00
000005f3: SWAP2
000005f4: DUP3
000005f5: MSTORE
000005f6: PUSH1 0x20
000005f8: SWAP1
000005f9: SWAP2
000005fa: KECCAK256
000005fb: ADD
000005fc: SLOAD
000005fd: PUSH1 0x03
000005ff: DUP1
00000600: SLOAD
00000601: PUSH1 0x01
00000603: PUSH1 0xa0
00000605: PUSH1 0x02
00000607: EXP
00000608: SUB
00000609: SWAP1
0000060a: SWAP3
0000060b: AND
0000060c: SWAP2
0000060d: DUP5
0000060e: SWAP1
0000060f: DUP2
00000610: LT
00000611: PUSH2 0x0616
00000614: JUMPI
00000615: INVALID
00000616: JUMPDEST
00000617: SWAP1
00000618: PUSH1 0x00
0000061a: MSTORE
0000061b: PUSH1 0x20
0000061d: PUSH1 0x00
0000061f: KECCAK256
00000620: ADD
00000621: PUSH1 0x00
00000623: PUSH2 0x0100
00000626: EXP
00000627: DUP2
00000628: SLOAD
00000629: DUP2
0000062a: PUSH1 0x01
0000062c: PUSH1 0xa0
0000062e: PUSH1 0x02
00000630: EXP
00000631: SUB
00000632: MUL
00000633: NOT
00000634: AND
00000635: SWAP1
00000636: DUP4
00000637: PUSH1 0x01
00000639: PUSH1 0xa0
0000063b: PUSH1 0x02
0000063d: EXP
0000063e: SUB
0000063f: AND
00000640: MUL
00000641: OR
00000642: SWAP1
00000643: SSTORE
00000644: POP
00000645: PUSH2 0x0654
00000648: JUMP
00000649: JUMPDEST
0000064a: PUSH1 0x01
0000064c: SWAP1
0000064d: SWAP2
0000064e: ADD
0000064f: SWAP1
00000650: PUSH2 0x059c
00000653: JUMP
00000654: JUMPDEST
00000655: PUSH1 0x03
00000657: DUP1
00000658: SLOAD
00000659: PUSH1 0x00
0000065b: NOT
0000065c: ADD
0000065d: SWAP1
0000065e: PUSH2 0x0667
00000661: SWAP1
00000662: DUP3
00000663: PUSH2 0x1343
00000666: JUMP
00000667: JUMPDEST
00000668: POP
00000669: PUSH1 0x03
0000066b: SLOAD
0000066c: PUSH1 0x04
0000066e: SLOAD
0000066f: GT
00000670: ISZERO
00000671: PUSH2 0x0680
00000674: JUMPI
00000675: PUSH1 0x03
00000677: SLOAD
00000678: PUSH2 0x0680
0000067b: SWAP1
0000067c: PUSH2 0x0dfd
0000067f: JUMP
00000680: JUMPDEST
00000681: PUSH1 0x40
00000683: MLOAD
00000684: PUSH1 0x01
00000686: PUSH1 0xa0
00000688: PUSH1 0x02
0000068a: EXP
0000068b: SUB
0000068c: DUP5
0000068d: AND
0000068e: SWAP1
0000068f: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
000006b0: SWAP1
000006b1: PUSH1 0x00
000006b3: SWAP1
000006b4: LOG2
000006b5: POP
000006b6: POP
000006b7: POP
000006b8: JUMP
000006b9: JUMPDEST
000006ba: CALLER
000006bb: PUSH1 0x00
000006bd: DUP2
000006be: DUP2
000006bf: MSTORE
000006c0: PUSH1 0x02
000006c2: PUSH1 0x20
000006c4: MSTORE
000006c5: PUSH1 0x40
000006c7: SWAP1
000006c8: KECCAK256
000006c9: SLOAD
000006ca: PUSH1 0xff
000006cc: AND
000006cd: ISZERO
000006ce: ISZERO
000006cf: PUSH2 0x06d7
000006d2: JUMPI
000006d3: PUSH1 0x00
000006d5: DUP1
000006d6: REVERT
000006d7: JUMPDEST
000006d8: PUSH1 0x00
000006da: DUP3
000006db: DUP2
000006dc: MSTORE
000006dd: PUSH1 0x01
000006df: PUSH1 0x20
000006e1: SWAP1
000006e2: DUP2
000006e3: MSTORE
000006e4: PUSH1 0x40
000006e6: DUP1
000006e7: DUP4
000006e8: KECCAK256
000006e9: CALLER
000006ea: DUP1
000006eb: DUP6
000006ec: MSTORE
000006ed: SWAP3
000006ee: MSTORE
000006ef: SWAP1
000006f0: SWAP2
000006f1: KECCAK256
000006f2: SLOAD
000006f3: DUP4
000006f4: SWAP2
000006f5: SWAP1
000006f6: PUSH1 0xff
000006f8: AND
000006f9: ISZERO
000006fa: ISZERO
000006fb: PUSH2 0x0703
000006fe: JUMPI
000006ff: PUSH1 0x00
00000701: DUP1
00000702: REVERT
00000703: JUMPDEST
00000704: PUSH1 0x00
00000706: DUP5
00000707: DUP2
00000708: MSTORE
00000709: PUSH1 0x20
0000070b: DUP2
0000070c: SWAP1
0000070d: MSTORE
0000070e: PUSH1 0x40
00000710: SWAP1
00000711: KECCAK256
00000712: PUSH1 0x03
00000714: ADD
00000715: SLOAD
00000716: DUP5
00000717: SWAP1
00000718: PUSH1 0xff
0000071a: AND
0000071b: ISZERO
0000071c: PUSH2 0x0724
0000071f: JUMPI
00000720: PUSH1 0x00
00000722: DUP1
00000723: REVERT
00000724: JUMPDEST
00000725: PUSH1 0x00
00000727: DUP6
00000728: DUP2
00000729: MSTORE
0000072a: PUSH1 0x01
0000072c: PUSH1 0x20
0000072e: SWAP1
0000072f: DUP2
00000730: MSTORE
00000731: PUSH1 0x40
00000733: DUP1
00000734: DUP4
00000735: KECCAK256
00000736: CALLER
00000737: DUP1
00000738: DUP6
00000739: MSTORE
0000073a: SWAP3
0000073b: MSTORE
0000073c: DUP1
0000073d: DUP4
0000073e: KECCAK256
0000073f: DUP1
00000740: SLOAD
00000741: PUSH1 0xff
00000743: NOT
00000744: AND
00000745: SWAP1
00000746: SSTORE
00000747: MLOAD
00000748: DUP8
00000749: SWAP3
0000074a: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9
0000076b: SWAP2
0000076c: LOG3
0000076d: POP
0000076e: POP
0000076f: POP
00000770: POP
00000771: POP
00000772: JUMP
00000773: JUMPDEST
00000774: PUSH1 0x02
00000776: PUSH1 0x20
00000778: MSTORE
00000779: PUSH1 0x00
0000077b: SWAP1
0000077c: DUP2
0000077d: MSTORE
0000077e: PUSH1 0x40
00000780: SWAP1
00000781: KECCAK256
00000782: SLOAD
00000783: PUSH1 0xff
00000785: AND
00000786: DUP2
00000787: JUMP
00000788: JUMPDEST
00000789: PUSH1 0x01
0000078b: PUSH1 0x20
0000078d: SWAP1
0000078e: DUP2
0000078f: MSTORE
00000790: PUSH1 0x00
00000792: SWAP3
00000793: DUP4
00000794: MSTORE
00000795: PUSH1 0x40
00000797: DUP1
00000798: DUP5
00000799: KECCAK256
0000079a: SWAP1
0000079b: SWAP2
0000079c: MSTORE
0000079d: SWAP1
0000079e: DUP3
0000079f: MSTORE
000007a0: SWAP1
000007a1: KECCAK256
000007a2: SLOAD
000007a3: PUSH1 0xff
000007a5: AND
000007a6: DUP2
000007a7: JUMP
000007a8: JUMPDEST
000007a9: PUSH1 0x00
000007ab: DUP1
000007ac: JUMPDEST
000007ad: PUSH1 0x05
000007af: SLOAD
000007b0: DUP2
000007b1: LT
000007b2: ISZERO
000007b3: PUSH2 0x080d
000007b6: JUMPI
000007b7: DUP4
000007b8: DUP1
000007b9: ISZERO
000007ba: PUSH2 0x07d5
000007bd: JUMPI
000007be: POP
000007bf: PUSH1 0x00
000007c1: DUP2
000007c2: DUP2
000007c3: MSTORE
000007c4: PUSH1 0x20
000007c6: DUP2
000007c7: SWAP1
000007c8: MSTORE
000007c9: PUSH1 0x40
000007cb: SWAP1
000007cc: KECCAK256
000007cd: PUSH1 0x03
000007cf: ADD
000007d0: SLOAD
000007d1: PUSH1 0xff
000007d3: AND
000007d4: ISZERO
000007d5: JUMPDEST
000007d6: DUP1
000007d7: PUSH2 0x07f9
000007da: JUMPI
000007db: POP
000007dc: DUP3
000007dd: DUP1
000007de: ISZERO
000007df: PUSH2 0x07f9
000007e2: JUMPI
000007e3: POP
000007e4: PUSH1 0x00
000007e6: DUP2
000007e7: DUP2
000007e8: MSTORE
000007e9: PUSH1 0x20
000007eb: DUP2
000007ec: SWAP1
000007ed: MSTORE
000007ee: PUSH1 0x40
000007f0: SWAP1
000007f1: KECCAK256
000007f2: PUSH1 0x03
000007f4: ADD
000007f5: SLOAD
000007f6: PUSH1 0xff
000007f8: AND
000007f9: JUMPDEST
000007fa: ISZERO
000007fb: PUSH2 0x0805
000007fe: JUMPI
000007ff: PUSH1 0x01
00000801: DUP3
00000802: ADD
00000803: SWAP2
00000804: POP
00000805: JUMPDEST
00000806: PUSH1 0x01
00000808: ADD
00000809: PUSH2 0x07ac
0000080c: JUMP
0000080d: JUMPDEST
0000080e: POP
0000080f: SWAP3
00000810: SWAP2
00000811: POP
00000812: POP
00000813: JUMP
00000814: JUMPDEST
00000815: CALLER
00000816: ADDRESS
00000817: EQ
00000818: PUSH2 0x0820
0000081b: JUMPI
0000081c: PUSH1 0x00
0000081e: DUP1
0000081f: REVERT
00000820: JUMPDEST
00000821: PUSH1 0x01
00000823: PUSH1 0xa0
00000825: PUSH1 0x02
00000827: EXP
00000828: SUB
00000829: DUP2
0000082a: AND
0000082b: PUSH1 0x00
0000082d: SWAP1
0000082e: DUP2
0000082f: MSTORE
00000830: PUSH1 0x02
00000832: PUSH1 0x20
00000834: MSTORE
00000835: PUSH1 0x40
00000837: SWAP1
00000838: KECCAK256
00000839: SLOAD
0000083a: DUP2
0000083b: SWAP1
0000083c: PUSH1 0xff
0000083e: AND
0000083f: ISZERO
00000840: PUSH2 0x0848
00000843: JUMPI
00000844: PUSH1 0x00
00000846: DUP1
00000847: REVERT
00000848: JUMPDEST
00000849: DUP2
0000084a: PUSH1 0x01
0000084c: PUSH1 0xa0
0000084e: PUSH1 0x02
00000850: EXP
00000851: SUB
00000852: DUP2
00000853: AND
00000854: ISZERO
00000855: ISZERO
00000856: PUSH2 0x085e
00000859: JUMPI
0000085a: PUSH1 0x00
0000085c: DUP1
0000085d: REVERT
0000085e: JUMPDEST
0000085f: PUSH1 0x03
00000861: DUP1
00000862: SLOAD
00000863: SWAP1
00000864: POP
00000865: PUSH1 0x01
00000867: ADD
00000868: PUSH1 0x04
0000086a: SLOAD
0000086b: PUSH1 0x32
0000086d: DUP3
0000086e: GT
0000086f: DUP1
00000870: PUSH2 0x0878
00000873: JUMPI
00000874: POP
00000875: DUP2
00000876: DUP2
00000877: GT
00000878: JUMPDEST
00000879: DUP1
0000087a: PUSH2 0x0881
0000087d: JUMPI
0000087e: POP
0000087f: DUP1
00000880: ISZERO
00000881: JUMPDEST
00000882: DUP1
00000883: PUSH2 0x088a
00000886: JUMPI
00000887: POP
00000888: DUP2
00000889: ISZERO
0000088a: JUMPDEST
0000088b: ISZERO
0000088c: PUSH2 0x0894
0000088f: JUMPI
00000890: PUSH1 0x00
00000892: DUP1
00000893: REVERT
00000894: JUMPDEST
00000895: PUSH1 0x01
00000897: PUSH1 0xa0
00000899: PUSH1 0x02
0000089b: EXP
0000089c: SUB
0000089d: DUP6
0000089e: AND
0000089f: PUSH1 0x00
000008a1: DUP2
000008a2: DUP2
000008a3: MSTORE
000008a4: PUSH1 0x02
000008a6: PUSH1 0x20
000008a8: MSTORE
000008a9: PUSH1 0x40
000008ab: DUP1
000008ac: DUP3
000008ad: KECCAK256
000008ae: DUP1
000008af: SLOAD
000008b0: PUSH1 0xff
000008b2: NOT
000008b3: AND
000008b4: PUSH1 0x01
000008b6: SWAP1
000008b7: DUP2
000008b8: OR
000008b9: SWAP1
000008ba: SWAP2
000008bb: SSTORE
000008bc: PUSH1 0x03
000008be: DUP1
000008bf: SLOAD
000008c0: SWAP2
000008c1: DUP3
000008c2: ADD
000008c3: DUP2
000008c4: SSTORE
000008c5: DUP4
000008c6: MSTORE
000008c7: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
000008e8: ADD
000008e9: DUP1
000008ea: SLOAD
000008eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000900: NOT
00000901: AND
00000902: DUP5
00000903: OR
00000904: SWAP1
00000905: SSTORE
00000906: MLOAD
00000907: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00000928: SWAP2
00000929: SWAP1
0000092a: LOG2
0000092b: POP
0000092c: POP
0000092d: POP
0000092e: POP
0000092f: POP
00000930: JUMP
00000931: JUMPDEST
00000932: PUSH1 0x00
00000934: DUP1
00000935: DUP1
00000936: JUMPDEST
00000937: PUSH1 0x03
00000939: SLOAD
0000093a: DUP2
0000093b: LT
0000093c: ISZERO
0000093d: PUSH2 0x09ae
00000940: JUMPI
00000941: PUSH1 0x00
00000943: DUP5
00000944: DUP2
00000945: MSTORE
00000946: PUSH1 0x01
00000948: PUSH1 0x20
0000094a: MSTORE
0000094b: PUSH1 0x40
0000094d: DUP2
0000094e: KECCAK256
0000094f: PUSH1 0x03
00000951: DUP1
00000952: SLOAD
00000953: SWAP2
00000954: SWAP3
00000955: SWAP2
00000956: DUP5
00000957: SWAP1
00000958: DUP2
00000959: LT
0000095a: PUSH2 0x095f
0000095d: JUMPI
0000095e: INVALID
0000095f: JUMPDEST
00000960: PUSH1 0x00
00000962: SWAP2
00000963: DUP3
00000964: MSTORE
00000965: PUSH1 0x20
00000967: DUP1
00000968: DUP4
00000969: KECCAK256
0000096a: SWAP1
0000096b: SWAP2
0000096c: ADD
0000096d: SLOAD
0000096e: PUSH1 0x01
00000970: PUSH1 0xa0
00000972: PUSH1 0x02
00000974: EXP
00000975: SUB
00000976: AND
00000977: DUP4
00000978: MSTORE
00000979: DUP3
0000097a: ADD
0000097b: SWAP3
0000097c: SWAP1
0000097d: SWAP3
0000097e: MSTORE
0000097f: PUSH1 0x40
00000981: ADD
00000982: SWAP1
00000983: KECCAK256
00000984: SLOAD
00000985: PUSH1 0xff
00000987: AND
00000988: ISZERO
00000989: PUSH2 0x0993
0000098c: JUMPI
0000098d: PUSH1 0x01
0000098f: DUP3
00000990: ADD
00000991: SWAP2
00000992: POP
00000993: JUMPDEST
00000994: PUSH1 0x04
00000996: SLOAD
00000997: DUP3
00000998: EQ
00000999: ISZERO
0000099a: PUSH2 0x09a6
0000099d: JUMPI
0000099e: PUSH1 0x01
000009a0: SWAP3
000009a1: POP
000009a2: PUSH2 0x09ae
000009a5: JUMP
000009a6: JUMPDEST
000009a7: PUSH1 0x01
000009a9: ADD
000009aa: PUSH2 0x0936
000009ad: JUMP
000009ae: JUMPDEST
000009af: POP
000009b0: POP
000009b1: SWAP2
000009b2: SWAP1
000009b3: POP
000009b4: JUMP
000009b5: JUMPDEST
000009b6: PUSH1 0x00
000009b8: DUP1
000009b9: JUMPDEST
000009ba: PUSH1 0x03
000009bc: SLOAD
000009bd: DUP2
000009be: LT
000009bf: ISZERO
000009c0: PUSH2 0x0a1e
000009c3: JUMPI
000009c4: PUSH1 0x00
000009c6: DUP4
000009c7: DUP2
000009c8: MSTORE
000009c9: PUSH1 0x01
000009cb: PUSH1 0x20
000009cd: MSTORE
000009ce: PUSH1 0x40
000009d0: DUP2
000009d1: KECCAK256
000009d2: PUSH1 0x03
000009d4: DUP1
000009d5: SLOAD
000009d6: SWAP2
000009d7: SWAP3
000009d8: SWAP2
000009d9: DUP5
000009da: SWAP1
000009db: DUP2
000009dc: LT
000009dd: PUSH2 0x09e2
000009e0: JUMPI
000009e1: INVALID
000009e2: JUMPDEST
000009e3: PUSH1 0x00
000009e5: SWAP2
000009e6: DUP3
000009e7: MSTORE
000009e8: PUSH1 0x20
000009ea: DUP1
000009eb: DUP4
000009ec: KECCAK256
000009ed: SWAP1
000009ee: SWAP2
000009ef: ADD
000009f0: SLOAD
000009f1: PUSH1 0x01
000009f3: PUSH1 0xa0
000009f5: PUSH1 0x02
000009f7: EXP
000009f8: SUB
000009f9: AND
000009fa: DUP4
000009fb: MSTORE
000009fc: DUP3
000009fd: ADD
000009fe: SWAP3
000009ff: SWAP1
00000a00: SWAP3
00000a01: MSTORE
00000a02: PUSH1 0x40
00000a04: ADD
00000a05: SWAP1
00000a06: KECCAK256
00000a07: SLOAD
00000a08: PUSH1 0xff
00000a0a: AND
00000a0b: ISZERO
00000a0c: PUSH2 0x0a16
00000a0f: JUMPI
00000a10: PUSH1 0x01
00000a12: DUP3
00000a13: ADD
00000a14: SWAP2
00000a15: POP
00000a16: JUMPDEST
00000a17: PUSH1 0x01
00000a19: ADD
00000a1a: PUSH2 0x09b9
00000a1d: JUMP
00000a1e: JUMPDEST
00000a1f: POP
00000a20: SWAP2
00000a21: SWAP1
00000a22: POP
00000a23: JUMP
00000a24: JUMPDEST
00000a25: PUSH1 0x00
00000a27: PUSH1 0x20
00000a29: DUP2
00000a2a: DUP2
00000a2b: MSTORE
00000a2c: SWAP2
00000a2d: DUP2
00000a2e: MSTORE
00000a2f: PUSH1 0x40
00000a31: SWAP1
00000a32: DUP2
00000a33: SWAP1
00000a34: KECCAK256
00000a35: DUP1
00000a36: SLOAD
00000a37: PUSH1 0x01
00000a39: DUP1
00000a3a: DUP4
00000a3b: ADD
00000a3c: SLOAD
00000a3d: PUSH1 0x02
00000a3f: DUP1
00000a40: DUP6
00000a41: ADD
00000a42: DUP1
00000a43: SLOAD
00000a44: DUP8
00000a45: MLOAD
00000a46: PUSH2 0x0100
00000a49: SWAP6
00000a4a: DUP3
00000a4b: AND
00000a4c: ISZERO
00000a4d: SWAP6
00000a4e: SWAP1
00000a4f: SWAP6
00000a50: MUL
00000a51: PUSH1 0x00
00000a53: NOT
00000a54: ADD
00000a55: AND
00000a56: SWAP2
00000a57: SWAP1
00000a58: SWAP2
00000a59: DIV
00000a5a: PUSH1 0x1f
00000a5c: DUP2
00000a5d: ADD
00000a5e: DUP9
00000a5f: SWAP1
00000a60: DIV
00000a61: DUP9
00000a62: MUL
00000a63: DUP5
00000a64: ADD
00000a65: DUP9
00000a66: ADD
00000a67: SWAP1
00000a68: SWAP7
00000a69: MSTORE
00000a6a: DUP6
00000a6b: DUP4
00000a6c: MSTORE
00000a6d: PUSH1 0x01
00000a6f: PUSH1 0xa0
00000a71: PUSH1 0x02
00000a73: EXP
00000a74: SUB
00000a75: SWAP1
00000a76: SWAP4
00000a77: AND
00000a78: SWAP6
00000a79: SWAP1
00000a7a: SWAP5
00000a7b: SWAP2
00000a7c: SWAP3
00000a7d: SWAP2
00000a7e: SWAP1
00000a7f: DUP4
00000a80: ADD
00000a81: DUP3
00000a82: DUP3
00000a83: DUP1
00000a84: ISZERO
00000a85: PUSH2 0x0acf
00000a88: JUMPI
00000a89: DUP1
00000a8a: PUSH1 0x1f
00000a8c: LT
00000a8d: PUSH2 0x0aa4
00000a90: JUMPI
00000a91: PUSH2 0x0100
00000a94: DUP1
00000a95: DUP4
00000a96: SLOAD
00000a97: DIV
00000a98: MUL
00000a99: DUP4
00000a9a: MSTORE
00000a9b: SWAP2
00000a9c: PUSH1 0x20
00000a9e: ADD
00000a9f: SWAP2
00000aa0: PUSH2 0x0acf
00000aa3: JUMP
00000aa4: JUMPDEST
00000aa5: DUP3
00000aa6: ADD
00000aa7: SWAP2
00000aa8: SWAP1
00000aa9: PUSH1 0x00
00000aab: MSTORE
00000aac: PUSH1 0x20
00000aae: PUSH1 0x00
00000ab0: KECCAK256
00000ab1: SWAP1
00000ab2: JUMPDEST
00000ab3: DUP2
00000ab4: SLOAD
00000ab5: DUP2
00000ab6: MSTORE
00000ab7: SWAP1
00000ab8: PUSH1 0x01
00000aba: ADD
00000abb: SWAP1
00000abc: PUSH1 0x20
00000abe: ADD
00000abf: DUP1
00000ac0: DUP4
00000ac1: GT
00000ac2: PUSH2 0x0ab2
00000ac5: JUMPI
00000ac6: DUP3
00000ac7: SWAP1
00000ac8: SUB
00000ac9: PUSH1 0x1f
00000acb: AND
00000acc: DUP3
00000acd: ADD
00000ace: SWAP2
00000acf: JUMPDEST
00000ad0: POP
00000ad1: POP
00000ad2: POP
00000ad3: PUSH1 0x03
00000ad5: SWAP1
00000ad6: SWAP4
00000ad7: ADD
00000ad8: SLOAD
00000ad9: SWAP2
00000ada: SWAP3
00000adb: POP
00000adc: POP
00000add: PUSH1 0xff
00000adf: AND
00000ae0: DUP5
00000ae1: JUMP
00000ae2: JUMPDEST
00000ae3: PUSH1 0x60
00000ae5: PUSH1 0x03
00000ae7: DUP1
00000ae8: SLOAD
00000ae9: DUP1
00000aea: PUSH1 0x20
00000aec: MUL
00000aed: PUSH1 0x20
00000aef: ADD
00000af0: PUSH1 0x40
00000af2: MLOAD
00000af3: SWAP1
00000af4: DUP2
00000af5: ADD
00000af6: PUSH1 0x40
00000af8: MSTORE
00000af9: DUP1
00000afa: SWAP3
00000afb: SWAP2
00000afc: SWAP1
00000afd: DUP2
00000afe: DUP2
00000aff: MSTORE
00000b00: PUSH1 0x20
00000b02: ADD
00000b03: DUP3
00000b04: DUP1
00000b05: SLOAD
00000b06: DUP1
00000b07: ISZERO
00000b08: PUSH2 0x0b3a
00000b0b: JUMPI
00000b0c: PUSH1 0x20
00000b0e: MUL
00000b0f: DUP3
00000b10: ADD
00000b11: SWAP2
00000b12: SWAP1
00000b13: PUSH1 0x00
00000b15: MSTORE
00000b16: PUSH1 0x20
00000b18: PUSH1 0x00
00000b1a: KECCAK256
00000b1b: SWAP1
00000b1c: JUMPDEST
00000b1d: DUP2
00000b1e: SLOAD
00000b1f: PUSH1 0x01
00000b21: PUSH1 0xa0
00000b23: PUSH1 0x02
00000b25: EXP
00000b26: SUB
00000b27: AND
00000b28: DUP2
00000b29: MSTORE
00000b2a: PUSH1 0x01
00000b2c: SWAP1
00000b2d: SWAP2
00000b2e: ADD
00000b2f: SWAP1
00000b30: PUSH1 0x20
00000b32: ADD
00000b33: DUP1
00000b34: DUP4
00000b35: GT
00000b36: PUSH2 0x0b1c
00000b39: JUMPI
00000b3a: JUMPDEST
00000b3b: POP
00000b3c: POP
00000b3d: POP
00000b3e: POP
00000b3f: POP
00000b40: SWAP1
00000b41: POP
00000b42: JUMPDEST
00000b43: SWAP1
00000b44: JUMP
00000b45: JUMPDEST
00000b46: PUSH1 0x60
00000b48: DUP1
00000b49: PUSH1 0x00
00000b4b: DUP1
00000b4c: PUSH1 0x05
00000b4e: SLOAD
00000b4f: PUSH1 0x40
00000b51: MLOAD
00000b52: SWAP1
00000b53: DUP1
00000b54: DUP3
00000b55: MSTORE
00000b56: DUP1
00000b57: PUSH1 0x20
00000b59: MUL
00000b5a: PUSH1 0x20
00000b5c: ADD
00000b5d: DUP3
00000b5e: ADD
00000b5f: PUSH1 0x40
00000b61: MSTORE
00000b62: DUP1
00000b63: ISZERO
00000b64: PUSH2 0x0b77
00000b67: JUMPI
00000b68: DUP2
00000b69: PUSH1 0x20
00000b6b: ADD
00000b6c: PUSH1 0x20
00000b6e: DUP3
00000b6f: MUL
00000b70: DUP1
00000b71: CODESIZE
00000b72: DUP4
00000b73: CODECOPY
00000b74: ADD
00000b75: SWAP1
00000b76: POP
00000b77: JUMPDEST
00000b78: POP
00000b79: SWAP3
00000b7a: POP
00000b7b: PUSH1 0x00
00000b7d: SWAP2
00000b7e: POP
00000b7f: PUSH1 0x00
00000b81: SWAP1
00000b82: POP
00000b83: JUMPDEST
00000b84: PUSH1 0x05
00000b86: SLOAD
00000b87: DUP2
00000b88: LT
00000b89: ISZERO
00000b8a: PUSH2 0x0bfe
00000b8d: JUMPI
00000b8e: DUP6
00000b8f: DUP1
00000b90: ISZERO
00000b91: PUSH2 0x0bac
00000b94: JUMPI
00000b95: POP
00000b96: PUSH1 0x00
00000b98: DUP2
00000b99: DUP2
00000b9a: MSTORE
00000b9b: PUSH1 0x20
00000b9d: DUP2
00000b9e: SWAP1
00000b9f: MSTORE
00000ba0: PUSH1 0x40
00000ba2: SWAP1
00000ba3: KECCAK256
00000ba4: PUSH1 0x03
00000ba6: ADD
00000ba7: SLOAD
00000ba8: PUSH1 0xff
00000baa: AND
00000bab: ISZERO
00000bac: JUMPDEST
00000bad: DUP1
00000bae: PUSH2 0x0bd0
00000bb1: JUMPI
00000bb2: POP
00000bb3: DUP5
00000bb4: DUP1
00000bb5: ISZERO
00000bb6: PUSH2 0x0bd0
00000bb9: JUMPI
00000bba: POP
00000bbb: PUSH1 0x00
00000bbd: DUP2
00000bbe: DUP2
00000bbf: MSTORE
00000bc0: PUSH1 0x20
00000bc2: DUP2
00000bc3: SWAP1
00000bc4: MSTORE
00000bc5: PUSH1 0x40
00000bc7: SWAP1
00000bc8: KECCAK256
00000bc9: PUSH1 0x03
00000bcb: ADD
00000bcc: SLOAD
00000bcd: PUSH1 0xff
00000bcf: AND
00000bd0: JUMPDEST
00000bd1: ISZERO
00000bd2: PUSH2 0x0bf6
00000bd5: JUMPI
00000bd6: DUP1
00000bd7: DUP4
00000bd8: DUP4
00000bd9: DUP2
00000bda: MLOAD
00000bdb: DUP2
00000bdc: LT
00000bdd: ISZERO
00000bde: ISZERO
00000bdf: PUSH2 0x0be4
00000be2: JUMPI
00000be3: INVALID
00000be4: JUMPDEST
00000be5: PUSH1 0x20
00000be7: SWAP1
00000be8: DUP2
00000be9: MUL
00000bea: SWAP1
00000beb: SWAP2
00000bec: ADD
00000bed: ADD
00000bee: MSTORE
00000bef: PUSH1 0x01
00000bf1: SWAP2
00000bf2: SWAP1
00000bf3: SWAP2
00000bf4: ADD
00000bf5: SWAP1
00000bf6: JUMPDEST
00000bf7: PUSH1 0x01
00000bf9: ADD
00000bfa: PUSH2 0x0b83
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: DUP8
00000c00: DUP8
00000c01: SUB
00000c02: PUSH1 0x40
00000c04: MLOAD
00000c05: SWAP1
00000c06: DUP1
00000c07: DUP3
00000c08: MSTORE
00000c09: DUP1
00000c0a: PUSH1 0x20
00000c0c: MUL
00000c0d: PUSH1 0x20
00000c0f: ADD
00000c10: DUP3
00000c11: ADD
00000c12: PUSH1 0x40
00000c14: MSTORE
00000c15: DUP1
00000c16: ISZERO
00000c17: PUSH2 0x0c2a
00000c1a: JUMPI
00000c1b: DUP2
00000c1c: PUSH1 0x20
00000c1e: ADD
00000c1f: PUSH1 0x20
00000c21: DUP3
00000c22: MUL
00000c23: DUP1
00000c24: CODESIZE
00000c25: DUP4
00000c26: CODECOPY
00000c27: ADD
00000c28: SWAP1
00000c29: POP
00000c2a: JUMPDEST
00000c2b: POP
00000c2c: SWAP4
00000c2d: POP
00000c2e: DUP8
00000c2f: SWAP1
00000c30: POP
00000c31: JUMPDEST
00000c32: DUP7
00000c33: DUP2
00000c34: LT
00000c35: ISZERO
00000c36: PUSH2 0x0c73
00000c39: JUMPI
00000c3a: DUP3
00000c3b: DUP2
00000c3c: DUP2
00000c3d: MLOAD
00000c3e: DUP2
00000c3f: LT
00000c40: ISZERO
00000c41: ISZERO
00000c42: PUSH2 0x0c47
00000c45: JUMPI
00000c46: INVALID
00000c47: JUMPDEST
00000c48: SWAP1
00000c49: PUSH1 0x20
00000c4b: ADD
00000c4c: SWAP1
00000c4d: PUSH1 0x20
00000c4f: MUL
00000c50: ADD
00000c51: MLOAD
00000c52: DUP5
00000c53: DUP10
00000c54: DUP4
00000c55: SUB
00000c56: DUP2
00000c57: MLOAD
00000c58: DUP2
00000c59: LT
00000c5a: ISZERO
00000c5b: ISZERO
00000c5c: PUSH2 0x0c61
00000c5f: JUMPI
00000c60: INVALID
00000c61: JUMPDEST
00000c62: PUSH1 0x20
00000c64: SWAP1
00000c65: DUP2
00000c66: MUL
00000c67: SWAP1
00000c68: SWAP2
00000c69: ADD
00000c6a: ADD
00000c6b: MSTORE
00000c6c: PUSH1 0x01
00000c6e: ADD
00000c6f: PUSH2 0x0c31
00000c72: JUMP
00000c73: JUMPDEST
00000c74: POP
00000c75: POP
00000c76: POP
00000c77: SWAP5
00000c78: SWAP4
00000c79: POP
00000c7a: POP
00000c7b: POP
00000c7c: POP
00000c7d: JUMP
00000c7e: JUMPDEST
00000c7f: PUSH1 0x60
00000c81: DUP1
00000c82: PUSH1 0x00
00000c84: DUP1
00000c85: PUSH1 0x03
00000c87: DUP1
00000c88: SLOAD
00000c89: SWAP1
00000c8a: POP
00000c8b: PUSH1 0x40
00000c8d: MLOAD
00000c8e: SWAP1
00000c8f: DUP1
00000c90: DUP3
00000c91: MSTORE
00000c92: DUP1
00000c93: PUSH1 0x20
00000c95: MUL
00000c96: PUSH1 0x20
00000c98: ADD
00000c99: DUP3
00000c9a: ADD
00000c9b: PUSH1 0x40
00000c9d: MSTORE
00000c9e: DUP1
00000c9f: ISZERO
00000ca0: PUSH2 0x0cb3
00000ca3: JUMPI
00000ca4: DUP2
00000ca5: PUSH1 0x20
00000ca7: ADD
00000ca8: PUSH1 0x20
00000caa: DUP3
00000cab: MUL
00000cac: DUP1
00000cad: CODESIZE
00000cae: DUP4
00000caf: CODECOPY
00000cb0: ADD
00000cb1: SWAP1
00000cb2: POP
00000cb3: JUMPDEST
00000cb4: POP
00000cb5: SWAP3
00000cb6: POP
00000cb7: PUSH1 0x00
00000cb9: SWAP2
00000cba: POP
00000cbb: PUSH1 0x00
00000cbd: SWAP1
00000cbe: POP
00000cbf: JUMPDEST
00000cc0: PUSH1 0x03
00000cc2: SLOAD
00000cc3: DUP2
00000cc4: LT
00000cc5: ISZERO
00000cc6: PUSH2 0x0d70
00000cc9: JUMPI
00000cca: PUSH1 0x00
00000ccc: DUP6
00000ccd: DUP2
00000cce: MSTORE
00000ccf: PUSH1 0x01
00000cd1: PUSH1 0x20
00000cd3: MSTORE
00000cd4: PUSH1 0x40
00000cd6: DUP2
00000cd7: KECCAK256
00000cd8: PUSH1 0x03
00000cda: DUP1
00000cdb: SLOAD
00000cdc: SWAP2
00000cdd: SWAP3
00000cde: SWAP2
00000cdf: DUP5
00000ce0: SWAP1
00000ce1: DUP2
00000ce2: LT
00000ce3: PUSH2 0x0ce8
00000ce6: JUMPI
00000ce7: INVALID
00000ce8: JUMPDEST
00000ce9: PUSH1 0x00
00000ceb: SWAP2
00000cec: DUP3
00000ced: MSTORE
00000cee: PUSH1 0x20
00000cf0: DUP1
00000cf1: DUP4
00000cf2: KECCAK256
00000cf3: SWAP1
00000cf4: SWAP2
00000cf5: ADD
00000cf6: SLOAD
00000cf7: PUSH1 0x01
00000cf9: PUSH1 0xa0
00000cfb: PUSH1 0x02
00000cfd: EXP
00000cfe: SUB
00000cff: AND
00000d00: DUP4
00000d01: MSTORE
00000d02: DUP3
00000d03: ADD
00000d04: SWAP3
00000d05: SWAP1
00000d06: SWAP3
00000d07: MSTORE
00000d08: PUSH1 0x40
00000d0a: ADD
00000d0b: SWAP1
00000d0c: KECCAK256
00000d0d: SLOAD
00000d0e: PUSH1 0xff
00000d10: AND
00000d11: ISZERO
00000d12: PUSH2 0x0d68
00000d15: JUMPI
00000d16: PUSH1 0x03
00000d18: DUP1
00000d19: SLOAD
00000d1a: DUP3
00000d1b: SWAP1
00000d1c: DUP2
00000d1d: LT
00000d1e: PUSH2 0x0d23
00000d21: JUMPI
00000d22: INVALID
00000d23: JUMPDEST
00000d24: PUSH1 0x00
00000d26: SWAP2
00000d27: DUP3
00000d28: MSTORE
00000d29: PUSH1 0x20
00000d2b: SWAP1
00000d2c: SWAP2
00000d2d: KECCAK256
00000d2e: ADD
00000d2f: SLOAD
00000d30: DUP4
00000d31: MLOAD
00000d32: PUSH1 0x01
00000d34: PUSH1 0xa0
00000d36: PUSH1 0x02
00000d38: EXP
00000d39: SUB
00000d3a: SWAP1
00000d3b: SWAP2
00000d3c: AND
00000d3d: SWAP1
00000d3e: DUP5
00000d3f: SWAP1
00000d40: DUP5
00000d41: SWAP1
00000d42: DUP2
00000d43: LT
00000d44: PUSH2 0x0d49
00000d47: JUMPI
00000d48: INVALID
00000d49: JUMPDEST
00000d4a: PUSH1 0x01
00000d4c: PUSH1 0xa0
00000d4e: PUSH1 0x02
00000d50: EXP
00000d51: SUB
00000d52: SWAP1
00000d53: SWAP3
00000d54: AND
00000d55: PUSH1 0x20
00000d57: SWAP3
00000d58: DUP4
00000d59: MUL
00000d5a: SWAP1
00000d5b: SWAP2
00000d5c: ADD
00000d5d: SWAP1
00000d5e: SWAP2
00000d5f: ADD
00000d60: MSTORE
00000d61: PUSH1 0x01
00000d63: SWAP2
00000d64: SWAP1
00000d65: SWAP2
00000d66: ADD
00000d67: SWAP1
00000d68: JUMPDEST
00000d69: PUSH1 0x01
00000d6b: ADD
00000d6c: PUSH2 0x0cbf
00000d6f: JUMP
00000d70: JUMPDEST
00000d71: DUP2
00000d72: PUSH1 0x40
00000d74: MLOAD
00000d75: SWAP1
00000d76: DUP1
00000d77: DUP3
00000d78: MSTORE
00000d79: DUP1
00000d7a: PUSH1 0x20
00000d7c: MUL
00000d7d: PUSH1 0x20
00000d7f: ADD
00000d80: DUP3
00000d81: ADD
00000d82: PUSH1 0x40
00000d84: MSTORE
00000d85: DUP1
00000d86: ISZERO
00000d87: PUSH2 0x0d9a
00000d8a: JUMPI
00000d8b: DUP2
00000d8c: PUSH1 0x20
00000d8e: ADD
00000d8f: PUSH1 0x20
00000d91: DUP3
00000d92: MUL
00000d93: DUP1
00000d94: CODESIZE
00000d95: DUP4
00000d96: CODECOPY
00000d97: ADD
00000d98: SWAP1
00000d99: POP
00000d9a: JUMPDEST
00000d9b: POP
00000d9c: SWAP4
00000d9d: POP
00000d9e: PUSH1 0x00
00000da0: SWAP1
00000da1: POP
00000da2: JUMPDEST
00000da3: DUP2
00000da4: DUP2
00000da5: LT
00000da6: ISZERO
00000da7: PUSH2 0x0def
00000daa: JUMPI
00000dab: DUP3
00000dac: DUP2
00000dad: DUP2
00000dae: MLOAD
00000daf: DUP2
00000db0: LT
00000db1: ISZERO
00000db2: ISZERO
00000db3: PUSH2 0x0db8
00000db6: JUMPI
00000db7: INVALID
00000db8: JUMPDEST
00000db9: SWAP1
00000dba: PUSH1 0x20
00000dbc: ADD
00000dbd: SWAP1
00000dbe: PUSH1 0x20
00000dc0: MUL
00000dc1: ADD
00000dc2: MLOAD
00000dc3: DUP5
00000dc4: DUP3
00000dc5: DUP2
00000dc6: MLOAD
00000dc7: DUP2
00000dc8: LT
00000dc9: ISZERO
00000dca: ISZERO
00000dcb: PUSH2 0x0dd0
00000dce: JUMPI
00000dcf: INVALID
00000dd0: JUMPDEST
00000dd1: PUSH1 0x01
00000dd3: PUSH1 0xa0
00000dd5: PUSH1 0x02
00000dd7: EXP
00000dd8: SUB
00000dd9: SWAP1
00000dda: SWAP3
00000ddb: AND
00000ddc: PUSH1 0x20
00000dde: SWAP3
00000ddf: DUP4
00000de0: MUL
00000de1: SWAP1
00000de2: SWAP2
00000de3: ADD
00000de4: SWAP1
00000de5: SWAP2
00000de6: ADD
00000de7: MSTORE
00000de8: PUSH1 0x01
00000dea: ADD
00000deb: PUSH2 0x0da2
00000dee: JUMP
00000def: JUMPDEST
00000df0: POP
00000df1: POP
00000df2: POP
00000df3: SWAP2
00000df4: SWAP1
00000df5: POP
00000df6: JUMP
00000df7: JUMPDEST
00000df8: PUSH1 0x05
00000dfa: SLOAD
00000dfb: DUP2
00000dfc: JUMP
00000dfd: JUMPDEST
00000dfe: CALLER
00000dff: ADDRESS
00000e00: EQ
00000e01: PUSH2 0x0e09
00000e04: JUMPI
00000e05: PUSH1 0x00
00000e07: DUP1
00000e08: REVERT
00000e09: JUMPDEST
00000e0a: PUSH1 0x03
00000e0c: SLOAD
00000e0d: DUP2
00000e0e: PUSH1 0x32
00000e10: DUP3
00000e11: GT
00000e12: DUP1
00000e13: PUSH2 0x0e1b
00000e16: JUMPI
00000e17: POP
00000e18: DUP2
00000e19: DUP2
00000e1a: GT
00000e1b: JUMPDEST
00000e1c: DUP1
00000e1d: PUSH2 0x0e24
00000e20: JUMPI
00000e21: POP
00000e22: DUP1
00000e23: ISZERO
00000e24: JUMPDEST
00000e25: DUP1
00000e26: PUSH2 0x0e2d
00000e29: JUMPI
00000e2a: POP
00000e2b: DUP2
00000e2c: ISZERO
00000e2d: JUMPDEST
00000e2e: ISZERO
00000e2f: PUSH2 0x0e37
00000e32: JUMPI
00000e33: PUSH1 0x00
00000e35: DUP1
00000e36: REVERT
00000e37: JUMPDEST
00000e38: PUSH1 0x04
00000e3a: DUP4
00000e3b: SWAP1
00000e3c: SSTORE
00000e3d: PUSH1 0x40
00000e3f: DUP1
00000e40: MLOAD
00000e41: DUP5
00000e42: DUP2
00000e43: MSTORE
00000e44: SWAP1
00000e45: MLOAD
00000e46: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a
00000e67: SWAP2
00000e68: DUP2
00000e69: SWAP1
00000e6a: SUB
00000e6b: PUSH1 0x20
00000e6d: ADD
00000e6e: SWAP1
00000e6f: LOG1
00000e70: POP
00000e71: POP
00000e72: POP
00000e73: JUMP
00000e74: JUMPDEST
00000e75: CALLER
00000e76: PUSH1 0x00
00000e78: DUP2
00000e79: DUP2
00000e7a: MSTORE
00000e7b: PUSH1 0x02
00000e7d: PUSH1 0x20
00000e7f: MSTORE
00000e80: PUSH1 0x40
00000e82: SWAP1
00000e83: KECCAK256
00000e84: SLOAD
00000e85: PUSH1 0xff
00000e87: AND
00000e88: ISZERO
00000e89: ISZERO
00000e8a: PUSH2 0x0e92
00000e8d: JUMPI
00000e8e: PUSH1 0x00
00000e90: DUP1
00000e91: REVERT
00000e92: JUMPDEST
00000e93: PUSH1 0x00
00000e95: DUP3
00000e96: DUP2
00000e97: MSTORE
00000e98: PUSH1 0x20
00000e9a: DUP2
00000e9b: SWAP1
00000e9c: MSTORE
00000e9d: PUSH1 0x40
00000e9f: SWAP1
00000ea0: KECCAK256
00000ea1: SLOAD
00000ea2: DUP3
00000ea3: SWAP1
00000ea4: PUSH1 0x01
00000ea6: PUSH1 0xa0
00000ea8: PUSH1 0x02
00000eaa: EXP
00000eab: SUB
00000eac: AND
00000ead: ISZERO
00000eae: ISZERO
00000eaf: PUSH2 0x0eb7
00000eb2: JUMPI
00000eb3: PUSH1 0x00
00000eb5: DUP1
00000eb6: REVERT
00000eb7: JUMPDEST
00000eb8: PUSH1 0x00
00000eba: DUP4
00000ebb: DUP2
00000ebc: MSTORE
00000ebd: PUSH1 0x01
00000ebf: PUSH1 0x20
00000ec1: SWAP1
00000ec2: DUP2
00000ec3: MSTORE
00000ec4: PUSH1 0x40
00000ec6: DUP1
00000ec7: DUP4
00000ec8: KECCAK256
00000ec9: CALLER
00000eca: DUP1
00000ecb: DUP6
00000ecc: MSTORE
00000ecd: SWAP3
00000ece: MSTORE
00000ecf: SWAP1
00000ed0: SWAP2
00000ed1: KECCAK256
00000ed2: SLOAD
00000ed3: DUP5
00000ed4: SWAP2
00000ed5: SWAP1
00000ed6: PUSH1 0xff
00000ed8: AND
00000ed9: ISZERO
00000eda: PUSH2 0x0ee2
00000edd: JUMPI
00000ede: PUSH1 0x00
00000ee0: DUP1
00000ee1: REVERT
00000ee2: JUMPDEST
00000ee3: PUSH1 0x00
00000ee5: DUP6
00000ee6: DUP2
00000ee7: MSTORE
00000ee8: PUSH1 0x01
00000eea: PUSH1 0x20
00000eec: DUP2
00000eed: DUP2
00000eee: MSTORE
00000eef: PUSH1 0x40
00000ef1: DUP1
00000ef2: DUP5
00000ef3: KECCAK256
00000ef4: CALLER
00000ef5: DUP1
00000ef6: DUP7
00000ef7: MSTORE
00000ef8: SWAP3
00000ef9: MSTORE
00000efa: DUP1
00000efb: DUP5
00000efc: KECCAK256
00000efd: DUP1
00000efe: SLOAD
00000eff: PUSH1 0xff
00000f01: NOT
00000f02: AND
00000f03: SWAP1
00000f04: SWAP4
00000f05: OR
00000f06: SWAP1
00000f07: SWAP3
00000f08: SSTORE
00000f09: SWAP1
00000f0a: MLOAD
00000f0b: DUP8
00000f0c: SWAP3
00000f0d: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef
00000f2e: SWAP2
00000f2f: LOG3
00000f30: PUSH2 0x0f38
00000f33: DUP6
00000f34: PUSH2 0x10f3
00000f37: JUMP
00000f38: JUMPDEST
00000f39: POP
00000f3a: POP
00000f3b: POP
00000f3c: POP
00000f3d: POP
00000f3e: JUMP
00000f3f: JUMPDEST
00000f40: PUSH1 0x00
00000f42: PUSH2 0x0f4c
00000f45: DUP5
00000f46: DUP5
00000f47: DUP5
00000f48: PUSH2 0x1253
00000f4b: JUMP
00000f4c: JUMPDEST
00000f4d: SWAP1
00000f4e: POP
00000f4f: PUSH2 0x0f57
00000f52: DUP2
00000f53: PUSH2 0x0e74
00000f56: JUMP
00000f57: JUMPDEST
00000f58: SWAP4
00000f59: SWAP3
00000f5a: POP
00000f5b: POP
00000f5c: POP
00000f5d: JUMP
00000f5e: JUMPDEST
00000f5f: PUSH1 0x32
00000f61: DUP2
00000f62: JUMP
00000f63: JUMPDEST
00000f64: PUSH1 0x04
00000f66: SLOAD
00000f67: DUP2
00000f68: JUMP
00000f69: JUMPDEST
00000f6a: PUSH1 0x00
00000f6c: CALLER
00000f6d: ADDRESS
00000f6e: EQ
00000f6f: PUSH2 0x0f77
00000f72: JUMPI
00000f73: PUSH1 0x00
00000f75: DUP1
00000f76: REVERT
00000f77: JUMPDEST
00000f78: PUSH1 0x01
00000f7a: PUSH1 0xa0
00000f7c: PUSH1 0x02
00000f7e: EXP
00000f7f: SUB
00000f80: DUP4
00000f81: AND
00000f82: PUSH1 0x00
00000f84: SWAP1
00000f85: DUP2
00000f86: MSTORE
00000f87: PUSH1 0x02
00000f89: PUSH1 0x20
00000f8b: MSTORE
00000f8c: PUSH1 0x40
00000f8e: SWAP1
00000f8f: KECCAK256
00000f90: SLOAD
00000f91: DUP4
00000f92: SWAP1
00000f93: PUSH1 0xff
00000f95: AND
00000f96: ISZERO
00000f97: ISZERO
00000f98: PUSH2 0x0fa0
00000f9b: JUMPI
00000f9c: PUSH1 0x00
00000f9e: DUP1
00000f9f: REVERT
00000fa0: JUMPDEST
00000fa1: PUSH1 0x01
00000fa3: PUSH1 0xa0
00000fa5: PUSH1 0x02
00000fa7: EXP
00000fa8: SUB
00000fa9: DUP4
00000faa: AND
00000fab: PUSH1 0x00
00000fad: SWAP1
00000fae: DUP2
00000faf: MSTORE
00000fb0: PUSH1 0x02
00000fb2: PUSH1 0x20
00000fb4: MSTORE
00000fb5: PUSH1 0x40
00000fb7: SWAP1
00000fb8: KECCAK256
00000fb9: SLOAD
00000fba: DUP4
00000fbb: SWAP1
00000fbc: PUSH1 0xff
00000fbe: AND
00000fbf: ISZERO
00000fc0: PUSH2 0x0fc8
00000fc3: JUMPI
00000fc4: PUSH1 0x00
00000fc6: DUP1
00000fc7: REVERT
00000fc8: JUMPDEST
00000fc9: PUSH1 0x00
00000fcb: SWAP3
00000fcc: POP
00000fcd: JUMPDEST
00000fce: PUSH1 0x03
00000fd0: SLOAD
00000fd1: DUP4
00000fd2: LT
00000fd3: ISZERO
00000fd4: PUSH2 0x1059
00000fd7: JUMPI
00000fd8: DUP5
00000fd9: PUSH1 0x01
00000fdb: PUSH1 0xa0
00000fdd: PUSH1 0x02
00000fdf: EXP
00000fe0: SUB
00000fe1: AND
00000fe2: PUSH1 0x03
00000fe4: DUP5
00000fe5: DUP2
00000fe6: SLOAD
00000fe7: DUP2
00000fe8: LT
00000fe9: ISZERO
00000fea: ISZERO
00000feb: PUSH2 0x0ff0
00000fee: JUMPI
00000fef: INVALID
00000ff0: JUMPDEST
00000ff1: PUSH1 0x00
00000ff3: SWAP2
00000ff4: DUP3
00000ff5: MSTORE
00000ff6: PUSH1 0x20
00000ff8: SWAP1
00000ff9: SWAP2
00000ffa: KECCAK256
00000ffb: ADD
00000ffc: SLOAD
00000ffd: PUSH1 0x01
00000fff: PUSH1 0xa0
00001001: PUSH1 0x02
00001003: EXP
00001004: SUB
00001005: AND
00001006: EQ
00001007: ISZERO
00001008: PUSH2 0x104e
0000100b: JUMPI
0000100c: DUP4
0000100d: PUSH1 0x03
0000100f: DUP5
00001010: DUP2
00001011: SLOAD
00001012: DUP2
00001013: LT
00001014: ISZERO
00001015: ISZERO
00001016: PUSH2 0x101b
00001019: JUMPI
0000101a: INVALID
0000101b: JUMPDEST
0000101c: SWAP1
0000101d: PUSH1 0x00
0000101f: MSTORE
00001020: PUSH1 0x20
00001022: PUSH1 0x00
00001024: KECCAK256
00001025: ADD
00001026: PUSH1 0x00
00001028: PUSH2 0x0100
0000102b: EXP
0000102c: DUP2
0000102d: SLOAD
0000102e: DUP2
0000102f: PUSH1 0x01
00001031: PUSH1 0xa0
00001033: PUSH1 0x02
00001035: EXP
00001036: SUB
00001037: MUL
00001038: NOT
00001039: AND
0000103a: SWAP1
0000103b: DUP4
0000103c: PUSH1 0x01
0000103e: PUSH1 0xa0
00001040: PUSH1 0x02
00001042: EXP
00001043: SUB
00001044: AND
00001045: MUL
00001046: OR
00001047: SWAP1
00001048: SSTORE
00001049: POP
0000104a: PUSH2 0x1059
0000104d: JUMP
0000104e: JUMPDEST
0000104f: PUSH1 0x01
00001051: SWAP1
00001052: SWAP3
00001053: ADD
00001054: SWAP2
00001055: PUSH2 0x0fcd
00001058: JUMP
00001059: JUMPDEST
0000105a: PUSH1 0x01
0000105c: PUSH1 0xa0
0000105e: PUSH1 0x02
00001060: EXP
00001061: SUB
00001062: DUP1
00001063: DUP7
00001064: AND
00001065: PUSH1 0x00
00001067: DUP2
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x02
0000106c: PUSH1 0x20
0000106e: MSTORE
0000106f: PUSH1 0x40
00001071: DUP1
00001072: DUP3
00001073: KECCAK256
00001074: DUP1
00001075: SLOAD
00001076: PUSH1 0xff
00001078: NOT
00001079: SWAP1
0000107a: DUP2
0000107b: AND
0000107c: SWAP1
0000107d: SWAP2
0000107e: SSTORE
0000107f: SWAP4
00001080: DUP9
00001081: AND
00001082: DUP3
00001083: MSTORE
00001084: DUP1
00001085: DUP3
00001086: KECCAK256
00001087: DUP1
00001088: SLOAD
00001089: SWAP1
0000108a: SWAP5
0000108b: AND
0000108c: PUSH1 0x01
0000108e: OR
0000108f: SWAP1
00001090: SWAP4
00001091: SSTORE
00001092: SWAP2
00001093: MLOAD
00001094: SWAP1
00001095: SWAP2
00001096: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
000010b7: SWAP2
000010b8: LOG2
000010b9: PUSH1 0x40
000010bb: MLOAD
000010bc: PUSH1 0x01
000010be: PUSH1 0xa0
000010c0: PUSH1 0x02
000010c2: EXP
000010c3: SUB
000010c4: DUP6
000010c5: AND
000010c6: SWAP1
000010c7: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
000010e8: SWAP1
000010e9: PUSH1 0x00
000010eb: SWAP1
000010ec: LOG2
000010ed: POP
000010ee: POP
000010ef: POP
000010f0: POP
000010f1: POP
000010f2: JUMP
000010f3: JUMPDEST
000010f4: PUSH1 0x00
000010f6: DUP2
000010f7: DUP2
000010f8: MSTORE
000010f9: PUSH1 0x20
000010fb: DUP2
000010fc: SWAP1
000010fd: MSTORE
000010fe: PUSH1 0x40
00001100: DUP2
00001101: KECCAK256
00001102: PUSH1 0x03
00001104: ADD
00001105: SLOAD
00001106: DUP3
00001107: SWAP1
00001108: PUSH1 0xff
0000110a: AND
0000110b: ISZERO
0000110c: PUSH2 0x1114
0000110f: JUMPI
00001110: PUSH1 0x00
00001112: DUP1
00001113: REVERT
00001114: JUMPDEST
00001115: PUSH2 0x111d
00001118: DUP4
00001119: PUSH2 0x0931
0000111c: JUMP
0000111d: JUMPDEST
0000111e: ISZERO
0000111f: PUSH2 0x124e
00001122: JUMPI
00001123: PUSH1 0x00
00001125: DUP4
00001126: DUP2
00001127: MSTORE
00001128: PUSH1 0x20
0000112a: DUP2
0000112b: SWAP1
0000112c: MSTORE
0000112d: PUSH1 0x40
0000112f: SWAP1
00001130: DUP2
00001131: SWAP1
00001132: KECCAK256
00001133: PUSH1 0x03
00001135: DUP2
00001136: ADD
00001137: DUP1
00001138: SLOAD
00001139: PUSH1 0xff
0000113b: NOT
0000113c: AND
0000113d: PUSH1 0x01
0000113f: SWAP1
00001140: DUP2
00001141: OR
00001142: SWAP1
00001143: SWAP2
00001144: SSTORE
00001145: DUP2
00001146: SLOAD
00001147: DUP2
00001148: DUP4
00001149: ADD
0000114a: SLOAD
0000114b: SWAP4
0000114c: MLOAD
0000114d: PUSH1 0x02
0000114f: DUP1
00001150: DUP6
00001151: ADD
00001152: DUP1
00001153: SLOAD
00001154: SWAP6
00001155: SWAP9
00001156: POP
00001157: PUSH1 0x01
00001159: PUSH1 0xa0
0000115b: PUSH1 0x02
0000115d: EXP
0000115e: SUB
0000115f: SWAP1
00001160: SWAP4
00001161: AND
00001162: SWAP6
00001163: SWAP5
00001164: SWAP3
00001165: SWAP4
00001166: SWAP2
00001167: SWAP3
00001168: DUP4
00001169: SWAP3
0000116a: DUP6
0000116b: SWAP3
0000116c: PUSH1 0x00
0000116e: NOT
0000116f: SWAP2
00001170: DUP4
00001171: AND
00001172: ISZERO
00001173: PUSH2 0x0100
00001176: MUL
00001177: SWAP2
00001178: SWAP1
00001179: SWAP2
0000117a: ADD
0000117b: SWAP1
0000117c: SWAP2
0000117d: AND
0000117e: DIV
0000117f: DUP1
00001180: ISZERO
00001181: PUSH2 0x11cb
00001184: JUMPI
00001185: DUP1
00001186: PUSH1 0x1f
00001188: LT
00001189: PUSH2 0x11a0
0000118c: JUMPI
0000118d: PUSH2 0x0100
00001190: DUP1
00001191: DUP4
00001192: SLOAD
00001193: DIV
00001194: MUL
00001195: DUP4
00001196: MSTORE
00001197: SWAP2
00001198: PUSH1 0x20
0000119a: ADD
0000119b: SWAP2
0000119c: PUSH2 0x11cb
0000119f: JUMP
000011a0: JUMPDEST
000011a1: DUP3
000011a2: ADD
000011a3: SWAP2
000011a4: SWAP1
000011a5: PUSH1 0x00
000011a7: MSTORE
000011a8: PUSH1 0x20
000011aa: PUSH1 0x00
000011ac: KECCAK256
000011ad: SWAP1
000011ae: JUMPDEST
000011af: DUP2
000011b0: SLOAD
000011b1: DUP2
000011b2: MSTORE
000011b3: SWAP1
000011b4: PUSH1 0x01
000011b6: ADD
000011b7: SWAP1
000011b8: PUSH1 0x20
000011ba: ADD
000011bb: DUP1
000011bc: DUP4
000011bd: GT
000011be: PUSH2 0x11ae
000011c1: JUMPI
000011c2: DUP3
000011c3: SWAP1
000011c4: SUB
000011c5: PUSH1 0x1f
000011c7: AND
000011c8: DUP3
000011c9: ADD
000011ca: SWAP2
000011cb: JUMPDEST
000011cc: POP
000011cd: POP
000011ce: SWAP2
000011cf: POP
000011d0: POP
000011d1: PUSH1 0x00
000011d3: PUSH1 0x40
000011d5: MLOAD
000011d6: DUP1
000011d7: DUP4
000011d8: SUB
000011d9: DUP2
000011da: DUP6
000011db: DUP8
000011dc: GAS
000011dd: CALL
000011de: SWAP3
000011df: POP
000011e0: POP
000011e1: POP
000011e2: ISZERO
000011e3: PUSH2 0x1216
000011e6: JUMPI
000011e7: PUSH1 0x40
000011e9: MLOAD
000011ea: DUP4
000011eb: SWAP1
000011ec: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75
0000120d: SWAP1
0000120e: PUSH1 0x00
00001210: SWAP1
00001211: LOG2
00001212: PUSH2 0x124e
00001215: JUMP
00001216: JUMPDEST
00001217: PUSH1 0x40
00001219: MLOAD
0000121a: DUP4
0000121b: SWAP1
0000121c: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236
0000123d: SWAP1
0000123e: PUSH1 0x00
00001240: SWAP1
00001241: LOG2
00001242: PUSH1 0x03
00001244: DUP3
00001245: ADD
00001246: DUP1
00001247: SLOAD
00001248: PUSH1 0xff
0000124a: NOT
0000124b: AND
0000124c: SWAP1
0000124d: SSTORE
0000124e: JUMPDEST
0000124f: POP
00001250: POP
00001251: POP
00001252: JUMP
00001253: JUMPDEST
00001254: PUSH1 0x00
00001256: DUP4
00001257: PUSH1 0x01
00001259: PUSH1 0xa0
0000125b: PUSH1 0x02
0000125d: EXP
0000125e: SUB
0000125f: DUP2
00001260: AND
00001261: ISZERO
00001262: ISZERO
00001263: PUSH2 0x126b
00001266: JUMPI
00001267: PUSH1 0x00
00001269: DUP1
0000126a: REVERT
0000126b: JUMPDEST
0000126c: PUSH1 0x05
0000126e: SLOAD
0000126f: PUSH1 0x40
00001271: DUP1
00001272: MLOAD
00001273: PUSH1 0x80
00001275: DUP2
00001276: ADD
00001277: DUP3
00001278: MSTORE
00001279: PUSH1 0x01
0000127b: PUSH1 0xa0
0000127d: PUSH1 0x02
0000127f: EXP
00001280: SUB
00001281: DUP9
00001282: DUP2
00001283: AND
00001284: DUP3
00001285: MSTORE
00001286: PUSH1 0x20
00001288: DUP1
00001289: DUP4
0000128a: ADD
0000128b: DUP10
0000128c: DUP2
0000128d: MSTORE
0000128e: DUP4
0000128f: DUP6
00001290: ADD
00001291: DUP10
00001292: DUP2
00001293: MSTORE
00001294: PUSH1 0x00
00001296: PUSH1 0x60
00001298: DUP7
00001299: ADD
0000129a: DUP2
0000129b: SWAP1
0000129c: MSTORE
0000129d: DUP8
0000129e: DUP2
0000129f: MSTORE
000012a0: DUP1
000012a1: DUP5
000012a2: MSTORE
000012a3: SWAP6
000012a4: SWAP1
000012a5: SWAP6
000012a6: KECCAK256
000012a7: DUP5
000012a8: MLOAD
000012a9: DUP2
000012aa: SLOAD
000012ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c0: NOT
000012c1: AND
000012c2: SWAP5
000012c3: AND
000012c4: SWAP4
000012c5: SWAP1
000012c6: SWAP4
000012c7: OR
000012c8: DUP4
000012c9: SSTORE
000012ca: MLOAD
000012cb: PUSH1 0x01
000012cd: DUP4
000012ce: ADD
000012cf: SSTORE
000012d0: SWAP3
000012d1: MLOAD
000012d2: DUP1
000012d3: MLOAD
000012d4: SWAP5
000012d5: SWAP7
000012d6: POP
000012d7: SWAP2
000012d8: SWAP4
000012d9: SWAP1
000012da: SWAP3
000012db: PUSH2 0x12eb
000012de: SWAP3
000012df: PUSH1 0x02
000012e1: DUP6
000012e2: ADD
000012e3: SWAP3
000012e4: SWAP2
000012e5: ADD
000012e6: SWAP1
000012e7: PUSH2 0x1367
000012ea: JUMP
000012eb: JUMPDEST
000012ec: POP
000012ed: PUSH1 0x60
000012ef: SWAP2
000012f0: SWAP1
000012f1: SWAP2
000012f2: ADD
000012f3: MLOAD
000012f4: PUSH1 0x03
000012f6: SWAP1
000012f7: SWAP2
000012f8: ADD
000012f9: DUP1
000012fa: SLOAD
000012fb: PUSH1 0xff
000012fd: NOT
000012fe: AND
000012ff: SWAP2
00001300: ISZERO
00001301: ISZERO
00001302: SWAP2
00001303: SWAP1
00001304: SWAP2
00001305: OR
00001306: SWAP1
00001307: SSTORE
00001308: PUSH1 0x05
0000130a: DUP1
0000130b: SLOAD
0000130c: PUSH1 0x01
0000130e: ADD
0000130f: SWAP1
00001310: SSTORE
00001311: PUSH1 0x40
00001313: MLOAD
00001314: DUP3
00001315: SWAP1
00001316: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51
00001337: SWAP1
00001338: PUSH1 0x00
0000133a: SWAP1
0000133b: LOG2
0000133c: POP
0000133d: SWAP4
0000133e: SWAP3
0000133f: POP
00001340: POP
00001341: POP
00001342: JUMP
00001343: JUMPDEST
00001344: DUP2
00001345: SLOAD
00001346: DUP2
00001347: DUP4
00001348: SSTORE
00001349: DUP2
0000134a: DUP2
0000134b: GT
0000134c: ISZERO
0000134d: PUSH2 0x124e
00001350: JUMPI
00001351: PUSH1 0x00
00001353: DUP4
00001354: DUP2
00001355: MSTORE
00001356: PUSH1 0x20
00001358: SWAP1
00001359: KECCAK256
0000135a: PUSH2 0x124e
0000135d: SWAP2
0000135e: DUP2
0000135f: ADD
00001360: SWAP1
00001361: DUP4
00001362: ADD
00001363: PUSH2 0x13e5
00001366: JUMP
00001367: JUMPDEST
00001368: DUP3
00001369: DUP1
0000136a: SLOAD
0000136b: PUSH1 0x01
0000136d: DUP2
0000136e: PUSH1 0x01
00001370: AND
00001371: ISZERO
00001372: PUSH2 0x0100
00001375: MUL
00001376: SUB
00001377: AND
00001378: PUSH1 0x02
0000137a: SWAP1
0000137b: DIV
0000137c: SWAP1
0000137d: PUSH1 0x00
0000137f: MSTORE
00001380: PUSH1 0x20
00001382: PUSH1 0x00
00001384: KECCAK256
00001385: SWAP1
00001386: PUSH1 0x1f
00001388: ADD
00001389: PUSH1 0x20
0000138b: SWAP1
0000138c: DIV
0000138d: DUP2
0000138e: ADD
0000138f: SWAP3
00001390: DUP3
00001391: PUSH1 0x1f
00001393: LT
00001394: PUSH2 0x13a8
00001397: JUMPI
00001398: DUP1
00001399: MLOAD
0000139a: PUSH1 0xff
0000139c: NOT
0000139d: AND
0000139e: DUP4
0000139f: DUP1
000013a0: ADD
000013a1: OR
000013a2: DUP6
000013a3: SSTORE
000013a4: PUSH2 0x13d5
000013a7: JUMP
000013a8: JUMPDEST
000013a9: DUP3
000013aa: DUP1
000013ab: ADD
000013ac: PUSH1 0x01
000013ae: ADD
000013af: DUP6
000013b0: SSTORE
000013b1: DUP3
000013b2: ISZERO
000013b3: PUSH2 0x13d5
000013b6: JUMPI
000013b7: SWAP2
000013b8: DUP3
000013b9: ADD
000013ba: JUMPDEST
000013bb: DUP3
000013bc: DUP2
000013bd: GT
000013be: ISZERO
000013bf: PUSH2 0x13d5
000013c2: JUMPI
000013c3: DUP3
000013c4: MLOAD
000013c5: DUP3
000013c6: SSTORE
000013c7: SWAP2
000013c8: PUSH1 0x20
000013ca: ADD
000013cb: SWAP2
000013cc: SWAP1
000013cd: PUSH1 0x01
000013cf: ADD
000013d0: SWAP1
000013d1: PUSH2 0x13ba
000013d4: JUMP
000013d5: JUMPDEST
000013d6: POP
000013d7: PUSH2 0x13e1
000013da: SWAP3
000013db: SWAP2
000013dc: POP
000013dd: PUSH2 0x13e5
000013e0: JUMP
000013e1: JUMPDEST
000013e2: POP
000013e3: SWAP1
000013e4: JUMP
000013e5: JUMPDEST
000013e6: PUSH2 0x0b42
000013e9: SWAP2
000013ea: SWAP1
000013eb: JUMPDEST
000013ec: DUP1
000013ed: DUP3
000013ee: GT
000013ef: ISZERO
000013f0: PUSH2 0x13e1
000013f3: JUMPI
000013f4: PUSH1 0x00
000013f6: DUP2
000013f7: SSTORE
000013f8: PUSH1 0x01
000013fa: ADD
000013fb: PUSH2 0x13eb
000013fe: JUMP
000013ff: STOP
00001400: LOG1
00001401: PUSH6 0x627a7a723058
00001408: KECCAK256
00001409: UNKNOWN(0xC4)
0000140a: UNKNOWN(0xD3)
0000140b: PUSH13 0x65dbc37a8f3d3839eaf6c7aa79
00001419: CALL
0000141a: PUSH31

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: 0x9da50e2385c1abd937bfc875228065a18804547920248eadb42b85026bf37da8
call_targets: 0x7b0d44d5b2ef3a8b168fafdcc321fab0d9d5d08c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9da50e2385c1abd937bfc875228065a18804547920248eadb42b85026bf37da8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7b0d44d5b2ef3a8b168fafdcc321fab0d9d5d08c"
    ],
    "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": "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"
            ]
        },
        {
            "calldata": "0x784547a7",
            "selector": "0x784547a7",
            "calldata_variants": [
                "0x784547a7",
                "0x784547a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4573,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5145,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 1351,
            "type": "msg_sender_eq_const",
            "value": 0
        },
        {
            "pc": 3950,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x9da50e2385c1abd937bfc875228065a18804547920248eadb42b85026bf37da8
call_targets: 0x7b0d44d5b2ef3a8b168fafdcc321fab0d9d5d08c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9da50e2385c1abd937bfc875228065a18804547920248eadb42b85026bf37da8",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7b0d44d5b2ef3a8b168fafdcc321fab0d9d5d08c"
    ],
    "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": "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"
            ]
        },
        {
            "calldata": "0x784547a7",
            "selector": "0x784547a7",
            "calldata_variants": [
                "0x784547a7",
                "0x784547a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4573,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5145,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 1351,
            "type": "msg_sender_eq_const",
            "value": 0
        },
        {
            "pc": 3950,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ]
}