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

Analysis Run

019be3d6-84ba-708a-b46d-615fcbb7ed59

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
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 CALL target/value 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
41107 artifact.fetch complete 1 / 3 2 months ago
41108 proxy.resolve complete 1 / 3 2 months ago
41109 tool.cast_disasm complete 1 / 3 2 months ago
41110 analysis.bundle complete 1 / 3 2 months ago
41111 capability.graph complete 1 / 3 2 months ago
41112 detector.run complete 1 / 3 2 months ago
41113 validation.fork complete 1 / 3 2 months ago
41425 report.consolidate complete 1 / 6 2 months ago
41426 tool.slither failed 2 / 2 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-l5vlungx) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-l5vlungx) 'forge' returned non-zero exit code 1 Compiling 7 files with Solc 0.8.22 stdout: Solc 0.8.22 finished in 21.01ms Error: Compiler run failed: stderr: Error (6275): Source "lib/openzeppelin-contracts/contracts/contracts/access/Ownable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx". stderr: ParserError: Source "lib/openzeppelin-contracts/contracts/contracts/access/Ownable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx". stderr: --> src/fees/AugustusFeeVault.sol:5:1: stderr: | stderr: 5 | import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol"; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ stderr: stderr: Error (6275): Source "lib/openzeppelin-contracts/contracts/contracts/utils/Pausable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx". stderr: ParserError: Source "lib/openzeppelin-contracts/contracts/contracts/utils/Pausable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx". stderr: --> src/fees/AugustusFeeVault.sol:6:1: stderr: | stderr: 6 | import { Pausable } from "@openzeppelin/contracts/utils/Pausable.sol"; stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-l5vlungx/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
    stdout_text, stderr_text, result_json = _run_slither(
                                            ~~~~~~~~~~~~^
        workspace,
        ^^^^^^^^^^
    ...<4 lines>...
        target_path=target_path,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
    raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-l5vlungx)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-l5vlungx)
'forge' returned non-zero exit code 1
Compiling 7 files with Solc 0.8.22
stdout: Solc 0.8.22 finished in 21.01ms
Error: Compiler run failed:
stderr: Error (6275): Source "lib/openzeppelin-contracts/contracts/contracts/access/Ownable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx".
stderr: ParserError: Source "lib/openzeppelin-contracts/contracts/contracts/access/Ownable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx".
stderr:  --> src/fees/AugustusFeeVault.sol:5:1:
stderr:   |
stderr: 5 | import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
stderr:   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr: 
stderr: Error (6275): Source "lib/openzeppelin-contracts/contracts/contracts/utils/Pausable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx".
stderr: ParserError: Source "lib/openzeppelin-contracts/contracts/contracts/utils/Pausable.sol" not found: File not found. Searched the following locations: "/tmp/slither-l5vlungx".
stderr:  --> src/fees/AugustusFeeVault.sol:6:1:
stderr:   |
stderr: 6 | import { Pausable } from "@openzeppelin/contracts/utils/Pausable.sol";
stderr:   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Traceback (most recent call last):
  File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
    compilations = compile_all(target, **vars(args))
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
    self._compile(**kwargs)
    ~~~~~~~~~~~~~^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
    self._platform.compile(self, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
    hardhat_like_parsing(
    ~~~~~~~~~~~~~~~~~~~~^
        crytic_compile, str(self._target), build_directory, str(self._project_root)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
    raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-l5vlungx/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
Reviewed first‑party Solidity sources in AUDIT_BUNDLE.txt (AugustusFeeVault and ERC20Utils) and found no exploitable issues in the requested categories within the provided scope.
View stdout
{"no_findings":true,"summary":"Reviewed first‑party Solidity sources in AUDIT_BUNDLE.txt (AugustusFeeVault and ERC20Utils) and found no exploitable issues in the requested categories within the provided scope.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-c_1hly4f
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be493-e60d-7db1-86eb-f26d51fbca2d
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading audit bundle file**
exec
/bin/bash -lc ls in /tmp/codex-c_1hly4f succeeded in 12ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
lib
src
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-c_1hly4f succeeded in 15ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: src/fees/AugustusFeeVault.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.22;

// Contracts
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
import { Pausable } from "@openzeppelin/contracts/utils/Pausable.sol";

// Interfaces
import { IAugustusFeeVault } from "../interfaces/IAugustusFeeVault.sol";
import { IERC20 } from "@openzeppelin/token/ERC20/IERC20.sol";

// Libraries
import { ERC20Utils } from "../libraries/ERC20Utils.sol";



thinking
**Analyzing reentrancy and access control**

I assessed reentrancy risks, confirming that state updates precede external calls, mitigating typical reentrancy via token or ETH transfers despite gas limits. Access control appears enforced through approved caller checks for fee registration and withdrawals limited to msg.sender's own fees, avoiding unauthorized fund diversion.
thinking
**Confirming no exploitable vulnerabilities**

Detailed review found no exploitable issues despite deflationary and fee-on-transfer token nuances, reentrancy considerations, and access controls. Minor quirks like blocking ETH from EOAs and safeTransfer gas limits are intentional design choices, not vulnerabilities.
codex
{"no_findings":true,"summary":"Reviewed first‑party Solidity sources in AUDIT_BUNDLE.txt (AugustusFeeVault and ERC20Utils) and found no exploitable issues in the requested categories within the provided scope.","findings":[]}
tokens used
12,860
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T07:21:43.538210+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 7,
        "import_count": 6,
        "first_party_contracts_count": 3
    },
    "summary": "Reviewed first\u2011party Solidity sources in AUDIT_BUNDLE.txt (AugustusFeeVault and ERC20Utils) and found no exploitable issues in the requested categories within the provided scope.",
    "raw_final": {
        "summary": "Reviewed first\u2011party Solidity sources in AUDIT_BUNDLE.txt (AugustusFeeVault and ERC20Utils) and found no exploitable issues in the requested categories within the provided scope.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
2
Total opcodes
2171
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0022
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0018
00000014: JUMPI
00000015: PUSH0
00000016: DUP1
00000017: REVERT
00000018: JUMPDEST
00000019: PUSH2 0x0020
0000001c: PUSH2 0x1056
0000001f: JUMP
00000020: JUMPDEST
00000021: STOP
00000022: JUMPDEST
00000023: PUSH0
00000024: CALLDATALOAD
00000025: PUSH1 0xe0
00000027: SHR
00000028: DUP1
00000029: PUSH4 0x3ea6f511
0000002e: EQ
0000002f: PUSH2 0x0131
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x45f32b0b
00000039: EQ
0000003a: PUSH2 0x012c
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x5c975abb
00000044: EQ
00000045: PUSH2 0x0127
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x715018a6
0000004f: EQ
00000050: PUSH2 0x0122
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x8da5cb5b
0000005a: EQ
0000005b: PUSH2 0x011d
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x8f79528c
00000065: EQ
00000066: PUSH2 0x0118
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0x9b9ac2cb
00000070: EQ
00000071: PUSH2 0x0113
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0xae11c7f8
0000007b: EQ
0000007c: PUSH2 0x010e
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0xb0a65b17
00000086: EQ
00000087: PUSH2 0x0109
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0xbbedcc40
00000091: EQ
00000092: PUSH2 0x0104
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xd2ea29c0
0000009c: EQ
0000009d: PUSH2 0x00ff
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xd4fac45d
000000a7: EQ
000000a8: PUSH2 0x00fa
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xe20b52d9
000000b2: EQ
000000b3: PUSH2 0x00f5
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xe537348b
000000bd: EQ
000000be: PUSH2 0x00f0
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xf2fde38b
000000c8: EQ
000000c9: PUSH2 0x00eb
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xf89abe8c
000000d3: EQ
000000d4: PUSH2 0x00e6
000000d7: JUMPI
000000d8: PUSH4 0xffcc41ee
000000dd: SUB
000000de: PUSH2 0x000e
000000e1: JUMPI
000000e2: PUSH2 0x0c1d
000000e5: JUMP
000000e6: JUMPDEST
000000e7: PUSH2 0x0bd0
000000ea: JUMP
000000eb: JUMPDEST
000000ec: PUSH2 0x0aee
000000ef: JUMP
000000f0: JUMPDEST
000000f1: PUSH2 0x0a16
000000f4: JUMP
000000f5: JUMPDEST
000000f6: PUSH2 0x09aa
000000f9: JUMP
000000fa: JUMPDEST
000000fb: PUSH2 0x0951
000000fe: JUMP
000000ff: JUMPDEST
00000100: PUSH2 0x0886
00000103: JUMP
00000104: JUMPDEST
00000105: PUSH2 0x0804
00000108: JUMP
00000109: JUMPDEST
0000010a: PUSH2 0x0723
0000010d: JUMP
0000010e: JUMPDEST
0000010f: PUSH2 0x0647
00000112: JUMP
00000113: JUMPDEST
00000114: PUSH2 0x0568
00000117: JUMP
00000118: JUMPDEST
00000119: PUSH2 0x0508
0000011c: JUMP
0000011d: JUMPDEST
0000011e: PUSH2 0x04b8
00000121: JUMP
00000122: JUMPDEST
00000123: PUSH2 0x041e
00000126: JUMP
00000127: JUMPDEST
00000128: PUSH2 0x03dc
0000012b: JUMP
0000012c: JUMPDEST
0000012d: PUSH2 0x02d5
00000130: JUMP
00000131: JUMPDEST
00000132: PUSH2 0x0165
00000135: JUMP
00000136: JUMPDEST
00000137: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000014c: DUP2
0000014d: AND
0000014e: SUB
0000014f: PUSH2 0x0154
00000152: JUMPI
00000153: JUMP
00000154: JUMPDEST
00000155: PUSH0
00000156: DUP1
00000157: REVERT
00000158: JUMPDEST
00000159: CALLDATALOAD
0000015a: SWAP1
0000015b: PUSH2 0x0163
0000015e: DUP3
0000015f: PUSH2 0x0136
00000162: JUMP
00000163: JUMPDEST
00000164: JUMP
00000165: JUMPDEST
00000166: CALLVALUE
00000167: PUSH2 0x0154
0000016a: JUMPI
0000016b: PUSH1 0x20
0000016d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000018e: CALLDATASIZE
0000018f: ADD
00000190: SLT
00000191: PUSH2 0x0154
00000194: JUMPI
00000195: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001aa: PUSH1 0x04
000001ac: CALLDATALOAD
000001ad: PUSH2 0x01b5
000001b0: DUP2
000001b1: PUSH2 0x0136
000001b4: JUMP
000001b5: JUMPDEST
000001b6: AND
000001b7: PUSH0
000001b8: MSTORE
000001b9: PUSH1 0x03
000001bb: PUSH1 0x20
000001bd: MSTORE
000001be: PUSH1 0x20
000001c0: PUSH1 0x40
000001c2: PUSH0
000001c3: KECCAK256
000001c4: SLOAD
000001c5: PUSH1 0x40
000001c7: MLOAD
000001c8: SWAP1
000001c9: DUP2
000001ca: MSTORE
000001cb: RETURN
000001cc: JUMPDEST
000001cd: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000001ee: PUSH0
000001ef: MSTORE
000001f0: PUSH1 0x41
000001f2: PUSH1 0x04
000001f4: MSTORE
000001f5: PUSH1 0x24
000001f7: PUSH0
000001f8: REVERT
000001f9: JUMPDEST
000001fa: PUSH1 0x40
000001fc: MLOAD
000001fd: SWAP1
000001fe: PUSH1 0x60
00000200: DUP3
00000201: ADD
00000202: DUP3
00000203: DUP2
00000204: LT
00000205: PUSH8 0xffffffffffffffff
0000020e: DUP3
0000020f: GT
00000210: OR
00000211: PUSH2 0x0219
00000214: JUMPI
00000215: PUSH1 0x40
00000217: MSTORE
00000218: JUMP
00000219: JUMPDEST
0000021a: PUSH2 0x01cc
0000021d: JUMP
0000021e: JUMPDEST
0000021f: SWAP1
00000220: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000241: PUSH1 0x1f
00000243: PUSH1 0x40
00000245: MLOAD
00000246: SWAP4
00000247: ADD
00000248: AND
00000249: DUP3
0000024a: ADD
0000024b: DUP3
0000024c: DUP2
0000024d: LT
0000024e: PUSH8 0xffffffffffffffff
00000257: DUP3
00000258: GT
00000259: OR
0000025a: PUSH2 0x0219
0000025d: JUMPI
0000025e: PUSH1 0x40
00000260: MSTORE
00000261: JUMP
00000262: JUMPDEST
00000263: PUSH8 0xffffffffffffffff
0000026c: DUP2
0000026d: GT
0000026e: PUSH2 0x0219
00000271: JUMPI
00000272: PUSH1 0x05
00000274: SHL
00000275: PUSH1 0x20
00000277: ADD
00000278: SWAP1
00000279: JUMP
0000027a: JUMPDEST
0000027b: SWAP1
0000027c: DUP1
0000027d: PUSH1 0x1f
0000027f: DUP4
00000280: ADD
00000281: SLT
00000282: ISZERO
00000283: PUSH2 0x0154
00000286: JUMPI
00000287: PUSH1 0x20
00000289: SWAP1
0000028a: DUP3
0000028b: CALLDATALOAD
0000028c: PUSH2 0x029c
0000028f: PUSH2 0x0297
00000292: DUP3
00000293: PUSH2 0x0262
00000296: JUMP
00000297: JUMPDEST
00000298: PUSH2 0x021e
0000029b: JUMP
0000029c: JUMPDEST
0000029d: SWAP4
0000029e: PUSH1 0x20
000002a0: DUP1
000002a1: DUP7
000002a2: DUP5
000002a3: DUP2
000002a4: MSTORE
000002a5: ADD
000002a6: SWAP3
000002a7: PUSH1 0x05
000002a9: SHL
000002aa: DUP3
000002ab: ADD
000002ac: ADD
000002ad: SWAP3
000002ae: DUP4
000002af: GT
000002b0: PUSH2 0x0154
000002b3: JUMPI
000002b4: PUSH1 0x20
000002b6: ADD
000002b7: SWAP1
000002b8: JUMPDEST
000002b9: DUP3
000002ba: DUP3
000002bb: LT
000002bc: PUSH2 0x02c6
000002bf: JUMPI
000002c0: POP
000002c1: POP
000002c2: POP
000002c3: POP
000002c4: SWAP1
000002c5: JUMP
000002c6: JUMPDEST
000002c7: DUP2
000002c8: CALLDATALOAD
000002c9: DUP2
000002ca: MSTORE
000002cb: SWAP1
000002cc: DUP4
000002cd: ADD
000002ce: SWAP1
000002cf: DUP4
000002d0: ADD
000002d1: PUSH2 0x02b8
000002d4: JUMP
000002d5: JUMPDEST
000002d6: CALLVALUE
000002d7: PUSH2 0x0154
000002da: JUMPI
000002db: PUSH1 0x20
000002dd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000002fe: SWAP1
000002ff: PUSH1 0x20
00000301: DUP3
00000302: CALLDATASIZE
00000303: ADD
00000304: SLT
00000305: PUSH2 0x0154
00000308: JUMPI
00000309: PUSH1 0x04
0000030b: CALLDATALOAD
0000030c: SWAP2
0000030d: PUSH8 0xffffffffffffffff
00000316: SWAP1
00000317: DUP2
00000318: DUP5
00000319: GT
0000031a: PUSH2 0x0154
0000031d: JUMPI
0000031e: PUSH1 0x60
00000320: SWAP1
00000321: DUP5
00000322: CALLDATASIZE
00000323: SUB
00000324: ADD
00000325: SLT
00000326: PUSH2 0x0154
00000329: JUMPI
0000032a: PUSH2 0x0331
0000032d: PUSH2 0x01f9
00000330: JUMP
00000331: JUMPDEST
00000332: SWAP2
00000333: DUP4
00000334: PUSH1 0x04
00000336: ADD
00000337: CALLDATALOAD
00000338: DUP3
00000339: DUP2
0000033a: GT
0000033b: PUSH2 0x0154
0000033e: JUMPI
0000033f: DUP5
00000340: ADD
00000341: SWAP1
00000342: CALLDATASIZE
00000343: PUSH1 0x23
00000345: DUP4
00000346: ADD
00000347: SLT
00000348: ISZERO
00000349: PUSH2 0x0154
0000034c: JUMPI
0000034d: PUSH1 0x04
0000034f: DUP3
00000350: ADD
00000351: CALLDATALOAD
00000352: SWAP2
00000353: PUSH2 0x035e
00000356: PUSH2 0x0297
00000359: DUP5
0000035a: PUSH2 0x0262
0000035d: JUMP
0000035e: JUMPDEST
0000035f: SWAP3
00000360: PUSH1 0x24
00000362: PUSH1 0x20
00000364: DUP6
00000365: DUP4
00000366: DUP2
00000367: MSTORE
00000368: ADD
00000369: SWAP2
0000036a: PUSH1 0x05
0000036c: SHL
0000036d: DUP4
0000036e: ADD
0000036f: ADD
00000370: SWAP2
00000371: CALLDATASIZE
00000372: DUP4
00000373: GT
00000374: PUSH2 0x0154
00000377: JUMPI
00000378: PUSH1 0x24
0000037a: ADD
0000037b: SWAP1
0000037c: JUMPDEST
0000037d: DUP3
0000037e: DUP3
0000037f: LT
00000380: PUSH2 0x03c3
00000383: JUMPI
00000384: POP
00000385: POP
00000386: POP
00000387: POP
00000388: DUP3
00000389: MSTORE
0000038a: PUSH2 0x0395
0000038d: PUSH1 0x24
0000038f: DUP5
00000390: ADD
00000391: PUSH2 0x0158
00000394: JUMP
00000395: JUMPDEST
00000396: PUSH1 0x20
00000398: DUP4
00000399: ADD
0000039a: MSTORE
0000039b: PUSH1 0x44
0000039d: DUP4
0000039e: ADD
0000039f: CALLDATALOAD
000003a0: SWAP1
000003a1: DUP2
000003a2: GT
000003a3: PUSH2 0x0154
000003a6: JUMPI
000003a7: PUSH2 0x0020
000003aa: SWAP3
000003ab: PUSH1 0x04
000003ad: PUSH2 0x03b9
000003b0: SWAP3
000003b1: CALLDATASIZE
000003b2: SWAP3
000003b3: ADD
000003b4: ADD
000003b5: PUSH2 0x027a
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH1 0x40
000003bc: DUP3
000003bd: ADD
000003be: MSTORE
000003bf: PUSH2 0x0d4a
000003c2: JUMP
000003c3: JUMPDEST
000003c4: DUP4
000003c5: DUP1
000003c6: SWAP2
000003c7: DUP4
000003c8: CALLDATALOAD
000003c9: PUSH2 0x03d1
000003cc: DUP2
000003cd: PUSH2 0x0136
000003d0: JUMP
000003d1: JUMPDEST
000003d2: DUP2
000003d3: MSTORE
000003d4: ADD
000003d5: SWAP2
000003d6: ADD
000003d7: SWAP1
000003d8: PUSH2 0x037c
000003db: JUMP
000003dc: JUMPDEST
000003dd: CALLVALUE
000003de: PUSH2 0x0154
000003e1: JUMPI
000003e2: PUSH0
000003e3: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000404: CALLDATASIZE
00000405: ADD
00000406: SLT
00000407: PUSH2 0x0154
0000040a: JUMPI
0000040b: PUSH1 0x20
0000040d: PUSH1 0xff
0000040f: PUSH0
00000410: SLOAD
00000411: PUSH1 0xa0
00000413: SHR
00000414: AND
00000415: PUSH1 0x40
00000417: MLOAD
00000418: SWAP1
00000419: ISZERO
0000041a: ISZERO
0000041b: DUP2
0000041c: MSTORE
0000041d: RETURN
0000041e: JUMPDEST
0000041f: CALLVALUE
00000420: PUSH2 0x0154
00000423: JUMPI
00000424: PUSH0
00000425: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000446: CALLDATASIZE
00000447: ADD
00000448: SLT
00000449: PUSH2 0x0154
0000044c: JUMPI
0000044d: PUSH2 0x0454
00000450: PUSH2 0x10ed
00000453: JUMP
00000454: JUMPDEST
00000455: PUSH0
00000456: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000046b: DUP2
0000046c: SLOAD
0000046d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000048e: DUP2
0000048f: AND
00000490: DUP4
00000491: SSTORE
00000492: AND
00000493: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000004b4: DUP3
000004b5: DUP1
000004b6: LOG3
000004b7: STOP
000004b8: JUMPDEST
000004b9: CALLVALUE
000004ba: PUSH2 0x0154
000004bd: JUMPI
000004be: PUSH0
000004bf: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000004e0: CALLDATASIZE
000004e1: ADD
000004e2: SLT
000004e3: PUSH2 0x0154
000004e6: JUMPI
000004e7: PUSH1 0x20
000004e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004fe: PUSH0
000004ff: SLOAD
00000500: AND
00000501: PUSH1 0x40
00000503: MLOAD
00000504: SWAP1
00000505: DUP2
00000506: MSTORE
00000507: RETURN
00000508: JUMPDEST
00000509: CALLVALUE
0000050a: PUSH2 0x0154
0000050d: JUMPI
0000050e: PUSH1 0x60
00000510: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000531: CALLDATASIZE
00000532: ADD
00000533: SLT
00000534: PUSH2 0x0154
00000537: JUMPI
00000538: PUSH1 0x20
0000053a: PUSH2 0x055e
0000053d: PUSH1 0x04
0000053f: CALLDATALOAD
00000540: PUSH2 0x0548
00000543: DUP2
00000544: PUSH2 0x0136
00000547: JUMP
00000548: JUMPDEST
00000549: PUSH1 0x44
0000054b: CALLDATALOAD
0000054c: SWAP1
0000054d: PUSH2 0x0555
00000550: DUP3
00000551: PUSH2 0x0136
00000554: JUMP
00000555: JUMPDEST
00000556: PUSH1 0x24
00000558: CALLDATALOAD
00000559: SWAP1
0000055a: PUSH2 0x0eb1
0000055d: JUMP
0000055e: JUMPDEST
0000055f: PUSH1 0x40
00000561: MLOAD
00000562: SWAP1
00000563: ISZERO
00000564: ISZERO
00000565: DUP2
00000566: MSTORE
00000567: RETURN
00000568: JUMPDEST
00000569: CALLVALUE
0000056a: PUSH2 0x0154
0000056d: JUMPI
0000056e: PUSH1 0x40
00000570: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000591: CALLDATASIZE
00000592: ADD
00000593: SLT
00000594: PUSH2 0x0154
00000597: JUMPI
00000598: PUSH1 0x20
0000059a: PUSH2 0x05f8
0000059d: PUSH1 0x04
0000059f: CALLDATALOAD
000005a0: PUSH2 0x05a8
000005a3: DUP2
000005a4: PUSH2 0x0136
000005a7: JUMP
000005a8: JUMPDEST
000005a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005be: PUSH1 0x24
000005c0: CALLDATALOAD
000005c1: SWAP2
000005c2: PUSH2 0x05ca
000005c5: DUP4
000005c6: PUSH2 0x0136
000005c9: JUMP
000005ca: JUMPDEST
000005cb: AND
000005cc: PUSH0
000005cd: MSTORE
000005ce: PUSH1 0x02
000005d0: DUP4
000005d1: MSTORE
000005d2: PUSH1 0x40
000005d4: PUSH0
000005d5: KECCAK256
000005d6: SWAP1
000005d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ec: AND
000005ed: PUSH0
000005ee: MSTORE
000005ef: PUSH1 0x20
000005f1: MSTORE
000005f2: PUSH1 0x40
000005f4: PUSH0
000005f5: KECCAK256
000005f6: SWAP1
000005f7: JUMP
000005f8: JUMPDEST
000005f9: SLOAD
000005fa: PUSH1 0x40
000005fc: MLOAD
000005fd: SWAP1
000005fe: DUP2
000005ff: MSTORE
00000600: RETURN
00000601: JUMPDEST
00000602: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000623: PUSH1 0x40
00000625: SWAP2
00000626: ADD
00000627: SLT
00000628: PUSH2 0x0154
0000062b: JUMPI
0000062c: PUSH1 0x04
0000062e: CALLDATALOAD
0000062f: PUSH2 0x0637
00000632: DUP2
00000633: PUSH2 0x0136
00000636: JUMP
00000637: JUMPDEST
00000638: SWAP1
00000639: PUSH1 0x24
0000063b: CALLDATALOAD
0000063c: PUSH2 0x0644
0000063f: DUP2
00000640: PUSH2 0x0136
00000643: JUMP
00000644: JUMPDEST
00000645: SWAP1
00000646: JUMP
00000647: JUMPDEST
00000648: CALLVALUE
00000649: PUSH2 0x0154
0000064c: JUMPI
0000064d: PUSH1 0x20
0000064f: PUSH2 0x055e
00000652: PUSH2 0x065a
00000655: CALLDATASIZE
00000656: PUSH2 0x0601
00000659: JUMP
0000065a: JUMPDEST
0000065b: SWAP1
0000065c: PUSH2 0x0f0c
0000065f: JUMP
00000660: JUMPDEST
00000661: SWAP2
00000662: DUP2
00000663: PUSH1 0x1f
00000665: DUP5
00000666: ADD
00000667: SLT
00000668: ISZERO
00000669: PUSH2 0x0154
0000066c: JUMPI
0000066d: DUP3
0000066e: CALLDATALOAD
0000066f: SWAP2
00000670: PUSH8 0xffffffffffffffff
00000679: DUP4
0000067a: GT
0000067b: PUSH2 0x0154
0000067e: JUMPI
0000067f: PUSH1 0x20
00000681: DUP1
00000682: DUP6
00000683: ADD
00000684: SWAP5
00000685: DUP5
00000686: PUSH1 0x05
00000688: SHL
00000689: ADD
0000068a: ADD
0000068b: GT
0000068c: PUSH2 0x0154
0000068f: JUMPI
00000690: JUMP
00000691: JUMPDEST
00000692: PUSH1 0x40
00000694: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000006b5: DUP3
000006b6: ADD
000006b7: SLT
000006b8: PUSH2 0x0154
000006bb: JUMPI
000006bc: PUSH1 0x04
000006be: CALLDATALOAD
000006bf: SWAP1
000006c0: PUSH8 0xffffffffffffffff
000006c9: DUP3
000006ca: GT
000006cb: PUSH2 0x0154
000006ce: JUMPI
000006cf: PUSH2 0x06da
000006d2: SWAP2
000006d3: PUSH1 0x04
000006d5: ADD
000006d6: PUSH2 0x0660
000006d9: JUMP
000006da: JUMPDEST
000006db: SWAP1
000006dc: SWAP2
000006dd: PUSH1 0x24
000006df: CALLDATALOAD
000006e0: PUSH2 0x0644
000006e3: DUP2
000006e4: PUSH2 0x0136
000006e7: JUMP
000006e8: JUMPDEST
000006e9: PUSH1 0x20
000006eb: SWAP1
000006ec: PUSH1 0x20
000006ee: PUSH1 0x40
000006f0: DUP2
000006f1: DUP4
000006f2: ADD
000006f3: SWAP3
000006f4: DUP3
000006f5: DUP2
000006f6: MSTORE
000006f7: DUP6
000006f8: MLOAD
000006f9: DUP1
000006fa: SWAP5
000006fb: MSTORE
000006fc: ADD
000006fd: SWAP4
000006fe: ADD
000006ff: SWAP2
00000700: PUSH0
00000701: JUMPDEST
00000702: DUP3
00000703: DUP2
00000704: LT
00000705: PUSH2 0x070f
00000708: JUMPI
00000709: POP
0000070a: POP
0000070b: POP
0000070c: POP
0000070d: SWAP1
0000070e: JUMP
0000070f: JUMPDEST
00000710: DUP4
00000711: MLOAD
00000712: DUP6
00000713: MSTORE
00000714: SWAP4
00000715: DUP2
00000716: ADD
00000717: SWAP4
00000718: SWAP3
00000719: DUP2
0000071a: ADD
0000071b: SWAP3
0000071c: PUSH1 0x01
0000071e: ADD
0000071f: PUSH2 0x0701
00000722: JUMP
00000723: JUMPDEST
00000724: CALLVALUE
00000725: PUSH2 0x0154
00000728: JUMPI
00000729: PUSH2 0x0731
0000072c: CALLDATASIZE
0000072d: PUSH2 0x0691
00000730: JUMP
00000731: JUMPDEST
00000732: SWAP1
00000733: SWAP2
00000734: PUSH2 0x073f
00000737: PUSH2 0x0297
0000073a: DUP5
0000073b: PUSH2 0x0262
0000073e: JUMP
0000073f: JUMPDEST
00000740: SWAP3
00000741: DUP1
00000742: DUP5
00000743: MSTORE
00000744: PUSH2 0x074c
00000747: DUP2
00000748: PUSH2 0x0262
0000074b: JUMP
0000074c: JUMPDEST
0000074d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000076e: PUSH1 0x20
00000770: SWAP2
00000771: ADD
00000772: CALLDATASIZE
00000773: PUSH1 0x20
00000775: DUP8
00000776: ADD
00000777: CALLDATACOPY
00000778: PUSH0
00000779: JUMPDEST
0000077a: DUP3
0000077b: DUP2
0000077c: LT
0000077d: PUSH2 0x0792
00000780: JUMPI
00000781: PUSH1 0x40
00000783: MLOAD
00000784: DUP1
00000785: PUSH2 0x078e
00000788: DUP9
00000789: DUP3
0000078a: PUSH2 0x06e8
0000078d: JUMP
0000078e: JUMPDEST
0000078f: SUB
00000790: SWAP1
00000791: RETURN
00000792: JUMPDEST
00000793: PUSH1 0x01
00000795: SWAP1
00000796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ab: DUP7
000007ac: AND
000007ad: PUSH0
000007ae: MSTORE
000007af: PUSH1 0x02
000007b1: DUP4
000007b2: MSTORE
000007b3: PUSH2 0x07f2
000007b6: PUSH1 0x40
000007b8: PUSH0
000007b9: KECCAK256
000007ba: PUSH2 0x07c4
000007bd: DUP4
000007be: DUP8
000007bf: DUP10
000007c0: PUSH2 0x0f63
000007c3: JUMP
000007c4: JUMPDEST
000007c5: CALLDATALOAD
000007c6: SWAP1
000007c7: PUSH2 0x07cf
000007ca: DUP3
000007cb: PUSH2 0x0136
000007ce: JUMP
000007cf: JUMPDEST
000007d0: SWAP1
000007d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e6: AND
000007e7: PUSH0
000007e8: MSTORE
000007e9: PUSH1 0x20
000007eb: MSTORE
000007ec: PUSH1 0x40
000007ee: PUSH0
000007ef: KECCAK256
000007f0: SWAP1
000007f1: JUMP
000007f2: JUMPDEST
000007f3: SLOAD
000007f4: PUSH2 0x07fd
000007f7: DUP3
000007f8: DUP10
000007f9: PUSH2 0x0e98
000007fc: JUMP
000007fd: JUMPDEST
000007fe: MSTORE
000007ff: ADD
00000800: PUSH2 0x0779
00000803: JUMP
00000804: JUMPDEST
00000805: CALLVALUE
00000806: PUSH2 0x0154
00000809: JUMPI
0000080a: PUSH2 0x0812
0000080d: CALLDATASIZE
0000080e: PUSH2 0x0691
00000811: JUMP
00000812: JUMPDEST
00000813: PUSH2 0x081d
00000816: SWAP3
00000817: SWAP2
00000818: SWAP3
00000819: PUSH2 0x113d
0000081c: JUMP
0000081d: JUMPDEST
0000081e: PUSH0
0000081f: JUMPDEST
00000820: DUP4
00000821: DUP2
00000822: LT
00000823: PUSH2 0x0831
00000826: JUMPI
00000827: PUSH1 0x20
00000829: PUSH1 0x40
0000082b: MLOAD
0000082c: PUSH1 0x01
0000082e: DUP2
0000082f: MSTORE
00000830: RETURN
00000831: JUMPDEST
00000832: PUSH2 0x084f
00000835: DUP3
00000836: PUSH2 0x0840
00000839: DUP4
0000083a: DUP8
0000083b: DUP8
0000083c: PUSH2 0x0f63
0000083f: JUMP
00000840: JUMPDEST
00000841: CALLDATALOAD
00000842: PUSH2 0x084a
00000845: DUP2
00000846: PUSH2 0x0136
00000849: JUMP
0000084a: JUMPDEST
0000084b: PUSH2 0x0f0c
0000084e: JUMP
0000084f: JUMPDEST
00000850: ISZERO
00000851: PUSH2 0x085c
00000854: JUMPI
00000855: PUSH1 0x01
00000857: ADD
00000858: PUSH2 0x081f
0000085b: JUMP
0000085c: JUMPDEST
0000085d: PUSH1 0x04
0000085f: PUSH1 0x40
00000861: MLOAD
00000862: PUSH32 0x3439313b00000000000000000000000000000000000000000000000000000000
00000883: DUP2
00000884: MSTORE
00000885: REVERT
00000886: JUMPDEST
00000887: CALLVALUE
00000888: PUSH2 0x0154
0000088b: JUMPI
0000088c: PUSH1 0x40
0000088e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000008af: CALLDATASIZE
000008b0: ADD
000008b1: SLT
000008b2: PUSH2 0x0154
000008b5: JUMPI
000008b6: PUSH1 0x04
000008b8: CALLDATALOAD
000008b9: PUSH2 0x08c1
000008bc: DUP2
000008bd: PUSH2 0x0136
000008c0: JUMP
000008c1: JUMPDEST
000008c2: PUSH1 0x24
000008c4: CALLDATALOAD
000008c5: SWAP1
000008c6: DUP2
000008c7: ISZERO
000008c8: ISZERO
000008c9: DUP1
000008ca: SWAP3
000008cb: SUB
000008cc: PUSH2 0x0154
000008cf: JUMPI
000008d0: PUSH1 0x20
000008d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008e7: PUSH32 0x6e22534cd7ba9ac690c8291d348b7cd994a6753f153ed57cd0a24dd720ae2d04
00000908: SWAP3
00000909: PUSH2 0x0910
0000090c: PUSH2 0x10ed
0000090f: JUMP
00000910: JUMPDEST
00000911: AND
00000912: SWAP3
00000913: DUP4
00000914: PUSH0
00000915: MSTORE
00000916: PUSH1 0x01
00000918: DUP3
00000919: MSTORE
0000091a: PUSH1 0x40
0000091c: PUSH0
0000091d: KECCAK256
0000091e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000093f: DUP2
00000940: SLOAD
00000941: AND
00000942: PUSH1 0xff
00000944: DUP4
00000945: AND
00000946: OR
00000947: SWAP1
00000948: SSTORE
00000949: PUSH1 0x40
0000094b: MLOAD
0000094c: SWAP1
0000094d: DUP2
0000094e: MSTORE
0000094f: LOG2
00000950: STOP
00000951: JUMPDEST
00000952: CALLVALUE
00000953: PUSH2 0x0154
00000956: JUMPI
00000957: PUSH1 0x20
00000959: PUSH2 0x05f8
0000095c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000971: PUSH2 0x0979
00000974: CALLDATASIZE
00000975: PUSH2 0x0601
00000978: JUMP
00000979: JUMPDEST
0000097a: SWAP2
0000097b: SWAP1
0000097c: SWAP2
0000097d: AND
0000097e: PUSH0
0000097f: MSTORE
00000980: PUSH1 0x02
00000982: DUP4
00000983: MSTORE
00000984: PUSH1 0x40
00000986: PUSH0
00000987: KECCAK256
00000988: SWAP1
00000989: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000099e: AND
0000099f: PUSH0
000009a0: MSTORE
000009a1: PUSH1 0x20
000009a3: MSTORE
000009a4: PUSH1 0x40
000009a6: PUSH0
000009a7: KECCAK256
000009a8: SWAP1
000009a9: JUMP
000009aa: JUMPDEST
000009ab: CALLVALUE
000009ac: PUSH2 0x0154
000009af: JUMPI
000009b0: PUSH1 0x20
000009b2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000009d3: CALLDATASIZE
000009d4: ADD
000009d5: SLT
000009d6: PUSH2 0x0154
000009d9: JUMPI
000009da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ef: PUSH1 0x04
000009f1: CALLDATALOAD
000009f2: PUSH2 0x09fa
000009f5: DUP2
000009f6: PUSH2 0x0136
000009f9: JUMP
000009fa: JUMPDEST
000009fb: AND
000009fc: PUSH0
000009fd: MSTORE
000009fe: PUSH1 0x01
00000a00: PUSH1 0x20
00000a02: MSTORE
00000a03: PUSH1 0x20
00000a05: PUSH1 0xff
00000a07: PUSH1 0x40
00000a09: PUSH0
00000a0a: KECCAK256
00000a0b: SLOAD
00000a0c: AND
00000a0d: PUSH1 0x40
00000a0f: MLOAD
00000a10: SWAP1
00000a11: ISZERO
00000a12: ISZERO
00000a13: DUP2
00000a14: MSTORE
00000a15: RETURN
00000a16: JUMPDEST
00000a17: CALLVALUE
00000a18: PUSH2 0x0154
00000a1b: JUMPI
00000a1c: PUSH1 0x20
00000a1e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000a3f: CALLDATASIZE
00000a40: ADD
00000a41: SLT
00000a42: PUSH2 0x0154
00000a45: JUMPI
00000a46: PUSH1 0x04
00000a48: CALLDATALOAD
00000a49: DUP1
00000a4a: ISZERO
00000a4b: ISZERO
00000a4c: DUP2
00000a4d: SUB
00000a4e: PUSH2 0x0154
00000a51: JUMPI
00000a52: PUSH2 0x0a59
00000a55: PUSH2 0x10ed
00000a58: JUMP
00000a59: JUMPDEST
00000a5a: ISZERO
00000a5b: PUSH2 0x0a66
00000a5e: JUMPI
00000a5f: PUSH2 0x0020
00000a62: PUSH2 0x1316
00000a65: JUMP
00000a66: JUMPDEST
00000a67: PUSH0
00000a68: SLOAD
00000a69: PUSH1 0xff
00000a6b: DUP2
00000a6c: PUSH1 0xa0
00000a6e: SHR
00000a6f: AND
00000a70: ISZERO
00000a71: PUSH2 0x0ac4
00000a74: JUMPI
00000a75: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00000a96: AND
00000a97: PUSH0
00000a98: SSTORE
00000a99: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00000aba: PUSH1 0x20
00000abc: PUSH1 0x40
00000abe: MLOAD
00000abf: CALLER
00000ac0: DUP2
00000ac1: MSTORE
00000ac2: LOG1
00000ac3: STOP
00000ac4: JUMPDEST
00000ac5: PUSH1 0x04
00000ac7: PUSH1 0x40
00000ac9: MLOAD
00000aca: PUSH32 0x8dfc202b00000000000000000000000000000000000000000000000000000000
00000aeb: DUP2
00000aec: MSTORE
00000aed: REVERT
00000aee: JUMPDEST
00000aef: CALLVALUE
00000af0: PUSH2 0x0154
00000af3: JUMPI
00000af4: PUSH1 0x20
00000af6: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000b17: CALLDATASIZE
00000b18: ADD
00000b19: SLT
00000b1a: PUSH2 0x0154
00000b1d: JUMPI
00000b1e: PUSH1 0x04
00000b20: CALLDATALOAD
00000b21: PUSH2 0x0b29
00000b24: DUP2
00000b25: PUSH2 0x0136
00000b28: JUMP
00000b29: JUMPDEST
00000b2a: PUSH2 0x0b31
00000b2d: PUSH2 0x10ed
00000b30: JUMP
00000b31: JUMPDEST
00000b32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b47: DUP1
00000b48: SWAP2
00000b49: AND
00000b4a: SWAP1
00000b4b: DUP2
00000b4c: ISZERO
00000b4d: PUSH2 0x0ba0
00000b50: JUMPI
00000b51: PUSH0
00000b52: SLOAD
00000b53: DUP3
00000b54: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000b75: DUP3
00000b76: AND
00000b77: OR
00000b78: PUSH0
00000b79: SSTORE
00000b7a: AND
00000b7b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000b9c: PUSH0
00000b9d: DUP1
00000b9e: LOG3
00000b9f: STOP
00000ba0: JUMPDEST
00000ba1: PUSH1 0x24
00000ba3: PUSH1 0x40
00000ba5: MLOAD
00000ba6: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
00000bc7: DUP2
00000bc8: MSTORE
00000bc9: PUSH0
00000bca: PUSH1 0x04
00000bcc: DUP3
00000bcd: ADD
00000bce: MSTORE
00000bcf: REVERT
00000bd0: JUMPDEST
00000bd1: CALLVALUE
00000bd2: PUSH2 0x0154
00000bd5: JUMPI
00000bd6: PUSH1 0x20
00000bd8: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000bf9: CALLDATASIZE
00000bfa: ADD
00000bfb: SLT
00000bfc: PUSH2 0x0154
00000bff: JUMPI
00000c00: PUSH1 0x20
00000c02: PUSH2 0x0c15
00000c05: PUSH1 0x04
00000c07: CALLDATALOAD
00000c08: PUSH2 0x0c10
00000c0b: DUP2
00000c0c: PUSH2 0x0136
00000c0f: JUMP
00000c10: JUMPDEST
00000c11: PUSH2 0x0fa0
00000c14: JUMP
00000c15: JUMPDEST
00000c16: PUSH1 0x40
00000c18: MLOAD
00000c19: SWAP1
00000c1a: DUP2
00000c1b: MSTORE
00000c1c: RETURN
00000c1d: JUMPDEST
00000c1e: CALLVALUE
00000c1f: PUSH2 0x0154
00000c22: JUMPI
00000c23: PUSH1 0x60
00000c25: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000c46: CALLDATASIZE
00000c47: ADD
00000c48: SLT
00000c49: PUSH2 0x0154
00000c4c: JUMPI
00000c4d: PUSH1 0x04
00000c4f: PUSH8 0xffffffffffffffff
00000c58: DUP2
00000c59: CALLDATALOAD
00000c5a: DUP2
00000c5b: DUP2
00000c5c: GT
00000c5d: PUSH2 0x0154
00000c60: JUMPI
00000c61: PUSH2 0x0c6e
00000c64: SWAP1
00000c65: CALLDATASIZE
00000c66: SWAP1
00000c67: PUSH1 0x04
00000c69: ADD
00000c6a: PUSH2 0x0660
00000c6d: JUMP
00000c6e: JUMPDEST
00000c6f: SWAP2
00000c70: PUSH1 0x24
00000c72: CALLDATALOAD
00000c73: SWAP1
00000c74: DUP2
00000c75: GT
00000c76: PUSH2 0x0154
00000c79: JUMPI
00000c7a: PUSH2 0x0c87
00000c7d: SWAP1
00000c7e: CALLDATASIZE
00000c7f: SWAP1
00000c80: PUSH1 0x04
00000c82: ADD
00000c83: PUSH2 0x0660
00000c86: JUMP
00000c87: JUMPDEST
00000c88: SWAP1
00000c89: PUSH1 0x44
00000c8b: CALLDATALOAD
00000c8c: SWAP1
00000c8d: PUSH2 0x0c95
00000c90: DUP3
00000c91: PUSH2 0x0136
00000c94: JUMP
00000c95: JUMPDEST
00000c96: PUSH2 0x0c9d
00000c99: PUSH2 0x113d
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: DUP3
00000c9f: DUP6
00000ca0: SUB
00000ca1: PUSH2 0x0d20
00000ca4: JUMPI
00000ca5: PUSH0
00000ca6: JUMPDEST
00000ca7: DUP6
00000ca8: DUP2
00000ca9: LT
00000caa: PUSH2 0x0cb9
00000cad: JUMPI
00000cae: PUSH1 0x40
00000cb0: MLOAD
00000cb1: PUSH1 0x01
00000cb3: DUP2
00000cb4: MSTORE
00000cb5: PUSH1 0x20
00000cb7: SWAP1
00000cb8: RETURN
00000cb9: JUMPDEST
00000cba: PUSH2 0x0ceb
00000cbd: PUSH2 0x0ce7
00000cc0: DUP5
00000cc1: PUSH2 0x0ccb
00000cc4: DUP5
00000cc5: DUP11
00000cc6: DUP11
00000cc7: PUSH2 0x0f63
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: CALLDATALOAD
00000ccd: PUSH2 0x0cd5
00000cd0: DUP2
00000cd1: PUSH2 0x0136
00000cd4: JUMP
00000cd5: JUMPDEST
00000cd6: PUSH2 0x0ce0
00000cd9: DUP6
00000cda: DUP10
00000cdb: DUP9
00000cdc: PUSH2 0x0f63
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: CALLDATALOAD
00000ce2: SWAP1
00000ce3: PUSH2 0x0eb1
00000ce6: JUMP
00000ce7: JUMPDEST
00000ce8: ISZERO
00000ce9: SWAP1
00000cea: JUMP
00000ceb: JUMPDEST
00000cec: PUSH2 0x0cf7
00000cef: JUMPI
00000cf0: PUSH1 0x01
00000cf2: ADD
00000cf3: PUSH2 0x0ca6
00000cf6: JUMP
00000cf7: JUMPDEST
00000cf8: DUP7
00000cf9: PUSH1 0x40
00000cfb: MLOAD
00000cfc: PUSH32 0x3439313b00000000000000000000000000000000000000000000000000000000
00000d1d: DUP2
00000d1e: MSTORE
00000d1f: REVERT
00000d20: JUMPDEST
00000d21: PUSH1 0x04
00000d23: PUSH1 0x40
00000d25: MLOAD
00000d26: PUSH32 0xc0375efc00000000000000000000000000000000000000000000000000000000
00000d47: DUP2
00000d48: MSTORE
00000d49: REVERT
00000d4a: JUMPDEST
00000d4b: CALLER
00000d4c: PUSH0
00000d4d: MSTORE
00000d4e: PUSH1 0x01
00000d50: SWAP1
00000d51: PUSH1 0x01
00000d53: PUSH1 0x20
00000d55: MSTORE
00000d56: PUSH1 0xff
00000d58: PUSH1 0x40
00000d5a: PUSH0
00000d5b: KECCAK256
00000d5c: SLOAD
00000d5d: AND
00000d5e: ISZERO
00000d5f: PUSH2 0x0e41
00000d62: JUMPI
00000d63: DUP1
00000d64: MLOAD
00000d65: SWAP1
00000d66: PUSH1 0x40
00000d68: PUSH2 0x0d88
00000d6b: PUSH1 0x20
00000d6d: DUP4
00000d6e: ADD
00000d6f: MLOAD
00000d70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d85: AND
00000d86: SWAP1
00000d87: JUMP
00000d88: JUMPDEST
00000d89: SWAP2
00000d8a: ADD
00000d8b: MLOAD
00000d8c: SWAP1
00000d8d: DUP3
00000d8e: MLOAD
00000d8f: DUP3
00000d90: MLOAD
00000d91: SUB
00000d92: PUSH2 0x0d20
00000d95: JUMPI
00000d96: PUSH0
00000d97: SWAP3
00000d98: DUP5
00000d99: JUMPDEST
00000d9a: PUSH2 0x0da5
00000d9d: JUMPI
00000d9e: JUMPDEST
00000d9f: POP
00000da0: POP
00000da1: POP
00000da2: POP
00000da3: POP
00000da4: JUMP
00000da5: JUMPDEST
00000da6: DUP1
00000da7: MLOAD
00000da8: DUP5
00000da9: LT
00000daa: ISZERO
00000dab: PUSH2 0x0e3c
00000dae: JUMPI
00000daf: DUP5
00000db0: DUP5
00000db1: PUSH2 0x0dbb
00000db4: DUP3
00000db5: SWAP7
00000db6: DUP7
00000db7: PUSH2 0x0e98
00000dba: JUMP
00000dbb: JUMPDEST
00000dbc: MLOAD
00000dbd: ISZERO
00000dbe: ISZERO
00000dbf: DUP1
00000dc0: PUSH2 0x0e11
00000dc3: JUMPI
00000dc4: JUMPDEST
00000dc5: PUSH2 0x0dd0
00000dc8: JUMPI
00000dc9: JUMPDEST
00000dca: ADD
00000dcb: SWAP4
00000dcc: PUSH2 0x0d99
00000dcf: JUMP
00000dd0: JUMPDEST
00000dd1: PUSH2 0x0e0c
00000dd4: PUSH2 0x0dfa
00000dd7: PUSH2 0x0de0
00000dda: DUP4
00000ddb: DUP7
00000ddc: PUSH2 0x0e98
00000ddf: JUMP
00000de0: JUMPDEST
00000de1: MLOAD
00000de2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000df7: AND
00000df8: SWAP1
00000df9: JUMP
00000dfa: JUMPDEST
00000dfb: DUP6
00000dfc: PUSH2 0x0e05
00000dff: DUP5
00000e00: DUP10
00000e01: PUSH2 0x0e98
00000e04: JUMP
00000e05: JUMPDEST
00000e06: MLOAD
00000e07: SWAP2
00000e08: PUSH2 0x105f
00000e0b: JUMP
00000e0c: JUMPDEST
00000e0d: PUSH2 0x0dc9
00000e10: JUMP
00000e11: JUMPDEST
00000e12: POP
00000e13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e28: PUSH2 0x0e34
00000e2b: PUSH2 0x0de0
00000e2e: DUP4
00000e2f: DUP7
00000e30: PUSH2 0x0e98
00000e33: JUMP
00000e34: JUMPDEST
00000e35: AND
00000e36: ISZERO
00000e37: ISZERO
00000e38: PUSH2 0x0dc4
00000e3b: JUMP
00000e3c: JUMPDEST
00000e3d: PUSH2 0x0d9e
00000e40: JUMP
00000e41: JUMPDEST
00000e42: PUSH1 0x04
00000e44: PUSH1 0x40
00000e46: MLOAD
00000e47: PUSH32 0x5c427cd900000000000000000000000000000000000000000000000000000000
00000e68: DUP2
00000e69: MSTORE
00000e6a: REVERT
00000e6b: JUMPDEST
00000e6c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000e8d: PUSH0
00000e8e: MSTORE
00000e8f: PUSH1 0x32
00000e91: PUSH1 0x04
00000e93: MSTORE
00000e94: PUSH1 0x24
00000e96: PUSH0
00000e97: REVERT
00000e98: JUMPDEST
00000e99: DUP1
00000e9a: MLOAD
00000e9b: DUP3
00000e9c: LT
00000e9d: ISZERO
00000e9e: PUSH2 0x0eac
00000ea1: JUMPI
00000ea2: PUSH1 0x20
00000ea4: SWAP2
00000ea5: PUSH1 0x05
00000ea7: SHL
00000ea8: ADD
00000ea9: ADD
00000eaa: SWAP1
00000eab: JUMP
00000eac: JUMPDEST
00000ead: PUSH2 0x0e6b
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: DUP2
00000eb3: ISZERO
00000eb4: PUSH2 0x0ee2
00000eb7: JUMPI
00000eb8: PUSH2 0x0ecb
00000ebb: PUSH2 0x0edc
00000ebe: SWAP4
00000ebf: PUSH2 0x0ec6
00000ec2: PUSH2 0x113d
00000ec5: JUMP
00000ec6: JUMPDEST
00000ec7: PUSH2 0x1175
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: SWAP1
00000ecd: PUSH2 0x0ed7
00000ed0: DUP4
00000ed1: CALLER
00000ed2: DUP4
00000ed3: PUSH2 0x1199
00000ed6: JUMP
00000ed7: JUMPDEST
00000ed8: PUSH2 0x1248
00000edb: JUMP
00000edc: JUMPDEST
00000edd: POP
00000ede: PUSH1 0x01
00000ee0: SWAP1
00000ee1: JUMP
00000ee2: JUMPDEST
00000ee3: PUSH1 0x04
00000ee5: PUSH1 0x40
00000ee7: MLOAD
00000ee8: PUSH32 0xdb73cdf000000000000000000000000000000000000000000000000000000000
00000f09: DUP2
00000f0a: MSTORE
00000f0b: REVERT
00000f0c: JUMPDEST
00000f0d: SWAP1
00000f0e: PUSH2 0x0f19
00000f11: SWAP1
00000f12: PUSH2 0x0ec6
00000f15: PUSH2 0x113d
00000f18: JUMP
00000f19: JUMPDEST
00000f1a: CALLER
00000f1b: PUSH0
00000f1c: MSTORE
00000f1d: PUSH1 0x02
00000f1f: PUSH1 0x20
00000f21: MSTORE
00000f22: PUSH2 0x0f4c
00000f25: DUP3
00000f26: PUSH1 0x40
00000f28: PUSH0
00000f29: KECCAK256
00000f2a: SWAP1
00000f2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f40: AND
00000f41: PUSH0
00000f42: MSTORE
00000f43: PUSH1 0x20
00000f45: MSTORE
00000f46: PUSH1 0x40
00000f48: PUSH0
00000f49: KECCAK256
00000f4a: SWAP1
00000f4b: JUMP
00000f4c: JUMPDEST
00000f4d: SLOAD
00000f4e: SWAP1
00000f4f: DUP2
00000f50: ISZERO
00000f51: PUSH2 0x0ee2
00000f54: JUMPI
00000f55: PUSH2 0x0edc
00000f58: SWAP3
00000f59: PUSH2 0x0ed7
00000f5c: DUP4
00000f5d: CALLER
00000f5e: DUP4
00000f5f: PUSH2 0x1199
00000f62: JUMP
00000f63: JUMPDEST
00000f64: SWAP2
00000f65: SWAP1
00000f66: DUP2
00000f67: LT
00000f68: ISZERO
00000f69: PUSH2 0x0eac
00000f6c: JUMPI
00000f6d: PUSH1 0x05
00000f6f: SHL
00000f70: ADD
00000f71: SWAP1
00000f72: JUMP
00000f73: JUMPDEST
00000f74: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000f95: PUSH0
00000f96: MSTORE
00000f97: PUSH1 0x11
00000f99: PUSH1 0x04
00000f9b: MSTORE
00000f9c: PUSH1 0x24
00000f9e: PUSH0
00000f9f: REVERT
00000fa0: JUMPDEST
00000fa1: SWAP1
00000fa2: PUSH0
00000fa3: SWAP2
00000fa4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fb9: DUP2
00000fba: AND
00000fbb: PUSH0
00000fbc: MSTORE
00000fbd: PUSH1 0x03
00000fbf: PUSH1 0x20
00000fc1: MSTORE
00000fc2: PUSH1 0x40
00000fc4: PUSH0
00000fc5: KECCAK256
00000fc6: SLOAD
00000fc7: PUSH0
00000fc8: SWAP2
00000fc9: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000fde: DUP2
00000fdf: EQ
00000fe0: PUSH1 0x01
00000fe2: EQ
00000fe3: PUSH2 0x104d
00000fe6: JUMPI
00000fe7: PUSH1 0x20
00000fe9: PUSH1 0x24
00000feb: SWAP2
00000fec: PUSH1 0x40
00000fee: MLOAD
00000fef: SWAP3
00000ff0: DUP4
00000ff1: DUP1
00000ff2: SWAP3
00000ff3: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001014: DUP3
00001015: MSTORE
00001016: ADDRESS
00001017: PUSH1 0x04
00001019: DUP4
0000101a: ADD
0000101b: MSTORE
0000101c: GAS
0000101d: STATICCALL
0000101e: PUSH2 0x1044
00001021: JUMPI
00001022: JUMPDEST
00001023: POP
00001024: JUMPDEST
00001025: DUP1
00001026: DUP3
00001027: GT
00001028: PUSH2 0x102f
0000102b: JUMPI
0000102c: POP
0000102d: POP
0000102e: JUMP
0000102f: JUMPDEST
00001030: SWAP1
00001031: DUP1
00001032: SWAP3
00001033: SWAP4
00001034: POP
00001035: SUB
00001036: SWAP1
00001037: DUP2
00001038: GT
00001039: PUSH2 0x103f
0000103c: JUMPI
0000103d: SWAP1
0000103e: JUMP
0000103f: JUMPDEST
00001040: PUSH2 0x0f73
00001043: JUMP
00001044: JUMPDEST
00001045: MLOAD
00001046: SWAP2
00001047: POP
00001048: PUSH0
00001049: PUSH2 0x1022
0000104c: JUMP
0000104d: JUMPDEST
0000104e: POP
0000104f: SELFBALANCE
00001050: SWAP2
00001051: POP
00001052: PUSH2 0x1024
00001055: JUMP
00001056: JUMPDEST
00001057: CALLER
00001058: EXTCODESIZE
00001059: ISZERO
0000105a: PUSH2 0x0154
0000105d: JUMPI
0000105e: JUMP
0000105f: JUMPDEST
00001060: SWAP1
00001061: PUSH2 0x1069
00001064: DUP2
00001065: PUSH2 0x0fa0
00001068: JUMP
00001069: JUMPDEST
0000106a: DUP1
0000106b: DUP5
0000106c: GT
0000106d: PUSH2 0x10e5
00001070: JUMPI
00001071: JUMPDEST
00001072: POP
00001073: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001088: DUP1
00001089: SWAP3
0000108a: AND
0000108b: PUSH0
0000108c: MSTORE
0000108d: PUSH1 0x02
0000108f: PUSH1 0x20
00001091: MSTORE
00001092: PUSH2 0x10bc
00001095: DUP2
00001096: PUSH1 0x40
00001098: PUSH0
00001099: KECCAK256
0000109a: SWAP1
0000109b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b0: AND
000010b1: PUSH0
000010b2: MSTORE
000010b3: PUSH1 0x20
000010b5: MSTORE
000010b6: PUSH1 0x40
000010b8: PUSH0
000010b9: KECCAK256
000010ba: SWAP1
000010bb: JUMP
000010bc: JUMPDEST
000010bd: DUP1
000010be: SLOAD
000010bf: SWAP1
000010c0: DUP5
000010c1: DUP3
000010c2: ADD
000010c3: DUP1
000010c4: SWAP3
000010c5: GT
000010c6: PUSH2 0x103f
000010c9: JUMPI
000010ca: SSTORE
000010cb: AND
000010cc: PUSH0
000010cd: MSTORE
000010ce: PUSH1 0x03
000010d0: PUSH1 0x20
000010d2: MSTORE
000010d3: PUSH1 0x40
000010d5: PUSH0
000010d6: KECCAK256
000010d7: DUP1
000010d8: SLOAD
000010d9: SWAP2
000010da: DUP3
000010db: ADD
000010dc: DUP1
000010dd: SWAP3
000010de: GT
000010df: PUSH2 0x103f
000010e2: JUMPI
000010e3: SSTORE
000010e4: JUMP
000010e5: JUMPDEST
000010e6: SWAP3
000010e7: POP
000010e8: PUSH0
000010e9: PUSH2 0x1071
000010ec: JUMP
000010ed: JUMPDEST
000010ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001103: PUSH0
00001104: SLOAD
00001105: AND
00001106: CALLER
00001107: SUB
00001108: PUSH2 0x110d
0000110b: JUMPI
0000110c: JUMP
0000110d: JUMPDEST
0000110e: PUSH1 0x24
00001110: PUSH1 0x40
00001112: MLOAD
00001113: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000
00001134: DUP2
00001135: MSTORE
00001136: CALLER
00001137: PUSH1 0x04
00001139: DUP3
0000113a: ADD
0000113b: MSTORE
0000113c: REVERT
0000113d: JUMPDEST
0000113e: PUSH1 0xff
00001140: PUSH0
00001141: SLOAD
00001142: PUSH1 0xa0
00001144: SHR
00001145: AND
00001146: PUSH2 0x114b
00001149: JUMPI
0000114a: JUMP
0000114b: JUMPDEST
0000114c: PUSH1 0x04
0000114e: PUSH1 0x40
00001150: MLOAD
00001151: PUSH32 0xd93c066500000000000000000000000000000000000000000000000000000000
00001172: DUP2
00001173: MSTORE
00001174: REVERT
00001175: JUMPDEST
00001176: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000118b: DUP2
0000118c: AND
0000118d: ISZERO
0000118e: PUSH2 0x1194
00001191: JUMPI
00001192: SWAP1
00001193: JUMP
00001194: JUMPDEST
00001195: POP
00001196: CALLER
00001197: SWAP1
00001198: JUMP
00001199: JUMPDEST
0000119a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011af: DUP1
000011b0: SWAP3
000011b1: AND
000011b2: SWAP2
000011b3: DUP3
000011b4: PUSH0
000011b5: MSTORE
000011b6: PUSH1 0x02
000011b8: PUSH1 0x20
000011ba: MSTORE
000011bb: PUSH2 0x11e5
000011be: DUP3
000011bf: PUSH1 0x40
000011c1: PUSH0
000011c2: KECCAK256
000011c3: SWAP1
000011c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d9: AND
000011da: PUSH0
000011db: MSTORE
000011dc: PUSH1 0x20
000011de: MSTORE
000011df: PUSH1 0x40
000011e1: PUSH0
000011e2: KECCAK256
000011e3: SWAP1
000011e4: JUMP
000011e5: JUMPDEST
000011e6: SLOAD
000011e7: DUP5
000011e8: GT
000011e9: PUSH2 0x0ee2
000011ec: JUMPI
000011ed: DUP2
000011ee: AND
000011ef: PUSH0
000011f0: MSTORE
000011f1: PUSH1 0x03
000011f3: PUSH1 0x20
000011f5: MSTORE
000011f6: PUSH1 0x40
000011f8: PUSH0
000011f9: KECCAK256
000011fa: SWAP2
000011fb: DUP3
000011fc: SLOAD
000011fd: DUP5
000011fe: DUP2
000011ff: SUB
00001200: SWAP1
00001201: DUP2
00001202: GT
00001203: PUSH2 0x103f
00001206: JUMPI
00001207: PUSH2 0x1239
0000120a: SWAP4
0000120b: SSTORE
0000120c: PUSH0
0000120d: MSTORE
0000120e: PUSH1 0x02
00001210: PUSH1 0x20
00001212: MSTORE
00001213: PUSH1 0x40
00001215: PUSH0
00001216: KECCAK256
00001217: SWAP1
00001218: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000122d: AND
0000122e: PUSH0
0000122f: MSTORE
00001230: PUSH1 0x20
00001232: MSTORE
00001233: PUSH1 0x40
00001235: PUSH0
00001236: KECCAK256
00001237: SWAP1
00001238: JUMP
00001239: JUMPDEST
0000123a: DUP1
0000123b: SLOAD
0000123c: SWAP2
0000123d: DUP3
0000123e: SUB
0000123f: SWAP2
00001240: DUP3
00001241: GT
00001242: PUSH2 0x103f
00001245: JUMPI
00001246: SSTORE
00001247: JUMP
00001248: JUMPDEST
00001249: SWAP3
0000124a: SWAP2
0000124b: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001260: DUP5
00001261: EQ
00001262: PUSH1 0x01
00001264: EQ
00001265: PUSH2 0x1302
00001268: JUMPI
00001269: PUSH1 0x44
0000126b: PUSH1 0x20
0000126d: SWAP3
0000126e: PUSH0
0000126f: SWAP3
00001270: PUSH1 0x40
00001272: MLOAD
00001273: SWAP2
00001274: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00001295: DUP4
00001296: MSTORE
00001297: PUSH1 0x04
00001299: DUP4
0000129a: ADD
0000129b: MSTORE
0000129c: PUSH1 0x24
0000129e: DUP3
0000129f: ADD
000012a0: MSTORE
000012a1: DUP3
000012a2: DUP7
000012a3: GAS
000012a4: CALL
000012a5: SWAP2
000012a6: DUP3
000012a7: PUSH2 0x12dd
000012aa: JUMPI
000012ab: JUMPDEST
000012ac: POP
000012ad: JUMPDEST
000012ae: DUP2
000012af: ISZERO
000012b0: PUSH2 0x12b5
000012b3: JUMPI
000012b4: JUMP
000012b5: JUMPDEST
000012b6: PUSH32 0x90b8ec1800000000000000000000000000000000000000000000000000000000
000012d7: PUSH0
000012d8: MSTORE
000012d9: PUSH1 0x04
000012db: PUSH0
000012dc: REVERT
000012dd: JUMPDEST
000012de: SWAP1
000012df: SWAP2
000012e0: POP
000012e1: RETURNDATASIZE
000012e2: ISZERO
000012e3: PUSH2 0x12f9
000012e6: JUMPI
000012e7: POP
000012e8: PUSH1 0x01
000012ea: PUSH0
000012eb: MLOAD
000012ec: EQ
000012ed: PUSH1 0x1f
000012ef: RETURNDATASIZE
000012f0: GT
000012f1: AND
000012f2: SWAP1
000012f3: JUMPDEST
000012f4: PUSH0
000012f5: PUSH2 0x12ab
000012f8: JUMP
000012f9: JUMPDEST
000012fa: EXTCODESIZE
000012fb: ISZERO
000012fc: ISZERO
000012fd: SWAP1
000012fe: PUSH2 0x12f3
00001301: JUMP
00001302: JUMPDEST
00001303: PUSH0
00001304: DUP1
00001305: SWAP4
00001306: SWAP5
00001307: POP
00001308: DUP1
00001309: SWAP3
0000130a: SWAP2
0000130b: DUP2
0000130c: SWAP3
0000130d: PUSH2 0x2710
00001310: CALL
00001311: SWAP1
00001312: PUSH2 0x12ad
00001315: JUMP
00001316: JUMPDEST
00001317: PUSH2 0x131e
0000131a: PUSH2 0x113d
0000131d: JUMP
0000131e: JUMPDEST
0000131f: PUSH21 0x010000000000000000000000000000000000000000
00001335: PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff
00001356: PUSH0
00001357: SLOAD
00001358: AND
00001359: OR
0000135a: PUSH0
0000135b: SSTORE
0000135c: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
0000137d: PUSH1 0x20
0000137f: PUSH1 0x40
00001381: MLOAD
00001382: CALLER
00001383: DUP2
00001384: MSTORE
00001385: LOG1
00001386: JUMP
00001387: INVALID
00001388: LOG1
00001389: PUSH5 0x736f6c6343
0000138f: STOP
00001390: ADDMOD
00001391: AND
00001392: STOP
00001393: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xd008c7e7a93957ae1179e43fe2e67347b3d15cbfa4711a6e94faf7e43ca65108
call_targets: 0x00700052c0608f670705380a4900e0a8080010cc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd008c7e7a93957ae1179e43fe2e67347b3d15cbfa4711a6e94faf7e43ca65108",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x00700052c0608f670705380a4900e0a8080010cc"
    ],
    "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": "0x3ea6f511",
            "selector": "0x3ea6f511",
            "calldata_variants": [
                "0x3ea6f511",
                "0x3ea6f5110000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x45f32b0b",
            "selector": "0x45f32b0b",
            "calldata_variants": [
                "0x45f32b0b",
                "0x45f32b0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c975abb",
            "selector": "0x5c975abb",
            "calldata_variants": [
                "0x5c975abb",
                "0x5c975abb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f79528c",
            "selector": "0x8f79528c",
            "calldata_variants": [
                "0x8f79528c",
                "0x8f79528c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9b9ac2cb",
            "selector": "0x9b9ac2cb",
            "calldata_variants": [
                "0x9b9ac2cb",
                "0x9b9ac2cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xae11c7f8",
            "selector": "0xae11c7f8",
            "calldata_variants": [
                "0xae11c7f8",
                "0xae11c7f80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4772,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4880,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xd008c7e7a93957ae1179e43fe2e67347b3d15cbfa4711a6e94faf7e43ca65108
call_targets: 0x00700052c0608f670705380a4900e0a8080010cc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd008c7e7a93957ae1179e43fe2e67347b3d15cbfa4711a6e94faf7e43ca65108",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x00700052c0608f670705380a4900e0a8080010cc"
    ],
    "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": "0x3ea6f511",
            "selector": "0x3ea6f511",
            "calldata_variants": [
                "0x3ea6f511",
                "0x3ea6f5110000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x45f32b0b",
            "selector": "0x45f32b0b",
            "calldata_variants": [
                "0x45f32b0b",
                "0x45f32b0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c975abb",
            "selector": "0x5c975abb",
            "calldata_variants": [
                "0x5c975abb",
                "0x5c975abb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f79528c",
            "selector": "0x8f79528c",
            "calldata_variants": [
                "0x8f79528c",
                "0x8f79528c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9b9ac2cb",
            "selector": "0x9b9ac2cb",
            "calldata_variants": [
                "0x9b9ac2cb",
                "0x9b9ac2cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xae11c7f8",
            "selector": "0xae11c7f8",
            "calldata_variants": [
                "0xae11c7f8",
                "0xae11c7f80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4772,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4880,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}