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

Analysis Run

019b477e-c22c-72d9-afee-c028ce85a662

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 22, 2025 7:17 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
Verified
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
24989 artifact.fetch complete 1 / 3 3 months ago
24990 tool.cast_disasm complete 1 / 3 3 months ago
68514 analysis.bundle complete 1 / 3 2 weeks ago
68515 capability.graph complete 1 / 3 2 weeks ago
68516 detector.run complete 1 / 3 2 weeks ago
68517 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate

No codex job recorded yet.

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
6
Total opcodes
1840
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0043
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x60f3309b
00000019: EQ
0000001a: PUSH2 0x011d
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xce80a9a1
00000024: EQ
00000025: PUSH2 0x015a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd1058e59
0000002f: EQ
00000030: PUSH2 0x0183
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe3cfe2cb
0000003a: EQ
0000003b: PUSH2 0x019a
0000003e: JUMPI
0000003f: PUSH2 0x0118
00000042: JUMP
00000043: JUMPDEST
00000044: CALLDATASIZE
00000045: PUSH2 0x0118
00000048: JUMPI
00000049: PUSH1 0x00
0000004b: DUP1
0000004c: PUSH1 0x00
0000004e: SWAP1
0000004f: SLOAD
00000050: SWAP1
00000051: PUSH2 0x0100
00000054: EXP
00000055: SWAP1
00000056: DIV
00000057: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000006c: AND
0000006d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000082: AND
00000083: PUSH4 0x18160ddd
00000088: PUSH1 0x40
0000008a: MLOAD
0000008b: DUP2
0000008c: PUSH4 0xffffffff
00000091: AND
00000092: PUSH1 0xe0
00000094: SHL
00000095: DUP2
00000096: MSTORE
00000097: PUSH1 0x04
00000099: ADD
0000009a: PUSH1 0x20
0000009c: PUSH1 0x40
0000009e: MLOAD
0000009f: DUP1
000000a0: DUP4
000000a1: SUB
000000a2: DUP2
000000a3: DUP7
000000a4: DUP1
000000a5: EXTCODESIZE
000000a6: ISZERO
000000a7: DUP1
000000a8: ISZERO
000000a9: PUSH2 0x00b1
000000ac: JUMPI
000000ad: PUSH1 0x00
000000af: DUP1
000000b0: REVERT
000000b1: JUMPDEST
000000b2: POP
000000b3: GAS
000000b4: STATICCALL
000000b5: ISZERO
000000b6: DUP1
000000b7: ISZERO
000000b8: PUSH2 0x00c5
000000bb: JUMPI
000000bc: RETURNDATASIZE
000000bd: PUSH1 0x00
000000bf: DUP1
000000c0: RETURNDATACOPY
000000c1: RETURNDATASIZE
000000c2: PUSH1 0x00
000000c4: REVERT
000000c5: JUMPDEST
000000c6: POP
000000c7: POP
000000c8: POP
000000c9: POP
000000ca: PUSH1 0x40
000000cc: MLOAD
000000cd: RETURNDATASIZE
000000ce: PUSH1 0x1f
000000d0: NOT
000000d1: PUSH1 0x1f
000000d3: DUP3
000000d4: ADD
000000d5: AND
000000d6: DUP3
000000d7: ADD
000000d8: DUP1
000000d9: PUSH1 0x40
000000db: MSTORE
000000dc: POP
000000dd: DUP2
000000de: ADD
000000df: SWAP1
000000e0: PUSH2 0x00e9
000000e3: SWAP2
000000e4: SWAP1
000000e5: PUSH2 0x08c6
000000e8: JUMP
000000e9: JUMPDEST
000000ea: SWAP1
000000eb: POP
000000ec: PUSH1 0x00
000000ee: DUP2
000000ef: CALLVALUE
000000f0: PUSH2 0x00f9
000000f3: SWAP2
000000f4: SWAP1
000000f5: PUSH2 0x0a5d
000000f8: JUMP
000000f9: JUMPDEST
000000fa: SWAP1
000000fb: POP
000000fc: DUP1
000000fd: PUSH1 0x02
000000ff: PUSH1 0x00
00000101: DUP3
00000102: DUP3
00000103: SLOAD
00000104: PUSH2 0x010d
00000107: SWAP2
00000108: SWAP1
00000109: PUSH2 0x0a07
0000010c: JUMP
0000010d: JUMPDEST
0000010e: SWAP3
0000010f: POP
00000110: POP
00000111: DUP2
00000112: SWAP1
00000113: SSTORE
00000114: POP
00000115: POP
00000116: POP
00000117: STOP
00000118: JUMPDEST
00000119: PUSH1 0x00
0000011b: DUP1
0000011c: REVERT
0000011d: JUMPDEST
0000011e: CALLVALUE
0000011f: DUP1
00000120: ISZERO
00000121: PUSH2 0x0129
00000124: JUMPI
00000125: PUSH1 0x00
00000127: DUP1
00000128: REVERT
00000129: JUMPDEST
0000012a: POP
0000012b: PUSH2 0x0144
0000012e: PUSH1 0x04
00000130: DUP1
00000131: CALLDATASIZE
00000132: SUB
00000133: DUP2
00000134: ADD
00000135: SWAP1
00000136: PUSH2 0x013f
00000139: SWAP2
0000013a: SWAP1
0000013b: PUSH2 0x083f
0000013e: JUMP
0000013f: JUMPDEST
00000140: PUSH2 0x01d7
00000143: JUMP
00000144: JUMPDEST
00000145: PUSH1 0x40
00000147: MLOAD
00000148: PUSH2 0x0151
0000014b: SWAP2
0000014c: SWAP1
0000014d: PUSH2 0x09db
00000150: JUMP
00000151: JUMPDEST
00000152: PUSH1 0x40
00000154: MLOAD
00000155: DUP1
00000156: SWAP2
00000157: SUB
00000158: SWAP1
00000159: RETURN
0000015a: JUMPDEST
0000015b: CALLVALUE
0000015c: DUP1
0000015d: ISZERO
0000015e: PUSH2 0x0166
00000161: JUMPI
00000162: PUSH1 0x00
00000164: DUP1
00000165: REVERT
00000166: JUMPDEST
00000167: POP
00000168: PUSH2 0x0181
0000016b: PUSH1 0x04
0000016d: DUP1
0000016e: CALLDATASIZE
0000016f: SUB
00000170: DUP2
00000171: ADD
00000172: SWAP1
00000173: PUSH2 0x017c
00000176: SWAP2
00000177: SWAP1
00000178: PUSH2 0x0899
0000017b: JUMP
0000017c: JUMPDEST
0000017d: PUSH2 0x0375
00000180: JUMP
00000181: JUMPDEST
00000182: STOP
00000183: JUMPDEST
00000184: CALLVALUE
00000185: DUP1
00000186: ISZERO
00000187: PUSH2 0x018f
0000018a: JUMPI
0000018b: PUSH1 0x00
0000018d: DUP1
0000018e: REVERT
0000018f: JUMPDEST
00000190: POP
00000191: PUSH2 0x0198
00000194: PUSH2 0x055f
00000197: JUMP
00000198: JUMPDEST
00000199: STOP
0000019a: JUMPDEST
0000019b: CALLVALUE
0000019c: DUP1
0000019d: ISZERO
0000019e: PUSH2 0x01a6
000001a1: JUMPI
000001a2: PUSH1 0x00
000001a4: DUP1
000001a5: REVERT
000001a6: JUMPDEST
000001a7: POP
000001a8: PUSH2 0x01c1
000001ab: PUSH1 0x04
000001ad: DUP1
000001ae: CALLDATASIZE
000001af: SUB
000001b0: DUP2
000001b1: ADD
000001b2: SWAP1
000001b3: PUSH2 0x01bc
000001b6: SWAP2
000001b7: SWAP1
000001b8: PUSH2 0x0899
000001bb: JUMP
000001bc: JUMPDEST
000001bd: PUSH2 0x07c1
000001c0: JUMP
000001c1: JUMPDEST
000001c2: PUSH1 0x40
000001c4: MLOAD
000001c5: PUSH2 0x01ce
000001c8: SWAP2
000001c9: SWAP1
000001ca: PUSH2 0x09db
000001cd: JUMP
000001ce: JUMPDEST
000001cf: PUSH1 0x40
000001d1: MLOAD
000001d2: DUP1
000001d3: SWAP2
000001d4: SUB
000001d5: SWAP1
000001d6: RETURN
000001d7: JUMPDEST
000001d8: PUSH1 0x00
000001da: DUP1
000001db: PUSH1 0x00
000001dd: SWAP1
000001de: POP
000001df: PUSH1 0x00
000001e1: DUP1
000001e2: PUSH1 0x00
000001e4: SWAP1
000001e5: SLOAD
000001e6: SWAP1
000001e7: PUSH2 0x0100
000001ea: EXP
000001eb: SWAP1
000001ec: DIV
000001ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000202: AND
00000203: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000218: AND
00000219: PUSH4 0x70a08231
0000021e: DUP6
0000021f: PUSH1 0x40
00000221: MLOAD
00000222: DUP3
00000223: PUSH4 0xffffffff
00000228: AND
00000229: PUSH1 0xe0
0000022b: SHL
0000022c: DUP2
0000022d: MSTORE
0000022e: PUSH1 0x04
00000230: ADD
00000231: PUSH2 0x023a
00000234: SWAP2
00000235: SWAP1
00000236: PUSH2 0x0957
00000239: JUMP
0000023a: JUMPDEST
0000023b: PUSH1 0x20
0000023d: PUSH1 0x40
0000023f: MLOAD
00000240: DUP1
00000241: DUP4
00000242: SUB
00000243: DUP2
00000244: DUP7
00000245: DUP1
00000246: EXTCODESIZE
00000247: ISZERO
00000248: DUP1
00000249: ISZERO
0000024a: PUSH2 0x0252
0000024d: JUMPI
0000024e: PUSH1 0x00
00000250: DUP1
00000251: REVERT
00000252: JUMPDEST
00000253: POP
00000254: GAS
00000255: STATICCALL
00000256: ISZERO
00000257: DUP1
00000258: ISZERO
00000259: PUSH2 0x0266
0000025c: JUMPI
0000025d: RETURNDATASIZE
0000025e: PUSH1 0x00
00000260: DUP1
00000261: RETURNDATACOPY
00000262: RETURNDATASIZE
00000263: PUSH1 0x00
00000265: REVERT
00000266: JUMPDEST
00000267: POP
00000268: POP
00000269: POP
0000026a: POP
0000026b: PUSH1 0x40
0000026d: MLOAD
0000026e: RETURNDATASIZE
0000026f: PUSH1 0x1f
00000271: NOT
00000272: PUSH1 0x1f
00000274: DUP3
00000275: ADD
00000276: AND
00000277: DUP3
00000278: ADD
00000279: DUP1
0000027a: PUSH1 0x40
0000027c: MSTORE
0000027d: POP
0000027e: DUP2
0000027f: ADD
00000280: SWAP1
00000281: PUSH2 0x028a
00000284: SWAP2
00000285: SWAP1
00000286: PUSH2 0x08c6
00000289: JUMP
0000028a: JUMPDEST
0000028b: SWAP1
0000028c: POP
0000028d: PUSH1 0x00
0000028f: JUMPDEST
00000290: DUP2
00000291: DUP2
00000292: LT
00000293: ISZERO
00000294: PUSH2 0x036a
00000297: JUMPI
00000298: PUSH2 0x034a
0000029b: PUSH1 0x00
0000029d: DUP1
0000029e: SLOAD
0000029f: SWAP1
000002a0: PUSH2 0x0100
000002a3: EXP
000002a4: SWAP1
000002a5: DIV
000002a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002bb: AND
000002bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002d1: AND
000002d2: PUSH4 0x2f745c59
000002d7: DUP8
000002d8: DUP5
000002d9: PUSH1 0x40
000002db: MLOAD
000002dc: DUP4
000002dd: PUSH4 0xffffffff
000002e2: AND
000002e3: PUSH1 0xe0
000002e5: SHL
000002e6: DUP2
000002e7: MSTORE
000002e8: PUSH1 0x04
000002ea: ADD
000002eb: PUSH2 0x02f5
000002ee: SWAP3
000002ef: SWAP2
000002f0: SWAP1
000002f1: PUSH2 0x0972
000002f4: JUMP
000002f5: JUMPDEST
000002f6: PUSH1 0x20
000002f8: PUSH1 0x40
000002fa: MLOAD
000002fb: DUP1
000002fc: DUP4
000002fd: SUB
000002fe: DUP2
000002ff: DUP7
00000300: DUP1
00000301: EXTCODESIZE
00000302: ISZERO
00000303: DUP1
00000304: ISZERO
00000305: PUSH2 0x030d
00000308: JUMPI
00000309: PUSH1 0x00
0000030b: DUP1
0000030c: REVERT
0000030d: JUMPDEST
0000030e: POP
0000030f: GAS
00000310: STATICCALL
00000311: ISZERO
00000312: DUP1
00000313: ISZERO
00000314: PUSH2 0x0321
00000317: JUMPI
00000318: RETURNDATASIZE
00000319: PUSH1 0x00
0000031b: DUP1
0000031c: RETURNDATACOPY
0000031d: RETURNDATASIZE
0000031e: PUSH1 0x00
00000320: REVERT
00000321: JUMPDEST
00000322: POP
00000323: POP
00000324: POP
00000325: POP
00000326: PUSH1 0x40
00000328: MLOAD
00000329: RETURNDATASIZE
0000032a: PUSH1 0x1f
0000032c: NOT
0000032d: PUSH1 0x1f
0000032f: DUP3
00000330: ADD
00000331: AND
00000332: DUP3
00000333: ADD
00000334: DUP1
00000335: PUSH1 0x40
00000337: MSTORE
00000338: POP
00000339: DUP2
0000033a: ADD
0000033b: SWAP1
0000033c: PUSH2 0x0345
0000033f: SWAP2
00000340: SWAP1
00000341: PUSH2 0x08c6
00000344: JUMP
00000345: JUMPDEST
00000346: PUSH2 0x07c1
00000349: JUMP
0000034a: JUMPDEST
0000034b: DUP4
0000034c: PUSH2 0x0355
0000034f: SWAP2
00000350: SWAP1
00000351: PUSH2 0x0a07
00000354: JUMP
00000355: JUMPDEST
00000356: SWAP3
00000357: POP
00000358: DUP1
00000359: DUP1
0000035a: PUSH2 0x0362
0000035d: SWAP1
0000035e: PUSH2 0x0afe
00000361: JUMP
00000362: JUMPDEST
00000363: SWAP2
00000364: POP
00000365: POP
00000366: PUSH2 0x028f
00000369: JUMP
0000036a: JUMPDEST
0000036b: POP
0000036c: DUP2
0000036d: SWAP3
0000036e: POP
0000036f: POP
00000370: POP
00000371: SWAP2
00000372: SWAP1
00000373: POP
00000374: JUMP
00000375: JUMPDEST
00000376: CALLER
00000377: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000038c: AND
0000038d: PUSH1 0x00
0000038f: DUP1
00000390: SLOAD
00000391: SWAP1
00000392: PUSH2 0x0100
00000395: EXP
00000396: SWAP1
00000397: DIV
00000398: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003ad: AND
000003ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003c3: AND
000003c4: PUSH4 0x6352211e
000003c9: DUP4
000003ca: PUSH1 0x40
000003cc: MLOAD
000003cd: DUP3
000003ce: PUSH4 0xffffffff
000003d3: AND
000003d4: PUSH1 0xe0
000003d6: SHL
000003d7: DUP2
000003d8: MSTORE
000003d9: PUSH1 0x04
000003db: ADD
000003dc: PUSH2 0x03e5
000003df: SWAP2
000003e0: SWAP1
000003e1: PUSH2 0x09db
000003e4: JUMP
000003e5: JUMPDEST
000003e6: PUSH1 0x20
000003e8: PUSH1 0x40
000003ea: MLOAD
000003eb: DUP1
000003ec: DUP4
000003ed: SUB
000003ee: DUP2
000003ef: DUP7
000003f0: DUP1
000003f1: EXTCODESIZE
000003f2: ISZERO
000003f3: DUP1
000003f4: ISZERO
000003f5: PUSH2 0x03fd
000003f8: JUMPI
000003f9: PUSH1 0x00
000003fb: DUP1
000003fc: REVERT
000003fd: JUMPDEST
000003fe: POP
000003ff: GAS
00000400: STATICCALL
00000401: ISZERO
00000402: DUP1
00000403: ISZERO
00000404: PUSH2 0x0411
00000407: JUMPI
00000408: RETURNDATASIZE
00000409: PUSH1 0x00
0000040b: DUP1
0000040c: RETURNDATACOPY
0000040d: RETURNDATASIZE
0000040e: PUSH1 0x00
00000410: REVERT
00000411: JUMPDEST
00000412: POP
00000413: POP
00000414: POP
00000415: POP
00000416: PUSH1 0x40
00000418: MLOAD
00000419: RETURNDATASIZE
0000041a: PUSH1 0x1f
0000041c: NOT
0000041d: PUSH1 0x1f
0000041f: DUP3
00000420: ADD
00000421: AND
00000422: DUP3
00000423: ADD
00000424: DUP1
00000425: PUSH1 0x40
00000427: MSTORE
00000428: POP
00000429: DUP2
0000042a: ADD
0000042b: SWAP1
0000042c: PUSH2 0x0435
0000042f: SWAP2
00000430: SWAP1
00000431: PUSH2 0x086c
00000434: JUMP
00000435: JUMPDEST
00000436: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000044b: AND
0000044c: EQ
0000044d: PUSH2 0x048b
00000450: JUMPI
00000451: PUSH1 0x40
00000453: MLOAD
00000454: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000475: DUP2
00000476: MSTORE
00000477: PUSH1 0x04
00000479: ADD
0000047a: PUSH2 0x0482
0000047d: SWAP1
0000047e: PUSH2 0x09bb
00000481: JUMP
00000482: JUMPDEST
00000483: PUSH1 0x40
00000485: MLOAD
00000486: DUP1
00000487: SWAP2
00000488: SUB
00000489: SWAP1
0000048a: REVERT
0000048b: JUMPDEST
0000048c: PUSH1 0x00
0000048e: PUSH1 0x01
00000490: PUSH1 0x00
00000492: DUP4
00000493: DUP2
00000494: MSTORE
00000495: PUSH1 0x20
00000497: ADD
00000498: SWAP1
00000499: DUP2
0000049a: MSTORE
0000049b: PUSH1 0x20
0000049d: ADD
0000049e: PUSH1 0x00
000004a0: KECCAK256
000004a1: SLOAD
000004a2: PUSH1 0x02
000004a4: SLOAD
000004a5: PUSH2 0x04ae
000004a8: SWAP2
000004a9: SWAP1
000004aa: PUSH2 0x0a8e
000004ad: JUMP
000004ae: JUMPDEST
000004af: SWAP1
000004b0: POP
000004b1: DUP1
000004b2: PUSH1 0x01
000004b4: PUSH1 0x00
000004b6: DUP5
000004b7: DUP2
000004b8: MSTORE
000004b9: PUSH1 0x20
000004bb: ADD
000004bc: SWAP1
000004bd: DUP2
000004be: MSTORE
000004bf: PUSH1 0x20
000004c1: ADD
000004c2: PUSH1 0x00
000004c4: KECCAK256
000004c5: PUSH1 0x00
000004c7: DUP3
000004c8: DUP3
000004c9: SLOAD
000004ca: PUSH2 0x04d3
000004cd: SWAP2
000004ce: SWAP1
000004cf: PUSH2 0x0a07
000004d2: JUMP
000004d3: JUMPDEST
000004d4: SWAP3
000004d5: POP
000004d6: POP
000004d7: DUP2
000004d8: SWAP1
000004d9: SSTORE
000004da: POP
000004db: PUSH1 0x00
000004dd: DUP2
000004de: GT
000004df: PUSH2 0x051d
000004e2: JUMPI
000004e3: PUSH1 0x40
000004e5: MLOAD
000004e6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000507: DUP2
00000508: MSTORE
00000509: PUSH1 0x04
0000050b: ADD
0000050c: PUSH2 0x0514
0000050f: SWAP1
00000510: PUSH2 0x099b
00000513: JUMP
00000514: JUMPDEST
00000515: PUSH1 0x40
00000517: MLOAD
00000518: DUP1
00000519: SWAP2
0000051a: SUB
0000051b: SWAP1
0000051c: REVERT
0000051d: JUMPDEST
0000051e: CALLER
0000051f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000534: AND
00000535: PUSH2 0x08fc
00000538: DUP3
00000539: SWAP1
0000053a: DUP2
0000053b: ISZERO
0000053c: MUL
0000053d: SWAP1
0000053e: PUSH1 0x40
00000540: MLOAD
00000541: PUSH1 0x00
00000543: PUSH1 0x40
00000545: MLOAD
00000546: DUP1
00000547: DUP4
00000548: SUB
00000549: DUP2
0000054a: DUP6
0000054b: DUP9
0000054c: DUP9
0000054d: CALL
0000054e: SWAP4
0000054f: POP
00000550: POP
00000551: POP
00000552: POP
00000553: PUSH2 0x055b
00000556: JUMPI
00000557: PUSH1 0x00
00000559: DUP1
0000055a: REVERT
0000055b: JUMPDEST
0000055c: POP
0000055d: POP
0000055e: JUMP
0000055f: JUMPDEST
00000560: PUSH1 0x00
00000562: DUP1
00000563: DUP1
00000564: PUSH1 0x00
00000566: SWAP1
00000567: SLOAD
00000568: SWAP1
00000569: PUSH2 0x0100
0000056c: EXP
0000056d: SWAP1
0000056e: DIV
0000056f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000584: AND
00000585: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000059a: AND
0000059b: PUSH4 0x70a08231
000005a0: CALLER
000005a1: PUSH1 0x40
000005a3: MLOAD
000005a4: DUP3
000005a5: PUSH4 0xffffffff
000005aa: AND
000005ab: PUSH1 0xe0
000005ad: SHL
000005ae: DUP2
000005af: MSTORE
000005b0: PUSH1 0x04
000005b2: ADD
000005b3: PUSH2 0x05bc
000005b6: SWAP2
000005b7: SWAP1
000005b8: PUSH2 0x0957
000005bb: JUMP
000005bc: JUMPDEST
000005bd: PUSH1 0x20
000005bf: PUSH1 0x40
000005c1: MLOAD
000005c2: DUP1
000005c3: DUP4
000005c4: SUB
000005c5: DUP2
000005c6: DUP7
000005c7: DUP1
000005c8: EXTCODESIZE
000005c9: ISZERO
000005ca: DUP1
000005cb: ISZERO
000005cc: PUSH2 0x05d4
000005cf: JUMPI
000005d0: PUSH1 0x00
000005d2: DUP1
000005d3: REVERT
000005d4: JUMPDEST
000005d5: POP
000005d6: GAS
000005d7: STATICCALL
000005d8: ISZERO
000005d9: DUP1
000005da: ISZERO
000005db: PUSH2 0x05e8
000005de: JUMPI
000005df: RETURNDATASIZE
000005e0: PUSH1 0x00
000005e2: DUP1
000005e3: RETURNDATACOPY
000005e4: RETURNDATASIZE
000005e5: PUSH1 0x00
000005e7: REVERT
000005e8: JUMPDEST
000005e9: POP
000005ea: POP
000005eb: POP
000005ec: POP
000005ed: PUSH1 0x40
000005ef: MLOAD
000005f0: RETURNDATASIZE
000005f1: PUSH1 0x1f
000005f3: NOT
000005f4: PUSH1 0x1f
000005f6: DUP3
000005f7: ADD
000005f8: AND
000005f9: DUP3
000005fa: ADD
000005fb: DUP1
000005fc: PUSH1 0x40
000005fe: MSTORE
000005ff: POP
00000600: DUP2
00000601: ADD
00000602: SWAP1
00000603: PUSH2 0x060c
00000606: SWAP2
00000607: SWAP1
00000608: PUSH2 0x08c6
0000060b: JUMP
0000060c: JUMPDEST
0000060d: SWAP1
0000060e: POP
0000060f: PUSH1 0x00
00000611: JUMPDEST
00000612: DUP2
00000613: DUP2
00000614: LT
00000615: ISZERO
00000616: PUSH2 0x073b
00000619: JUMPI
0000061a: PUSH1 0x00
0000061c: DUP1
0000061d: PUSH1 0x00
0000061f: SWAP1
00000620: SLOAD
00000621: SWAP1
00000622: PUSH2 0x0100
00000625: EXP
00000626: SWAP1
00000627: DIV
00000628: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000063d: AND
0000063e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000653: AND
00000654: PUSH4 0x2f745c59
00000659: CALLER
0000065a: DUP5
0000065b: PUSH1 0x40
0000065d: MLOAD
0000065e: DUP4
0000065f: PUSH4 0xffffffff
00000664: AND
00000665: PUSH1 0xe0
00000667: SHL
00000668: DUP2
00000669: MSTORE
0000066a: PUSH1 0x04
0000066c: ADD
0000066d: PUSH2 0x0677
00000670: SWAP3
00000671: SWAP2
00000672: SWAP1
00000673: PUSH2 0x0972
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH1 0x20
0000067a: PUSH1 0x40
0000067c: MLOAD
0000067d: DUP1
0000067e: DUP4
0000067f: SUB
00000680: DUP2
00000681: DUP7
00000682: DUP1
00000683: EXTCODESIZE
00000684: ISZERO
00000685: DUP1
00000686: ISZERO
00000687: PUSH2 0x068f
0000068a: JUMPI
0000068b: PUSH1 0x00
0000068d: DUP1
0000068e: REVERT
0000068f: JUMPDEST
00000690: POP
00000691: GAS
00000692: STATICCALL
00000693: ISZERO
00000694: DUP1
00000695: ISZERO
00000696: PUSH2 0x06a3
00000699: JUMPI
0000069a: RETURNDATASIZE
0000069b: PUSH1 0x00
0000069d: DUP1
0000069e: RETURNDATACOPY
0000069f: RETURNDATASIZE
000006a0: PUSH1 0x00
000006a2: REVERT
000006a3: JUMPDEST
000006a4: POP
000006a5: POP
000006a6: POP
000006a7: POP
000006a8: PUSH1 0x40
000006aa: MLOAD
000006ab: RETURNDATASIZE
000006ac: PUSH1 0x1f
000006ae: NOT
000006af: PUSH1 0x1f
000006b1: DUP3
000006b2: ADD
000006b3: AND
000006b4: DUP3
000006b5: ADD
000006b6: DUP1
000006b7: PUSH1 0x40
000006b9: MSTORE
000006ba: POP
000006bb: DUP2
000006bc: ADD
000006bd: SWAP1
000006be: PUSH2 0x06c7
000006c1: SWAP2
000006c2: SWAP1
000006c3: PUSH2 0x08c6
000006c6: JUMP
000006c7: JUMPDEST
000006c8: SWAP1
000006c9: POP
000006ca: PUSH1 0x00
000006cc: PUSH1 0x01
000006ce: PUSH1 0x00
000006d0: DUP4
000006d1: DUP2
000006d2: MSTORE
000006d3: PUSH1 0x20
000006d5: ADD
000006d6: SWAP1
000006d7: DUP2
000006d8: MSTORE
000006d9: PUSH1 0x20
000006db: ADD
000006dc: PUSH1 0x00
000006de: KECCAK256
000006df: SLOAD
000006e0: PUSH1 0x02
000006e2: SLOAD
000006e3: PUSH2 0x06ec
000006e6: SWAP2
000006e7: SWAP1
000006e8: PUSH2 0x0a8e
000006eb: JUMP
000006ec: JUMPDEST
000006ed: SWAP1
000006ee: POP
000006ef: DUP1
000006f0: PUSH1 0x01
000006f2: PUSH1 0x00
000006f4: DUP5
000006f5: DUP2
000006f6: MSTORE
000006f7: PUSH1 0x20
000006f9: ADD
000006fa: SWAP1
000006fb: DUP2
000006fc: MSTORE
000006fd: PUSH1 0x20
000006ff: ADD
00000700: PUSH1 0x00
00000702: KECCAK256
00000703: PUSH1 0x00
00000705: DUP3
00000706: DUP3
00000707: SLOAD
00000708: PUSH2 0x0711
0000070b: SWAP2
0000070c: SWAP1
0000070d: PUSH2 0x0a07
00000710: JUMP
00000711: JUMPDEST
00000712: SWAP3
00000713: POP
00000714: POP
00000715: DUP2
00000716: SWAP1
00000717: SSTORE
00000718: POP
00000719: DUP1
0000071a: DUP6
0000071b: PUSH2 0x0724
0000071e: SWAP2
0000071f: SWAP1
00000720: PUSH2 0x0a07
00000723: JUMP
00000724: JUMPDEST
00000725: SWAP5
00000726: POP
00000727: POP
00000728: POP
00000729: DUP1
0000072a: DUP1
0000072b: PUSH2 0x0733
0000072e: SWAP1
0000072f: PUSH2 0x0afe
00000732: JUMP
00000733: JUMPDEST
00000734: SWAP2
00000735: POP
00000736: POP
00000737: PUSH2 0x0611
0000073a: JUMP
0000073b: JUMPDEST
0000073c: POP
0000073d: PUSH1 0x00
0000073f: DUP3
00000740: GT
00000741: PUSH2 0x077f
00000744: JUMPI
00000745: PUSH1 0x40
00000747: MLOAD
00000748: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000769: DUP2
0000076a: MSTORE
0000076b: PUSH1 0x04
0000076d: ADD
0000076e: PUSH2 0x0776
00000771: SWAP1
00000772: PUSH2 0x099b
00000775: JUMP
00000776: JUMPDEST
00000777: PUSH1 0x40
00000779: MLOAD
0000077a: DUP1
0000077b: SWAP2
0000077c: SUB
0000077d: SWAP1
0000077e: REVERT
0000077f: JUMPDEST
00000780: CALLER
00000781: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000796: AND
00000797: PUSH2 0x08fc
0000079a: DUP4
0000079b: SWAP1
0000079c: DUP2
0000079d: ISZERO
0000079e: MUL
0000079f: SWAP1
000007a0: PUSH1 0x40
000007a2: MLOAD
000007a3: PUSH1 0x00
000007a5: PUSH1 0x40
000007a7: MLOAD
000007a8: DUP1
000007a9: DUP4
000007aa: SUB
000007ab: DUP2
000007ac: DUP6
000007ad: DUP9
000007ae: DUP9
000007af: CALL
000007b0: SWAP4
000007b1: POP
000007b2: POP
000007b3: POP
000007b4: POP
000007b5: PUSH2 0x07bd
000007b8: JUMPI
000007b9: PUSH1 0x00
000007bb: DUP1
000007bc: REVERT
000007bd: JUMPDEST
000007be: POP
000007bf: POP
000007c0: JUMP
000007c1: JUMPDEST
000007c2: PUSH1 0x00
000007c4: PUSH1 0x01
000007c6: PUSH1 0x00
000007c8: DUP4
000007c9: DUP2
000007ca: MSTORE
000007cb: PUSH1 0x20
000007cd: ADD
000007ce: SWAP1
000007cf: DUP2
000007d0: MSTORE
000007d1: PUSH1 0x20
000007d3: ADD
000007d4: PUSH1 0x00
000007d6: KECCAK256
000007d7: SLOAD
000007d8: PUSH1 0x02
000007da: SLOAD
000007db: PUSH2 0x07e4
000007de: SWAP2
000007df: SWAP1
000007e0: PUSH2 0x0a8e
000007e3: JUMP
000007e4: JUMPDEST
000007e5: SWAP1
000007e6: POP
000007e7: SWAP2
000007e8: SWAP1
000007e9: POP
000007ea: JUMP
000007eb: JUMPDEST
000007ec: PUSH1 0x00
000007ee: DUP2
000007ef: CALLDATALOAD
000007f0: SWAP1
000007f1: POP
000007f2: PUSH2 0x07fa
000007f5: DUP2
000007f6: PUSH2 0x0c22
000007f9: JUMP
000007fa: JUMPDEST
000007fb: SWAP3
000007fc: SWAP2
000007fd: POP
000007fe: POP
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH1 0x00
00000803: DUP2
00000804: MLOAD
00000805: SWAP1
00000806: POP
00000807: PUSH2 0x080f
0000080a: DUP2
0000080b: PUSH2 0x0c22
0000080e: JUMP
0000080f: JUMPDEST
00000810: SWAP3
00000811: SWAP2
00000812: POP
00000813: POP
00000814: JUMP
00000815: JUMPDEST
00000816: PUSH1 0x00
00000818: DUP2
00000819: CALLDATALOAD
0000081a: SWAP1
0000081b: POP
0000081c: PUSH2 0x0824
0000081f: DUP2
00000820: PUSH2 0x0c39
00000823: JUMP
00000824: JUMPDEST
00000825: SWAP3
00000826: SWAP2
00000827: POP
00000828: POP
00000829: JUMP
0000082a: JUMPDEST
0000082b: PUSH1 0x00
0000082d: DUP2
0000082e: MLOAD
0000082f: SWAP1
00000830: POP
00000831: PUSH2 0x0839
00000834: DUP2
00000835: PUSH2 0x0c39
00000838: JUMP
00000839: JUMPDEST
0000083a: SWAP3
0000083b: SWAP2
0000083c: POP
0000083d: POP
0000083e: JUMP
0000083f: JUMPDEST
00000840: PUSH1 0x00
00000842: PUSH1 0x20
00000844: DUP3
00000845: DUP5
00000846: SUB
00000847: SLT
00000848: ISZERO
00000849: PUSH2 0x0855
0000084c: JUMPI
0000084d: PUSH2 0x0854
00000850: PUSH2 0x0ba5
00000853: JUMP
00000854: JUMPDEST
00000855: JUMPDEST
00000856: PUSH1 0x00
00000858: PUSH2 0x0863
0000085b: DUP5
0000085c: DUP3
0000085d: DUP6
0000085e: ADD
0000085f: PUSH2 0x07eb
00000862: JUMP
00000863: JUMPDEST
00000864: SWAP2
00000865: POP
00000866: POP
00000867: SWAP3
00000868: SWAP2
00000869: POP
0000086a: POP
0000086b: JUMP
0000086c: JUMPDEST
0000086d: PUSH1 0x00
0000086f: PUSH1 0x20
00000871: DUP3
00000872: DUP5
00000873: SUB
00000874: SLT
00000875: ISZERO
00000876: PUSH2 0x0882
00000879: JUMPI
0000087a: PUSH2 0x0881
0000087d: PUSH2 0x0ba5
00000880: JUMP
00000881: JUMPDEST
00000882: JUMPDEST
00000883: PUSH1 0x00
00000885: PUSH2 0x0890
00000888: DUP5
00000889: DUP3
0000088a: DUP6
0000088b: ADD
0000088c: PUSH2 0x0800
0000088f: JUMP
00000890: JUMPDEST
00000891: SWAP2
00000892: POP
00000893: POP
00000894: SWAP3
00000895: SWAP2
00000896: POP
00000897: POP
00000898: JUMP
00000899: JUMPDEST
0000089a: PUSH1 0x00
0000089c: PUSH1 0x20
0000089e: DUP3
0000089f: DUP5
000008a0: SUB
000008a1: SLT
000008a2: ISZERO
000008a3: PUSH2 0x08af
000008a6: JUMPI
000008a7: PUSH2 0x08ae
000008aa: PUSH2 0x0ba5
000008ad: JUMP
000008ae: JUMPDEST
000008af: JUMPDEST
000008b0: PUSH1 0x00
000008b2: PUSH2 0x08bd
000008b5: DUP5
000008b6: DUP3
000008b7: DUP6
000008b8: ADD
000008b9: PUSH2 0x0815
000008bc: JUMP
000008bd: JUMPDEST
000008be: SWAP2
000008bf: POP
000008c0: POP
000008c1: SWAP3
000008c2: SWAP2
000008c3: POP
000008c4: POP
000008c5: JUMP
000008c6: JUMPDEST
000008c7: PUSH1 0x00
000008c9: PUSH1 0x20
000008cb: DUP3
000008cc: DUP5
000008cd: SUB
000008ce: SLT
000008cf: ISZERO
000008d0: PUSH2 0x08dc
000008d3: JUMPI
000008d4: PUSH2 0x08db
000008d7: PUSH2 0x0ba5
000008da: JUMP
000008db: JUMPDEST
000008dc: JUMPDEST
000008dd: PUSH1 0x00
000008df: PUSH2 0x08ea
000008e2: DUP5
000008e3: DUP3
000008e4: DUP6
000008e5: ADD
000008e6: PUSH2 0x082a
000008e9: JUMP
000008ea: JUMPDEST
000008eb: SWAP2
000008ec: POP
000008ed: POP
000008ee: SWAP3
000008ef: SWAP2
000008f0: POP
000008f1: POP
000008f2: JUMP
000008f3: JUMPDEST
000008f4: PUSH2 0x08fc
000008f7: DUP2
000008f8: PUSH2 0x0ac2
000008fb: JUMP
000008fc: JUMPDEST
000008fd: DUP3
000008fe: MSTORE
000008ff: POP
00000900: POP
00000901: JUMP
00000902: JUMPDEST
00000903: PUSH1 0x00
00000905: PUSH2 0x090f
00000908: PUSH1 0x10
0000090a: DUP4
0000090b: PUSH2 0x09f6
0000090e: JUMP
0000090f: JUMPDEST
00000910: SWAP2
00000911: POP
00000912: PUSH2 0x091a
00000915: DUP3
00000916: PUSH2 0x0baa
00000919: JUMP
0000091a: JUMPDEST
0000091b: PUSH1 0x20
0000091d: DUP3
0000091e: ADD
0000091f: SWAP1
00000920: POP
00000921: SWAP2
00000922: SWAP1
00000923: POP
00000924: JUMP
00000925: JUMPDEST
00000926: PUSH1 0x00
00000928: PUSH2 0x0932
0000092b: PUSH1 0x2e
0000092d: DUP4
0000092e: PUSH2 0x09f6
00000931: JUMP
00000932: JUMPDEST
00000933: SWAP2
00000934: POP
00000935: PUSH2 0x093d
00000938: DUP3
00000939: PUSH2 0x0bd3
0000093c: JUMP
0000093d: JUMPDEST
0000093e: PUSH1 0x40
00000940: DUP3
00000941: ADD
00000942: SWAP1
00000943: POP
00000944: SWAP2
00000945: SWAP1
00000946: POP
00000947: JUMP
00000948: JUMPDEST
00000949: PUSH2 0x0951
0000094c: DUP2
0000094d: PUSH2 0x0af4
00000950: JUMP
00000951: JUMPDEST
00000952: DUP3
00000953: MSTORE
00000954: POP
00000955: POP
00000956: JUMP
00000957: JUMPDEST
00000958: PUSH1 0x00
0000095a: PUSH1 0x20
0000095c: DUP3
0000095d: ADD
0000095e: SWAP1
0000095f: POP
00000960: PUSH2 0x096c
00000963: PUSH1 0x00
00000965: DUP4
00000966: ADD
00000967: DUP5
00000968: PUSH2 0x08f3
0000096b: JUMP
0000096c: JUMPDEST
0000096d: SWAP3
0000096e: SWAP2
0000096f: POP
00000970: POP
00000971: JUMP
00000972: JUMPDEST
00000973: PUSH1 0x00
00000975: PUSH1 0x40
00000977: DUP3
00000978: ADD
00000979: SWAP1
0000097a: POP
0000097b: PUSH2 0x0987
0000097e: PUSH1 0x00
00000980: DUP4
00000981: ADD
00000982: DUP6
00000983: PUSH2 0x08f3
00000986: JUMP
00000987: JUMPDEST
00000988: PUSH2 0x0994
0000098b: PUSH1 0x20
0000098d: DUP4
0000098e: ADD
0000098f: DUP5
00000990: PUSH2 0x0948
00000993: JUMP
00000994: JUMPDEST
00000995: SWAP4
00000996: SWAP3
00000997: POP
00000998: POP
00000999: POP
0000099a: JUMP
0000099b: JUMPDEST
0000099c: PUSH1 0x00
0000099e: PUSH1 0x20
000009a0: DUP3
000009a1: ADD
000009a2: SWAP1
000009a3: POP
000009a4: DUP2
000009a5: DUP2
000009a6: SUB
000009a7: PUSH1 0x00
000009a9: DUP4
000009aa: ADD
000009ab: MSTORE
000009ac: PUSH2 0x09b4
000009af: DUP2
000009b0: PUSH2 0x0902
000009b3: JUMP
000009b4: JUMPDEST
000009b5: SWAP1
000009b6: POP
000009b7: SWAP2
000009b8: SWAP1
000009b9: POP
000009ba: JUMP
000009bb: JUMPDEST
000009bc: PUSH1 0x00
000009be: PUSH1 0x20
000009c0: DUP3
000009c1: ADD
000009c2: SWAP1
000009c3: POP
000009c4: DUP2
000009c5: DUP2
000009c6: SUB
000009c7: PUSH1 0x00
000009c9: DUP4
000009ca: ADD
000009cb: MSTORE
000009cc: PUSH2 0x09d4
000009cf: DUP2
000009d0: PUSH2 0x0925
000009d3: JUMP
000009d4: JUMPDEST
000009d5: SWAP1
000009d6: POP
000009d7: SWAP2
000009d8: SWAP1
000009d9: POP
000009da: JUMP
000009db: JUMPDEST
000009dc: PUSH1 0x00
000009de: PUSH1 0x20
000009e0: DUP3
000009e1: ADD
000009e2: SWAP1
000009e3: POP
000009e4: PUSH2 0x09f0
000009e7: PUSH1 0x00
000009e9: DUP4
000009ea: ADD
000009eb: DUP5
000009ec: PUSH2 0x0948
000009ef: JUMP
000009f0: JUMPDEST
000009f1: SWAP3
000009f2: SWAP2
000009f3: POP
000009f4: POP
000009f5: JUMP
000009f6: JUMPDEST
000009f7: PUSH1 0x00
000009f9: DUP3
000009fa: DUP3
000009fb: MSTORE
000009fc: PUSH1 0x20
000009fe: DUP3
000009ff: ADD
00000a00: SWAP1
00000a01: POP
00000a02: SWAP3
00000a03: SWAP2
00000a04: POP
00000a05: POP
00000a06: JUMP
00000a07: JUMPDEST
00000a08: PUSH1 0x00
00000a0a: PUSH2 0x0a12
00000a0d: DUP3
00000a0e: PUSH2 0x0af4
00000a11: JUMP
00000a12: JUMPDEST
00000a13: SWAP2
00000a14: POP
00000a15: PUSH2 0x0a1d
00000a18: DUP4
00000a19: PUSH2 0x0af4
00000a1c: JUMP
00000a1d: JUMPDEST
00000a1e: SWAP3
00000a1f: POP
00000a20: DUP3
00000a21: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000a42: SUB
00000a43: DUP3
00000a44: GT
00000a45: ISZERO
00000a46: PUSH2 0x0a52
00000a49: JUMPI
00000a4a: PUSH2 0x0a51
00000a4d: PUSH2 0x0b47
00000a50: JUMP
00000a51: JUMPDEST
00000a52: JUMPDEST
00000a53: DUP3
00000a54: DUP3
00000a55: ADD
00000a56: SWAP1
00000a57: POP
00000a58: SWAP3
00000a59: SWAP2
00000a5a: POP
00000a5b: POP
00000a5c: JUMP
00000a5d: JUMPDEST
00000a5e: PUSH1 0x00
00000a60: PUSH2 0x0a68
00000a63: DUP3
00000a64: PUSH2 0x0af4
00000a67: JUMP
00000a68: JUMPDEST
00000a69: SWAP2
00000a6a: POP
00000a6b: PUSH2 0x0a73
00000a6e: DUP4
00000a6f: PUSH2 0x0af4
00000a72: JUMP
00000a73: JUMPDEST
00000a74: SWAP3
00000a75: POP
00000a76: DUP3
00000a77: PUSH2 0x0a83
00000a7a: JUMPI
00000a7b: PUSH2 0x0a82
00000a7e: PUSH2 0x0b76
00000a81: JUMP
00000a82: JUMPDEST
00000a83: JUMPDEST
00000a84: DUP3
00000a85: DUP3
00000a86: DIV
00000a87: SWAP1
00000a88: POP
00000a89: SWAP3
00000a8a: SWAP2
00000a8b: POP
00000a8c: POP
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: PUSH1 0x00
00000a91: PUSH2 0x0a99
00000a94: DUP3
00000a95: PUSH2 0x0af4
00000a98: JUMP
00000a99: JUMPDEST
00000a9a: SWAP2
00000a9b: POP
00000a9c: PUSH2 0x0aa4
00000a9f: DUP4
00000aa0: PUSH2 0x0af4
00000aa3: JUMP
00000aa4: JUMPDEST
00000aa5: SWAP3
00000aa6: POP
00000aa7: DUP3
00000aa8: DUP3
00000aa9: LT
00000aaa: ISZERO
00000aab: PUSH2 0x0ab7
00000aae: JUMPI
00000aaf: PUSH2 0x0ab6
00000ab2: PUSH2 0x0b47
00000ab5: JUMP
00000ab6: JUMPDEST
00000ab7: JUMPDEST
00000ab8: DUP3
00000ab9: DUP3
00000aba: SUB
00000abb: SWAP1
00000abc: POP
00000abd: SWAP3
00000abe: SWAP2
00000abf: POP
00000ac0: POP
00000ac1: JUMP
00000ac2: JUMPDEST
00000ac3: PUSH1 0x00
00000ac5: PUSH2 0x0acd
00000ac8: DUP3
00000ac9: PUSH2 0x0ad4
00000acc: JUMP
00000acd: JUMPDEST
00000ace: SWAP1
00000acf: POP
00000ad0: SWAP2
00000ad1: SWAP1
00000ad2: POP
00000ad3: JUMP
00000ad4: JUMPDEST
00000ad5: PUSH1 0x00
00000ad7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aec: DUP3
00000aed: AND
00000aee: SWAP1
00000aef: POP
00000af0: SWAP2
00000af1: SWAP1
00000af2: POP
00000af3: JUMP
00000af4: JUMPDEST
00000af5: PUSH1 0x00
00000af7: DUP2
00000af8: SWAP1
00000af9: POP
00000afa: SWAP2
00000afb: SWAP1
00000afc: POP
00000afd: JUMP
00000afe: JUMPDEST
00000aff: PUSH1 0x00
00000b01: PUSH2 0x0b09
00000b04: DUP3
00000b05: PUSH2 0x0af4
00000b08: JUMP
00000b09: JUMPDEST
00000b0a: SWAP2
00000b0b: POP
00000b0c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000b2d: DUP3
00000b2e: EQ
00000b2f: ISZERO
00000b30: PUSH2 0x0b3c
00000b33: JUMPI
00000b34: PUSH2 0x0b3b
00000b37: PUSH2 0x0b47
00000b3a: JUMP
00000b3b: JUMPDEST
00000b3c: JUMPDEST
00000b3d: PUSH1 0x01
00000b3f: DUP3
00000b40: ADD
00000b41: SWAP1
00000b42: POP
00000b43: SWAP2
00000b44: SWAP1
00000b45: POP
00000b46: JUMP
00000b47: JUMPDEST
00000b48: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000b69: PUSH1 0x00
00000b6b: MSTORE
00000b6c: PUSH1 0x11
00000b6e: PUSH1 0x04
00000b70: MSTORE
00000b71: PUSH1 0x24
00000b73: PUSH1 0x00
00000b75: REVERT
00000b76: JUMPDEST
00000b77: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000b98: PUSH1 0x00
00000b9a: MSTORE
00000b9b: PUSH1 0x12
00000b9d: PUSH1 0x04
00000b9f: MSTORE
00000ba0: PUSH1 0x24
00000ba2: PUSH1 0x00
00000ba4: REVERT
00000ba5: JUMPDEST
00000ba6: PUSH1 0x00
00000ba8: DUP1
00000ba9: REVERT
00000baa: JUMPDEST
00000bab: PUSH32 0x4e6f7468696e6720746f20436c61696d00000000000000000000000000000000
00000bcc: PUSH1 0x00
00000bce: DUP3
00000bcf: ADD
00000bd0: MSTORE
00000bd1: POP
00000bd2: JUMP
00000bd3: JUMPDEST
00000bd4: PUSH32 0x596f7520646f206e6f74206f776e20746865204d756c74697669736120776974
00000bf5: PUSH1 0x00
00000bf7: DUP3
00000bf8: ADD
00000bf9: MSTORE
00000bfa: PUSH32 0x6820737065636966696564204944000000000000000000000000000000000000
00000c1b: PUSH1 0x20
00000c1d: DUP3
00000c1e: ADD
00000c1f: MSTORE
00000c20: POP
00000c21: JUMP
00000c22: JUMPDEST
00000c23: PUSH2 0x0c2b
00000c26: DUP2
00000c27: PUSH2 0x0ac2
00000c2a: JUMP
00000c2b: JUMPDEST
00000c2c: DUP2
00000c2d: EQ
00000c2e: PUSH2 0x0c36
00000c31: JUMPI
00000c32: PUSH1 0x00
00000c34: DUP1
00000c35: REVERT
00000c36: JUMPDEST
00000c37: POP
00000c38: JUMP
00000c39: JUMPDEST
00000c3a: PUSH2 0x0c42
00000c3d: DUP2
00000c3e: PUSH2 0x0af4
00000c41: JUMP
00000c42: JUMPDEST
00000c43: DUP2
00000c44: EQ
00000c45: PUSH2 0x0c4d
00000c48: JUMPI
00000c49: PUSH1 0x00
00000c4b: DUP1
00000c4c: REVERT
00000c4d: JUMPDEST
00000c4e: POP
00000c4f: JUMP
00000c50: INVALID
00000c51: LOG2
00000c52: PUSH5 0x6970667358
00000c58: UNKNOWN(0x22)
00000c59: SLT
00000c5a: KECCAK256
00000c5b: UNKNOWN(0x23)
00000c5c: AND
00000c5d: SWAP2
00000c5e: DUP9
00000c5f: UNKNOWN(0x1F)
00000c60: DIFFICULTY
00000c61: UNKNOWN(0xE2)
00000c62: INVALID
00000c63: UNKNOWN(0xCD)
00000c64: CALLCODE
00000c65: DUP8
00000c66: PUSH12 0x96262ad2b8fe3f5e0cd237e7
00000c73: BLOBBASEFEE
00000c74: SSTORE
00000c75: CALLER
00000c76: ORIGIN
00000c77: CALLER
00000c78: ADD
00000c79: UNKNOWN(0xC3)
00000c7a: PUSH31

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": "0x60f3309b",
            "selector": "0x60f3309b",
            "calldata_variants": [
                "0x60f3309b",
                "0x60f3309b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce80a9a1",
            "selector": "0xce80a9a1",
            "calldata_variants": [
                "0xce80a9a1",
                "0xce80a9a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1058e59",
            "selector": "0xd1058e59",
            "calldata_variants": [
                "0xd1058e59",
                "0xd1058e590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3cfe2cb",
            "selector": "0xe3cfe2cb",
            "calldata_variants": [
                "0xe3cfe2cb",
                "0xe3cfe2cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 3190,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xe9bfe6b62543a5c8a057c3dcadfb2132aa28edc642d1a4306fd5406fce35bf21
call_targets: 0xa1944c47addd2ac689ce397873d5daf05851b76d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe9bfe6b62543a5c8a057c3dcadfb2132aa28edc642d1a4306fd5406fce35bf21",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa1944c47addd2ac689ce397873d5daf05851b76d"
    ],
    "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": "0x60f3309b",
            "selector": "0x60f3309b",
            "calldata_variants": [
                "0x60f3309b",
                "0x60f3309b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce80a9a1",
            "selector": "0xce80a9a1",
            "calldata_variants": [
                "0xce80a9a1",
                "0xce80a9a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1058e59",
            "selector": "0xd1058e59",
            "calldata_variants": [
                "0xd1058e59",
                "0xd1058e590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3cfe2cb",
            "selector": "0xe3cfe2cb",
            "calldata_variants": [
                "0xe3cfe2cb",
                "0xe3cfe2cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1357,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1967,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3172,
            "opcode": "CALLCODE",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 3190,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xe9bfe6b62543a5c8a057c3dcadfb2132aa28edc642d1a4306fd5406fce35bf21
call_targets: 0xa1944c47addd2ac689ce397873d5daf05851b76d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe9bfe6b62543a5c8a057c3dcadfb2132aa28edc642d1a4306fd5406fce35bf21",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xa1944c47addd2ac689ce397873d5daf05851b76d"
    ],
    "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": "0x60f3309b",
            "selector": "0x60f3309b",
            "calldata_variants": [
                "0x60f3309b",
                "0x60f3309b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce80a9a1",
            "selector": "0xce80a9a1",
            "calldata_variants": [
                "0xce80a9a1",
                "0xce80a9a10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1058e59",
            "selector": "0xd1058e59",
            "calldata_variants": [
                "0xd1058e59",
                "0xd1058e590000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe3cfe2cb",
            "selector": "0xe3cfe2cb",
            "calldata_variants": [
                "0xe3cfe2cb",
                "0xe3cfe2cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1357,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1967,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3172,
            "opcode": "CALLCODE",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 3190,
            "type": "tx_origin_used"
        }
    ]
}