019b3836-5d2a-72a3-8d30-698e963c3711
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 |
|---|---|---|---|---|
| 9291 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 9292 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 83160 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 83161 | capability.graph | complete | 1 / 3 | 1 week ago |
| 83162 | detector.run | complete | 1 / 3 | 1 week ago |
| 83163 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113678 | report.consolidate | complete | 1 / 6 | 1 week ago |
No slither job recorded yet.
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-2zmg4mja model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5c9b-4fa1-70c3-b296-face4fd2ec76 -------- 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. warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
{
"codex": {
"ran_at": "2026-04-05T07:46:17.252610+00:00",
"returncode": 1
},
"project": {
"mode": "bytecode",
"bytecode_length": 9580,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": null,
"no_findings": null,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x0119 0000000a: JUMPI 0000000b: PUSH1 0x00 0000000d: CALLDATALOAD 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002c: SWAP1 0000002d: DIV 0000002e: DUP1 0000002f: PUSH4 0x06fdde03 00000034: EQ 00000035: PUSH2 0x0122 00000038: JUMPI 00000039: DUP1 0000003a: PUSH4 0x095ea7b3 0000003f: EQ 00000040: PUSH2 0x019d 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0x1720ea55 0000004a: EQ 0000004b: PUSH2 0x01d4 0000004e: JUMPI 0000004f: DUP1 00000050: PUSH4 0x18160ddd 00000055: EQ 00000056: PUSH2 0x0202 00000059: JUMPI 0000005a: DUP1 0000005b: PUSH4 0x23b872dd 00000060: EQ 00000061: PUSH2 0x0225 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x313ce567 0000006b: EQ 0000006c: PUSH2 0x0265 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x5a3b7e42 00000076: EQ 00000077: PUSH2 0x028b 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x70a08231 00000081: EQ 00000082: PUSH2 0x0306 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x72689e4d 0000008c: EQ 0000008d: PUSH2 0x0332 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0x836a1e23 00000097: EQ 00000098: PUSH2 0x036b 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0x8da5cb5b 000000a2: EQ 000000a3: PUSH2 0x037a 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0x95d89b41 000000ad: EQ 000000ae: PUSH2 0x03b3 000000b1: JUMPI 000000b2: DUP1 000000b3: PUSH4 0xa9059cbb 000000b8: EQ 000000b9: PUSH2 0x042e 000000bc: JUMPI 000000bd: DUP1 000000be: PUSH4 0xb0987c03 000000c3: EQ 000000c4: PUSH2 0x044f 000000c7: JUMPI 000000c8: DUP1 000000c9: PUSH4 0xb6db8973 000000ce: EQ 000000cf: PUSH2 0x0488 000000d2: JUMPI 000000d3: DUP1 000000d4: PUSH4 0xc03945f7 000000d9: EQ 000000da: PUSH2 0x04ab 000000dd: JUMPI 000000de: DUP1 000000df: PUSH4 0xcae9ca51 000000e4: EQ 000000e5: PUSH2 0x04ba 000000e8: JUMPI 000000e9: DUP1 000000ea: PUSH4 0xdd62ed3e 000000ef: EQ 000000f0: PUSH2 0x0538 000000f3: JUMPI 000000f4: DUP1 000000f5: PUSH4 0xecf09417 000000fa: EQ 000000fb: PUSH2 0x056d 000000fe: JUMPI 000000ff: DUP1 00000100: PUSH4 0xf8b2cb4f 00000105: EQ 00000106: PUSH2 0x0590 00000109: JUMPI 0000010a: DUP1 0000010b: PUSH4 0xfcc820e2 00000110: EQ 00000111: PUSH2 0x05bc 00000114: JUMPI 00000115: PUSH2 0x0119 00000118: JUMP 00000119: JUMPDEST 0000011a: PUSH2 0x0120 0000011d: JUMPDEST 0000011e: JUMPDEST 0000011f: JUMP 00000120: JUMPDEST 00000121: STOP 00000122: JUMPDEST 00000123: PUSH2 0x012f 00000126: PUSH1 0x04 00000128: DUP1 00000129: POP 0000012a: POP 0000012b: PUSH2 0x05e8 0000012e: JUMP 0000012f: JUMPDEST 00000130: PUSH1 0x40 00000132: MLOAD 00000133: DUP1 00000134: DUP1 00000135: PUSH1 0x20 00000137: ADD 00000138: DUP3 00000139: DUP2 0000013a: SUB 0000013b: DUP3 0000013c: MSTORE 0000013d: DUP4 0000013e: DUP2 0000013f: DUP2 00000140: MLOAD 00000141: DUP2 00000142: MSTORE 00000143: PUSH1 0x20 00000145: ADD 00000146: SWAP2 00000147: POP 00000148: DUP1 00000149: MLOAD 0000014a: SWAP1 0000014b: PUSH1 0x20 0000014d: ADD 0000014e: SWAP1 0000014f: DUP1 00000150: DUP4 00000151: DUP4 00000152: DUP3 00000153: SWAP1 00000154: PUSH1 0x00 00000156: PUSH1 0x04 00000158: PUSH1 0x20 0000015a: DUP5 0000015b: PUSH1 0x1f 0000015d: ADD 0000015e: DIV 0000015f: PUSH1 0x03 00000161: MUL 00000162: PUSH1 0x0f 00000164: ADD 00000165: CALL 00000166: POP 00000167: SWAP1 00000168: POP 00000169: SWAP1 0000016a: DUP2 0000016b: ADD 0000016c: SWAP1 0000016d: PUSH1 0x1f 0000016f: AND 00000170: DUP1 00000171: ISZERO 00000172: PUSH2 0x018f 00000175: JUMPI 00000176: DUP1 00000177: DUP3 00000178: SUB 00000179: DUP1 0000017a: MLOAD 0000017b: PUSH1 0x01 0000017d: DUP4 0000017e: PUSH1 0x20 00000180: SUB 00000181: PUSH2 0x0100 00000184: EXP 00000185: SUB 00000186: NOT 00000187: AND 00000188: DUP2 00000189: MSTORE 0000018a: PUSH1 0x20 0000018c: ADD 0000018d: SWAP2 0000018e: POP 0000018f: JUMPDEST 00000190: POP 00000191: SWAP3 00000192: POP 00000193: POP 00000194: POP 00000195: PUSH1 0x40 00000197: MLOAD 00000198: DUP1 00000199: SWAP2 0000019a: SUB 0000019b: SWAP1 0000019c: RETURN 0000019d: JUMPDEST 0000019e: PUSH2 0x01bc 000001a1: PUSH1 0x04 000001a3: DUP1 000001a4: DUP1 000001a5: CALLDATALOAD 000001a6: SWAP1 000001a7: PUSH1 0x20 000001a9: ADD 000001aa: SWAP1 000001ab: SWAP2 000001ac: SWAP1 000001ad: DUP1 000001ae: CALLDATALOAD 000001af: SWAP1 000001b0: PUSH1 0x20 000001b2: ADD 000001b3: SWAP1 000001b4: SWAP2 000001b5: SWAP1 000001b6: POP 000001b7: POP 000001b8: PUSH2 0x0689 000001bb: JUMP 000001bc: JUMPDEST 000001bd: PUSH1 0x40 000001bf: MLOAD 000001c0: DUP1 000001c1: DUP3 000001c2: ISZERO 000001c3: ISZERO 000001c4: DUP2 000001c5: MSTORE 000001c6: PUSH1 0x20 000001c8: ADD 000001c9: SWAP2 000001ca: POP 000001cb: POP 000001cc: PUSH1 0x40 000001ce: MLOAD 000001cf: DUP1 000001d0: SWAP2 000001d1: SUB 000001d2: SWAP1 000001d3: RETURN 000001d4: JUMPDEST 000001d5: PUSH2 0x01ea 000001d8: PUSH1 0x04 000001da: DUP1 000001db: DUP1 000001dc: CALLDATALOAD 000001dd: SWAP1 000001de: PUSH1 0x20 000001e0: ADD 000001e1: SWAP1 000001e2: SWAP2 000001e3: SWAP1 000001e4: POP 000001e5: POP 000001e6: PUSH2 0x06f8 000001e9: JUMP 000001ea: JUMPDEST 000001eb: PUSH1 0x40 000001ed: MLOAD 000001ee: DUP1 000001ef: DUP3 000001f0: ISZERO 000001f1: ISZERO 000001f2: DUP2 000001f3: MSTORE 000001f4: PUSH1 0x20 000001f6: ADD 000001f7: SWAP2 000001f8: POP 000001f9: POP 000001fa: PUSH1 0x40 000001fc: MLOAD 000001fd: DUP1 000001fe: SWAP2 000001ff: SUB 00000200: SWAP1 00000201: RETURN 00000202: JUMPDEST 00000203: PUSH2 0x020f 00000206: PUSH1 0x04 00000208: DUP1 00000209: POP 0000020a: POP 0000020b: PUSH2 0x0906 0000020e: JUMP 0000020f: JUMPDEST 00000210: PUSH1 0x40 00000212: MLOAD 00000213: DUP1 00000214: DUP3 00000215: DUP2 00000216: MSTORE 00000217: PUSH1 0x20 00000219: ADD 0000021a: SWAP2 0000021b: POP 0000021c: POP 0000021d: PUSH1 0x40 0000021f: MLOAD 00000220: DUP1 00000221: SWAP2 00000222: SUB 00000223: SWAP1 00000224: RETURN 00000225: JUMPDEST 00000226: PUSH2 0x024d 00000229: PUSH1 0x04 0000022b: DUP1 0000022c: DUP1 0000022d: CALLDATALOAD 0000022e: SWAP1 0000022f: PUSH1 0x20 00000231: ADD 00000232: SWAP1 00000233: SWAP2 00000234: SWAP1 00000235: DUP1 00000236: CALLDATALOAD 00000237: SWAP1 00000238: PUSH1 0x20 0000023a: ADD 0000023b: SWAP1 0000023c: SWAP2 0000023d: SWAP1 0000023e: DUP1 0000023f: CALLDATALOAD 00000240: SWAP1 00000241: PUSH1 0x20 00000243: ADD 00000244: SWAP1 00000245: SWAP2 00000246: SWAP1 00000247: POP 00000248: POP 00000249: PUSH2 0x090f 0000024c: JUMP 0000024d: JUMPDEST 0000024e: PUSH1 0x40 00000250: MLOAD 00000251: DUP1 00000252: DUP3 00000253: ISZERO 00000254: ISZERO 00000255: DUP2 00000256: MSTORE 00000257: PUSH1 0x20 00000259: ADD 0000025a: SWAP2 0000025b: POP 0000025c: POP 0000025d: PUSH1 0x40 0000025f: MLOAD 00000260: DUP1 00000261: SWAP2 00000262: SUB 00000263: SWAP1 00000264: RETURN 00000265: JUMPDEST 00000266: PUSH2 0x0272 00000269: PUSH1 0x04 0000026b: DUP1 0000026c: POP 0000026d: POP 0000026e: PUSH2 0x0b73 00000271: JUMP 00000272: JUMPDEST 00000273: PUSH1 0x40 00000275: MLOAD 00000276: DUP1 00000277: DUP3 00000278: PUSH1 0xff 0000027a: AND 0000027b: DUP2 0000027c: MSTORE 0000027d: PUSH1 0x20 0000027f: ADD 00000280: SWAP2 00000281: POP 00000282: POP 00000283: PUSH1 0x40 00000285: MLOAD 00000286: DUP1 00000287: SWAP2 00000288: SUB 00000289: SWAP1 0000028a: RETURN 0000028b: JUMPDEST 0000028c: PUSH2 0x0298 0000028f: PUSH1 0x04 00000291: DUP1 00000292: POP 00000293: POP 00000294: PUSH2 0x0b86 00000297: JUMP 00000298: JUMPDEST 00000299: PUSH1 0x40 0000029b: MLOAD 0000029c: DUP1 0000029d: DUP1 0000029e: PUSH1 0x20 000002a0: ADD 000002a1: DUP3 000002a2: DUP2 000002a3: SUB 000002a4: DUP3 000002a5: MSTORE 000002a6: DUP4 000002a7: DUP2 000002a8: DUP2 000002a9: MLOAD 000002aa: DUP2 000002ab: MSTORE 000002ac: PUSH1 0x20 000002ae: ADD 000002af: SWAP2 000002b0: POP 000002b1: DUP1 000002b2: MLOAD 000002b3: SWAP1 000002b4: PUSH1 0x20 000002b6: ADD 000002b7: SWAP1 000002b8: DUP1 000002b9: DUP4 000002ba: DUP4 000002bb: DUP3 000002bc: SWAP1 000002bd: PUSH1 0x00 000002bf: PUSH1 0x04 000002c1: PUSH1 0x20 000002c3: DUP5 000002c4: PUSH1 0x1f 000002c6: ADD 000002c7: DIV 000002c8: PUSH1 0x03 000002ca: MUL 000002cb: PUSH1 0x0f 000002cd: ADD 000002ce: CALL 000002cf: POP 000002d0: SWAP1 000002d1: POP 000002d2: SWAP1 000002d3: DUP2 000002d4: ADD 000002d5: SWAP1 000002d6: PUSH1 0x1f 000002d8: AND 000002d9: DUP1 000002da: ISZERO 000002db: PUSH2 0x02f8 000002de: JUMPI 000002df: DUP1 000002e0: DUP3 000002e1: SUB 000002e2: DUP1 000002e3: MLOAD 000002e4: PUSH1 0x01 000002e6: DUP4 000002e7: PUSH1 0x20 000002e9: SUB 000002ea: PUSH2 0x0100 000002ed: EXP 000002ee: SUB 000002ef: NOT 000002f0: AND 000002f1: DUP2 000002f2: MSTORE 000002f3: PUSH1 0x20 000002f5: ADD 000002f6: SWAP2 000002f7: POP 000002f8: JUMPDEST 000002f9: POP 000002fa: SWAP3 000002fb: POP 000002fc: POP 000002fd: POP 000002fe: PUSH1 0x40 00000300: MLOAD 00000301: DUP1 00000302: SWAP2 00000303: SUB 00000304: SWAP1 00000305: RETURN 00000306: JUMPDEST 00000307: PUSH2 0x031c 0000030a: PUSH1 0x04 0000030c: DUP1 0000030d: DUP1 0000030e: CALLDATALOAD 0000030f: SWAP1 00000310: PUSH1 0x20 00000312: ADD 00000313: SWAP1 00000314: SWAP2 00000315: SWAP1 00000316: POP 00000317: POP 00000318: PUSH2 0x0c27 0000031b: JUMP 0000031c: JUMPDEST 0000031d: PUSH1 0x40 0000031f: MLOAD 00000320: DUP1 00000321: DUP3 00000322: DUP2 00000323: MSTORE 00000324: PUSH1 0x20 00000326: ADD 00000327: SWAP2 00000328: POP 00000329: POP 0000032a: PUSH1 0x40 0000032c: MLOAD 0000032d: DUP1 0000032e: SWAP2 0000032f: SUB 00000330: SWAP1 00000331: RETURN 00000332: JUMPDEST 00000333: PUSH2 0x033f 00000336: PUSH1 0x04 00000338: DUP1 00000339: POP 0000033a: POP 0000033b: PUSH2 0x0c42 0000033e: JUMP 0000033f: JUMPDEST 00000340: PUSH1 0x40 00000342: MLOAD 00000343: DUP1 00000344: DUP3 00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000035a: AND 0000035b: DUP2 0000035c: MSTORE 0000035d: PUSH1 0x20 0000035f: ADD 00000360: SWAP2 00000361: POP 00000362: POP 00000363: PUSH1 0x40 00000365: MLOAD 00000366: DUP1 00000367: SWAP2 00000368: SUB 00000369: SWAP1 0000036a: RETURN 0000036b: JUMPDEST 0000036c: PUSH2 0x0378 0000036f: PUSH1 0x04 00000371: DUP1 00000372: POP 00000373: POP 00000374: PUSH2 0x0c68 00000377: JUMP 00000378: JUMPDEST 00000379: STOP 0000037a: JUMPDEST 0000037b: PUSH2 0x0387 0000037e: PUSH1 0x04 00000380: DUP1 00000381: POP 00000382: POP 00000383: PUSH2 0x0d33 00000386: JUMP 00000387: JUMPDEST 00000388: PUSH1 0x40 0000038a: MLOAD 0000038b: DUP1 0000038c: DUP3 0000038d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003a2: AND 000003a3: DUP2 000003a4: MSTORE 000003a5: PUSH1 0x20 000003a7: ADD 000003a8: SWAP2 000003a9: POP 000003aa: POP 000003ab: PUSH1 0x40 000003ad: MLOAD 000003ae: DUP1 000003af: SWAP2 000003b0: SUB 000003b1: SWAP1 000003b2: RETURN 000003b3: JUMPDEST 000003b4: PUSH2 0x03c0 000003b7: PUSH1 0x04 000003b9: DUP1 000003ba: POP 000003bb: POP 000003bc: PUSH2 0x0d59 000003bf: JUMP 000003c0: JUMPDEST 000003c1: PUSH1 0x40 000003c3: MLOAD 000003c4: DUP1 000003c5: DUP1 000003c6: PUSH1 0x20 000003c8: ADD 000003c9: DUP3 000003ca: DUP2 000003cb: SUB 000003cc: DUP3 000003cd: MSTORE 000003ce: DUP4 000003cf: DUP2 000003d0: DUP2 000003d1: MLOAD 000003d2: DUP2 000003d3: MSTORE 000003d4: PUSH1 0x20 000003d6: ADD 000003d7: SWAP2 000003d8: POP 000003d9: DUP1 000003da: MLOAD 000003db: SWAP1 000003dc: PUSH1 0x20 000003de: ADD 000003df: SWAP1 000003e0: DUP1 000003e1: DUP4 000003e2: DUP4 000003e3: DUP3 000003e4: SWAP1 000003e5: PUSH1 0x00 000003e7: PUSH1 0x04 000003e9: PUSH1 0x20 000003eb: DUP5 000003ec: PUSH1 0x1f 000003ee: ADD 000003ef: DIV 000003f0: PUSH1 0x03 000003f2: MUL 000003f3: PUSH1 0x0f 000003f5: ADD 000003f6: CALL 000003f7: POP 000003f8: SWAP1 000003f9: POP 000003fa: SWAP1 000003fb: DUP2 000003fc: ADD 000003fd: SWAP1 000003fe: PUSH1 0x1f 00000400: AND 00000401: DUP1 00000402: ISZERO 00000403: PUSH2 0x0420 00000406: JUMPI 00000407: DUP1 00000408: DUP3 00000409: SUB 0000040a: DUP1 0000040b: MLOAD 0000040c: PUSH1 0x01 0000040e: DUP4 0000040f: PUSH1 0x20 00000411: SUB 00000412: PUSH2 0x0100 00000415: EXP 00000416: SUB 00000417: NOT 00000418: AND 00000419: DUP2 0000041a: MSTORE 0000041b: PUSH1 0x20 0000041d: ADD 0000041e: SWAP2 0000041f: POP 00000420: JUMPDEST 00000421: POP 00000422: SWAP3 00000423: POP 00000424: POP 00000425: POP 00000426: PUSH1 0x40 00000428: MLOAD 00000429: DUP1 0000042a: SWAP2 0000042b: SUB 0000042c: SWAP1 0000042d: RETURN 0000042e: JUMPDEST 0000042f: PUSH2 0x044d 00000432: PUSH1 0x04 00000434: DUP1 00000435: DUP1 00000436: CALLDATALOAD 00000437: SWAP1 00000438: PUSH1 0x20 0000043a: ADD 0000043b: SWAP1 0000043c: SWAP2 0000043d: SWAP1 0000043e: DUP1 0000043f: CALLDATALOAD 00000440: SWAP1 00000441: PUSH1 0x20 00000443: ADD 00000444: SWAP1 00000445: SWAP2 00000446: SWAP1 00000447: POP 00000448: POP 00000449: PUSH2 0x0dfa 0000044c: JUMP 0000044d: JUMPDEST 0000044e: STOP 0000044f: JUMPDEST 00000450: PUSH2 0x045c 00000453: PUSH1 0x04 00000455: DUP1 00000456: POP 00000457: POP 00000458: PUSH2 0x0f85 0000045b: JUMP 0000045c: JUMPDEST 0000045d: PUSH1 0x40 0000045f: MLOAD 00000460: DUP1 00000461: DUP3 00000462: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000477: AND 00000478: DUP2 00000479: MSTORE 0000047a: PUSH1 0x20 0000047c: ADD 0000047d: SWAP2 0000047e: POP 0000047f: POP 00000480: PUSH1 0x40 00000482: MLOAD 00000483: DUP1 00000484: SWAP2 00000485: SUB 00000486: SWAP1 00000487: RETURN 00000488: JUMPDEST 00000489: PUSH2 0x0495 0000048c: PUSH1 0x04 0000048e: DUP1 0000048f: POP 00000490: POP 00000491: PUSH2 0x0fab 00000494: JUMP 00000495: JUMPDEST 00000496: PUSH1 0x40 00000498: MLOAD 00000499: DUP1 0000049a: DUP3 0000049b: DUP2 0000049c: MSTORE 0000049d: PUSH1 0x20 0000049f: ADD 000004a0: SWAP2 000004a1: POP 000004a2: POP 000004a3: PUSH1 0x40 000004a5: MLOAD 000004a6: DUP1 000004a7: SWAP2 000004a8: SUB 000004a9: SWAP1 000004aa: RETURN 000004ab: JUMPDEST 000004ac: PUSH2 0x04b8 000004af: PUSH1 0x04 000004b1: DUP1 000004b2: POP 000004b3: POP 000004b4: PUSH2 0x0fb4 000004b7: JUMP 000004b8: JUMPDEST 000004b9: STOP 000004ba: JUMPDEST 000004bb: PUSH2 0x0520 000004be: PUSH1 0x04 000004c0: DUP1 000004c1: DUP1 000004c2: CALLDATALOAD 000004c3: SWAP1 000004c4: PUSH1 0x20 000004c6: ADD 000004c7: SWAP1 000004c8: SWAP2 000004c9: SWAP1 000004ca: DUP1 000004cb: CALLDATALOAD 000004cc: SWAP1 000004cd: PUSH1 0x20 000004cf: ADD 000004d0: SWAP1 000004d1: SWAP2 000004d2: SWAP1 000004d3: DUP1 000004d4: CALLDATALOAD 000004d5: SWAP1 000004d6: PUSH1 0x20 000004d8: ADD 000004d9: SWAP1 000004da: DUP3 000004db: ADD 000004dc: DUP1 000004dd: CALLDATALOAD 000004de: SWAP1 000004df: PUSH1 0x20 000004e1: ADD 000004e2: SWAP2 000004e3: SWAP2 000004e4: SWAP1 000004e5: DUP1 000004e6: DUP1 000004e7: PUSH1 0x1f 000004e9: ADD 000004ea: PUSH1 0x20 000004ec: DUP1 000004ed: SWAP2 000004ee: DIV 000004ef: MUL 000004f0: PUSH1 0x20 000004f2: ADD 000004f3: PUSH1 0x40 000004f5: MLOAD 000004f6: SWAP1 000004f7: DUP2 000004f8: ADD 000004f9: PUSH1 0x40 000004fb: MSTORE 000004fc: DUP1 000004fd: SWAP4 000004fe: SWAP3 000004ff: SWAP2 00000500: SWAP1 00000501: DUP2 00000502: DUP2 00000503: MSTORE 00000504: PUSH1 0x20 00000506: ADD 00000507: DUP4 00000508: DUP4 00000509: DUP1 0000050a: DUP3 0000050b: DUP5 0000050c: CALLDATACOPY 0000050d: DUP3 0000050e: ADD 0000050f: SWAP2 00000510: POP 00000511: POP 00000512: POP 00000513: POP 00000514: POP 00000515: POP 00000516: SWAP1 00000517: SWAP1 00000518: SWAP2 00000519: SWAP1 0000051a: POP 0000051b: POP 0000051c: PUSH2 0x104e 0000051f: JUMP 00000520: JUMPDEST 00000521: PUSH1 0x40 00000523: MLOAD 00000524: DUP1 00000525: DUP3 00000526: ISZERO 00000527: ISZERO 00000528: DUP2 00000529: MSTORE 0000052a: PUSH1 0x20 0000052c: ADD 0000052d: SWAP2 0000052e: POP 0000052f: POP 00000530: PUSH1 0x40 00000532: MLOAD 00000533: DUP1 00000534: SWAP2 00000535: SUB 00000536: SWAP1 00000537: RETURN 00000538: JUMPDEST 00000539: PUSH2 0x0557 0000053c: PUSH1 0x04 0000053e: DUP1 0000053f: DUP1 00000540: CALLDATALOAD 00000541: SWAP1 00000542: PUSH1 0x20 00000544: ADD 00000545: SWAP1 00000546: SWAP2 00000547: SWAP1 00000548: DUP1 00000549: CALLDATALOAD 0000054a: SWAP1 0000054b: PUSH1 0x20 0000054d: ADD 0000054e: SWAP1 0000054f: SWAP2 00000550: SWAP1 00000551: POP 00000552: POP 00000553: PUSH2 0x117b 00000556: JUMP 00000557: JUMPDEST 00000558: PUSH1 0x40 0000055a: MLOAD 0000055b: DUP1 0000055c: DUP3 0000055d: DUP2 0000055e: MSTORE 0000055f: PUSH1 0x20 00000561: ADD 00000562: SWAP2 00000563: POP 00000564: POP 00000565: PUSH1 0x40 00000567: MLOAD 00000568: DUP1 00000569: SWAP2 0000056a: SUB 0000056b: SWAP1 0000056c: RETURN 0000056d: JUMPDEST 0000056e: PUSH2 0x057a 00000571: PUSH1 0x04 00000573: DUP1 00000574: POP 00000575: POP 00000576: PUSH2 0x11a6 00000579: JUMP 0000057a: JUMPDEST 0000057b: PUSH1 0x40 0000057d: MLOAD 0000057e: DUP1 0000057f: DUP3 00000580: DUP2 00000581: MSTORE 00000582: PUSH1 0x20 00000584: ADD 00000585: SWAP2 00000586: POP 00000587: POP 00000588: PUSH1 0x40 0000058a: MLOAD 0000058b: DUP1 0000058c: SWAP2 0000058d: SUB 0000058e: SWAP1 0000058f: RETURN 00000590: JUMPDEST 00000591: PUSH2 0x05a6 00000594: PUSH1 0x04 00000596: DUP1 00000597: DUP1 00000598: CALLDATALOAD 00000599: SWAP1 0000059a: PUSH1 0x20 0000059c: ADD 0000059d: SWAP1 0000059e: SWAP2 0000059f: SWAP1 000005a0: POP 000005a1: POP 000005a2: PUSH2 0x11af 000005a5: JUMP 000005a6: JUMPDEST 000005a7: PUSH1 0x40 000005a9: MLOAD 000005aa: DUP1 000005ab: DUP3 000005ac: DUP2 000005ad: MSTORE 000005ae: PUSH1 0x20 000005b0: ADD 000005b1: SWAP2 000005b2: POP 000005b3: POP 000005b4: PUSH1 0x40 000005b6: MLOAD 000005b7: DUP1 000005b8: SWAP2 000005b9: SUB 000005ba: SWAP1 000005bb: RETURN 000005bc: JUMPDEST 000005bd: PUSH2 0x05d2 000005c0: PUSH1 0x04 000005c2: DUP1 000005c3: DUP1 000005c4: CALLDATALOAD 000005c5: SWAP1 000005c6: PUSH1 0x20 000005c8: ADD 000005c9: SWAP1 000005ca: SWAP2 000005cb: SWAP1 000005cc: POP 000005cd: POP 000005ce: PUSH2 0x11ed 000005d1: JUMP 000005d2: JUMPDEST 000005d3: PUSH1 0x40 000005d5: MLOAD 000005d6: DUP1 000005d7: DUP3 000005d8: DUP2 000005d9: MSTORE 000005da: PUSH1 0x20 000005dc: ADD 000005dd: SWAP2 000005de: POP 000005df: POP 000005e0: PUSH1 0x40 000005e2: MLOAD 000005e3: DUP1 000005e4: SWAP2 000005e5: SUB 000005e6: SWAP1 000005e7: RETURN 000005e8: JUMPDEST 000005e9: PUSH1 0x01 000005eb: PUSH1 0x00 000005ed: POP 000005ee: DUP1 000005ef: SLOAD 000005f0: PUSH1 0x01 000005f2: DUP2 000005f3: PUSH1 0x01 000005f5: AND 000005f6: ISZERO 000005f7: PUSH2 0x0100 000005fa: MUL 000005fb: SUB 000005fc: AND 000005fd: PUSH1 0x02 000005ff: SWAP1 00000600: DIV 00000601: DUP1 00000602: PUSH1 0x1f 00000604: ADD 00000605: PUSH1 0x20 00000607: DUP1 00000608: SWAP2 00000609: DIV 0000060a: MUL 0000060b: PUSH1 0x20 0000060d: ADD 0000060e: PUSH1 0x40 00000610: MLOAD 00000611: SWAP1 00000612: DUP2 00000613: ADD 00000614: PUSH1 0x40 00000616: MSTORE 00000617: DUP1 00000618: SWAP3 00000619: SWAP2 0000061a: SWAP1 0000061b: DUP2 0000061c: DUP2 0000061d: MSTORE 0000061e: PUSH1 0x20 00000620: ADD 00000621: DUP3 00000622: DUP1 00000623: SLOAD 00000624: PUSH1 0x01 00000626: DUP2 00000627: PUSH1 0x01 00000629: AND 0000062a: ISZERO 0000062b: PUSH2 0x0100 0000062e: MUL 0000062f: SUB 00000630: AND 00000631: PUSH1 0x02 00000633: SWAP1 00000634: DIV 00000635: DUP1 00000636: ISZERO 00000637: PUSH2 0x0681 0000063a: JUMPI 0000063b: DUP1 0000063c: PUSH1 0x1f 0000063e: LT 0000063f: PUSH2 0x0656 00000642: JUMPI 00000643: PUSH2 0x0100 00000646: DUP1 00000647: DUP4 00000648: SLOAD 00000649: DIV 0000064a: MUL 0000064b: DUP4 0000064c: MSTORE 0000064d: SWAP2 0000064e: PUSH1 0x20 00000650: ADD 00000651: SWAP2 00000652: PUSH2 0x0681 00000655: JUMP 00000656: JUMPDEST 00000657: DUP3 00000658: ADD 00000659: SWAP2 0000065a: SWAP1 0000065b: PUSH1 0x00 0000065d: MSTORE 0000065e: PUSH1 0x20 00000660: PUSH1 0x00 00000662: KECCAK256 00000663: SWAP1 00000664: JUMPDEST 00000665: DUP2 00000666: SLOAD 00000667: DUP2 00000668: MSTORE 00000669: SWAP1 0000066a: PUSH1 0x01 0000066c: ADD 0000066d: SWAP1 0000066e: PUSH1 0x20 00000670: ADD 00000671: DUP1 00000672: DUP4 00000673: GT 00000674: PUSH2 0x0664 00000677: JUMPI 00000678: DUP3 00000679: SWAP1 0000067a: SUB 0000067b: PUSH1 0x1f 0000067d: AND 0000067e: DUP3 0000067f: ADD 00000680: SWAP2 00000681: JUMPDEST 00000682: POP 00000683: POP 00000684: POP 00000685: POP 00000686: POP 00000687: DUP2 00000688: JUMP 00000689: JUMPDEST 0000068a: PUSH1 0x00 0000068c: DUP2 0000068d: PUSH1 0x07 0000068f: PUSH1 0x00 00000691: POP 00000692: PUSH1 0x00 00000694: CALLER 00000695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006aa: AND 000006ab: DUP2 000006ac: MSTORE 000006ad: PUSH1 0x20 000006af: ADD 000006b0: SWAP1 000006b1: DUP2 000006b2: MSTORE 000006b3: PUSH1 0x20 000006b5: ADD 000006b6: PUSH1 0x00 000006b8: KECCAK256 000006b9: PUSH1 0x00 000006bb: POP 000006bc: PUSH1 0x00 000006be: DUP6 000006bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006d4: AND 000006d5: DUP2 000006d6: MSTORE 000006d7: PUSH1 0x20 000006d9: ADD 000006da: SWAP1 000006db: DUP2 000006dc: MSTORE 000006dd: PUSH1 0x20 000006df: ADD 000006e0: PUSH1 0x00 000006e2: KECCAK256 000006e3: PUSH1 0x00 000006e5: POP 000006e6: DUP2 000006e7: SWAP1 000006e8: SSTORE 000006e9: POP 000006ea: PUSH1 0x01 000006ec: SWAP1 000006ed: POP 000006ee: PUSH2 0x06f2 000006f1: JUMP 000006f2: JUMPDEST 000006f3: SWAP3 000006f4: SWAP2 000006f5: POP 000006f6: POP 000006f7: JUMP 000006f8: JUMPDEST 000006f9: PUSH1 0x00 000006fb: PUSH1 0x00 000006fd: DUP3 000006fe: PUSH1 0x0b 00000700: PUSH1 0x00 00000702: POP 00000703: PUSH1 0x00 00000705: CALLER 00000706: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000071b: AND 0000071c: DUP2 0000071d: MSTORE 0000071e: PUSH1 0x20 00000720: ADD 00000721: SWAP1 00000722: DUP2 00000723: MSTORE 00000724: PUSH1 0x20 00000726: ADD 00000727: PUSH1 0x00 00000729: KECCAK256 0000072a: PUSH1 0x00 0000072c: POP 0000072d: SLOAD 0000072e: LT 0000072f: ISZERO 00000730: PUSH2 0x0738 00000733: JUMPI 00000734: PUSH2 0x0002 00000737: JUMP 00000738: JUMPDEST 00000739: PUSH1 0x0e 0000073b: PUSH1 0x00 0000073d: POP 0000073e: SLOAD 0000073f: PUSH1 0x0a 00000741: PUSH1 0x00 00000743: SWAP1 00000744: SLOAD 00000745: SWAP1 00000746: PUSH2 0x0100 00000749: EXP 0000074a: SWAP1 0000074b: DIV 0000074c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000761: AND 00000762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000777: AND 00000778: PUSH4 0xf8b2cb4f 0000077d: CALLER 0000077e: PUSH1 0x40 00000780: MLOAD 00000781: DUP3 00000782: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000007a0: MUL 000007a1: DUP2 000007a2: MSTORE 000007a3: PUSH1 0x04 000007a5: ADD 000007a6: DUP1 000007a7: DUP3 000007a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007bd: AND 000007be: DUP2 000007bf: MSTORE 000007c0: PUSH1 0x20 000007c2: ADD 000007c3: SWAP2 000007c4: POP 000007c5: POP 000007c6: PUSH1 0x20 000007c8: PUSH1 0x40 000007ca: MLOAD 000007cb: DUP1 000007cc: DUP4 000007cd: SUB 000007ce: DUP2 000007cf: PUSH1 0x00 000007d1: DUP8 000007d2: PUSH2 0x61da 000007d5: GAS 000007d6: SUB 000007d7: CALL 000007d8: ISZERO 000007d9: PUSH2 0x0002 000007dc: JUMPI 000007dd: POP 000007de: POP 000007df: POP 000007e0: PUSH1 0x40 000007e2: MLOAD 000007e3: DUP1 000007e4: MLOAD 000007e5: SWAP1 000007e6: PUSH1 0x20 000007e8: ADD 000007e9: POP 000007ea: GT 000007eb: ISZERO 000007ec: PUSH2 0x082b 000007ef: JUMPI 000007f0: CALLER 000007f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000806: AND 00000807: PUSH1 0x00 00000809: DUP5 0000080a: PUSH1 0x40 0000080c: MLOAD 0000080d: DUP1 0000080e: SWAP1 0000080f: POP 00000810: PUSH1 0x00 00000812: PUSH1 0x40 00000814: MLOAD 00000815: DUP1 00000816: DUP4 00000817: SUB 00000818: DUP2 00000819: DUP6 0000081a: DUP9 0000081b: DUP9 0000081c: CALL 0000081d: SWAP4 0000081e: POP 0000081f: POP 00000820: POP 00000821: POP 00000822: POP 00000823: PUSH1 0x01 00000825: SWAP2 00000826: POP 00000827: PUSH2 0x0900 0000082a: JUMP 0000082b: JUMPDEST 0000082c: PUSH1 0x0d 0000082e: PUSH1 0x00 00000830: POP 00000831: SLOAD 00000832: DUP4 00000833: DIV 00000834: SWAP1 00000835: POP 00000836: CALLER 00000837: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000084c: AND 0000084d: PUSH1 0x00 0000084f: DUP5 00000850: PUSH1 0x40 00000852: MLOAD 00000853: DUP1 00000854: SWAP1 00000855: POP 00000856: PUSH1 0x00 00000858: PUSH1 0x40 0000085a: MLOAD 0000085b: DUP1 0000085c: DUP4 0000085d: SUB 0000085e: DUP2 0000085f: DUP6 00000860: DUP9 00000861: DUP9 00000862: CALL 00000863: SWAP4 00000864: POP 00000865: POP 00000866: POP 00000867: POP 00000868: ISZERO 00000869: PUSH2 0x08f7 0000086c: JUMPI 0000086d: DUP3 0000086e: PUSH1 0x0b 00000870: PUSH1 0x00 00000872: POP 00000873: PUSH1 0x00 00000875: ORIGIN 00000876: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000088b: AND 0000088c: DUP2 0000088d: MSTORE 0000088e: PUSH1 0x20 00000890: ADD 00000891: SWAP1 00000892: DUP2 00000893: MSTORE 00000894: PUSH1 0x20 00000896: ADD 00000897: PUSH1 0x00 00000899: KECCAK256 0000089a: PUSH1 0x00 0000089c: DUP3 0000089d: DUP3 0000089e: DUP3 0000089f: POP 000008a0: SLOAD 000008a1: SUB 000008a2: SWAP3 000008a3: POP 000008a4: POP 000008a5: DUP2 000008a6: SWAP1 000008a7: SSTORE 000008a8: POP 000008a9: DUP1 000008aa: PUSH1 0x0c 000008ac: PUSH1 0x00 000008ae: POP 000008af: PUSH1 0x00 000008b1: ORIGIN 000008b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008c7: AND 000008c8: DUP2 000008c9: MSTORE 000008ca: PUSH1 0x20 000008cc: ADD 000008cd: SWAP1 000008ce: DUP2 000008cf: MSTORE 000008d0: PUSH1 0x20 000008d2: ADD 000008d3: PUSH1 0x00 000008d5: KECCAK256 000008d6: PUSH1 0x00 000008d8: DUP3 000008d9: DUP3 000008da: DUP3 000008db: POP 000008dc: SLOAD 000008dd: SUB 000008de: SWAP3 000008df: POP 000008e0: POP 000008e1: DUP2 000008e2: SWAP1 000008e3: SSTORE 000008e4: POP 000008e5: PUSH2 0x08ee 000008e8: PUSH1 0x01 000008ea: PUSH2 0x1208 000008ed: JUMP 000008ee: JUMPDEST 000008ef: PUSH1 0x01 000008f1: SWAP2 000008f2: POP 000008f3: PUSH2 0x0900 000008f6: JUMP 000008f7: JUMPDEST 000008f8: PUSH1 0x00 000008fa: SWAP2 000008fb: POP 000008fc: PUSH2 0x0900 000008ff: JUMP 00000900: JUMPDEST 00000901: POP 00000902: SWAP2 00000903: SWAP1 00000904: POP 00000905: JUMP 00000906: JUMPDEST 00000907: PUSH1 0x04 00000909: PUSH1 0x00 0000090b: POP 0000090c: SLOAD 0000090d: DUP2 0000090e: JUMP 0000090f: JUMPDEST 00000910: PUSH1 0x00 00000912: DUP2 00000913: PUSH1 0x06 00000915: PUSH1 0x00 00000917: POP 00000918: PUSH1 0x00 0000091a: DUP7 0000091b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000930: AND 00000931: DUP2 00000932: MSTORE 00000933: PUSH1 0x20 00000935: ADD 00000936: SWAP1 00000937: DUP2 00000938: MSTORE 00000939: PUSH1 0x20 0000093b: ADD 0000093c: PUSH1 0x00 0000093e: KECCAK256 0000093f: PUSH1 0x00 00000941: POP 00000942: SLOAD 00000943: LT 00000944: ISZERO 00000945: PUSH2 0x094d 00000948: JUMPI 00000949: PUSH2 0x0002 0000094c: JUMP 0000094d: JUMPDEST 0000094e: PUSH1 0x06 00000950: PUSH1 0x00 00000952: POP 00000953: PUSH1 0x00 00000955: DUP5 00000956: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096b: AND 0000096c: DUP2 0000096d: MSTORE 0000096e: PUSH1 0x20 00000970: ADD 00000971: SWAP1 00000972: DUP2 00000973: MSTORE 00000974: PUSH1 0x20 00000976: ADD 00000977: PUSH1 0x00 00000979: KECCAK256 0000097a: PUSH1 0x00 0000097c: POP 0000097d: SLOAD 0000097e: DUP3 0000097f: PUSH1 0x06 00000981: PUSH1 0x00 00000983: POP 00000984: PUSH1 0x00 00000986: DUP7 00000987: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000099c: AND 0000099d: DUP2 0000099e: MSTORE 0000099f: PUSH1 0x20 000009a1: ADD 000009a2: SWAP1 000009a3: DUP2 000009a4: MSTORE 000009a5: PUSH1 0x20 000009a7: ADD 000009a8: PUSH1 0x00 000009aa: KECCAK256 000009ab: PUSH1 0x00 000009ad: POP 000009ae: SLOAD 000009af: ADD 000009b0: LT 000009b1: ISZERO 000009b2: PUSH2 0x09ba 000009b5: JUMPI 000009b6: PUSH2 0x0002 000009b9: JUMP 000009ba: JUMPDEST 000009bb: PUSH1 0x07 000009bd: PUSH1 0x00 000009bf: POP 000009c0: PUSH1 0x00 000009c2: DUP6 000009c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009d8: AND 000009d9: DUP2 000009da: MSTORE 000009db: PUSH1 0x20 000009dd: ADD 000009de: SWAP1 000009df: DUP2 000009e0: MSTORE 000009e1: PUSH1 0x20 000009e3: ADD 000009e4: PUSH1 0x00 000009e6: KECCAK256 000009e7: PUSH1 0x00 000009e9: POP 000009ea: PUSH1 0x00 000009ec: CALLER 000009ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a02: AND 00000a03: DUP2 00000a04: MSTORE 00000a05: PUSH1 0x20 00000a07: ADD 00000a08: SWAP1 00000a09: DUP2 00000a0a: MSTORE 00000a0b: PUSH1 0x20 00000a0d: ADD 00000a0e: PUSH1 0x00 00000a10: KECCAK256 00000a11: PUSH1 0x00 00000a13: POP 00000a14: SLOAD 00000a15: DUP3 00000a16: GT 00000a17: ISZERO 00000a18: PUSH2 0x0a20 00000a1b: JUMPI 00000a1c: PUSH2 0x0002 00000a1f: JUMP 00000a20: JUMPDEST 00000a21: DUP2 00000a22: PUSH1 0x06 00000a24: PUSH1 0x00 00000a26: POP 00000a27: PUSH1 0x00 00000a29: DUP7 00000a2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a3f: AND 00000a40: DUP2 00000a41: MSTORE 00000a42: PUSH1 0x20 00000a44: ADD 00000a45: SWAP1 00000a46: DUP2 00000a47: MSTORE 00000a48: PUSH1 0x20 00000a4a: ADD 00000a4b: PUSH1 0x00 00000a4d: KECCAK256 00000a4e: PUSH1 0x00 00000a50: DUP3 00000a51: DUP3 00000a52: DUP3 00000a53: POP 00000a54: SLOAD 00000a55: SUB 00000a56: SWAP3 00000a57: POP 00000a58: POP 00000a59: DUP2 00000a5a: SWAP1 00000a5b: SSTORE 00000a5c: POP 00000a5d: DUP2 00000a5e: PUSH1 0x06 00000a60: PUSH1 0x00 00000a62: POP 00000a63: PUSH1 0x00 00000a65: DUP6 00000a66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a7b: AND 00000a7c: DUP2 00000a7d: MSTORE 00000a7e: PUSH1 0x20 00000a80: ADD 00000a81: SWAP1 00000a82: DUP2 00000a83: MSTORE 00000a84: PUSH1 0x20 00000a86: ADD 00000a87: PUSH1 0x00 00000a89: KECCAK256 00000a8a: PUSH1 0x00 00000a8c: DUP3 00000a8d: DUP3 00000a8e: DUP3 00000a8f: POP 00000a90: SLOAD 00000a91: ADD 00000a92: SWAP3 00000a93: POP 00000a94: POP 00000a95: DUP2 00000a96: SWAP1 00000a97: SSTORE 00000a98: POP 00000a99: DUP2 00000a9a: PUSH1 0x07 00000a9c: PUSH1 0x00 00000a9e: POP 00000a9f: PUSH1 0x00 00000aa1: DUP7 00000aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ab7: AND 00000ab8: DUP2 00000ab9: MSTORE 00000aba: PUSH1 0x20 00000abc: ADD 00000abd: SWAP1 00000abe: DUP2 00000abf: MSTORE 00000ac0: PUSH1 0x20 00000ac2: ADD 00000ac3: PUSH1 0x00 00000ac5: KECCAK256 00000ac6: PUSH1 0x00 00000ac8: POP 00000ac9: PUSH1 0x00 00000acb: CALLER 00000acc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ae1: AND 00000ae2: DUP2 00000ae3: MSTORE 00000ae4: PUSH1 0x20 00000ae6: ADD 00000ae7: SWAP1 00000ae8: DUP2 00000ae9: MSTORE 00000aea: PUSH1 0x20 00000aec: ADD 00000aed: PUSH1 0x00 00000aef: KECCAK256 00000af0: PUSH1 0x00 00000af2: DUP3 00000af3: DUP3 00000af4: DUP3 00000af5: POP 00000af6: SLOAD 00000af7: SUB 00000af8: SWAP3 00000af9: POP 00000afa: POP 00000afb: DUP2 00000afc: SWAP1 00000afd: SSTORE 00000afe: POP 00000aff: DUP3 00000b00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b15: AND 00000b16: DUP5 00000b17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b2c: AND 00000b2d: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00000b4e: DUP5 00000b4f: PUSH1 0x40 00000b51: MLOAD 00000b52: DUP1 00000b53: DUP3 00000b54: DUP2 00000b55: MSTORE 00000b56: PUSH1 0x20 00000b58: ADD 00000b59: SWAP2 00000b5a: POP 00000b5b: POP 00000b5c: PUSH1 0x40 00000b5e: MLOAD 00000b5f: DUP1 00000b60: SWAP2 00000b61: SUB 00000b62: SWAP1 00000b63: LOG3 00000b64: PUSH1 0x01 00000b66: SWAP1 00000b67: POP 00000b68: PUSH2 0x0b6c 00000b6b: JUMP 00000b6c: JUMPDEST 00000b6d: SWAP4 00000b6e: SWAP3 00000b6f: POP 00000b70: POP 00000b71: POP 00000b72: JUMP 00000b73: JUMPDEST 00000b74: PUSH1 0x03 00000b76: PUSH1 0x00 00000b78: SWAP1 00000b79: SLOAD 00000b7a: SWAP1 00000b7b: PUSH2 0x0100 00000b7e: EXP 00000b7f: SWAP1 00000b80: DIV 00000b81: PUSH1 0xff 00000b83: AND 00000b84: DUP2 00000b85: JUMP 00000b86: JUMPDEST 00000b87: PUSH1 0x00 00000b89: PUSH1 0x00 00000b8b: POP 00000b8c: DUP1 00000b8d: SLOAD 00000b8e: PUSH1 0x01 00000b90: DUP2 00000b91: PUSH1 0x01 00000b93: AND 00000b94: ISZERO 00000b95: PUSH2 0x0100 00000b98: MUL 00000b99: SUB 00000b9a: AND 00000b9b: PUSH1 0x02 00000b9d: SWAP1 00000b9e: DIV 00000b9f: DUP1 00000ba0: PUSH1 0x1f 00000ba2: ADD 00000ba3: PUSH1 0x20 00000ba5: DUP1 00000ba6: SWAP2 00000ba7: DIV 00000ba8: MUL 00000ba9: PUSH1 0x20 00000bab: ADD 00000bac: PUSH1 0x40 00000bae: MLOAD 00000baf: SWAP1 00000bb0: DUP2 00000bb1: ADD 00000bb2: PUSH1 0x40 00000bb4: MSTORE 00000bb5: DUP1 00000bb6: SWAP3 00000bb7: SWAP2 00000bb8: SWAP1 00000bb9: DUP2 00000bba: DUP2 00000bbb: MSTORE 00000bbc: PUSH1 0x20 00000bbe: ADD 00000bbf: DUP3 00000bc0: DUP1 00000bc1: SLOAD 00000bc2: PUSH1 0x01 00000bc4: DUP2 00000bc5: PUSH1 0x01 00000bc7: AND 00000bc8: ISZERO 00000bc9: PUSH2 0x0100 00000bcc: MUL 00000bcd: SUB 00000bce: AND 00000bcf: PUSH1 0x02 00000bd1: SWAP1 00000bd2: DIV 00000bd3: DUP1 00000bd4: ISZERO 00000bd5: PUSH2 0x0c1f 00000bd8: JUMPI 00000bd9: DUP1 00000bda: PUSH1 0x1f 00000bdc: LT 00000bdd: PUSH2 0x0bf4 00000be0: JUMPI 00000be1: PUSH2 0x0100 00000be4: DUP1 00000be5: DUP4 00000be6: SLOAD 00000be7: DIV 00000be8: MUL 00000be9: DUP4 00000bea: MSTORE 00000beb: SWAP2 00000bec: PUSH1 0x20 00000bee: ADD 00000bef: SWAP2 00000bf0: PUSH2 0x0c1f 00000bf3: JUMP 00000bf4: JUMPDEST 00000bf5: DUP3 00000bf6: ADD 00000bf7: SWAP2 00000bf8: SWAP1 00000bf9: PUSH1 0x00 00000bfb: MSTORE 00000bfc: PUSH1 0x20 00000bfe: PUSH1 0x00 00000c00: KECCAK256 00000c01: SWAP1 00000c02: JUMPDEST 00000c03: DUP2 00000c04: SLOAD 00000c05: DUP2 00000c06: MSTORE 00000c07: SWAP1 00000c08: PUSH1 0x01 00000c0a: ADD 00000c0b: SWAP1 00000c0c: PUSH1 0x20 00000c0e: ADD 00000c0f: DUP1 00000c10: DUP4 00000c11: GT 00000c12: PUSH2 0x0c02 00000c15: JUMPI 00000c16: DUP3 00000c17: SWAP1 00000c18: SUB 00000c19: PUSH1 0x1f 00000c1b: AND 00000c1c: DUP3 00000c1d: ADD 00000c1e: SWAP2 00000c1f: JUMPDEST 00000c20: POP 00000c21: POP 00000c22: POP 00000c23: POP 00000c24: POP 00000c25: DUP2 00000c26: JUMP 00000c27: JUMPDEST 00000c28: PUSH1 0x0b 00000c2a: PUSH1 0x00 00000c2c: POP 00000c2d: PUSH1 0x20 00000c2f: MSTORE 00000c30: DUP1 00000c31: PUSH1 0x00 00000c33: MSTORE 00000c34: PUSH1 0x40 00000c36: PUSH1 0x00 00000c38: KECCAK256 00000c39: PUSH1 0x00 00000c3b: SWAP2 00000c3c: POP 00000c3d: SWAP1 00000c3e: POP 00000c3f: SLOAD 00000c40: DUP2 00000c41: JUMP 00000c42: JUMPDEST 00000c43: PUSH1 0x0a 00000c45: PUSH1 0x00 00000c47: SWAP1 00000c48: SLOAD 00000c49: SWAP1 00000c4a: PUSH2 0x0100 00000c4d: EXP 00000c4e: SWAP1 00000c4f: DIV 00000c50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c65: AND 00000c66: DUP2 00000c67: JUMP 00000c68: JUMPDEST 00000c69: PUSH1 0x08 00000c6b: PUSH1 0x00 00000c6d: SWAP1 00000c6e: SLOAD 00000c6f: SWAP1 00000c70: PUSH2 0x0100 00000c73: EXP 00000c74: SWAP1 00000c75: DIV 00000c76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c8b: AND 00000c8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca1: AND 00000ca2: CALLER 00000ca3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cb8: AND 00000cb9: EQ 00000cba: ISZERO 00000cbb: PUSH2 0x0d30 00000cbe: JUMPI 00000cbf: PUSH1 0x08 00000cc1: PUSH1 0x00 00000cc3: SWAP1 00000cc4: SLOAD 00000cc5: SWAP1 00000cc6: PUSH2 0x0100 00000cc9: EXP 00000cca: SWAP1 00000ccb: DIV 00000ccc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ce1: AND 00000ce2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cf7: AND 00000cf8: PUSH1 0x00 00000cfa: PUSH3 0x200b20 00000cfe: ADDRESS 00000cff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d14: AND 00000d15: BALANCE 00000d16: SUB 00000d17: PUSH1 0x40 00000d19: MLOAD 00000d1a: DUP1 00000d1b: SWAP1 00000d1c: POP 00000d1d: PUSH1 0x00 00000d1f: PUSH1 0x40 00000d21: MLOAD 00000d22: DUP1 00000d23: DUP4 00000d24: SUB 00000d25: DUP2 00000d26: DUP6 00000d27: DUP9 00000d28: DUP9 00000d29: CALL 00000d2a: SWAP4 00000d2b: POP 00000d2c: POP 00000d2d: POP 00000d2e: POP 00000d2f: POP 00000d30: JUMPDEST 00000d31: JUMPDEST 00000d32: JUMP 00000d33: JUMPDEST 00000d34: PUSH1 0x08 00000d36: PUSH1 0x00 00000d38: SWAP1 00000d39: SLOAD 00000d3a: SWAP1 00000d3b: PUSH2 0x0100 00000d3e: EXP 00000d3f: SWAP1 00000d40: DIV 00000d41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d56: AND 00000d57: DUP2 00000d58: JUMP 00000d59: JUMPDEST 00000d5a: PUSH1 0x02 00000d5c: PUSH1 0x00 00000d5e: POP 00000d5f: DUP1 00000d60: SLOAD 00000d61: PUSH1 0x01 00000d63: DUP2 00000d64: PUSH1 0x01 00000d66: AND 00000d67: ISZERO 00000d68: PUSH2 0x0100 00000d6b: MUL 00000d6c: SUB 00000d6d: AND 00000d6e: PUSH1 0x02 00000d70: SWAP1 00000d71: DIV 00000d72: DUP1 00000d73: PUSH1 0x1f 00000d75: ADD 00000d76: PUSH1 0x20 00000d78: DUP1 00000d79: SWAP2 00000d7a: DIV 00000d7b: MUL 00000d7c: PUSH1 0x20 00000d7e: ADD 00000d7f: PUSH1 0x40 00000d81: MLOAD 00000d82: SWAP1 00000d83: DUP2 00000d84: ADD 00000d85: PUSH1 0x40 00000d87: MSTORE 00000d88: DUP1 00000d89: SWAP3 00000d8a: SWAP2 00000d8b: SWAP1 00000d8c: DUP2 00000d8d: DUP2 00000d8e: MSTORE 00000d8f: PUSH1 0x20 00000d91: ADD 00000d92: DUP3 00000d93: DUP1 00000d94: SLOAD 00000d95: PUSH1 0x01 00000d97: DUP2 00000d98: PUSH1 0x01 00000d9a: AND 00000d9b: ISZERO 00000d9c: PUSH2 0x0100 00000d9f: MUL 00000da0: SUB 00000da1: AND 00000da2: PUSH1 0x02 00000da4: SWAP1 00000da5: DIV 00000da6: DUP1 00000da7: ISZERO 00000da8: PUSH2 0x0df2 00000dab: JUMPI 00000dac: DUP1 00000dad: PUSH1 0x1f 00000daf: LT 00000db0: PUSH2 0x0dc7 00000db3: JUMPI 00000db4: PUSH2 0x0100 00000db7: DUP1 00000db8: DUP4 00000db9: SLOAD 00000dba: DIV 00000dbb: MUL 00000dbc: DUP4 00000dbd: MSTORE 00000dbe: SWAP2 00000dbf: PUSH1 0x20 00000dc1: ADD 00000dc2: SWAP2 00000dc3: PUSH2 0x0df2 00000dc6: JUMP 00000dc7: JUMPDEST 00000dc8: DUP3 00000dc9: ADD 00000dca: SWAP2 00000dcb: SWAP1 00000dcc: PUSH1 0x00 00000dce: MSTORE 00000dcf: PUSH1 0x20 00000dd1: PUSH1 0x00 00000dd3: KECCAK256 00000dd4: SWAP1 00000dd5: JUMPDEST 00000dd6: DUP2 00000dd7: SLOAD 00000dd8: DUP2 00000dd9: MSTORE 00000dda: SWAP1 00000ddb: PUSH1 0x01 00000ddd: ADD 00000dde: SWAP1 00000ddf: PUSH1 0x20 00000de1: ADD 00000de2: DUP1 00000de3: DUP4 00000de4: GT 00000de5: PUSH2 0x0dd5 00000de8: JUMPI 00000de9: DUP3 00000dea: SWAP1 00000deb: SUB 00000dec: PUSH1 0x1f 00000dee: AND 00000def: DUP3 00000df0: ADD 00000df1: SWAP2 00000df2: JUMPDEST 00000df3: POP 00000df4: POP 00000df5: POP 00000df6: POP 00000df7: POP 00000df8: DUP2 00000df9: JUMP 00000dfa: JUMPDEST 00000dfb: DUP1 00000dfc: PUSH1 0x06 00000dfe: PUSH1 0x00 00000e00: POP 00000e01: PUSH1 0x00 00000e03: CALLER 00000e04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e19: AND 00000e1a: DUP2 00000e1b: MSTORE 00000e1c: PUSH1 0x20 00000e1e: ADD 00000e1f: SWAP1 00000e20: DUP2 00000e21: MSTORE 00000e22: PUSH1 0x20 00000e24: ADD 00000e25: PUSH1 0x00 00000e27: KECCAK256 00000e28: PUSH1 0x00 00000e2a: POP 00000e2b: SLOAD 00000e2c: LT 00000e2d: ISZERO 00000e2e: PUSH2 0x0e36 00000e31: JUMPI 00000e32: PUSH2 0x0002 00000e35: JUMP 00000e36: JUMPDEST 00000e37: PUSH1 0x06 00000e39: PUSH1 0x00 00000e3b: POP 00000e3c: PUSH1 0x00 00000e3e: DUP4 00000e3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e54: AND 00000e55: DUP2 00000e56: MSTORE 00000e57: PUSH1 0x20 00000e59: ADD 00000e5a: SWAP1 00000e5b: DUP2 00000e5c: MSTORE 00000e5d: PUSH1 0x20 00000e5f: ADD 00000e60: PUSH1 0x00 00000e62: KECCAK256 00000e63: PUSH1 0x00 00000e65: POP 00000e66: SLOAD 00000e67: DUP2 00000e68: PUSH1 0x06 00000e6a: PUSH1 0x00 00000e6c: POP 00000e6d: PUSH1 0x00 00000e6f: DUP6 00000e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e85: AND 00000e86: DUP2 00000e87: MSTORE 00000e88: PUSH1 0x20 00000e8a: ADD 00000e8b: SWAP1 00000e8c: DUP2 00000e8d: MSTORE 00000e8e: PUSH1 0x20 00000e90: ADD 00000e91: PUSH1 0x00 00000e93: KECCAK256 00000e94: PUSH1 0x00 00000e96: POP 00000e97: SLOAD 00000e98: ADD 00000e99: LT 00000e9a: ISZERO 00000e9b: PUSH2 0x0ea3 00000e9e: JUMPI 00000e9f: PUSH2 0x0002 00000ea2: JUMP 00000ea3: JUMPDEST 00000ea4: DUP1 00000ea5: PUSH1 0x06 00000ea7: PUSH1 0x00 00000ea9: POP 00000eaa: PUSH1 0x00 00000eac: CALLER 00000ead: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ec2: AND 00000ec3: DUP2 00000ec4: MSTORE 00000ec5: PUSH1 0x20 00000ec7: ADD 00000ec8: SWAP1 00000ec9: DUP2 00000eca: MSTORE 00000ecb: PUSH1 0x20 00000ecd: ADD 00000ece: PUSH1 0x00 00000ed0: KECCAK256 00000ed1: PUSH1 0x00 00000ed3: DUP3 00000ed4: DUP3 00000ed5: DUP3 00000ed6: POP 00000ed7: SLOAD 00000ed8: SUB 00000ed9: SWAP3 00000eda: POP 00000edb: POP 00000edc: DUP2 00000edd: SWAP1 00000ede: SSTORE 00000edf: POP 00000ee0: DUP1 00000ee1: PUSH1 0x06 00000ee3: PUSH1 0x00 00000ee5: POP 00000ee6: PUSH1 0x00 00000ee8: DUP5 00000ee9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000efe: AND 00000eff: DUP2 00000f00: MSTORE 00000f01: PUSH1 0x20 00000f03: ADD 00000f04: SWAP1 00000f05: DUP2 00000f06: MSTORE 00000f07: PUSH1 0x20 00000f09: ADD 00000f0a: PUSH1 0x00 00000f0c: KECCAK256 00000f0d: PUSH1 0x00 00000f0f: DUP3 00000f10: DUP3 00000f11: DUP3 00000f12: POP 00000f13: SLOAD 00000f14: ADD 00000f15: SWAP3 00000f16: POP 00000f17: POP 00000f18: DUP2 00000f19: SWAP1 00000f1a: SSTORE 00000f1b: POP 00000f1c: DUP2 00000f1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f32: AND 00000f33: CALLER 00000f34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f49: AND 00000f4a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00000f6b: DUP4 00000f6c: PUSH1 0x40 00000f6e: MLOAD 00000f6f: DUP1 00000f70: DUP3 00000f71: DUP2 00000f72: MSTORE 00000f73: PUSH1 0x20 00000f75: ADD 00000f76: SWAP2 00000f77: POP 00000f78: POP 00000f79: PUSH1 0x40 00000f7b: MLOAD 00000f7c: DUP1 00000f7d: SWAP2 00000f7e: SUB 00000f7f: SWAP1 00000f80: LOG3 00000f81: JUMPDEST 00000f82: POP 00000f83: POP 00000f84: JUMP 00000f85: JUMPDEST 00000f86: PUSH1 0x09 00000f88: PUSH1 0x00 00000f8a: SWAP1 00000f8b: SLOAD 00000f8c: SWAP1 00000f8d: PUSH2 0x0100 00000f90: EXP 00000f91: SWAP1 00000f92: DIV 00000f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fa8: AND 00000fa9: DUP2 00000faa: JUMP 00000fab: JUMPDEST 00000fac: PUSH1 0x0d 00000fae: PUSH1 0x00 00000fb0: POP 00000fb1: SLOAD 00000fb2: DUP2 00000fb3: JUMP 00000fb4: JUMPDEST 00000fb5: PUSH1 0x0d 00000fb7: PUSH1 0x00 00000fb9: POP 00000fba: SLOAD 00000fbb: CALLVALUE 00000fbc: LT 00000fbd: ISZERO 00000fbe: ISZERO 00000fbf: PUSH2 0x1046 00000fc2: JUMPI 00000fc3: CALLVALUE 00000fc4: PUSH1 0x0b 00000fc6: PUSH1 0x00 00000fc8: POP 00000fc9: PUSH1 0x00 00000fcb: CALLER 00000fcc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe1: AND 00000fe2: DUP2 00000fe3: MSTORE 00000fe4: PUSH1 0x20 00000fe6: ADD 00000fe7: SWAP1 00000fe8: DUP2 00000fe9: MSTORE 00000fea: PUSH1 0x20 00000fec: ADD 00000fed: PUSH1 0x00 00000fef: KECCAK256 00000ff0: PUSH1 0x00 00000ff2: DUP3 00000ff3: DUP3 00000ff4: DUP3 00000ff5: POP 00000ff6: SLOAD 00000ff7: ADD 00000ff8: SWAP3 00000ff9: POP 00000ffa: POP 00000ffb: DUP2 00000ffc: SWAP1 00000ffd: SSTORE 00000ffe: POP 00000fff: PUSH1 0x0d 00001001: PUSH1 0x00 00001003: POP 00001004: SLOAD 00001005: CALLVALUE 00001006: DIV 00001007: PUSH1 0x0c 00001009: PUSH1 0x00 0000100b: POP 0000100c: PUSH1 0x00 0000100e: CALLER 0000100f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001024: AND 00001025: DUP2 00001026: MSTORE 00001027: PUSH1 0x20 00001029: ADD 0000102a: SWAP1 0000102b: DUP2 0000102c: MSTORE 0000102d: PUSH1 0x20 0000102f: ADD 00001030: PUSH1 0x00 00001032: KECCAK256 00001033: PUSH1 0x00 00001035: DUP3 00001036: DUP3 00001037: DUP3 00001038: POP 00001039: SLOAD 0000103a: ADD 0000103b: SWAP3 0000103c: POP 0000103d: POP 0000103e: DUP2 0000103f: SWAP1 00001040: SSTORE 00001041: POP 00001042: PUSH2 0x104b 00001045: JUMP 00001046: JUMPDEST 00001047: PUSH2 0x0002 0000104a: JUMP 0000104b: JUMPDEST 0000104c: JUMPDEST 0000104d: JUMP 0000104e: JUMPDEST 0000104f: PUSH1 0x00 00001051: PUSH1 0x00 00001053: DUP5 00001054: SWAP1 00001055: POP 00001056: PUSH2 0x105f 00001059: DUP6 0000105a: DUP6 0000105b: PUSH2 0x0689 0000105e: JUMP 0000105f: JUMPDEST 00001060: ISZERO 00001061: PUSH2 0x1172 00001064: JUMPI 00001065: DUP1 00001066: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000107b: AND 0000107c: PUSH4 0x8f4ffcb1 00001081: CALLER 00001082: DUP7 00001083: ADDRESS 00001084: DUP8 00001085: PUSH1 0x40 00001087: MLOAD 00001088: DUP6 00001089: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000010a7: MUL 000010a8: DUP2 000010a9: MSTORE 000010aa: PUSH1 0x04 000010ac: ADD 000010ad: DUP1 000010ae: DUP6 000010af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010c4: AND 000010c5: DUP2 000010c6: MSTORE 000010c7: PUSH1 0x20 000010c9: ADD 000010ca: DUP5 000010cb: DUP2 000010cc: MSTORE 000010cd: PUSH1 0x20 000010cf: ADD 000010d0: DUP4 000010d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010e6: AND 000010e7: DUP2 000010e8: MSTORE 000010e9: PUSH1 0x20 000010eb: ADD 000010ec: DUP1 000010ed: PUSH1 0x20 000010ef: ADD 000010f0: DUP3 000010f1: DUP2 000010f2: SUB 000010f3: DUP3 000010f4: MSTORE 000010f5: DUP4 000010f6: DUP2 000010f7: DUP2 000010f8: MLOAD 000010f9: DUP2 000010fa: MSTORE 000010fb: PUSH1 0x20 000010fd: ADD 000010fe: SWAP2 000010ff: POP 00001100: DUP1 00001101: MLOAD 00001102: SWAP1 00001103: PUSH1 0x20 00001105: ADD 00001106: SWAP1 00001107: DUP1 00001108: DUP4 00001109: DUP4 0000110a: DUP3 0000110b: SWAP1 0000110c: PUSH1 0x00 0000110e: PUSH1 0x04 00001110: PUSH1 0x20 00001112: DUP5 00001113: PUSH1 0x1f 00001115: ADD 00001116: DIV 00001117: PUSH1 0x03 00001119: MUL 0000111a: PUSH1 0x0f 0000111c: ADD 0000111d: CALL 0000111e: POP 0000111f: SWAP1 00001120: POP 00001121: SWAP1 00001122: DUP2 00001123: ADD 00001124: SWAP1 00001125: PUSH1 0x1f 00001127: AND 00001128: DUP1 00001129: ISZERO 0000112a: PUSH2 0x1147 0000112d: JUMPI 0000112e: DUP1 0000112f: DUP3 00001130: SUB 00001131: DUP1 00001132: MLOAD 00001133: PUSH1 0x01 00001135: DUP4 00001136: PUSH1 0x20 00001138: SUB 00001139: PUSH2 0x0100 0000113c: EXP 0000113d: SUB 0000113e: NOT 0000113f: AND 00001140: DUP2 00001141: MSTORE 00001142: PUSH1 0x20 00001144: ADD 00001145: SWAP2 00001146: POP 00001147: JUMPDEST 00001148: POP 00001149: SWAP6 0000114a: POP 0000114b: POP 0000114c: POP 0000114d: POP 0000114e: POP 0000114f: POP 00001150: PUSH1 0x00 00001152: PUSH1 0x40 00001154: MLOAD 00001155: DUP1 00001156: DUP4 00001157: SUB 00001158: DUP2 00001159: PUSH1 0x00 0000115b: DUP8 0000115c: PUSH2 0x61da 0000115f: GAS 00001160: SUB 00001161: CALL 00001162: ISZERO 00001163: PUSH2 0x0002 00001166: JUMPI 00001167: POP 00001168: POP 00001169: POP 0000116a: PUSH1 0x01 0000116c: SWAP2 0000116d: POP 0000116e: PUSH2 0x1173 00001171: JUMP 00001172: JUMPDEST 00001173: JUMPDEST 00001174: POP 00001175: SWAP4 00001176: SWAP3 00001177: POP 00001178: POP 00001179: POP 0000117a: JUMP 0000117b: JUMPDEST 0000117c: PUSH1 0x07 0000117e: PUSH1 0x00 00001180: POP 00001181: PUSH1 0x20 00001183: MSTORE 00001184: DUP2 00001185: PUSH1 0x00 00001187: MSTORE 00001188: PUSH1 0x40 0000118a: PUSH1 0x00 0000118c: KECCAK256 0000118d: PUSH1 0x00 0000118f: POP 00001190: PUSH1 0x20 00001192: MSTORE 00001193: DUP1 00001194: PUSH1 0x00 00001196: MSTORE 00001197: PUSH1 0x40 00001199: PUSH1 0x00 0000119b: KECCAK256 0000119c: PUSH1 0x00 0000119e: SWAP2 0000119f: POP 000011a0: SWAP2 000011a1: POP 000011a2: POP 000011a3: SLOAD 000011a4: DUP2 000011a5: JUMP 000011a6: JUMPDEST 000011a7: PUSH1 0x0e 000011a9: PUSH1 0x00 000011ab: POP 000011ac: SLOAD 000011ad: DUP2 000011ae: JUMP 000011af: JUMPDEST 000011b0: PUSH1 0x00 000011b2: PUSH1 0x06 000011b4: PUSH1 0x00 000011b6: POP 000011b7: PUSH1 0x00 000011b9: DUP4 000011ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011cf: AND 000011d0: DUP2 000011d1: MSTORE 000011d2: PUSH1 0x20 000011d4: ADD 000011d5: SWAP1 000011d6: DUP2 000011d7: MSTORE 000011d8: PUSH1 0x20 000011da: ADD 000011db: PUSH1 0x00 000011dd: KECCAK256 000011de: PUSH1 0x00 000011e0: POP 000011e1: SLOAD 000011e2: SWAP1 000011e3: POP 000011e4: PUSH2 0x11e8 000011e7: JUMP 000011e8: JUMPDEST 000011e9: SWAP2 000011ea: SWAP1 000011eb: POP 000011ec: JUMP 000011ed: JUMPDEST 000011ee: PUSH1 0x0c 000011f0: PUSH1 0x00 000011f2: POP 000011f3: PUSH1 0x20 000011f5: MSTORE 000011f6: DUP1 000011f7: PUSH1 0x00 000011f9: MSTORE 000011fa: PUSH1 0x40 000011fc: PUSH1 0x00 000011fe: KECCAK256 000011ff: PUSH1 0x00 00001201: SWAP2 00001202: POP 00001203: SWAP1 00001204: POP 00001205: SLOAD 00001206: DUP2 00001207: JUMP 00001208: JUMPDEST 00001209: PUSH1 0x0a 0000120b: PUSH1 0x00 0000120d: SWAP1 0000120e: SLOAD 0000120f: SWAP1 00001210: PUSH2 0x0100 00001213: EXP 00001214: SWAP1 00001215: DIV 00001216: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000122b: AND 0000122c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001241: AND 00001242: PUSH4 0xa9059cbb 00001247: CALLER 00001248: DUP4 00001249: PUSH1 0x40 0000124b: MLOAD 0000124c: DUP4 0000124d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000126b: MUL 0000126c: DUP2 0000126d: MSTORE 0000126e: PUSH1 0x04 00001270: ADD 00001271: DUP1 00001272: DUP4 00001273: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001288: AND 00001289: DUP2 0000128a: MSTORE 0000128b: PUSH1 0x20 0000128d: ADD 0000128e: DUP3 0000128f: DUP2 00001290: MSTORE 00001291: PUSH1 0x20 00001293: ADD 00001294: SWAP3 00001295: POP 00001296: POP 00001297: POP 00001298: PUSH1 0x00 0000129a: PUSH1 0x40 0000129c: MLOAD 0000129d: DUP1 0000129e: DUP4 0000129f: SUB 000012a0: DUP2 000012a1: PUSH1 0x00 000012a3: DUP8 000012a4: PUSH2 0x61da 000012a7: GAS 000012a8: SUB 000012a9: CALL 000012aa: ISZERO 000012ab: PUSH2 0x0002 000012ae: JUMPI 000012af: POP 000012b0: POP 000012b1: POP 000012b2: JUMPDEST 000012b3: POP 000012b4: JUMP
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1720ea55",
"selector": "0x1720ea55",
"calldata_variants": [
"0x1720ea55",
"0x1720ea550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 2165,
"type": "tx_origin_used"
},
{
"pc": 2225,
"type": "tx_origin_used"
},
{
"pc": 3234,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | yes | yes |
viewtrace_id: 0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc
call_targets:
0x0000000000000000000000000000000000000004, 0x539e67a4a1254b9a770678870c08942614075250
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x539e67a4a1254b9a770678870c08942614075250"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1720ea55",
"selector": "0x1720ea55",
"calldata_variants": [
"0x1720ea55",
"0x1720ea550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 357,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 718,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1014,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [
{
"pc": 2165,
"type": "tx_origin_used"
},
{
"pc": 2225,
"type": "tx_origin_used"
},
{
"pc": 3234,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 10
}
|
| medium | other | detector | ETH value transfer possible | 40 | yes | yes |
viewtrace_id: 0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc
call_targets:
0x0000000000000000000000000000000000000004, 0x539e67a4a1254b9a770678870c08942614075250
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x709da81f4cb6c2c178d528a28ba70e7a5af19afa3541b5df184798c900caa0cc",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x0000000000000000000000000000000000000004",
"0x539e67a4a1254b9a770678870c08942614075250"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1720ea55",
"selector": "0x1720ea55",
"calldata_variants": [
"0x1720ea55",
"0x1720ea550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18160ddd",
"selector": "0x18160ddd",
"calldata_variants": [
"0x18160ddd",
"0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x23b872dd",
"selector": "0x23b872dd",
"calldata_variants": [
"0x23b872dd",
"0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x313ce567",
"selector": "0x313ce567",
"calldata_variants": [
"0x313ce567",
"0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5a3b7e42",
"selector": "0x5a3b7e42",
"calldata_variants": [
"0x5a3b7e42",
"0x5a3b7e420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70a08231",
"selector": "0x70a08231",
"calldata_variants": [
"0x70a08231",
"0x70a082310000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 357,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 718,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1014,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": [
{
"pc": 2165,
"type": "tx_origin_used"
},
{
"pc": 2225,
"type": "tx_origin_used"
},
{
"pc": 3234,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|