019bb50b-e15a-7115-8d01-ea31f8f1f81c
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 |
|---|---|---|---|---|
| 40373 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40374 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40375 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40376 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40377 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40378 | detector.run | complete | 1 / 3 | 3 months ago |
| 40379 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40490 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode analysis shows a single CALL site (pc:0x1fd7/8151) that may transfer ETH. Validation suggests the target is the contract itself, so impact is uncertain but could allow self-reentrancy or unchecked failure if return data is not handled.","findings":[{"severity":"low","category":"reentrancy","title":"Self-CALL with value enables potential reentrancy via fallback/other entrypoints","exploit_scenario":"If the CALL at pc 8151 is used to invoke the contract itself (validation suggests constant target 0x25ab… which matches the contract address), execution can re-enter via fallback/receive or other selectors with msg.sender == address(this). If state updates occur after this call or privileged logic trusts msg.sender, the self-reentrancy path could bypass assumptions or create unexpected state transitions. Evidence is limited to bytecode, so this is a conservative risk.","recommendation":"Prefer internal function calls over external CALL to self. If external CALL is required, add explicit reentrancy protection and ensure state is updated before the call. Also validate return data and handle failure paths explicitly.","evidence":"Detector shows a CALL at pc 8151 with computed target/value and returndata_checked=null. Validation indicates constant target 0x25ab5a… (contract address) and sink reached.","locations":["pc:0x1fd7"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-tjhqnwyn
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb528-9914-7322-bdae-31871e834118
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
thinking
**Reading BYTECODE_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-tjhqnwyn succeeded in 5ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-tjhqnwyn succeeded in 12ms:
{
"analysis_artifact": {
"address": "0x25ab5aa1462f02edb00bdebe32e7432a30a76937",
"artifact_hash": "0x2c2857969d38d489a54c1db5ce0e0347379e74129de5694b78772639672f9f49",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 2169,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3497,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5617,
"type": "msg_sender_eq_const",
thinking
**Analyzing low-severity CALL to self**
codex
{"no_findings":false,"summary":"Bytecode analysis shows a single CALL site (pc:0x1fd7/8151) that may transfer ETH. Validation suggests the target is the contract itself, so impact is uncertain but could allow self-reentrancy or unchecked failure if return data is not handled.","findings":[{"severity":"low","category":"reentrancy","title":"Self-CALL with value enables potential reentrancy via fallback/other entrypoints","exploit_scenario":"If the CALL at pc 8151 is used to invoke the contract itself (validation suggests constant target 0x25ab… which matches the contract address), execution can re-enter via fallback/receive or other selectors with msg.sender == address(this). If state updates occur after this call or privileged logic trusts msg.sender, the self-reentrancy path could bypass assumptions or create unexpected state transitions. Evidence is limited to bytecode, so this is a conservative risk.","recommendation":"Prefer internal function calls over external CALL to self. If external CALL is required, add explicit reentrancy protection and ensure state is updated before the call. Also validate return data and handle failure paths explicitly.","evidence":"Detector shows a CALL at pc 8151 with computed target/value and returndata_checked=null. Validation indicates constant target 0x25ab5a… (contract address) and sink reached.","locations":["pc:0x1fd7"]}]}
tokens used
28,966
{
"codex": {
"ran_at": "2026-01-13T02:22:13.525098+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 17012,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode analysis shows a single CALL site (pc:0x1fd7/8151) that may transfer ETH. Validation suggests the target is the contract itself, so impact is uncertain but could allow self-reentrancy or unchecked failure if return data is not handled.",
"raw_final": {
"summary": "Bytecode analysis shows a single CALL site (pc:0x1fd7/8151) that may transfer ETH. Validation suggests the target is the contract itself, so impact is uncertain but could allow self-reentrancy or unchecked failure if return data is not handled.",
"findings": [
{
"title": "Self-CALL with value enables potential reentrancy via fallback/other entrypoints",
"category": "reentrancy",
"evidence": "Detector shows a CALL at pc 8151 with computed target/value and returndata_checked=null. Validation indicates constant target 0x25ab5a\u2026 (contract address) and sink reached.",
"severity": "low",
"locations": [
"pc:0x1fd7"
],
"recommendation": "Prefer internal function calls over external CALL to self. If external CALL is required, add explicit reentrancy protection and ensure state is updated before the call. Also validate return data and handle failure paths explicitly.",
"exploit_scenario": "If the CALL at pc 8151 is used to invoke the contract itself (validation suggests constant target 0x25ab\u2026 which matches the contract address), execution can re-enter via fallback/receive or other selectors with msg.sender == address(this). If state updates occur after this call or privileged logic trusts msg.sender, the self-reentrancy path could bypass assumptions or create unexpected state transitions. Evidence is limited to bytecode, so this is a conservative risk."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x011b 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: PUSH4 0xffffffff 00000033: AND 00000034: DUP1 00000035: PUSH4 0x025e7c27 0000003a: EQ 0000003b: PUSH2 0x0177 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x173825d9 00000045: EQ 00000046: PUSH2 0x01da 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x20ea8d86 00000050: EQ 00000051: PUSH2 0x0213 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0x2f54bf6e 0000005b: EQ 0000005c: PUSH2 0x0236 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0x3411c81c 00000066: EQ 00000067: PUSH2 0x0287 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0x54741525 00000071: EQ 00000072: PUSH2 0x02e1 00000075: JUMPI 00000076: DUP1 00000077: PUSH4 0x7065cb48 0000007c: EQ 0000007d: PUSH2 0x0325 00000080: JUMPI 00000081: DUP1 00000082: PUSH4 0x784547a7 00000087: EQ 00000088: PUSH2 0x035e 0000008b: JUMPI 0000008c: DUP1 0000008d: PUSH4 0x8b51d13f 00000092: EQ 00000093: PUSH2 0x0399 00000096: JUMPI 00000097: DUP1 00000098: PUSH4 0x9ace38c2 0000009d: EQ 0000009e: PUSH2 0x03d0 000000a1: JUMPI 000000a2: DUP1 000000a3: PUSH4 0xa0e67e2b 000000a8: EQ 000000a9: PUSH2 0x04ce 000000ac: JUMPI 000000ad: DUP1 000000ae: PUSH4 0xa8abe69a 000000b3: EQ 000000b4: PUSH2 0x0539 000000b7: JUMPI 000000b8: DUP1 000000b9: PUSH4 0xb5dc40c3 000000be: EQ 000000bf: PUSH2 0x05d1 000000c2: JUMPI 000000c3: DUP1 000000c4: PUSH4 0xb77bf600 000000c9: EQ 000000ca: PUSH2 0x064a 000000cd: JUMPI 000000ce: DUP1 000000cf: PUSH4 0xba51a6df 000000d4: EQ 000000d5: PUSH2 0x0673 000000d8: JUMPI 000000d9: DUP1 000000da: PUSH4 0xc01a8c84 000000df: EQ 000000e0: PUSH2 0x0696 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0xc6427474 000000ea: EQ 000000eb: PUSH2 0x06b9 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0xd74f8edd 000000f5: EQ 000000f6: PUSH2 0x0752 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0xdc8452cd 00000100: EQ 00000101: PUSH2 0x077b 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0xe20056e6 0000010b: EQ 0000010c: PUSH2 0x07a4 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0xee22610b 00000116: EQ 00000117: PUSH2 0x07fc 0000011a: JUMPI 0000011b: JUMPDEST 0000011c: JUMPDEST 0000011d: PUSH1 0x00 0000011f: CALLVALUE 00000120: GT 00000121: ISZERO 00000122: PUSH2 0x0174 00000125: JUMPI 00000126: CALLER 00000127: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000013c: AND 0000013d: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 0000015e: CALLVALUE 0000015f: PUSH1 0x40 00000161: MLOAD 00000162: DUP1 00000163: DUP3 00000164: DUP2 00000165: MSTORE 00000166: PUSH1 0x20 00000168: ADD 00000169: SWAP2 0000016a: POP 0000016b: POP 0000016c: PUSH1 0x40 0000016e: MLOAD 0000016f: DUP1 00000170: SWAP2 00000171: SUB 00000172: SWAP1 00000173: LOG2 00000174: JUMPDEST 00000175: JUMPDEST 00000176: STOP 00000177: JUMPDEST 00000178: CALLVALUE 00000179: ISZERO 0000017a: PUSH2 0x0182 0000017d: JUMPI 0000017e: PUSH1 0x00 00000180: DUP1 00000181: REVERT 00000182: JUMPDEST 00000183: PUSH2 0x0198 00000186: PUSH1 0x04 00000188: DUP1 00000189: DUP1 0000018a: CALLDATALOAD 0000018b: SWAP1 0000018c: PUSH1 0x20 0000018e: ADD 0000018f: SWAP1 00000190: SWAP2 00000191: SWAP1 00000192: POP 00000193: POP 00000194: PUSH2 0x081f 00000197: JUMP 00000198: JUMPDEST 00000199: PUSH1 0x40 0000019b: MLOAD 0000019c: DUP1 0000019d: DUP3 0000019e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001b3: AND 000001b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c9: AND 000001ca: DUP2 000001cb: MSTORE 000001cc: PUSH1 0x20 000001ce: ADD 000001cf: SWAP2 000001d0: POP 000001d1: POP 000001d2: PUSH1 0x40 000001d4: MLOAD 000001d5: DUP1 000001d6: SWAP2 000001d7: SUB 000001d8: SWAP1 000001d9: RETURN 000001da: JUMPDEST 000001db: CALLVALUE 000001dc: ISZERO 000001dd: PUSH2 0x01e5 000001e0: JUMPI 000001e1: PUSH1 0x00 000001e3: DUP1 000001e4: REVERT 000001e5: JUMPDEST 000001e6: PUSH2 0x0211 000001e9: PUSH1 0x04 000001eb: DUP1 000001ec: DUP1 000001ed: CALLDATALOAD 000001ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000203: AND 00000204: SWAP1 00000205: PUSH1 0x20 00000207: ADD 00000208: SWAP1 00000209: SWAP2 0000020a: SWAP1 0000020b: POP 0000020c: POP 0000020d: PUSH2 0x085f 00000210: JUMP 00000211: JUMPDEST 00000212: STOP 00000213: JUMPDEST 00000214: CALLVALUE 00000215: ISZERO 00000216: PUSH2 0x021e 00000219: JUMPI 0000021a: PUSH1 0x00 0000021c: DUP1 0000021d: REVERT 0000021e: JUMPDEST 0000021f: PUSH2 0x0234 00000222: PUSH1 0x04 00000224: DUP1 00000225: DUP1 00000226: CALLDATALOAD 00000227: SWAP1 00000228: PUSH1 0x20 0000022a: ADD 0000022b: SWAP1 0000022c: SWAP2 0000022d: SWAP1 0000022e: POP 0000022f: POP 00000230: PUSH2 0x0b02 00000233: JUMP 00000234: JUMPDEST 00000235: STOP 00000236: JUMPDEST 00000237: CALLVALUE 00000238: ISZERO 00000239: PUSH2 0x0241 0000023c: JUMPI 0000023d: PUSH1 0x00 0000023f: DUP1 00000240: REVERT 00000241: JUMPDEST 00000242: PUSH2 0x026d 00000245: PUSH1 0x04 00000247: DUP1 00000248: DUP1 00000249: CALLDATALOAD 0000024a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000025f: AND 00000260: SWAP1 00000261: PUSH1 0x20 00000263: ADD 00000264: SWAP1 00000265: SWAP2 00000266: SWAP1 00000267: POP 00000268: POP 00000269: PUSH2 0x0cae 0000026c: JUMP 0000026d: JUMPDEST 0000026e: PUSH1 0x40 00000270: MLOAD 00000271: DUP1 00000272: DUP3 00000273: ISZERO 00000274: ISZERO 00000275: ISZERO 00000276: ISZERO 00000277: DUP2 00000278: MSTORE 00000279: PUSH1 0x20 0000027b: ADD 0000027c: SWAP2 0000027d: POP 0000027e: POP 0000027f: PUSH1 0x40 00000281: MLOAD 00000282: DUP1 00000283: SWAP2 00000284: SUB 00000285: SWAP1 00000286: RETURN 00000287: JUMPDEST 00000288: CALLVALUE 00000289: ISZERO 0000028a: PUSH2 0x0292 0000028d: JUMPI 0000028e: PUSH1 0x00 00000290: DUP1 00000291: REVERT 00000292: JUMPDEST 00000293: PUSH2 0x02c7 00000296: PUSH1 0x04 00000298: DUP1 00000299: DUP1 0000029a: CALLDATALOAD 0000029b: SWAP1 0000029c: PUSH1 0x20 0000029e: ADD 0000029f: SWAP1 000002a0: SWAP2 000002a1: SWAP1 000002a2: DUP1 000002a3: CALLDATALOAD 000002a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002b9: AND 000002ba: SWAP1 000002bb: PUSH1 0x20 000002bd: ADD 000002be: SWAP1 000002bf: SWAP2 000002c0: SWAP1 000002c1: POP 000002c2: POP 000002c3: PUSH2 0x0cce 000002c6: JUMP 000002c7: JUMPDEST 000002c8: PUSH1 0x40 000002ca: MLOAD 000002cb: DUP1 000002cc: DUP3 000002cd: ISZERO 000002ce: ISZERO 000002cf: ISZERO 000002d0: ISZERO 000002d1: DUP2 000002d2: MSTORE 000002d3: PUSH1 0x20 000002d5: ADD 000002d6: SWAP2 000002d7: POP 000002d8: POP 000002d9: PUSH1 0x40 000002db: MLOAD 000002dc: DUP1 000002dd: SWAP2 000002de: SUB 000002df: SWAP1 000002e0: RETURN 000002e1: JUMPDEST 000002e2: CALLVALUE 000002e3: ISZERO 000002e4: PUSH2 0x02ec 000002e7: JUMPI 000002e8: PUSH1 0x00 000002ea: DUP1 000002eb: REVERT 000002ec: JUMPDEST 000002ed: PUSH2 0x030f 000002f0: PUSH1 0x04 000002f2: DUP1 000002f3: DUP1 000002f4: CALLDATALOAD 000002f5: ISZERO 000002f6: ISZERO 000002f7: SWAP1 000002f8: PUSH1 0x20 000002fa: ADD 000002fb: SWAP1 000002fc: SWAP2 000002fd: SWAP1 000002fe: DUP1 000002ff: CALLDATALOAD 00000300: ISZERO 00000301: ISZERO 00000302: SWAP1 00000303: PUSH1 0x20 00000305: ADD 00000306: SWAP1 00000307: SWAP2 00000308: SWAP1 00000309: POP 0000030a: POP 0000030b: PUSH2 0x0cfd 0000030e: JUMP 0000030f: JUMPDEST 00000310: PUSH1 0x40 00000312: MLOAD 00000313: DUP1 00000314: DUP3 00000315: DUP2 00000316: MSTORE 00000317: PUSH1 0x20 00000319: ADD 0000031a: SWAP2 0000031b: POP 0000031c: POP 0000031d: PUSH1 0x40 0000031f: MLOAD 00000320: DUP1 00000321: SWAP2 00000322: SUB 00000323: SWAP1 00000324: RETURN 00000325: JUMPDEST 00000326: CALLVALUE 00000327: ISZERO 00000328: PUSH2 0x0330 0000032b: JUMPI 0000032c: PUSH1 0x00 0000032e: DUP1 0000032f: REVERT 00000330: JUMPDEST 00000331: PUSH2 0x035c 00000334: PUSH1 0x04 00000336: DUP1 00000337: DUP1 00000338: CALLDATALOAD 00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034e: AND 0000034f: SWAP1 00000350: PUSH1 0x20 00000352: ADD 00000353: SWAP1 00000354: SWAP2 00000355: SWAP1 00000356: POP 00000357: POP 00000358: PUSH2 0x0d91 0000035b: JUMP 0000035c: JUMPDEST 0000035d: STOP 0000035e: JUMPDEST 0000035f: CALLVALUE 00000360: ISZERO 00000361: PUSH2 0x0369 00000364: JUMPI 00000365: PUSH1 0x00 00000367: DUP1 00000368: REVERT 00000369: JUMPDEST 0000036a: PUSH2 0x037f 0000036d: PUSH1 0x04 0000036f: DUP1 00000370: DUP1 00000371: CALLDATALOAD 00000372: SWAP1 00000373: PUSH1 0x20 00000375: ADD 00000376: SWAP1 00000377: SWAP2 00000378: SWAP1 00000379: POP 0000037a: POP 0000037b: PUSH2 0x0f99 0000037e: JUMP 0000037f: JUMPDEST 00000380: PUSH1 0x40 00000382: MLOAD 00000383: DUP1 00000384: DUP3 00000385: ISZERO 00000386: ISZERO 00000387: ISZERO 00000388: ISZERO 00000389: DUP2 0000038a: MSTORE 0000038b: PUSH1 0x20 0000038d: ADD 0000038e: SWAP2 0000038f: POP 00000390: POP 00000391: PUSH1 0x40 00000393: MLOAD 00000394: DUP1 00000395: SWAP2 00000396: SUB 00000397: SWAP1 00000398: RETURN 00000399: JUMPDEST 0000039a: CALLVALUE 0000039b: ISZERO 0000039c: PUSH2 0x03a4 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: PUSH2 0x03ba 000003a8: PUSH1 0x04 000003aa: DUP1 000003ab: DUP1 000003ac: CALLDATALOAD 000003ad: SWAP1 000003ae: PUSH1 0x20 000003b0: ADD 000003b1: SWAP1 000003b2: SWAP2 000003b3: SWAP1 000003b4: POP 000003b5: POP 000003b6: PUSH2 0x1081 000003b9: JUMP 000003ba: JUMPDEST 000003bb: PUSH1 0x40 000003bd: MLOAD 000003be: DUP1 000003bf: DUP3 000003c0: DUP2 000003c1: MSTORE 000003c2: PUSH1 0x20 000003c4: ADD 000003c5: SWAP2 000003c6: POP 000003c7: POP 000003c8: PUSH1 0x40 000003ca: MLOAD 000003cb: DUP1 000003cc: SWAP2 000003cd: SUB 000003ce: SWAP1 000003cf: RETURN 000003d0: JUMPDEST 000003d1: CALLVALUE 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: PUSH2 0x03f1 000003df: PUSH1 0x04 000003e1: DUP1 000003e2: DUP1 000003e3: CALLDATALOAD 000003e4: SWAP1 000003e5: PUSH1 0x20 000003e7: ADD 000003e8: SWAP1 000003e9: SWAP2 000003ea: SWAP1 000003eb: POP 000003ec: POP 000003ed: PUSH2 0x1150 000003f0: JUMP 000003f1: JUMPDEST 000003f2: PUSH1 0x40 000003f4: MLOAD 000003f5: DUP1 000003f6: DUP6 000003f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000040c: AND 0000040d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000422: AND 00000423: DUP2 00000424: MSTORE 00000425: PUSH1 0x20 00000427: ADD 00000428: DUP5 00000429: DUP2 0000042a: MSTORE 0000042b: PUSH1 0x20 0000042d: ADD 0000042e: DUP1 0000042f: PUSH1 0x20 00000431: ADD 00000432: DUP4 00000433: ISZERO 00000434: ISZERO 00000435: ISZERO 00000436: ISZERO 00000437: DUP2 00000438: MSTORE 00000439: PUSH1 0x20 0000043b: ADD 0000043c: DUP3 0000043d: DUP2 0000043e: SUB 0000043f: DUP3 00000440: MSTORE 00000441: DUP5 00000442: DUP2 00000443: DUP2 00000444: SLOAD 00000445: PUSH1 0x01 00000447: DUP2 00000448: PUSH1 0x01 0000044a: AND 0000044b: ISZERO 0000044c: PUSH2 0x0100 0000044f: MUL 00000450: SUB 00000451: AND 00000452: PUSH1 0x02 00000454: SWAP1 00000455: DIV 00000456: DUP2 00000457: MSTORE 00000458: PUSH1 0x20 0000045a: ADD 0000045b: SWAP2 0000045c: POP 0000045d: DUP1 0000045e: SLOAD 0000045f: PUSH1 0x01 00000461: DUP2 00000462: PUSH1 0x01 00000464: AND 00000465: ISZERO 00000466: PUSH2 0x0100 00000469: MUL 0000046a: SUB 0000046b: AND 0000046c: PUSH1 0x02 0000046e: SWAP1 0000046f: DIV 00000470: DUP1 00000471: ISZERO 00000472: PUSH2 0x04bc 00000475: JUMPI 00000476: DUP1 00000477: PUSH1 0x1f 00000479: LT 0000047a: PUSH2 0x0491 0000047d: JUMPI 0000047e: PUSH2 0x0100 00000481: DUP1 00000482: DUP4 00000483: SLOAD 00000484: DIV 00000485: MUL 00000486: DUP4 00000487: MSTORE 00000488: SWAP2 00000489: PUSH1 0x20 0000048b: ADD 0000048c: SWAP2 0000048d: PUSH2 0x04bc 00000490: JUMP 00000491: JUMPDEST 00000492: DUP3 00000493: ADD 00000494: SWAP2 00000495: SWAP1 00000496: PUSH1 0x00 00000498: MSTORE 00000499: PUSH1 0x20 0000049b: PUSH1 0x00 0000049d: KECCAK256 0000049e: SWAP1 0000049f: JUMPDEST 000004a0: DUP2 000004a1: SLOAD 000004a2: DUP2 000004a3: MSTORE 000004a4: SWAP1 000004a5: PUSH1 0x01 000004a7: ADD 000004a8: SWAP1 000004a9: PUSH1 0x20 000004ab: ADD 000004ac: DUP1 000004ad: DUP4 000004ae: GT 000004af: PUSH2 0x049f 000004b2: JUMPI 000004b3: DUP3 000004b4: SWAP1 000004b5: SUB 000004b6: PUSH1 0x1f 000004b8: AND 000004b9: DUP3 000004ba: ADD 000004bb: SWAP2 000004bc: JUMPDEST 000004bd: POP 000004be: POP 000004bf: SWAP6 000004c0: POP 000004c1: POP 000004c2: POP 000004c3: POP 000004c4: POP 000004c5: POP 000004c6: PUSH1 0x40 000004c8: MLOAD 000004c9: DUP1 000004ca: SWAP2 000004cb: SUB 000004cc: SWAP1 000004cd: RETURN 000004ce: JUMPDEST 000004cf: CALLVALUE 000004d0: ISZERO 000004d1: PUSH2 0x04d9 000004d4: JUMPI 000004d5: PUSH1 0x00 000004d7: DUP1 000004d8: REVERT 000004d9: JUMPDEST 000004da: PUSH2 0x04e1 000004dd: PUSH2 0x11ac 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH1 0x40 000004e4: MLOAD 000004e5: DUP1 000004e6: DUP1 000004e7: PUSH1 0x20 000004e9: ADD 000004ea: DUP3 000004eb: DUP2 000004ec: SUB 000004ed: DUP3 000004ee: MSTORE 000004ef: DUP4 000004f0: DUP2 000004f1: DUP2 000004f2: MLOAD 000004f3: DUP2 000004f4: MSTORE 000004f5: PUSH1 0x20 000004f7: ADD 000004f8: SWAP2 000004f9: POP 000004fa: DUP1 000004fb: MLOAD 000004fc: SWAP1 000004fd: PUSH1 0x20 000004ff: ADD 00000500: SWAP1 00000501: PUSH1 0x20 00000503: MUL 00000504: DUP1 00000505: DUP4 00000506: DUP4 00000507: PUSH1 0x00 00000509: JUMPDEST 0000050a: DUP4 0000050b: DUP2 0000050c: LT 0000050d: ISZERO 0000050e: PUSH2 0x0525 00000511: JUMPI 00000512: DUP1 00000513: DUP3 00000514: ADD 00000515: MLOAD 00000516: DUP2 00000517: DUP5 00000518: ADD 00000519: MSTORE 0000051a: JUMPDEST 0000051b: PUSH1 0x20 0000051d: DUP2 0000051e: ADD 0000051f: SWAP1 00000520: POP 00000521: PUSH2 0x0509 00000524: JUMP 00000525: JUMPDEST 00000526: POP 00000527: POP 00000528: POP 00000529: POP 0000052a: SWAP1 0000052b: POP 0000052c: ADD 0000052d: SWAP3 0000052e: POP 0000052f: POP 00000530: POP 00000531: PUSH1 0x40 00000533: MLOAD 00000534: DUP1 00000535: SWAP2 00000536: SUB 00000537: SWAP1 00000538: RETURN 00000539: JUMPDEST 0000053a: CALLVALUE 0000053b: ISZERO 0000053c: PUSH2 0x0544 0000053f: JUMPI 00000540: PUSH1 0x00 00000542: DUP1 00000543: REVERT 00000544: JUMPDEST 00000545: PUSH2 0x0579 00000548: PUSH1 0x04 0000054a: DUP1 0000054b: DUP1 0000054c: CALLDATALOAD 0000054d: SWAP1 0000054e: PUSH1 0x20 00000550: ADD 00000551: SWAP1 00000552: SWAP2 00000553: SWAP1 00000554: DUP1 00000555: CALLDATALOAD 00000556: SWAP1 00000557: PUSH1 0x20 00000559: ADD 0000055a: SWAP1 0000055b: SWAP2 0000055c: SWAP1 0000055d: DUP1 0000055e: CALLDATALOAD 0000055f: ISZERO 00000560: ISZERO 00000561: SWAP1 00000562: PUSH1 0x20 00000564: ADD 00000565: SWAP1 00000566: SWAP2 00000567: SWAP1 00000568: DUP1 00000569: CALLDATALOAD 0000056a: ISZERO 0000056b: ISZERO 0000056c: SWAP1 0000056d: PUSH1 0x20 0000056f: ADD 00000570: SWAP1 00000571: SWAP2 00000572: SWAP1 00000573: POP 00000574: POP 00000575: PUSH2 0x1241 00000578: JUMP 00000579: JUMPDEST 0000057a: PUSH1 0x40 0000057c: MLOAD 0000057d: DUP1 0000057e: DUP1 0000057f: PUSH1 0x20 00000581: ADD 00000582: DUP3 00000583: DUP2 00000584: SUB 00000585: DUP3 00000586: MSTORE 00000587: DUP4 00000588: DUP2 00000589: DUP2 0000058a: MLOAD 0000058b: DUP2 0000058c: MSTORE 0000058d: PUSH1 0x20 0000058f: ADD 00000590: SWAP2 00000591: POP 00000592: DUP1 00000593: MLOAD 00000594: SWAP1 00000595: PUSH1 0x20 00000597: ADD 00000598: SWAP1 00000599: PUSH1 0x20 0000059b: MUL 0000059c: DUP1 0000059d: DUP4 0000059e: DUP4 0000059f: PUSH1 0x00 000005a1: JUMPDEST 000005a2: DUP4 000005a3: DUP2 000005a4: LT 000005a5: ISZERO 000005a6: PUSH2 0x05bd 000005a9: JUMPI 000005aa: DUP1 000005ab: DUP3 000005ac: ADD 000005ad: MLOAD 000005ae: DUP2 000005af: DUP5 000005b0: ADD 000005b1: MSTORE 000005b2: JUMPDEST 000005b3: PUSH1 0x20 000005b5: DUP2 000005b6: ADD 000005b7: SWAP1 000005b8: POP 000005b9: PUSH2 0x05a1 000005bc: JUMP 000005bd: JUMPDEST 000005be: POP 000005bf: POP 000005c0: POP 000005c1: POP 000005c2: SWAP1 000005c3: POP 000005c4: ADD 000005c5: SWAP3 000005c6: POP 000005c7: POP 000005c8: POP 000005c9: PUSH1 0x40 000005cb: MLOAD 000005cc: DUP1 000005cd: SWAP2 000005ce: SUB 000005cf: SWAP1 000005d0: RETURN 000005d1: JUMPDEST 000005d2: CALLVALUE 000005d3: ISZERO 000005d4: PUSH2 0x05dc 000005d7: JUMPI 000005d8: PUSH1 0x00 000005da: DUP1 000005db: REVERT 000005dc: JUMPDEST 000005dd: PUSH2 0x05f2 000005e0: PUSH1 0x04 000005e2: DUP1 000005e3: DUP1 000005e4: CALLDATALOAD 000005e5: SWAP1 000005e6: PUSH1 0x20 000005e8: ADD 000005e9: SWAP1 000005ea: SWAP2 000005eb: SWAP1 000005ec: POP 000005ed: POP 000005ee: PUSH2 0x13a2 000005f1: JUMP 000005f2: JUMPDEST 000005f3: PUSH1 0x40 000005f5: MLOAD 000005f6: DUP1 000005f7: DUP1 000005f8: PUSH1 0x20 000005fa: ADD 000005fb: DUP3 000005fc: DUP2 000005fd: SUB 000005fe: DUP3 000005ff: MSTORE 00000600: DUP4 00000601: DUP2 00000602: DUP2 00000603: MLOAD 00000604: DUP2 00000605: MSTORE 00000606: PUSH1 0x20 00000608: ADD 00000609: SWAP2 0000060a: POP 0000060b: DUP1 0000060c: MLOAD 0000060d: SWAP1 0000060e: PUSH1 0x20 00000610: ADD 00000611: SWAP1 00000612: PUSH1 0x20 00000614: MUL 00000615: DUP1 00000616: DUP4 00000617: DUP4 00000618: PUSH1 0x00 0000061a: JUMPDEST 0000061b: DUP4 0000061c: DUP2 0000061d: LT 0000061e: ISZERO 0000061f: PUSH2 0x0636 00000622: JUMPI 00000623: DUP1 00000624: DUP3 00000625: ADD 00000626: MLOAD 00000627: DUP2 00000628: DUP5 00000629: ADD 0000062a: MSTORE 0000062b: JUMPDEST 0000062c: PUSH1 0x20 0000062e: DUP2 0000062f: ADD 00000630: SWAP1 00000631: POP 00000632: PUSH2 0x061a 00000635: JUMP 00000636: JUMPDEST 00000637: POP 00000638: POP 00000639: POP 0000063a: POP 0000063b: SWAP1 0000063c: POP 0000063d: ADD 0000063e: SWAP3 0000063f: POP 00000640: POP 00000641: POP 00000642: PUSH1 0x40 00000644: MLOAD 00000645: DUP1 00000646: SWAP2 00000647: SUB 00000648: SWAP1 00000649: RETURN 0000064a: JUMPDEST 0000064b: CALLVALUE 0000064c: ISZERO 0000064d: PUSH2 0x0655 00000650: JUMPI 00000651: PUSH1 0x00 00000653: DUP1 00000654: REVERT 00000655: JUMPDEST 00000656: PUSH2 0x065d 00000659: PUSH2 0x15d3 0000065c: JUMP 0000065d: JUMPDEST 0000065e: PUSH1 0x40 00000660: MLOAD 00000661: DUP1 00000662: DUP3 00000663: DUP2 00000664: MSTORE 00000665: PUSH1 0x20 00000667: ADD 00000668: SWAP2 00000669: POP 0000066a: POP 0000066b: PUSH1 0x40 0000066d: MLOAD 0000066e: DUP1 0000066f: SWAP2 00000670: SUB 00000671: SWAP1 00000672: RETURN 00000673: JUMPDEST 00000674: CALLVALUE 00000675: ISZERO 00000676: PUSH2 0x067e 00000679: JUMPI 0000067a: PUSH1 0x00 0000067c: DUP1 0000067d: REVERT 0000067e: JUMPDEST 0000067f: PUSH2 0x0694 00000682: PUSH1 0x04 00000684: DUP1 00000685: DUP1 00000686: CALLDATALOAD 00000687: SWAP1 00000688: PUSH1 0x20 0000068a: ADD 0000068b: SWAP1 0000068c: SWAP2 0000068d: SWAP1 0000068e: POP 0000068f: POP 00000690: PUSH2 0x15d9 00000693: JUMP 00000694: JUMPDEST 00000695: STOP 00000696: JUMPDEST 00000697: CALLVALUE 00000698: ISZERO 00000699: PUSH2 0x06a1 0000069c: JUMPI 0000069d: PUSH1 0x00 0000069f: DUP1 000006a0: REVERT 000006a1: JUMPDEST 000006a2: PUSH2 0x06b7 000006a5: PUSH1 0x04 000006a7: DUP1 000006a8: DUP1 000006a9: CALLDATALOAD 000006aa: SWAP1 000006ab: PUSH1 0x20 000006ad: ADD 000006ae: SWAP1 000006af: SWAP2 000006b0: SWAP1 000006b1: POP 000006b2: POP 000006b3: PUSH2 0x1696 000006b6: JUMP 000006b7: JUMPDEST 000006b8: STOP 000006b9: JUMPDEST 000006ba: CALLVALUE 000006bb: ISZERO 000006bc: PUSH2 0x06c4 000006bf: JUMPI 000006c0: PUSH1 0x00 000006c2: DUP1 000006c3: REVERT 000006c4: JUMPDEST 000006c5: PUSH2 0x073c 000006c8: PUSH1 0x04 000006ca: DUP1 000006cb: DUP1 000006cc: CALLDATALOAD 000006cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006e2: AND 000006e3: SWAP1 000006e4: PUSH1 0x20 000006e6: ADD 000006e7: SWAP1 000006e8: SWAP2 000006e9: SWAP1 000006ea: DUP1 000006eb: CALLDATALOAD 000006ec: SWAP1 000006ed: PUSH1 0x20 000006ef: ADD 000006f0: SWAP1 000006f1: SWAP2 000006f2: SWAP1 000006f3: DUP1 000006f4: CALLDATALOAD 000006f5: SWAP1 000006f6: PUSH1 0x20 000006f8: ADD 000006f9: SWAP1 000006fa: DUP3 000006fb: ADD 000006fc: DUP1 000006fd: CALLDATALOAD 000006fe: SWAP1 000006ff: PUSH1 0x20 00000701: ADD 00000702: SWAP1 00000703: DUP1 00000704: DUP1 00000705: PUSH1 0x1f 00000707: ADD 00000708: PUSH1 0x20 0000070a: DUP1 0000070b: SWAP2 0000070c: DIV 0000070d: MUL 0000070e: PUSH1 0x20 00000710: ADD 00000711: PUSH1 0x40 00000713: MLOAD 00000714: SWAP1 00000715: DUP2 00000716: ADD 00000717: PUSH1 0x40 00000719: MSTORE 0000071a: DUP1 0000071b: SWAP4 0000071c: SWAP3 0000071d: SWAP2 0000071e: SWAP1 0000071f: DUP2 00000720: DUP2 00000721: MSTORE 00000722: PUSH1 0x20 00000724: ADD 00000725: DUP4 00000726: DUP4 00000727: DUP1 00000728: DUP3 00000729: DUP5 0000072a: CALLDATACOPY 0000072b: DUP3 0000072c: ADD 0000072d: SWAP2 0000072e: POP 0000072f: POP 00000730: POP 00000731: POP 00000732: POP 00000733: POP 00000734: SWAP2 00000735: SWAP1 00000736: POP 00000737: POP 00000738: PUSH2 0x1877 0000073b: JUMP 0000073c: JUMPDEST 0000073d: PUSH1 0x40 0000073f: MLOAD 00000740: DUP1 00000741: DUP3 00000742: DUP2 00000743: MSTORE 00000744: PUSH1 0x20 00000746: ADD 00000747: SWAP2 00000748: POP 00000749: POP 0000074a: PUSH1 0x40 0000074c: MLOAD 0000074d: DUP1 0000074e: SWAP2 0000074f: SUB 00000750: SWAP1 00000751: RETURN 00000752: JUMPDEST 00000753: CALLVALUE 00000754: ISZERO 00000755: PUSH2 0x075d 00000758: JUMPI 00000759: PUSH1 0x00 0000075b: DUP1 0000075c: REVERT 0000075d: JUMPDEST 0000075e: PUSH2 0x0765 00000761: PUSH2 0x1897 00000764: JUMP 00000765: JUMPDEST 00000766: PUSH1 0x40 00000768: MLOAD 00000769: DUP1 0000076a: DUP3 0000076b: DUP2 0000076c: MSTORE 0000076d: PUSH1 0x20 0000076f: ADD 00000770: SWAP2 00000771: POP 00000772: POP 00000773: PUSH1 0x40 00000775: MLOAD 00000776: DUP1 00000777: SWAP2 00000778: SUB 00000779: SWAP1 0000077a: RETURN 0000077b: JUMPDEST 0000077c: CALLVALUE 0000077d: ISZERO 0000077e: PUSH2 0x0786 00000781: JUMPI 00000782: PUSH1 0x00 00000784: DUP1 00000785: REVERT 00000786: JUMPDEST 00000787: PUSH2 0x078e 0000078a: PUSH2 0x189c 0000078d: JUMP 0000078e: JUMPDEST 0000078f: PUSH1 0x40 00000791: MLOAD 00000792: DUP1 00000793: DUP3 00000794: DUP2 00000795: MSTORE 00000796: PUSH1 0x20 00000798: ADD 00000799: SWAP2 0000079a: POP 0000079b: POP 0000079c: PUSH1 0x40 0000079e: MLOAD 0000079f: DUP1 000007a0: SWAP2 000007a1: SUB 000007a2: SWAP1 000007a3: RETURN 000007a4: JUMPDEST 000007a5: CALLVALUE 000007a6: ISZERO 000007a7: PUSH2 0x07af 000007aa: JUMPI 000007ab: PUSH1 0x00 000007ad: DUP1 000007ae: REVERT 000007af: JUMPDEST 000007b0: PUSH2 0x07fa 000007b3: PUSH1 0x04 000007b5: DUP1 000007b6: DUP1 000007b7: CALLDATALOAD 000007b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007cd: AND 000007ce: SWAP1 000007cf: PUSH1 0x20 000007d1: ADD 000007d2: SWAP1 000007d3: SWAP2 000007d4: SWAP1 000007d5: DUP1 000007d6: CALLDATALOAD 000007d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ec: AND 000007ed: SWAP1 000007ee: PUSH1 0x20 000007f0: ADD 000007f1: SWAP1 000007f2: SWAP2 000007f3: SWAP1 000007f4: POP 000007f5: POP 000007f6: PUSH2 0x18a2 000007f9: JUMP 000007fa: JUMPDEST 000007fb: STOP 000007fc: JUMPDEST 000007fd: CALLVALUE 000007fe: ISZERO 000007ff: PUSH2 0x0807 00000802: JUMPI 00000803: PUSH1 0x00 00000805: DUP1 00000806: REVERT 00000807: JUMPDEST 00000808: PUSH2 0x081d 0000080b: PUSH1 0x04 0000080d: DUP1 0000080e: DUP1 0000080f: CALLDATALOAD 00000810: SWAP1 00000811: PUSH1 0x20 00000813: ADD 00000814: SWAP1 00000815: SWAP2 00000816: SWAP1 00000817: POP 00000818: POP 00000819: PUSH2 0x1bc0 0000081c: JUMP 0000081d: JUMPDEST 0000081e: STOP 0000081f: JUMPDEST 00000820: PUSH1 0x03 00000822: DUP2 00000823: DUP2 00000824: SLOAD 00000825: DUP2 00000826: LT 00000827: ISZERO 00000828: ISZERO 00000829: PUSH2 0x082e 0000082c: JUMPI 0000082d: INVALID 0000082e: JUMPDEST 0000082f: SWAP1 00000830: PUSH1 0x00 00000832: MSTORE 00000833: PUSH1 0x20 00000835: PUSH1 0x00 00000837: KECCAK256 00000838: SWAP1 00000839: ADD 0000083a: PUSH1 0x00 0000083c: JUMPDEST 0000083d: SWAP2 0000083e: POP 0000083f: SLOAD 00000840: SWAP1 00000841: PUSH2 0x0100 00000844: EXP 00000845: SWAP1 00000846: DIV 00000847: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000085c: AND 0000085d: DUP2 0000085e: JUMP 0000085f: JUMPDEST 00000860: PUSH1 0x00 00000862: ADDRESS 00000863: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000878: AND 00000879: CALLER 0000087a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000088f: AND 00000890: EQ 00000891: ISZERO 00000892: ISZERO 00000893: PUSH2 0x089b 00000896: JUMPI 00000897: PUSH1 0x00 00000899: DUP1 0000089a: REVERT 0000089b: JUMPDEST 0000089c: DUP2 0000089d: PUSH1 0x02 0000089f: PUSH1 0x00 000008a1: DUP3 000008a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b7: AND 000008b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008cd: AND 000008ce: DUP2 000008cf: MSTORE 000008d0: PUSH1 0x20 000008d2: ADD 000008d3: SWAP1 000008d4: DUP2 000008d5: MSTORE 000008d6: PUSH1 0x20 000008d8: ADD 000008d9: PUSH1 0x00 000008db: KECCAK256 000008dc: PUSH1 0x00 000008de: SWAP1 000008df: SLOAD 000008e0: SWAP1 000008e1: PUSH2 0x0100 000008e4: EXP 000008e5: SWAP1 000008e6: DIV 000008e7: PUSH1 0xff 000008e9: AND 000008ea: ISZERO 000008eb: ISZERO 000008ec: PUSH2 0x08f4 000008ef: JUMPI 000008f0: PUSH1 0x00 000008f2: DUP1 000008f3: REVERT 000008f4: JUMPDEST 000008f5: PUSH1 0x00 000008f7: PUSH1 0x02 000008f9: PUSH1 0x00 000008fb: DUP6 000008fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000911: AND 00000912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000927: AND 00000928: DUP2 00000929: MSTORE 0000092a: PUSH1 0x20 0000092c: ADD 0000092d: SWAP1 0000092e: DUP2 0000092f: MSTORE 00000930: PUSH1 0x20 00000932: ADD 00000933: PUSH1 0x00 00000935: KECCAK256 00000936: PUSH1 0x00 00000938: PUSH2 0x0100 0000093b: EXP 0000093c: DUP2 0000093d: SLOAD 0000093e: DUP2 0000093f: PUSH1 0xff 00000941: MUL 00000942: NOT 00000943: AND 00000944: SWAP1 00000945: DUP4 00000946: ISZERO 00000947: ISZERO 00000948: MUL 00000949: OR 0000094a: SWAP1 0000094b: SSTORE 0000094c: POP 0000094d: PUSH1 0x00 0000094f: SWAP2 00000950: POP 00000951: JUMPDEST 00000952: PUSH1 0x01 00000954: PUSH1 0x03 00000956: DUP1 00000957: SLOAD 00000958: SWAP1 00000959: POP 0000095a: SUB 0000095b: DUP3 0000095c: LT 0000095d: ISZERO 0000095e: PUSH2 0x0a80 00000961: JUMPI 00000962: DUP3 00000963: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000978: AND 00000979: PUSH1 0x03 0000097b: DUP4 0000097c: DUP2 0000097d: SLOAD 0000097e: DUP2 0000097f: LT 00000980: ISZERO 00000981: ISZERO 00000982: PUSH2 0x0987 00000985: JUMPI 00000986: INVALID 00000987: JUMPDEST 00000988: SWAP1 00000989: PUSH1 0x00 0000098b: MSTORE 0000098c: PUSH1 0x20 0000098e: PUSH1 0x00 00000990: KECCAK256 00000991: SWAP1 00000992: ADD 00000993: PUSH1 0x00 00000995: JUMPDEST 00000996: SWAP1 00000997: SLOAD 00000998: SWAP1 00000999: PUSH2 0x0100 0000099c: EXP 0000099d: SWAP1 0000099e: DIV 0000099f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009b4: AND 000009b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009ca: AND 000009cb: EQ 000009cc: ISZERO 000009cd: PUSH2 0x0a72 000009d0: JUMPI 000009d1: PUSH1 0x03 000009d3: PUSH1 0x01 000009d5: PUSH1 0x03 000009d7: DUP1 000009d8: SLOAD 000009d9: SWAP1 000009da: POP 000009db: SUB 000009dc: DUP2 000009dd: SLOAD 000009de: DUP2 000009df: LT 000009e0: ISZERO 000009e1: ISZERO 000009e2: PUSH2 0x09e7 000009e5: JUMPI 000009e6: INVALID 000009e7: JUMPDEST 000009e8: SWAP1 000009e9: PUSH1 0x00 000009eb: MSTORE 000009ec: PUSH1 0x20 000009ee: PUSH1 0x00 000009f0: KECCAK256 000009f1: SWAP1 000009f2: ADD 000009f3: PUSH1 0x00 000009f5: JUMPDEST 000009f6: SWAP1 000009f7: SLOAD 000009f8: SWAP1 000009f9: PUSH2 0x0100 000009fc: EXP 000009fd: SWAP1 000009fe: DIV 000009ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a14: AND 00000a15: PUSH1 0x03 00000a17: DUP4 00000a18: DUP2 00000a19: SLOAD 00000a1a: DUP2 00000a1b: LT 00000a1c: ISZERO 00000a1d: ISZERO 00000a1e: PUSH2 0x0a23 00000a21: JUMPI 00000a22: INVALID 00000a23: JUMPDEST 00000a24: SWAP1 00000a25: PUSH1 0x00 00000a27: MSTORE 00000a28: PUSH1 0x20 00000a2a: PUSH1 0x00 00000a2c: KECCAK256 00000a2d: SWAP1 00000a2e: ADD 00000a2f: PUSH1 0x00 00000a31: JUMPDEST 00000a32: PUSH2 0x0100 00000a35: EXP 00000a36: DUP2 00000a37: SLOAD 00000a38: DUP2 00000a39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a4e: MUL 00000a4f: NOT 00000a50: AND 00000a51: SWAP1 00000a52: DUP4 00000a53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a68: AND 00000a69: MUL 00000a6a: OR 00000a6b: SWAP1 00000a6c: SSTORE 00000a6d: POP 00000a6e: PUSH2 0x0a80 00000a71: JUMP 00000a72: JUMPDEST 00000a73: JUMPDEST 00000a74: DUP2 00000a75: DUP1 00000a76: PUSH1 0x01 00000a78: ADD 00000a79: SWAP3 00000a7a: POP 00000a7b: POP 00000a7c: PUSH2 0x0951 00000a7f: JUMP 00000a80: JUMPDEST 00000a81: PUSH1 0x01 00000a83: PUSH1 0x03 00000a85: DUP2 00000a86: DUP2 00000a87: DUP1 00000a88: SLOAD 00000a89: SWAP1 00000a8a: POP 00000a8b: SUB 00000a8c: SWAP2 00000a8d: POP 00000a8e: DUP2 00000a8f: PUSH2 0x0a98 00000a92: SWAP2 00000a93: SWAP1 00000a94: PUSH2 0x1fe8 00000a97: JUMP 00000a98: JUMPDEST 00000a99: POP 00000a9a: PUSH1 0x03 00000a9c: DUP1 00000a9d: SLOAD 00000a9e: SWAP1 00000a9f: POP 00000aa0: PUSH1 0x04 00000aa2: SLOAD 00000aa3: GT 00000aa4: ISZERO 00000aa5: PUSH2 0x0ab7 00000aa8: JUMPI 00000aa9: PUSH2 0x0ab6 00000aac: PUSH1 0x03 00000aae: DUP1 00000aaf: SLOAD 00000ab0: SWAP1 00000ab1: POP 00000ab2: PUSH2 0x15d9 00000ab5: JUMP 00000ab6: JUMPDEST 00000ab7: JUMPDEST 00000ab8: DUP3 00000ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ace: AND 00000acf: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00000af0: PUSH1 0x40 00000af2: MLOAD 00000af3: PUSH1 0x40 00000af5: MLOAD 00000af6: DUP1 00000af7: SWAP2 00000af8: SUB 00000af9: SWAP1 00000afa: LOG2 00000afb: JUMPDEST 00000afc: JUMPDEST 00000afd: POP 00000afe: JUMPDEST 00000aff: POP 00000b00: POP 00000b01: JUMP 00000b02: JUMPDEST 00000b03: CALLER 00000b04: PUSH1 0x02 00000b06: PUSH1 0x00 00000b08: DUP3 00000b09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b1e: AND 00000b1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b34: AND 00000b35: DUP2 00000b36: MSTORE 00000b37: PUSH1 0x20 00000b39: ADD 00000b3a: SWAP1 00000b3b: DUP2 00000b3c: MSTORE 00000b3d: PUSH1 0x20 00000b3f: ADD 00000b40: PUSH1 0x00 00000b42: KECCAK256 00000b43: PUSH1 0x00 00000b45: SWAP1 00000b46: SLOAD 00000b47: SWAP1 00000b48: PUSH2 0x0100 00000b4b: EXP 00000b4c: SWAP1 00000b4d: DIV 00000b4e: PUSH1 0xff 00000b50: AND 00000b51: ISZERO 00000b52: ISZERO 00000b53: PUSH2 0x0b5b 00000b56: JUMPI 00000b57: PUSH1 0x00 00000b59: DUP1 00000b5a: REVERT 00000b5b: JUMPDEST 00000b5c: DUP2 00000b5d: CALLER 00000b5e: PUSH1 0x01 00000b60: PUSH1 0x00 00000b62: DUP4 00000b63: DUP2 00000b64: MSTORE 00000b65: PUSH1 0x20 00000b67: ADD 00000b68: SWAP1 00000b69: DUP2 00000b6a: MSTORE 00000b6b: PUSH1 0x20 00000b6d: ADD 00000b6e: PUSH1 0x00 00000b70: KECCAK256 00000b71: PUSH1 0x00 00000b73: DUP3 00000b74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b89: AND 00000b8a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b9f: AND 00000ba0: DUP2 00000ba1: MSTORE 00000ba2: PUSH1 0x20 00000ba4: ADD 00000ba5: SWAP1 00000ba6: DUP2 00000ba7: MSTORE 00000ba8: PUSH1 0x20 00000baa: ADD 00000bab: PUSH1 0x00 00000bad: KECCAK256 00000bae: PUSH1 0x00 00000bb0: SWAP1 00000bb1: SLOAD 00000bb2: SWAP1 00000bb3: PUSH2 0x0100 00000bb6: EXP 00000bb7: SWAP1 00000bb8: DIV 00000bb9: PUSH1 0xff 00000bbb: AND 00000bbc: ISZERO 00000bbd: ISZERO 00000bbe: PUSH2 0x0bc6 00000bc1: JUMPI 00000bc2: PUSH1 0x00 00000bc4: DUP1 00000bc5: REVERT 00000bc6: JUMPDEST 00000bc7: DUP4 00000bc8: PUSH1 0x00 00000bca: DUP1 00000bcb: DUP3 00000bcc: DUP2 00000bcd: MSTORE 00000bce: PUSH1 0x20 00000bd0: ADD 00000bd1: SWAP1 00000bd2: DUP2 00000bd3: MSTORE 00000bd4: PUSH1 0x20 00000bd6: ADD 00000bd7: PUSH1 0x00 00000bd9: KECCAK256 00000bda: PUSH1 0x03 00000bdc: ADD 00000bdd: PUSH1 0x00 00000bdf: SWAP1 00000be0: SLOAD 00000be1: SWAP1 00000be2: PUSH2 0x0100 00000be5: EXP 00000be6: SWAP1 00000be7: DIV 00000be8: PUSH1 0xff 00000bea: AND 00000beb: ISZERO 00000bec: ISZERO 00000bed: ISZERO 00000bee: PUSH2 0x0bf6 00000bf1: JUMPI 00000bf2: PUSH1 0x00 00000bf4: DUP1 00000bf5: REVERT 00000bf6: JUMPDEST 00000bf7: PUSH1 0x00 00000bf9: PUSH1 0x01 00000bfb: PUSH1 0x00 00000bfd: DUP8 00000bfe: DUP2 00000bff: MSTORE 00000c00: PUSH1 0x20 00000c02: ADD 00000c03: SWAP1 00000c04: DUP2 00000c05: MSTORE 00000c06: PUSH1 0x20 00000c08: ADD 00000c09: PUSH1 0x00 00000c0b: KECCAK256 00000c0c: PUSH1 0x00 00000c0e: CALLER 00000c0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c24: AND 00000c25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c3a: AND 00000c3b: DUP2 00000c3c: MSTORE 00000c3d: PUSH1 0x20 00000c3f: ADD 00000c40: SWAP1 00000c41: DUP2 00000c42: MSTORE 00000c43: PUSH1 0x20 00000c45: ADD 00000c46: PUSH1 0x00 00000c48: KECCAK256 00000c49: PUSH1 0x00 00000c4b: PUSH2 0x0100 00000c4e: EXP 00000c4f: DUP2 00000c50: SLOAD 00000c51: DUP2 00000c52: PUSH1 0xff 00000c54: MUL 00000c55: NOT 00000c56: AND 00000c57: SWAP1 00000c58: DUP4 00000c59: ISZERO 00000c5a: ISZERO 00000c5b: MUL 00000c5c: OR 00000c5d: SWAP1 00000c5e: SSTORE 00000c5f: POP 00000c60: DUP5 00000c61: CALLER 00000c62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c77: AND 00000c78: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9 00000c99: PUSH1 0x40 00000c9b: MLOAD 00000c9c: PUSH1 0x40 00000c9e: MLOAD 00000c9f: DUP1 00000ca0: SWAP2 00000ca1: SUB 00000ca2: SWAP1 00000ca3: LOG3 00000ca4: JUMPDEST 00000ca5: JUMPDEST 00000ca6: POP 00000ca7: JUMPDEST 00000ca8: POP 00000ca9: POP 00000caa: JUMPDEST 00000cab: POP 00000cac: POP 00000cad: JUMP 00000cae: JUMPDEST 00000caf: PUSH1 0x02 00000cb1: PUSH1 0x20 00000cb3: MSTORE 00000cb4: DUP1 00000cb5: PUSH1 0x00 00000cb7: MSTORE 00000cb8: PUSH1 0x40 00000cba: PUSH1 0x00 00000cbc: KECCAK256 00000cbd: PUSH1 0x00 00000cbf: SWAP2 00000cc0: POP 00000cc1: SLOAD 00000cc2: SWAP1 00000cc3: PUSH2 0x0100 00000cc6: EXP 00000cc7: SWAP1 00000cc8: DIV 00000cc9: PUSH1 0xff 00000ccb: AND 00000ccc: DUP2 00000ccd: JUMP 00000cce: JUMPDEST 00000ccf: PUSH1 0x01 00000cd1: PUSH1 0x20 00000cd3: MSTORE 00000cd4: DUP2 00000cd5: PUSH1 0x00 00000cd7: MSTORE 00000cd8: PUSH1 0x40 00000cda: PUSH1 0x00 00000cdc: KECCAK256 00000cdd: PUSH1 0x20 00000cdf: MSTORE 00000ce0: DUP1 00000ce1: PUSH1 0x00 00000ce3: MSTORE 00000ce4: PUSH1 0x40 00000ce6: PUSH1 0x00 00000ce8: KECCAK256 00000ce9: PUSH1 0x00 00000ceb: SWAP2 00000cec: POP 00000ced: SWAP2 00000cee: POP 00000cef: SWAP1 00000cf0: SLOAD 00000cf1: SWAP1 00000cf2: PUSH2 0x0100 00000cf5: EXP 00000cf6: SWAP1 00000cf7: DIV 00000cf8: PUSH1 0xff 00000cfa: AND 00000cfb: DUP2 00000cfc: JUMP 00000cfd: JUMPDEST 00000cfe: PUSH1 0x00 00000d00: DUP1 00000d01: PUSH1 0x00 00000d03: SWAP1 00000d04: POP 00000d05: JUMPDEST 00000d06: PUSH1 0x05 00000d08: SLOAD 00000d09: DUP2 00000d0a: LT 00000d0b: ISZERO 00000d0c: PUSH2 0x0d89 00000d0f: JUMPI 00000d10: DUP4 00000d11: DUP1 00000d12: ISZERO 00000d13: PUSH2 0x0d3c 00000d16: JUMPI 00000d17: POP 00000d18: PUSH1 0x00 00000d1a: DUP1 00000d1b: DUP3 00000d1c: DUP2 00000d1d: MSTORE 00000d1e: PUSH1 0x20 00000d20: ADD 00000d21: SWAP1 00000d22: DUP2 00000d23: MSTORE 00000d24: PUSH1 0x20 00000d26: ADD 00000d27: PUSH1 0x00 00000d29: KECCAK256 00000d2a: PUSH1 0x03 00000d2c: ADD 00000d2d: PUSH1 0x00 00000d2f: SWAP1 00000d30: SLOAD 00000d31: SWAP1 00000d32: PUSH2 0x0100 00000d35: EXP 00000d36: SWAP1 00000d37: DIV 00000d38: PUSH1 0xff 00000d3a: AND 00000d3b: ISZERO 00000d3c: JUMPDEST 00000d3d: DUP1 00000d3e: PUSH2 0x0d6f 00000d41: JUMPI 00000d42: POP 00000d43: DUP3 00000d44: DUP1 00000d45: ISZERO 00000d46: PUSH2 0x0d6e 00000d49: JUMPI 00000d4a: POP 00000d4b: PUSH1 0x00 00000d4d: DUP1 00000d4e: DUP3 00000d4f: DUP2 00000d50: MSTORE 00000d51: PUSH1 0x20 00000d53: ADD 00000d54: SWAP1 00000d55: DUP2 00000d56: MSTORE 00000d57: PUSH1 0x20 00000d59: ADD 00000d5a: PUSH1 0x00 00000d5c: KECCAK256 00000d5d: PUSH1 0x03 00000d5f: ADD 00000d60: PUSH1 0x00 00000d62: SWAP1 00000d63: SLOAD 00000d64: SWAP1 00000d65: PUSH2 0x0100 00000d68: EXP 00000d69: SWAP1 00000d6a: DIV 00000d6b: PUSH1 0xff 00000d6d: AND 00000d6e: JUMPDEST 00000d6f: JUMPDEST 00000d70: ISZERO 00000d71: PUSH2 0x0d7b 00000d74: JUMPI 00000d75: PUSH1 0x01 00000d77: DUP3 00000d78: ADD 00000d79: SWAP2 00000d7a: POP 00000d7b: JUMPDEST 00000d7c: JUMPDEST 00000d7d: DUP1 00000d7e: DUP1 00000d7f: PUSH1 0x01 00000d81: ADD 00000d82: SWAP2 00000d83: POP 00000d84: POP 00000d85: PUSH2 0x0d05 00000d88: JUMP 00000d89: JUMPDEST 00000d8a: JUMPDEST 00000d8b: POP 00000d8c: SWAP3 00000d8d: SWAP2 00000d8e: POP 00000d8f: POP 00000d90: JUMP 00000d91: JUMPDEST 00000d92: ADDRESS 00000d93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000da8: AND 00000da9: CALLER 00000daa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dbf: AND 00000dc0: EQ 00000dc1: ISZERO 00000dc2: ISZERO 00000dc3: PUSH2 0x0dcb 00000dc6: JUMPI 00000dc7: PUSH1 0x00 00000dc9: DUP1 00000dca: REVERT 00000dcb: JUMPDEST 00000dcc: DUP1 00000dcd: PUSH1 0x02 00000dcf: PUSH1 0x00 00000dd1: DUP3 00000dd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000de7: AND 00000de8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dfd: AND 00000dfe: DUP2 00000dff: MSTORE 00000e00: PUSH1 0x20 00000e02: ADD 00000e03: SWAP1 00000e04: DUP2 00000e05: MSTORE 00000e06: PUSH1 0x20 00000e08: ADD 00000e09: PUSH1 0x00 00000e0b: KECCAK256 00000e0c: PUSH1 0x00 00000e0e: SWAP1 00000e0f: SLOAD 00000e10: SWAP1 00000e11: PUSH2 0x0100 00000e14: EXP 00000e15: SWAP1 00000e16: DIV 00000e17: PUSH1 0xff 00000e19: AND 00000e1a: ISZERO 00000e1b: ISZERO 00000e1c: ISZERO 00000e1d: PUSH2 0x0e25 00000e20: JUMPI 00000e21: PUSH1 0x00 00000e23: DUP1 00000e24: REVERT 00000e25: JUMPDEST 00000e26: DUP2 00000e27: PUSH1 0x00 00000e29: DUP2 00000e2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e3f: AND 00000e40: EQ 00000e41: ISZERO 00000e42: ISZERO 00000e43: ISZERO 00000e44: PUSH2 0x0e4c 00000e47: JUMPI 00000e48: PUSH1 0x00 00000e4a: DUP1 00000e4b: REVERT 00000e4c: JUMPDEST 00000e4d: PUSH1 0x01 00000e4f: PUSH1 0x03 00000e51: DUP1 00000e52: SLOAD 00000e53: SWAP1 00000e54: POP 00000e55: ADD 00000e56: PUSH1 0x04 00000e58: SLOAD 00000e59: PUSH1 0x32 00000e5b: DUP3 00000e5c: GT 00000e5d: ISZERO 00000e5e: DUP1 00000e5f: ISZERO 00000e60: PUSH2 0x0e69 00000e63: JUMPI 00000e64: POP 00000e65: DUP2 00000e66: DUP2 00000e67: GT 00000e68: ISZERO 00000e69: JUMPDEST 00000e6a: DUP1 00000e6b: ISZERO 00000e6c: PUSH2 0x0e76 00000e6f: JUMPI 00000e70: POP 00000e71: PUSH1 0x00 00000e73: DUP2 00000e74: EQ 00000e75: ISZERO 00000e76: JUMPDEST 00000e77: DUP1 00000e78: ISZERO 00000e79: PUSH2 0x0e83 00000e7c: JUMPI 00000e7d: POP 00000e7e: PUSH1 0x00 00000e80: DUP3 00000e81: EQ 00000e82: ISZERO 00000e83: JUMPDEST 00000e84: ISZERO 00000e85: ISZERO 00000e86: PUSH2 0x0e8e 00000e89: JUMPI 00000e8a: PUSH1 0x00 00000e8c: DUP1 00000e8d: REVERT 00000e8e: JUMPDEST 00000e8f: PUSH1 0x01 00000e91: PUSH1 0x02 00000e93: PUSH1 0x00 00000e95: DUP8 00000e96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eab: AND 00000eac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ec1: AND 00000ec2: DUP2 00000ec3: MSTORE 00000ec4: PUSH1 0x20 00000ec6: ADD 00000ec7: SWAP1 00000ec8: DUP2 00000ec9: MSTORE 00000eca: PUSH1 0x20 00000ecc: ADD 00000ecd: PUSH1 0x00 00000ecf: KECCAK256 00000ed0: PUSH1 0x00 00000ed2: PUSH2 0x0100 00000ed5: EXP 00000ed6: DUP2 00000ed7: SLOAD 00000ed8: DUP2 00000ed9: PUSH1 0xff 00000edb: MUL 00000edc: NOT 00000edd: AND 00000ede: SWAP1 00000edf: DUP4 00000ee0: ISZERO 00000ee1: ISZERO 00000ee2: MUL 00000ee3: OR 00000ee4: SWAP1 00000ee5: SSTORE 00000ee6: POP 00000ee7: PUSH1 0x03 00000ee9: DUP1 00000eea: SLOAD 00000eeb: DUP1 00000eec: PUSH1 0x01 00000eee: ADD 00000eef: DUP3 00000ef0: DUP2 00000ef1: PUSH2 0x0efa 00000ef4: SWAP2 00000ef5: SWAP1 00000ef6: PUSH2 0x2014 00000ef9: JUMP 00000efa: JUMPDEST 00000efb: SWAP2 00000efc: PUSH1 0x00 00000efe: MSTORE 00000eff: PUSH1 0x20 00000f01: PUSH1 0x00 00000f03: KECCAK256 00000f04: SWAP1 00000f05: ADD 00000f06: PUSH1 0x00 00000f08: JUMPDEST 00000f09: DUP8 00000f0a: SWAP1 00000f0b: SWAP2 00000f0c: SWAP1 00000f0d: SWAP2 00000f0e: PUSH2 0x0100 00000f11: EXP 00000f12: DUP2 00000f13: SLOAD 00000f14: DUP2 00000f15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f2a: MUL 00000f2b: NOT 00000f2c: AND 00000f2d: SWAP1 00000f2e: DUP4 00000f2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f44: AND 00000f45: MUL 00000f46: OR 00000f47: SWAP1 00000f48: SSTORE 00000f49: POP 00000f4a: POP 00000f4b: DUP5 00000f4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f61: AND 00000f62: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00000f83: PUSH1 0x40 00000f85: MLOAD 00000f86: PUSH1 0x40 00000f88: MLOAD 00000f89: DUP1 00000f8a: SWAP2 00000f8b: SUB 00000f8c: SWAP1 00000f8d: LOG2 00000f8e: JUMPDEST 00000f8f: JUMPDEST 00000f90: POP 00000f91: POP 00000f92: JUMPDEST 00000f93: POP 00000f94: JUMPDEST 00000f95: POP 00000f96: JUMPDEST 00000f97: POP 00000f98: JUMP 00000f99: JUMPDEST 00000f9a: PUSH1 0x00 00000f9c: DUP1 00000f9d: PUSH1 0x00 00000f9f: DUP1 00000fa0: SWAP2 00000fa1: POP 00000fa2: PUSH1 0x00 00000fa4: SWAP1 00000fa5: POP 00000fa6: JUMPDEST 00000fa7: PUSH1 0x03 00000fa9: DUP1 00000faa: SLOAD 00000fab: SWAP1 00000fac: POP 00000fad: DUP2 00000fae: LT 00000faf: ISZERO 00000fb0: PUSH2 0x1079 00000fb3: JUMPI 00000fb4: PUSH1 0x01 00000fb6: PUSH1 0x00 00000fb8: DUP6 00000fb9: DUP2 00000fba: MSTORE 00000fbb: PUSH1 0x20 00000fbd: ADD 00000fbe: SWAP1 00000fbf: DUP2 00000fc0: MSTORE 00000fc1: PUSH1 0x20 00000fc3: ADD 00000fc4: PUSH1 0x00 00000fc6: KECCAK256 00000fc7: PUSH1 0x00 00000fc9: PUSH1 0x03 00000fcb: DUP4 00000fcc: DUP2 00000fcd: SLOAD 00000fce: DUP2 00000fcf: LT 00000fd0: ISZERO 00000fd1: ISZERO 00000fd2: PUSH2 0x0fd7 00000fd5: JUMPI 00000fd6: INVALID 00000fd7: JUMPDEST 00000fd8: SWAP1 00000fd9: PUSH1 0x00 00000fdb: MSTORE 00000fdc: PUSH1 0x20 00000fde: PUSH1 0x00 00000fe0: KECCAK256 00000fe1: SWAP1 00000fe2: ADD 00000fe3: PUSH1 0x00 00000fe5: JUMPDEST 00000fe6: SWAP1 00000fe7: SLOAD 00000fe8: SWAP1 00000fe9: PUSH2 0x0100 00000fec: EXP 00000fed: SWAP1 00000fee: DIV 00000fef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001004: AND 00001005: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000101a: AND 0000101b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001030: AND 00001031: DUP2 00001032: MSTORE 00001033: PUSH1 0x20 00001035: ADD 00001036: SWAP1 00001037: DUP2 00001038: MSTORE 00001039: PUSH1 0x20 0000103b: ADD 0000103c: PUSH1 0x00 0000103e: KECCAK256 0000103f: PUSH1 0x00 00001041: SWAP1 00001042: SLOAD 00001043: SWAP1 00001044: PUSH2 0x0100 00001047: EXP 00001048: SWAP1 00001049: DIV 0000104a: PUSH1 0xff 0000104c: AND 0000104d: ISZERO 0000104e: PUSH2 0x1058 00001051: JUMPI 00001052: PUSH1 0x01 00001054: DUP3 00001055: ADD 00001056: SWAP2 00001057: POP 00001058: JUMPDEST 00001059: PUSH1 0x04 0000105b: SLOAD 0000105c: DUP3 0000105d: EQ 0000105e: ISZERO 0000105f: PUSH2 0x106b 00001062: JUMPI 00001063: PUSH1 0x01 00001065: SWAP3 00001066: POP 00001067: PUSH2 0x107a 0000106a: JUMP 0000106b: JUMPDEST 0000106c: JUMPDEST 0000106d: DUP1 0000106e: DUP1 0000106f: PUSH1 0x01 00001071: ADD 00001072: SWAP2 00001073: POP 00001074: POP 00001075: PUSH2 0x0fa6 00001078: JUMP 00001079: JUMPDEST 0000107a: JUMPDEST 0000107b: POP 0000107c: POP 0000107d: SWAP2 0000107e: SWAP1 0000107f: POP 00001080: JUMP 00001081: JUMPDEST 00001082: PUSH1 0x00 00001084: DUP1 00001085: PUSH1 0x00 00001087: SWAP1 00001088: POP 00001089: JUMPDEST 0000108a: PUSH1 0x03 0000108c: DUP1 0000108d: SLOAD 0000108e: SWAP1 0000108f: POP 00001090: DUP2 00001091: LT 00001092: ISZERO 00001093: PUSH2 0x1149 00001096: JUMPI 00001097: PUSH1 0x01 00001099: PUSH1 0x00 0000109b: DUP5 0000109c: DUP2 0000109d: MSTORE 0000109e: PUSH1 0x20 000010a0: ADD 000010a1: SWAP1 000010a2: DUP2 000010a3: MSTORE 000010a4: PUSH1 0x20 000010a6: ADD 000010a7: PUSH1 0x00 000010a9: KECCAK256 000010aa: PUSH1 0x00 000010ac: PUSH1 0x03 000010ae: DUP4 000010af: DUP2 000010b0: SLOAD 000010b1: DUP2 000010b2: LT 000010b3: ISZERO 000010b4: ISZERO 000010b5: PUSH2 0x10ba 000010b8: JUMPI 000010b9: INVALID 000010ba: JUMPDEST 000010bb: SWAP1 000010bc: PUSH1 0x00 000010be: MSTORE 000010bf: PUSH1 0x20 000010c1: PUSH1 0x00 000010c3: KECCAK256 000010c4: SWAP1 000010c5: ADD 000010c6: PUSH1 0x00 000010c8: JUMPDEST 000010c9: SWAP1 000010ca: SLOAD 000010cb: SWAP1 000010cc: PUSH2 0x0100 000010cf: EXP 000010d0: SWAP1 000010d1: DIV 000010d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010e7: AND 000010e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010fd: AND 000010fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001113: AND 00001114: DUP2 00001115: MSTORE 00001116: PUSH1 0x20 00001118: ADD 00001119: SWAP1 0000111a: DUP2 0000111b: MSTORE 0000111c: PUSH1 0x20 0000111e: ADD 0000111f: PUSH1 0x00 00001121: KECCAK256 00001122: PUSH1 0x00 00001124: SWAP1 00001125: SLOAD 00001126: SWAP1 00001127: PUSH2 0x0100 0000112a: EXP 0000112b: SWAP1 0000112c: DIV 0000112d: PUSH1 0xff 0000112f: AND 00001130: ISZERO 00001131: PUSH2 0x113b 00001134: JUMPI 00001135: PUSH1 0x01 00001137: DUP3 00001138: ADD 00001139: SWAP2 0000113a: POP 0000113b: JUMPDEST 0000113c: JUMPDEST 0000113d: DUP1 0000113e: DUP1 0000113f: PUSH1 0x01 00001141: ADD 00001142: SWAP2 00001143: POP 00001144: POP 00001145: PUSH2 0x1089 00001148: JUMP 00001149: JUMPDEST 0000114a: JUMPDEST 0000114b: POP 0000114c: SWAP2 0000114d: SWAP1 0000114e: POP 0000114f: JUMP 00001150: JUMPDEST 00001151: PUSH1 0x00 00001153: PUSH1 0x20 00001155: MSTORE 00001156: DUP1 00001157: PUSH1 0x00 00001159: MSTORE 0000115a: PUSH1 0x40 0000115c: PUSH1 0x00 0000115e: KECCAK256 0000115f: PUSH1 0x00 00001161: SWAP2 00001162: POP 00001163: SWAP1 00001164: POP 00001165: DUP1 00001166: PUSH1 0x00 00001168: ADD 00001169: PUSH1 0x00 0000116b: SWAP1 0000116c: SLOAD 0000116d: SWAP1 0000116e: PUSH2 0x0100 00001171: EXP 00001172: SWAP1 00001173: DIV 00001174: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001189: AND 0000118a: SWAP1 0000118b: DUP1 0000118c: PUSH1 0x01 0000118e: ADD 0000118f: SLOAD 00001190: SWAP1 00001191: DUP1 00001192: PUSH1 0x02 00001194: ADD 00001195: SWAP1 00001196: DUP1 00001197: PUSH1 0x03 00001199: ADD 0000119a: PUSH1 0x00 0000119c: SWAP1 0000119d: SLOAD 0000119e: SWAP1 0000119f: PUSH2 0x0100 000011a2: EXP 000011a3: SWAP1 000011a4: DIV 000011a5: PUSH1 0xff 000011a7: AND 000011a8: SWAP1 000011a9: POP 000011aa: DUP5 000011ab: JUMP 000011ac: JUMPDEST 000011ad: PUSH2 0x11b4 000011b0: PUSH2 0x2040 000011b3: JUMP 000011b4: JUMPDEST 000011b5: PUSH1 0x03 000011b7: DUP1 000011b8: SLOAD 000011b9: DUP1 000011ba: PUSH1 0x20 000011bc: MUL 000011bd: PUSH1 0x20 000011bf: ADD 000011c0: PUSH1 0x40 000011c2: MLOAD 000011c3: SWAP1 000011c4: DUP2 000011c5: ADD 000011c6: PUSH1 0x40 000011c8: MSTORE 000011c9: DUP1 000011ca: SWAP3 000011cb: SWAP2 000011cc: SWAP1 000011cd: DUP2 000011ce: DUP2 000011cf: MSTORE 000011d0: PUSH1 0x20 000011d2: ADD 000011d3: DUP3 000011d4: DUP1 000011d5: SLOAD 000011d6: DUP1 000011d7: ISZERO 000011d8: PUSH2 0x1236 000011db: JUMPI 000011dc: PUSH1 0x20 000011de: MUL 000011df: DUP3 000011e0: ADD 000011e1: SWAP2 000011e2: SWAP1 000011e3: PUSH1 0x00 000011e5: MSTORE 000011e6: PUSH1 0x20 000011e8: PUSH1 0x00 000011ea: KECCAK256 000011eb: SWAP1 000011ec: JUMPDEST 000011ed: DUP2 000011ee: PUSH1 0x00 000011f0: SWAP1 000011f1: SLOAD 000011f2: SWAP1 000011f3: PUSH2 0x0100 000011f6: EXP 000011f7: SWAP1 000011f8: DIV 000011f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000120e: AND 0000120f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001224: AND 00001225: DUP2 00001226: MSTORE 00001227: PUSH1 0x20 00001229: ADD 0000122a: SWAP1 0000122b: PUSH1 0x01 0000122d: ADD 0000122e: SWAP1 0000122f: DUP1 00001230: DUP4 00001231: GT 00001232: PUSH2 0x11ec 00001235: JUMPI 00001236: JUMPDEST 00001237: POP 00001238: POP 00001239: POP 0000123a: POP 0000123b: POP 0000123c: SWAP1 0000123d: POP 0000123e: JUMPDEST 0000123f: SWAP1 00001240: JUMP 00001241: JUMPDEST 00001242: PUSH2 0x1249 00001245: PUSH2 0x2054 00001248: JUMP 00001249: JUMPDEST 0000124a: PUSH2 0x1251 0000124d: PUSH2 0x2054 00001250: JUMP 00001251: JUMPDEST 00001252: PUSH1 0x00 00001254: DUP1 00001255: PUSH1 0x05 00001257: SLOAD 00001258: PUSH1 0x40 0000125a: MLOAD 0000125b: DUP1 0000125c: MSIZE 0000125d: LT 0000125e: PUSH2 0x1264 00001261: JUMPI 00001262: POP 00001263: MSIZE 00001264: JUMPDEST 00001265: SWAP1 00001266: DUP1 00001267: DUP3 00001268: MSTORE 00001269: DUP1 0000126a: PUSH1 0x20 0000126c: MUL 0000126d: PUSH1 0x20 0000126f: ADD 00001270: DUP3 00001271: ADD 00001272: PUSH1 0x40 00001274: MSTORE 00001275: JUMPDEST 00001276: POP 00001277: SWAP3 00001278: POP 00001279: PUSH1 0x00 0000127b: SWAP2 0000127c: POP 0000127d: PUSH1 0x00 0000127f: SWAP1 00001280: POP 00001281: JUMPDEST 00001282: PUSH1 0x05 00001284: SLOAD 00001285: DUP2 00001286: LT 00001287: ISZERO 00001288: PUSH2 0x1322 0000128b: JUMPI 0000128c: DUP6 0000128d: DUP1 0000128e: ISZERO 0000128f: PUSH2 0x12b8 00001292: JUMPI 00001293: POP 00001294: PUSH1 0x00 00001296: DUP1 00001297: DUP3 00001298: DUP2 00001299: MSTORE 0000129a: PUSH1 0x20 0000129c: ADD 0000129d: SWAP1 0000129e: DUP2 0000129f: MSTORE 000012a0: PUSH1 0x20 000012a2: ADD 000012a3: PUSH1 0x00 000012a5: KECCAK256 000012a6: PUSH1 0x03 000012a8: ADD 000012a9: PUSH1 0x00 000012ab: SWAP1 000012ac: SLOAD 000012ad: SWAP1 000012ae: PUSH2 0x0100 000012b1: EXP 000012b2: SWAP1 000012b3: DIV 000012b4: PUSH1 0xff 000012b6: AND 000012b7: ISZERO 000012b8: JUMPDEST 000012b9: DUP1 000012ba: PUSH2 0x12eb 000012bd: JUMPI 000012be: POP 000012bf: DUP5 000012c0: DUP1 000012c1: ISZERO 000012c2: PUSH2 0x12ea 000012c5: JUMPI 000012c6: POP 000012c7: PUSH1 0x00 000012c9: DUP1 000012ca: DUP3 000012cb: DUP2 000012cc: MSTORE 000012cd: PUSH1 0x20 000012cf: ADD 000012d0: SWAP1 000012d1: DUP2 000012d2: MSTORE 000012d3: PUSH1 0x20 000012d5: ADD 000012d6: PUSH1 0x00 000012d8: KECCAK256 000012d9: PUSH1 0x03 000012db: ADD 000012dc: PUSH1 0x00 000012de: SWAP1 000012df: SLOAD 000012e0: SWAP1 000012e1: PUSH2 0x0100 000012e4: EXP 000012e5: SWAP1 000012e6: DIV 000012e7: PUSH1 0xff 000012e9: AND 000012ea: JUMPDEST 000012eb: JUMPDEST 000012ec: ISZERO 000012ed: PUSH2 0x1314 000012f0: JUMPI 000012f1: DUP1 000012f2: DUP4 000012f3: DUP4 000012f4: DUP2 000012f5: MLOAD 000012f6: DUP2 000012f7: LT 000012f8: ISZERO 000012f9: ISZERO 000012fa: PUSH2 0x12ff 000012fd: JUMPI 000012fe: INVALID 000012ff: JUMPDEST 00001300: SWAP1 00001301: PUSH1 0x20 00001303: ADD 00001304: SWAP1 00001305: PUSH1 0x20 00001307: MUL 00001308: ADD 00001309: DUP2 0000130a: DUP2 0000130b: MSTORE 0000130c: POP 0000130d: POP 0000130e: PUSH1 0x01 00001310: DUP3 00001311: ADD 00001312: SWAP2 00001313: POP 00001314: JUMPDEST 00001315: JUMPDEST 00001316: DUP1 00001317: DUP1 00001318: PUSH1 0x01 0000131a: ADD 0000131b: SWAP2 0000131c: POP 0000131d: POP 0000131e: PUSH2 0x1281 00001321: JUMP 00001322: JUMPDEST 00001323: DUP8 00001324: DUP8 00001325: SUB 00001326: PUSH1 0x40 00001328: MLOAD 00001329: DUP1 0000132a: MSIZE 0000132b: LT 0000132c: PUSH2 0x1332 0000132f: JUMPI 00001330: POP 00001331: MSIZE 00001332: JUMPDEST 00001333: SWAP1 00001334: DUP1 00001335: DUP3 00001336: MSTORE 00001337: DUP1 00001338: PUSH1 0x20 0000133a: MUL 0000133b: PUSH1 0x20 0000133d: ADD 0000133e: DUP3 0000133f: ADD 00001340: PUSH1 0x40 00001342: MSTORE 00001343: JUMPDEST 00001344: POP 00001345: SWAP4 00001346: POP 00001347: DUP8 00001348: SWAP1 00001349: POP 0000134a: JUMPDEST 0000134b: DUP7 0000134c: DUP2 0000134d: LT 0000134e: ISZERO 0000134f: PUSH2 0x1396 00001352: JUMPI 00001353: DUP3 00001354: DUP2 00001355: DUP2 00001356: MLOAD 00001357: DUP2 00001358: LT 00001359: ISZERO 0000135a: ISZERO 0000135b: PUSH2 0x1360 0000135e: JUMPI 0000135f: INVALID 00001360: JUMPDEST 00001361: SWAP1 00001362: PUSH1 0x20 00001364: ADD 00001365: SWAP1 00001366: PUSH1 0x20 00001368: MUL 00001369: ADD 0000136a: MLOAD 0000136b: DUP5 0000136c: DUP10 0000136d: DUP4 0000136e: SUB 0000136f: DUP2 00001370: MLOAD 00001371: DUP2 00001372: LT 00001373: ISZERO 00001374: ISZERO 00001375: PUSH2 0x137a 00001378: JUMPI 00001379: INVALID 0000137a: JUMPDEST 0000137b: SWAP1 0000137c: PUSH1 0x20 0000137e: ADD 0000137f: SWAP1 00001380: PUSH1 0x20 00001382: MUL 00001383: ADD 00001384: DUP2 00001385: DUP2 00001386: MSTORE 00001387: POP 00001388: POP 00001389: JUMPDEST 0000138a: DUP1 0000138b: DUP1 0000138c: PUSH1 0x01 0000138e: ADD 0000138f: SWAP2 00001390: POP 00001391: POP 00001392: PUSH2 0x134a 00001395: JUMP 00001396: JUMPDEST 00001397: JUMPDEST 00001398: POP 00001399: POP 0000139a: POP 0000139b: SWAP5 0000139c: SWAP4 0000139d: POP 0000139e: POP 0000139f: POP 000013a0: POP 000013a1: JUMP 000013a2: JUMPDEST 000013a3: PUSH2 0x13aa 000013a6: PUSH2 0x2040 000013a9: JUMP 000013aa: JUMPDEST 000013ab: PUSH2 0x13b2 000013ae: PUSH2 0x2040 000013b1: JUMP 000013b2: JUMPDEST 000013b3: PUSH1 0x00 000013b5: DUP1 000013b6: PUSH1 0x03 000013b8: DUP1 000013b9: SLOAD 000013ba: SWAP1 000013bb: POP 000013bc: PUSH1 0x40 000013be: MLOAD 000013bf: DUP1 000013c0: MSIZE 000013c1: LT 000013c2: PUSH2 0x13c8 000013c5: JUMPI 000013c6: POP 000013c7: MSIZE 000013c8: JUMPDEST 000013c9: SWAP1 000013ca: DUP1 000013cb: DUP3 000013cc: MSTORE 000013cd: DUP1 000013ce: PUSH1 0x20 000013d0: MUL 000013d1: PUSH1 0x20 000013d3: ADD 000013d4: DUP3 000013d5: ADD 000013d6: PUSH1 0x40 000013d8: MSTORE 000013d9: JUMPDEST 000013da: POP 000013db: SWAP3 000013dc: POP 000013dd: PUSH1 0x00 000013df: SWAP2 000013e0: POP 000013e1: PUSH1 0x00 000013e3: SWAP1 000013e4: POP 000013e5: JUMPDEST 000013e6: PUSH1 0x03 000013e8: DUP1 000013e9: SLOAD 000013ea: SWAP1 000013eb: POP 000013ec: DUP2 000013ed: LT 000013ee: ISZERO 000013ef: PUSH2 0x152b 000013f2: JUMPI 000013f3: PUSH1 0x01 000013f5: PUSH1 0x00 000013f7: DUP7 000013f8: DUP2 000013f9: MSTORE 000013fa: PUSH1 0x20 000013fc: ADD 000013fd: SWAP1 000013fe: DUP2 000013ff: MSTORE 00001400: PUSH1 0x20 00001402: ADD 00001403: PUSH1 0x00 00001405: KECCAK256 00001406: PUSH1 0x00 00001408: PUSH1 0x03 0000140a: DUP4 0000140b: DUP2 0000140c: SLOAD 0000140d: DUP2 0000140e: LT 0000140f: ISZERO 00001410: ISZERO 00001411: PUSH2 0x1416 00001414: JUMPI 00001415: INVALID 00001416: JUMPDEST 00001417: SWAP1 00001418: PUSH1 0x00 0000141a: MSTORE 0000141b: PUSH1 0x20 0000141d: PUSH1 0x00 0000141f: KECCAK256 00001420: SWAP1 00001421: ADD 00001422: PUSH1 0x00 00001424: JUMPDEST 00001425: SWAP1 00001426: SLOAD 00001427: SWAP1 00001428: PUSH2 0x0100 0000142b: EXP 0000142c: SWAP1 0000142d: DIV 0000142e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001443: AND 00001444: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001459: AND 0000145a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000146f: AND 00001470: DUP2 00001471: MSTORE 00001472: PUSH1 0x20 00001474: ADD 00001475: SWAP1 00001476: DUP2 00001477: MSTORE 00001478: PUSH1 0x20 0000147a: ADD 0000147b: PUSH1 0x00 0000147d: KECCAK256 0000147e: PUSH1 0x00 00001480: SWAP1 00001481: SLOAD 00001482: SWAP1 00001483: PUSH2 0x0100 00001486: EXP 00001487: SWAP1 00001488: DIV 00001489: PUSH1 0xff 0000148b: AND 0000148c: ISZERO 0000148d: PUSH2 0x151d 00001490: JUMPI 00001491: PUSH1 0x03 00001493: DUP2 00001494: DUP2 00001495: SLOAD 00001496: DUP2 00001497: LT 00001498: ISZERO 00001499: ISZERO 0000149a: PUSH2 0x149f 0000149d: JUMPI 0000149e: INVALID 0000149f: JUMPDEST 000014a0: SWAP1 000014a1: PUSH1 0x00 000014a3: MSTORE 000014a4: PUSH1 0x20 000014a6: PUSH1 0x00 000014a8: KECCAK256 000014a9: SWAP1 000014aa: ADD 000014ab: PUSH1 0x00 000014ad: JUMPDEST 000014ae: SWAP1 000014af: SLOAD 000014b0: SWAP1 000014b1: PUSH2 0x0100 000014b4: EXP 000014b5: SWAP1 000014b6: DIV 000014b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014cc: AND 000014cd: DUP4 000014ce: DUP4 000014cf: DUP2 000014d0: MLOAD 000014d1: DUP2 000014d2: LT 000014d3: ISZERO 000014d4: ISZERO 000014d5: PUSH2 0x14da 000014d8: JUMPI 000014d9: INVALID 000014da: JUMPDEST 000014db: SWAP1 000014dc: PUSH1 0x20 000014de: ADD 000014df: SWAP1 000014e0: PUSH1 0x20 000014e2: MUL 000014e3: ADD 000014e4: SWAP1 000014e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014fa: AND 000014fb: SWAP1 000014fc: DUP2 000014fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001512: AND 00001513: DUP2 00001514: MSTORE 00001515: POP 00001516: POP 00001517: PUSH1 0x01 00001519: DUP3 0000151a: ADD 0000151b: SWAP2 0000151c: POP 0000151d: JUMPDEST 0000151e: JUMPDEST 0000151f: DUP1 00001520: DUP1 00001521: PUSH1 0x01 00001523: ADD 00001524: SWAP2 00001525: POP 00001526: POP 00001527: PUSH2 0x13e5 0000152a: JUMP 0000152b: JUMPDEST 0000152c: DUP2 0000152d: PUSH1 0x40 0000152f: MLOAD 00001530: DUP1 00001531: MSIZE 00001532: LT 00001533: PUSH2 0x1539 00001536: JUMPI 00001537: POP 00001538: MSIZE 00001539: JUMPDEST 0000153a: SWAP1 0000153b: DUP1 0000153c: DUP3 0000153d: MSTORE 0000153e: DUP1 0000153f: PUSH1 0x20 00001541: MUL 00001542: PUSH1 0x20 00001544: ADD 00001545: DUP3 00001546: ADD 00001547: PUSH1 0x40 00001549: MSTORE 0000154a: JUMPDEST 0000154b: POP 0000154c: SWAP4 0000154d: POP 0000154e: PUSH1 0x00 00001550: SWAP1 00001551: POP 00001552: JUMPDEST 00001553: DUP2 00001554: DUP2 00001555: LT 00001556: ISZERO 00001557: PUSH2 0x15ca 0000155a: JUMPI 0000155b: DUP3 0000155c: DUP2 0000155d: DUP2 0000155e: MLOAD 0000155f: DUP2 00001560: LT 00001561: ISZERO 00001562: ISZERO 00001563: PUSH2 0x1568 00001566: JUMPI 00001567: INVALID 00001568: JUMPDEST 00001569: SWAP1 0000156a: PUSH1 0x20 0000156c: ADD 0000156d: SWAP1 0000156e: PUSH1 0x20 00001570: MUL 00001571: ADD 00001572: MLOAD 00001573: DUP5 00001574: DUP3 00001575: DUP2 00001576: MLOAD 00001577: DUP2 00001578: LT 00001579: ISZERO 0000157a: ISZERO 0000157b: PUSH2 0x1580 0000157e: JUMPI 0000157f: INVALID 00001580: JUMPDEST 00001581: SWAP1 00001582: PUSH1 0x20 00001584: ADD 00001585: SWAP1 00001586: PUSH1 0x20 00001588: MUL 00001589: ADD 0000158a: SWAP1 0000158b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015a0: AND 000015a1: SWAP1 000015a2: DUP2 000015a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015b8: AND 000015b9: DUP2 000015ba: MSTORE 000015bb: POP 000015bc: POP 000015bd: JUMPDEST 000015be: DUP1 000015bf: DUP1 000015c0: PUSH1 0x01 000015c2: ADD 000015c3: SWAP2 000015c4: POP 000015c5: POP 000015c6: PUSH2 0x1552 000015c9: JUMP 000015ca: JUMPDEST 000015cb: JUMPDEST 000015cc: POP 000015cd: POP 000015ce: POP 000015cf: SWAP2 000015d0: SWAP1 000015d1: POP 000015d2: JUMP 000015d3: JUMPDEST 000015d4: PUSH1 0x05 000015d6: SLOAD 000015d7: DUP2 000015d8: JUMP 000015d9: JUMPDEST 000015da: ADDRESS 000015db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015f0: AND 000015f1: CALLER 000015f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001607: AND 00001608: EQ 00001609: ISZERO 0000160a: ISZERO 0000160b: PUSH2 0x1613 0000160e: JUMPI 0000160f: PUSH1 0x00 00001611: DUP1 00001612: REVERT 00001613: JUMPDEST 00001614: PUSH1 0x03 00001616: DUP1 00001617: SLOAD 00001618: SWAP1 00001619: POP 0000161a: DUP2 0000161b: PUSH1 0x32 0000161d: DUP3 0000161e: GT 0000161f: ISZERO 00001620: DUP1 00001621: ISZERO 00001622: PUSH2 0x162b 00001625: JUMPI 00001626: POP 00001627: DUP2 00001628: DUP2 00001629: GT 0000162a: ISZERO 0000162b: JUMPDEST 0000162c: DUP1 0000162d: ISZERO 0000162e: PUSH2 0x1638 00001631: JUMPI 00001632: POP 00001633: PUSH1 0x00 00001635: DUP2 00001636: EQ 00001637: ISZERO 00001638: JUMPDEST 00001639: DUP1 0000163a: ISZERO 0000163b: PUSH2 0x1645 0000163e: JUMPI 0000163f: POP 00001640: PUSH1 0x00 00001642: DUP3 00001643: EQ 00001644: ISZERO 00001645: JUMPDEST 00001646: ISZERO 00001647: ISZERO 00001648: PUSH2 0x1650 0000164b: JUMPI 0000164c: PUSH1 0x00 0000164e: DUP1 0000164f: REVERT 00001650: JUMPDEST 00001651: DUP3 00001652: PUSH1 0x04 00001654: DUP2 00001655: SWAP1 00001656: SSTORE 00001657: POP 00001658: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a 00001679: DUP4 0000167a: PUSH1 0x40 0000167c: MLOAD 0000167d: DUP1 0000167e: DUP3 0000167f: DUP2 00001680: MSTORE 00001681: PUSH1 0x20 00001683: ADD 00001684: SWAP2 00001685: POP 00001686: POP 00001687: PUSH1 0x40 00001689: MLOAD 0000168a: DUP1 0000168b: SWAP2 0000168c: SUB 0000168d: SWAP1 0000168e: LOG1 0000168f: JUMPDEST 00001690: JUMPDEST 00001691: POP 00001692: POP 00001693: JUMPDEST 00001694: POP 00001695: JUMP 00001696: JUMPDEST 00001697: CALLER 00001698: PUSH1 0x02 0000169a: PUSH1 0x00 0000169c: DUP3 0000169d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b2: AND 000016b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c8: AND 000016c9: DUP2 000016ca: MSTORE 000016cb: PUSH1 0x20 000016cd: ADD 000016ce: SWAP1 000016cf: DUP2 000016d0: MSTORE 000016d1: PUSH1 0x20 000016d3: ADD 000016d4: PUSH1 0x00 000016d6: KECCAK256 000016d7: PUSH1 0x00 000016d9: SWAP1 000016da: SLOAD 000016db: SWAP1 000016dc: PUSH2 0x0100 000016df: EXP 000016e0: SWAP1 000016e1: DIV 000016e2: PUSH1 0xff 000016e4: AND 000016e5: ISZERO 000016e6: ISZERO 000016e7: PUSH2 0x16ef 000016ea: JUMPI 000016eb: PUSH1 0x00 000016ed: DUP1 000016ee: REVERT 000016ef: JUMPDEST 000016f0: DUP2 000016f1: PUSH1 0x00 000016f3: DUP1 000016f4: PUSH1 0x00 000016f6: DUP4 000016f7: DUP2 000016f8: MSTORE 000016f9: PUSH1 0x20 000016fb: ADD 000016fc: SWAP1 000016fd: DUP2 000016fe: MSTORE 000016ff: PUSH1 0x20 00001701: ADD 00001702: PUSH1 0x00 00001704: KECCAK256 00001705: PUSH1 0x00 00001707: ADD 00001708: PUSH1 0x00 0000170a: SWAP1 0000170b: SLOAD 0000170c: SWAP1 0000170d: PUSH2 0x0100 00001710: EXP 00001711: SWAP1 00001712: DIV 00001713: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001728: AND 00001729: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000173e: AND 0000173f: EQ 00001740: ISZERO 00001741: ISZERO 00001742: ISZERO 00001743: PUSH2 0x174b 00001746: JUMPI 00001747: PUSH1 0x00 00001749: DUP1 0000174a: REVERT 0000174b: JUMPDEST 0000174c: DUP3 0000174d: CALLER 0000174e: PUSH1 0x01 00001750: PUSH1 0x00 00001752: DUP4 00001753: DUP2 00001754: MSTORE 00001755: PUSH1 0x20 00001757: ADD 00001758: SWAP1 00001759: DUP2 0000175a: MSTORE 0000175b: PUSH1 0x20 0000175d: ADD 0000175e: PUSH1 0x00 00001760: KECCAK256 00001761: PUSH1 0x00 00001763: DUP3 00001764: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001779: AND 0000177a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000178f: AND 00001790: DUP2 00001791: MSTORE 00001792: PUSH1 0x20 00001794: ADD 00001795: SWAP1 00001796: DUP2 00001797: MSTORE 00001798: PUSH1 0x20 0000179a: ADD 0000179b: PUSH1 0x00 0000179d: KECCAK256 0000179e: PUSH1 0x00 000017a0: SWAP1 000017a1: SLOAD 000017a2: SWAP1 000017a3: PUSH2 0x0100 000017a6: EXP 000017a7: SWAP1 000017a8: DIV 000017a9: PUSH1 0xff 000017ab: AND 000017ac: ISZERO 000017ad: ISZERO 000017ae: ISZERO 000017af: PUSH2 0x17b7 000017b2: JUMPI 000017b3: PUSH1 0x00 000017b5: DUP1 000017b6: REVERT 000017b7: JUMPDEST 000017b8: PUSH1 0x01 000017ba: DUP1 000017bb: PUSH1 0x00 000017bd: DUP8 000017be: DUP2 000017bf: MSTORE 000017c0: PUSH1 0x20 000017c2: ADD 000017c3: SWAP1 000017c4: DUP2 000017c5: MSTORE 000017c6: PUSH1 0x20 000017c8: ADD 000017c9: PUSH1 0x00 000017cb: KECCAK256 000017cc: PUSH1 0x00 000017ce: CALLER 000017cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017e4: AND 000017e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017fa: AND 000017fb: DUP2 000017fc: MSTORE 000017fd: PUSH1 0x20 000017ff: ADD 00001800: SWAP1 00001801: DUP2 00001802: MSTORE 00001803: PUSH1 0x20 00001805: ADD 00001806: PUSH1 0x00 00001808: KECCAK256 00001809: PUSH1 0x00 0000180b: PUSH2 0x0100 0000180e: EXP 0000180f: DUP2 00001810: SLOAD 00001811: DUP2 00001812: PUSH1 0xff 00001814: MUL 00001815: NOT 00001816: AND 00001817: SWAP1 00001818: DUP4 00001819: ISZERO 0000181a: ISZERO 0000181b: MUL 0000181c: OR 0000181d: SWAP1 0000181e: SSTORE 0000181f: POP 00001820: DUP5 00001821: CALLER 00001822: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001837: AND 00001838: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef 00001859: PUSH1 0x40 0000185b: MLOAD 0000185c: PUSH1 0x40 0000185e: MLOAD 0000185f: DUP1 00001860: SWAP2 00001861: SUB 00001862: SWAP1 00001863: LOG3 00001864: PUSH2 0x186c 00001867: DUP6 00001868: PUSH2 0x1bc0 0000186b: JUMP 0000186c: JUMPDEST 0000186d: JUMPDEST 0000186e: JUMPDEST 0000186f: POP 00001870: POP 00001871: JUMPDEST 00001872: POP 00001873: JUMPDEST 00001874: POP 00001875: POP 00001876: JUMP 00001877: JUMPDEST 00001878: PUSH1 0x00 0000187a: PUSH2 0x1884 0000187d: DUP5 0000187e: DUP5 0000187f: DUP5 00001880: PUSH2 0x1e6c 00001883: JUMP 00001884: JUMPDEST 00001885: SWAP1 00001886: POP 00001887: PUSH2 0x188f 0000188a: DUP2 0000188b: PUSH2 0x1696 0000188e: JUMP 0000188f: JUMPDEST 00001890: JUMPDEST 00001891: SWAP4 00001892: SWAP3 00001893: POP 00001894: POP 00001895: POP 00001896: JUMP 00001897: JUMPDEST 00001898: PUSH1 0x32 0000189a: DUP2 0000189b: JUMP 0000189c: JUMPDEST 0000189d: PUSH1 0x04 0000189f: SLOAD 000018a0: DUP2 000018a1: JUMP 000018a2: JUMPDEST 000018a3: PUSH1 0x00 000018a5: ADDRESS 000018a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018bb: AND 000018bc: CALLER 000018bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018d2: AND 000018d3: EQ 000018d4: ISZERO 000018d5: ISZERO 000018d6: PUSH2 0x18de 000018d9: JUMPI 000018da: PUSH1 0x00 000018dc: DUP1 000018dd: REVERT 000018de: JUMPDEST 000018df: DUP3 000018e0: PUSH1 0x02 000018e2: PUSH1 0x00 000018e4: DUP3 000018e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018fa: AND 000018fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001910: AND 00001911: DUP2 00001912: MSTORE 00001913: PUSH1 0x20 00001915: ADD 00001916: SWAP1 00001917: DUP2 00001918: MSTORE 00001919: PUSH1 0x20 0000191b: ADD 0000191c: PUSH1 0x00 0000191e: KECCAK256 0000191f: PUSH1 0x00 00001921: SWAP1 00001922: SLOAD 00001923: SWAP1 00001924: PUSH2 0x0100 00001927: EXP 00001928: SWAP1 00001929: DIV 0000192a: PUSH1 0xff 0000192c: AND 0000192d: ISZERO 0000192e: ISZERO 0000192f: PUSH2 0x1937 00001932: JUMPI 00001933: PUSH1 0x00 00001935: DUP1 00001936: REVERT 00001937: JUMPDEST 00001938: DUP3 00001939: PUSH1 0x02 0000193b: PUSH1 0x00 0000193d: DUP3 0000193e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001953: AND 00001954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001969: AND 0000196a: DUP2 0000196b: MSTORE 0000196c: PUSH1 0x20 0000196e: ADD 0000196f: SWAP1 00001970: DUP2 00001971: MSTORE 00001972: PUSH1 0x20 00001974: ADD 00001975: PUSH1 0x00 00001977: KECCAK256 00001978: PUSH1 0x00 0000197a: SWAP1 0000197b: SLOAD 0000197c: SWAP1 0000197d: PUSH2 0x0100 00001980: EXP 00001981: SWAP1 00001982: DIV 00001983: PUSH1 0xff 00001985: AND 00001986: ISZERO 00001987: ISZERO 00001988: ISZERO 00001989: PUSH2 0x1991 0000198c: JUMPI 0000198d: PUSH1 0x00 0000198f: DUP1 00001990: REVERT 00001991: JUMPDEST 00001992: PUSH1 0x00 00001994: SWAP3 00001995: POP 00001996: JUMPDEST 00001997: PUSH1 0x03 00001999: DUP1 0000199a: SLOAD 0000199b: SWAP1 0000199c: POP 0000199d: DUP4 0000199e: LT 0000199f: ISZERO 000019a0: PUSH2 0x1a7f 000019a3: JUMPI 000019a4: DUP5 000019a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ba: AND 000019bb: PUSH1 0x03 000019bd: DUP5 000019be: DUP2 000019bf: SLOAD 000019c0: DUP2 000019c1: LT 000019c2: ISZERO 000019c3: ISZERO 000019c4: PUSH2 0x19c9 000019c7: JUMPI 000019c8: INVALID 000019c9: JUMPDEST 000019ca: SWAP1 000019cb: PUSH1 0x00 000019cd: MSTORE 000019ce: PUSH1 0x20 000019d0: PUSH1 0x00 000019d2: KECCAK256 000019d3: SWAP1 000019d4: ADD 000019d5: PUSH1 0x00 000019d7: JUMPDEST 000019d8: SWAP1 000019d9: SLOAD 000019da: SWAP1 000019db: PUSH2 0x0100 000019de: EXP 000019df: SWAP1 000019e0: DIV 000019e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019f6: AND 000019f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a0c: AND 00001a0d: EQ 00001a0e: ISZERO 00001a0f: PUSH2 0x1a71 00001a12: JUMPI 00001a13: DUP4 00001a14: PUSH1 0x03 00001a16: DUP5 00001a17: DUP2 00001a18: SLOAD 00001a19: DUP2 00001a1a: LT 00001a1b: ISZERO 00001a1c: ISZERO 00001a1d: PUSH2 0x1a22 00001a20: JUMPI 00001a21: INVALID 00001a22: JUMPDEST 00001a23: SWAP1 00001a24: PUSH1 0x00 00001a26: MSTORE 00001a27: PUSH1 0x20 00001a29: PUSH1 0x00 00001a2b: KECCAK256 00001a2c: SWAP1 00001a2d: ADD 00001a2e: PUSH1 0x00 00001a30: JUMPDEST 00001a31: PUSH2 0x0100 00001a34: EXP 00001a35: DUP2 00001a36: SLOAD 00001a37: DUP2 00001a38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a4d: MUL 00001a4e: NOT 00001a4f: AND 00001a50: SWAP1 00001a51: DUP4 00001a52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a67: AND 00001a68: MUL 00001a69: OR 00001a6a: SWAP1 00001a6b: SSTORE 00001a6c: POP 00001a6d: PUSH2 0x1a7f 00001a70: JUMP 00001a71: JUMPDEST 00001a72: JUMPDEST 00001a73: DUP3 00001a74: DUP1 00001a75: PUSH1 0x01 00001a77: ADD 00001a78: SWAP4 00001a79: POP 00001a7a: POP 00001a7b: PUSH2 0x1996 00001a7e: JUMP 00001a7f: JUMPDEST 00001a80: PUSH1 0x00 00001a82: PUSH1 0x02 00001a84: PUSH1 0x00 00001a86: DUP8 00001a87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a9c: AND 00001a9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab2: AND 00001ab3: DUP2 00001ab4: MSTORE 00001ab5: PUSH1 0x20 00001ab7: ADD 00001ab8: SWAP1 00001ab9: DUP2 00001aba: MSTORE 00001abb: PUSH1 0x20 00001abd: ADD 00001abe: PUSH1 0x00 00001ac0: KECCAK256 00001ac1: PUSH1 0x00 00001ac3: PUSH2 0x0100 00001ac6: EXP 00001ac7: DUP2 00001ac8: SLOAD 00001ac9: DUP2 00001aca: PUSH1 0xff 00001acc: MUL 00001acd: NOT 00001ace: AND 00001acf: SWAP1 00001ad0: DUP4 00001ad1: ISZERO 00001ad2: ISZERO 00001ad3: MUL 00001ad4: OR 00001ad5: SWAP1 00001ad6: SSTORE 00001ad7: POP 00001ad8: PUSH1 0x01 00001ada: PUSH1 0x02 00001adc: PUSH1 0x00 00001ade: DUP7 00001adf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001af4: AND 00001af5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b0a: AND 00001b0b: DUP2 00001b0c: MSTORE 00001b0d: PUSH1 0x20 00001b0f: ADD 00001b10: SWAP1 00001b11: DUP2 00001b12: MSTORE 00001b13: PUSH1 0x20 00001b15: ADD 00001b16: PUSH1 0x00 00001b18: KECCAK256 00001b19: PUSH1 0x00 00001b1b: PUSH2 0x0100 00001b1e: EXP 00001b1f: DUP2 00001b20: SLOAD 00001b21: DUP2 00001b22: PUSH1 0xff 00001b24: MUL 00001b25: NOT 00001b26: AND 00001b27: SWAP1 00001b28: DUP4 00001b29: ISZERO 00001b2a: ISZERO 00001b2b: MUL 00001b2c: OR 00001b2d: SWAP1 00001b2e: SSTORE 00001b2f: POP 00001b30: DUP5 00001b31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b46: AND 00001b47: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00001b68: PUSH1 0x40 00001b6a: MLOAD 00001b6b: PUSH1 0x40 00001b6d: MLOAD 00001b6e: DUP1 00001b6f: SWAP2 00001b70: SUB 00001b71: SWAP1 00001b72: LOG2 00001b73: DUP4 00001b74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b89: AND 00001b8a: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00001bab: PUSH1 0x40 00001bad: MLOAD 00001bae: PUSH1 0x40 00001bb0: MLOAD 00001bb1: DUP1 00001bb2: SWAP2 00001bb3: SUB 00001bb4: SWAP1 00001bb5: LOG2 00001bb6: JUMPDEST 00001bb7: JUMPDEST 00001bb8: POP 00001bb9: JUMPDEST 00001bba: POP 00001bbb: JUMPDEST 00001bbc: POP 00001bbd: POP 00001bbe: POP 00001bbf: JUMP 00001bc0: JUMPDEST 00001bc1: PUSH1 0x00 00001bc3: CALLER 00001bc4: PUSH1 0x02 00001bc6: PUSH1 0x00 00001bc8: DUP3 00001bc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bde: AND 00001bdf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bf4: AND 00001bf5: DUP2 00001bf6: MSTORE 00001bf7: PUSH1 0x20 00001bf9: ADD 00001bfa: SWAP1 00001bfb: DUP2 00001bfc: MSTORE 00001bfd: PUSH1 0x20 00001bff: ADD 00001c00: PUSH1 0x00 00001c02: KECCAK256 00001c03: PUSH1 0x00 00001c05: SWAP1 00001c06: SLOAD 00001c07: SWAP1 00001c08: PUSH2 0x0100 00001c0b: EXP 00001c0c: SWAP1 00001c0d: DIV 00001c0e: PUSH1 0xff 00001c10: AND 00001c11: ISZERO 00001c12: ISZERO 00001c13: PUSH2 0x1c1b 00001c16: JUMPI 00001c17: PUSH1 0x00 00001c19: DUP1 00001c1a: REVERT 00001c1b: JUMPDEST 00001c1c: DUP3 00001c1d: CALLER 00001c1e: PUSH1 0x01 00001c20: PUSH1 0x00 00001c22: DUP4 00001c23: DUP2 00001c24: MSTORE 00001c25: PUSH1 0x20 00001c27: ADD 00001c28: SWAP1 00001c29: DUP2 00001c2a: MSTORE 00001c2b: PUSH1 0x20 00001c2d: ADD 00001c2e: PUSH1 0x00 00001c30: KECCAK256 00001c31: PUSH1 0x00 00001c33: DUP3 00001c34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c49: AND 00001c4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c5f: AND 00001c60: DUP2 00001c61: MSTORE 00001c62: PUSH1 0x20 00001c64: ADD 00001c65: SWAP1 00001c66: DUP2 00001c67: MSTORE 00001c68: PUSH1 0x20 00001c6a: ADD 00001c6b: PUSH1 0x00 00001c6d: KECCAK256 00001c6e: PUSH1 0x00 00001c70: SWAP1 00001c71: SLOAD 00001c72: SWAP1 00001c73: PUSH2 0x0100 00001c76: EXP 00001c77: SWAP1 00001c78: DIV 00001c79: PUSH1 0xff 00001c7b: AND 00001c7c: ISZERO 00001c7d: ISZERO 00001c7e: PUSH2 0x1c86 00001c81: JUMPI 00001c82: PUSH1 0x00 00001c84: DUP1 00001c85: REVERT 00001c86: JUMPDEST 00001c87: DUP5 00001c88: PUSH1 0x00 00001c8a: DUP1 00001c8b: DUP3 00001c8c: DUP2 00001c8d: MSTORE 00001c8e: PUSH1 0x20 00001c90: ADD 00001c91: SWAP1 00001c92: DUP2 00001c93: MSTORE 00001c94: PUSH1 0x20 00001c96: ADD 00001c97: PUSH1 0x00 00001c99: KECCAK256 00001c9a: PUSH1 0x03 00001c9c: ADD 00001c9d: PUSH1 0x00 00001c9f: SWAP1 00001ca0: SLOAD 00001ca1: SWAP1 00001ca2: PUSH2 0x0100 00001ca5: EXP 00001ca6: SWAP1 00001ca7: DIV 00001ca8: PUSH1 0xff 00001caa: AND 00001cab: ISZERO 00001cac: ISZERO 00001cad: ISZERO 00001cae: PUSH2 0x1cb6 00001cb1: JUMPI 00001cb2: PUSH1 0x00 00001cb4: DUP1 00001cb5: REVERT 00001cb6: JUMPDEST 00001cb7: PUSH2 0x1cbf 00001cba: DUP7 00001cbb: PUSH2 0x0f99 00001cbe: JUMP 00001cbf: JUMPDEST 00001cc0: ISZERO 00001cc1: PUSH2 0x1e60 00001cc4: JUMPI 00001cc5: PUSH1 0x00 00001cc7: DUP1 00001cc8: DUP8 00001cc9: DUP2 00001cca: MSTORE 00001ccb: PUSH1 0x20 00001ccd: ADD 00001cce: SWAP1 00001ccf: DUP2 00001cd0: MSTORE 00001cd1: PUSH1 0x20 00001cd3: ADD 00001cd4: PUSH1 0x00 00001cd6: KECCAK256 00001cd7: SWAP5 00001cd8: POP 00001cd9: PUSH1 0x01 00001cdb: DUP6 00001cdc: PUSH1 0x03 00001cde: ADD 00001cdf: PUSH1 0x00 00001ce1: PUSH2 0x0100 00001ce4: EXP 00001ce5: DUP2 00001ce6: SLOAD 00001ce7: DUP2 00001ce8: PUSH1 0xff 00001cea: MUL 00001ceb: NOT 00001cec: AND 00001ced: SWAP1 00001cee: DUP4 00001cef: ISZERO 00001cf0: ISZERO 00001cf1: MUL 00001cf2: OR 00001cf3: SWAP1 00001cf4: SSTORE 00001cf5: POP 00001cf6: PUSH2 0x1ddd 00001cf9: DUP6 00001cfa: PUSH1 0x00 00001cfc: ADD 00001cfd: PUSH1 0x00 00001cff: SWAP1 00001d00: SLOAD 00001d01: SWAP1 00001d02: PUSH2 0x0100 00001d05: EXP 00001d06: SWAP1 00001d07: DIV 00001d08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d1d: AND 00001d1e: DUP7 00001d1f: PUSH1 0x01 00001d21: ADD 00001d22: SLOAD 00001d23: DUP8 00001d24: PUSH1 0x02 00001d26: ADD 00001d27: DUP1 00001d28: SLOAD 00001d29: PUSH1 0x01 00001d2b: DUP2 00001d2c: PUSH1 0x01 00001d2e: AND 00001d2f: ISZERO 00001d30: PUSH2 0x0100 00001d33: MUL 00001d34: SUB 00001d35: AND 00001d36: PUSH1 0x02 00001d38: SWAP1 00001d39: DIV 00001d3a: SWAP1 00001d3b: POP 00001d3c: DUP9 00001d3d: PUSH1 0x02 00001d3f: ADD 00001d40: DUP1 00001d41: SLOAD 00001d42: PUSH1 0x01 00001d44: DUP2 00001d45: PUSH1 0x01 00001d47: AND 00001d48: ISZERO 00001d49: PUSH2 0x0100 00001d4c: MUL 00001d4d: SUB 00001d4e: AND 00001d4f: PUSH1 0x02 00001d51: SWAP1 00001d52: DIV 00001d53: DUP1 00001d54: PUSH1 0x1f 00001d56: ADD 00001d57: PUSH1 0x20 00001d59: DUP1 00001d5a: SWAP2 00001d5b: DIV 00001d5c: MUL 00001d5d: PUSH1 0x20 00001d5f: ADD 00001d60: PUSH1 0x40 00001d62: MLOAD 00001d63: SWAP1 00001d64: DUP2 00001d65: ADD 00001d66: PUSH1 0x40 00001d68: MSTORE 00001d69: DUP1 00001d6a: SWAP3 00001d6b: SWAP2 00001d6c: SWAP1 00001d6d: DUP2 00001d6e: DUP2 00001d6f: MSTORE 00001d70: PUSH1 0x20 00001d72: ADD 00001d73: DUP3 00001d74: DUP1 00001d75: SLOAD 00001d76: PUSH1 0x01 00001d78: DUP2 00001d79: PUSH1 0x01 00001d7b: AND 00001d7c: ISZERO 00001d7d: PUSH2 0x0100 00001d80: MUL 00001d81: SUB 00001d82: AND 00001d83: PUSH1 0x02 00001d85: SWAP1 00001d86: DIV 00001d87: DUP1 00001d88: ISZERO 00001d89: PUSH2 0x1dd3 00001d8c: JUMPI 00001d8d: DUP1 00001d8e: PUSH1 0x1f 00001d90: LT 00001d91: PUSH2 0x1da8 00001d94: JUMPI 00001d95: PUSH2 0x0100 00001d98: DUP1 00001d99: DUP4 00001d9a: SLOAD 00001d9b: DIV 00001d9c: MUL 00001d9d: DUP4 00001d9e: MSTORE 00001d9f: SWAP2 00001da0: PUSH1 0x20 00001da2: ADD 00001da3: SWAP2 00001da4: PUSH2 0x1dd3 00001da7: JUMP 00001da8: JUMPDEST 00001da9: DUP3 00001daa: ADD 00001dab: SWAP2 00001dac: SWAP1 00001dad: PUSH1 0x00 00001daf: MSTORE 00001db0: PUSH1 0x20 00001db2: PUSH1 0x00 00001db4: KECCAK256 00001db5: SWAP1 00001db6: JUMPDEST 00001db7: DUP2 00001db8: SLOAD 00001db9: DUP2 00001dba: MSTORE 00001dbb: SWAP1 00001dbc: PUSH1 0x01 00001dbe: ADD 00001dbf: SWAP1 00001dc0: PUSH1 0x20 00001dc2: ADD 00001dc3: DUP1 00001dc4: DUP4 00001dc5: GT 00001dc6: PUSH2 0x1db6 00001dc9: JUMPI 00001dca: DUP3 00001dcb: SWAP1 00001dcc: SUB 00001dcd: PUSH1 0x1f 00001dcf: AND 00001dd0: DUP3 00001dd1: ADD 00001dd2: SWAP2 00001dd3: JUMPDEST 00001dd4: POP 00001dd5: POP 00001dd6: POP 00001dd7: POP 00001dd8: POP 00001dd9: PUSH2 0x1fc0 00001ddc: JUMP 00001ddd: JUMPDEST 00001dde: ISZERO 00001ddf: PUSH2 0x1e14 00001de2: JUMPI 00001de3: DUP6 00001de4: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75 00001e05: PUSH1 0x40 00001e07: MLOAD 00001e08: PUSH1 0x40 00001e0a: MLOAD 00001e0b: DUP1 00001e0c: SWAP2 00001e0d: SUB 00001e0e: SWAP1 00001e0f: LOG2 00001e10: PUSH2 0x1e5f 00001e13: JUMP 00001e14: JUMPDEST 00001e15: DUP6 00001e16: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236 00001e37: PUSH1 0x40 00001e39: MLOAD 00001e3a: PUSH1 0x40 00001e3c: MLOAD 00001e3d: DUP1 00001e3e: SWAP2 00001e3f: SUB 00001e40: SWAP1 00001e41: LOG2 00001e42: PUSH1 0x00 00001e44: DUP6 00001e45: PUSH1 0x03 00001e47: ADD 00001e48: PUSH1 0x00 00001e4a: PUSH2 0x0100 00001e4d: EXP 00001e4e: DUP2 00001e4f: SLOAD 00001e50: DUP2 00001e51: PUSH1 0xff 00001e53: MUL 00001e54: NOT 00001e55: AND 00001e56: SWAP1 00001e57: DUP4 00001e58: ISZERO 00001e59: ISZERO 00001e5a: MUL 00001e5b: OR 00001e5c: SWAP1 00001e5d: SSTORE 00001e5e: POP 00001e5f: JUMPDEST 00001e60: JUMPDEST 00001e61: JUMPDEST 00001e62: JUMPDEST 00001e63: POP 00001e64: JUMPDEST 00001e65: POP 00001e66: POP 00001e67: JUMPDEST 00001e68: POP 00001e69: POP 00001e6a: POP 00001e6b: JUMP 00001e6c: JUMPDEST 00001e6d: PUSH1 0x00 00001e6f: DUP4 00001e70: PUSH1 0x00 00001e72: DUP2 00001e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e88: AND 00001e89: EQ 00001e8a: ISZERO 00001e8b: ISZERO 00001e8c: ISZERO 00001e8d: PUSH2 0x1e95 00001e90: JUMPI 00001e91: PUSH1 0x00 00001e93: DUP1 00001e94: REVERT 00001e95: JUMPDEST 00001e96: PUSH1 0x05 00001e98: SLOAD 00001e99: SWAP2 00001e9a: POP 00001e9b: PUSH1 0x80 00001e9d: PUSH1 0x40 00001e9f: MLOAD 00001ea0: SWAP1 00001ea1: DUP2 00001ea2: ADD 00001ea3: PUSH1 0x40 00001ea5: MSTORE 00001ea6: DUP1 00001ea7: DUP7 00001ea8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ebd: AND 00001ebe: DUP2 00001ebf: MSTORE 00001ec0: PUSH1 0x20 00001ec2: ADD 00001ec3: DUP6 00001ec4: DUP2 00001ec5: MSTORE 00001ec6: PUSH1 0x20 00001ec8: ADD 00001ec9: DUP5 00001eca: DUP2 00001ecb: MSTORE 00001ecc: PUSH1 0x20 00001ece: ADD 00001ecf: PUSH1 0x00 00001ed1: ISZERO 00001ed2: ISZERO 00001ed3: DUP2 00001ed4: MSTORE 00001ed5: POP 00001ed6: PUSH1 0x00 00001ed8: DUP1 00001ed9: DUP5 00001eda: DUP2 00001edb: MSTORE 00001edc: PUSH1 0x20 00001ede: ADD 00001edf: SWAP1 00001ee0: DUP2 00001ee1: MSTORE 00001ee2: PUSH1 0x20 00001ee4: ADD 00001ee5: PUSH1 0x00 00001ee7: KECCAK256 00001ee8: PUSH1 0x00 00001eea: DUP3 00001eeb: ADD 00001eec: MLOAD 00001eed: DUP2 00001eee: PUSH1 0x00 00001ef0: ADD 00001ef1: PUSH1 0x00 00001ef3: PUSH2 0x0100 00001ef6: EXP 00001ef7: DUP2 00001ef8: SLOAD 00001ef9: DUP2 00001efa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f0f: MUL 00001f10: NOT 00001f11: AND 00001f12: SWAP1 00001f13: DUP4 00001f14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f29: AND 00001f2a: MUL 00001f2b: OR 00001f2c: SWAP1 00001f2d: SSTORE 00001f2e: POP 00001f2f: PUSH1 0x20 00001f31: DUP3 00001f32: ADD 00001f33: MLOAD 00001f34: DUP2 00001f35: PUSH1 0x01 00001f37: ADD 00001f38: SSTORE 00001f39: PUSH1 0x40 00001f3b: DUP3 00001f3c: ADD 00001f3d: MLOAD 00001f3e: DUP2 00001f3f: PUSH1 0x02 00001f41: ADD 00001f42: SWAP1 00001f43: DUP1 00001f44: MLOAD 00001f45: SWAP1 00001f46: PUSH1 0x20 00001f48: ADD 00001f49: SWAP1 00001f4a: PUSH2 0x1f54 00001f4d: SWAP3 00001f4e: SWAP2 00001f4f: SWAP1 00001f50: PUSH2 0x2068 00001f53: JUMP 00001f54: JUMPDEST 00001f55: POP 00001f56: PUSH1 0x60 00001f58: DUP3 00001f59: ADD 00001f5a: MLOAD 00001f5b: DUP2 00001f5c: PUSH1 0x03 00001f5e: ADD 00001f5f: PUSH1 0x00 00001f61: PUSH2 0x0100 00001f64: EXP 00001f65: DUP2 00001f66: SLOAD 00001f67: DUP2 00001f68: PUSH1 0xff 00001f6a: MUL 00001f6b: NOT 00001f6c: AND 00001f6d: SWAP1 00001f6e: DUP4 00001f6f: ISZERO 00001f70: ISZERO 00001f71: MUL 00001f72: OR 00001f73: SWAP1 00001f74: SSTORE 00001f75: POP 00001f76: SWAP1 00001f77: POP 00001f78: POP 00001f79: PUSH1 0x01 00001f7b: PUSH1 0x05 00001f7d: PUSH1 0x00 00001f7f: DUP3 00001f80: DUP3 00001f81: SLOAD 00001f82: ADD 00001f83: SWAP3 00001f84: POP 00001f85: POP 00001f86: DUP2 00001f87: SWAP1 00001f88: SSTORE 00001f89: POP 00001f8a: DUP2 00001f8b: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51 00001fac: PUSH1 0x40 00001fae: MLOAD 00001faf: PUSH1 0x40 00001fb1: MLOAD 00001fb2: DUP1 00001fb3: SWAP2 00001fb4: SUB 00001fb5: SWAP1 00001fb6: LOG2 00001fb7: JUMPDEST 00001fb8: JUMPDEST 00001fb9: POP 00001fba: SWAP4 00001fbb: SWAP3 00001fbc: POP 00001fbd: POP 00001fbe: POP 00001fbf: JUMP 00001fc0: JUMPDEST 00001fc1: PUSH1 0x00 00001fc3: DUP1 00001fc4: PUSH1 0x40 00001fc6: MLOAD 00001fc7: PUSH1 0x20 00001fc9: DUP5 00001fca: ADD 00001fcb: PUSH1 0x00 00001fcd: DUP3 00001fce: DUP8 00001fcf: DUP4 00001fd0: DUP11 00001fd1: DUP13 00001fd2: PUSH2 0x8796 00001fd5: GAS 00001fd6: SUB 00001fd7: CALL 00001fd8: SWAP3 00001fd9: POP 00001fda: POP 00001fdb: POP 00001fdc: DUP1 00001fdd: SWAP2 00001fde: POP 00001fdf: JUMPDEST 00001fe0: POP 00001fe1: SWAP5 00001fe2: SWAP4 00001fe3: POP 00001fe4: POP 00001fe5: POP 00001fe6: POP 00001fe7: JUMP 00001fe8: JUMPDEST 00001fe9: DUP2 00001fea: SLOAD 00001feb: DUP2 00001fec: DUP4 00001fed: SSTORE 00001fee: DUP2 00001fef: DUP2 00001ff0: ISZERO 00001ff1: GT 00001ff2: PUSH2 0x200f 00001ff5: JUMPI 00001ff6: DUP2 00001ff7: DUP4 00001ff8: PUSH1 0x00 00001ffa: MSTORE 00001ffb: PUSH1 0x20 00001ffd: PUSH1 0x00 00001fff: KECCAK256 00002000: SWAP2 00002001: DUP3 00002002: ADD 00002003: SWAP2 00002004: ADD 00002005: PUSH2 0x200e 00002008: SWAP2 00002009: SWAP1 0000200a: PUSH2 0x20e8 0000200d: JUMP 0000200e: JUMPDEST 0000200f: JUMPDEST 00002010: POP 00002011: POP 00002012: POP 00002013: JUMP 00002014: JUMPDEST 00002015: DUP2 00002016: SLOAD 00002017: DUP2 00002018: DUP4 00002019: SSTORE 0000201a: DUP2 0000201b: DUP2 0000201c: ISZERO 0000201d: GT 0000201e: PUSH2 0x203b 00002021: JUMPI 00002022: DUP2 00002023: DUP4 00002024: PUSH1 0x00 00002026: MSTORE 00002027: PUSH1 0x20 00002029: PUSH1 0x00 0000202b: KECCAK256 0000202c: SWAP2 0000202d: DUP3 0000202e: ADD 0000202f: SWAP2 00002030: ADD 00002031: PUSH2 0x203a 00002034: SWAP2 00002035: SWAP1 00002036: PUSH2 0x20e8 00002039: JUMP 0000203a: JUMPDEST 0000203b: JUMPDEST 0000203c: POP 0000203d: POP 0000203e: POP 0000203f: JUMP 00002040: JUMPDEST 00002041: PUSH1 0x20 00002043: PUSH1 0x40 00002045: MLOAD 00002046: SWAP1 00002047: DUP2 00002048: ADD 00002049: PUSH1 0x40 0000204b: MSTORE 0000204c: DUP1 0000204d: PUSH1 0x00 0000204f: DUP2 00002050: MSTORE 00002051: POP 00002052: SWAP1 00002053: JUMP 00002054: JUMPDEST 00002055: PUSH1 0x20 00002057: PUSH1 0x40 00002059: MLOAD 0000205a: SWAP1 0000205b: DUP2 0000205c: ADD 0000205d: PUSH1 0x40 0000205f: MSTORE 00002060: DUP1 00002061: PUSH1 0x00 00002063: DUP2 00002064: MSTORE 00002065: POP 00002066: SWAP1 00002067: JUMP 00002068: JUMPDEST 00002069: DUP3 0000206a: DUP1 0000206b: SLOAD 0000206c: PUSH1 0x01 0000206e: DUP2 0000206f: PUSH1 0x01 00002071: AND 00002072: ISZERO 00002073: PUSH2 0x0100 00002076: MUL 00002077: SUB 00002078: AND 00002079: PUSH1 0x02 0000207b: SWAP1 0000207c: DIV 0000207d: SWAP1 0000207e: PUSH1 0x00 00002080: MSTORE 00002081: PUSH1 0x20 00002083: PUSH1 0x00 00002085: KECCAK256 00002086: SWAP1 00002087: PUSH1 0x1f 00002089: ADD 0000208a: PUSH1 0x20 0000208c: SWAP1 0000208d: DIV 0000208e: DUP2 0000208f: ADD 00002090: SWAP3 00002091: DUP3 00002092: PUSH1 0x1f 00002094: LT 00002095: PUSH2 0x20a9 00002098: JUMPI 00002099: DUP1 0000209a: MLOAD 0000209b: PUSH1 0xff 0000209d: NOT 0000209e: AND 0000209f: DUP4 000020a0: DUP1 000020a1: ADD 000020a2: OR 000020a3: DUP6 000020a4: SSTORE 000020a5: PUSH2 0x20d7 000020a8: JUMP 000020a9: JUMPDEST 000020aa: DUP3 000020ab: DUP1 000020ac: ADD 000020ad: PUSH1 0x01 000020af: ADD 000020b0: DUP6 000020b1: SSTORE 000020b2: DUP3 000020b3: ISZERO 000020b4: PUSH2 0x20d7 000020b7: JUMPI 000020b8: SWAP2 000020b9: DUP3 000020ba: ADD 000020bb: JUMPDEST 000020bc: DUP3 000020bd: DUP2 000020be: GT 000020bf: ISZERO 000020c0: PUSH2 0x20d6 000020c3: JUMPI 000020c4: DUP3 000020c5: MLOAD 000020c6: DUP3 000020c7: SSTORE 000020c8: SWAP2 000020c9: PUSH1 0x20 000020cb: ADD 000020cc: SWAP2 000020cd: SWAP1 000020ce: PUSH1 0x01 000020d0: ADD 000020d1: SWAP1 000020d2: PUSH2 0x20bb 000020d5: JUMP 000020d6: JUMPDEST 000020d7: JUMPDEST 000020d8: POP 000020d9: SWAP1 000020da: POP 000020db: PUSH2 0x20e4 000020de: SWAP2 000020df: SWAP1 000020e0: PUSH2 0x20e8 000020e3: JUMP 000020e4: JUMPDEST 000020e5: POP 000020e6: SWAP1 000020e7: JUMP 000020e8: JUMPDEST 000020e9: PUSH2 0x210a 000020ec: SWAP2 000020ed: SWAP1 000020ee: JUMPDEST 000020ef: DUP1 000020f0: DUP3 000020f1: GT 000020f2: ISZERO 000020f3: PUSH2 0x2106 000020f6: JUMPI 000020f7: PUSH1 0x00 000020f9: DUP2 000020fa: PUSH1 0x00 000020fc: SWAP1 000020fd: SSTORE 000020fe: POP 000020ff: PUSH1 0x01 00002101: ADD 00002102: PUSH2 0x20ee 00002105: JUMP 00002106: JUMPDEST 00002107: POP 00002108: SWAP1 00002109: JUMP 0000210a: JUMPDEST 0000210b: SWAP1 0000210c: JUMP 0000210d: STOP 0000210e: LOG1 0000210f: PUSH6 0x627a7a723058 00002116: KECCAK256 00002117: UNKNOWN(0xD9) 00002118: UNKNOWN(0xC4) 00002119: UNKNOWN(0xBD) 0000211a: UNKNOWN(0xAF) 0000211b: UNKNOWN(0x1F) 0000211c: UNKNOWN(0xBB) 0000211d: UNKNOWN(0xEE) 0000211e: PUSH2 0x19e3 00002121: UNKNOWN(0x1F) 00002122: PUSH23
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xd74fe87afd8cc35676cd3a9ed0bf9be0961842e3b90263b7c3b59e5992c867ff
call_targets:
0x25ab5aa1462f02edb00bdebe32e7432a30a76937
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd74fe87afd8cc35676cd3a9ed0bf9be0961842e3b90263b7c3b59e5992c867ff",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x25ab5aa1462f02edb00bdebe32e7432a30a76937"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 8151,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 2169,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3497,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5617,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6332,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xd74fe87afd8cc35676cd3a9ed0bf9be0961842e3b90263b7c3b59e5992c867ff
call_targets:
0x25ab5aa1462f02edb00bdebe32e7432a30a76937
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd74fe87afd8cc35676cd3a9ed0bf9be0961842e3b90263b7c3b59e5992c867ff",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x25ab5aa1462f02edb00bdebe32e7432a30a76937"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 8151,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 2169,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3497,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5617,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6332,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| low | reentrancy | codex | Self-CALL with value enables potential reentrancy via fallback/other entrypoints | 65 | no | — |
viewevidence_json{
"evidence": "Detector shows a CALL at pc 8151 with computed target/value and returndata_checked=null. Validation indicates constant target 0x25ab5a\u2026 (contract address) and sink reached.",
"locations": [
"pc:0x1fd7"
],
"recommendation": "Prefer internal function calls over external CALL to self. If external CALL is required, add explicit reentrancy protection and ensure state is updated before the call. Also validate return data and handle failure paths explicitly.",
"exploit_scenario": "If the CALL at pc 8151 is used to invoke the contract itself (validation suggests constant target 0x25ab\u2026 which matches the contract address), execution can re-enter via fallback/receive or other selectors with msg.sender == address(this). If state updates occur after this call or privileged logic trusts msg.sender, the self-reentrancy path could bypass assumptions or create unexpected state transitions. Evidence is limited to bytecode, so this is a conservative risk."
}
|