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

Analysis Run

47478634-e81a-42bf-81ad-291ef1f9912f

failed
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 7:29 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
Untrusted DELEGATECALL target reachable
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
30738 report.consolidate complete 1 / 1 3 months ago
75424 artifact.fetch failed 1 / 3 1 week ago
75425 tool.cast_disasm complete 1 / 3 1 week ago
75426 analysis.bundle complete 1 / 3 1 week ago
75427 capability.graph complete 1 / 3 1 week ago
75428 detector.run complete 1 / 3 1 week ago
75429 validation.fork complete 1 / 3 1 week 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
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first-party contracts within the specified scope and focus areas.
View stderr
[codex:1303899] OpenAI Codex v0.77.0 (research preview)
[codex:1303899] --------
[codex:1303899] workdir: /tmp/codex-multi-lgov0c6k
[codex:1303899] model: gpt-5.2-codex
[codex:1303899] provider: openai
[codex:1303899] approval: never
[codex:1303899] sandbox: read-only
[codex:1303899] reasoning effort: xhigh
[codex:1303899] reasoning summaries: auto
[codex:1303899] session id: 019b70bb-e0c7-7372-a1f7-e7d76bb08906
[codex:1303899] --------
[codex:1303899] user
[codex:1303899] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1303899] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1303899] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1303899] 
[codex:1303899] Scope rules:
[codex:1303899] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1303899] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1303899] 
[codex:1303899] Output MUST be valid JSON matching the provided schema.
[codex:1303899] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1303899] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1303899] 
[codex:1303899] Output constraints (IMPORTANT):
[codex:1303899] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1303899] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1303899] mcp startup: no servers
[codex:1303899] 
[codex:1303899] thinking
[codex:1303899] **Preparing to read audit instructions**
[codex:1303899] exec
[codex:1303899] /bin/bash -lc ls in /tmp/codex-multi-lgov0c6k succeeded in 5ms:
[codex:1303899] AUDIT_BUNDLE.txt
[codex:1303899] codex-output-schema.json
[codex:1303899] contracts
[codex:1303899] 
[codex:1303899] thinking
[codex:1303899] **Reading AUDIT_BUNDLE.txt**
[codex:1303899] exec
[codex:1303899] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgov0c6k succeeded in 5ms:
[codex:1303899] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1303899] 
[codex:1303899] ================================================================================
[codex:1303899] FILE: contracts/source/ERC20Interface.sol
[codex:1303899] ================================================================================
[codex:1303899] // SPDX-License-Identifier: MIT
[codex:1303899] pragma solidity ^0.8.28;
[codex:1303899] 
[codex:1303899] /**
[codex:1303899]  * Contract that exposes the needed ERC20 token functions
[codex:1303899]  */
[codex:1303899] interface ERC20Interface {
[codex:1303899]     // Send _value amount of tokens to address _to
[codex:1303899]     function transfer(address _to, uint256 _value) external returns (bool);
[codex:1303899] 
[codex:1303899]     // Get the account balance of another account with address _owner
[codex:1303899]     function balanceOf(address _owner) external view returns (uint256 balance);
[codex:1303899] }
[codex:1303899] 
[codex:1303899] ================================================================================
[codex:1303899] 
[codex:1303899] thinking
[codex:1303899] **Analyzing reentrancy and access controls**
[codex:1303899] 
[codex:1303899] I'm carefully reviewing potential reentrancy issues and access controls around functions like flushTokens, flush, receive, and changeOwner. I see that nonReentrant guards cover receive and flush but not flushTokens; however, controls and call contexts limit actual risk. The flush function is public but only forwards ETH to the owner, so that seems intentional rather than a vulnerability. I'm also considering scenarios where token contracts could reenter, but protections and ownership checks appear to prevent exploits. Overall, it looks like no serious vulnerabilities appear, but I want to summarize these findings clearly in JSON for the audit output.
[codex:1303899] codex
[codex:1303899] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within the specified scope and focus areas.","findings":[]}
[codex:1303899] tokens used
[codex:1303899] 3,945
[codex:1303899] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within the specified scope and focus areas.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T19:29:13.369903+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in the first-party contracts within the specified scope and focus areas.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party contracts within the specified scope and focus areas.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
1
Total opcodes
2349
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x001d
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: PUSH2 0x02b1
00000013: JUMPI
00000014: PUSH2 0x001b
00000017: PUSH2 0x0f0c
0000001a: JUMP
0000001b: JUMPDEST
0000001c: STOP
0000001d: JUMPDEST
0000001e: PUSH2 0x0027
00000021: PUSH0
00000022: CALLDATALOAD
00000023: PUSH2 0x0086
00000026: JUMP
00000027: JUMPDEST
00000028: DUP1
00000029: PUSH4 0x3ef13367
0000002e: EQ
0000002f: PUSH2 0x0081
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x6b9f96ea
00000039: EQ
0000003a: PUSH2 0x007c
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x8f84aa09
00000044: EQ
00000045: PUSH2 0x0077
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x96a4154e
0000004f: EQ
00000050: PUSH2 0x0072
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xa6f9dae1
0000005a: EQ
0000005b: PUSH2 0x006d
0000005e: JUMPI
0000005f: PUSH4 0xfeb0a141
00000064: SUB
00000065: PUSH2 0x000e
00000068: JUMPI
00000069: PUSH2 0x027c
0000006c: JUMP
0000006d: JUMPDEST
0000006e: PUSH2 0x023a
00000071: JUMP
00000072: JUMPDEST
00000073: PUSH2 0x0207
00000076: JUMP
00000077: JUMPDEST
00000078: PUSH2 0x01d2
0000007b: JUMP
0000007c: JUMPDEST
0000007d: PUSH2 0x0139
00000080: JUMP
00000081: JUMPDEST
00000082: PUSH2 0x00f7
00000085: JUMP
00000086: JUMPDEST
00000087: PUSH1 0xe0
00000089: SHR
0000008a: SWAP1
0000008b: JUMP
0000008c: JUMPDEST
0000008d: PUSH1 0x40
0000008f: MLOAD
00000090: SWAP1
00000091: JUMP
00000092: JUMPDEST
00000093: PUSH0
00000094: DUP1
00000095: REVERT
00000096: JUMPDEST
00000097: PUSH0
00000098: DUP1
00000099: REVERT
0000009a: JUMPDEST
0000009b: PUSH1 0x01
0000009d: DUP1
0000009e: PUSH1 0xa0
000000a0: SHL
000000a1: SUB
000000a2: AND
000000a3: SWAP1
000000a4: JUMP
000000a5: JUMPDEST
000000a6: PUSH2 0x00ae
000000a9: SWAP1
000000aa: PUSH2 0x009a
000000ad: JUMP
000000ae: JUMPDEST
000000af: SWAP1
000000b0: JUMP
000000b1: JUMPDEST
000000b2: PUSH2 0x00ba
000000b5: DUP2
000000b6: PUSH2 0x00a5
000000b9: JUMP
000000ba: JUMPDEST
000000bb: SUB
000000bc: PUSH2 0x00c1
000000bf: JUMPI
000000c0: JUMP
000000c1: JUMPDEST
000000c2: PUSH0
000000c3: DUP1
000000c4: REVERT
000000c5: JUMPDEST
000000c6: SWAP1
000000c7: POP
000000c8: CALLDATALOAD
000000c9: SWAP1
000000ca: PUSH2 0x00d2
000000cd: DUP3
000000ce: PUSH2 0x00b1
000000d1: JUMP
000000d2: JUMPDEST
000000d3: JUMP
000000d4: JUMPDEST
000000d5: SWAP1
000000d6: PUSH1 0x20
000000d8: DUP3
000000d9: DUP3
000000da: SUB
000000db: SLT
000000dc: PUSH2 0x00ed
000000df: JUMPI
000000e0: PUSH2 0x00ea
000000e3: SWAP2
000000e4: PUSH0
000000e5: ADD
000000e6: PUSH2 0x00c5
000000e9: JUMP
000000ea: JUMPDEST
000000eb: SWAP1
000000ec: JUMP
000000ed: JUMPDEST
000000ee: PUSH2 0x0096
000000f1: JUMP
000000f2: JUMPDEST
000000f3: PUSH0
000000f4: ADD
000000f5: SWAP1
000000f6: JUMP
000000f7: JUMPDEST
000000f8: CALLVALUE
000000f9: PUSH2 0x0125
000000fc: JUMPI
000000fd: PUSH2 0x010f
00000100: PUSH2 0x010a
00000103: CALLDATASIZE
00000104: PUSH1 0x04
00000106: PUSH2 0x00d4
00000109: JUMP
0000010a: JUMPDEST
0000010b: PUSH2 0x0828
0000010e: JUMP
0000010f: JUMPDEST
00000110: PUSH2 0x0117
00000113: PUSH2 0x008c
00000116: JUMP
00000117: JUMPDEST
00000118: DUP1
00000119: PUSH2 0x0121
0000011c: DUP2
0000011d: PUSH2 0x00f2
00000120: JUMP
00000121: JUMPDEST
00000122: SUB
00000123: SWAP1
00000124: RETURN
00000125: JUMPDEST
00000126: PUSH2 0x0092
00000129: JUMP
0000012a: JUMPDEST
0000012b: PUSH0
0000012c: SWAP2
0000012d: SUB
0000012e: SLT
0000012f: PUSH2 0x0134
00000132: JUMPI
00000133: JUMP
00000134: JUMPDEST
00000135: PUSH2 0x0096
00000138: JUMP
00000139: JUMPDEST
0000013a: CALLVALUE
0000013b: PUSH2 0x0167
0000013e: JUMPI
0000013f: PUSH2 0x0149
00000142: CALLDATASIZE
00000143: PUSH1 0x04
00000145: PUSH2 0x012a
00000148: JUMP
00000149: JUMPDEST
0000014a: PUSH2 0x0151
0000014d: PUSH2 0x0a8f
00000150: JUMP
00000151: JUMPDEST
00000152: PUSH2 0x0159
00000155: PUSH2 0x008c
00000158: JUMP
00000159: JUMPDEST
0000015a: DUP1
0000015b: PUSH2 0x0163
0000015e: DUP2
0000015f: PUSH2 0x00f2
00000162: JUMP
00000163: JUMPDEST
00000164: SUB
00000165: SWAP1
00000166: RETURN
00000167: JUMPDEST
00000168: PUSH2 0x0092
0000016b: JUMP
0000016c: JUMPDEST
0000016d: SHR
0000016e: SWAP1
0000016f: JUMP
00000170: JUMPDEST
00000171: PUSH1 0x01
00000173: DUP1
00000174: PUSH1 0xa0
00000176: SHL
00000177: SUB
00000178: AND
00000179: SWAP1
0000017a: JUMP
0000017b: JUMPDEST
0000017c: PUSH2 0x018b
0000017f: SWAP1
00000180: PUSH1 0x08
00000182: PUSH2 0x0190
00000185: SWAP4
00000186: MUL
00000187: PUSH2 0x016c
0000018a: JUMP
0000018b: JUMPDEST
0000018c: PUSH2 0x0170
0000018f: JUMP
00000190: JUMPDEST
00000191: SWAP1
00000192: JUMP
00000193: JUMPDEST
00000194: SWAP1
00000195: PUSH2 0x019e
00000198: SWAP2
00000199: SLOAD
0000019a: PUSH2 0x017b
0000019d: JUMP
0000019e: JUMPDEST
0000019f: SWAP1
000001a0: JUMP
000001a1: JUMPDEST
000001a2: PUSH2 0x01ad
000001a5: PUSH1 0x01
000001a7: PUSH0
000001a8: SWAP1
000001a9: PUSH2 0x0193
000001ac: JUMP
000001ad: JUMPDEST
000001ae: SWAP1
000001af: JUMP
000001b0: JUMPDEST
000001b1: PUSH2 0x01b9
000001b4: SWAP1
000001b5: PUSH2 0x00a5
000001b8: JUMP
000001b9: JUMPDEST
000001ba: SWAP1
000001bb: MSTORE
000001bc: JUMP
000001bd: JUMPDEST
000001be: SWAP2
000001bf: SWAP1
000001c0: PUSH2 0x01d0
000001c3: SWAP1
000001c4: PUSH0
000001c5: PUSH1 0x20
000001c7: DUP6
000001c8: ADD
000001c9: SWAP5
000001ca: ADD
000001cb: SWAP1
000001cc: PUSH2 0x01b0
000001cf: JUMP
000001d0: JUMPDEST
000001d1: JUMP
000001d2: JUMPDEST
000001d3: CALLVALUE
000001d4: PUSH2 0x0202
000001d7: JUMPI
000001d8: PUSH2 0x01e2
000001db: CALLDATASIZE
000001dc: PUSH1 0x04
000001de: PUSH2 0x012a
000001e1: JUMP
000001e2: JUMPDEST
000001e3: PUSH2 0x01fe
000001e6: PUSH2 0x01ed
000001e9: PUSH2 0x01a1
000001ec: JUMP
000001ed: JUMPDEST
000001ee: PUSH2 0x01f5
000001f1: PUSH2 0x008c
000001f4: JUMP
000001f5: JUMPDEST
000001f6: SWAP2
000001f7: DUP3
000001f8: SWAP2
000001f9: DUP3
000001fa: PUSH2 0x01bd
000001fd: JUMP
000001fe: JUMPDEST
000001ff: SUB
00000200: SWAP1
00000201: RETURN
00000202: JUMPDEST
00000203: PUSH2 0x0092
00000206: JUMP
00000207: JUMPDEST
00000208: CALLVALUE
00000209: PUSH2 0x0235
0000020c: JUMPI
0000020d: PUSH2 0x021f
00000210: PUSH2 0x021a
00000213: CALLDATASIZE
00000214: PUSH1 0x04
00000216: PUSH2 0x00d4
00000219: JUMP
0000021a: JUMPDEST
0000021b: PUSH2 0x0c2d
0000021e: JUMP
0000021f: JUMPDEST
00000220: PUSH2 0x0227
00000223: PUSH2 0x008c
00000226: JUMP
00000227: JUMPDEST
00000228: DUP1
00000229: PUSH2 0x0231
0000022c: DUP2
0000022d: PUSH2 0x00f2
00000230: JUMP
00000231: JUMPDEST
00000232: SUB
00000233: SWAP1
00000234: RETURN
00000235: JUMPDEST
00000236: PUSH2 0x0092
00000239: JUMP
0000023a: JUMPDEST
0000023b: CALLVALUE
0000023c: PUSH2 0x0268
0000023f: JUMPI
00000240: PUSH2 0x0252
00000243: PUSH2 0x024d
00000246: CALLDATASIZE
00000247: PUSH1 0x04
00000249: PUSH2 0x00d4
0000024c: JUMP
0000024d: JUMPDEST
0000024e: PUSH2 0x0d5a
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH2 0x025a
00000256: PUSH2 0x008c
00000259: JUMP
0000025a: JUMPDEST
0000025b: DUP1
0000025c: PUSH2 0x0264
0000025f: DUP2
00000260: PUSH2 0x00f2
00000263: JUMP
00000264: JUMPDEST
00000265: SUB
00000266: SWAP1
00000267: RETURN
00000268: JUMPDEST
00000269: PUSH2 0x0092
0000026c: JUMP
0000026d: JUMPDEST
0000026e: PUSH2 0x0279
00000271: PUSH1 0x02
00000273: PUSH0
00000274: SWAP1
00000275: PUSH2 0x0193
00000278: JUMP
00000279: JUMPDEST
0000027a: SWAP1
0000027b: JUMP
0000027c: JUMPDEST
0000027d: CALLVALUE
0000027e: PUSH2 0x02ac
00000281: JUMPI
00000282: PUSH2 0x028c
00000285: CALLDATASIZE
00000286: PUSH1 0x04
00000288: PUSH2 0x012a
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x02a8
00000290: PUSH2 0x0297
00000293: PUSH2 0x026d
00000296: JUMP
00000297: JUMPDEST
00000298: PUSH2 0x029f
0000029b: PUSH2 0x008c
0000029e: JUMP
0000029f: JUMPDEST
000002a0: SWAP2
000002a1: DUP3
000002a2: SWAP2
000002a3: DUP3
000002a4: PUSH2 0x01bd
000002a7: JUMP
000002a8: JUMPDEST
000002a9: SUB
000002aa: SWAP1
000002ab: RETURN
000002ac: JUMPDEST
000002ad: PUSH2 0x0092
000002b0: JUMP
000002b1: JUMPDEST
000002b2: PUSH0
000002b3: DUP1
000002b4: REVERT
000002b5: JUMPDEST
000002b6: PUSH0
000002b7: SHR
000002b8: SWAP1
000002b9: JUMP
000002ba: JUMPDEST
000002bb: PUSH2 0x02c6
000002be: PUSH2 0x02cb
000002c1: SWAP2
000002c2: PUSH2 0x02b5
000002c5: JUMP
000002c6: JUMPDEST
000002c7: PUSH2 0x0170
000002ca: JUMP
000002cb: JUMPDEST
000002cc: SWAP1
000002cd: JUMP
000002ce: JUMPDEST
000002cf: PUSH2 0x02d8
000002d2: SWAP1
000002d3: SLOAD
000002d4: PUSH2 0x02ba
000002d7: JUMP
000002d8: JUMPDEST
000002d9: SWAP1
000002da: JUMP
000002db: JUMPDEST
000002dc: CALLER
000002dd: PUSH2 0x02f7
000002e0: PUSH2 0x02f1
000002e3: PUSH2 0x02ec
000002e6: PUSH1 0x01
000002e8: PUSH2 0x02ce
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH2 0x00a5
000002f0: JUMP
000002f1: JUMPDEST
000002f2: SWAP2
000002f3: PUSH2 0x00a5
000002f6: JUMP
000002f7: JUMPDEST
000002f8: EQ
000002f9: ISZERO
000002fa: DUP1
000002fb: PUSH2 0x032a
000002fe: JUMPI
000002ff: JUMPDEST
00000300: PUSH2 0x030e
00000303: JUMPI
00000304: PUSH2 0x030c
00000307: SWAP1
00000308: PUSH2 0x0625
0000030b: JUMP
0000030c: JUMPDEST
0000030d: JUMP
0000030e: JUMPDEST
0000030f: PUSH0
00000310: PUSH4 0xea8e4eb5
00000315: PUSH1 0xe0
00000317: SHL
00000318: DUP2
00000319: MSTORE
0000031a: DUP1
0000031b: PUSH2 0x0326
0000031e: PUSH1 0x04
00000320: DUP3
00000321: ADD
00000322: PUSH2 0x00f2
00000325: JUMP
00000326: JUMPDEST
00000327: SUB
00000328: SWAP1
00000329: REVERT
0000032a: JUMPDEST
0000032b: POP
0000032c: CALLER
0000032d: PUSH2 0x0347
00000330: PUSH2 0x0341
00000333: PUSH2 0x033c
00000336: PUSH1 0x02
00000338: PUSH2 0x02ce
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH2 0x00a5
00000340: JUMP
00000341: JUMPDEST
00000342: SWAP2
00000343: PUSH2 0x00a5
00000346: JUMP
00000347: JUMPDEST
00000348: EQ
00000349: ISZERO
0000034a: PUSH2 0x02ff
0000034d: JUMP
0000034e: JUMPDEST
0000034f: SWAP1
00000350: JUMP
00000351: JUMPDEST
00000352: PUSH2 0x0365
00000355: PUSH2 0x0360
00000358: PUSH2 0x036a
0000035b: SWAP3
0000035c: PUSH2 0x009a
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x034e
00000364: JUMP
00000365: JUMPDEST
00000366: PUSH2 0x009a
00000369: JUMP
0000036a: JUMPDEST
0000036b: SWAP1
0000036c: JUMP
0000036d: JUMPDEST
0000036e: PUSH2 0x0376
00000371: SWAP1
00000372: PUSH2 0x0351
00000375: JUMP
00000376: JUMPDEST
00000377: SWAP1
00000378: JUMP
00000379: JUMPDEST
0000037a: PUSH2 0x0382
0000037d: SWAP1
0000037e: PUSH2 0x036d
00000381: JUMP
00000382: JUMPDEST
00000383: SWAP1
00000384: JUMP
00000385: JUMPDEST
00000386: PUSH2 0x038e
00000389: SWAP1
0000038a: PUSH2 0x0351
0000038d: JUMP
0000038e: JUMPDEST
0000038f: SWAP1
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH2 0x039a
00000395: SWAP1
00000396: PUSH2 0x0385
00000399: JUMP
0000039a: JUMPDEST
0000039b: SWAP1
0000039c: JUMP
0000039d: JUMPDEST
0000039e: PUSH2 0x03a6
000003a1: SWAP1
000003a2: PUSH2 0x0385
000003a5: JUMP
000003a6: JUMPDEST
000003a7: SWAP1
000003a8: JUMP
000003a9: JUMPDEST
000003aa: PUSH1 0x1f
000003ac: DUP1
000003ad: NOT
000003ae: SWAP2
000003af: ADD
000003b0: AND
000003b1: SWAP1
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH4 0x4e487b71
000003b9: PUSH1 0xe0
000003bb: SHL
000003bc: PUSH0
000003bd: MSTORE
000003be: PUSH1 0x41
000003c0: PUSH1 0x04
000003c2: MSTORE
000003c3: PUSH1 0x24
000003c5: PUSH0
000003c6: REVERT
000003c7: JUMPDEST
000003c8: SWAP1
000003c9: PUSH2 0x03d1
000003cc: SWAP1
000003cd: PUSH2 0x03a9
000003d0: JUMP
000003d1: JUMPDEST
000003d2: DUP2
000003d3: ADD
000003d4: SWAP1
000003d5: DUP2
000003d6: LT
000003d7: PUSH8 0xffffffffffffffff
000003e0: DUP3
000003e1: GT
000003e2: OR
000003e3: PUSH2 0x03eb
000003e6: JUMPI
000003e7: PUSH1 0x40
000003e9: MSTORE
000003ea: JUMP
000003eb: JUMPDEST
000003ec: PUSH2 0x03b3
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH1 0xe0
000003f3: SHL
000003f4: SWAP1
000003f5: JUMP
000003f6: JUMPDEST
000003f7: SWAP1
000003f8: JUMP
000003f9: JUMPDEST
000003fa: PUSH2 0x0402
000003fd: DUP2
000003fe: PUSH2 0x03f6
00000401: JUMP
00000402: JUMPDEST
00000403: SUB
00000404: PUSH2 0x0409
00000407: JUMPI
00000408: JUMP
00000409: JUMPDEST
0000040a: PUSH0
0000040b: DUP1
0000040c: REVERT
0000040d: JUMPDEST
0000040e: SWAP1
0000040f: POP
00000410: MLOAD
00000411: SWAP1
00000412: PUSH2 0x041a
00000415: DUP3
00000416: PUSH2 0x03f9
00000419: JUMP
0000041a: JUMPDEST
0000041b: JUMP
0000041c: JUMPDEST
0000041d: SWAP1
0000041e: PUSH1 0x20
00000420: DUP3
00000421: DUP3
00000422: SUB
00000423: SLT
00000424: PUSH2 0x0435
00000427: JUMPI
00000428: PUSH2 0x0432
0000042b: SWAP2
0000042c: PUSH0
0000042d: ADD
0000042e: PUSH2 0x040d
00000431: JUMP
00000432: JUMPDEST
00000433: SWAP1
00000434: JUMP
00000435: JUMPDEST
00000436: PUSH2 0x0096
00000439: JUMP
0000043a: JUMPDEST
0000043b: PUSH2 0x0442
0000043e: PUSH2 0x008c
00000441: JUMP
00000442: JUMPDEST
00000443: RETURNDATASIZE
00000444: PUSH0
00000445: DUP3
00000446: RETURNDATACOPY
00000447: RETURNDATASIZE
00000448: SWAP1
00000449: REVERT
0000044a: JUMPDEST
0000044b: SWAP1
0000044c: JUMP
0000044d: JUMPDEST
0000044e: PUSH2 0x0461
00000451: PUSH2 0x045c
00000454: PUSH2 0x0466
00000457: SWAP3
00000458: PUSH2 0x044a
0000045b: JUMP
0000045c: JUMPDEST
0000045d: PUSH2 0x034e
00000460: JUMP
00000461: JUMPDEST
00000462: PUSH2 0x03f6
00000465: JUMP
00000466: JUMPDEST
00000467: SWAP1
00000468: JUMP
00000469: JUMPDEST
0000046a: PUSH4 0xffffffff
0000046f: AND
00000470: SWAP1
00000471: JUMP
00000472: JUMPDEST
00000473: PUSH4 0xffffffff
00000478: PUSH1 0xe0
0000047a: SHL
0000047b: AND
0000047c: SWAP1
0000047d: JUMP
0000047e: JUMPDEST
0000047f: PUSH2 0x0492
00000482: PUSH2 0x048d
00000485: PUSH2 0x0497
00000488: SWAP3
00000489: PUSH2 0x0469
0000048c: JUMP
0000048d: JUMPDEST
0000048e: PUSH2 0x03f0
00000491: JUMP
00000492: JUMPDEST
00000493: PUSH2 0x0472
00000496: JUMP
00000497: JUMPDEST
00000498: SWAP1
00000499: JUMP
0000049a: JUMPDEST
0000049b: PUSH2 0x04a3
0000049e: SWAP1
0000049f: PUSH2 0x03f6
000004a2: JUMP
000004a3: JUMPDEST
000004a4: SWAP1
000004a5: MSTORE
000004a6: JUMP
000004a7: JUMPDEST
000004a8: SWAP2
000004a9: PUSH1 0x20
000004ab: PUSH2 0x04c8
000004ae: SWAP3
000004af: SWAP5
000004b0: SWAP4
000004b1: PUSH2 0x04c1
000004b4: PUSH1 0x40
000004b6: DUP3
000004b7: ADD
000004b8: SWAP7
000004b9: PUSH0
000004ba: DUP4
000004bb: ADD
000004bc: SWAP1
000004bd: PUSH2 0x01b0
000004c0: JUMP
000004c1: JUMPDEST
000004c2: ADD
000004c3: SWAP1
000004c4: PUSH2 0x049a
000004c7: JUMP
000004c8: JUMPDEST
000004c9: JUMP
000004ca: JUMPDEST
000004cb: SWAP1
000004cc: PUSH2 0x04dd
000004cf: PUSH2 0x04d6
000004d2: PUSH2 0x008c
000004d5: JUMP
000004d6: JUMPDEST
000004d7: SWAP3
000004d8: DUP4
000004d9: PUSH2 0x03c7
000004dc: JUMP
000004dd: JUMPDEST
000004de: JUMP
000004df: JUMPDEST
000004e0: PUSH8 0xffffffffffffffff
000004e9: DUP2
000004ea: GT
000004eb: PUSH2 0x04fd
000004ee: JUMPI
000004ef: PUSH2 0x04f9
000004f2: PUSH1 0x20
000004f4: SWAP2
000004f5: PUSH2 0x03a9
000004f8: JUMP
000004f9: JUMPDEST
000004fa: ADD
000004fb: SWAP1
000004fc: JUMP
000004fd: JUMPDEST
000004fe: PUSH2 0x03b3
00000501: JUMP
00000502: JUMPDEST
00000503: SWAP1
00000504: PUSH2 0x0514
00000507: PUSH2 0x050f
0000050a: DUP4
0000050b: PUSH2 0x04df
0000050e: JUMP
0000050f: JUMPDEST
00000510: PUSH2 0x04ca
00000513: JUMP
00000514: JUMPDEST
00000515: SWAP2
00000516: DUP3
00000517: MSTORE
00000518: JUMP
00000519: JUMPDEST
0000051a: PUSH1 0x60
0000051c: SWAP1
0000051d: JUMP
0000051e: JUMPDEST
0000051f: RETURNDATASIZE
00000520: PUSH0
00000521: EQ
00000522: PUSH2 0x0539
00000525: JUMPI
00000526: PUSH2 0x052e
00000529: RETURNDATASIZE
0000052a: PUSH2 0x0502
0000052d: JUMP
0000052e: JUMPDEST
0000052f: SWAP1
00000530: RETURNDATASIZE
00000531: PUSH0
00000532: PUSH1 0x20
00000534: DUP5
00000535: ADD
00000536: RETURNDATACOPY
00000537: JUMPDEST
00000538: JUMP
00000539: JUMPDEST
0000053a: PUSH2 0x0541
0000053d: PUSH2 0x0519
00000540: JUMP
00000541: JUMPDEST
00000542: SWAP1
00000543: PUSH2 0x0537
00000546: JUMP
00000547: JUMPDEST
00000548: ISZERO
00000549: ISZERO
0000054a: SWAP1
0000054b: JUMP
0000054c: JUMPDEST
0000054d: MLOAD
0000054e: SWAP1
0000054f: JUMP
00000550: JUMPDEST
00000551: PUSH2 0x0559
00000554: DUP2
00000555: PUSH2 0x0547
00000558: JUMP
00000559: JUMPDEST
0000055a: SUB
0000055b: PUSH2 0x0560
0000055e: JUMPI
0000055f: JUMP
00000560: JUMPDEST
00000561: PUSH0
00000562: DUP1
00000563: REVERT
00000564: JUMPDEST
00000565: SWAP1
00000566: POP
00000567: MLOAD
00000568: SWAP1
00000569: PUSH2 0x0571
0000056c: DUP3
0000056d: PUSH2 0x0550
00000570: JUMP
00000571: JUMPDEST
00000572: JUMP
00000573: JUMPDEST
00000574: SWAP1
00000575: PUSH1 0x20
00000577: DUP3
00000578: DUP3
00000579: SUB
0000057a: SLT
0000057b: PUSH2 0x058c
0000057e: JUMPI
0000057f: PUSH2 0x0589
00000582: SWAP2
00000583: PUSH0
00000584: ADD
00000585: PUSH2 0x0564
00000588: JUMP
00000589: JUMPDEST
0000058a: SWAP1
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH2 0x0096
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH1 0x20
00000594: SWAP2
00000595: DUP2
00000596: MSTORE
00000597: ADD
00000598: SWAP1
00000599: JUMP
0000059a: JUMPDEST
0000059b: PUSH0
0000059c: PUSH32 0x546f6b656e20666c757368000000000000000000000000000000000000000000
000005bd: SWAP2
000005be: ADD
000005bf: MSTORE
000005c0: JUMP
000005c1: JUMPDEST
000005c2: PUSH2 0x05ce
000005c5: PUSH1 0x0b
000005c7: PUSH1 0x20
000005c9: SWAP3
000005ca: PUSH2 0x0591
000005cd: JUMP
000005ce: JUMPDEST
000005cf: PUSH2 0x05d7
000005d2: DUP2
000005d3: PUSH2 0x059a
000005d6: JUMP
000005d7: JUMPDEST
000005d8: ADD
000005d9: SWAP1
000005da: JUMP
000005db: JUMPDEST
000005dc: PUSH2 0x05f0
000005df: SWAP1
000005e0: PUSH1 0x20
000005e2: DUP2
000005e3: ADD
000005e4: SWAP1
000005e5: PUSH0
000005e6: DUP2
000005e7: DUP4
000005e8: SUB
000005e9: SWAP2
000005ea: ADD
000005eb: MSTORE
000005ec: PUSH2 0x05c1
000005ef: JUMP
000005f0: JUMPDEST
000005f1: SWAP1
000005f2: JUMP
000005f3: JUMPDEST
000005f4: PUSH1 0x40
000005f6: SWAP1
000005f7: PUSH2 0x061c
000005fa: PUSH2 0x0623
000005fd: SWAP5
000005fe: SWAP7
000005ff: SWAP6
00000600: SWAP4
00000601: SWAP7
00000602: PUSH2 0x0612
00000605: PUSH1 0x60
00000607: DUP5
00000608: ADD
00000609: SWAP9
0000060a: PUSH0
0000060b: DUP6
0000060c: ADD
0000060d: SWAP1
0000060e: PUSH2 0x01b0
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH1 0x20
00000615: DUP4
00000616: ADD
00000617: SWAP1
00000618: PUSH2 0x049a
0000061b: JUMP
0000061c: JUMPDEST
0000061d: ADD
0000061e: SWAP1
0000061f: PUSH2 0x01b0
00000622: JUMP
00000623: JUMPDEST
00000624: JUMP
00000625: JUMPDEST
00000626: PUSH2 0x062e
00000629: DUP2
0000062a: PUSH2 0x0379
0000062d: JUMP
0000062e: JUMPDEST
0000062f: SWAP1
00000630: PUSH2 0x066f
00000633: PUSH1 0x20
00000635: PUSH2 0x063d
00000638: DUP5
00000639: PUSH2 0x0391
0000063c: JUMP
0000063d: JUMPDEST
0000063e: PUSH4 0x70a08231
00000643: SWAP1
00000644: PUSH2 0x0664
00000647: PUSH2 0x064f
0000064a: ADDRESS
0000064b: PUSH2 0x039d
0000064e: JUMP
0000064f: JUMPDEST
00000650: SWAP3
00000651: PUSH2 0x0658
00000654: PUSH2 0x008c
00000657: JUMP
00000658: JUMPDEST
00000659: SWAP6
0000065a: DUP7
0000065b: SWAP5
0000065c: DUP6
0000065d: SWAP4
0000065e: DUP5
0000065f: SWAP4
00000660: PUSH2 0x03f0
00000663: JUMP
00000664: JUMPDEST
00000665: DUP4
00000666: MSTORE
00000667: PUSH1 0x04
00000669: DUP4
0000066a: ADD
0000066b: PUSH2 0x01bd
0000066e: JUMP
0000066f: JUMPDEST
00000670: SUB
00000671: SWAP2
00000672: GAS
00000673: STATICCALL
00000674: SWAP1
00000675: DUP2
00000676: ISZERO
00000677: PUSH2 0x0823
0000067a: JUMPI
0000067b: PUSH0
0000067c: SWAP2
0000067d: PUSH2 0x07f5
00000680: JUMPI
00000681: JUMPDEST
00000682: POP
00000683: SWAP2
00000684: DUP3
00000685: PUSH2 0x0696
00000688: PUSH2 0x0690
0000068b: PUSH0
0000068c: PUSH2 0x044d
0000068f: JUMP
00000690: JUMPDEST
00000691: SWAP2
00000692: PUSH2 0x03f6
00000695: JUMP
00000696: JUMPDEST
00000697: EQ
00000698: PUSH2 0x07d9
0000069b: JUMPI
0000069c: PUSH0
0000069d: PUSH2 0x06a6
000006a0: DUP2
000006a1: SWAP3
000006a2: PUSH2 0x0391
000006a5: JUMP
000006a6: JUMPDEST
000006a7: PUSH1 0x04
000006a9: PUSH2 0x06ee
000006ac: PUSH2 0x06b8
000006af: PUSH4 0xa9059cbb
000006b4: PUSH2 0x047e
000006b7: JUMP
000006b8: JUMPDEST
000006b9: PUSH2 0x06df
000006bc: PUSH2 0x06c5
000006bf: PUSH1 0x01
000006c1: PUSH2 0x02ce
000006c4: JUMP
000006c5: JUMPDEST
000006c6: DUP10
000006c7: SWAP1
000006c8: PUSH2 0x06cf
000006cb: PUSH2 0x008c
000006ce: JUMP
000006cf: JUMPDEST
000006d0: SWAP6
000006d1: DUP7
000006d2: SWAP5
000006d3: PUSH1 0x20
000006d5: DUP7
000006d6: ADD
000006d7: SWAP1
000006d8: DUP2
000006d9: MSTORE
000006da: ADD
000006db: PUSH2 0x04a7
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH1 0x20
000006e2: DUP3
000006e3: ADD
000006e4: DUP2
000006e5: SUB
000006e6: DUP3
000006e7: MSTORE
000006e8: SUB
000006e9: DUP3
000006ea: PUSH2 0x03c7
000006ed: JUMP
000006ee: JUMPDEST
000006ef: DUP3
000006f0: PUSH1 0x20
000006f2: DUP3
000006f3: ADD
000006f4: SWAP2
000006f5: MLOAD
000006f6: SWAP3
000006f7: GAS
000006f8: CALL
000006f9: PUSH2 0x070a
000006fc: PUSH2 0x0703
000006ff: PUSH2 0x051e
00000702: JUMP
00000703: JUMPDEST
00000704: SWAP2
00000705: ISZERO
00000706: PUSH2 0x0547
00000709: JUMP
0000070a: JUMPDEST
0000070b: SWAP1
0000070c: DUP2
0000070d: ISZERO
0000070e: PUSH2 0x0781
00000711: JUMPI
00000712: JUMPDEST
00000713: POP
00000714: PUSH2 0x075e
00000717: JUMPI
00000718: PUSH2 0x0720
0000071b: ADDRESS
0000071c: PUSH2 0x039d
0000071f: JUMP
00000720: JUMPDEST
00000721: SWAP2
00000722: SWAP1
00000723: SWAP2
00000724: PUSH2 0x0759
00000727: PUSH32 0xb4bdccee2343c0b5e592d459c20eb1fa451c96bf88fb685a11aecda6b4ec76b1
00000748: SWAP4
00000749: PUSH2 0x0750
0000074c: PUSH2 0x008c
0000074f: JUMP
00000750: JUMPDEST
00000751: SWAP4
00000752: DUP5
00000753: SWAP4
00000754: DUP5
00000755: PUSH2 0x05f3
00000758: JUMP
00000759: JUMPDEST
0000075a: SUB
0000075b: SWAP1
0000075c: LOG1
0000075d: JUMP
0000075e: JUMPDEST
0000075f: PUSH2 0x0766
00000762: PUSH2 0x008c
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH4 0x12dfddb3
0000076c: PUSH1 0xe0
0000076e: SHL
0000076f: DUP2
00000770: MSTORE
00000771: DUP1
00000772: PUSH2 0x077d
00000775: PUSH1 0x04
00000777: DUP3
00000778: ADD
00000779: PUSH2 0x05db
0000077c: JUMP
0000077d: JUMPDEST
0000077e: SUB
0000077f: SWAP1
00000780: REVERT
00000781: JUMPDEST
00000782: SWAP1
00000783: POP
00000784: PUSH2 0x078c
00000787: DUP2
00000788: PUSH2 0x054c
0000078b: JUMP
0000078c: JUMPDEST
0000078d: PUSH2 0x079e
00000790: PUSH2 0x0798
00000793: PUSH0
00000794: PUSH2 0x044d
00000797: JUMP
00000798: JUMPDEST
00000799: SWAP2
0000079a: PUSH2 0x03f6
0000079d: JUMP
0000079e: JUMPDEST
0000079f: EQ
000007a0: ISZERO
000007a1: SWAP1
000007a2: DUP2
000007a3: PUSH2 0x07ae
000007a6: JUMPI
000007a7: JUMPDEST
000007a8: POP
000007a9: PUSH0
000007aa: PUSH2 0x0712
000007ad: JUMP
000007ae: JUMPDEST
000007af: PUSH2 0x07d3
000007b2: SWAP2
000007b3: POP
000007b4: PUSH2 0x07cd
000007b7: SWAP1
000007b8: PUSH1 0x20
000007ba: PUSH2 0x07c2
000007bd: DUP3
000007be: PUSH2 0x054c
000007c1: JUMP
000007c2: JUMPDEST
000007c3: DUP2
000007c4: DUP4
000007c5: ADD
000007c6: ADD
000007c7: SWAP2
000007c8: ADD
000007c9: PUSH2 0x0573
000007cc: JUMP
000007cd: JUMPDEST
000007ce: ISZERO
000007cf: PUSH2 0x0547
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH0
000007d5: PUSH2 0x07a7
000007d8: JUMP
000007d9: JUMPDEST
000007da: PUSH0
000007db: PUSH4 0x1e9acf17
000007e0: PUSH1 0xe3
000007e2: SHL
000007e3: DUP2
000007e4: MSTORE
000007e5: DUP1
000007e6: PUSH2 0x07f1
000007e9: PUSH1 0x04
000007eb: DUP3
000007ec: ADD
000007ed: PUSH2 0x00f2
000007f0: JUMP
000007f1: JUMPDEST
000007f2: SUB
000007f3: SWAP1
000007f4: REVERT
000007f5: JUMPDEST
000007f6: PUSH2 0x0816
000007f9: SWAP2
000007fa: POP
000007fb: PUSH1 0x20
000007fd: RETURNDATASIZE
000007fe: DUP2
000007ff: GT
00000800: PUSH2 0x081c
00000803: JUMPI
00000804: JUMPDEST
00000805: PUSH2 0x080e
00000808: DUP2
00000809: DUP4
0000080a: PUSH2 0x03c7
0000080d: JUMP
0000080e: JUMPDEST
0000080f: DUP2
00000810: ADD
00000811: SWAP1
00000812: PUSH2 0x041c
00000815: JUMP
00000816: JUMPDEST
00000817: PUSH0
00000818: PUSH2 0x0681
0000081b: JUMP
0000081c: JUMPDEST
0000081d: POP
0000081e: RETURNDATASIZE
0000081f: PUSH2 0x0804
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH2 0x043a
00000827: JUMP
00000828: JUMPDEST
00000829: PUSH2 0x0831
0000082c: SWAP1
0000082d: PUSH2 0x02db
00000830: JUMP
00000831: JUMPDEST
00000832: JUMP
00000833: JUMPDEST
00000834: SWAP1
00000835: JUMP
00000836: JUMPDEST
00000837: PUSH2 0x0842
0000083a: PUSH2 0x0847
0000083d: SWAP2
0000083e: PUSH2 0x02b5
00000841: JUMP
00000842: JUMPDEST
00000843: PUSH2 0x0833
00000846: JUMP
00000847: JUMPDEST
00000848: SWAP1
00000849: JUMP
0000084a: JUMPDEST
0000084b: PUSH2 0x0854
0000084e: SWAP1
0000084f: SLOAD
00000850: PUSH2 0x0836
00000853: JUMP
00000854: JUMPDEST
00000855: SWAP1
00000856: JUMP
00000857: JUMPDEST
00000858: SWAP1
00000859: JUMP
0000085a: JUMPDEST
0000085b: PUSH2 0x086e
0000085e: PUSH2 0x0869
00000861: PUSH2 0x0873
00000864: SWAP3
00000865: PUSH2 0x0857
00000868: JUMP
00000869: JUMPDEST
0000086a: PUSH2 0x034e
0000086d: JUMP
0000086e: JUMPDEST
0000086f: PUSH2 0x03f6
00000872: JUMP
00000873: JUMPDEST
00000874: SWAP1
00000875: JUMP
00000876: JUMPDEST
00000877: PUSH2 0x0880
0000087a: PUSH1 0x02
0000087c: PUSH2 0x085a
0000087f: JUMP
00000880: JUMPDEST
00000881: SWAP1
00000882: JUMP
00000883: JUMPDEST
00000884: PUSH0
00000885: SHL
00000886: SWAP1
00000887: JUMP
00000888: JUMPDEST
00000889: SWAP1
0000088a: PUSH2 0x0894
0000088d: PUSH0
0000088e: NOT
0000088f: SWAP2
00000890: PUSH2 0x0883
00000893: JUMP
00000894: JUMPDEST
00000895: SWAP2
00000896: DUP2
00000897: NOT
00000898: AND
00000899: SWAP2
0000089a: AND
0000089b: OR
0000089c: SWAP1
0000089d: JUMP
0000089e: JUMPDEST
0000089f: PUSH2 0x08b2
000008a2: PUSH2 0x08ad
000008a5: PUSH2 0x08b7
000008a8: SWAP3
000008a9: PUSH2 0x03f6
000008ac: JUMP
000008ad: JUMPDEST
000008ae: PUSH2 0x034e
000008b1: JUMP
000008b2: JUMPDEST
000008b3: PUSH2 0x03f6
000008b6: JUMP
000008b7: JUMPDEST
000008b8: SWAP1
000008b9: JUMP
000008ba: JUMPDEST
000008bb: SWAP1
000008bc: JUMP
000008bd: JUMPDEST
000008be: SWAP1
000008bf: PUSH2 0x08d2
000008c2: PUSH2 0x08cd
000008c5: PUSH2 0x08d9
000008c8: SWAP3
000008c9: PUSH2 0x089e
000008cc: JUMP
000008cd: JUMPDEST
000008ce: PUSH2 0x08ba
000008d1: JUMP
000008d2: JUMPDEST
000008d3: DUP3
000008d4: SLOAD
000008d5: PUSH2 0x0888
000008d8: JUMP
000008d9: JUMPDEST
000008da: SWAP1
000008db: SSTORE
000008dc: JUMP
000008dd: JUMPDEST
000008de: SWAP1
000008df: JUMP
000008e0: JUMPDEST
000008e1: PUSH2 0x08f4
000008e4: PUSH2 0x08ef
000008e7: PUSH2 0x08f9
000008ea: SWAP3
000008eb: PUSH2 0x08dd
000008ee: JUMP
000008ef: JUMPDEST
000008f0: PUSH2 0x034e
000008f3: JUMP
000008f4: JUMPDEST
000008f5: PUSH2 0x03f6
000008f8: JUMP
000008f9: JUMPDEST
000008fa: SWAP1
000008fb: JUMP
000008fc: JUMPDEST
000008fd: PUSH2 0x0906
00000900: PUSH1 0x01
00000902: PUSH2 0x08e0
00000905: JUMP
00000906: JUMPDEST
00000907: SWAP1
00000908: JUMP
00000909: JUMPDEST
0000090a: PUSH2 0x0912
0000090d: PUSH0
0000090e: PUSH2 0x084a
00000911: JUMP
00000912: JUMPDEST
00000913: PUSH2 0x092b
00000916: PUSH2 0x0925
00000919: PUSH2 0x0920
0000091c: PUSH2 0x0876
0000091f: JUMP
00000920: JUMPDEST
00000921: PUSH2 0x03f6
00000924: JUMP
00000925: JUMPDEST
00000926: SWAP2
00000927: PUSH2 0x03f6
0000092a: JUMP
0000092b: JUMPDEST
0000092c: EQ
0000092d: PUSH2 0x095c
00000930: JUMPI
00000931: PUSH2 0x0941
00000934: PUSH2 0x093b
00000937: PUSH2 0x0876
0000093a: JUMP
0000093b: JUMPDEST
0000093c: PUSH0
0000093d: PUSH2 0x08bd
00000940: JUMP
00000941: JUMPDEST
00000942: PUSH2 0x0949
00000945: PUSH2 0x09f1
00000948: JUMP
00000949: JUMPDEST
0000094a: PUSH2 0x095a
0000094d: PUSH2 0x0954
00000950: PUSH2 0x08fc
00000953: JUMP
00000954: JUMPDEST
00000955: PUSH0
00000956: PUSH2 0x08bd
00000959: JUMP
0000095a: JUMPDEST
0000095b: JUMP
0000095c: JUMPDEST
0000095d: PUSH0
0000095e: PUSH4 0x08605d77
00000963: PUSH1 0xe1
00000965: SHL
00000966: DUP2
00000967: MSTORE
00000968: DUP1
00000969: PUSH2 0x0974
0000096c: PUSH1 0x04
0000096e: DUP3
0000096f: ADD
00000970: PUSH2 0x00f2
00000973: JUMP
00000974: JUMPDEST
00000975: SUB
00000976: SWAP1
00000977: REVERT
00000978: JUMPDEST
00000979: SWAP1
0000097a: POP
0000097b: SWAP1
0000097c: JUMP
0000097d: JUMPDEST
0000097e: PUSH2 0x0988
00000981: PUSH0
00000982: DUP1
00000983: SWAP3
00000984: PUSH2 0x0978
00000987: JUMP
00000988: JUMPDEST
00000989: ADD
0000098a: SWAP1
0000098b: JUMP
0000098c: JUMPDEST
0000098d: PUSH2 0x0995
00000990: SWAP1
00000991: PUSH2 0x097d
00000994: JUMP
00000995: JUMPDEST
00000996: SWAP1
00000997: JUMP
00000998: JUMPDEST
00000999: PUSH0
0000099a: PUSH32 0x45544820666c7573680000000000000000000000000000000000000000000000
000009bb: SWAP2
000009bc: ADD
000009bd: MSTORE
000009be: JUMP
000009bf: JUMPDEST
000009c0: PUSH2 0x09cc
000009c3: PUSH1 0x09
000009c5: PUSH1 0x20
000009c7: SWAP3
000009c8: PUSH2 0x0591
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH2 0x09d5
000009d0: DUP2
000009d1: PUSH2 0x0998
000009d4: JUMP
000009d5: JUMPDEST
000009d6: ADD
000009d7: SWAP1
000009d8: JUMP
000009d9: JUMPDEST
000009da: PUSH2 0x09ee
000009dd: SWAP1
000009de: PUSH1 0x20
000009e0: DUP2
000009e1: ADD
000009e2: SWAP1
000009e3: PUSH0
000009e4: DUP2
000009e5: DUP4
000009e6: SUB
000009e7: SWAP2
000009e8: ADD
000009e9: MSTORE
000009ea: PUSH2 0x09bf
000009ed: JUMP
000009ee: JUMPDEST
000009ef: SWAP1
000009f0: JUMP
000009f1: JUMPDEST
000009f2: PUSH2 0x09fa
000009f5: ADDRESS
000009f6: PUSH2 0x039d
000009f9: JUMP
000009fa: JUMPDEST
000009fb: BALANCE
000009fc: DUP1
000009fd: PUSH2 0x0a0e
00000a00: PUSH2 0x0a08
00000a03: PUSH0
00000a04: PUSH2 0x044d
00000a07: JUMP
00000a08: JUMPDEST
00000a09: SWAP2
00000a0a: PUSH2 0x03f6
00000a0d: JUMP
00000a0e: JUMPDEST
00000a0f: EQ
00000a10: PUSH2 0x0a73
00000a13: JUMPI
00000a14: PUSH0
00000a15: DUP1
00000a16: PUSH2 0x0a4a
00000a19: SWAP3
00000a1a: PUSH2 0x0a23
00000a1d: PUSH1 0x01
00000a1f: PUSH2 0x02ce
00000a22: JUMP
00000a23: JUMPDEST
00000a24: SWAP1
00000a25: PUSH2 0x0a2c
00000a28: PUSH2 0x008c
00000a2b: JUMP
00000a2c: JUMPDEST
00000a2d: SWAP1
00000a2e: DUP2
00000a2f: PUSH2 0x0a37
00000a32: DUP2
00000a33: PUSH2 0x098c
00000a36: JUMP
00000a37: JUMPDEST
00000a38: SUB
00000a39: SWAP3
00000a3a: GAS
00000a3b: CALL
00000a3c: PUSH2 0x0a43
00000a3f: PUSH2 0x051e
00000a42: JUMP
00000a43: JUMPDEST
00000a44: POP
00000a45: ISZERO
00000a46: PUSH2 0x0547
00000a49: JUMP
00000a4a: JUMPDEST
00000a4b: PUSH2 0x0a50
00000a4e: JUMPI
00000a4f: JUMP
00000a50: JUMPDEST
00000a51: PUSH2 0x0a58
00000a54: PUSH2 0x008c
00000a57: JUMP
00000a58: JUMPDEST
00000a59: PUSH4 0x12dfddb3
00000a5e: PUSH1 0xe0
00000a60: SHL
00000a61: DUP2
00000a62: MSTORE
00000a63: DUP1
00000a64: PUSH2 0x0a6f
00000a67: PUSH1 0x04
00000a69: DUP3
00000a6a: ADD
00000a6b: PUSH2 0x09d9
00000a6e: JUMP
00000a6f: JUMPDEST
00000a70: SUB
00000a71: SWAP1
00000a72: REVERT
00000a73: JUMPDEST
00000a74: PUSH0
00000a75: PUSH4 0x1e9acf17
00000a7a: PUSH1 0xe3
00000a7c: SHL
00000a7d: DUP2
00000a7e: MSTORE
00000a7f: DUP1
00000a80: PUSH2 0x0a8b
00000a83: PUSH1 0x04
00000a85: DUP3
00000a86: ADD
00000a87: PUSH2 0x00f2
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: SUB
00000a8d: SWAP1
00000a8e: REVERT
00000a8f: JUMPDEST
00000a90: PUSH2 0x0a97
00000a93: PUSH2 0x0909
00000a96: JUMP
00000a97: JUMPDEST
00000a98: JUMP
00000a99: JUMPDEST
00000a9a: CALLER
00000a9b: PUSH2 0x0ab5
00000a9e: PUSH2 0x0aaf
00000aa1: PUSH2 0x0aaa
00000aa4: PUSH1 0x01
00000aa6: PUSH2 0x02ce
00000aa9: JUMP
00000aaa: JUMPDEST
00000aab: PUSH2 0x00a5
00000aae: JUMP
00000aaf: JUMPDEST
00000ab0: SWAP2
00000ab1: PUSH2 0x00a5
00000ab4: JUMP
00000ab5: JUMPDEST
00000ab6: SUB
00000ab7: PUSH2 0x0ac5
00000aba: JUMPI
00000abb: PUSH2 0x0ac3
00000abe: SWAP1
00000abf: PUSH2 0x0b53
00000ac2: JUMP
00000ac3: JUMPDEST
00000ac4: JUMP
00000ac5: JUMPDEST
00000ac6: PUSH0
00000ac7: PUSH4 0xea8e4eb5
00000acc: PUSH1 0xe0
00000ace: SHL
00000acf: DUP2
00000ad0: MSTORE
00000ad1: DUP1
00000ad2: PUSH2 0x0add
00000ad5: PUSH1 0x04
00000ad7: DUP3
00000ad8: ADD
00000ad9: PUSH2 0x00f2
00000adc: JUMP
00000add: JUMPDEST
00000ade: SUB
00000adf: SWAP1
00000ae0: REVERT
00000ae1: JUMPDEST
00000ae2: PUSH2 0x0af5
00000ae5: PUSH2 0x0af0
00000ae8: PUSH2 0x0afa
00000aeb: SWAP3
00000aec: PUSH2 0x044a
00000aef: JUMP
00000af0: JUMPDEST
00000af1: PUSH2 0x034e
00000af4: JUMP
00000af5: JUMPDEST
00000af6: PUSH2 0x009a
00000af9: JUMP
00000afa: JUMPDEST
00000afb: SWAP1
00000afc: JUMP
00000afd: JUMPDEST
00000afe: PUSH2 0x0b06
00000b01: SWAP1
00000b02: PUSH2 0x0ae1
00000b05: JUMP
00000b06: JUMPDEST
00000b07: SWAP1
00000b08: JUMP
00000b09: JUMPDEST
00000b0a: SWAP1
00000b0b: PUSH2 0x0b1a
00000b0e: PUSH1 0x01
00000b10: DUP1
00000b11: PUSH1 0xa0
00000b13: SHL
00000b14: SUB
00000b15: SWAP2
00000b16: PUSH2 0x0883
00000b19: JUMP
00000b1a: JUMPDEST
00000b1b: SWAP2
00000b1c: DUP2
00000b1d: NOT
00000b1e: AND
00000b1f: SWAP2
00000b20: AND
00000b21: OR
00000b22: SWAP1
00000b23: JUMP
00000b24: JUMPDEST
00000b25: PUSH2 0x0b2d
00000b28: SWAP1
00000b29: PUSH2 0x0385
00000b2c: JUMP
00000b2d: JUMPDEST
00000b2e: SWAP1
00000b2f: JUMP
00000b30: JUMPDEST
00000b31: SWAP1
00000b32: JUMP
00000b33: JUMPDEST
00000b34: SWAP1
00000b35: PUSH2 0x0b48
00000b38: PUSH2 0x0b43
00000b3b: PUSH2 0x0b4f
00000b3e: SWAP3
00000b3f: PUSH2 0x0b24
00000b42: JUMP
00000b43: JUMPDEST
00000b44: PUSH2 0x0b30
00000b47: JUMP
00000b48: JUMPDEST
00000b49: DUP3
00000b4a: SLOAD
00000b4b: PUSH2 0x0b09
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: SWAP1
00000b51: SSTORE
00000b52: JUMP
00000b53: JUMPDEST
00000b54: DUP1
00000b55: PUSH2 0x0b6e
00000b58: PUSH2 0x0b68
00000b5b: PUSH2 0x0b63
00000b5e: PUSH0
00000b5f: PUSH2 0x0afd
00000b62: JUMP
00000b63: JUMPDEST
00000b64: PUSH2 0x00a5
00000b67: JUMP
00000b68: JUMPDEST
00000b69: SWAP2
00000b6a: PUSH2 0x00a5
00000b6d: JUMP
00000b6e: JUMPDEST
00000b6f: EQ
00000b70: PUSH2 0x0c11
00000b73: JUMPI
00000b74: DUP1
00000b75: PUSH2 0x0b8f
00000b78: PUSH2 0x0b89
00000b7b: PUSH2 0x0b84
00000b7e: PUSH1 0x02
00000b80: PUSH2 0x02ce
00000b83: JUMP
00000b84: JUMPDEST
00000b85: PUSH2 0x00a5
00000b88: JUMP
00000b89: JUMPDEST
00000b8a: SWAP2
00000b8b: PUSH2 0x00a5
00000b8e: JUMP
00000b8f: JUMPDEST
00000b90: EQ
00000b91: PUSH2 0x0bf5
00000b94: JUMPI
00000b95: PUSH2 0x0b9e
00000b98: PUSH1 0x02
00000b9a: PUSH2 0x02ce
00000b9d: JUMP
00000b9e: JUMPDEST
00000b9f: PUSH2 0x0ba9
00000ba2: DUP3
00000ba3: PUSH1 0x02
00000ba5: PUSH2 0x0b33
00000ba8: JUMP
00000ba9: JUMPDEST
00000baa: SWAP1
00000bab: PUSH2 0x0bdd
00000bae: PUSH2 0x0bd7
00000bb1: PUSH32 0x625c25044c8d718e4765e900b5b31f518b0933e15f7738b5739377fdb3153805
00000bd2: SWAP4
00000bd3: PUSH2 0x0b24
00000bd6: JUMP
00000bd7: JUMPDEST
00000bd8: SWAP2
00000bd9: PUSH2 0x0b24
00000bdc: JUMP
00000bdd: JUMPDEST
00000bde: SWAP2
00000bdf: PUSH2 0x0be6
00000be2: PUSH2 0x008c
00000be5: JUMP
00000be6: JUMPDEST
00000be7: DUP1
00000be8: PUSH2 0x0bf0
00000beb: DUP2
00000bec: PUSH2 0x00f2
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: SUB
00000bf2: SWAP1
00000bf3: LOG3
00000bf4: JUMP
00000bf5: JUMPDEST
00000bf6: PUSH0
00000bf7: PUSH4 0x1c8cd0c7
00000bfc: PUSH1 0xe2
00000bfe: SHL
00000bff: DUP2
00000c00: MSTORE
00000c01: DUP1
00000c02: PUSH2 0x0c0d
00000c05: PUSH1 0x04
00000c07: DUP3
00000c08: ADD
00000c09: PUSH2 0x00f2
00000c0c: JUMP
00000c0d: JUMPDEST
00000c0e: SUB
00000c0f: SWAP1
00000c10: REVERT
00000c11: JUMPDEST
00000c12: PUSH0
00000c13: PUSH4 0x20278ad7
00000c18: PUSH1 0xe0
00000c1a: SHL
00000c1b: DUP2
00000c1c: MSTORE
00000c1d: DUP1
00000c1e: PUSH2 0x0c29
00000c21: PUSH1 0x04
00000c23: DUP3
00000c24: ADD
00000c25: PUSH2 0x00f2
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: SUB
00000c2b: SWAP1
00000c2c: REVERT
00000c2d: JUMPDEST
00000c2e: PUSH2 0x0c36
00000c31: SWAP1
00000c32: PUSH2 0x0a99
00000c35: JUMP
00000c36: JUMPDEST
00000c37: JUMP
00000c38: JUMPDEST
00000c39: CALLER
00000c3a: PUSH2 0x0c54
00000c3d: PUSH2 0x0c4e
00000c40: PUSH2 0x0c49
00000c43: PUSH1 0x01
00000c45: PUSH2 0x02ce
00000c48: JUMP
00000c49: JUMPDEST
00000c4a: PUSH2 0x00a5
00000c4d: JUMP
00000c4e: JUMPDEST
00000c4f: SWAP2
00000c50: PUSH2 0x00a5
00000c53: JUMP
00000c54: JUMPDEST
00000c55: SUB
00000c56: PUSH2 0x0c64
00000c59: JUMPI
00000c5a: PUSH2 0x0c62
00000c5d: SWAP1
00000c5e: PUSH2 0x0c80
00000c61: JUMP
00000c62: JUMPDEST
00000c63: JUMP
00000c64: JUMPDEST
00000c65: PUSH0
00000c66: PUSH4 0xea8e4eb5
00000c6b: PUSH1 0xe0
00000c6d: SHL
00000c6e: DUP2
00000c6f: MSTORE
00000c70: DUP1
00000c71: PUSH2 0x0c7c
00000c74: PUSH1 0x04
00000c76: DUP3
00000c77: ADD
00000c78: PUSH2 0x00f2
00000c7b: JUMP
00000c7c: JUMPDEST
00000c7d: SUB
00000c7e: SWAP1
00000c7f: REVERT
00000c80: JUMPDEST
00000c81: DUP1
00000c82: PUSH2 0x0c9b
00000c85: PUSH2 0x0c95
00000c88: PUSH2 0x0c90
00000c8b: PUSH0
00000c8c: PUSH2 0x0afd
00000c8f: JUMP
00000c90: JUMPDEST
00000c91: PUSH2 0x00a5
00000c94: JUMP
00000c95: JUMPDEST
00000c96: SWAP2
00000c97: PUSH2 0x00a5
00000c9a: JUMP
00000c9b: JUMPDEST
00000c9c: EQ
00000c9d: PUSH2 0x0d3e
00000ca0: JUMPI
00000ca1: DUP1
00000ca2: PUSH2 0x0cbc
00000ca5: PUSH2 0x0cb6
00000ca8: PUSH2 0x0cb1
00000cab: PUSH1 0x01
00000cad: PUSH2 0x02ce
00000cb0: JUMP
00000cb1: JUMPDEST
00000cb2: PUSH2 0x00a5
00000cb5: JUMP
00000cb6: JUMPDEST
00000cb7: SWAP2
00000cb8: PUSH2 0x00a5
00000cbb: JUMP
00000cbc: JUMPDEST
00000cbd: EQ
00000cbe: PUSH2 0x0d22
00000cc1: JUMPI
00000cc2: PUSH2 0x0ccb
00000cc5: PUSH1 0x01
00000cc7: PUSH2 0x02ce
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: PUSH2 0x0cd6
00000ccf: DUP3
00000cd0: PUSH1 0x01
00000cd2: PUSH2 0x0b33
00000cd5: JUMP
00000cd6: JUMPDEST
00000cd7: SWAP1
00000cd8: PUSH2 0x0d0a
00000cdb: PUSH2 0x0d04
00000cde: PUSH32 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c
00000cff: SWAP4
00000d00: PUSH2 0x0b24
00000d03: JUMP
00000d04: JUMPDEST
00000d05: SWAP2
00000d06: PUSH2 0x0b24
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: SWAP2
00000d0c: PUSH2 0x0d13
00000d0f: PUSH2 0x008c
00000d12: JUMP
00000d13: JUMPDEST
00000d14: DUP1
00000d15: PUSH2 0x0d1d
00000d18: DUP2
00000d19: PUSH2 0x00f2
00000d1c: JUMP
00000d1d: JUMPDEST
00000d1e: SUB
00000d1f: SWAP1
00000d20: LOG3
00000d21: JUMP
00000d22: JUMPDEST
00000d23: PUSH0
00000d24: PUSH4 0x1c8cd0c7
00000d29: PUSH1 0xe2
00000d2b: SHL
00000d2c: DUP2
00000d2d: MSTORE
00000d2e: DUP1
00000d2f: PUSH2 0x0d3a
00000d32: PUSH1 0x04
00000d34: DUP3
00000d35: ADD
00000d36: PUSH2 0x00f2
00000d39: JUMP
00000d3a: JUMPDEST
00000d3b: SUB
00000d3c: SWAP1
00000d3d: REVERT
00000d3e: JUMPDEST
00000d3f: PUSH0
00000d40: PUSH4 0x49e27cff
00000d45: PUSH1 0xe0
00000d47: SHL
00000d48: DUP2
00000d49: MSTORE
00000d4a: DUP1
00000d4b: PUSH2 0x0d56
00000d4e: PUSH1 0x04
00000d50: DUP3
00000d51: ADD
00000d52: PUSH2 0x00f2
00000d55: JUMP
00000d56: JUMPDEST
00000d57: SUB
00000d58: SWAP1
00000d59: REVERT
00000d5a: JUMPDEST
00000d5b: PUSH2 0x0d63
00000d5e: SWAP1
00000d5f: PUSH2 0x0c38
00000d62: JUMP
00000d63: JUMPDEST
00000d64: JUMP
00000d65: JUMPDEST
00000d66: PUSH2 0x0d6e
00000d69: PUSH0
00000d6a: PUSH2 0x084a
00000d6d: JUMP
00000d6e: JUMPDEST
00000d6f: PUSH2 0x0d87
00000d72: PUSH2 0x0d81
00000d75: PUSH2 0x0d7c
00000d78: PUSH2 0x0876
00000d7b: JUMP
00000d7c: JUMPDEST
00000d7d: PUSH2 0x03f6
00000d80: JUMP
00000d81: JUMPDEST
00000d82: SWAP2
00000d83: PUSH2 0x03f6
00000d86: JUMP
00000d87: JUMPDEST
00000d88: EQ
00000d89: PUSH2 0x0db8
00000d8c: JUMPI
00000d8d: PUSH2 0x0d9d
00000d90: PUSH2 0x0d97
00000d93: PUSH2 0x0876
00000d96: JUMP
00000d97: JUMPDEST
00000d98: PUSH0
00000d99: PUSH2 0x08bd
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH2 0x0da5
00000da1: PUSH2 0x0e42
00000da4: JUMP
00000da5: JUMPDEST
00000da6: PUSH2 0x0db6
00000da9: PUSH2 0x0db0
00000dac: PUSH2 0x08fc
00000daf: JUMP
00000db0: JUMPDEST
00000db1: PUSH0
00000db2: PUSH2 0x08bd
00000db5: JUMP
00000db6: JUMPDEST
00000db7: JUMP
00000db8: JUMPDEST
00000db9: PUSH0
00000dba: PUSH4 0x08605d77
00000dbf: PUSH1 0xe1
00000dc1: SHL
00000dc2: DUP2
00000dc3: MSTORE
00000dc4: DUP1
00000dc5: PUSH2 0x0dd0
00000dc8: PUSH1 0x04
00000dca: DUP3
00000dcb: ADD
00000dcc: PUSH2 0x00f2
00000dcf: JUMP
00000dd0: JUMPDEST
00000dd1: SUB
00000dd2: SWAP1
00000dd3: REVERT
00000dd4: JUMPDEST
00000dd5: PUSH0
00000dd6: PUSH32 0x45544820666f7277617264000000000000000000000000000000000000000000
00000df7: SWAP2
00000df8: ADD
00000df9: MSTORE
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: PUSH2 0x0e08
00000dff: PUSH1 0x0b
00000e01: PUSH1 0x20
00000e03: SWAP3
00000e04: PUSH2 0x0591
00000e07: JUMP
00000e08: JUMPDEST
00000e09: PUSH2 0x0e11
00000e0c: DUP2
00000e0d: PUSH2 0x0dd4
00000e10: JUMP
00000e11: JUMPDEST
00000e12: ADD
00000e13: SWAP1
00000e14: JUMP
00000e15: JUMPDEST
00000e16: PUSH2 0x0e2a
00000e19: SWAP1
00000e1a: PUSH1 0x20
00000e1c: DUP2
00000e1d: ADD
00000e1e: SWAP1
00000e1f: PUSH0
00000e20: DUP2
00000e21: DUP4
00000e22: SUB
00000e23: SWAP2
00000e24: ADD
00000e25: MSTORE
00000e26: PUSH2 0x0dfb
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: SWAP1
00000e2c: JUMP
00000e2d: JUMPDEST
00000e2e: SWAP2
00000e2f: SWAP1
00000e30: PUSH2 0x0e40
00000e33: SWAP1
00000e34: PUSH0
00000e35: PUSH1 0x20
00000e37: DUP6
00000e38: ADD
00000e39: SWAP5
00000e3a: ADD
00000e3b: SWAP1
00000e3c: PUSH2 0x049a
00000e3f: JUMP
00000e40: JUMPDEST
00000e41: JUMP
00000e42: JUMPDEST
00000e43: PUSH2 0x0e78
00000e46: PUSH0
00000e47: DUP1
00000e48: PUSH2 0x0e51
00000e4b: PUSH1 0x01
00000e4d: PUSH2 0x02ce
00000e50: JUMP
00000e51: JUMPDEST
00000e52: CALLVALUE
00000e53: PUSH2 0x0e5a
00000e56: PUSH2 0x008c
00000e59: JUMP
00000e5a: JUMPDEST
00000e5b: SWAP1
00000e5c: DUP2
00000e5d: PUSH2 0x0e65
00000e60: DUP2
00000e61: PUSH2 0x098c
00000e64: JUMP
00000e65: JUMPDEST
00000e66: SUB
00000e67: SWAP3
00000e68: GAS
00000e69: CALL
00000e6a: PUSH2 0x0e71
00000e6d: PUSH2 0x051e
00000e70: JUMP
00000e71: JUMPDEST
00000e72: POP
00000e73: ISZERO
00000e74: PUSH2 0x0547
00000e77: JUMP
00000e78: JUMPDEST
00000e79: PUSH2 0x0ee9
00000e7c: JUMPI
00000e7d: CALLER
00000e7e: PUSH2 0x0e86
00000e81: ADDRESS
00000e82: PUSH2 0x039d
00000e85: JUMP
00000e86: JUMPDEST
00000e87: PUSH2 0x0e90
00000e8a: PUSH1 0x01
00000e8c: PUSH2 0x02ce
00000e8f: JUMP
00000e90: JUMPDEST
00000e91: SWAP1
00000e92: CALLVALUE
00000e93: SWAP3
00000e94: PUSH2 0x0ee4
00000e97: PUSH2 0x0ed2
00000e9a: PUSH2 0x0ecc
00000e9d: PUSH2 0x0ec6
00000ea0: PUSH32 0x518f6e264ff4f299a58c6e1e9de5a14fac95f0f289b919a1e2cd628d9b6fbde0
00000ec1: SWAP5
00000ec2: PUSH2 0x0b24
00000ec5: JUMP
00000ec6: JUMPDEST
00000ec7: SWAP5
00000ec8: PUSH2 0x0b24
00000ecb: JUMP
00000ecc: JUMPDEST
00000ecd: SWAP5
00000ece: PUSH2 0x0b24
00000ed1: JUMP
00000ed2: JUMPDEST
00000ed3: SWAP5
00000ed4: PUSH2 0x0edb
00000ed7: PUSH2 0x008c
00000eda: JUMP
00000edb: JUMPDEST
00000edc: SWAP2
00000edd: DUP3
00000ede: SWAP2
00000edf: DUP3
00000ee0: PUSH2 0x0e2d
00000ee3: JUMP
00000ee4: JUMPDEST
00000ee5: SUB
00000ee6: SWAP1
00000ee7: LOG4
00000ee8: JUMP
00000ee9: JUMPDEST
00000eea: PUSH2 0x0ef1
00000eed: PUSH2 0x008c
00000ef0: JUMP
00000ef1: JUMPDEST
00000ef2: PUSH4 0x12dfddb3
00000ef7: PUSH1 0xe0
00000ef9: SHL
00000efa: DUP2
00000efb: MSTORE
00000efc: DUP1
00000efd: PUSH2 0x0f08
00000f00: PUSH1 0x04
00000f02: DUP3
00000f03: ADD
00000f04: PUSH2 0x0e15
00000f07: JUMP
00000f08: JUMPDEST
00000f09: SUB
00000f0a: SWAP1
00000f0b: REVERT
00000f0c: JUMPDEST
00000f0d: PUSH2 0x0f14
00000f10: PUSH2 0x0d65
00000f13: JUMP
00000f14: JUMPDEST
00000f15: JUMP
00000f16: INVALID
00000f17: LOG2
00000f18: PUSH5 0x6970667358
00000f1e: UNKNOWN(0x22)
00000f1f: SLT
00000f20: KECCAK256
00000f21: CALLVALUE
00000f22: UNKNOWN(0x0D)
00000f23: UNKNOWN(0xEA)
00000f24: UNKNOWN(0xAA)
00000f25: SWAP16
00000f26: UNKNOWN(0xD4)
00000f27: UNKNOWN(0xE9)
00000f28: UNKNOWN(0xD9)
00000f29: UNKNOWN(0xE2)
00000f2a: CALLDATASIZE
00000f2b: SWAP16
00000f2c: POP
00000f2d: UNKNOWN(0x0E)
00000f2e: UNKNOWN(0xE1)
00000f2f: UNKNOWN(0xF8)
00000f30: DELEGATECALL
00000f31: BLOCKHASH
00000f32: UNKNOWN(0x2C)
00000f33: PUSH21 0x36d2bc7766372c97f8983bf87264736f6c63430008
00000f49: SHR
00000f4a: STOP
00000f4b: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x2ebbb82d6afb1383c457dba89257f8949cf05958113b5be3e453e2a4daaea98e
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 60,
    "trace_id": "0x2ebbb82d6afb1383c457dba89257f8949cf05958113b5be3e453e2a4daaea98e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "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": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f84aa09",
            "selector": "0x8f84aa09",
            "calldata_variants": [
                "0x8f84aa09",
                "0x8f84aa090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x96a4154e",
            "selector": "0x96a4154e",
            "calldata_variants": [
                "0x96a4154e",
                "0x96a4154e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6f9dae1",
            "selector": "0xa6f9dae1",
            "calldata_variants": [
                "0xa6f9dae1",
                "0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3888,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x2804fb6b34b246ce83e19069ab4669a589305d991ec1a910166089a74c756989
call_targets: 0x074d871b9fe90b6f7ec4f923260748e422d68af7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2804fb6b34b246ce83e19069ab4669a589305d991ec1a910166089a74c756989",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x074d871b9fe90b6f7ec4f923260748e422d68af7"
    ],
    "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": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f84aa09",
            "selector": "0x8f84aa09",
            "calldata_variants": [
                "0x8f84aa09",
                "0x8f84aa090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x96a4154e",
            "selector": "0x96a4154e",
            "calldata_variants": [
                "0x96a4154e",
                "0x96a4154e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6f9dae1",
            "selector": "0xa6f9dae1",
            "calldata_variants": [
                "0xa6f9dae1",
                "0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1784,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2619,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3689,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x2804fb6b34b246ce83e19069ab4669a589305d991ec1a910166089a74c756989
call_targets: 0x074d871b9fe90b6f7ec4f923260748e422d68af7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2804fb6b34b246ce83e19069ab4669a589305d991ec1a910166089a74c756989",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x074d871b9fe90b6f7ec4f923260748e422d68af7"
    ],
    "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": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f84aa09",
            "selector": "0x8f84aa09",
            "calldata_variants": [
                "0x8f84aa09",
                "0x8f84aa090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x96a4154e",
            "selector": "0x96a4154e",
            "calldata_variants": [
                "0x96a4154e",
                "0x96a4154e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6f9dae1",
            "selector": "0xa6f9dae1",
            "calldata_variants": [
                "0xa6f9dae1",
                "0xa6f9dae10000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1784,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2619,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3689,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}