aabcaaef-8bb7-4d13-9d9f-7e6b80bfea93
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| 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 |
No slither job recorded yet.
[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":[]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_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 |
viewtrace_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
}
]
}
|