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

Analysis Run

8009e002-f7d1-4869-af2f-fffa4e902b99

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 2:02 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
31646 report.consolidate complete 1 / 1 3 months ago
95299 artifact.fetch failed 1 / 3 1 week ago
95300 tool.cast_disasm complete 1 / 3 1 week ago
95301 analysis.bundle complete 1 / 3 1 week ago
95302 capability.graph complete 1 / 3 1 week ago
95303 detector.run complete 1 / 3 1 week ago
95304 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 concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.
View stderr
[codex:1218112] OpenAI Codex v0.77.0 (research preview)
[codex:1218112] --------
[codex:1218112] workdir: /tmp/codex-multi-634ee9ng
[codex:1218112] model: gpt-5.2-codex
[codex:1218112] provider: openai
[codex:1218112] approval: never
[codex:1218112] sandbox: read-only
[codex:1218112] reasoning effort: xhigh
[codex:1218112] reasoning summaries: auto
[codex:1218112] session id: 019b8be3-741c-7e42-9e3b-b6254daae035
[codex:1218112] --------
[codex:1218112] user
[codex:1218112] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1218112] 
[codex:1218112] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1218112] 
[codex:1218112] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1218112] - Gas inefficiency, code quality, naming, or best practices
[codex:1218112] - Theoretical vulnerabilities without a clear extraction path
[codex:1218112] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1218112] - Front-running unless it enables theft beyond MEV
[codex:1218112] - DoS, griefing, or issues that don't result in attacker profit
[codex:1218112] - Missing events, view function issues, or informational findings
[codex:1218112] 
[codex:1218112] HIGH-VALUE PATTERNS TO HUNT:
[codex:1218112] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1218112] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1218112] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1218112] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1218112] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1218112] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1218112] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1218112] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1218112] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1218112] 
[codex:1218112] For each finding, you MUST provide:
[codex:1218112] 1. Exact file and line numbers of vulnerable code
[codex:1218112] 2. Step-by-step exploit transaction sequence
[codex:1218112] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1218112] 
[codex:1218112] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1218112] 
[codex:1218112] Output MUST be valid JSON matching the provided schema.
[codex:1218112] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1218112] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1218112] mcp startup: no servers
[codex:1218112] 
[codex:1218112] thinking
[codex:1218112] **Starting audit bundle inspection**
[codex:1218112] exec
[codex:1218112] /bin/bash -lc ls in /tmp/codex-multi-634ee9ng succeeded in 5ms:
[codex:1218112] AUDIT_BUNDLE.txt
[codex:1218112] codex-output-schema.json
[codex:1218112] contracts
[codex:1218112] exec
[codex:1218112] /bin/bash -lc 'rg --files' in /tmp/codex-multi-634ee9ng succeeded in 8ms:
[codex:1218112] codex-output-schema.json
[codex:1218112] AUDIT_BUNDLE.txt
[codex:1218112] contracts/src/FlaryTokenSale.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/Pausable.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1218112] contracts/lib/chainlink-brownie-contracts/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1218112] 
[codex:1218112] thinking
[codex:1218112] **Reading AUDIT_BUNDLE.txt**
[codex:1218112] exec
[codex:1218112] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-634ee9ng succeeded in 5ms:
[codex:1218112] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1218112] 
[codex:1218112] ================================================================================
[codex:1218112] FILE: contracts/src/FlaryTokenSale.sol
[codex:1218112] ================================================================================
[codex:1218112] // SPDX-License-Identifier: MIT
[codex:1218112] 
[codex:1218112] pragma solidity 0.8.22;
[codex:1218112] 
[codex:1218112] import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
[codex:1218112] import {Pausable} from "@openzeppelin/contracts/utils/Pausable.sol";
[codex:1218112] import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1218112] import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1218112] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1218112] import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
[codex:1218112] 
[codex:1218112] contract FlaryTokenSale is Ownable, Pausable, ReentrancyGuard {
[codex:1218112]     using SafeERC20 for ERC20;
[codex:1218112] 
[codex:1218112]     ERC20 public usdt;
[codex:1218112] 
[codex:1218112] thinking
[codex:1218112] **Evaluating exploit possibilities in token sale**
[codex:1218112] 
[codex:1218112] I'll carefully analyze the contract for any exploitable paths to extract ETH, USDT, or tokens, focusing on ownership controls, allowance logic, reentrancy risks, and oracle price handling. After considering payment flows, token issuance (or lack thereof), and price feed vulnerabilities, I find no concrete way for an attacker to withdraw funds or gain profit from this contract. I'll prepare a JSON summary reporting no findings following the specified schema.
[codex:1218112] codex
[codex:1218112] {"no_findings":true,"summary":"No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.","findings":[]}
[codex:1218112] tokens used
[codex:1218112] 8,359
[codex:1218112] {"no_findings":true,"summary":"No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T02:02:24.026163+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.",
    "raw_final": {
        "summary": "No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
6
EXT*/BALANCE
2
Total opcodes
2586
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: PUSH2 0x00fa
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x715018a6
00000018: GT
00000019: PUSH2 0x0092
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0x8da5cb5b
00000023: GT
00000024: PUSH2 0x0062
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0x8da5cb5b
0000002e: EQ
0000002f: PUSH2 0x0268
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xa2b40d19
00000039: EQ
0000003a: PUSH2 0x0284
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xd2834ee3
00000044: EQ
00000045: PUSH2 0x02a3
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xf2aa8218
0000004f: EQ
00000050: PUSH2 0x02c2
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xf2fde38b
0000005a: EQ
0000005b: PUSH2 0x02e1
0000005e: JUMPI
0000005f: PUSH0
00000060: DUP1
00000061: REVERT
00000062: JUMPDEST
00000063: DUP1
00000064: PUSH4 0x715018a6
00000069: EQ
0000006a: PUSH2 0x0219
0000006d: JUMPI
0000006e: DUP1
0000006f: PUSH4 0x73d87a3e
00000074: EQ
00000075: PUSH2 0x022d
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0x84276d81
0000007f: EQ
00000080: PUSH2 0x0235
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0x8456cb59
0000008a: EQ
0000008b: PUSH2 0x0254
0000008e: JUMPI
0000008f: PUSH0
00000090: DUP1
00000091: REVERT
00000092: JUMPDEST
00000093: DUP1
00000094: PUSH4 0x3ea521ef
00000099: GT
0000009a: PUSH2 0x00cd
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0x3ea521ef
000000a4: EQ
000000a5: PUSH2 0x01a9
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0x3f4ba83a
000000af: EQ
000000b0: PUSH2 0x01c8
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0x519ee19e
000000ba: EQ
000000bb: PUSH2 0x01dc
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0x5c975abb
000000c5: EQ
000000c6: PUSH2 0x01f1
000000c9: JUMPI
000000ca: PUSH0
000000cb: DUP1
000000cc: REVERT
000000cd: JUMPDEST
000000ce: DUP1
000000cf: PUSH4 0x18c6611f
000000d4: EQ
000000d5: PUSH2 0x00fe
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x20c6a022
000000df: EQ
000000e0: PUSH2 0x011f
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x2f48ab7d
000000ea: EQ
000000eb: PUSH2 0x0147
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x304676df
000000f5: EQ
000000f6: PUSH2 0x017e
000000f9: JUMPI
000000fa: JUMPDEST
000000fb: PUSH0
000000fc: DUP1
000000fd: REVERT
000000fe: JUMPDEST
000000ff: CALLVALUE
00000100: DUP1
00000101: ISZERO
00000102: PUSH2 0x0109
00000105: JUMPI
00000106: PUSH0
00000107: DUP1
00000108: REVERT
00000109: JUMPDEST
0000010a: POP
0000010b: PUSH2 0x011d
0000010e: PUSH2 0x0118
00000111: CALLDATASIZE
00000112: PUSH1 0x04
00000114: PUSH2 0x0c57
00000117: JUMP
00000118: JUMPDEST
00000119: PUSH2 0x0300
0000011c: JUMP
0000011d: JUMPDEST
0000011e: STOP
0000011f: JUMPDEST
00000120: CALLVALUE
00000121: DUP1
00000122: ISZERO
00000123: PUSH2 0x012a
00000126: JUMPI
00000127: PUSH0
00000128: DUP1
00000129: REVERT
0000012a: JUMPDEST
0000012b: POP
0000012c: PUSH2 0x0134
0000012f: PUSH1 0x04
00000131: SLOAD
00000132: DUP2
00000133: JUMP
00000134: JUMPDEST
00000135: PUSH1 0x40
00000137: MLOAD
00000138: SWAP1
00000139: DUP2
0000013a: MSTORE
0000013b: PUSH1 0x20
0000013d: ADD
0000013e: JUMPDEST
0000013f: PUSH1 0x40
00000141: MLOAD
00000142: DUP1
00000143: SWAP2
00000144: SUB
00000145: SWAP1
00000146: RETURN
00000147: JUMPDEST
00000148: CALLVALUE
00000149: DUP1
0000014a: ISZERO
0000014b: PUSH2 0x0152
0000014e: JUMPI
0000014f: PUSH0
00000150: DUP1
00000151: REVERT
00000152: JUMPDEST
00000153: POP
00000154: PUSH1 0x02
00000156: SLOAD
00000157: PUSH2 0x0166
0000015a: SWAP1
0000015b: PUSH1 0x01
0000015d: PUSH1 0x01
0000015f: PUSH1 0xa0
00000161: SHL
00000162: SUB
00000163: AND
00000164: DUP2
00000165: JUMP
00000166: JUMPDEST
00000167: PUSH1 0x40
00000169: MLOAD
0000016a: PUSH1 0x01
0000016c: PUSH1 0x01
0000016e: PUSH1 0xa0
00000170: SHL
00000171: SUB
00000172: SWAP1
00000173: SWAP2
00000174: AND
00000175: DUP2
00000176: MSTORE
00000177: PUSH1 0x20
00000179: ADD
0000017a: PUSH2 0x013e
0000017d: JUMP
0000017e: JUMPDEST
0000017f: CALLVALUE
00000180: DUP1
00000181: ISZERO
00000182: PUSH2 0x0189
00000185: JUMPI
00000186: PUSH0
00000187: DUP1
00000188: REVERT
00000189: JUMPDEST
0000018a: POP
0000018b: PUSH2 0x0134
0000018e: PUSH2 0x0198
00000191: CALLDATASIZE
00000192: PUSH1 0x04
00000194: PUSH2 0x0c6e
00000197: JUMP
00000198: JUMPDEST
00000199: PUSH1 0x06
0000019b: PUSH1 0x20
0000019d: MSTORE
0000019e: PUSH0
0000019f: SWAP1
000001a0: DUP2
000001a1: MSTORE
000001a2: PUSH1 0x40
000001a4: SWAP1
000001a5: KECCAK256
000001a6: SLOAD
000001a7: DUP2
000001a8: JUMP
000001a9: JUMPDEST
000001aa: CALLVALUE
000001ab: DUP1
000001ac: ISZERO
000001ad: PUSH2 0x01b4
000001b0: JUMPI
000001b1: PUSH0
000001b2: DUP1
000001b3: REVERT
000001b4: JUMPDEST
000001b5: POP
000001b6: PUSH2 0x011d
000001b9: PUSH2 0x01c3
000001bc: CALLDATASIZE
000001bd: PUSH1 0x04
000001bf: PUSH2 0x0c57
000001c2: JUMP
000001c3: JUMPDEST
000001c4: PUSH2 0x0385
000001c7: JUMP
000001c8: JUMPDEST
000001c9: CALLVALUE
000001ca: DUP1
000001cb: ISZERO
000001cc: PUSH2 0x01d3
000001cf: JUMPI
000001d0: PUSH0
000001d1: DUP1
000001d2: REVERT
000001d3: JUMPDEST
000001d4: POP
000001d5: PUSH2 0x011d
000001d8: PUSH2 0x03d0
000001db: JUMP
000001dc: JUMPDEST
000001dd: CALLVALUE
000001de: DUP1
000001df: ISZERO
000001e0: PUSH2 0x01e7
000001e3: JUMPI
000001e4: PUSH0
000001e5: DUP1
000001e6: REVERT
000001e7: JUMPDEST
000001e8: POP
000001e9: PUSH2 0x0134
000001ec: PUSH1 0x05
000001ee: SLOAD
000001ef: DUP2
000001f0: JUMP
000001f1: JUMPDEST
000001f2: CALLVALUE
000001f3: DUP1
000001f4: ISZERO
000001f5: PUSH2 0x01fc
000001f8: JUMPI
000001f9: PUSH0
000001fa: DUP1
000001fb: REVERT
000001fc: JUMPDEST
000001fd: POP
000001fe: PUSH0
000001ff: SLOAD
00000200: PUSH1 0x01
00000202: PUSH1 0xa0
00000204: SHL
00000205: SWAP1
00000206: DIV
00000207: PUSH1 0xff
00000209: AND
0000020a: PUSH1 0x40
0000020c: MLOAD
0000020d: SWAP1
0000020e: ISZERO
0000020f: ISZERO
00000210: DUP2
00000211: MSTORE
00000212: PUSH1 0x20
00000214: ADD
00000215: PUSH2 0x013e
00000218: JUMP
00000219: JUMPDEST
0000021a: CALLVALUE
0000021b: DUP1
0000021c: ISZERO
0000021d: PUSH2 0x0224
00000220: JUMPI
00000221: PUSH0
00000222: DUP1
00000223: REVERT
00000224: JUMPDEST
00000225: POP
00000226: PUSH2 0x011d
00000229: PUSH2 0x03ea
0000022c: JUMP
0000022d: JUMPDEST
0000022e: PUSH2 0x011d
00000231: PUSH2 0x03fb
00000234: JUMP
00000235: JUMPDEST
00000236: CALLVALUE
00000237: DUP1
00000238: ISZERO
00000239: PUSH2 0x0240
0000023c: JUMPI
0000023d: PUSH0
0000023e: DUP1
0000023f: REVERT
00000240: JUMPDEST
00000241: POP
00000242: PUSH2 0x011d
00000245: PUSH2 0x024f
00000248: CALLDATASIZE
00000249: PUSH1 0x04
0000024b: PUSH2 0x0c57
0000024e: JUMP
0000024f: JUMPDEST
00000250: PUSH2 0x066a
00000253: JUMP
00000254: JUMPDEST
00000255: CALLVALUE
00000256: DUP1
00000257: ISZERO
00000258: PUSH2 0x025f
0000025b: JUMPI
0000025c: PUSH0
0000025d: DUP1
0000025e: REVERT
0000025f: JUMPDEST
00000260: POP
00000261: PUSH2 0x011d
00000264: PUSH2 0x0735
00000267: JUMP
00000268: JUMPDEST
00000269: CALLVALUE
0000026a: DUP1
0000026b: ISZERO
0000026c: PUSH2 0x0273
0000026f: JUMPI
00000270: PUSH0
00000271: DUP1
00000272: REVERT
00000273: JUMPDEST
00000274: POP
00000275: PUSH0
00000276: SLOAD
00000277: PUSH1 0x01
00000279: PUSH1 0x01
0000027b: PUSH1 0xa0
0000027d: SHL
0000027e: SUB
0000027f: AND
00000280: PUSH2 0x0166
00000283: JUMP
00000284: JUMPDEST
00000285: CALLVALUE
00000286: DUP1
00000287: ISZERO
00000288: PUSH2 0x028f
0000028b: JUMPI
0000028c: PUSH0
0000028d: DUP1
0000028e: REVERT
0000028f: JUMPDEST
00000290: POP
00000291: PUSH2 0x011d
00000294: PUSH2 0x029e
00000297: CALLDATASIZE
00000298: PUSH1 0x04
0000029a: PUSH2 0x0c57
0000029d: JUMP
0000029e: JUMPDEST
0000029f: PUSH2 0x074d
000002a2: JUMP
000002a3: JUMPDEST
000002a4: CALLVALUE
000002a5: DUP1
000002a6: ISZERO
000002a7: PUSH2 0x02ae
000002aa: JUMPI
000002ab: PUSH0
000002ac: DUP1
000002ad: REVERT
000002ae: JUMPDEST
000002af: POP
000002b0: PUSH1 0x03
000002b2: SLOAD
000002b3: PUSH2 0x0166
000002b6: SWAP1
000002b7: PUSH1 0x01
000002b9: PUSH1 0x01
000002bb: PUSH1 0xa0
000002bd: SHL
000002be: SUB
000002bf: AND
000002c0: DUP2
000002c1: JUMP
000002c2: JUMPDEST
000002c3: CALLVALUE
000002c4: DUP1
000002c5: ISZERO
000002c6: PUSH2 0x02cd
000002c9: JUMPI
000002ca: PUSH0
000002cb: DUP1
000002cc: REVERT
000002cd: JUMPDEST
000002ce: POP
000002cf: PUSH2 0x0166
000002d2: PUSH2 0x02dc
000002d5: CALLDATASIZE
000002d6: PUSH1 0x04
000002d8: PUSH2 0x0c57
000002db: JUMP
000002dc: JUMPDEST
000002dd: PUSH2 0x075a
000002e0: JUMP
000002e1: JUMPDEST
000002e2: CALLVALUE
000002e3: DUP1
000002e4: ISZERO
000002e5: PUSH2 0x02ec
000002e8: JUMPI
000002e9: PUSH0
000002ea: DUP1
000002eb: REVERT
000002ec: JUMPDEST
000002ed: POP
000002ee: PUSH2 0x011d
000002f1: PUSH2 0x02fb
000002f4: CALLDATASIZE
000002f5: PUSH1 0x04
000002f7: PUSH2 0x0c6e
000002fa: JUMP
000002fb: JUMPDEST
000002fc: PUSH2 0x0782
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH2 0x0308
00000304: PUSH2 0x07bc
00000307: JUMP
00000308: JUMPDEST
00000309: PUSH1 0x02
0000030b: SLOAD
0000030c: PUSH2 0x0320
0000030f: SWAP1
00000310: PUSH1 0x01
00000312: PUSH1 0x01
00000314: PUSH1 0xa0
00000316: SHL
00000317: SUB
00000318: AND
00000319: CALLER
0000031a: ADDRESS
0000031b: DUP5
0000031c: PUSH2 0x07e6
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH1 0x04
00000323: SLOAD
00000324: PUSH0
00000325: SWAP1
00000326: PUSH2 0x0337
00000329: DUP4
0000032a: PUSH8 0x0de0b6b3a7640000
00000333: PUSH2 0x0ca8
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x0341
0000033b: SWAP2
0000033c: SWAP1
0000033d: PUSH2 0x0cbf
00000340: JUMP
00000341: JUMPDEST
00000342: CALLER
00000343: PUSH0
00000344: SWAP1
00000345: DUP2
00000346: MSTORE
00000347: PUSH1 0x06
00000349: PUSH1 0x20
0000034b: MSTORE
0000034c: PUSH1 0x40
0000034e: DUP2
0000034f: KECCAK256
00000350: DUP1
00000351: SLOAD
00000352: SWAP3
00000353: SWAP4
00000354: POP
00000355: DUP4
00000356: SWAP3
00000357: SWAP1
00000358: SWAP2
00000359: SWAP1
0000035a: PUSH2 0x0364
0000035d: SWAP1
0000035e: DUP5
0000035f: SWAP1
00000360: PUSH2 0x0cde
00000363: JUMP
00000364: JUMPDEST
00000365: SWAP3
00000366: POP
00000367: POP
00000368: DUP2
00000369: SWAP1
0000036a: SSTORE
0000036b: POP
0000036c: DUP1
0000036d: PUSH1 0x05
0000036f: PUSH0
00000370: DUP3
00000371: DUP3
00000372: SLOAD
00000373: PUSH2 0x037c
00000376: SWAP2
00000377: SWAP1
00000378: PUSH2 0x0cde
0000037b: JUMP
0000037c: JUMPDEST
0000037d: SWAP1
0000037e: SWAP2
0000037f: SSTORE
00000380: POP
00000381: POP
00000382: POP
00000383: POP
00000384: JUMP
00000385: JUMPDEST
00000386: PUSH2 0x038d
00000389: PUSH2 0x0853
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH1 0x02
00000390: SLOAD
00000391: PUSH2 0x03a4
00000394: SWAP1
00000395: PUSH1 0x01
00000397: PUSH1 0x01
00000399: PUSH1 0xa0
0000039b: SHL
0000039c: SUB
0000039d: AND
0000039e: ADDRESS
0000039f: DUP4
000003a0: PUSH2 0x087f
000003a3: JUMP
000003a4: JUMPDEST
000003a5: PUSH2 0x03cd
000003a8: ADDRESS
000003a9: PUSH2 0x03b9
000003ac: PUSH0
000003ad: SLOAD
000003ae: PUSH1 0x01
000003b0: PUSH1 0x01
000003b2: PUSH1 0xa0
000003b4: SHL
000003b5: SUB
000003b6: AND
000003b7: SWAP1
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH1 0x02
000003bc: SLOAD
000003bd: PUSH1 0x01
000003bf: PUSH1 0x01
000003c1: PUSH1 0xa0
000003c3: SHL
000003c4: SUB
000003c5: AND
000003c6: SWAP2
000003c7: SWAP1
000003c8: DUP5
000003c9: PUSH2 0x07e6
000003cc: JUMP
000003cd: JUMPDEST
000003ce: POP
000003cf: JUMP
000003d0: JUMPDEST
000003d1: PUSH2 0x03d8
000003d4: PUSH2 0x090e
000003d7: JUMP
000003d8: JUMPDEST
000003d9: PUSH2 0x03e0
000003dc: PUSH2 0x0853
000003df: JUMP
000003e0: JUMPDEST
000003e1: PUSH2 0x03e8
000003e4: PUSH2 0x0937
000003e7: JUMP
000003e8: JUMPDEST
000003e9: JUMP
000003ea: JUMPDEST
000003eb: PUSH2 0x03f2
000003ee: PUSH2 0x0853
000003f1: JUMP
000003f2: JUMPDEST
000003f3: PUSH2 0x03e8
000003f6: PUSH0
000003f7: PUSH2 0x098b
000003fa: JUMP
000003fb: JUMPDEST
000003fc: PUSH2 0x0403
000003ff: PUSH2 0x07bc
00000402: JUMP
00000403: JUMPDEST
00000404: PUSH1 0x07
00000406: DUP1
00000407: SLOAD
00000408: PUSH1 0x01
0000040a: DUP2
0000040b: ADD
0000040c: DUP3
0000040d: SSTORE
0000040e: PUSH0
0000040f: SWAP2
00000410: DUP3
00000411: MSTORE
00000412: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688
00000433: ADD
00000434: DUP1
00000435: SLOAD
00000436: PUSH1 0x01
00000438: PUSH1 0x01
0000043a: PUSH1 0xa0
0000043c: SHL
0000043d: SUB
0000043e: NOT
0000043f: AND
00000440: CALLER
00000441: OR
00000442: SWAP1
00000443: SSTORE
00000444: PUSH1 0x03
00000446: SLOAD
00000447: PUSH1 0x40
00000449: DUP1
0000044a: MLOAD
0000044b: PUSH4 0x3fabe5a3
00000450: PUSH1 0xe2
00000452: SHL
00000453: DUP2
00000454: MSTORE
00000455: SWAP1
00000456: MLOAD
00000457: PUSH1 0x01
00000459: PUSH1 0x01
0000045b: PUSH1 0xa0
0000045d: SHL
0000045e: SUB
0000045f: SWAP3
00000460: SWAP1
00000461: SWAP3
00000462: AND
00000463: SWAP2
00000464: PUSH4 0xfeaf968c
00000469: SWAP2
0000046a: PUSH1 0x04
0000046c: DUP1
0000046d: DUP3
0000046e: ADD
0000046f: SWAP3
00000470: PUSH1 0xa0
00000472: SWAP3
00000473: SWAP1
00000474: SWAP2
00000475: SWAP1
00000476: DUP3
00000477: SWAP1
00000478: SUB
00000479: ADD
0000047a: DUP2
0000047b: DUP7
0000047c: GAS
0000047d: STATICCALL
0000047e: ISZERO
0000047f: DUP1
00000480: ISZERO
00000481: PUSH2 0x048c
00000484: JUMPI
00000485: RETURNDATASIZE
00000486: PUSH0
00000487: DUP1
00000488: RETURNDATACOPY
00000489: RETURNDATASIZE
0000048a: PUSH0
0000048b: REVERT
0000048c: JUMPDEST
0000048d: POP
0000048e: POP
0000048f: POP
00000490: POP
00000491: PUSH1 0x40
00000493: MLOAD
00000494: RETURNDATASIZE
00000495: PUSH1 0x1f
00000497: NOT
00000498: PUSH1 0x1f
0000049a: DUP3
0000049b: ADD
0000049c: AND
0000049d: DUP3
0000049e: ADD
0000049f: DUP1
000004a0: PUSH1 0x40
000004a2: MSTORE
000004a3: POP
000004a4: DUP2
000004a5: ADD
000004a6: SWAP1
000004a7: PUSH2 0x04b0
000004aa: SWAP2
000004ab: SWAP1
000004ac: PUSH2 0x0d0f
000004af: JUMP
000004b0: JUMPDEST
000004b1: POP
000004b2: POP
000004b3: POP
000004b4: SWAP2
000004b5: POP
000004b6: POP
000004b7: PUSH0
000004b8: PUSH1 0x03
000004ba: PUSH0
000004bb: SWAP1
000004bc: SLOAD
000004bd: SWAP1
000004be: PUSH2 0x0100
000004c1: EXP
000004c2: SWAP1
000004c3: DIV
000004c4: PUSH1 0x01
000004c6: PUSH1 0x01
000004c8: PUSH1 0xa0
000004ca: SHL
000004cb: SUB
000004cc: AND
000004cd: PUSH1 0x01
000004cf: PUSH1 0x01
000004d1: PUSH1 0xa0
000004d3: SHL
000004d4: SUB
000004d5: AND
000004d6: PUSH4 0x313ce567
000004db: PUSH1 0x40
000004dd: MLOAD
000004de: DUP2
000004df: PUSH4 0xffffffff
000004e4: AND
000004e5: PUSH1 0xe0
000004e7: SHL
000004e8: DUP2
000004e9: MSTORE
000004ea: PUSH1 0x04
000004ec: ADD
000004ed: PUSH1 0x20
000004ef: PUSH1 0x40
000004f1: MLOAD
000004f2: DUP1
000004f3: DUP4
000004f4: SUB
000004f5: DUP2
000004f6: DUP7
000004f7: GAS
000004f8: STATICCALL
000004f9: ISZERO
000004fa: DUP1
000004fb: ISZERO
000004fc: PUSH2 0x0507
000004ff: JUMPI
00000500: RETURNDATASIZE
00000501: PUSH0
00000502: DUP1
00000503: RETURNDATACOPY
00000504: RETURNDATASIZE
00000505: PUSH0
00000506: REVERT
00000507: JUMPDEST
00000508: POP
00000509: POP
0000050a: POP
0000050b: POP
0000050c: PUSH1 0x40
0000050e: MLOAD
0000050f: RETURNDATASIZE
00000510: PUSH1 0x1f
00000512: NOT
00000513: PUSH1 0x1f
00000515: DUP3
00000516: ADD
00000517: AND
00000518: DUP3
00000519: ADD
0000051a: DUP1
0000051b: PUSH1 0x40
0000051d: MSTORE
0000051e: POP
0000051f: DUP2
00000520: ADD
00000521: SWAP1
00000522: PUSH2 0x052b
00000525: SWAP2
00000526: SWAP1
00000527: PUSH2 0x0d5b
0000052a: JUMP
0000052b: JUMPDEST
0000052c: SWAP1
0000052d: POP
0000052e: PUSH0
0000052f: PUSH1 0x02
00000531: PUSH0
00000532: SWAP1
00000533: SLOAD
00000534: SWAP1
00000535: PUSH2 0x0100
00000538: EXP
00000539: SWAP1
0000053a: DIV
0000053b: PUSH1 0x01
0000053d: PUSH1 0x01
0000053f: PUSH1 0xa0
00000541: SHL
00000542: SUB
00000543: AND
00000544: PUSH1 0x01
00000546: PUSH1 0x01
00000548: PUSH1 0xa0
0000054a: SHL
0000054b: SUB
0000054c: AND
0000054d: PUSH4 0x313ce567
00000552: PUSH1 0x40
00000554: MLOAD
00000555: DUP2
00000556: PUSH4 0xffffffff
0000055b: AND
0000055c: PUSH1 0xe0
0000055e: SHL
0000055f: DUP2
00000560: MSTORE
00000561: PUSH1 0x04
00000563: ADD
00000564: PUSH1 0x20
00000566: PUSH1 0x40
00000568: MLOAD
00000569: DUP1
0000056a: DUP4
0000056b: SUB
0000056c: DUP2
0000056d: DUP7
0000056e: GAS
0000056f: STATICCALL
00000570: ISZERO
00000571: DUP1
00000572: ISZERO
00000573: PUSH2 0x057e
00000576: JUMPI
00000577: RETURNDATASIZE
00000578: PUSH0
00000579: DUP1
0000057a: RETURNDATACOPY
0000057b: RETURNDATASIZE
0000057c: PUSH0
0000057d: REVERT
0000057e: JUMPDEST
0000057f: POP
00000580: POP
00000581: POP
00000582: POP
00000583: PUSH1 0x40
00000585: MLOAD
00000586: RETURNDATASIZE
00000587: PUSH1 0x1f
00000589: NOT
0000058a: PUSH1 0x1f
0000058c: DUP3
0000058d: ADD
0000058e: AND
0000058f: DUP3
00000590: ADD
00000591: DUP1
00000592: PUSH1 0x40
00000594: MSTORE
00000595: POP
00000596: DUP2
00000597: ADD
00000598: SWAP1
00000599: PUSH2 0x05a2
0000059c: SWAP2
0000059d: SWAP1
0000059e: PUSH2 0x0d5b
000005a1: JUMP
000005a2: JUMPDEST
000005a3: SWAP1
000005a4: POP
000005a5: PUSH0
000005a6: DUP2
000005a7: PUSH1 0xff
000005a9: AND
000005aa: DUP4
000005ab: PUSH1 0xff
000005ad: AND
000005ae: GT
000005af: ISZERO
000005b0: PUSH2 0x05f0
000005b3: JUMPI
000005b4: PUSH2 0x05bd
000005b7: DUP3
000005b8: DUP5
000005b9: PUSH2 0x0d7b
000005bc: JUMP
000005bd: JUMPDEST
000005be: PUSH2 0x05c8
000005c1: SWAP1
000005c2: PUSH1 0x0a
000005c4: PUSH2 0x0e74
000005c7: JUMP
000005c8: JUMPDEST
000005c9: PUSH1 0x04
000005cb: SLOAD
000005cc: PUSH2 0x05d5
000005cf: SWAP2
000005d0: SWAP1
000005d1: PUSH2 0x0ca8
000005d4: JUMP
000005d5: JUMPDEST
000005d6: PUSH2 0x05df
000005d9: DUP6
000005da: CALLVALUE
000005db: PUSH2 0x0ca8
000005de: JUMP
000005df: JUMPDEST
000005e0: PUSH2 0x05e9
000005e3: SWAP2
000005e4: SWAP1
000005e5: PUSH2 0x0cbf
000005e8: JUMP
000005e9: JUMPDEST
000005ea: SWAP1
000005eb: POP
000005ec: PUSH2 0x0629
000005ef: JUMP
000005f0: JUMPDEST
000005f1: PUSH1 0x04
000005f3: SLOAD
000005f4: PUSH2 0x05fd
000005f7: DUP5
000005f8: DUP5
000005f9: PUSH2 0x0d7b
000005fc: JUMP
000005fd: JUMPDEST
000005fe: PUSH2 0x0608
00000601: SWAP1
00000602: PUSH1 0x0a
00000604: PUSH2 0x0e74
00000607: JUMP
00000608: JUMPDEST
00000609: PUSH2 0x0612
0000060c: DUP7
0000060d: CALLVALUE
0000060e: PUSH2 0x0ca8
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH2 0x061c
00000616: SWAP2
00000617: SWAP1
00000618: PUSH2 0x0ca8
0000061b: JUMP
0000061c: JUMPDEST
0000061d: PUSH2 0x0626
00000620: SWAP2
00000621: SWAP1
00000622: PUSH2 0x0cbf
00000625: JUMP
00000626: JUMPDEST
00000627: SWAP1
00000628: POP
00000629: JUMPDEST
0000062a: CALLER
0000062b: PUSH0
0000062c: SWAP1
0000062d: DUP2
0000062e: MSTORE
0000062f: PUSH1 0x06
00000631: PUSH1 0x20
00000633: MSTORE
00000634: PUSH1 0x40
00000636: DUP2
00000637: KECCAK256
00000638: DUP1
00000639: SLOAD
0000063a: DUP4
0000063b: SWAP3
0000063c: SWAP1
0000063d: PUSH2 0x0647
00000640: SWAP1
00000641: DUP5
00000642: SWAP1
00000643: PUSH2 0x0cde
00000646: JUMP
00000647: JUMPDEST
00000648: SWAP3
00000649: POP
0000064a: POP
0000064b: DUP2
0000064c: SWAP1
0000064d: SSTORE
0000064e: POP
0000064f: DUP1
00000650: PUSH1 0x05
00000652: PUSH0
00000653: DUP3
00000654: DUP3
00000655: SLOAD
00000656: PUSH2 0x065f
00000659: SWAP2
0000065a: SWAP1
0000065b: PUSH2 0x0cde
0000065e: JUMP
0000065f: JUMPDEST
00000660: SWAP1
00000661: SWAP2
00000662: SSTORE
00000663: POP
00000664: POP
00000665: POP
00000666: POP
00000667: POP
00000668: POP
00000669: JUMP
0000066a: JUMPDEST
0000066b: PUSH2 0x0672
0000066e: PUSH2 0x0853
00000671: JUMP
00000672: JUMPDEST
00000673: PUSH0
00000674: DUP1
00000675: SLOAD
00000676: PUSH1 0x40
00000678: MLOAD
00000679: PUSH1 0x01
0000067b: PUSH1 0x01
0000067d: PUSH1 0xa0
0000067f: SHL
00000680: SUB
00000681: SWAP1
00000682: SWAP2
00000683: AND
00000684: SWAP1
00000685: DUP4
00000686: SWAP1
00000687: DUP4
00000688: DUP2
00000689: DUP2
0000068a: DUP2
0000068b: DUP6
0000068c: DUP8
0000068d: GAS
0000068e: CALL
0000068f: SWAP3
00000690: POP
00000691: POP
00000692: POP
00000693: RETURNDATASIZE
00000694: DUP1
00000695: PUSH0
00000696: DUP2
00000697: EQ
00000698: PUSH2 0x06bc
0000069b: JUMPI
0000069c: PUSH1 0x40
0000069e: MLOAD
0000069f: SWAP2
000006a0: POP
000006a1: PUSH1 0x1f
000006a3: NOT
000006a4: PUSH1 0x3f
000006a6: RETURNDATASIZE
000006a7: ADD
000006a8: AND
000006a9: DUP3
000006aa: ADD
000006ab: PUSH1 0x40
000006ad: MSTORE
000006ae: RETURNDATASIZE
000006af: DUP3
000006b0: MSTORE
000006b1: RETURNDATASIZE
000006b2: PUSH0
000006b3: PUSH1 0x20
000006b5: DUP5
000006b6: ADD
000006b7: RETURNDATACOPY
000006b8: PUSH2 0x06c1
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH1 0x60
000006bf: SWAP2
000006c0: POP
000006c1: JUMPDEST
000006c2: POP
000006c3: POP
000006c4: SWAP1
000006c5: POP
000006c6: DUP1
000006c7: PUSH2 0x0731
000006ca: JUMPI
000006cb: PUSH1 0x40
000006cd: MLOAD
000006ce: PUSH3 0x461bcd
000006d2: PUSH1 0xe5
000006d4: SHL
000006d5: DUP2
000006d6: MSTORE
000006d7: PUSH1 0x20
000006d9: PUSH1 0x04
000006db: DUP3
000006dc: ADD
000006dd: MSTORE
000006de: PUSH1 0x31
000006e0: PUSH1 0x24
000006e2: DUP3
000006e3: ADD
000006e4: MSTORE
000006e5: PUSH32 0x456e6572676957616e4272696467653a3a204661696c656420746f2077697468
00000706: PUSH1 0x44
00000708: DUP3
00000709: ADD
0000070a: MSTORE
0000070b: PUSH17 0x64726177206e617469766520636f696e73
0000071d: PUSH1 0x78
0000071f: SHL
00000720: PUSH1 0x64
00000722: DUP3
00000723: ADD
00000724: MSTORE
00000725: PUSH1 0x84
00000727: ADD
00000728: JUMPDEST
00000729: PUSH1 0x40
0000072b: MLOAD
0000072c: DUP1
0000072d: SWAP2
0000072e: SUB
0000072f: SWAP1
00000730: REVERT
00000731: JUMPDEST
00000732: POP
00000733: POP
00000734: JUMP
00000735: JUMPDEST
00000736: PUSH2 0x073d
00000739: PUSH2 0x07bc
0000073c: JUMP
0000073d: JUMPDEST
0000073e: PUSH2 0x0745
00000741: PUSH2 0x0853
00000744: JUMP
00000745: JUMPDEST
00000746: PUSH2 0x03e8
00000749: PUSH2 0x09da
0000074c: JUMP
0000074d: JUMPDEST
0000074e: PUSH2 0x0755
00000751: PUSH2 0x0853
00000754: JUMP
00000755: JUMPDEST
00000756: PUSH1 0x04
00000758: SSTORE
00000759: JUMP
0000075a: JUMPDEST
0000075b: PUSH1 0x07
0000075d: DUP2
0000075e: DUP2
0000075f: SLOAD
00000760: DUP2
00000761: LT
00000762: PUSH2 0x0769
00000765: JUMPI
00000766: PUSH0
00000767: DUP1
00000768: REVERT
00000769: JUMPDEST
0000076a: PUSH0
0000076b: SWAP2
0000076c: DUP3
0000076d: MSTORE
0000076e: PUSH1 0x20
00000770: SWAP1
00000771: SWAP2
00000772: KECCAK256
00000773: ADD
00000774: SLOAD
00000775: PUSH1 0x01
00000777: PUSH1 0x01
00000779: PUSH1 0xa0
0000077b: SHL
0000077c: SUB
0000077d: AND
0000077e: SWAP1
0000077f: POP
00000780: DUP2
00000781: JUMP
00000782: JUMPDEST
00000783: PUSH2 0x078a
00000786: PUSH2 0x0853
00000789: JUMP
0000078a: JUMPDEST
0000078b: PUSH1 0x01
0000078d: PUSH1 0x01
0000078f: PUSH1 0xa0
00000791: SHL
00000792: SUB
00000793: DUP2
00000794: AND
00000795: PUSH2 0x07b3
00000798: JUMPI
00000799: PUSH1 0x40
0000079b: MLOAD
0000079c: PUSH4 0x1e4fbdf7
000007a1: PUSH1 0xe0
000007a3: SHL
000007a4: DUP2
000007a5: MSTORE
000007a6: PUSH0
000007a7: PUSH1 0x04
000007a9: DUP3
000007aa: ADD
000007ab: MSTORE
000007ac: PUSH1 0x24
000007ae: ADD
000007af: PUSH2 0x0728
000007b2: JUMP
000007b3: JUMPDEST
000007b4: PUSH2 0x03cd
000007b7: DUP2
000007b8: PUSH2 0x098b
000007bb: JUMP
000007bc: JUMPDEST
000007bd: PUSH0
000007be: SLOAD
000007bf: PUSH1 0x01
000007c1: PUSH1 0xa0
000007c3: SHL
000007c4: SWAP1
000007c5: DIV
000007c6: PUSH1 0xff
000007c8: AND
000007c9: ISZERO
000007ca: PUSH2 0x03e8
000007cd: JUMPI
000007ce: PUSH1 0x40
000007d0: MLOAD
000007d1: PUSH4 0xd93c0665
000007d6: PUSH1 0xe0
000007d8: SHL
000007d9: DUP2
000007da: MSTORE
000007db: PUSH1 0x04
000007dd: ADD
000007de: PUSH1 0x40
000007e0: MLOAD
000007e1: DUP1
000007e2: SWAP2
000007e3: SUB
000007e4: SWAP1
000007e5: REVERT
000007e6: JUMPDEST
000007e7: PUSH1 0x40
000007e9: MLOAD
000007ea: PUSH1 0x01
000007ec: PUSH1 0x01
000007ee: PUSH1 0xa0
000007f0: SHL
000007f1: SUB
000007f2: DUP5
000007f3: DUP2
000007f4: AND
000007f5: PUSH1 0x24
000007f7: DUP4
000007f8: ADD
000007f9: MSTORE
000007fa: DUP4
000007fb: DUP2
000007fc: AND
000007fd: PUSH1 0x44
000007ff: DUP4
00000800: ADD
00000801: MSTORE
00000802: PUSH1 0x64
00000804: DUP3
00000805: ADD
00000806: DUP4
00000807: SWAP1
00000808: MSTORE
00000809: PUSH2 0x084d
0000080c: SWAP2
0000080d: DUP7
0000080e: SWAP2
0000080f: DUP3
00000810: AND
00000811: SWAP1
00000812: PUSH4 0x23b872dd
00000817: SWAP1
00000818: PUSH1 0x84
0000081a: ADD
0000081b: JUMPDEST
0000081c: PUSH1 0x40
0000081e: MLOAD
0000081f: PUSH1 0x20
00000821: DUP2
00000822: DUP4
00000823: SUB
00000824: SUB
00000825: DUP2
00000826: MSTORE
00000827: SWAP1
00000828: PUSH1 0x40
0000082a: MSTORE
0000082b: SWAP2
0000082c: POP
0000082d: PUSH1 0xe0
0000082f: SHL
00000830: PUSH1 0x20
00000832: DUP3
00000833: ADD
00000834: DUP1
00000835: MLOAD
00000836: PUSH1 0x01
00000838: PUSH1 0x01
0000083a: PUSH1 0xe0
0000083c: SHL
0000083d: SUB
0000083e: DUP4
0000083f: DUP2
00000840: DUP4
00000841: AND
00000842: OR
00000843: DUP4
00000844: MSTORE
00000845: POP
00000846: POP
00000847: POP
00000848: POP
00000849: PUSH2 0x0a1c
0000084c: JUMP
0000084d: JUMPDEST
0000084e: POP
0000084f: POP
00000850: POP
00000851: POP
00000852: JUMP
00000853: JUMPDEST
00000854: PUSH0
00000855: SLOAD
00000856: PUSH1 0x01
00000858: PUSH1 0x01
0000085a: PUSH1 0xa0
0000085c: SHL
0000085d: SUB
0000085e: AND
0000085f: CALLER
00000860: EQ
00000861: PUSH2 0x03e8
00000864: JUMPI
00000865: PUSH1 0x40
00000867: MLOAD
00000868: PUSH4 0x118cdaa7
0000086d: PUSH1 0xe0
0000086f: SHL
00000870: DUP2
00000871: MSTORE
00000872: CALLER
00000873: PUSH1 0x04
00000875: DUP3
00000876: ADD
00000877: MSTORE
00000878: PUSH1 0x24
0000087a: ADD
0000087b: PUSH2 0x0728
0000087e: JUMP
0000087f: JUMPDEST
00000880: PUSH1 0x40
00000882: DUP1
00000883: MLOAD
00000884: PUSH1 0x01
00000886: PUSH1 0x01
00000888: PUSH1 0xa0
0000088a: SHL
0000088b: SUB
0000088c: DUP5
0000088d: AND
0000088e: PUSH1 0x24
00000890: DUP3
00000891: ADD
00000892: MSTORE
00000893: PUSH1 0x44
00000895: DUP1
00000896: DUP3
00000897: ADD
00000898: DUP5
00000899: SWAP1
0000089a: MSTORE
0000089b: DUP3
0000089c: MLOAD
0000089d: DUP1
0000089e: DUP4
0000089f: SUB
000008a0: SWAP1
000008a1: SWAP2
000008a2: ADD
000008a3: DUP2
000008a4: MSTORE
000008a5: PUSH1 0x64
000008a7: SWAP1
000008a8: SWAP2
000008a9: ADD
000008aa: SWAP1
000008ab: SWAP2
000008ac: MSTORE
000008ad: PUSH1 0x20
000008af: DUP2
000008b0: ADD
000008b1: DUP1
000008b2: MLOAD
000008b3: PUSH1 0x01
000008b5: PUSH1 0x01
000008b7: PUSH1 0xe0
000008b9: SHL
000008ba: SUB
000008bb: AND
000008bc: PUSH4 0x095ea7b3
000008c1: PUSH1 0xe0
000008c3: SHL
000008c4: OR
000008c5: SWAP1
000008c6: MSTORE
000008c7: PUSH2 0x08d0
000008ca: DUP5
000008cb: DUP3
000008cc: PUSH2 0x0a82
000008cf: JUMP
000008d0: JUMPDEST
000008d1: PUSH2 0x084d
000008d4: JUMPI
000008d5: PUSH1 0x40
000008d7: MLOAD
000008d8: PUSH1 0x01
000008da: PUSH1 0x01
000008dc: PUSH1 0xa0
000008de: SHL
000008df: SUB
000008e0: DUP5
000008e1: DUP2
000008e2: AND
000008e3: PUSH1 0x24
000008e5: DUP4
000008e6: ADD
000008e7: MSTORE
000008e8: PUSH0
000008e9: PUSH1 0x44
000008eb: DUP4
000008ec: ADD
000008ed: MSTORE
000008ee: PUSH2 0x0904
000008f1: SWAP2
000008f2: DUP7
000008f3: SWAP2
000008f4: DUP3
000008f5: AND
000008f6: SWAP1
000008f7: PUSH4 0x095ea7b3
000008fc: SWAP1
000008fd: PUSH1 0x64
000008ff: ADD
00000900: PUSH2 0x081b
00000903: JUMP
00000904: JUMPDEST
00000905: PUSH2 0x084d
00000908: DUP5
00000909: DUP3
0000090a: PUSH2 0x0a1c
0000090d: JUMP
0000090e: JUMPDEST
0000090f: PUSH0
00000910: SLOAD
00000911: PUSH1 0x01
00000913: PUSH1 0xa0
00000915: SHL
00000916: SWAP1
00000917: DIV
00000918: PUSH1 0xff
0000091a: AND
0000091b: PUSH2 0x03e8
0000091e: JUMPI
0000091f: PUSH1 0x40
00000921: MLOAD
00000922: PUSH4 0x8dfc202b
00000927: PUSH1 0xe0
00000929: SHL
0000092a: DUP2
0000092b: MSTORE
0000092c: PUSH1 0x04
0000092e: ADD
0000092f: PUSH1 0x40
00000931: MLOAD
00000932: DUP1
00000933: SWAP2
00000934: SUB
00000935: SWAP1
00000936: REVERT
00000937: JUMPDEST
00000938: PUSH2 0x093f
0000093b: PUSH2 0x090e
0000093e: JUMP
0000093f: JUMPDEST
00000940: PUSH0
00000941: DUP1
00000942: SLOAD
00000943: PUSH1 0xff
00000945: PUSH1 0xa0
00000947: SHL
00000948: NOT
00000949: AND
0000094a: SWAP1
0000094b: SSTORE
0000094c: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
0000096d: CALLER
0000096e: JUMPDEST
0000096f: PUSH1 0x40
00000971: MLOAD
00000972: PUSH1 0x01
00000974: PUSH1 0x01
00000976: PUSH1 0xa0
00000978: SHL
00000979: SUB
0000097a: SWAP1
0000097b: SWAP2
0000097c: AND
0000097d: DUP2
0000097e: MSTORE
0000097f: PUSH1 0x20
00000981: ADD
00000982: PUSH1 0x40
00000984: MLOAD
00000985: DUP1
00000986: SWAP2
00000987: SUB
00000988: SWAP1
00000989: LOG1
0000098a: JUMP
0000098b: JUMPDEST
0000098c: PUSH0
0000098d: DUP1
0000098e: SLOAD
0000098f: PUSH1 0x01
00000991: PUSH1 0x01
00000993: PUSH1 0xa0
00000995: SHL
00000996: SUB
00000997: DUP4
00000998: DUP2
00000999: AND
0000099a: PUSH1 0x01
0000099c: PUSH1 0x01
0000099e: PUSH1 0xa0
000009a0: SHL
000009a1: SUB
000009a2: NOT
000009a3: DUP4
000009a4: AND
000009a5: DUP2
000009a6: OR
000009a7: DUP5
000009a8: SSTORE
000009a9: PUSH1 0x40
000009ab: MLOAD
000009ac: SWAP2
000009ad: SWAP1
000009ae: SWAP3
000009af: AND
000009b0: SWAP3
000009b1: DUP4
000009b2: SWAP2
000009b3: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000009d4: SWAP2
000009d5: SWAP1
000009d6: LOG3
000009d7: POP
000009d8: POP
000009d9: JUMP
000009da: JUMPDEST
000009db: PUSH2 0x09e2
000009de: PUSH2 0x07bc
000009e1: JUMP
000009e2: JUMPDEST
000009e3: PUSH0
000009e4: DUP1
000009e5: SLOAD
000009e6: PUSH1 0xff
000009e8: PUSH1 0xa0
000009ea: SHL
000009eb: NOT
000009ec: AND
000009ed: PUSH1 0x01
000009ef: PUSH1 0xa0
000009f1: SHL
000009f2: OR
000009f3: SWAP1
000009f4: SSTORE
000009f5: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00000a16: PUSH2 0x096e
00000a19: CALLER
00000a1a: SWAP1
00000a1b: JUMP
00000a1c: JUMPDEST
00000a1d: PUSH0
00000a1e: PUSH2 0x0a30
00000a21: PUSH1 0x01
00000a23: PUSH1 0x01
00000a25: PUSH1 0xa0
00000a27: SHL
00000a28: SUB
00000a29: DUP5
00000a2a: AND
00000a2b: DUP4
00000a2c: PUSH2 0x0b25
00000a2f: JUMP
00000a30: JUMPDEST
00000a31: SWAP1
00000a32: POP
00000a33: DUP1
00000a34: MLOAD
00000a35: PUSH0
00000a36: EQ
00000a37: ISZERO
00000a38: DUP1
00000a39: ISZERO
00000a3a: PUSH2 0x0a54
00000a3d: JUMPI
00000a3e: POP
00000a3f: DUP1
00000a40: DUP1
00000a41: PUSH1 0x20
00000a43: ADD
00000a44: SWAP1
00000a45: MLOAD
00000a46: DUP2
00000a47: ADD
00000a48: SWAP1
00000a49: PUSH2 0x0a52
00000a4c: SWAP2
00000a4d: SWAP1
00000a4e: PUSH2 0x0e82
00000a51: JUMP
00000a52: JUMPDEST
00000a53: ISZERO
00000a54: JUMPDEST
00000a55: ISZERO
00000a56: PUSH2 0x0a7d
00000a59: JUMPI
00000a5a: PUSH1 0x40
00000a5c: MLOAD
00000a5d: PUSH4 0x5274afe7
00000a62: PUSH1 0xe0
00000a64: SHL
00000a65: DUP2
00000a66: MSTORE
00000a67: PUSH1 0x01
00000a69: PUSH1 0x01
00000a6b: PUSH1 0xa0
00000a6d: SHL
00000a6e: SUB
00000a6f: DUP5
00000a70: AND
00000a71: PUSH1 0x04
00000a73: DUP3
00000a74: ADD
00000a75: MSTORE
00000a76: PUSH1 0x24
00000a78: ADD
00000a79: PUSH2 0x0728
00000a7c: JUMP
00000a7d: JUMPDEST
00000a7e: POP
00000a7f: POP
00000a80: POP
00000a81: JUMP
00000a82: JUMPDEST
00000a83: PUSH0
00000a84: DUP1
00000a85: PUSH0
00000a86: DUP5
00000a87: PUSH1 0x01
00000a89: PUSH1 0x01
00000a8b: PUSH1 0xa0
00000a8d: SHL
00000a8e: SUB
00000a8f: AND
00000a90: DUP5
00000a91: PUSH1 0x40
00000a93: MLOAD
00000a94: PUSH2 0x0a9d
00000a97: SWAP2
00000a98: SWAP1
00000a99: PUSH2 0x0ea1
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: PUSH0
00000a9f: PUSH1 0x40
00000aa1: MLOAD
00000aa2: DUP1
00000aa3: DUP4
00000aa4: SUB
00000aa5: DUP2
00000aa6: PUSH0
00000aa7: DUP7
00000aa8: GAS
00000aa9: CALL
00000aaa: SWAP2
00000aab: POP
00000aac: POP
00000aad: RETURNDATASIZE
00000aae: DUP1
00000aaf: PUSH0
00000ab0: DUP2
00000ab1: EQ
00000ab2: PUSH2 0x0ad6
00000ab5: JUMPI
00000ab6: PUSH1 0x40
00000ab8: MLOAD
00000ab9: SWAP2
00000aba: POP
00000abb: PUSH1 0x1f
00000abd: NOT
00000abe: PUSH1 0x3f
00000ac0: RETURNDATASIZE
00000ac1: ADD
00000ac2: AND
00000ac3: DUP3
00000ac4: ADD
00000ac5: PUSH1 0x40
00000ac7: MSTORE
00000ac8: RETURNDATASIZE
00000ac9: DUP3
00000aca: MSTORE
00000acb: RETURNDATASIZE
00000acc: PUSH0
00000acd: PUSH1 0x20
00000acf: DUP5
00000ad0: ADD
00000ad1: RETURNDATACOPY
00000ad2: PUSH2 0x0adb
00000ad5: JUMP
00000ad6: JUMPDEST
00000ad7: PUSH1 0x60
00000ad9: SWAP2
00000ada: POP
00000adb: JUMPDEST
00000adc: POP
00000add: SWAP2
00000ade: POP
00000adf: SWAP2
00000ae0: POP
00000ae1: DUP2
00000ae2: DUP1
00000ae3: ISZERO
00000ae4: PUSH2 0x0b05
00000ae7: JUMPI
00000ae8: POP
00000ae9: DUP1
00000aea: MLOAD
00000aeb: ISZERO
00000aec: DUP1
00000aed: PUSH2 0x0b05
00000af0: JUMPI
00000af1: POP
00000af2: DUP1
00000af3: DUP1
00000af4: PUSH1 0x20
00000af6: ADD
00000af7: SWAP1
00000af8: MLOAD
00000af9: DUP2
00000afa: ADD
00000afb: SWAP1
00000afc: PUSH2 0x0b05
00000aff: SWAP2
00000b00: SWAP1
00000b01: PUSH2 0x0e82
00000b04: JUMP
00000b05: JUMPDEST
00000b06: DUP1
00000b07: ISZERO
00000b08: PUSH2 0x0b1a
00000b0b: JUMPI
00000b0c: POP
00000b0d: PUSH0
00000b0e: DUP6
00000b0f: PUSH1 0x01
00000b11: PUSH1 0x01
00000b13: PUSH1 0xa0
00000b15: SHL
00000b16: SUB
00000b17: AND
00000b18: EXTCODESIZE
00000b19: GT
00000b1a: JUMPDEST
00000b1b: SWAP3
00000b1c: POP
00000b1d: POP
00000b1e: POP
00000b1f: JUMPDEST
00000b20: SWAP3
00000b21: SWAP2
00000b22: POP
00000b23: POP
00000b24: JUMP
00000b25: JUMPDEST
00000b26: PUSH1 0x60
00000b28: PUSH2 0x0b32
00000b2b: DUP4
00000b2c: DUP4
00000b2d: PUSH0
00000b2e: PUSH2 0x0b39
00000b31: JUMP
00000b32: JUMPDEST
00000b33: SWAP4
00000b34: SWAP3
00000b35: POP
00000b36: POP
00000b37: POP
00000b38: JUMP
00000b39: JUMPDEST
00000b3a: PUSH1 0x60
00000b3c: DUP2
00000b3d: SELFBALANCE
00000b3e: LT
00000b3f: ISZERO
00000b40: PUSH2 0x0b5e
00000b43: JUMPI
00000b44: PUSH1 0x40
00000b46: MLOAD
00000b47: PUSH4 0xcd786059
00000b4c: PUSH1 0xe0
00000b4e: SHL
00000b4f: DUP2
00000b50: MSTORE
00000b51: ADDRESS
00000b52: PUSH1 0x04
00000b54: DUP3
00000b55: ADD
00000b56: MSTORE
00000b57: PUSH1 0x24
00000b59: ADD
00000b5a: PUSH2 0x0728
00000b5d: JUMP
00000b5e: JUMPDEST
00000b5f: PUSH0
00000b60: DUP1
00000b61: DUP6
00000b62: PUSH1 0x01
00000b64: PUSH1 0x01
00000b66: PUSH1 0xa0
00000b68: SHL
00000b69: SUB
00000b6a: AND
00000b6b: DUP5
00000b6c: DUP7
00000b6d: PUSH1 0x40
00000b6f: MLOAD
00000b70: PUSH2 0x0b79
00000b73: SWAP2
00000b74: SWAP1
00000b75: PUSH2 0x0ea1
00000b78: JUMP
00000b79: JUMPDEST
00000b7a: PUSH0
00000b7b: PUSH1 0x40
00000b7d: MLOAD
00000b7e: DUP1
00000b7f: DUP4
00000b80: SUB
00000b81: DUP2
00000b82: DUP6
00000b83: DUP8
00000b84: GAS
00000b85: CALL
00000b86: SWAP3
00000b87: POP
00000b88: POP
00000b89: POP
00000b8a: RETURNDATASIZE
00000b8b: DUP1
00000b8c: PUSH0
00000b8d: DUP2
00000b8e: EQ
00000b8f: PUSH2 0x0bb3
00000b92: JUMPI
00000b93: PUSH1 0x40
00000b95: MLOAD
00000b96: SWAP2
00000b97: POP
00000b98: PUSH1 0x1f
00000b9a: NOT
00000b9b: PUSH1 0x3f
00000b9d: RETURNDATASIZE
00000b9e: ADD
00000b9f: AND
00000ba0: DUP3
00000ba1: ADD
00000ba2: PUSH1 0x40
00000ba4: MSTORE
00000ba5: RETURNDATASIZE
00000ba6: DUP3
00000ba7: MSTORE
00000ba8: RETURNDATASIZE
00000ba9: PUSH0
00000baa: PUSH1 0x20
00000bac: DUP5
00000bad: ADD
00000bae: RETURNDATACOPY
00000baf: PUSH2 0x0bb8
00000bb2: JUMP
00000bb3: JUMPDEST
00000bb4: PUSH1 0x60
00000bb6: SWAP2
00000bb7: POP
00000bb8: JUMPDEST
00000bb9: POP
00000bba: SWAP2
00000bbb: POP
00000bbc: SWAP2
00000bbd: POP
00000bbe: PUSH2 0x0bc8
00000bc1: DUP7
00000bc2: DUP4
00000bc3: DUP4
00000bc4: PUSH2 0x0bd2
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: SWAP7
00000bca: SWAP6
00000bcb: POP
00000bcc: POP
00000bcd: POP
00000bce: POP
00000bcf: POP
00000bd0: POP
00000bd1: JUMP
00000bd2: JUMPDEST
00000bd3: PUSH1 0x60
00000bd5: DUP3
00000bd6: PUSH2 0x0be7
00000bd9: JUMPI
00000bda: PUSH2 0x0be2
00000bdd: DUP3
00000bde: PUSH2 0x0c2e
00000be1: JUMP
00000be2: JUMPDEST
00000be3: PUSH2 0x0b32
00000be6: JUMP
00000be7: JUMPDEST
00000be8: DUP2
00000be9: MLOAD
00000bea: ISZERO
00000beb: DUP1
00000bec: ISZERO
00000bed: PUSH2 0x0bfe
00000bf0: JUMPI
00000bf1: POP
00000bf2: PUSH1 0x01
00000bf4: PUSH1 0x01
00000bf6: PUSH1 0xa0
00000bf8: SHL
00000bf9: SUB
00000bfa: DUP5
00000bfb: AND
00000bfc: EXTCODESIZE
00000bfd: ISZERO
00000bfe: JUMPDEST
00000bff: ISZERO
00000c00: PUSH2 0x0c27
00000c03: JUMPI
00000c04: PUSH1 0x40
00000c06: MLOAD
00000c07: PUSH4 0x9996b315
00000c0c: PUSH1 0xe0
00000c0e: SHL
00000c0f: DUP2
00000c10: MSTORE
00000c11: PUSH1 0x01
00000c13: PUSH1 0x01
00000c15: PUSH1 0xa0
00000c17: SHL
00000c18: SUB
00000c19: DUP6
00000c1a: AND
00000c1b: PUSH1 0x04
00000c1d: DUP3
00000c1e: ADD
00000c1f: MSTORE
00000c20: PUSH1 0x24
00000c22: ADD
00000c23: PUSH2 0x0728
00000c26: JUMP
00000c27: JUMPDEST
00000c28: POP
00000c29: DUP1
00000c2a: PUSH2 0x0b32
00000c2d: JUMP
00000c2e: JUMPDEST
00000c2f: DUP1
00000c30: MLOAD
00000c31: ISZERO
00000c32: PUSH2 0x0c3e
00000c35: JUMPI
00000c36: DUP1
00000c37: MLOAD
00000c38: DUP1
00000c39: DUP3
00000c3a: PUSH1 0x20
00000c3c: ADD
00000c3d: REVERT
00000c3e: JUMPDEST
00000c3f: PUSH1 0x40
00000c41: MLOAD
00000c42: PUSH4 0x0a12f521
00000c47: PUSH1 0xe1
00000c49: SHL
00000c4a: DUP2
00000c4b: MSTORE
00000c4c: PUSH1 0x04
00000c4e: ADD
00000c4f: PUSH1 0x40
00000c51: MLOAD
00000c52: DUP1
00000c53: SWAP2
00000c54: SUB
00000c55: SWAP1
00000c56: REVERT
00000c57: JUMPDEST
00000c58: PUSH0
00000c59: PUSH1 0x20
00000c5b: DUP3
00000c5c: DUP5
00000c5d: SUB
00000c5e: SLT
00000c5f: ISZERO
00000c60: PUSH2 0x0c67
00000c63: JUMPI
00000c64: PUSH0
00000c65: DUP1
00000c66: REVERT
00000c67: JUMPDEST
00000c68: POP
00000c69: CALLDATALOAD
00000c6a: SWAP2
00000c6b: SWAP1
00000c6c: POP
00000c6d: JUMP
00000c6e: JUMPDEST
00000c6f: PUSH0
00000c70: PUSH1 0x20
00000c72: DUP3
00000c73: DUP5
00000c74: SUB
00000c75: SLT
00000c76: ISZERO
00000c77: PUSH2 0x0c7e
00000c7a: JUMPI
00000c7b: PUSH0
00000c7c: DUP1
00000c7d: REVERT
00000c7e: JUMPDEST
00000c7f: DUP2
00000c80: CALLDATALOAD
00000c81: PUSH1 0x01
00000c83: PUSH1 0x01
00000c85: PUSH1 0xa0
00000c87: SHL
00000c88: SUB
00000c89: DUP2
00000c8a: AND
00000c8b: DUP2
00000c8c: EQ
00000c8d: PUSH2 0x0b32
00000c90: JUMPI
00000c91: PUSH0
00000c92: DUP1
00000c93: REVERT
00000c94: JUMPDEST
00000c95: PUSH4 0x4e487b71
00000c9a: PUSH1 0xe0
00000c9c: SHL
00000c9d: PUSH0
00000c9e: MSTORE
00000c9f: PUSH1 0x11
00000ca1: PUSH1 0x04
00000ca3: MSTORE
00000ca4: PUSH1 0x24
00000ca6: PUSH0
00000ca7: REVERT
00000ca8: JUMPDEST
00000ca9: DUP1
00000caa: DUP3
00000cab: MUL
00000cac: DUP2
00000cad: ISZERO
00000cae: DUP3
00000caf: DUP3
00000cb0: DIV
00000cb1: DUP5
00000cb2: EQ
00000cb3: OR
00000cb4: PUSH2 0x0b1f
00000cb7: JUMPI
00000cb8: PUSH2 0x0b1f
00000cbb: PUSH2 0x0c94
00000cbe: JUMP
00000cbf: JUMPDEST
00000cc0: PUSH0
00000cc1: DUP3
00000cc2: PUSH2 0x0cd9
00000cc5: JUMPI
00000cc6: PUSH4 0x4e487b71
00000ccb: PUSH1 0xe0
00000ccd: SHL
00000cce: PUSH0
00000ccf: MSTORE
00000cd0: PUSH1 0x12
00000cd2: PUSH1 0x04
00000cd4: MSTORE
00000cd5: PUSH1 0x24
00000cd7: PUSH0
00000cd8: REVERT
00000cd9: JUMPDEST
00000cda: POP
00000cdb: DIV
00000cdc: SWAP1
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: DUP1
00000ce0: DUP3
00000ce1: ADD
00000ce2: DUP1
00000ce3: DUP3
00000ce4: GT
00000ce5: ISZERO
00000ce6: PUSH2 0x0b1f
00000ce9: JUMPI
00000cea: PUSH2 0x0b1f
00000ced: PUSH2 0x0c94
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: DUP1
00000cf3: MLOAD
00000cf4: PUSH10 0xffffffffffffffffffff
00000cff: DUP2
00000d00: AND
00000d01: DUP2
00000d02: EQ
00000d03: PUSH2 0x0d0a
00000d06: JUMPI
00000d07: PUSH0
00000d08: DUP1
00000d09: REVERT
00000d0a: JUMPDEST
00000d0b: SWAP2
00000d0c: SWAP1
00000d0d: POP
00000d0e: JUMP
00000d0f: JUMPDEST
00000d10: PUSH0
00000d11: DUP1
00000d12: PUSH0
00000d13: DUP1
00000d14: PUSH0
00000d15: PUSH1 0xa0
00000d17: DUP7
00000d18: DUP9
00000d19: SUB
00000d1a: SLT
00000d1b: ISZERO
00000d1c: PUSH2 0x0d23
00000d1f: JUMPI
00000d20: PUSH0
00000d21: DUP1
00000d22: REVERT
00000d23: JUMPDEST
00000d24: PUSH2 0x0d2c
00000d27: DUP7
00000d28: PUSH2 0x0cf1
00000d2b: JUMP
00000d2c: JUMPDEST
00000d2d: SWAP5
00000d2e: POP
00000d2f: PUSH1 0x20
00000d31: DUP7
00000d32: ADD
00000d33: MLOAD
00000d34: SWAP4
00000d35: POP
00000d36: PUSH1 0x40
00000d38: DUP7
00000d39: ADD
00000d3a: MLOAD
00000d3b: SWAP3
00000d3c: POP
00000d3d: PUSH1 0x60
00000d3f: DUP7
00000d40: ADD
00000d41: MLOAD
00000d42: SWAP2
00000d43: POP
00000d44: PUSH2 0x0d4f
00000d47: PUSH1 0x80
00000d49: DUP8
00000d4a: ADD
00000d4b: PUSH2 0x0cf1
00000d4e: JUMP
00000d4f: JUMPDEST
00000d50: SWAP1
00000d51: POP
00000d52: SWAP3
00000d53: SWAP6
00000d54: POP
00000d55: SWAP3
00000d56: SWAP6
00000d57: SWAP1
00000d58: SWAP4
00000d59: POP
00000d5a: JUMP
00000d5b: JUMPDEST
00000d5c: PUSH0
00000d5d: PUSH1 0x20
00000d5f: DUP3
00000d60: DUP5
00000d61: SUB
00000d62: SLT
00000d63: ISZERO
00000d64: PUSH2 0x0d6b
00000d67: JUMPI
00000d68: PUSH0
00000d69: DUP1
00000d6a: REVERT
00000d6b: JUMPDEST
00000d6c: DUP2
00000d6d: MLOAD
00000d6e: PUSH1 0xff
00000d70: DUP2
00000d71: AND
00000d72: DUP2
00000d73: EQ
00000d74: PUSH2 0x0b32
00000d77: JUMPI
00000d78: PUSH0
00000d79: DUP1
00000d7a: REVERT
00000d7b: JUMPDEST
00000d7c: PUSH1 0xff
00000d7e: DUP3
00000d7f: DUP2
00000d80: AND
00000d81: DUP3
00000d82: DUP3
00000d83: AND
00000d84: SUB
00000d85: SWAP1
00000d86: DUP2
00000d87: GT
00000d88: ISZERO
00000d89: PUSH2 0x0b1f
00000d8c: JUMPI
00000d8d: PUSH2 0x0b1f
00000d90: PUSH2 0x0c94
00000d93: JUMP
00000d94: JUMPDEST
00000d95: PUSH1 0x01
00000d97: DUP2
00000d98: DUP2
00000d99: JUMPDEST
00000d9a: DUP1
00000d9b: DUP6
00000d9c: GT
00000d9d: ISZERO
00000d9e: PUSH2 0x0dce
00000da1: JUMPI
00000da2: DUP2
00000da3: PUSH0
00000da4: NOT
00000da5: DIV
00000da6: DUP3
00000da7: GT
00000da8: ISZERO
00000da9: PUSH2 0x0db4
00000dac: JUMPI
00000dad: PUSH2 0x0db4
00000db0: PUSH2 0x0c94
00000db3: JUMP
00000db4: JUMPDEST
00000db5: DUP1
00000db6: DUP6
00000db7: AND
00000db8: ISZERO
00000db9: PUSH2 0x0dc1
00000dbc: JUMPI
00000dbd: SWAP2
00000dbe: DUP2
00000dbf: MUL
00000dc0: SWAP2
00000dc1: JUMPDEST
00000dc2: SWAP4
00000dc3: DUP5
00000dc4: SHR
00000dc5: SWAP4
00000dc6: SWAP1
00000dc7: DUP1
00000dc8: MUL
00000dc9: SWAP1
00000dca: PUSH2 0x0d99
00000dcd: JUMP
00000dce: JUMPDEST
00000dcf: POP
00000dd0: SWAP3
00000dd1: POP
00000dd2: SWAP3
00000dd3: SWAP1
00000dd4: POP
00000dd5: JUMP
00000dd6: JUMPDEST
00000dd7: PUSH0
00000dd8: DUP3
00000dd9: PUSH2 0x0de4
00000ddc: JUMPI
00000ddd: POP
00000dde: PUSH1 0x01
00000de0: PUSH2 0x0b1f
00000de3: JUMP
00000de4: JUMPDEST
00000de5: DUP2
00000de6: PUSH2 0x0df0
00000de9: JUMPI
00000dea: POP
00000deb: PUSH0
00000dec: PUSH2 0x0b1f
00000def: JUMP
00000df0: JUMPDEST
00000df1: DUP2
00000df2: PUSH1 0x01
00000df4: DUP2
00000df5: EQ
00000df6: PUSH2 0x0e06
00000df9: JUMPI
00000dfa: PUSH1 0x02
00000dfc: DUP2
00000dfd: EQ
00000dfe: PUSH2 0x0e10
00000e01: JUMPI
00000e02: PUSH2 0x0e2c
00000e05: JUMP
00000e06: JUMPDEST
00000e07: PUSH1 0x01
00000e09: SWAP2
00000e0a: POP
00000e0b: POP
00000e0c: PUSH2 0x0b1f
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: PUSH1 0xff
00000e13: DUP5
00000e14: GT
00000e15: ISZERO
00000e16: PUSH2 0x0e21
00000e19: JUMPI
00000e1a: PUSH2 0x0e21
00000e1d: PUSH2 0x0c94
00000e20: JUMP
00000e21: JUMPDEST
00000e22: POP
00000e23: POP
00000e24: PUSH1 0x01
00000e26: DUP3
00000e27: SHL
00000e28: PUSH2 0x0b1f
00000e2b: JUMP
00000e2c: JUMPDEST
00000e2d: POP
00000e2e: PUSH1 0x20
00000e30: DUP4
00000e31: LT
00000e32: PUSH2 0x0133
00000e35: DUP4
00000e36: LT
00000e37: AND
00000e38: PUSH1 0x4e
00000e3a: DUP5
00000e3b: LT
00000e3c: PUSH1 0x0b
00000e3e: DUP5
00000e3f: LT
00000e40: AND
00000e41: OR
00000e42: ISZERO
00000e43: PUSH2 0x0e4f
00000e46: JUMPI
00000e47: POP
00000e48: DUP2
00000e49: DUP2
00000e4a: EXP
00000e4b: PUSH2 0x0b1f
00000e4e: JUMP
00000e4f: JUMPDEST
00000e50: PUSH2 0x0e59
00000e53: DUP4
00000e54: DUP4
00000e55: PUSH2 0x0d94
00000e58: JUMP
00000e59: JUMPDEST
00000e5a: DUP1
00000e5b: PUSH0
00000e5c: NOT
00000e5d: DIV
00000e5e: DUP3
00000e5f: GT
00000e60: ISZERO
00000e61: PUSH2 0x0e6c
00000e64: JUMPI
00000e65: PUSH2 0x0e6c
00000e68: PUSH2 0x0c94
00000e6b: JUMP
00000e6c: JUMPDEST
00000e6d: MUL
00000e6e: SWAP4
00000e6f: SWAP3
00000e70: POP
00000e71: POP
00000e72: POP
00000e73: JUMP
00000e74: JUMPDEST
00000e75: PUSH0
00000e76: PUSH2 0x0b32
00000e79: PUSH1 0xff
00000e7b: DUP5
00000e7c: AND
00000e7d: DUP4
00000e7e: PUSH2 0x0dd6
00000e81: JUMP
00000e82: JUMPDEST
00000e83: PUSH0
00000e84: PUSH1 0x20
00000e86: DUP3
00000e87: DUP5
00000e88: SUB
00000e89: SLT
00000e8a: ISZERO
00000e8b: PUSH2 0x0e92
00000e8e: JUMPI
00000e8f: PUSH0
00000e90: DUP1
00000e91: REVERT
00000e92: JUMPDEST
00000e93: DUP2
00000e94: MLOAD
00000e95: DUP1
00000e96: ISZERO
00000e97: ISZERO
00000e98: DUP2
00000e99: EQ
00000e9a: PUSH2 0x0b32
00000e9d: JUMPI
00000e9e: PUSH0
00000e9f: DUP1
00000ea0: REVERT
00000ea1: JUMPDEST
00000ea2: PUSH0
00000ea3: DUP3
00000ea4: MLOAD
00000ea5: PUSH0
00000ea6: JUMPDEST
00000ea7: DUP2
00000ea8: DUP2
00000ea9: LT
00000eaa: ISZERO
00000eab: PUSH2 0x0ec0
00000eae: JUMPI
00000eaf: PUSH1 0x20
00000eb1: DUP2
00000eb2: DUP7
00000eb3: ADD
00000eb4: DUP2
00000eb5: ADD
00000eb6: MLOAD
00000eb7: DUP6
00000eb8: DUP4
00000eb9: ADD
00000eba: MSTORE
00000ebb: ADD
00000ebc: PUSH2 0x0ea6
00000ebf: JUMP
00000ec0: JUMPDEST
00000ec1: POP
00000ec2: PUSH0
00000ec3: SWAP3
00000ec4: ADD
00000ec5: SWAP2
00000ec6: DUP3
00000ec7: MSTORE
00000ec8: POP
00000ec9: SWAP2
00000eca: SWAP1
00000ecb: POP
00000ecc: JUMP
00000ecd: INVALID
00000ece: LOG2
00000ecf: PUSH5 0x6970667358
00000ed5: UNKNOWN(0x22)
00000ed6: SLT
00000ed7: KECCAK256
00000ed8: UNKNOWN(0x4C)
00000ed9: UNKNOWN(0xAA)
00000eda: PUSH16 0xd6951e4a72e9acd2fdb35b85e3334eab
00000eeb: XOR
00000eec: SWAP15
00000eed: UNKNOWN(0x22)
00000eee: MUL
00000eef: KECCAK256
00000ef0: UNKNOWN(0xAF)
00000ef1: SWAP14
00000ef2: TSTORE
00000ef3: PUSH25

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: 0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870
call_targets: 0x1ea9bcd9c7483c9570057921459f4a64aff39b0d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1ea9bcd9c7483c9570057921459f4a64aff39b0d"
    ],
    "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": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa2b40d19",
            "selector": "0xa2b40d19",
            "calldata_variants": [
                "0xa2b40d19",
                "0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd2834ee3",
            "selector": "0xd2834ee3",
            "calldata_variants": [
                "0xd2834ee3",
                "0xd2834ee30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2aa8218",
            "selector": "0xf2aa8218",
            "calldata_variants": [
                "0xf2aa8218",
                "0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x73d87a3e",
            "selector": "0x73d87a3e",
            "calldata_variants": [
                "0x73d87a3e",
                "0x73d87a3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x84276d81",
            "selector": "0x84276d81",
            "calldata_variants": [
                "0x84276d81",
                "0x84276d810000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1678,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2729,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2949,
            "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: 0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870
call_targets: 0x1ea9bcd9c7483c9570057921459f4a64aff39b0d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1ea9bcd9c7483c9570057921459f4a64aff39b0d"
    ],
    "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": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa2b40d19",
            "selector": "0xa2b40d19",
            "calldata_variants": [
                "0xa2b40d19",
                "0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd2834ee3",
            "selector": "0xd2834ee3",
            "calldata_variants": [
                "0xd2834ee3",
                "0xd2834ee30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2aa8218",
            "selector": "0xf2aa8218",
            "calldata_variants": [
                "0xf2aa8218",
                "0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x73d87a3e",
            "selector": "0x73d87a3e",
            "calldata_variants": [
                "0x73d87a3e",
                "0x73d87a3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x84276d81",
            "selector": "0x84276d81",
            "calldata_variants": [
                "0x84276d81",
                "0x84276d810000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1678,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2729,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2949,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}