09fd0350-1be0-496e-8b79-baf80bb84ddb
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 |
|---|---|---|---|---|
| 31438 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77254 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 77255 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77256 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77257 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77258 | detector.run | complete | 1 / 3 | 1 week ago |
| 77259 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:64477] OpenAI Codex v0.77.0 (research preview)
[codex:64477] --------
[codex:64477] workdir: /tmp/codex-multi-v8tu3fwh
[codex:64477] model: gpt-5.2-codex
[codex:64477] provider: openai
[codex:64477] approval: never
[codex:64477] sandbox: read-only
[codex:64477] reasoning effort: xhigh
[codex:64477] reasoning summaries: auto
[codex:64477] session id: 019b81c7-4124-7471-a050-a8bae3bb2b8c
[codex:64477] --------
[codex:64477] user
[codex:64477] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:64477]
[codex:64477] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:64477]
[codex:64477] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:64477] - Gas inefficiency, code quality, naming, or best practices
[codex:64477] - Theoretical vulnerabilities without a clear extraction path
[codex:64477] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:64477] - Front-running unless it enables theft beyond MEV
[codex:64477] - DoS, griefing, or issues that don't result in attacker profit
[codex:64477] - Missing events, view function issues, or informational findings
[codex:64477]
[codex:64477] HIGH-VALUE PATTERNS TO HUNT:
[codex:64477] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:64477] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:64477] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:64477] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:64477] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:64477] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:64477] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:64477] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:64477] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:64477]
[codex:64477] For each finding, you MUST provide:
[codex:64477] 1. Exact file and line numbers of vulnerable code
[codex:64477] 2. Step-by-step exploit transaction sequence
[codex:64477] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:64477]
[codex:64477] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:64477]
[codex:64477] Output MUST be valid JSON matching the provided schema.
[codex:64477] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:64477] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:64477] mcp startup: no servers
[codex:64477]
[codex:64477] thinking
[codex:64477] **Preparing to read AUDIT_BUNDLE.txt**
[codex:64477] exec
[codex:64477] /bin/bash -lc ls in /tmp/codex-multi-v8tu3fwh succeeded in 5ms:
[codex:64477] AUDIT_BUNDLE.txt
[codex:64477] codex-output-schema.json
[codex:64477] contracts
[codex:64477] exec
[codex:64477] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-v8tu3fwh succeeded in 5ms:
[codex:64477] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:64477]
[codex:64477] ================================================================================
[codex:64477] FILE: contracts/Contract.sol
[codex:64477] ================================================================================
[codex:64477] pragma solidity ^0.4.11;
[codex:64477]
[codex:64477] /*
[codex:64477] Overflow protected math functions
[codex:64477] */
[codex:64477] contract SafeMath {
[codex:64477] /**
[codex:64477] constructor
[codex:64477] */
[codex:64477] function SafeMath() {
[codex:64477] }
[codex:64477]
[codex:64477] /**
[codex:64477] @dev returns the sum of _x and _y, asserts if the calculation overflows
[codex:64477]
[codex:64477]
[codex:64477] thinking
[codex:64477] **Analyzing EtherToken for vulnerabilities**
[codex:64477]
[codex:64477] I'm auditing the EtherToken classic contract for potential exploits like reentrancy or access control flaws. After checking details like safe gas usage in sends, proper update order, and standard approve behavior, I see no concrete profit exploit or reentrancy risk. The contract resembles a typical Wrapped Ether implementation with no arithmetic bugs or denial-of-service issues. My conclusion is no findings, so I'll prepare a JSON report stating no_findings true with an empty findings array and a brief summary.
[codex:64477] codex
[codex:64477] {"no_findings":true,"summary":"No concrete, exploitable path to extract value was identified in the provided contracts.","findings":[]}
[codex:64477] tokens used
[codex:64477] 8,109
[codex:64477] {"no_findings":true,"summary":"No concrete, exploitable path to extract value was identified in the provided contracts.","findings":[]}
{
"codex": {
"ran_at": "2026-01-03T02:54:53.013673+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable path to extract value was identified in the provided contracts.",
"raw_final": {
"summary": "No concrete, exploitable path to extract value was identified in the provided contracts.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x00ee 0000000a: JUMPI 0000000b: PUSH4 0xffffffff 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: PUSH1 0x00 00000030: CALLDATALOAD 00000031: DIV 00000032: AND 00000033: PUSH4 0x06fdde03 00000038: DUP2 00000039: EQ 0000003a: PUSH2 0x00ff 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0x095ea7b3 00000044: EQ 00000045: PUSH2 0x018f 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0x18160ddd 0000004f: EQ 00000050: PUSH2 0x01c2 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0x23b872dd 0000005a: EQ 0000005b: PUSH2 0x01e4 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0x2e1a7d4d 00000065: EQ 00000066: PUSH2 0x021d 00000069: JUMPI 0000006a: DUP1 0000006b: PUSH4 0x313ce567 00000070: EQ 00000071: PUSH2 0x0232 00000074: JUMPI 00000075: DUP1 00000076: PUSH4 0x5a3b7e42 0000007b: EQ 0000007c: PUSH2 0x0258 0000007f: JUMPI 00000080: DUP1 00000081: PUSH4 0x5e35359e 00000086: EQ 00000087: PUSH2 0x02e8 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x70a08231 00000091: EQ 00000092: PUSH2 0x030f 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x79ba5097 0000009c: EQ 0000009d: PUSH2 0x033d 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x8da5cb5b 000000a7: EQ 000000a8: PUSH2 0x034f 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x95d89b41 000000b2: EQ 000000b3: PUSH2 0x037b 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xa9059cbb 000000bd: EQ 000000be: PUSH2 0x040b 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xd0e30db0 000000c8: EQ 000000c9: PUSH2 0x043e 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xd4ee1d90 000000d3: EQ 000000d4: PUSH2 0x0448 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0xdd62ed3e 000000de: EQ 000000df: PUSH2 0x0474 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0xf2fde38b 000000e9: EQ 000000ea: PUSH2 0x04a8 000000ed: JUMPI 000000ee: JUMPDEST 000000ef: PUSH2 0x00fd 000000f2: JUMPDEST 000000f3: PUSH2 0x00fa 000000f6: PUSH2 0x04c6 000000f9: JUMP 000000fa: JUMPDEST 000000fb: JUMPDEST 000000fc: JUMP 000000fd: JUMPDEST 000000fe: STOP 000000ff: JUMPDEST 00000100: CALLVALUE 00000101: ISZERO 00000102: PUSH2 0x0107 00000105: JUMPI 00000106: INVALID 00000107: JUMPDEST 00000108: PUSH2 0x010f 0000010b: PUSH2 0x0581 0000010e: JUMP 0000010f: JUMPDEST 00000110: PUSH1 0x40 00000112: DUP1 00000113: MLOAD 00000114: PUSH1 0x20 00000116: DUP1 00000117: DUP3 00000118: MSTORE 00000119: DUP4 0000011a: MLOAD 0000011b: DUP2 0000011c: DUP4 0000011d: ADD 0000011e: MSTORE 0000011f: DUP4 00000120: MLOAD 00000121: SWAP2 00000122: SWAP3 00000123: DUP4 00000124: SWAP3 00000125: SWAP1 00000126: DUP4 00000127: ADD 00000128: SWAP2 00000129: DUP6 0000012a: ADD 0000012b: SWAP1 0000012c: DUP1 0000012d: DUP4 0000012e: DUP4 0000012f: DUP3 00000130: ISZERO 00000131: PUSH2 0x0155 00000134: JUMPI 00000135: JUMPDEST 00000136: DUP1 00000137: MLOAD 00000138: DUP3 00000139: MSTORE 0000013a: PUSH1 0x20 0000013c: DUP4 0000013d: GT 0000013e: ISZERO 0000013f: PUSH2 0x0155 00000142: JUMPI 00000143: PUSH1 0x1f 00000145: NOT 00000146: SWAP1 00000147: SWAP3 00000148: ADD 00000149: SWAP2 0000014a: PUSH1 0x20 0000014c: SWAP2 0000014d: DUP3 0000014e: ADD 0000014f: SWAP2 00000150: ADD 00000151: PUSH2 0x0135 00000154: JUMP 00000155: JUMPDEST 00000156: POP 00000157: POP 00000158: POP 00000159: SWAP1 0000015a: POP 0000015b: SWAP1 0000015c: DUP2 0000015d: ADD 0000015e: SWAP1 0000015f: PUSH1 0x1f 00000161: AND 00000162: DUP1 00000163: ISZERO 00000164: PUSH2 0x0181 00000167: JUMPI 00000168: DUP1 00000169: DUP3 0000016a: SUB 0000016b: DUP1 0000016c: MLOAD 0000016d: PUSH1 0x01 0000016f: DUP4 00000170: PUSH1 0x20 00000172: SUB 00000173: PUSH2 0x0100 00000176: EXP 00000177: SUB 00000178: NOT 00000179: AND 0000017a: DUP2 0000017b: MSTORE 0000017c: PUSH1 0x20 0000017e: ADD 0000017f: SWAP2 00000180: POP 00000181: JUMPDEST 00000182: POP 00000183: SWAP3 00000184: POP 00000185: POP 00000186: POP 00000187: PUSH1 0x40 00000189: MLOAD 0000018a: DUP1 0000018b: SWAP2 0000018c: SUB 0000018d: SWAP1 0000018e: RETURN 0000018f: JUMPDEST 00000190: CALLVALUE 00000191: ISZERO 00000192: PUSH2 0x0197 00000195: JUMPI 00000196: INVALID 00000197: JUMPDEST 00000198: PUSH2 0x01ae 0000019b: PUSH1 0x01 0000019d: PUSH1 0xa0 0000019f: PUSH1 0x02 000001a1: EXP 000001a2: SUB 000001a3: PUSH1 0x04 000001a5: CALLDATALOAD 000001a6: AND 000001a7: PUSH1 0x24 000001a9: CALLDATALOAD 000001aa: PUSH2 0x060e 000001ad: JUMP 000001ae: JUMPDEST 000001af: PUSH1 0x40 000001b1: DUP1 000001b2: MLOAD 000001b3: SWAP2 000001b4: ISZERO 000001b5: ISZERO 000001b6: DUP3 000001b7: MSTORE 000001b8: MLOAD 000001b9: SWAP1 000001ba: DUP2 000001bb: SWAP1 000001bc: SUB 000001bd: PUSH1 0x20 000001bf: ADD 000001c0: SWAP1 000001c1: RETURN 000001c2: JUMPDEST 000001c3: CALLVALUE 000001c4: ISZERO 000001c5: PUSH2 0x01ca 000001c8: JUMPI 000001c9: INVALID 000001ca: JUMPDEST 000001cb: PUSH2 0x01d2 000001ce: PUSH2 0x06cd 000001d1: JUMP 000001d2: JUMPDEST 000001d3: PUSH1 0x40 000001d5: DUP1 000001d6: MLOAD 000001d7: SWAP2 000001d8: DUP3 000001d9: MSTORE 000001da: MLOAD 000001db: SWAP1 000001dc: DUP2 000001dd: SWAP1 000001de: SUB 000001df: PUSH1 0x20 000001e1: ADD 000001e2: SWAP1 000001e3: RETURN 000001e4: JUMPDEST 000001e5: CALLVALUE 000001e6: ISZERO 000001e7: PUSH2 0x01ec 000001ea: JUMPI 000001eb: INVALID 000001ec: JUMPDEST 000001ed: PUSH2 0x01ae 000001f0: PUSH1 0x01 000001f2: PUSH1 0xa0 000001f4: PUSH1 0x02 000001f6: EXP 000001f7: SUB 000001f8: PUSH1 0x04 000001fa: CALLDATALOAD 000001fb: DUP2 000001fc: AND 000001fd: SWAP1 000001fe: PUSH1 0x24 00000200: CALLDATALOAD 00000201: AND 00000202: PUSH1 0x44 00000204: CALLDATALOAD 00000205: PUSH2 0x06d3 00000208: JUMP 00000209: JUMPDEST 0000020a: PUSH1 0x40 0000020c: DUP1 0000020d: MLOAD 0000020e: SWAP2 0000020f: ISZERO 00000210: ISZERO 00000211: DUP3 00000212: MSTORE 00000213: MLOAD 00000214: SWAP1 00000215: DUP2 00000216: SWAP1 00000217: SUB 00000218: PUSH1 0x20 0000021a: ADD 0000021b: SWAP1 0000021c: RETURN 0000021d: JUMPDEST 0000021e: CALLVALUE 0000021f: ISZERO 00000220: PUSH2 0x0225 00000223: JUMPI 00000224: INVALID 00000225: JUMPDEST 00000226: PUSH2 0x00fd 00000229: PUSH1 0x04 0000022b: CALLDATALOAD 0000022c: PUSH2 0x0715 0000022f: JUMP 00000230: JUMPDEST 00000231: STOP 00000232: JUMPDEST 00000233: CALLVALUE 00000234: ISZERO 00000235: PUSH2 0x023a 00000238: JUMPI 00000239: INVALID 0000023a: JUMPDEST 0000023b: PUSH2 0x0242 0000023e: PUSH2 0x07fe 00000241: JUMP 00000242: JUMPDEST 00000243: PUSH1 0x40 00000245: DUP1 00000246: MLOAD 00000247: PUSH1 0xff 00000249: SWAP1 0000024a: SWAP3 0000024b: AND 0000024c: DUP3 0000024d: MSTORE 0000024e: MLOAD 0000024f: SWAP1 00000250: DUP2 00000251: SWAP1 00000252: SUB 00000253: PUSH1 0x20 00000255: ADD 00000256: SWAP1 00000257: RETURN 00000258: JUMPDEST 00000259: CALLVALUE 0000025a: ISZERO 0000025b: PUSH2 0x0260 0000025e: JUMPI 0000025f: INVALID 00000260: JUMPDEST 00000261: PUSH2 0x010f 00000264: PUSH2 0x0807 00000267: JUMP 00000268: JUMPDEST 00000269: PUSH1 0x40 0000026b: DUP1 0000026c: MLOAD 0000026d: PUSH1 0x20 0000026f: DUP1 00000270: DUP3 00000271: MSTORE 00000272: DUP4 00000273: MLOAD 00000274: DUP2 00000275: DUP4 00000276: ADD 00000277: MSTORE 00000278: DUP4 00000279: MLOAD 0000027a: SWAP2 0000027b: SWAP3 0000027c: DUP4 0000027d: SWAP3 0000027e: SWAP1 0000027f: DUP4 00000280: ADD 00000281: SWAP2 00000282: DUP6 00000283: ADD 00000284: SWAP1 00000285: DUP1 00000286: DUP4 00000287: DUP4 00000288: DUP3 00000289: ISZERO 0000028a: PUSH2 0x0155 0000028d: JUMPI 0000028e: JUMPDEST 0000028f: DUP1 00000290: MLOAD 00000291: DUP3 00000292: MSTORE 00000293: PUSH1 0x20 00000295: DUP4 00000296: GT 00000297: ISZERO 00000298: PUSH2 0x0155 0000029b: JUMPI 0000029c: PUSH1 0x1f 0000029e: NOT 0000029f: SWAP1 000002a0: SWAP3 000002a1: ADD 000002a2: SWAP2 000002a3: PUSH1 0x20 000002a5: SWAP2 000002a6: DUP3 000002a7: ADD 000002a8: SWAP2 000002a9: ADD 000002aa: PUSH2 0x0135 000002ad: JUMP 000002ae: JUMPDEST 000002af: POP 000002b0: POP 000002b1: POP 000002b2: SWAP1 000002b3: POP 000002b4: SWAP1 000002b5: DUP2 000002b6: ADD 000002b7: SWAP1 000002b8: PUSH1 0x1f 000002ba: AND 000002bb: DUP1 000002bc: ISZERO 000002bd: PUSH2 0x0181 000002c0: JUMPI 000002c1: DUP1 000002c2: DUP3 000002c3: SUB 000002c4: DUP1 000002c5: MLOAD 000002c6: PUSH1 0x01 000002c8: DUP4 000002c9: PUSH1 0x20 000002cb: SUB 000002cc: PUSH2 0x0100 000002cf: EXP 000002d0: SUB 000002d1: NOT 000002d2: AND 000002d3: DUP2 000002d4: MSTORE 000002d5: PUSH1 0x20 000002d7: ADD 000002d8: SWAP2 000002d9: POP 000002da: JUMPDEST 000002db: POP 000002dc: SWAP3 000002dd: POP 000002de: POP 000002df: POP 000002e0: PUSH1 0x40 000002e2: MLOAD 000002e3: DUP1 000002e4: SWAP2 000002e5: SUB 000002e6: SWAP1 000002e7: RETURN 000002e8: JUMPDEST 000002e9: CALLVALUE 000002ea: ISZERO 000002eb: PUSH2 0x02f0 000002ee: JUMPI 000002ef: INVALID 000002f0: JUMPDEST 000002f1: PUSH2 0x00fd 000002f4: PUSH1 0x01 000002f6: PUSH1 0xa0 000002f8: PUSH1 0x02 000002fa: EXP 000002fb: SUB 000002fc: PUSH1 0x04 000002fe: CALLDATALOAD 000002ff: DUP2 00000300: AND 00000301: SWAP1 00000302: PUSH1 0x24 00000304: CALLDATALOAD 00000305: AND 00000306: PUSH1 0x44 00000308: CALLDATALOAD 00000309: PUSH2 0x0895 0000030c: JUMP 0000030d: JUMPDEST 0000030e: STOP 0000030f: JUMPDEST 00000310: CALLVALUE 00000311: ISZERO 00000312: PUSH2 0x0317 00000315: JUMPI 00000316: INVALID 00000317: JUMPDEST 00000318: PUSH2 0x01d2 0000031b: PUSH1 0x01 0000031d: PUSH1 0xa0 0000031f: PUSH1 0x02 00000321: EXP 00000322: SUB 00000323: PUSH1 0x04 00000325: CALLDATALOAD 00000326: AND 00000327: PUSH2 0x09aa 0000032a: JUMP 0000032b: JUMPDEST 0000032c: PUSH1 0x40 0000032e: DUP1 0000032f: MLOAD 00000330: SWAP2 00000331: DUP3 00000332: MSTORE 00000333: MLOAD 00000334: SWAP1 00000335: DUP2 00000336: SWAP1 00000337: SUB 00000338: PUSH1 0x20 0000033a: ADD 0000033b: SWAP1 0000033c: RETURN 0000033d: JUMPDEST 0000033e: CALLVALUE 0000033f: ISZERO 00000340: PUSH2 0x0345 00000343: JUMPI 00000344: INVALID 00000345: JUMPDEST 00000346: PUSH2 0x00fd 00000349: PUSH2 0x09bc 0000034c: JUMP 0000034d: JUMPDEST 0000034e: STOP 0000034f: JUMPDEST 00000350: CALLVALUE 00000351: ISZERO 00000352: PUSH2 0x0357 00000355: JUMPI 00000356: INVALID 00000357: JUMPDEST 00000358: PUSH2 0x035f 0000035b: PUSH2 0x0a59 0000035e: JUMP 0000035f: JUMPDEST 00000360: PUSH1 0x40 00000362: DUP1 00000363: MLOAD 00000364: PUSH1 0x01 00000366: PUSH1 0xa0 00000368: PUSH1 0x02 0000036a: EXP 0000036b: SUB 0000036c: SWAP1 0000036d: SWAP3 0000036e: AND 0000036f: DUP3 00000370: MSTORE 00000371: MLOAD 00000372: SWAP1 00000373: DUP2 00000374: SWAP1 00000375: SUB 00000376: PUSH1 0x20 00000378: ADD 00000379: SWAP1 0000037a: RETURN 0000037b: JUMPDEST 0000037c: CALLVALUE 0000037d: ISZERO 0000037e: PUSH2 0x0383 00000381: JUMPI 00000382: INVALID 00000383: JUMPDEST 00000384: PUSH2 0x010f 00000387: PUSH2 0x0a68 0000038a: JUMP 0000038b: JUMPDEST 0000038c: PUSH1 0x40 0000038e: DUP1 0000038f: MLOAD 00000390: PUSH1 0x20 00000392: DUP1 00000393: DUP3 00000394: MSTORE 00000395: DUP4 00000396: MLOAD 00000397: DUP2 00000398: DUP4 00000399: ADD 0000039a: MSTORE 0000039b: DUP4 0000039c: MLOAD 0000039d: SWAP2 0000039e: SWAP3 0000039f: DUP4 000003a0: SWAP3 000003a1: SWAP1 000003a2: DUP4 000003a3: ADD 000003a4: SWAP2 000003a5: DUP6 000003a6: ADD 000003a7: SWAP1 000003a8: DUP1 000003a9: DUP4 000003aa: DUP4 000003ab: DUP3 000003ac: ISZERO 000003ad: PUSH2 0x0155 000003b0: JUMPI 000003b1: JUMPDEST 000003b2: DUP1 000003b3: MLOAD 000003b4: DUP3 000003b5: MSTORE 000003b6: PUSH1 0x20 000003b8: DUP4 000003b9: GT 000003ba: ISZERO 000003bb: PUSH2 0x0155 000003be: JUMPI 000003bf: PUSH1 0x1f 000003c1: NOT 000003c2: SWAP1 000003c3: SWAP3 000003c4: ADD 000003c5: SWAP2 000003c6: PUSH1 0x20 000003c8: SWAP2 000003c9: DUP3 000003ca: ADD 000003cb: SWAP2 000003cc: ADD 000003cd: PUSH2 0x0135 000003d0: JUMP 000003d1: JUMPDEST 000003d2: POP 000003d3: POP 000003d4: POP 000003d5: SWAP1 000003d6: POP 000003d7: SWAP1 000003d8: DUP2 000003d9: ADD 000003da: SWAP1 000003db: PUSH1 0x1f 000003dd: AND 000003de: DUP1 000003df: ISZERO 000003e0: PUSH2 0x0181 000003e3: JUMPI 000003e4: DUP1 000003e5: DUP3 000003e6: SUB 000003e7: DUP1 000003e8: MLOAD 000003e9: PUSH1 0x01 000003eb: DUP4 000003ec: PUSH1 0x20 000003ee: SUB 000003ef: PUSH2 0x0100 000003f2: EXP 000003f3: SUB 000003f4: NOT 000003f5: AND 000003f6: DUP2 000003f7: MSTORE 000003f8: PUSH1 0x20 000003fa: ADD 000003fb: SWAP2 000003fc: POP 000003fd: JUMPDEST 000003fe: POP 000003ff: SWAP3 00000400: POP 00000401: POP 00000402: POP 00000403: PUSH1 0x40 00000405: MLOAD 00000406: DUP1 00000407: SWAP2 00000408: SUB 00000409: SWAP1 0000040a: RETURN 0000040b: JUMPDEST 0000040c: CALLVALUE 0000040d: ISZERO 0000040e: PUSH2 0x0413 00000411: JUMPI 00000412: INVALID 00000413: JUMPDEST 00000414: PUSH2 0x01ae 00000417: PUSH1 0x01 00000419: PUSH1 0xa0 0000041b: PUSH1 0x02 0000041d: EXP 0000041e: SUB 0000041f: PUSH1 0x04 00000421: CALLDATALOAD 00000422: AND 00000423: PUSH1 0x24 00000425: CALLDATALOAD 00000426: PUSH2 0x0af3 00000429: JUMP 0000042a: JUMPDEST 0000042b: PUSH1 0x40 0000042d: DUP1 0000042e: MLOAD 0000042f: SWAP2 00000430: ISZERO 00000431: ISZERO 00000432: DUP3 00000433: MSTORE 00000434: MLOAD 00000435: SWAP1 00000436: DUP2 00000437: SWAP1 00000438: SUB 00000439: PUSH1 0x20 0000043b: ADD 0000043c: SWAP1 0000043d: RETURN 0000043e: JUMPDEST 0000043f: PUSH2 0x00fd 00000442: PUSH2 0x04c6 00000445: JUMP 00000446: JUMPDEST 00000447: STOP 00000448: JUMPDEST 00000449: CALLVALUE 0000044a: ISZERO 0000044b: PUSH2 0x0450 0000044e: JUMPI 0000044f: INVALID 00000450: JUMPDEST 00000451: PUSH2 0x035f 00000454: PUSH2 0x0b33 00000457: JUMP 00000458: JUMPDEST 00000459: PUSH1 0x40 0000045b: DUP1 0000045c: MLOAD 0000045d: PUSH1 0x01 0000045f: PUSH1 0xa0 00000461: PUSH1 0x02 00000463: EXP 00000464: SUB 00000465: SWAP1 00000466: SWAP3 00000467: AND 00000468: DUP3 00000469: MSTORE 0000046a: MLOAD 0000046b: SWAP1 0000046c: DUP2 0000046d: SWAP1 0000046e: SUB 0000046f: PUSH1 0x20 00000471: ADD 00000472: SWAP1 00000473: RETURN 00000474: JUMPDEST 00000475: CALLVALUE 00000476: ISZERO 00000477: PUSH2 0x047c 0000047a: JUMPI 0000047b: INVALID 0000047c: JUMPDEST 0000047d: PUSH2 0x01d2 00000480: PUSH1 0x01 00000482: PUSH1 0xa0 00000484: PUSH1 0x02 00000486: EXP 00000487: SUB 00000488: PUSH1 0x04 0000048a: CALLDATALOAD 0000048b: DUP2 0000048c: AND 0000048d: SWAP1 0000048e: PUSH1 0x24 00000490: CALLDATALOAD 00000491: AND 00000492: PUSH2 0x0b42 00000495: JUMP 00000496: JUMPDEST 00000497: PUSH1 0x40 00000499: DUP1 0000049a: MLOAD 0000049b: SWAP2 0000049c: DUP3 0000049d: MSTORE 0000049e: MLOAD 0000049f: SWAP1 000004a0: DUP2 000004a1: SWAP1 000004a2: SUB 000004a3: PUSH1 0x20 000004a5: ADD 000004a6: SWAP1 000004a7: RETURN 000004a8: JUMPDEST 000004a9: CALLVALUE 000004aa: ISZERO 000004ab: PUSH2 0x04b0 000004ae: JUMPI 000004af: INVALID 000004b0: JUMPDEST 000004b1: PUSH2 0x00fd 000004b4: PUSH1 0x01 000004b6: PUSH1 0xa0 000004b8: PUSH1 0x02 000004ba: EXP 000004bb: SUB 000004bc: PUSH1 0x04 000004be: CALLDATALOAD 000004bf: AND 000004c0: PUSH2 0x0b5f 000004c3: JUMP 000004c4: JUMPDEST 000004c5: STOP 000004c6: JUMPDEST 000004c7: PUSH1 0x01 000004c9: PUSH1 0xa0 000004cb: PUSH1 0x02 000004cd: EXP 000004ce: SUB 000004cf: CALLER 000004d0: AND 000004d1: PUSH1 0x00 000004d3: SWAP1 000004d4: DUP2 000004d5: MSTORE 000004d6: PUSH1 0x05 000004d8: PUSH1 0x20 000004da: MSTORE 000004db: PUSH1 0x40 000004dd: SWAP1 000004de: KECCAK256 000004df: SLOAD 000004e0: PUSH2 0x04e9 000004e3: SWAP1 000004e4: CALLVALUE 000004e5: PUSH2 0x0bc0 000004e8: JUMP 000004e9: JUMPDEST 000004ea: PUSH1 0x01 000004ec: PUSH1 0xa0 000004ee: PUSH1 0x02 000004f0: EXP 000004f1: SUB 000004f2: CALLER 000004f3: AND 000004f4: PUSH1 0x00 000004f6: SWAP1 000004f7: DUP2 000004f8: MSTORE 000004f9: PUSH1 0x05 000004fb: PUSH1 0x20 000004fd: MSTORE 000004fe: PUSH1 0x40 00000500: SWAP1 00000501: KECCAK256 00000502: SSTORE 00000503: PUSH1 0x04 00000505: SLOAD 00000506: PUSH2 0x050f 00000509: SWAP1 0000050a: CALLVALUE 0000050b: PUSH2 0x0bc0 0000050e: JUMP 0000050f: JUMPDEST 00000510: PUSH1 0x04 00000512: SSTORE 00000513: PUSH1 0x40 00000515: DUP1 00000516: MLOAD 00000517: CALLVALUE 00000518: DUP2 00000519: MSTORE 0000051a: SWAP1 0000051b: MLOAD 0000051c: PUSH32 0x9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc3 0000053d: SWAP2 0000053e: DUP2 0000053f: SWAP1 00000540: SUB 00000541: PUSH1 0x20 00000543: ADD 00000544: SWAP1 00000545: LOG1 00000546: CALLER 00000547: PUSH1 0x01 00000549: PUSH1 0xa0 0000054b: PUSH1 0x02 0000054d: EXP 0000054e: SUB 0000054f: AND 00000550: ADDRESS 00000551: PUSH1 0x01 00000553: PUSH1 0xa0 00000555: PUSH1 0x02 00000557: EXP 00000558: SUB 00000559: AND 0000055a: PUSH1 0x00 0000055c: DUP1 0000055d: MLOAD 0000055e: PUSH1 0x20 00000560: PUSH2 0x0dd6 00000563: DUP4 00000564: CODECOPY 00000565: DUP2 00000566: MLOAD 00000567: SWAP2 00000568: MSTORE 00000569: CALLVALUE 0000056a: PUSH1 0x40 0000056c: MLOAD 0000056d: DUP1 0000056e: DUP3 0000056f: DUP2 00000570: MSTORE 00000571: PUSH1 0x20 00000573: ADD 00000574: SWAP2 00000575: POP 00000576: POP 00000577: PUSH1 0x40 00000579: MLOAD 0000057a: DUP1 0000057b: SWAP2 0000057c: SUB 0000057d: SWAP1 0000057e: LOG3 0000057f: JUMPDEST 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH1 0x01 00000584: DUP1 00000585: SLOAD 00000586: PUSH1 0x40 00000588: DUP1 00000589: MLOAD 0000058a: PUSH1 0x20 0000058c: PUSH1 0x02 0000058e: DUP5 0000058f: DUP7 00000590: AND 00000591: ISZERO 00000592: PUSH2 0x0100 00000595: MUL 00000596: PUSH1 0x00 00000598: NOT 00000599: ADD 0000059a: SWAP1 0000059b: SWAP5 0000059c: AND 0000059d: SWAP4 0000059e: SWAP1 0000059f: SWAP4 000005a0: DIV 000005a1: PUSH1 0x1f 000005a3: DUP2 000005a4: ADD 000005a5: DUP5 000005a6: SWAP1 000005a7: DIV 000005a8: DUP5 000005a9: MUL 000005aa: DUP3 000005ab: ADD 000005ac: DUP5 000005ad: ADD 000005ae: SWAP1 000005af: SWAP3 000005b0: MSTORE 000005b1: DUP2 000005b2: DUP2 000005b3: MSTORE 000005b4: SWAP3 000005b5: SWAP2 000005b6: DUP4 000005b7: ADD 000005b8: DUP3 000005b9: DUP3 000005ba: DUP1 000005bb: ISZERO 000005bc: PUSH2 0x0606 000005bf: JUMPI 000005c0: DUP1 000005c1: PUSH1 0x1f 000005c3: LT 000005c4: PUSH2 0x05db 000005c7: JUMPI 000005c8: PUSH2 0x0100 000005cb: DUP1 000005cc: DUP4 000005cd: SLOAD 000005ce: DIV 000005cf: MUL 000005d0: DUP4 000005d1: MSTORE 000005d2: SWAP2 000005d3: PUSH1 0x20 000005d5: ADD 000005d6: SWAP2 000005d7: PUSH2 0x0606 000005da: JUMP 000005db: JUMPDEST 000005dc: DUP3 000005dd: ADD 000005de: SWAP2 000005df: SWAP1 000005e0: PUSH1 0x00 000005e2: MSTORE 000005e3: PUSH1 0x20 000005e5: PUSH1 0x00 000005e7: KECCAK256 000005e8: SWAP1 000005e9: JUMPDEST 000005ea: DUP2 000005eb: SLOAD 000005ec: DUP2 000005ed: MSTORE 000005ee: SWAP1 000005ef: PUSH1 0x01 000005f1: ADD 000005f2: SWAP1 000005f3: PUSH1 0x20 000005f5: ADD 000005f6: DUP1 000005f7: DUP4 000005f8: GT 000005f9: PUSH2 0x05e9 000005fc: JUMPI 000005fd: DUP3 000005fe: SWAP1 000005ff: SUB 00000600: PUSH1 0x1f 00000602: AND 00000603: DUP3 00000604: ADD 00000605: SWAP2 00000606: JUMPDEST 00000607: POP 00000608: POP 00000609: POP 0000060a: POP 0000060b: POP 0000060c: DUP2 0000060d: JUMP 0000060e: JUMPDEST 0000060f: PUSH1 0x00 00000611: DUP3 00000612: PUSH1 0x01 00000614: PUSH1 0xa0 00000616: PUSH1 0x02 00000618: EXP 00000619: SUB 0000061a: DUP2 0000061b: AND 0000061c: ISZERO 0000061d: ISZERO 0000061e: PUSH2 0x0627 00000621: JUMPI 00000622: PUSH1 0x00 00000624: PUSH1 0x00 00000626: REVERT 00000627: JUMPDEST 00000628: DUP3 00000629: ISZERO 0000062a: DUP1 0000062b: PUSH2 0x0657 0000062e: JUMPI 0000062f: POP 00000630: PUSH1 0x01 00000632: PUSH1 0xa0 00000634: PUSH1 0x02 00000636: EXP 00000637: SUB 00000638: CALLER 00000639: DUP2 0000063a: AND 0000063b: PUSH1 0x00 0000063d: SWAP1 0000063e: DUP2 0000063f: MSTORE 00000640: PUSH1 0x06 00000642: PUSH1 0x20 00000644: SWAP1 00000645: DUP2 00000646: MSTORE 00000647: PUSH1 0x40 00000649: DUP1 0000064a: DUP4 0000064b: KECCAK256 0000064c: SWAP4 0000064d: DUP9 0000064e: AND 0000064f: DUP4 00000650: MSTORE 00000651: SWAP3 00000652: SWAP1 00000653: MSTORE 00000654: KECCAK256 00000655: SLOAD 00000656: ISZERO 00000657: JUMPDEST 00000658: ISZERO 00000659: ISZERO 0000065a: PUSH2 0x0663 0000065d: JUMPI 0000065e: PUSH1 0x00 00000660: PUSH1 0x00 00000662: REVERT 00000663: JUMPDEST 00000664: PUSH1 0x01 00000666: PUSH1 0xa0 00000668: PUSH1 0x02 0000066a: EXP 0000066b: SUB 0000066c: CALLER 0000066d: DUP2 0000066e: AND 0000066f: PUSH1 0x00 00000671: DUP2 00000672: DUP2 00000673: MSTORE 00000674: PUSH1 0x06 00000676: PUSH1 0x20 00000678: SWAP1 00000679: DUP2 0000067a: MSTORE 0000067b: PUSH1 0x40 0000067d: DUP1 0000067e: DUP4 0000067f: KECCAK256 00000680: SWAP5 00000681: DUP10 00000682: AND 00000683: DUP1 00000684: DUP5 00000685: MSTORE 00000686: SWAP5 00000687: DUP3 00000688: MSTORE 00000689: SWAP2 0000068a: DUP3 0000068b: SWAP1 0000068c: KECCAK256 0000068d: DUP8 0000068e: SWAP1 0000068f: SSTORE 00000690: DUP2 00000691: MLOAD 00000692: DUP8 00000693: DUP2 00000694: MSTORE 00000695: SWAP2 00000696: MLOAD 00000697: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000006b8: SWAP3 000006b9: DUP2 000006ba: SWAP1 000006bb: SUB 000006bc: SWAP1 000006bd: SWAP2 000006be: ADD 000006bf: SWAP1 000006c0: LOG3 000006c1: PUSH1 0x01 000006c3: SWAP2 000006c4: POP 000006c5: JUMPDEST 000006c6: JUMPDEST 000006c7: POP 000006c8: SWAP3 000006c9: SWAP2 000006ca: POP 000006cb: POP 000006cc: JUMP 000006cd: JUMPDEST 000006ce: PUSH1 0x04 000006d0: SLOAD 000006d1: DUP2 000006d2: JUMP 000006d3: JUMPDEST 000006d4: PUSH1 0x00 000006d6: ADDRESS 000006d7: PUSH1 0x01 000006d9: PUSH1 0xa0 000006db: PUSH1 0x02 000006dd: EXP 000006de: SUB 000006df: AND 000006e0: DUP4 000006e1: PUSH1 0x01 000006e3: PUSH1 0xa0 000006e5: PUSH1 0x02 000006e7: EXP 000006e8: SUB 000006e9: AND 000006ea: EQ 000006eb: ISZERO 000006ec: ISZERO 000006ed: ISZERO 000006ee: PUSH2 0x06f7 000006f1: JUMPI 000006f2: PUSH1 0x00 000006f4: PUSH1 0x00 000006f6: REVERT 000006f7: JUMPDEST 000006f8: PUSH2 0x0702 000006fb: DUP5 000006fc: DUP5 000006fd: DUP5 000006fe: PUSH2 0x0bda 00000701: JUMP 00000702: JUMPDEST 00000703: ISZERO 00000704: ISZERO 00000705: PUSH2 0x070a 00000708: JUMPI 00000709: INVALID 0000070a: JUMPDEST 0000070b: POP 0000070c: PUSH1 0x01 0000070e: JUMPDEST 0000070f: SWAP4 00000710: SWAP3 00000711: POP 00000712: POP 00000713: POP 00000714: JUMP 00000715: JUMPDEST 00000716: PUSH1 0x01 00000718: PUSH1 0xa0 0000071a: PUSH1 0x02 0000071c: EXP 0000071d: SUB 0000071e: CALLER 0000071f: AND 00000720: PUSH1 0x00 00000722: SWAP1 00000723: DUP2 00000724: MSTORE 00000725: PUSH1 0x05 00000727: PUSH1 0x20 00000729: MSTORE 0000072a: PUSH1 0x40 0000072c: SWAP1 0000072d: KECCAK256 0000072e: SLOAD 0000072f: PUSH2 0x0738 00000732: SWAP1 00000733: DUP3 00000734: PUSH2 0x0d00 00000737: JUMP 00000738: JUMPDEST 00000739: PUSH1 0x01 0000073b: PUSH1 0xa0 0000073d: PUSH1 0x02 0000073f: EXP 00000740: SUB 00000741: CALLER 00000742: AND 00000743: PUSH1 0x00 00000745: SWAP1 00000746: DUP2 00000747: MSTORE 00000748: PUSH1 0x05 0000074a: PUSH1 0x20 0000074c: MSTORE 0000074d: PUSH1 0x40 0000074f: SWAP1 00000750: KECCAK256 00000751: SSTORE 00000752: PUSH1 0x04 00000754: SLOAD 00000755: PUSH2 0x075e 00000758: SWAP1 00000759: DUP3 0000075a: PUSH2 0x0d00 0000075d: JUMP 0000075e: JUMPDEST 0000075f: PUSH1 0x04 00000761: SSTORE 00000762: PUSH1 0x40 00000764: MLOAD 00000765: PUSH1 0x01 00000767: PUSH1 0xa0 00000769: PUSH1 0x02 0000076b: EXP 0000076c: SUB 0000076d: CALLER 0000076e: AND 0000076f: SWAP1 00000770: DUP3 00000771: ISZERO 00000772: PUSH2 0x08fc 00000775: MUL 00000776: SWAP1 00000777: DUP4 00000778: SWAP1 00000779: PUSH1 0x00 0000077b: DUP2 0000077c: DUP2 0000077d: DUP2 0000077e: DUP6 0000077f: DUP9 00000780: DUP9 00000781: CALL 00000782: SWAP4 00000783: POP 00000784: POP 00000785: POP 00000786: POP 00000787: ISZERO 00000788: ISZERO 00000789: PUSH2 0x078e 0000078c: JUMPI 0000078d: INVALID 0000078e: JUMPDEST 0000078f: ADDRESS 00000790: PUSH1 0x01 00000792: PUSH1 0xa0 00000794: PUSH1 0x02 00000796: EXP 00000797: SUB 00000798: AND 00000799: CALLER 0000079a: PUSH1 0x01 0000079c: PUSH1 0xa0 0000079e: PUSH1 0x02 000007a0: EXP 000007a1: SUB 000007a2: AND 000007a3: PUSH1 0x00 000007a5: DUP1 000007a6: MLOAD 000007a7: PUSH1 0x20 000007a9: PUSH2 0x0dd6 000007ac: DUP4 000007ad: CODECOPY 000007ae: DUP2 000007af: MLOAD 000007b0: SWAP2 000007b1: MSTORE 000007b2: DUP4 000007b3: PUSH1 0x40 000007b5: MLOAD 000007b6: DUP1 000007b7: DUP3 000007b8: DUP2 000007b9: MSTORE 000007ba: PUSH1 0x20 000007bc: ADD 000007bd: SWAP2 000007be: POP 000007bf: POP 000007c0: PUSH1 0x40 000007c2: MLOAD 000007c3: DUP1 000007c4: SWAP2 000007c5: SUB 000007c6: SWAP1 000007c7: LOG3 000007c8: PUSH1 0x40 000007ca: DUP1 000007cb: MLOAD 000007cc: DUP3 000007cd: DUP2 000007ce: MSTORE 000007cf: SWAP1 000007d0: MLOAD 000007d1: PUSH32 0x9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd3453 000007f2: SWAP2 000007f3: DUP2 000007f4: SWAP1 000007f5: SUB 000007f6: PUSH1 0x20 000007f8: ADD 000007f9: SWAP1 000007fa: LOG1 000007fb: JUMPDEST 000007fc: POP 000007fd: JUMP 000007fe: JUMPDEST 000007ff: PUSH1 0x03 00000801: SLOAD 00000802: PUSH1 0xff 00000804: AND 00000805: DUP2 00000806: JUMP 00000807: JUMPDEST 00000808: PUSH1 0x00 0000080a: DUP1 0000080b: SLOAD 0000080c: PUSH1 0x40 0000080e: DUP1 0000080f: MLOAD 00000810: PUSH1 0x20 00000812: PUSH1 0x02 00000814: PUSH1 0x01 00000816: DUP6 00000817: AND 00000818: ISZERO 00000819: PUSH2 0x0100 0000081c: MUL 0000081d: PUSH1 0x00 0000081f: NOT 00000820: ADD 00000821: SWAP1 00000822: SWAP5 00000823: AND 00000824: SWAP4 00000825: SWAP1 00000826: SWAP4 00000827: DIV 00000828: PUSH1 0x1f 0000082a: DUP2 0000082b: ADD 0000082c: DUP5 0000082d: SWAP1 0000082e: DIV 0000082f: DUP5 00000830: MUL 00000831: DUP3 00000832: ADD 00000833: DUP5 00000834: ADD 00000835: SWAP1 00000836: SWAP3 00000837: MSTORE 00000838: DUP2 00000839: DUP2 0000083a: MSTORE 0000083b: SWAP3 0000083c: SWAP2 0000083d: DUP4 0000083e: ADD 0000083f: DUP3 00000840: DUP3 00000841: DUP1 00000842: ISZERO 00000843: PUSH2 0x0606 00000846: JUMPI 00000847: DUP1 00000848: PUSH1 0x1f 0000084a: LT 0000084b: PUSH2 0x05db 0000084e: JUMPI 0000084f: PUSH2 0x0100 00000852: DUP1 00000853: DUP4 00000854: SLOAD 00000855: DIV 00000856: MUL 00000857: DUP4 00000858: MSTORE 00000859: SWAP2 0000085a: PUSH1 0x20 0000085c: ADD 0000085d: SWAP2 0000085e: PUSH2 0x0606 00000861: JUMP 00000862: JUMPDEST 00000863: DUP3 00000864: ADD 00000865: SWAP2 00000866: SWAP1 00000867: PUSH1 0x00 00000869: MSTORE 0000086a: PUSH1 0x20 0000086c: PUSH1 0x00 0000086e: KECCAK256 0000086f: SWAP1 00000870: JUMPDEST 00000871: DUP2 00000872: SLOAD 00000873: DUP2 00000874: MSTORE 00000875: SWAP1 00000876: PUSH1 0x01 00000878: ADD 00000879: SWAP1 0000087a: PUSH1 0x20 0000087c: ADD 0000087d: DUP1 0000087e: DUP4 0000087f: GT 00000880: PUSH2 0x05e9 00000883: JUMPI 00000884: DUP3 00000885: SWAP1 00000886: SUB 00000887: PUSH1 0x1f 00000889: AND 0000088a: DUP3 0000088b: ADD 0000088c: SWAP2 0000088d: JUMPDEST 0000088e: POP 0000088f: POP 00000890: POP 00000891: POP 00000892: POP 00000893: DUP2 00000894: JUMP 00000895: JUMPDEST 00000896: PUSH1 0x07 00000898: SLOAD 00000899: CALLER 0000089a: PUSH1 0x01 0000089c: PUSH1 0xa0 0000089e: PUSH1 0x02 000008a0: EXP 000008a1: SUB 000008a2: SWAP1 000008a3: DUP2 000008a4: AND 000008a5: SWAP2 000008a6: AND 000008a7: EQ 000008a8: PUSH2 0x08ad 000008ab: JUMPI 000008ac: INVALID 000008ad: JUMPDEST 000008ae: DUP3 000008af: PUSH1 0x01 000008b1: PUSH1 0xa0 000008b3: PUSH1 0x02 000008b5: EXP 000008b6: SUB 000008b7: DUP2 000008b8: AND 000008b9: ISZERO 000008ba: ISZERO 000008bb: PUSH2 0x08c4 000008be: JUMPI 000008bf: PUSH1 0x00 000008c1: PUSH1 0x00 000008c3: REVERT 000008c4: JUMPDEST 000008c5: DUP3 000008c6: PUSH1 0x01 000008c8: PUSH1 0xa0 000008ca: PUSH1 0x02 000008cc: EXP 000008cd: SUB 000008ce: DUP2 000008cf: AND 000008d0: ISZERO 000008d1: ISZERO 000008d2: PUSH2 0x08db 000008d5: JUMPI 000008d6: PUSH1 0x00 000008d8: PUSH1 0x00 000008da: REVERT 000008db: JUMPDEST 000008dc: DUP4 000008dd: ADDRESS 000008de: PUSH1 0x01 000008e0: PUSH1 0xa0 000008e2: PUSH1 0x02 000008e4: EXP 000008e5: SUB 000008e6: AND 000008e7: DUP2 000008e8: PUSH1 0x01 000008ea: PUSH1 0xa0 000008ec: PUSH1 0x02 000008ee: EXP 000008ef: SUB 000008f0: AND 000008f1: EQ 000008f2: ISZERO 000008f3: ISZERO 000008f4: ISZERO 000008f5: PUSH2 0x08fe 000008f8: JUMPI 000008f9: PUSH1 0x00 000008fb: PUSH1 0x00 000008fd: REVERT 000008fe: JUMPDEST 000008ff: DUP6 00000900: PUSH1 0x01 00000902: PUSH1 0xa0 00000904: PUSH1 0x02 00000906: EXP 00000907: SUB 00000908: AND 00000909: PUSH4 0xa9059cbb 0000090e: DUP7 0000090f: DUP7 00000910: PUSH1 0x00 00000912: PUSH1 0x40 00000914: MLOAD 00000915: PUSH1 0x20 00000917: ADD 00000918: MSTORE 00000919: PUSH1 0x40 0000091b: MLOAD 0000091c: DUP4 0000091d: PUSH4 0xffffffff 00000922: AND 00000923: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000941: MUL 00000942: DUP2 00000943: MSTORE 00000944: PUSH1 0x04 00000946: ADD 00000947: DUP1 00000948: DUP4 00000949: PUSH1 0x01 0000094b: PUSH1 0xa0 0000094d: PUSH1 0x02 0000094f: EXP 00000950: SUB 00000951: AND 00000952: PUSH1 0x01 00000954: PUSH1 0xa0 00000956: PUSH1 0x02 00000958: EXP 00000959: SUB 0000095a: AND 0000095b: DUP2 0000095c: MSTORE 0000095d: PUSH1 0x20 0000095f: ADD 00000960: DUP3 00000961: DUP2 00000962: MSTORE 00000963: PUSH1 0x20 00000965: ADD 00000966: SWAP3 00000967: POP 00000968: POP 00000969: POP 0000096a: PUSH1 0x20 0000096c: PUSH1 0x40 0000096e: MLOAD 0000096f: DUP1 00000970: DUP4 00000971: SUB 00000972: DUP2 00000973: PUSH1 0x00 00000975: DUP8 00000976: DUP1 00000977: EXTCODESIZE 00000978: ISZERO 00000979: ISZERO 0000097a: PUSH2 0x097f 0000097d: JUMPI 0000097e: INVALID 0000097f: JUMPDEST 00000980: PUSH2 0x02c6 00000983: GAS 00000984: SUB 00000985: CALL 00000986: ISZERO 00000987: ISZERO 00000988: PUSH2 0x098d 0000098b: JUMPI 0000098c: INVALID 0000098d: JUMPDEST 0000098e: POP 0000098f: POP 00000990: PUSH1 0x40 00000992: MLOAD 00000993: MLOAD 00000994: ISZERO 00000995: ISZERO 00000996: SWAP1 00000997: POP 00000998: PUSH2 0x099d 0000099b: JUMPI 0000099c: INVALID 0000099d: JUMPDEST 0000099e: JUMPDEST 0000099f: JUMPDEST 000009a0: POP 000009a1: JUMPDEST 000009a2: POP 000009a3: JUMPDEST 000009a4: POP 000009a5: JUMPDEST 000009a6: POP 000009a7: POP 000009a8: POP 000009a9: JUMP 000009aa: JUMPDEST 000009ab: PUSH1 0x05 000009ad: PUSH1 0x20 000009af: MSTORE 000009b0: PUSH1 0x00 000009b2: SWAP1 000009b3: DUP2 000009b4: MSTORE 000009b5: PUSH1 0x40 000009b7: SWAP1 000009b8: KECCAK256 000009b9: SLOAD 000009ba: DUP2 000009bb: JUMP 000009bc: JUMPDEST 000009bd: PUSH1 0x08 000009bf: SLOAD 000009c0: CALLER 000009c1: PUSH1 0x01 000009c3: PUSH1 0xa0 000009c5: PUSH1 0x02 000009c7: EXP 000009c8: SUB 000009c9: SWAP1 000009ca: DUP2 000009cb: AND 000009cc: SWAP2 000009cd: AND 000009ce: EQ 000009cf: PUSH2 0x09d8 000009d2: JUMPI 000009d3: PUSH1 0x00 000009d5: PUSH1 0x00 000009d7: REVERT 000009d8: JUMPDEST 000009d9: PUSH1 0x07 000009db: SLOAD 000009dc: PUSH1 0x08 000009de: SLOAD 000009df: PUSH1 0x40 000009e1: DUP1 000009e2: MLOAD 000009e3: PUSH1 0x01 000009e5: PUSH1 0xa0 000009e7: PUSH1 0x02 000009e9: EXP 000009ea: SUB 000009eb: SWAP4 000009ec: DUP5 000009ed: AND 000009ee: DUP2 000009ef: MSTORE 000009f0: SWAP3 000009f1: SWAP1 000009f2: SWAP2 000009f3: AND 000009f4: PUSH1 0x20 000009f6: DUP4 000009f7: ADD 000009f8: MSTORE 000009f9: DUP1 000009fa: MLOAD 000009fb: PUSH32 0x343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a 00000a1c: SWAP3 00000a1d: DUP2 00000a1e: SWAP1 00000a1f: SUB 00000a20: SWAP1 00000a21: SWAP2 00000a22: ADD 00000a23: SWAP1 00000a24: LOG1 00000a25: PUSH1 0x08 00000a27: DUP1 00000a28: SLOAD 00000a29: PUSH1 0x07 00000a2b: DUP1 00000a2c: SLOAD 00000a2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a42: NOT 00000a43: SWAP1 00000a44: DUP2 00000a45: AND 00000a46: PUSH1 0x01 00000a48: PUSH1 0xa0 00000a4a: PUSH1 0x02 00000a4c: EXP 00000a4d: SUB 00000a4e: DUP5 00000a4f: AND 00000a50: OR 00000a51: SWAP1 00000a52: SWAP2 00000a53: SSTORE 00000a54: AND 00000a55: SWAP1 00000a56: SSTORE 00000a57: JUMPDEST 00000a58: JUMP 00000a59: JUMPDEST 00000a5a: PUSH1 0x07 00000a5c: SLOAD 00000a5d: PUSH1 0x01 00000a5f: PUSH1 0xa0 00000a61: PUSH1 0x02 00000a63: EXP 00000a64: SUB 00000a65: AND 00000a66: DUP2 00000a67: JUMP 00000a68: JUMPDEST 00000a69: PUSH1 0x02 00000a6b: DUP1 00000a6c: SLOAD 00000a6d: PUSH1 0x40 00000a6f: DUP1 00000a70: MLOAD 00000a71: PUSH1 0x20 00000a73: PUSH1 0x01 00000a75: DUP5 00000a76: AND 00000a77: ISZERO 00000a78: PUSH2 0x0100 00000a7b: MUL 00000a7c: PUSH1 0x00 00000a7e: NOT 00000a7f: ADD 00000a80: SWAP1 00000a81: SWAP4 00000a82: AND 00000a83: DUP5 00000a84: SWAP1 00000a85: DIV 00000a86: PUSH1 0x1f 00000a88: DUP2 00000a89: ADD 00000a8a: DUP5 00000a8b: SWAP1 00000a8c: DIV 00000a8d: DUP5 00000a8e: MUL 00000a8f: DUP3 00000a90: ADD 00000a91: DUP5 00000a92: ADD 00000a93: SWAP1 00000a94: SWAP3 00000a95: MSTORE 00000a96: DUP2 00000a97: DUP2 00000a98: MSTORE 00000a99: SWAP3 00000a9a: SWAP2 00000a9b: DUP4 00000a9c: ADD 00000a9d: DUP3 00000a9e: DUP3 00000a9f: DUP1 00000aa0: ISZERO 00000aa1: PUSH2 0x0606 00000aa4: JUMPI 00000aa5: DUP1 00000aa6: PUSH1 0x1f 00000aa8: LT 00000aa9: PUSH2 0x05db 00000aac: JUMPI 00000aad: PUSH2 0x0100 00000ab0: DUP1 00000ab1: DUP4 00000ab2: SLOAD 00000ab3: DIV 00000ab4: MUL 00000ab5: DUP4 00000ab6: MSTORE 00000ab7: SWAP2 00000ab8: PUSH1 0x20 00000aba: ADD 00000abb: SWAP2 00000abc: PUSH2 0x0606 00000abf: JUMP 00000ac0: JUMPDEST 00000ac1: DUP3 00000ac2: ADD 00000ac3: SWAP2 00000ac4: SWAP1 00000ac5: PUSH1 0x00 00000ac7: MSTORE 00000ac8: PUSH1 0x20 00000aca: PUSH1 0x00 00000acc: KECCAK256 00000acd: SWAP1 00000ace: JUMPDEST 00000acf: DUP2 00000ad0: SLOAD 00000ad1: DUP2 00000ad2: MSTORE 00000ad3: SWAP1 00000ad4: PUSH1 0x01 00000ad6: ADD 00000ad7: SWAP1 00000ad8: PUSH1 0x20 00000ada: ADD 00000adb: DUP1 00000adc: DUP4 00000add: GT 00000ade: PUSH2 0x05e9 00000ae1: JUMPI 00000ae2: DUP3 00000ae3: SWAP1 00000ae4: SUB 00000ae5: PUSH1 0x1f 00000ae7: AND 00000ae8: DUP3 00000ae9: ADD 00000aea: SWAP2 00000aeb: JUMPDEST 00000aec: POP 00000aed: POP 00000aee: POP 00000aef: POP 00000af0: POP 00000af1: DUP2 00000af2: JUMP 00000af3: JUMPDEST 00000af4: PUSH1 0x00 00000af6: ADDRESS 00000af7: PUSH1 0x01 00000af9: PUSH1 0xa0 00000afb: PUSH1 0x02 00000afd: EXP 00000afe: SUB 00000aff: AND 00000b00: DUP4 00000b01: PUSH1 0x01 00000b03: PUSH1 0xa0 00000b05: PUSH1 0x02 00000b07: EXP 00000b08: SUB 00000b09: AND 00000b0a: EQ 00000b0b: ISZERO 00000b0c: ISZERO 00000b0d: ISZERO 00000b0e: PUSH2 0x0b17 00000b11: JUMPI 00000b12: PUSH1 0x00 00000b14: PUSH1 0x00 00000b16: REVERT 00000b17: JUMPDEST 00000b18: PUSH2 0x0b21 00000b1b: DUP4 00000b1c: DUP4 00000b1d: PUSH2 0x0d17 00000b20: JUMP 00000b21: JUMPDEST 00000b22: ISZERO 00000b23: ISZERO 00000b24: PUSH2 0x0b29 00000b27: JUMPI 00000b28: INVALID 00000b29: JUMPDEST 00000b2a: POP 00000b2b: PUSH1 0x01 00000b2d: JUMPDEST 00000b2e: SWAP3 00000b2f: SWAP2 00000b30: POP 00000b31: POP 00000b32: JUMP 00000b33: JUMPDEST 00000b34: PUSH1 0x08 00000b36: SLOAD 00000b37: PUSH1 0x01 00000b39: PUSH1 0xa0 00000b3b: PUSH1 0x02 00000b3d: EXP 00000b3e: SUB 00000b3f: AND 00000b40: DUP2 00000b41: JUMP 00000b42: JUMPDEST 00000b43: PUSH1 0x06 00000b45: PUSH1 0x20 00000b47: SWAP1 00000b48: DUP2 00000b49: MSTORE 00000b4a: PUSH1 0x00 00000b4c: SWAP3 00000b4d: DUP4 00000b4e: MSTORE 00000b4f: PUSH1 0x40 00000b51: DUP1 00000b52: DUP5 00000b53: KECCAK256 00000b54: SWAP1 00000b55: SWAP2 00000b56: MSTORE 00000b57: SWAP1 00000b58: DUP3 00000b59: MSTORE 00000b5a: SWAP1 00000b5b: KECCAK256 00000b5c: SLOAD 00000b5d: DUP2 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: PUSH1 0x07 00000b62: SLOAD 00000b63: CALLER 00000b64: PUSH1 0x01 00000b66: PUSH1 0xa0 00000b68: PUSH1 0x02 00000b6a: EXP 00000b6b: SUB 00000b6c: SWAP1 00000b6d: DUP2 00000b6e: AND 00000b6f: SWAP2 00000b70: AND 00000b71: EQ 00000b72: PUSH2 0x0b77 00000b75: JUMPI 00000b76: INVALID 00000b77: JUMPDEST 00000b78: PUSH1 0x07 00000b7a: SLOAD 00000b7b: PUSH1 0x01 00000b7d: PUSH1 0xa0 00000b7f: PUSH1 0x02 00000b81: EXP 00000b82: SUB 00000b83: DUP3 00000b84: DUP2 00000b85: AND 00000b86: SWAP2 00000b87: AND 00000b88: EQ 00000b89: ISZERO 00000b8a: PUSH2 0x0b93 00000b8d: JUMPI 00000b8e: PUSH1 0x00 00000b90: PUSH1 0x00 00000b92: REVERT 00000b93: JUMPDEST 00000b94: PUSH1 0x08 00000b96: DUP1 00000b97: SLOAD 00000b98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bad: NOT 00000bae: AND 00000baf: PUSH1 0x01 00000bb1: PUSH1 0xa0 00000bb3: PUSH1 0x02 00000bb5: EXP 00000bb6: SUB 00000bb7: DUP4 00000bb8: AND 00000bb9: OR 00000bba: SWAP1 00000bbb: SSTORE 00000bbc: JUMPDEST 00000bbd: JUMPDEST 00000bbe: POP 00000bbf: JUMP 00000bc0: JUMPDEST 00000bc1: PUSH1 0x00 00000bc3: DUP3 00000bc4: DUP3 00000bc5: ADD 00000bc6: DUP4 00000bc7: DUP2 00000bc8: LT 00000bc9: ISZERO 00000bca: PUSH2 0x0bcf 00000bcd: JUMPI 00000bce: INVALID 00000bcf: JUMPDEST 00000bd0: DUP1 00000bd1: SWAP2 00000bd2: POP 00000bd3: JUMPDEST 00000bd4: POP 00000bd5: SWAP3 00000bd6: SWAP2 00000bd7: POP 00000bd8: POP 00000bd9: JUMP 00000bda: JUMPDEST 00000bdb: PUSH1 0x00 00000bdd: DUP4 00000bde: PUSH1 0x01 00000be0: PUSH1 0xa0 00000be2: PUSH1 0x02 00000be4: EXP 00000be5: SUB 00000be6: DUP2 00000be7: AND 00000be8: ISZERO 00000be9: ISZERO 00000bea: PUSH2 0x0bf3 00000bed: JUMPI 00000bee: PUSH1 0x00 00000bf0: PUSH1 0x00 00000bf2: REVERT 00000bf3: JUMPDEST 00000bf4: DUP4 00000bf5: PUSH1 0x01 00000bf7: PUSH1 0xa0 00000bf9: PUSH1 0x02 00000bfb: EXP 00000bfc: SUB 00000bfd: DUP2 00000bfe: AND 00000bff: ISZERO 00000c00: ISZERO 00000c01: PUSH2 0x0c0a 00000c04: JUMPI 00000c05: PUSH1 0x00 00000c07: PUSH1 0x00 00000c09: REVERT 00000c0a: JUMPDEST 00000c0b: PUSH1 0x01 00000c0d: PUSH1 0xa0 00000c0f: PUSH1 0x02 00000c11: EXP 00000c12: SUB 00000c13: DUP1 00000c14: DUP8 00000c15: AND 00000c16: PUSH1 0x00 00000c18: SWAP1 00000c19: DUP2 00000c1a: MSTORE 00000c1b: PUSH1 0x06 00000c1d: PUSH1 0x20 00000c1f: SWAP1 00000c20: DUP2 00000c21: MSTORE 00000c22: PUSH1 0x40 00000c24: DUP1 00000c25: DUP4 00000c26: KECCAK256 00000c27: CALLER 00000c28: SWAP1 00000c29: SWAP5 00000c2a: AND 00000c2b: DUP4 00000c2c: MSTORE 00000c2d: SWAP3 00000c2e: SWAP1 00000c2f: MSTORE 00000c30: KECCAK256 00000c31: SLOAD 00000c32: PUSH2 0x0c3b 00000c35: SWAP1 00000c36: DUP6 00000c37: PUSH2 0x0d00 00000c3a: JUMP 00000c3b: JUMPDEST 00000c3c: PUSH1 0x01 00000c3e: PUSH1 0xa0 00000c40: PUSH1 0x02 00000c42: EXP 00000c43: SUB 00000c44: DUP1 00000c45: DUP9 00000c46: AND 00000c47: PUSH1 0x00 00000c49: DUP2 00000c4a: DUP2 00000c4b: MSTORE 00000c4c: PUSH1 0x06 00000c4e: PUSH1 0x20 00000c50: SWAP1 00000c51: DUP2 00000c52: MSTORE 00000c53: PUSH1 0x40 00000c55: DUP1 00000c56: DUP4 00000c57: KECCAK256 00000c58: CALLER 00000c59: SWAP1 00000c5a: SWAP6 00000c5b: AND 00000c5c: DUP4 00000c5d: MSTORE 00000c5e: SWAP4 00000c5f: DUP2 00000c60: MSTORE 00000c61: DUP4 00000c62: DUP3 00000c63: KECCAK256 00000c64: SWAP5 00000c65: SWAP1 00000c66: SWAP5 00000c67: SSTORE 00000c68: SWAP1 00000c69: DUP2 00000c6a: MSTORE 00000c6b: PUSH1 0x05 00000c6d: SWAP1 00000c6e: SWAP3 00000c6f: MSTORE 00000c70: SWAP1 00000c71: KECCAK256 00000c72: SLOAD 00000c73: PUSH2 0x0c7c 00000c76: SWAP1 00000c77: DUP6 00000c78: PUSH2 0x0d00 00000c7b: JUMP 00000c7c: JUMPDEST 00000c7d: PUSH1 0x01 00000c7f: PUSH1 0xa0 00000c81: PUSH1 0x02 00000c83: EXP 00000c84: SUB 00000c85: DUP1 00000c86: DUP9 00000c87: AND 00000c88: PUSH1 0x00 00000c8a: SWAP1 00000c8b: DUP2 00000c8c: MSTORE 00000c8d: PUSH1 0x05 00000c8f: PUSH1 0x20 00000c91: MSTORE 00000c92: PUSH1 0x40 00000c94: DUP1 00000c95: DUP3 00000c96: KECCAK256 00000c97: SWAP4 00000c98: SWAP1 00000c99: SWAP4 00000c9a: SSTORE 00000c9b: SWAP1 00000c9c: DUP8 00000c9d: AND 00000c9e: DUP2 00000c9f: MSTORE 00000ca0: KECCAK256 00000ca1: SLOAD 00000ca2: PUSH2 0x0cab 00000ca5: SWAP1 00000ca6: DUP6 00000ca7: PUSH2 0x0bc0 00000caa: JUMP 00000cab: JUMPDEST 00000cac: PUSH1 0x01 00000cae: PUSH1 0xa0 00000cb0: PUSH1 0x02 00000cb2: EXP 00000cb3: SUB 00000cb4: DUP1 00000cb5: DUP8 00000cb6: AND 00000cb7: PUSH1 0x00 00000cb9: DUP2 00000cba: DUP2 00000cbb: MSTORE 00000cbc: PUSH1 0x05 00000cbe: PUSH1 0x20 00000cc0: SWAP1 00000cc1: DUP2 00000cc2: MSTORE 00000cc3: PUSH1 0x40 00000cc5: SWAP2 00000cc6: DUP3 00000cc7: SWAP1 00000cc8: KECCAK256 00000cc9: SWAP5 00000cca: SWAP1 00000ccb: SWAP5 00000ccc: SSTORE 00000ccd: DUP1 00000cce: MLOAD 00000ccf: DUP9 00000cd0: DUP2 00000cd1: MSTORE 00000cd2: SWAP1 00000cd3: MLOAD 00000cd4: SWAP2 00000cd5: SWAP4 00000cd6: SWAP3 00000cd7: DUP11 00000cd8: AND 00000cd9: SWAP3 00000cda: PUSH1 0x00 00000cdc: DUP1 00000cdd: MLOAD 00000cde: PUSH1 0x20 00000ce0: PUSH2 0x0dd6 00000ce3: DUP4 00000ce4: CODECOPY 00000ce5: DUP2 00000ce6: MLOAD 00000ce7: SWAP2 00000ce8: MSTORE 00000ce9: SWAP3 00000cea: SWAP2 00000ceb: DUP3 00000cec: SWAP1 00000ced: SUB 00000cee: ADD 00000cef: SWAP1 00000cf0: LOG3 00000cf1: PUSH1 0x01 00000cf3: SWAP3 00000cf4: POP 00000cf5: JUMPDEST 00000cf6: JUMPDEST 00000cf7: POP 00000cf8: JUMPDEST 00000cf9: POP 00000cfa: SWAP4 00000cfb: SWAP3 00000cfc: POP 00000cfd: POP 00000cfe: POP 00000cff: JUMP 00000d00: JUMPDEST 00000d01: PUSH1 0x00 00000d03: DUP2 00000d04: DUP4 00000d05: LT 00000d06: ISZERO 00000d07: PUSH2 0x0d0c 00000d0a: JUMPI 00000d0b: INVALID 00000d0c: JUMPDEST 00000d0d: POP 00000d0e: DUP1 00000d0f: DUP3 00000d10: SUB 00000d11: JUMPDEST 00000d12: SWAP3 00000d13: SWAP2 00000d14: POP 00000d15: POP 00000d16: JUMP 00000d17: JUMPDEST 00000d18: PUSH1 0x00 00000d1a: DUP3 00000d1b: PUSH1 0x01 00000d1d: PUSH1 0xa0 00000d1f: PUSH1 0x02 00000d21: EXP 00000d22: SUB 00000d23: DUP2 00000d24: AND 00000d25: ISZERO 00000d26: ISZERO 00000d27: PUSH2 0x0d30 00000d2a: JUMPI 00000d2b: PUSH1 0x00 00000d2d: PUSH1 0x00 00000d2f: REVERT 00000d30: JUMPDEST 00000d31: PUSH1 0x01 00000d33: PUSH1 0xa0 00000d35: PUSH1 0x02 00000d37: EXP 00000d38: SUB 00000d39: CALLER 00000d3a: AND 00000d3b: PUSH1 0x00 00000d3d: SWAP1 00000d3e: DUP2 00000d3f: MSTORE 00000d40: PUSH1 0x05 00000d42: PUSH1 0x20 00000d44: MSTORE 00000d45: PUSH1 0x40 00000d47: SWAP1 00000d48: KECCAK256 00000d49: SLOAD 00000d4a: PUSH2 0x0d53 00000d4d: SWAP1 00000d4e: DUP5 00000d4f: PUSH2 0x0d00 00000d52: JUMP 00000d53: JUMPDEST 00000d54: PUSH1 0x01 00000d56: PUSH1 0xa0 00000d58: PUSH1 0x02 00000d5a: EXP 00000d5b: SUB 00000d5c: CALLER 00000d5d: DUP2 00000d5e: AND 00000d5f: PUSH1 0x00 00000d61: SWAP1 00000d62: DUP2 00000d63: MSTORE 00000d64: PUSH1 0x05 00000d66: PUSH1 0x20 00000d68: MSTORE 00000d69: PUSH1 0x40 00000d6b: DUP1 00000d6c: DUP3 00000d6d: KECCAK256 00000d6e: SWAP4 00000d6f: SWAP1 00000d70: SWAP4 00000d71: SSTORE 00000d72: SWAP1 00000d73: DUP7 00000d74: AND 00000d75: DUP2 00000d76: MSTORE 00000d77: KECCAK256 00000d78: SLOAD 00000d79: PUSH2 0x0d82 00000d7c: SWAP1 00000d7d: DUP5 00000d7e: PUSH2 0x0bc0 00000d81: JUMP 00000d82: JUMPDEST 00000d83: PUSH1 0x01 00000d85: PUSH1 0xa0 00000d87: PUSH1 0x02 00000d89: EXP 00000d8a: SUB 00000d8b: DUP1 00000d8c: DUP7 00000d8d: AND 00000d8e: PUSH1 0x00 00000d90: DUP2 00000d91: DUP2 00000d92: MSTORE 00000d93: PUSH1 0x05 00000d95: PUSH1 0x20 00000d97: SWAP1 00000d98: DUP2 00000d99: MSTORE 00000d9a: PUSH1 0x40 00000d9c: SWAP2 00000d9d: DUP3 00000d9e: SWAP1 00000d9f: KECCAK256 00000da0: SWAP5 00000da1: SWAP1 00000da2: SWAP5 00000da3: SSTORE 00000da4: DUP1 00000da5: MLOAD 00000da6: DUP8 00000da7: DUP2 00000da8: MSTORE 00000da9: SWAP1 00000daa: MLOAD 00000dab: SWAP2 00000dac: SWAP4 00000dad: CALLER 00000dae: SWAP1 00000daf: SWAP4 00000db0: AND 00000db1: SWAP3 00000db2: PUSH1 0x00 00000db4: DUP1 00000db5: MLOAD 00000db6: PUSH1 0x20 00000db8: PUSH2 0x0dd6 00000dbb: DUP4 00000dbc: CODECOPY 00000dbd: DUP2 00000dbe: MLOAD 00000dbf: SWAP2 00000dc0: MSTORE 00000dc1: SWAP3 00000dc2: SWAP2 00000dc3: DUP3 00000dc4: SWAP1 00000dc5: SUB 00000dc6: ADD 00000dc7: SWAP1 00000dc8: LOG3 00000dc9: PUSH1 0x01 00000dcb: SWAP2 00000dcc: POP 00000dcd: JUMPDEST 00000dce: JUMPDEST 00000dcf: POP 00000dd0: SWAP3 00000dd1: SWAP2 00000dd2: POP 00000dd3: POP 00000dd4: JUMP 00000dd5: STOP 00000dd6: UNKNOWN(0xDD) 00000dd7: CALLCODE 00000dd8: MSTORE 00000dd9: UNKNOWN(0xAD) 00000dda: SHL 00000ddb: UNKNOWN(0xE2) 00000ddc: UNKNOWN(0xC8) 00000ddd: SWAP12 00000dde: PUSH10 0xc2b068fc378daa952ba7 00000de9: CALL 00000dea: PUSH4 0xc4a11628 00000def: CREATE2 00000df0: GAS 00000df1: UNKNOWN(0x4D) 00000df2: CREATE2 00000df3: UNKNOWN(0x23) 00000df4: UNKNOWN(0xB3) 00000df5: UNKNOWN(0xEF) 00000df6: LOG1 00000df7: PUSH6 0x627a7a723058 00000dfe: KECCAK256 00000dff: UNKNOWN(0xC6) 00000e00: UNKNOWN(0xBB) 00000e01: PUSH18 0xc0f2953c0966a6d1937f12a6b2d5e08bafda 00000e14: UNKNOWN(0xB7) 00000e15: UNKNOWN(0xCB) 00000e16: PUSH0 00000e17: PC 00000e18: UNKNOWN(0xAC) 00000e19: PUSH27
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xf4cbff292a1b0836d4cd91354bec61d30274bd4a96564a5135a15ba05d416000
call_targets:
0xd76b5c2a23ef78368d8e34288b5b65d616b746ae
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf4cbff292a1b0836d4cd91354bec61d30274bd4a96564a5135a15ba05d416000",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd76b5c2a23ef78368d8e34288b5b65d616b746ae"
],
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5e35359e",
"selector": "0x5e35359e",
"calldata_variants": [
"0x5e35359e",
"0x5e35359e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1921,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2437,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3543,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [],
"untrusted_call_count": 4
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xf4cbff292a1b0836d4cd91354bec61d30274bd4a96564a5135a15ba05d416000
call_targets:
0xd76b5c2a23ef78368d8e34288b5b65d616b746ae
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf4cbff292a1b0836d4cd91354bec61d30274bd4a96564a5135a15ba05d416000",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd76b5c2a23ef78368d8e34288b5b65d616b746ae"
],
"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": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5e35359e",
"selector": "0x5e35359e",
"calldata_variants": [
"0x5e35359e",
"0x5e35359e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1921,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2437,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3543,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": []
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x58ab11d759ea08200e9775fb8246fe0f96e664ce90e0d1961d5dfb7a1d142ebe
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x58ab11d759ea08200e9775fb8246fe0f96e664ce90e0d1961d5dfb7a1d142ebe",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5e35359e",
"selector": "0x5e35359e",
"calldata_variants": [
"0x5e35359e",
"0x5e35359e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 2
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 2
}
|