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

Analysis Run

019b3836-3af3-7096-9656-e33c9d3fc21f

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:03 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
4315 artifact.fetch complete 1 / 3 3 months ago
4316 tool.cast_disasm complete 1 / 3 3 months ago
47404 analysis.bundle complete 1 / 3 1 week ago
47405 capability.graph complete 1 / 3 1 week ago
47406 detector.run complete 1 / 3 1 week ago
47407 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
0
Total opcodes
2827
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00b9
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x173825d9
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x010b
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x2f54bf6e
00000025: EQ
00000026: PUSH2 0x015f
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x4123cb6b
00000030: EQ
00000031: PUSH2 0x0187
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x5c52c2f5
0000003b: EQ
0000003c: PUSH2 0x0190
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x7065cb48
00000046: EQ
00000047: PUSH2 0x01ba
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x746c9171
00000051: EQ
00000052: PUSH2 0x01e7
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x797af627
0000005c: EQ
0000005d: PUSH2 0x01f0
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xb20d30a9
00000067: EQ
00000068: PUSH2 0x0203
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0xb61d27f6
00000072: EQ
00000073: PUSH2 0x0230
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xb75c7dc6
0000007d: EQ
0000007e: PUSH2 0x0251
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xba51a6df
00000088: EQ
00000089: PUSH2 0x0280
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xc2cf7326
00000093: EQ
00000094: PUSH2 0x02ad
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xcbf0b0c0
0000009e: EQ
0000009f: PUSH2 0x02eb
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xf00d4b5d
000000a9: EQ
000000aa: PUSH2 0x0318
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xf1736d86
000000b4: EQ
000000b5: PUSH2 0x034a
000000b8: JUMPI
000000b9: JUMPDEST
000000ba: PUSH2 0x0354
000000bd: PUSH1 0x00
000000bf: CALLVALUE
000000c0: GT
000000c1: ISZERO
000000c2: PUSH2 0x0109
000000c5: JUMPI
000000c6: PUSH1 0x40
000000c8: DUP1
000000c9: MLOAD
000000ca: PUSH1 0x01
000000cc: PUSH1 0xa0
000000ce: PUSH1 0x02
000000d0: EXP
000000d1: SUB
000000d2: CALLER
000000d3: AND
000000d4: DUP2
000000d5: MSTORE
000000d6: CALLVALUE
000000d7: PUSH1 0x20
000000d9: DUP3
000000da: ADD
000000db: MSTORE
000000dc: DUP2
000000dd: MLOAD
000000de: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
000000ff: SWAP3
00000100: SWAP2
00000101: DUP2
00000102: SWAP1
00000103: SUB
00000104: SWAP1
00000105: SWAP2
00000106: ADD
00000107: SWAP1
00000108: LOG1
00000109: JUMPDEST
0000010a: JUMP
0000010b: JUMPDEST
0000010c: PUSH2 0x0354
0000010f: PUSH1 0x04
00000111: CALLDATALOAD
00000112: PUSH1 0x00
00000114: PUSH1 0x00
00000116: CALLDATASIZE
00000117: PUSH1 0x40
00000119: MLOAD
0000011a: DUP1
0000011b: DUP4
0000011c: DUP4
0000011d: DUP1
0000011e: DUP3
0000011f: DUP5
00000120: CALLDATACOPY
00000121: DUP3
00000122: ADD
00000123: SWAP2
00000124: POP
00000125: POP
00000126: SWAP3
00000127: POP
00000128: POP
00000129: POP
0000012a: PUSH1 0x40
0000012c: MLOAD
0000012d: DUP1
0000012e: SWAP2
0000012f: SUB
00000130: SWAP1
00000131: KECCAK256
00000132: PUSH2 0x064a
00000135: DUP2
00000136: JUMPDEST
00000137: PUSH1 0x01
00000139: PUSH1 0xa0
0000013b: PUSH1 0x02
0000013d: EXP
0000013e: SUB
0000013f: CALLER
00000140: AND
00000141: PUSH1 0x00
00000143: SWAP1
00000144: DUP2
00000145: MSTORE
00000146: PUSH2 0x0102
00000149: PUSH1 0x20
0000014b: MSTORE
0000014c: PUSH1 0x40
0000014e: DUP2
0000014f: KECCAK256
00000150: SLOAD
00000151: DUP2
00000152: DUP1
00000153: DUP3
00000154: DUP2
00000155: EQ
00000156: ISZERO
00000157: PUSH2 0x0c66
0000015a: JUMPI
0000015b: PUSH2 0x0dbf
0000015e: JUMP
0000015f: JUMPDEST
00000160: PUSH2 0x0356
00000163: PUSH1 0x04
00000165: CALLDATALOAD
00000166: JUMPDEST
00000167: PUSH1 0x01
00000169: PUSH1 0xa0
0000016b: PUSH1 0x02
0000016d: EXP
0000016e: SUB
0000016f: DUP2
00000170: AND
00000171: PUSH1 0x00
00000173: SWAP1
00000174: DUP2
00000175: MSTORE
00000176: PUSH2 0x0102
00000179: PUSH1 0x20
0000017b: MSTORE
0000017c: PUSH1 0x40
0000017e: DUP2
0000017f: KECCAK256
00000180: SLOAD
00000181: GT
00000182: JUMPDEST
00000183: SWAP2
00000184: SWAP1
00000185: POP
00000186: JUMP
00000187: JUMPDEST
00000188: PUSH2 0x0356
0000018b: PUSH1 0x01
0000018d: SLOAD
0000018e: DUP2
0000018f: JUMP
00000190: JUMPDEST
00000191: PUSH2 0x0354
00000194: PUSH1 0x00
00000196: CALLDATASIZE
00000197: PUSH1 0x40
00000199: MLOAD
0000019a: DUP1
0000019b: DUP4
0000019c: DUP4
0000019d: DUP1
0000019e: DUP3
0000019f: DUP5
000001a0: CALLDATACOPY
000001a1: DUP3
000001a2: ADD
000001a3: SWAP2
000001a4: POP
000001a5: POP
000001a6: SWAP3
000001a7: POP
000001a8: POP
000001a9: POP
000001aa: PUSH1 0x40
000001ac: MLOAD
000001ad: DUP1
000001ae: SWAP2
000001af: SUB
000001b0: SWAP1
000001b1: KECCAK256
000001b2: PUSH2 0x078b
000001b5: DUP2
000001b6: PUSH2 0x0136
000001b9: JUMP
000001ba: JUMPDEST
000001bb: PUSH2 0x0354
000001be: PUSH1 0x04
000001c0: CALLDATALOAD
000001c1: PUSH1 0x00
000001c3: CALLDATASIZE
000001c4: PUSH1 0x40
000001c6: MLOAD
000001c7: DUP1
000001c8: DUP4
000001c9: DUP4
000001ca: DUP1
000001cb: DUP3
000001cc: DUP5
000001cd: CALLDATACOPY
000001ce: DUP3
000001cf: ADD
000001d0: SWAP2
000001d1: POP
000001d2: POP
000001d3: SWAP3
000001d4: POP
000001d5: POP
000001d6: POP
000001d7: PUSH1 0x40
000001d9: MLOAD
000001da: DUP1
000001db: SWAP2
000001dc: SUB
000001dd: SWAP1
000001de: KECCAK256
000001df: PUSH2 0x05c6
000001e2: DUP2
000001e3: PUSH2 0x0136
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH2 0x0356
000001eb: PUSH1 0x00
000001ed: SLOAD
000001ee: DUP2
000001ef: JUMP
000001f0: JUMPDEST
000001f1: PUSH2 0x0356
000001f4: PUSH1 0x04
000001f6: CALLDATALOAD
000001f7: JUMPDEST
000001f8: PUSH1 0x00
000001fa: DUP2
000001fb: PUSH2 0x0a27
000001fe: DUP2
000001ff: PUSH2 0x0136
00000202: JUMP
00000203: JUMPDEST
00000204: PUSH2 0x0354
00000207: PUSH1 0x04
00000209: CALLDATALOAD
0000020a: PUSH1 0x00
0000020c: CALLDATASIZE
0000020d: PUSH1 0x40
0000020f: MLOAD
00000210: DUP1
00000211: DUP4
00000212: DUP4
00000213: DUP1
00000214: DUP3
00000215: DUP5
00000216: CALLDATACOPY
00000217: DUP3
00000218: ADD
00000219: SWAP2
0000021a: POP
0000021b: POP
0000021c: SWAP3
0000021d: POP
0000021e: POP
0000021f: POP
00000220: PUSH1 0x40
00000222: MLOAD
00000223: DUP1
00000224: SWAP2
00000225: SUB
00000226: SWAP1
00000227: KECCAK256
00000228: PUSH2 0x077f
0000022b: DUP2
0000022c: PUSH2 0x0136
0000022f: JUMP
00000230: JUMPDEST
00000231: PUSH2 0x0356
00000234: PUSH1 0x04
00000236: DUP1
00000237: CALLDATALOAD
00000238: SWAP1
00000239: PUSH1 0x24
0000023b: DUP1
0000023c: CALLDATALOAD
0000023d: SWAP2
0000023e: PUSH1 0x44
00000240: CALLDATALOAD
00000241: SWAP2
00000242: DUP3
00000243: ADD
00000244: SWAP2
00000245: ADD
00000246: CALLDATALOAD
00000247: PUSH1 0x00
00000249: PUSH2 0x07aa
0000024c: CALLER
0000024d: PUSH2 0x0166
00000250: JUMP
00000251: JUMPDEST
00000252: PUSH2 0x0354
00000255: PUSH1 0x04
00000257: CALLDATALOAD
00000258: PUSH1 0x01
0000025a: PUSH1 0xa0
0000025c: PUSH1 0x02
0000025e: EXP
0000025f: SUB
00000260: CALLER
00000261: AND
00000262: PUSH1 0x00
00000264: SWAP1
00000265: DUP2
00000266: MSTORE
00000267: PUSH2 0x0102
0000026a: PUSH1 0x20
0000026c: MSTORE
0000026d: PUSH1 0x40
0000026f: DUP2
00000270: KECCAK256
00000271: SLOAD
00000272: SWAP1
00000273: DUP1
00000274: DUP3
00000275: DUP2
00000276: EQ
00000277: ISZERO
00000278: PUSH2 0x0368
0000027b: JUMPI
0000027c: PUSH2 0x03e7
0000027f: JUMP
00000280: JUMPDEST
00000281: PUSH2 0x0354
00000284: PUSH1 0x04
00000286: CALLDATALOAD
00000287: PUSH1 0x00
00000289: CALLDATASIZE
0000028a: PUSH1 0x40
0000028c: MLOAD
0000028d: DUP1
0000028e: DUP4
0000028f: DUP4
00000290: DUP1
00000291: DUP3
00000292: DUP5
00000293: CALLDATACOPY
00000294: DUP3
00000295: ADD
00000296: SWAP2
00000297: POP
00000298: POP
00000299: SWAP3
0000029a: POP
0000029b: POP
0000029c: POP
0000029d: PUSH1 0x40
0000029f: MLOAD
000002a0: DUP1
000002a1: SWAP2
000002a2: SUB
000002a3: SWAP1
000002a4: KECCAK256
000002a5: PUSH2 0x0708
000002a8: DUP2
000002a9: PUSH2 0x0136
000002ac: JUMP
000002ad: JUMPDEST
000002ae: PUSH2 0x0356
000002b1: PUSH1 0x04
000002b3: CALLDATALOAD
000002b4: PUSH1 0x24
000002b6: CALLDATALOAD
000002b7: PUSH1 0x00
000002b9: DUP3
000002ba: DUP2
000002bb: MSTORE
000002bc: PUSH2 0x0103
000002bf: PUSH1 0x20
000002c1: SWAP1
000002c2: DUP2
000002c3: MSTORE
000002c4: PUSH1 0x40
000002c6: DUP1
000002c7: DUP4
000002c8: KECCAK256
000002c9: PUSH1 0x01
000002cb: PUSH1 0xa0
000002cd: PUSH1 0x02
000002cf: EXP
000002d0: SUB
000002d1: DUP6
000002d2: AND
000002d3: DUP5
000002d4: MSTORE
000002d5: PUSH2 0x0102
000002d8: SWAP1
000002d9: SWAP3
000002da: MSTORE
000002db: DUP3
000002dc: KECCAK256
000002dd: SLOAD
000002de: DUP3
000002df: DUP2
000002e0: DUP2
000002e1: EQ
000002e2: ISZERO
000002e3: PUSH2 0x0761
000002e6: JUMPI
000002e7: PUSH2 0x0776
000002ea: JUMP
000002eb: JUMPDEST
000002ec: PUSH2 0x0354
000002ef: PUSH1 0x04
000002f1: CALLDATALOAD
000002f2: PUSH1 0x00
000002f4: CALLDATASIZE
000002f5: PUSH1 0x40
000002f7: MLOAD
000002f8: DUP1
000002f9: DUP4
000002fa: DUP4
000002fb: DUP1
000002fc: DUP3
000002fd: DUP5
000002fe: CALLDATACOPY
000002ff: DUP3
00000300: ADD
00000301: SWAP2
00000302: POP
00000303: POP
00000304: SWAP3
00000305: POP
00000306: POP
00000307: POP
00000308: PUSH1 0x40
0000030a: MLOAD
0000030b: DUP1
0000030c: SWAP2
0000030d: SUB
0000030e: SWAP1
0000030f: KECCAK256
00000310: PUSH2 0x0799
00000313: DUP2
00000314: PUSH2 0x0136
00000317: JUMP
00000318: JUMPDEST
00000319: PUSH2 0x0354
0000031c: PUSH1 0x04
0000031e: CALLDATALOAD
0000031f: PUSH1 0x24
00000321: CALLDATALOAD
00000322: PUSH1 0x00
00000324: PUSH1 0x00
00000326: CALLDATASIZE
00000327: PUSH1 0x40
00000329: MLOAD
0000032a: DUP1
0000032b: DUP4
0000032c: DUP4
0000032d: DUP1
0000032e: DUP3
0000032f: DUP5
00000330: CALLDATACOPY
00000331: DUP3
00000332: ADD
00000333: SWAP2
00000334: POP
00000335: POP
00000336: SWAP3
00000337: POP
00000338: POP
00000339: POP
0000033a: PUSH1 0x40
0000033c: MLOAD
0000033d: DUP1
0000033e: SWAP2
0000033f: SUB
00000340: SWAP1
00000341: KECCAK256
00000342: PUSH2 0x0472
00000345: DUP2
00000346: PUSH2 0x0136
00000349: JUMP
0000034a: JUMPDEST
0000034b: PUSH2 0x0356
0000034e: PUSH2 0x0105
00000351: SLOAD
00000352: DUP2
00000353: JUMP
00000354: JUMPDEST
00000355: STOP
00000356: JUMPDEST
00000357: PUSH1 0x40
00000359: DUP1
0000035a: MLOAD
0000035b: SWAP2
0000035c: DUP3
0000035d: MSTORE
0000035e: MLOAD
0000035f: SWAP1
00000360: DUP2
00000361: SWAP1
00000362: SUB
00000363: PUSH1 0x20
00000365: ADD
00000366: SWAP1
00000367: RETURN
00000368: JUMPDEST
00000369: POP
0000036a: POP
0000036b: PUSH1 0x00
0000036d: DUP3
0000036e: DUP2
0000036f: MSTORE
00000370: PUSH2 0x0103
00000373: PUSH1 0x20
00000375: MSTORE
00000376: PUSH1 0x40
00000378: DUP2
00000379: KECCAK256
0000037a: PUSH1 0x01
0000037c: DUP2
0000037d: ADD
0000037e: SLOAD
0000037f: PUSH1 0x02
00000381: DUP5
00000382: SWAP1
00000383: EXP
00000384: SWAP3
00000385: SWAP1
00000386: DUP4
00000387: AND
00000388: GT
00000389: ISZERO
0000038a: PUSH2 0x03e7
0000038d: JUMPI
0000038e: DUP1
0000038f: SLOAD
00000390: PUSH1 0x01
00000392: DUP3
00000393: DUP2
00000394: ADD
00000395: DUP1
00000396: SLOAD
00000397: SWAP3
00000398: SWAP1
00000399: SWAP2
0000039a: ADD
0000039b: DUP4
0000039c: SSTORE
0000039d: SWAP1
0000039e: DUP4
0000039f: SWAP1
000003a0: SUB
000003a1: SWAP1
000003a2: SSTORE
000003a3: PUSH1 0x40
000003a5: DUP1
000003a6: MLOAD
000003a7: PUSH1 0x01
000003a9: PUSH1 0xa0
000003ab: PUSH1 0x02
000003ad: EXP
000003ae: SUB
000003af: CALLER
000003b0: AND
000003b1: DUP2
000003b2: MSTORE
000003b3: PUSH1 0x20
000003b5: DUP2
000003b6: ADD
000003b7: DUP7
000003b8: SWAP1
000003b9: MSTORE
000003ba: DUP2
000003bb: MLOAD
000003bc: PUSH32 0xc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b
000003dd: SWAP3
000003de: SWAP2
000003df: DUP2
000003e0: SWAP1
000003e1: SUB
000003e2: SWAP1
000003e3: SWAP2
000003e4: ADD
000003e5: SWAP1
000003e6: LOG1
000003e7: JUMPDEST
000003e8: POP
000003e9: POP
000003ea: POP
000003eb: POP
000003ec: JUMP
000003ed: JUMPDEST
000003ee: PUSH1 0x01
000003f0: PUSH1 0xa0
000003f2: PUSH1 0x02
000003f4: EXP
000003f5: SUB
000003f6: DUP4
000003f7: AND
000003f8: PUSH1 0x02
000003fa: DUP4
000003fb: PUSH2 0x0100
000003fe: DUP2
000003ff: LT
00000400: ISZERO
00000401: PUSH2 0x0002
00000404: JUMPI
00000405: POP
00000406: DUP4
00000407: ADD
00000408: DUP2
00000409: SWAP1
0000040a: SSTORE
0000040b: PUSH1 0x01
0000040d: PUSH1 0xa0
0000040f: PUSH1 0x02
00000411: EXP
00000412: SUB
00000413: DUP6
00000414: AND
00000415: PUSH1 0x00
00000417: DUP2
00000418: DUP2
00000419: MSTORE
0000041a: PUSH2 0x0102
0000041d: PUSH1 0x20
0000041f: SWAP1
00000420: DUP2
00000421: MSTORE
00000422: PUSH1 0x40
00000424: DUP1
00000425: DUP4
00000426: KECCAK256
00000427: DUP4
00000428: SWAP1
00000429: SSTORE
0000042a: DUP5
0000042b: DUP4
0000042c: MSTORE
0000042d: SWAP2
0000042e: DUP3
0000042f: SWAP1
00000430: KECCAK256
00000431: DUP7
00000432: SWAP1
00000433: SSTORE
00000434: DUP2
00000435: MLOAD
00000436: SWAP3
00000437: DUP4
00000438: MSTORE
00000439: DUP3
0000043a: ADD
0000043b: SWAP3
0000043c: SWAP1
0000043d: SWAP3
0000043e: MSTORE
0000043f: DUP2
00000440: MLOAD
00000441: PUSH32 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c
00000462: SWAP3
00000463: SWAP2
00000464: DUP2
00000465: SWAP1
00000466: SUB
00000467: SWAP1
00000468: SWAP2
00000469: ADD
0000046a: SWAP1
0000046b: LOG1
0000046c: POP
0000046d: JUMPDEST
0000046e: POP
0000046f: POP
00000470: POP
00000471: JUMP
00000472: JUMPDEST
00000473: ISZERO
00000474: PUSH2 0x03e7
00000477: JUMPI
00000478: PUSH2 0x0480
0000047b: DUP4
0000047c: PUSH2 0x0166
0000047f: JUMP
00000480: JUMPDEST
00000481: ISZERO
00000482: PUSH2 0x048b
00000485: JUMPI
00000486: POP
00000487: PUSH2 0x046d
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH1 0x01
0000048e: PUSH1 0xa0
00000490: PUSH1 0x02
00000492: EXP
00000493: SUB
00000494: DUP5
00000495: AND
00000496: PUSH1 0x00
00000498: SWAP1
00000499: DUP2
0000049a: MSTORE
0000049b: PUSH2 0x0102
0000049e: PUSH1 0x20
000004a0: MSTORE
000004a1: PUSH1 0x40
000004a3: DUP2
000004a4: KECCAK256
000004a5: SLOAD
000004a6: SWAP3
000004a7: POP
000004a8: DUP3
000004a9: EQ
000004aa: ISZERO
000004ab: PUSH2 0x04b4
000004ae: JUMPI
000004af: POP
000004b0: PUSH2 0x046d
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x03ed
000004b8: JUMPDEST
000004b9: PUSH2 0x0104
000004bc: SLOAD
000004bd: PUSH1 0x00
000004bf: JUMPDEST
000004c0: DUP2
000004c1: DUP2
000004c2: LT
000004c3: ISZERO
000004c4: PUSH2 0x0f0b
000004c7: JUMPI
000004c8: PUSH2 0x0104
000004cb: DUP1
000004cc: SLOAD
000004cd: PUSH2 0x0108
000004d0: SWAP2
000004d1: PUSH1 0x00
000004d3: SWAP2
000004d4: DUP5
000004d5: SWAP1
000004d6: DUP2
000004d7: LT
000004d8: ISZERO
000004d9: PUSH2 0x0002
000004dc: JUMPI
000004dd: PUSH1 0x00
000004df: DUP1
000004e0: MLOAD
000004e1: PUSH1 0x20
000004e3: PUSH2 0x0fd8
000004e6: DUP4
000004e7: CODECOPY
000004e8: DUP2
000004e9: MLOAD
000004ea: SWAP2
000004eb: MSTORE
000004ec: ADD
000004ed: SLOAD
000004ee: DUP3
000004ef: MSTORE
000004f0: POP
000004f1: PUSH1 0x20
000004f3: SWAP2
000004f4: SWAP1
000004f5: SWAP2
000004f6: MSTORE
000004f7: PUSH1 0x40
000004f9: DUP2
000004fa: KECCAK256
000004fb: DUP1
000004fc: SLOAD
000004fd: PUSH1 0x01
000004ff: PUSH1 0xa0
00000501: PUSH1 0x02
00000503: EXP
00000504: SUB
00000505: NOT
00000506: AND
00000507: DUP2
00000508: SSTORE
00000509: PUSH1 0x01
0000050b: DUP2
0000050c: DUP2
0000050d: ADD
0000050e: DUP4
0000050f: SWAP1
00000510: SSTORE
00000511: PUSH1 0x02
00000513: DUP3
00000514: DUP2
00000515: ADD
00000516: DUP1
00000517: SLOAD
00000518: DUP6
00000519: DUP3
0000051a: SSTORE
0000051b: SWAP4
0000051c: SWAP5
0000051d: SWAP4
0000051e: SWAP1
0000051f: SWAP3
00000520: DUP2
00000521: AND
00000522: ISZERO
00000523: PUSH2 0x0100
00000526: MUL
00000527: PUSH1 0x00
00000529: NOT
0000052a: ADD
0000052b: AND
0000052c: DIV
0000052d: PUSH1 0x1f
0000052f: DUP2
00000530: SWAP1
00000531: LT
00000532: PUSH2 0x0f90
00000535: JUMPI
00000536: POP
00000537: JUMPDEST
00000538: POP
00000539: POP
0000053a: POP
0000053b: PUSH1 0x01
0000053d: ADD
0000053e: PUSH2 0x04bf
00000541: JUMP
00000542: JUMPDEST
00000543: PUSH1 0x01
00000545: DUP1
00000546: SLOAD
00000547: DUP2
00000548: ADD
00000549: SWAP1
0000054a: DUP2
0000054b: SWAP1
0000054c: SSTORE
0000054d: PUSH1 0x01
0000054f: PUSH1 0xa0
00000551: PUSH1 0x02
00000553: EXP
00000554: SUB
00000555: DUP4
00000556: AND
00000557: SWAP1
00000558: PUSH1 0x02
0000055a: SWAP1
0000055b: PUSH2 0x0100
0000055e: DUP2
0000055f: LT
00000560: ISZERO
00000561: PUSH2 0x0002
00000564: JUMPI
00000565: SWAP1
00000566: SWAP1
00000567: ADD
00000568: PUSH1 0x00
0000056a: POP
0000056b: SSTORE
0000056c: PUSH1 0x01
0000056e: SLOAD
0000056f: PUSH1 0x01
00000571: PUSH1 0xa0
00000573: PUSH1 0x02
00000575: EXP
00000576: SUB
00000577: DUP4
00000578: AND
00000579: PUSH1 0x00
0000057b: DUP2
0000057c: DUP2
0000057d: MSTORE
0000057e: PUSH2 0x0102
00000581: PUSH1 0x20
00000583: SWAP1
00000584: DUP2
00000585: MSTORE
00000586: PUSH1 0x40
00000588: SWAP2
00000589: DUP3
0000058a: SWAP1
0000058b: KECCAK256
0000058c: SWAP4
0000058d: SWAP1
0000058e: SWAP4
0000058f: SSTORE
00000590: DUP1
00000591: MLOAD
00000592: SWAP2
00000593: DUP3
00000594: MSTORE
00000595: MLOAD
00000596: PUSH32 0x994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3
000005b7: SWAP3
000005b8: SWAP2
000005b9: DUP2
000005ba: SWAP1
000005bb: SUB
000005bc: SWAP1
000005bd: SWAP2
000005be: ADD
000005bf: SWAP1
000005c0: LOG1
000005c1: JUMPDEST
000005c2: POP
000005c3: JUMPDEST
000005c4: POP
000005c5: JUMP
000005c6: JUMPDEST
000005c7: ISZERO
000005c8: PUSH2 0x05c1
000005cb: JUMPI
000005cc: PUSH2 0x05d4
000005cf: DUP3
000005d0: PUSH2 0x0166
000005d3: JUMP
000005d4: JUMPDEST
000005d5: ISZERO
000005d6: PUSH2 0x05df
000005d9: JUMPI
000005da: POP
000005db: PUSH2 0x05c3
000005de: JUMP
000005df: JUMPDEST
000005e0: PUSH2 0x05e7
000005e3: PUSH2 0x04b8
000005e6: JUMP
000005e7: JUMPDEST
000005e8: PUSH1 0x01
000005ea: SLOAD
000005eb: PUSH1 0xfa
000005ed: SWAP1
000005ee: LT
000005ef: PUSH2 0x05fa
000005f2: JUMPI
000005f3: PUSH2 0x05fa
000005f6: PUSH2 0x060f
000005f9: JUMP
000005fa: JUMPDEST
000005fb: PUSH1 0x01
000005fd: SLOAD
000005fe: PUSH1 0xfa
00000600: SWAP1
00000601: LT
00000602: PUSH2 0x0542
00000605: JUMPI
00000606: POP
00000607: PUSH2 0x05c3
0000060a: JUMP
0000060b: JUMPDEST
0000060c: PUSH2 0x06c7
0000060f: JUMPDEST
00000610: PUSH1 0x01
00000612: JUMPDEST
00000613: PUSH1 0x01
00000615: SLOAD
00000616: DUP2
00000617: LT
00000618: ISZERO
00000619: PUSH2 0x05c3
0000061c: JUMPI
0000061d: JUMPDEST
0000061e: PUSH1 0x01
00000620: SLOAD
00000621: DUP2
00000622: LT
00000623: DUP1
00000624: ISZERO
00000625: PUSH2 0x063d
00000628: JUMPI
00000629: POP
0000062a: PUSH1 0x02
0000062c: DUP2
0000062d: PUSH2 0x0100
00000630: DUP2
00000631: LT
00000632: ISZERO
00000633: PUSH2 0x0002
00000636: JUMPI
00000637: ADD
00000638: SLOAD
00000639: PUSH1 0x00
0000063b: EQ
0000063c: ISZERO
0000063d: JUMPDEST
0000063e: ISZERO
0000063f: PUSH2 0x0dc7
00000642: JUMPI
00000643: PUSH1 0x01
00000645: ADD
00000646: PUSH2 0x061d
00000649: JUMP
0000064a: JUMPDEST
0000064b: ISZERO
0000064c: PUSH2 0x046d
0000064f: JUMPI
00000650: PUSH1 0x01
00000652: PUSH1 0xa0
00000654: PUSH1 0x02
00000656: EXP
00000657: SUB
00000658: DUP4
00000659: AND
0000065a: PUSH1 0x00
0000065c: SWAP1
0000065d: DUP2
0000065e: MSTORE
0000065f: PUSH2 0x0102
00000662: PUSH1 0x20
00000664: MSTORE
00000665: PUSH1 0x40
00000667: DUP2
00000668: KECCAK256
00000669: SLOAD
0000066a: SWAP3
0000066b: POP
0000066c: DUP3
0000066d: EQ
0000066e: ISZERO
0000066f: PUSH2 0x0678
00000672: JUMPI
00000673: POP
00000674: PUSH2 0x05c1
00000677: JUMP
00000678: JUMPDEST
00000679: PUSH1 0x01
0000067b: PUSH1 0x01
0000067d: PUSH1 0x00
0000067f: POP
00000680: SLOAD
00000681: SUB
00000682: PUSH1 0x00
00000684: PUSH1 0x00
00000686: POP
00000687: SLOAD
00000688: GT
00000689: ISZERO
0000068a: PUSH2 0x0693
0000068d: JUMPI
0000068e: POP
0000068f: PUSH2 0x05c1
00000692: JUMP
00000693: JUMPDEST
00000694: PUSH1 0x00
00000696: PUSH1 0x02
00000698: DUP4
00000699: PUSH2 0x0100
0000069c: DUP2
0000069d: LT
0000069e: ISZERO
0000069f: PUSH2 0x0002
000006a2: JUMPI
000006a3: POP
000006a4: DUP4
000006a5: ADD
000006a6: DUP2
000006a7: SWAP1
000006a8: SSTORE
000006a9: PUSH1 0x01
000006ab: PUSH1 0xa0
000006ad: PUSH1 0x02
000006af: EXP
000006b0: SUB
000006b1: DUP5
000006b2: AND
000006b3: DUP2
000006b4: MSTORE
000006b5: PUSH2 0x0102
000006b8: PUSH1 0x20
000006ba: MSTORE
000006bb: PUSH1 0x40
000006bd: DUP2
000006be: KECCAK256
000006bf: SSTORE
000006c0: PUSH2 0x060b
000006c3: PUSH2 0x04b8
000006c6: JUMP
000006c7: JUMPDEST
000006c8: PUSH1 0x40
000006ca: DUP1
000006cb: MLOAD
000006cc: PUSH1 0x01
000006ce: PUSH1 0xa0
000006d0: PUSH1 0x02
000006d2: EXP
000006d3: SUB
000006d4: DUP6
000006d5: AND
000006d6: DUP2
000006d7: MSTORE
000006d8: SWAP1
000006d9: MLOAD
000006da: PUSH32 0x58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da
000006fb: SWAP2
000006fc: DUP2
000006fd: SWAP1
000006fe: SUB
000006ff: PUSH1 0x20
00000701: ADD
00000702: SWAP1
00000703: LOG1
00000704: POP
00000705: POP
00000706: POP
00000707: JUMP
00000708: JUMPDEST
00000709: ISZERO
0000070a: PUSH2 0x05c1
0000070d: JUMPI
0000070e: PUSH1 0x01
00000710: SLOAD
00000711: DUP3
00000712: GT
00000713: ISZERO
00000714: PUSH2 0x071d
00000717: JUMPI
00000718: POP
00000719: PUSH2 0x05c3
0000071c: JUMP
0000071d: JUMPDEST
0000071e: PUSH1 0x00
00000720: DUP3
00000721: SWAP1
00000722: SSTORE
00000723: PUSH2 0x072a
00000726: PUSH2 0x04b8
00000729: JUMP
0000072a: JUMPDEST
0000072b: PUSH1 0x40
0000072d: DUP1
0000072e: MLOAD
0000072f: DUP4
00000730: DUP2
00000731: MSTORE
00000732: SWAP1
00000733: MLOAD
00000734: PUSH32 0xacbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da
00000755: SWAP2
00000756: DUP2
00000757: SWAP1
00000758: SUB
00000759: PUSH1 0x20
0000075b: ADD
0000075c: SWAP1
0000075d: LOG1
0000075e: POP
0000075f: POP
00000760: JUMP
00000761: JUMPDEST
00000762: POP
00000763: PUSH1 0x01
00000765: DUP3
00000766: ADD
00000767: SLOAD
00000768: PUSH1 0x02
0000076a: DUP3
0000076b: SWAP1
0000076c: EXP
0000076d: SWAP1
0000076e: DUP2
0000076f: AND
00000770: PUSH1 0x00
00000772: EQ
00000773: ISZERO
00000774: SWAP4
00000775: POP
00000776: JUMPDEST
00000777: POP
00000778: POP
00000779: POP
0000077a: SWAP3
0000077b: SWAP2
0000077c: POP
0000077d: POP
0000077e: JUMP
0000077f: JUMPDEST
00000780: ISZERO
00000781: PUSH2 0x05c1
00000784: JUMPI
00000785: POP
00000786: PUSH2 0x0105
00000789: SSTORE
0000078a: JUMP
0000078b: JUMPDEST
0000078c: ISZERO
0000078d: PUSH2 0x05c3
00000790: JUMPI
00000791: PUSH1 0x00
00000793: PUSH2 0x0106
00000796: SSTORE
00000797: POP
00000798: JUMP
00000799: JUMPDEST
0000079a: ISZERO
0000079b: PUSH2 0x05c1
0000079e: JUMPI
0000079f: DUP2
000007a0: PUSH1 0x01
000007a2: PUSH1 0xa0
000007a4: PUSH1 0x02
000007a6: EXP
000007a7: SUB
000007a8: AND
000007a9: SELFDESTRUCT
000007aa: JUMPDEST
000007ab: ISZERO
000007ac: PUSH2 0x09eb
000007af: JUMPI
000007b0: PUSH2 0x07be
000007b3: DUP5
000007b4: PUSH1 0x00
000007b6: PUSH2 0x0ea1
000007b9: CALLER
000007ba: PUSH2 0x0166
000007bd: JUMP
000007be: JUMPDEST
000007bf: ISZERO
000007c0: PUSH2 0x087d
000007c3: JUMPI
000007c4: PUSH32 0x92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd004
000007e5: CALLER
000007e6: DUP6
000007e7: DUP8
000007e8: DUP7
000007e9: DUP7
000007ea: PUSH1 0x40
000007ec: MLOAD
000007ed: DUP1
000007ee: DUP7
000007ef: PUSH1 0x01
000007f1: PUSH1 0xa0
000007f3: PUSH1 0x02
000007f5: EXP
000007f6: SUB
000007f7: AND
000007f8: DUP2
000007f9: MSTORE
000007fa: PUSH1 0x20
000007fc: ADD
000007fd: DUP6
000007fe: DUP2
000007ff: MSTORE
00000800: PUSH1 0x20
00000802: ADD
00000803: DUP5
00000804: PUSH1 0x01
00000806: PUSH1 0xa0
00000808: PUSH1 0x02
0000080a: EXP
0000080b: SUB
0000080c: AND
0000080d: DUP2
0000080e: MSTORE
0000080f: PUSH1 0x20
00000811: ADD
00000812: DUP1
00000813: PUSH1 0x20
00000815: ADD
00000816: DUP3
00000817: DUP2
00000818: SUB
00000819: DUP3
0000081a: MSTORE
0000081b: DUP5
0000081c: DUP5
0000081d: DUP3
0000081e: DUP2
0000081f: DUP2
00000820: MSTORE
00000821: PUSH1 0x20
00000823: ADD
00000824: SWAP3
00000825: POP
00000826: DUP1
00000827: DUP3
00000828: DUP5
00000829: CALLDATACOPY
0000082a: DUP3
0000082b: ADD
0000082c: SWAP2
0000082d: POP
0000082e: POP
0000082f: SWAP7
00000830: POP
00000831: POP
00000832: POP
00000833: POP
00000834: POP
00000835: POP
00000836: POP
00000837: PUSH1 0x40
00000839: MLOAD
0000083a: DUP1
0000083b: SWAP2
0000083c: SUB
0000083d: SWAP1
0000083e: LOG1
0000083f: DUP5
00000840: PUSH1 0x01
00000842: PUSH1 0xa0
00000844: PUSH1 0x02
00000846: EXP
00000847: SUB
00000848: AND
00000849: DUP5
0000084a: DUP5
0000084b: DUP5
0000084c: PUSH1 0x40
0000084e: MLOAD
0000084f: DUP1
00000850: DUP4
00000851: DUP4
00000852: DUP1
00000853: DUP3
00000854: DUP5
00000855: CALLDATACOPY
00000856: DUP3
00000857: ADD
00000858: SWAP2
00000859: POP
0000085a: POP
0000085b: SWAP3
0000085c: POP
0000085d: POP
0000085e: POP
0000085f: PUSH1 0x00
00000861: PUSH1 0x40
00000863: MLOAD
00000864: DUP1
00000865: DUP4
00000866: SUB
00000867: DUP2
00000868: DUP6
00000869: DUP8
0000086a: PUSH2 0x8502
0000086d: GAS
0000086e: SUB
0000086f: CALL
00000870: POP
00000871: PUSH1 0x00
00000873: SWAP4
00000874: POP
00000875: PUSH2 0x09eb
00000878: SWAP3
00000879: POP
0000087a: POP
0000087b: POP
0000087c: JUMP
0000087d: JUMPDEST
0000087e: PUSH1 0x00
00000880: CALLDATASIZE
00000881: NUMBER
00000882: PUSH1 0x40
00000884: MLOAD
00000885: DUP1
00000886: DUP5
00000887: DUP5
00000888: DUP1
00000889: DUP3
0000088a: DUP5
0000088b: CALLDATACOPY
0000088c: DUP3
0000088d: ADD
0000088e: SWAP2
0000088f: POP
00000890: POP
00000891: DUP3
00000892: DUP2
00000893: MSTORE
00000894: PUSH1 0x20
00000896: ADD
00000897: SWAP4
00000898: POP
00000899: POP
0000089a: POP
0000089b: POP
0000089c: PUSH1 0x40
0000089e: MLOAD
0000089f: DUP1
000008a0: SWAP2
000008a1: SUB
000008a2: SWAP1
000008a3: KECCAK256
000008a4: SWAP1
000008a5: POP
000008a6: DUP1
000008a7: POP
000008a8: PUSH2 0x08b0
000008ab: DUP2
000008ac: PUSH2 0x01f7
000008af: JUMP
000008b0: JUMPDEST
000008b1: ISZERO
000008b2: DUP1
000008b3: ISZERO
000008b4: PUSH2 0x08d3
000008b7: JUMPI
000008b8: POP
000008b9: PUSH1 0x00
000008bb: DUP2
000008bc: DUP2
000008bd: MSTORE
000008be: PUSH2 0x0108
000008c1: PUSH1 0x20
000008c3: MSTORE
000008c4: PUSH1 0x40
000008c6: DUP2
000008c7: KECCAK256
000008c8: SLOAD
000008c9: PUSH1 0x01
000008cb: PUSH1 0xa0
000008cd: PUSH1 0x02
000008cf: EXP
000008d0: SUB
000008d1: AND
000008d2: EQ
000008d3: JUMPDEST
000008d4: ISZERO
000008d5: PUSH2 0x09eb
000008d8: JUMPI
000008d9: PUSH1 0x00
000008db: DUP2
000008dc: DUP2
000008dd: MSTORE
000008de: PUSH2 0x0108
000008e1: PUSH1 0x20
000008e3: SWAP1
000008e4: DUP2
000008e5: MSTORE
000008e6: PUSH1 0x40
000008e8: DUP3
000008e9: KECCAK256
000008ea: DUP1
000008eb: SLOAD
000008ec: PUSH1 0x01
000008ee: PUSH1 0xa0
000008f0: PUSH1 0x02
000008f2: EXP
000008f3: SUB
000008f4: NOT
000008f5: AND
000008f6: DUP9
000008f7: OR
000008f8: DUP2
000008f9: SSTORE
000008fa: PUSH1 0x01
000008fc: DUP2
000008fd: DUP2
000008fe: ADD
000008ff: DUP9
00000900: SWAP1
00000901: SSTORE
00000902: PUSH1 0x02
00000904: SWAP2
00000905: DUP3
00000906: ADD
00000907: DUP1
00000908: SLOAD
00000909: DUP2
0000090a: DUP7
0000090b: MSTORE
0000090c: SWAP5
0000090d: DUP5
0000090e: SWAP1
0000090f: KECCAK256
00000910: SWAP1
00000911: SWAP5
00000912: SWAP2
00000913: DUP3
00000914: AND
00000915: ISZERO
00000916: PUSH2 0x0100
00000919: MUL
0000091a: PUSH1 0x00
0000091c: NOT
0000091d: ADD
0000091e: SWAP1
0000091f: SWAP2
00000920: AND
00000921: SWAP2
00000922: SWAP1
00000923: SWAP2
00000924: DIV
00000925: PUSH1 0x1f
00000927: SWAP1
00000928: DUP2
00000929: ADD
0000092a: SWAP3
0000092b: SWAP1
0000092c: SWAP3
0000092d: DIV
0000092e: DUP2
0000092f: ADD
00000930: SWAP2
00000931: DUP6
00000932: SWAP2
00000933: SWAP1
00000934: DUP8
00000935: SWAP1
00000936: DUP4
00000937: SWAP1
00000938: LT
00000939: PUSH2 0x09f3
0000093c: JUMPI
0000093d: PUSH1 0xff
0000093f: NOT
00000940: DUP2
00000941: CALLDATALOAD
00000942: AND
00000943: DUP4
00000944: DUP1
00000945: ADD
00000946: OR
00000947: DUP6
00000948: SSTORE
00000949: JUMPDEST
0000094a: POP
0000094b: PUSH2 0x0965
0000094e: SWAP3
0000094f: SWAP2
00000950: POP
00000951: JUMPDEST
00000952: DUP1
00000953: DUP3
00000954: GT
00000955: ISZERO
00000956: PUSH2 0x0a23
00000959: JUMPI
0000095a: PUSH1 0x00
0000095c: DUP2
0000095d: SSTORE
0000095e: PUSH1 0x01
00000960: ADD
00000961: PUSH2 0x0951
00000964: JUMP
00000965: JUMPDEST
00000966: POP
00000967: POP
00000968: PUSH32 0x1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf32
00000989: DUP2
0000098a: CALLER
0000098b: DUP7
0000098c: DUP9
0000098d: DUP8
0000098e: DUP8
0000098f: PUSH1 0x40
00000991: MLOAD
00000992: DUP1
00000993: DUP8
00000994: DUP2
00000995: MSTORE
00000996: PUSH1 0x20
00000998: ADD
00000999: DUP7
0000099a: PUSH1 0x01
0000099c: PUSH1 0xa0
0000099e: PUSH1 0x02
000009a0: EXP
000009a1: SUB
000009a2: AND
000009a3: DUP2
000009a4: MSTORE
000009a5: PUSH1 0x20
000009a7: ADD
000009a8: DUP6
000009a9: DUP2
000009aa: MSTORE
000009ab: PUSH1 0x20
000009ad: ADD
000009ae: DUP5
000009af: PUSH1 0x01
000009b1: PUSH1 0xa0
000009b3: PUSH1 0x02
000009b5: EXP
000009b6: SUB
000009b7: AND
000009b8: DUP2
000009b9: MSTORE
000009ba: PUSH1 0x20
000009bc: ADD
000009bd: DUP1
000009be: PUSH1 0x20
000009c0: ADD
000009c1: DUP3
000009c2: DUP2
000009c3: SUB
000009c4: DUP3
000009c5: MSTORE
000009c6: DUP5
000009c7: DUP5
000009c8: DUP3
000009c9: DUP2
000009ca: DUP2
000009cb: MSTORE
000009cc: PUSH1 0x20
000009ce: ADD
000009cf: SWAP3
000009d0: POP
000009d1: DUP1
000009d2: DUP3
000009d3: DUP5
000009d4: CALLDATACOPY
000009d5: DUP3
000009d6: ADD
000009d7: SWAP2
000009d8: POP
000009d9: POP
000009da: SWAP8
000009db: POP
000009dc: POP
000009dd: POP
000009de: POP
000009df: POP
000009e0: POP
000009e1: POP
000009e2: POP
000009e3: PUSH1 0x40
000009e5: MLOAD
000009e6: DUP1
000009e7: SWAP2
000009e8: SUB
000009e9: SWAP1
000009ea: LOG1
000009eb: JUMPDEST
000009ec: SWAP5
000009ed: SWAP4
000009ee: POP
000009ef: POP
000009f0: POP
000009f1: POP
000009f2: JUMP
000009f3: JUMPDEST
000009f4: DUP3
000009f5: DUP1
000009f6: ADD
000009f7: PUSH1 0x01
000009f9: ADD
000009fa: DUP6
000009fb: SSTORE
000009fc: DUP3
000009fd: ISZERO
000009fe: PUSH2 0x0949
00000a01: JUMPI
00000a02: SWAP2
00000a03: DUP3
00000a04: ADD
00000a05: JUMPDEST
00000a06: DUP3
00000a07: DUP2
00000a08: GT
00000a09: ISZERO
00000a0a: PUSH2 0x0949
00000a0d: JUMPI
00000a0e: DUP3
00000a0f: CALLDATALOAD
00000a10: DUP3
00000a11: PUSH1 0x00
00000a13: POP
00000a14: SSTORE
00000a15: SWAP2
00000a16: PUSH1 0x20
00000a18: ADD
00000a19: SWAP2
00000a1a: SWAP1
00000a1b: PUSH1 0x01
00000a1d: ADD
00000a1e: SWAP1
00000a1f: PUSH2 0x0a05
00000a22: JUMP
00000a23: JUMPDEST
00000a24: POP
00000a25: SWAP1
00000a26: JUMP
00000a27: JUMPDEST
00000a28: ISZERO
00000a29: PUSH2 0x0aaa
00000a2c: JUMPI
00000a2d: PUSH1 0x00
00000a2f: DUP4
00000a30: DUP2
00000a31: MSTORE
00000a32: PUSH2 0x0108
00000a35: PUSH1 0x20
00000a37: MSTORE
00000a38: PUSH1 0x40
00000a3a: DUP2
00000a3b: KECCAK256
00000a3c: SLOAD
00000a3d: PUSH1 0x01
00000a3f: PUSH1 0xa0
00000a41: PUSH1 0x02
00000a43: EXP
00000a44: SUB
00000a45: AND
00000a46: EQ
00000a47: PUSH2 0x0aaa
00000a4a: JUMPI
00000a4b: PUSH1 0x40
00000a4d: DUP1
00000a4e: MLOAD
00000a4f: PUSH1 0x00
00000a51: SWAP2
00000a52: SWAP1
00000a53: SWAP2
00000a54: KECCAK256
00000a55: DUP1
00000a56: SLOAD
00000a57: PUSH1 0x01
00000a59: DUP3
00000a5a: DUP2
00000a5b: ADD
00000a5c: SLOAD
00000a5d: PUSH1 0x02
00000a5f: SWAP4
00000a60: DUP5
00000a61: ADD
00000a62: DUP1
00000a63: SLOAD
00000a64: PUSH1 0x01
00000a66: PUSH1 0xa0
00000a68: PUSH1 0x02
00000a6a: EXP
00000a6b: SUB
00000a6c: SWAP5
00000a6d: SWAP1
00000a6e: SWAP5
00000a6f: AND
00000a70: SWAP6
00000a71: SWAP2
00000a72: SWAP5
00000a73: SWAP1
00000a74: SWAP4
00000a75: SWAP2
00000a76: SWAP3
00000a77: DUP4
00000a78: SWAP3
00000a79: DUP6
00000a7a: SWAP3
00000a7b: SWAP2
00000a7c: DUP2
00000a7d: AND
00000a7e: ISZERO
00000a7f: PUSH2 0x0100
00000a82: MUL
00000a83: PUSH1 0x00
00000a85: NOT
00000a86: ADD
00000a87: AND
00000a88: DIV
00000a89: DUP1
00000a8a: ISZERO
00000a8b: PUSH2 0x0adb
00000a8e: JUMPI
00000a8f: DUP1
00000a90: PUSH1 0x1f
00000a92: LT
00000a93: PUSH2 0x0ab0
00000a96: JUMPI
00000a97: PUSH2 0x0100
00000a9a: DUP1
00000a9b: DUP4
00000a9c: SLOAD
00000a9d: DIV
00000a9e: MUL
00000a9f: DUP4
00000aa0: MSTORE
00000aa1: SWAP2
00000aa2: PUSH1 0x20
00000aa4: ADD
00000aa5: SWAP2
00000aa6: PUSH2 0x0adb
00000aa9: JUMP
00000aaa: JUMPDEST
00000aab: POP
00000aac: SWAP2
00000aad: SWAP1
00000aae: POP
00000aaf: JUMP
00000ab0: JUMPDEST
00000ab1: DUP3
00000ab2: ADD
00000ab3: SWAP2
00000ab4: SWAP1
00000ab5: PUSH1 0x00
00000ab7: MSTORE
00000ab8: PUSH1 0x20
00000aba: PUSH1 0x00
00000abc: KECCAK256
00000abd: SWAP1
00000abe: JUMPDEST
00000abf: DUP2
00000ac0: SLOAD
00000ac1: DUP2
00000ac2: MSTORE
00000ac3: SWAP1
00000ac4: PUSH1 0x01
00000ac6: ADD
00000ac7: SWAP1
00000ac8: PUSH1 0x20
00000aca: ADD
00000acb: DUP1
00000acc: DUP4
00000acd: GT
00000ace: PUSH2 0x0abe
00000ad1: JUMPI
00000ad2: DUP3
00000ad3: SWAP1
00000ad4: SUB
00000ad5: PUSH1 0x1f
00000ad7: AND
00000ad8: DUP3
00000ad9: ADD
00000ada: SWAP2
00000adb: JUMPDEST
00000adc: POP
00000add: POP
00000ade: SWAP2
00000adf: POP
00000ae0: POP
00000ae1: PUSH1 0x00
00000ae3: PUSH1 0x40
00000ae5: MLOAD
00000ae6: DUP1
00000ae7: DUP4
00000ae8: SUB
00000ae9: DUP2
00000aea: DUP6
00000aeb: DUP8
00000aec: PUSH2 0x8502
00000aef: GAS
00000af0: SUB
00000af1: CALL
00000af2: POP
00000af3: POP
00000af4: POP
00000af5: PUSH1 0x00
00000af7: DUP5
00000af8: DUP2
00000af9: MSTORE
00000afa: PUSH2 0x0108
00000afd: PUSH1 0x20
00000aff: SWAP1
00000b00: DUP2
00000b01: MSTORE
00000b02: PUSH1 0x40
00000b04: SWAP2
00000b05: DUP3
00000b06: SWAP1
00000b07: KECCAK256
00000b08: DUP1
00000b09: SLOAD
00000b0a: PUSH1 0x01
00000b0c: DUP1
00000b0d: DUP4
00000b0e: ADD
00000b0f: SLOAD
00000b10: DUP6
00000b11: MLOAD
00000b12: CALLER
00000b13: PUSH1 0x01
00000b15: PUSH1 0xa0
00000b17: PUSH1 0x02
00000b19: EXP
00000b1a: SUB
00000b1b: DUP2
00000b1c: DUP2
00000b1d: AND
00000b1e: DUP4
00000b1f: MSTORE
00000b20: SWAP7
00000b21: DUP3
00000b22: ADD
00000b23: DUP13
00000b24: SWAP1
00000b25: MSTORE
00000b26: SWAP7
00000b27: DUP2
00000b28: ADD
00000b29: DUP3
00000b2a: SWAP1
00000b2b: MSTORE
00000b2c: SWAP3
00000b2d: SWAP1
00000b2e: SWAP5
00000b2f: AND
00000b30: PUSH1 0x60
00000b32: DUP4
00000b33: ADD
00000b34: DUP2
00000b35: SWAP1
00000b36: MSTORE
00000b37: PUSH1 0xa0
00000b39: PUSH1 0x80
00000b3b: DUP5
00000b3c: ADD
00000b3d: DUP2
00000b3e: DUP2
00000b3f: MSTORE
00000b40: PUSH1 0x02
00000b42: SWAP6
00000b43: DUP7
00000b44: ADD
00000b45: DUP1
00000b46: SLOAD
00000b47: SWAP5
00000b48: DUP6
00000b49: AND
00000b4a: ISZERO
00000b4b: PUSH2 0x0100
00000b4e: MUL
00000b4f: PUSH1 0x00
00000b51: NOT
00000b52: ADD
00000b53: SWAP1
00000b54: SWAP5
00000b55: AND
00000b56: SWAP6
00000b57: SWAP1
00000b58: SWAP6
00000b59: DIV
00000b5a: SWAP1
00000b5b: DUP5
00000b5c: ADD
00000b5d: DUP2
00000b5e: SWAP1
00000b5f: MSTORE
00000b60: PUSH32 0xe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a
00000b81: SWAP8
00000b82: POP
00000b83: DUP11
00000b84: SWAP6
00000b85: SWAP5
00000b86: SWAP2
00000b87: SWAP4
00000b88: SWAP2
00000b89: SWAP1
00000b8a: PUSH1 0xc0
00000b8c: DUP4
00000b8d: ADD
00000b8e: SWAP1
00000b8f: DUP5
00000b90: SWAP1
00000b91: DUP1
00000b92: ISZERO
00000b93: PUSH2 0x0bdd
00000b96: JUMPI
00000b97: DUP1
00000b98: PUSH1 0x1f
00000b9a: LT
00000b9b: PUSH2 0x0bb2
00000b9e: JUMPI
00000b9f: PUSH2 0x0100
00000ba2: DUP1
00000ba3: DUP4
00000ba4: SLOAD
00000ba5: DIV
00000ba6: MUL
00000ba7: DUP4
00000ba8: MSTORE
00000ba9: SWAP2
00000baa: PUSH1 0x20
00000bac: ADD
00000bad: SWAP2
00000bae: PUSH2 0x0bdd
00000bb1: JUMP
00000bb2: JUMPDEST
00000bb3: DUP3
00000bb4: ADD
00000bb5: SWAP2
00000bb6: SWAP1
00000bb7: PUSH1 0x00
00000bb9: MSTORE
00000bba: PUSH1 0x20
00000bbc: PUSH1 0x00
00000bbe: KECCAK256
00000bbf: SWAP1
00000bc0: JUMPDEST
00000bc1: DUP2
00000bc2: SLOAD
00000bc3: DUP2
00000bc4: MSTORE
00000bc5: SWAP1
00000bc6: PUSH1 0x01
00000bc8: ADD
00000bc9: SWAP1
00000bca: PUSH1 0x20
00000bcc: ADD
00000bcd: DUP1
00000bce: DUP4
00000bcf: GT
00000bd0: PUSH2 0x0bc0
00000bd3: JUMPI
00000bd4: DUP3
00000bd5: SWAP1
00000bd6: SUB
00000bd7: PUSH1 0x1f
00000bd9: AND
00000bda: DUP3
00000bdb: ADD
00000bdc: SWAP2
00000bdd: JUMPDEST
00000bde: POP
00000bdf: POP
00000be0: SWAP7
00000be1: POP
00000be2: POP
00000be3: POP
00000be4: POP
00000be5: POP
00000be6: POP
00000be7: POP
00000be8: PUSH1 0x40
00000bea: MLOAD
00000beb: DUP1
00000bec: SWAP2
00000bed: SUB
00000bee: SWAP1
00000bef: LOG1
00000bf0: PUSH1 0x00
00000bf2: DUP4
00000bf3: DUP2
00000bf4: MSTORE
00000bf5: PUSH2 0x0108
00000bf8: PUSH1 0x20
00000bfa: MSTORE
00000bfb: PUSH1 0x40
00000bfd: DUP2
00000bfe: KECCAK256
00000bff: DUP1
00000c00: SLOAD
00000c01: PUSH1 0x01
00000c03: PUSH1 0xa0
00000c05: PUSH1 0x02
00000c07: EXP
00000c08: SUB
00000c09: NOT
00000c0a: AND
00000c0b: DUP2
00000c0c: SSTORE
00000c0d: PUSH1 0x01
00000c0f: DUP2
00000c10: DUP2
00000c11: ADD
00000c12: DUP4
00000c13: SWAP1
00000c14: SSTORE
00000c15: PUSH1 0x02
00000c17: DUP3
00000c18: DUP2
00000c19: ADD
00000c1a: DUP1
00000c1b: SLOAD
00000c1c: DUP6
00000c1d: DUP3
00000c1e: SSTORE
00000c1f: SWAP4
00000c20: SWAP5
00000c21: SWAP4
00000c22: SWAP1
00000c23: SWAP3
00000c24: DUP2
00000c25: AND
00000c26: ISZERO
00000c27: PUSH2 0x0100
00000c2a: MUL
00000c2b: PUSH1 0x00
00000c2d: NOT
00000c2e: ADD
00000c2f: AND
00000c30: DIV
00000c31: PUSH1 0x1f
00000c33: DUP2
00000c34: SWAP1
00000c35: LT
00000c36: PUSH2 0x0c48
00000c39: JUMPI
00000c3a: POP
00000c3b: JUMPDEST
00000c3c: POP
00000c3d: POP
00000c3e: POP
00000c3f: PUSH1 0x01
00000c41: SWAP2
00000c42: POP
00000c43: POP
00000c44: PUSH2 0x0182
00000c47: JUMP
00000c48: JUMPDEST
00000c49: PUSH1 0x1f
00000c4b: ADD
00000c4c: PUSH1 0x20
00000c4e: SWAP1
00000c4f: DIV
00000c50: SWAP1
00000c51: PUSH1 0x00
00000c53: MSTORE
00000c54: PUSH1 0x20
00000c56: PUSH1 0x00
00000c58: KECCAK256
00000c59: SWAP1
00000c5a: DUP2
00000c5b: ADD
00000c5c: SWAP1
00000c5d: PUSH2 0x0c3b
00000c60: SWAP2
00000c61: SWAP1
00000c62: PUSH2 0x0951
00000c65: JUMP
00000c66: JUMPDEST
00000c67: PUSH1 0x00
00000c69: DUP6
00000c6a: DUP2
00000c6b: MSTORE
00000c6c: PUSH2 0x0103
00000c6f: PUSH1 0x20
00000c71: MSTORE
00000c72: PUSH1 0x40
00000c74: DUP2
00000c75: KECCAK256
00000c76: DUP1
00000c77: SLOAD
00000c78: SWAP1
00000c79: SWAP4
00000c7a: POP
00000c7b: EQ
00000c7c: ISZERO
00000c7d: PUSH2 0x0cee
00000c80: JUMPI
00000c81: PUSH1 0x00
00000c83: DUP1
00000c84: SLOAD
00000c85: DUP4
00000c86: SSTORE
00000c87: PUSH1 0x01
00000c89: DUP4
00000c8a: DUP2
00000c8b: ADD
00000c8c: SWAP2
00000c8d: SWAP1
00000c8e: SWAP2
00000c8f: SSTORE
00000c90: PUSH2 0x0104
00000c93: DUP1
00000c94: SLOAD
00000c95: SWAP2
00000c96: DUP3
00000c97: ADD
00000c98: DUP1
00000c99: DUP3
00000c9a: SSTORE
00000c9b: DUP3
00000c9c: DUP1
00000c9d: ISZERO
00000c9e: DUP3
00000c9f: SWAP1
00000ca0: GT
00000ca1: PUSH2 0x0cbd
00000ca4: JUMPI
00000ca5: DUP2
00000ca6: DUP4
00000ca7: PUSH1 0x00
00000ca9: MSTORE
00000caa: PUSH1 0x20
00000cac: PUSH1 0x00
00000cae: KECCAK256
00000caf: SWAP2
00000cb0: DUP3
00000cb1: ADD
00000cb2: SWAP2
00000cb3: ADD
00000cb4: PUSH2 0x0cbd
00000cb7: SWAP2
00000cb8: SWAP1
00000cb9: PUSH2 0x0951
00000cbc: JUMP
00000cbd: JUMPDEST
00000cbe: POP
00000cbf: POP
00000cc0: POP
00000cc1: PUSH1 0x02
00000cc3: DUP4
00000cc4: ADD
00000cc5: DUP2
00000cc6: SWAP1
00000cc7: SSTORE
00000cc8: PUSH2 0x0104
00000ccb: DUP1
00000ccc: SLOAD
00000ccd: DUP8
00000cce: SWAP3
00000ccf: SWAP1
00000cd0: DUP2
00000cd1: LT
00000cd2: ISZERO
00000cd3: PUSH2 0x0002
00000cd6: JUMPI
00000cd7: PUSH1 0x00
00000cd9: SWAP2
00000cda: SWAP1
00000cdb: SWAP2
00000cdc: MSTORE
00000cdd: PUSH1 0x00
00000cdf: DUP1
00000ce0: MLOAD
00000ce1: PUSH1 0x20
00000ce3: PUSH2 0x0fd8
00000ce6: DUP4
00000ce7: CODECOPY
00000ce8: DUP2
00000ce9: MLOAD
00000cea: SWAP2
00000ceb: MSTORE
00000cec: ADD
00000ced: SSTORE
00000cee: JUMPDEST
00000cef: POP
00000cf0: PUSH1 0x01
00000cf2: DUP2
00000cf3: ADD
00000cf4: SLOAD
00000cf5: PUSH1 0x02
00000cf7: DUP4
00000cf8: SWAP1
00000cf9: EXP
00000cfa: SWAP1
00000cfb: DUP2
00000cfc: AND
00000cfd: PUSH1 0x00
00000cff: EQ
00000d00: ISZERO
00000d01: PUSH2 0x0dbf
00000d04: JUMPI
00000d05: PUSH1 0x40
00000d07: DUP1
00000d08: MLOAD
00000d09: PUSH1 0x01
00000d0b: PUSH1 0xa0
00000d0d: PUSH1 0x02
00000d0f: EXP
00000d10: SUB
00000d11: CALLER
00000d12: AND
00000d13: DUP2
00000d14: MSTORE
00000d15: PUSH1 0x20
00000d17: DUP2
00000d18: ADD
00000d19: DUP8
00000d1a: SWAP1
00000d1b: MSTORE
00000d1c: DUP2
00000d1d: MLOAD
00000d1e: PUSH32 0xe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda
00000d3f: SWAP3
00000d40: SWAP2
00000d41: DUP2
00000d42: SWAP1
00000d43: SUB
00000d44: SWAP1
00000d45: SWAP2
00000d46: ADD
00000d47: SWAP1
00000d48: LOG1
00000d49: DUP2
00000d4a: SLOAD
00000d4b: PUSH1 0x01
00000d4d: SWAP1
00000d4e: GT
00000d4f: PUSH2 0x0dac
00000d52: JUMPI
00000d53: PUSH1 0x00
00000d55: DUP6
00000d56: DUP2
00000d57: MSTORE
00000d58: PUSH2 0x0103
00000d5b: PUSH1 0x20
00000d5d: MSTORE
00000d5e: PUSH1 0x40
00000d60: SWAP1
00000d61: KECCAK256
00000d62: PUSH1 0x02
00000d64: ADD
00000d65: SLOAD
00000d66: PUSH2 0x0104
00000d69: DUP1
00000d6a: SLOAD
00000d6b: SWAP1
00000d6c: SWAP2
00000d6d: SWAP1
00000d6e: DUP2
00000d6f: LT
00000d70: ISZERO
00000d71: PUSH2 0x0002
00000d74: JUMPI
00000d75: PUSH1 0x40
00000d77: PUSH1 0x00
00000d79: SWAP1
00000d7a: DUP2
00000d7b: KECCAK256
00000d7c: PUSH1 0x00
00000d7e: DUP1
00000d7f: MLOAD
00000d80: PUSH1 0x20
00000d82: PUSH2 0x0fd8
00000d85: DUP4
00000d86: CODECOPY
00000d87: DUP2
00000d88: MLOAD
00000d89: SWAP2
00000d8a: MSTORE
00000d8b: SWAP3
00000d8c: SWAP1
00000d8d: SWAP3
00000d8e: ADD
00000d8f: DUP2
00000d90: SWAP1
00000d91: SSTORE
00000d92: DUP1
00000d93: DUP3
00000d94: SSTORE
00000d95: PUSH1 0x01
00000d97: DUP3
00000d98: DUP2
00000d99: ADD
00000d9a: DUP3
00000d9b: SWAP1
00000d9c: SSTORE
00000d9d: PUSH1 0x02
00000d9f: SWAP3
00000da0: SWAP1
00000da1: SWAP3
00000da2: ADD
00000da3: SSTORE
00000da4: SWAP5
00000da5: POP
00000da6: PUSH2 0x0dbf
00000da9: SWAP1
00000daa: POP
00000dab: JUMP
00000dac: JUMPDEST
00000dad: DUP2
00000dae: SLOAD
00000daf: PUSH1 0x00
00000db1: NOT
00000db2: ADD
00000db3: DUP3
00000db4: SSTORE
00000db5: PUSH1 0x01
00000db7: DUP3
00000db8: ADD
00000db9: DUP1
00000dba: SLOAD
00000dbb: DUP3
00000dbc: OR
00000dbd: SWAP1
00000dbe: SSTORE
00000dbf: JUMPDEST
00000dc0: POP
00000dc1: POP
00000dc2: POP
00000dc3: SWAP2
00000dc4: SWAP1
00000dc5: POP
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: JUMPDEST
00000dc9: PUSH1 0x01
00000dcb: DUP1
00000dcc: SLOAD
00000dcd: GT
00000dce: DUP1
00000dcf: ISZERO
00000dd0: PUSH2 0x0dea
00000dd3: JUMPI
00000dd4: POP
00000dd5: PUSH1 0x01
00000dd7: SLOAD
00000dd8: PUSH1 0x02
00000dda: SWAP1
00000ddb: PUSH2 0x0100
00000dde: DUP2
00000ddf: LT
00000de0: ISZERO
00000de1: PUSH2 0x0002
00000de4: JUMPI
00000de5: ADD
00000de6: SLOAD
00000de7: PUSH1 0x00
00000de9: EQ
00000dea: JUMPDEST
00000deb: ISZERO
00000dec: PUSH2 0x0dfe
00000def: JUMPI
00000df0: PUSH1 0x01
00000df2: DUP1
00000df3: SLOAD
00000df4: PUSH1 0x00
00000df6: NOT
00000df7: ADD
00000df8: SWAP1
00000df9: SSTORE
00000dfa: PUSH2 0x0dc8
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: PUSH1 0x01
00000e01: SLOAD
00000e02: DUP2
00000e03: LT
00000e04: DUP1
00000e05: ISZERO
00000e06: PUSH2 0x0e21
00000e09: JUMPI
00000e0a: POP
00000e0b: PUSH1 0x01
00000e0d: SLOAD
00000e0e: PUSH1 0x02
00000e10: SWAP1
00000e11: PUSH2 0x0100
00000e14: DUP2
00000e15: LT
00000e16: ISZERO
00000e17: PUSH2 0x0002
00000e1a: JUMPI
00000e1b: ADD
00000e1c: SLOAD
00000e1d: PUSH1 0x00
00000e1f: EQ
00000e20: ISZERO
00000e21: JUMPDEST
00000e22: DUP1
00000e23: ISZERO
00000e24: PUSH2 0x0e3b
00000e27: JUMPI
00000e28: POP
00000e29: PUSH1 0x02
00000e2b: DUP2
00000e2c: PUSH2 0x0100
00000e2f: DUP2
00000e30: LT
00000e31: ISZERO
00000e32: PUSH2 0x0002
00000e35: JUMPI
00000e36: ADD
00000e37: SLOAD
00000e38: PUSH1 0x00
00000e3a: EQ
00000e3b: JUMPDEST
00000e3c: ISZERO
00000e3d: PUSH2 0x0e9c
00000e40: JUMPI
00000e41: PUSH1 0x01
00000e43: SLOAD
00000e44: PUSH1 0x02
00000e46: SWAP1
00000e47: PUSH2 0x0100
00000e4a: DUP2
00000e4b: LT
00000e4c: ISZERO
00000e4d: PUSH2 0x0002
00000e50: JUMPI
00000e51: DUP2
00000e52: ADD
00000e53: SLOAD
00000e54: SWAP1
00000e55: DUP3
00000e56: PUSH2 0x0100
00000e59: DUP2
00000e5a: LT
00000e5b: ISZERO
00000e5c: PUSH2 0x0002
00000e5f: JUMPI
00000e60: SWAP1
00000e61: SWAP1
00000e62: ADD
00000e63: PUSH1 0x00
00000e65: POP
00000e66: SSTORE
00000e67: DUP1
00000e68: PUSH2 0x0102
00000e6b: PUSH1 0x00
00000e6d: PUSH1 0x02
00000e6f: DUP4
00000e70: PUSH2 0x0100
00000e73: DUP2
00000e74: LT
00000e75: ISZERO
00000e76: PUSH2 0x0002
00000e79: JUMPI
00000e7a: DUP2
00000e7b: ADD
00000e7c: SLOAD
00000e7d: DUP3
00000e7e: MSTORE
00000e7f: PUSH1 0x20
00000e81: SWAP3
00000e82: SWAP1
00000e83: SWAP3
00000e84: MSTORE
00000e85: PUSH1 0x40
00000e87: DUP2
00000e88: KECCAK256
00000e89: SWAP3
00000e8a: SWAP1
00000e8b: SWAP3
00000e8c: SSTORE
00000e8d: PUSH1 0x01
00000e8f: SLOAD
00000e90: PUSH2 0x0100
00000e93: DUP2
00000e94: LT
00000e95: ISZERO
00000e96: PUSH2 0x0002
00000e99: JUMPI
00000e9a: ADD
00000e9b: SSTORE
00000e9c: JUMPDEST
00000e9d: PUSH2 0x0612
00000ea0: JUMP
00000ea1: JUMPDEST
00000ea2: ISZERO
00000ea3: PUSH2 0x0182
00000ea6: JUMPI
00000ea7: PUSH2 0x0107
00000eaa: SLOAD
00000eab: PUSH2 0x0eb7
00000eae: JUMPDEST
00000eaf: PUSH3 0x015180
00000eb3: TIMESTAMP
00000eb4: DIV
00000eb5: SWAP1
00000eb6: JUMP
00000eb7: JUMPDEST
00000eb8: GT
00000eb9: ISZERO
00000eba: PUSH2 0x0ed0
00000ebd: JUMPI
00000ebe: PUSH1 0x00
00000ec0: PUSH2 0x0106
00000ec3: SSTORE
00000ec4: PUSH2 0x0ecb
00000ec7: PUSH2 0x0eae
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: PUSH2 0x0107
00000ecf: SSTORE
00000ed0: JUMPDEST
00000ed1: PUSH2 0x0106
00000ed4: SLOAD
00000ed5: DUP1
00000ed6: DUP4
00000ed7: ADD
00000ed8: LT
00000ed9: DUP1
00000eda: ISZERO
00000edb: SWAP1
00000edc: PUSH2 0x0eed
00000edf: JUMPI
00000ee0: POP
00000ee1: PUSH2 0x0105
00000ee4: SLOAD
00000ee5: PUSH2 0x0106
00000ee8: SLOAD
00000ee9: DUP4
00000eea: ADD
00000eeb: GT
00000eec: ISZERO
00000eed: JUMPDEST
00000eee: ISZERO
00000eef: PUSH2 0x0f03
00000ef2: JUMPI
00000ef3: POP
00000ef4: PUSH2 0x0106
00000ef7: DUP1
00000ef8: SLOAD
00000ef9: DUP3
00000efa: ADD
00000efb: SWAP1
00000efc: SSTORE
00000efd: PUSH1 0x01
00000eff: PUSH2 0x0182
00000f02: JUMP
00000f03: JUMPDEST
00000f04: POP
00000f05: PUSH1 0x00
00000f07: PUSH2 0x0182
00000f0a: JUMP
00000f0b: JUMPDEST
00000f0c: PUSH2 0x05c1
00000f0f: PUSH2 0x0104
00000f12: SLOAD
00000f13: PUSH1 0x00
00000f15: JUMPDEST
00000f16: DUP2
00000f17: DUP2
00000f18: LT
00000f19: ISZERO
00000f1a: PUSH2 0x0fae
00000f1d: JUMPI
00000f1e: PUSH2 0x0104
00000f21: DUP1
00000f22: SLOAD
00000f23: DUP3
00000f24: SWAP1
00000f25: DUP2
00000f26: LT
00000f27: ISZERO
00000f28: PUSH2 0x0002
00000f2b: JUMPI
00000f2c: PUSH1 0x00
00000f2e: SWAP2
00000f2f: DUP3
00000f30: MSTORE
00000f31: PUSH1 0x00
00000f33: DUP1
00000f34: MLOAD
00000f35: PUSH1 0x20
00000f37: PUSH2 0x0fd8
00000f3a: DUP4
00000f3b: CODECOPY
00000f3c: DUP2
00000f3d: MLOAD
00000f3e: SWAP2
00000f3f: MSTORE
00000f40: ADD
00000f41: SLOAD
00000f42: EQ
00000f43: PUSH2 0x0f88
00000f46: JUMPI
00000f47: PUSH2 0x0104
00000f4a: DUP1
00000f4b: SLOAD
00000f4c: PUSH2 0x0103
00000f4f: SWAP2
00000f50: PUSH1 0x00
00000f52: SWAP2
00000f53: DUP5
00000f54: SWAP1
00000f55: DUP2
00000f56: LT
00000f57: ISZERO
00000f58: PUSH2 0x0002
00000f5b: JUMPI
00000f5c: PUSH1 0x00
00000f5e: DUP1
00000f5f: MLOAD
00000f60: PUSH1 0x20
00000f62: PUSH2 0x0fd8
00000f65: DUP4
00000f66: CODECOPY
00000f67: DUP2
00000f68: MLOAD
00000f69: SWAP2
00000f6a: MSTORE
00000f6b: ADD
00000f6c: SLOAD
00000f6d: DUP3
00000f6e: MSTORE
00000f6f: POP
00000f70: PUSH1 0x20
00000f72: SWAP2
00000f73: SWAP1
00000f74: SWAP2
00000f75: MSTORE
00000f76: PUSH1 0x40
00000f78: DUP2
00000f79: KECCAK256
00000f7a: DUP2
00000f7b: DUP2
00000f7c: SSTORE
00000f7d: PUSH1 0x01
00000f7f: DUP2
00000f80: ADD
00000f81: DUP3
00000f82: SWAP1
00000f83: SSTORE
00000f84: PUSH1 0x02
00000f86: ADD
00000f87: SSTORE
00000f88: JUMPDEST
00000f89: PUSH1 0x01
00000f8b: ADD
00000f8c: PUSH2 0x0f15
00000f8f: JUMP
00000f90: JUMPDEST
00000f91: PUSH1 0x1f
00000f93: ADD
00000f94: PUSH1 0x20
00000f96: SWAP1
00000f97: DIV
00000f98: SWAP1
00000f99: PUSH1 0x00
00000f9b: MSTORE
00000f9c: PUSH1 0x20
00000f9e: PUSH1 0x00
00000fa0: KECCAK256
00000fa1: SWAP1
00000fa2: DUP2
00000fa3: ADD
00000fa4: SWAP1
00000fa5: PUSH2 0x0537
00000fa8: SWAP2
00000fa9: SWAP1
00000faa: PUSH2 0x0951
00000fad: JUMP
00000fae: JUMPDEST
00000faf: PUSH2 0x0104
00000fb2: DUP1
00000fb3: SLOAD
00000fb4: PUSH1 0x00
00000fb6: DUP1
00000fb7: DUP4
00000fb8: SSTORE
00000fb9: SWAP2
00000fba: SWAP1
00000fbb: SWAP2
00000fbc: MSTORE
00000fbd: PUSH2 0x046d
00000fc0: SWAP1
00000fc1: PUSH1 0x00
00000fc3: DUP1
00000fc4: MLOAD
00000fc5: PUSH1 0x20
00000fc7: PUSH2 0x0fd8
00000fca: DUP4
00000fcb: CODECOPY
00000fcc: DUP2
00000fcd: MLOAD
00000fce: SWAP2
00000fcf: MSTORE
00000fd0: SWAP1
00000fd1: DUP2
00000fd2: ADD
00000fd3: SWAP1
00000fd4: PUSH2 0x0951
00000fd7: JUMP
00000fd8: UNKNOWN(0x4C)
00000fd9: SIGNEXTEND
00000fda: UNKNOWN(0xE6)
00000fdb: MUL
00000fdc: STOP
00000fdd: STATICCALL
00000fde: LOG2
00000fdf: SDIV
00000fe0: MSIZE
00000fe1: ADDRESS
00000fe2: DUP13
00000fe3: UNKNOWN(0xB7)
00000fe4: UNKNOWN(0xB5)
00000fe5: LOG1
00000fe6: UNKNOWN(0xBB)
00000fe7: ORIGIN
00000fe8: SSTORE
00000fe9: UNKNOWN(0xC1)
00000fea: PUSH13 0xb1cab91f525b5ae7a03d02fabe
View stderr
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.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4071,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x666d4ce54a92830c71e557927b582b9833dbb97daf4383a0927bc772a7b3e787
call_targets: 0xad244a3d4fc31e043c4a65624d2a8f714ea0a3c1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x666d4ce54a92830c71e557927b582b9833dbb97daf4383a0927bc772a7b3e787",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xad244a3d4fc31e043c4a65624d2a8f714ea0a3c1"
    ],
    "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": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2159,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2801,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 4071,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x666d4ce54a92830c71e557927b582b9833dbb97daf4383a0927bc772a7b3e787
call_targets: 0xad244a3d4fc31e043c4a65624d2a8f714ea0a3c1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x666d4ce54a92830c71e557927b582b9833dbb97daf4383a0927bc772a7b3e787",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xad244a3d4fc31e043c4a65624d2a8f714ea0a3c1"
    ],
    "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": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2159,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2801,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 4071,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x89fbcc27660e95f6ca7518d8b17ee404e33d43f6e62f0361df4c9691c072d2d6
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 30,
    "trace_id": "0x89fbcc27660e95f6ca7518d8b17ee404e33d43f6e62f0361df4c9691c072d2d6",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4071,
            "type": "tx_origin_used"
        }
    ],
    "selfdestruct_count": 1
}