019be3d6-8257-7158-b579-591cc8b3ef79
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 40631 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 40632 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 40633 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 40634 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 40635 | capability.graph | complete | 1 / 3 | 2 months ago |
| 40636 | detector.run | complete | 1 / 3 | 2 months ago |
| 40637 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41263 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows a delegatecall‑based proxy/router pattern with computed targets and no detected auth guards; if the implementation target is mutable or user‑controlled, it can enable full takeover.","findings":[{"severity":"medium","category":"upgradeability","title":"Computed DELEGATECALL target (slot 0x13) with no detected access control","exploit_scenario":"If any externally reachable function can update the delegatecall target (e.g., a setter for the address stored in slot 0x13), an attacker could point it to a malicious implementation and gain arbitrary code execution in the proxy’s storage context, draining funds or seizing control. The analysis could not confirm whether the target is immutable or protected, so this risk depends on hidden upgrade mechanisms.","recommendation":"Verify whether slot 0x13 is writable after deployment. If upgrades are intended, restrict setters with explicit access control and emit upgrade events; if upgrades are not intended, make the target immutable or hard‑code it and remove any setters.","evidence":"detector_findings[0] flags “Untrusted DELEGATECALL target reachable” with 11 delegatecall sites; callsites show computed targets (pc 356, 1158, 1293, 1502, 1650, 1848, 1969, 2134, 2244, 2540, 3139). Storage reads from slot 0x13 occur at pc 1523/1540/1667/1680/1697/1865. No auth guards detected (auth.guards=[]). Validation indicates a constant target 0xf50b… but not confirmed, so mutability remains uncertain.","locations":["pc:0x164","pc:0x486","pc:0x50d","pc:0x5de","pc:0x672","pc:0x738","pc:0x7b1","pc:0x856","pc:0x8c4","pc:0x9ec","pc:0xc43","pc:0x5f3","pc:0x604","pc:0x683","pc:0x690","pc:0x6a1","pc:0x749"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-zyhm7aun
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be3fb-7fdf-73e0-8091-50ba19e62dca
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
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.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
thinking
**Preparing to read bytecode bundle**
exec
/bin/bash -lc ls in /tmp/codex-zyhm7aun succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-zyhm7aun succeeded in 6ms:
{
"analysis_artifact": {
"address": "0xe9bb610e707a631e3460a9830821d3970a378166",
"artifact_hash": "0x1d844d67e51156532e818245d9a6b54ef30c84d458679d0df43a0181ad857b11",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0xfe9f3cb5b9cfc3ec79b37699381529be6876f4b3794f3568eed1cbbf0dd6ecf5",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Identifying proxy and storage patterns**
I'm focusing on detecting delegatecall usage and upgradeability by searching JSON bundles for storage slots and callsites to gather evidence of proxy patterns.
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json | head' in /tmp/codex-zyhm7aun succeeded in 17ms:
4643: "storage": {
4692: "storage": {
4741: "storage": {
4790: "storage": {
4839: "storage": {
4888: "storage": {
4937: "storage": {
4986: "storage": {
5035: "storage": {
5084: "storage": {
exec
/bin/bash -lc "sed -n '4600,4705p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 14ms:
},
{
"entry_pc": 3271288764,
"selector": "0xc0ee0b8a"
},
{
"entry_pc": 3504541104,
"selector": "0xc2fbe7bc"
},
{
"entry_pc": 3552888016,
"selector": "0xd0e30db0"
},
{
"entry_pc": 3740822715,
"selector": "0xd3c4c4d0"
},
{
"entry_pc": 4179393699,
"selector": "0xdef86cbb"
thinking
**Confirming proxy pattern**
Found many delegatecalls and storage reads at slot 0x13, suggesting a custom proxy or diamond pattern rather than standard EIP-1967. Next, I'll examine storage writes to slot 0x13 and others to identify upgradeability or admin controls.
exec
/bin/bash -lc "sed -n '4705,4860p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 5ms:
{
"op": "SLOAD",
"pc": 1667,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
},
{
"op": "SLOAD",
"pc": 1680,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
},
{
"op": "SLOAD",
"pc": 1697,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
},
{
"op": "SLOAD",
"pc": 1865,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
}
thinking
**Investigating storage write details**
I'm focusing on pinpointing where storage writes occur since the current view only shows a count without slot details; next, I'll search all function entries for "writes" to find more explicit storage slot mappings or related evidence.
exec
/bin/bash -lc 'rg -n "writes" BYTECODE_BUNDLE.json | head' in /tmp/codex-zyhm7aun succeeded in 10ms:
4677: "writes": 4
4726: "writes": 4
4775: "writes": 4
4824: "writes": 4
4873: "writes": 4
4922: "writes": 4
4971: "writes": 4
5020: "writes": 4
5069: "writes": 4
5118: "writes": 4
thinking
**Noticing missing storage writes list**
Checked for a storage writes list but found none; planning to search for "storage_slots" to locate relevant sections in the evidence bundle.
exec
/bin/bash -lc 'rg -n "slots" BYTECODE_BUNDLE.json | head' in /tmp/codex-zyhm7aun succeeded in 7ms:
4645: "slots": [
4694: "slots": [
4743: "slots": [
4792: "slots": [
4841: "slots": [
4890: "slots": [
4939: "slots": [
4988: "slots": [
5037: "slots": [
5086: "slots": [
thinking
**Analyzing multiple delegatecall sites**
Noticing several delegatecalls likely linked to a dispatcher or fallback, possibly targeting a fixed implementation address stored in a slot or memory; planning to inspect opcodes around the key program counters to clarify call routing logic.
thinking
**Confirming proxy with hardcoded implementation**
Found a PUSH20 of a fixed address at a jump destination that matches a delegatecall pattern with extcodesize check, indicating a proxy to a hardcoded implementation; function selectors appear invalid due to analysis but all functions delegatecall this target, suggesting it's not upgradeable without evidence of SSTORE updating the implementation slot.
exec
/bin/bash -lc 'rg -n "SSTORE" BYTECODE_BUNDLE.json | head -n 40' in /tmp/codex-zyhm7aun succeeded in 14ms:
1742: "SSTORE",
1844: "SSTORE",
1890: "SSTORE",
2029: "SSTORE",
exec
/bin/bash -lc "sed -n '1700,1765p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 10ms:
],
"start_pc": 1513
},
{
"end_pc": 1531,
"hash": "0xe3e783d72818e1d3c4b93e699b0d4a5d753940ec5255e9272186d1026264548a",
"opcodes": [
"JUMPDEST",
"PUSH1",
"SLOAD",
"PUSH1",
"AND",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 1520
},
{
"end_pc": 1535,
thinking
**Investigating SSTORE usage**
I'm focusing on the code around the first SSTORE instruction near block 1639 to understand its context and why it's not at the top. I'll review surrounding code to clarify its role.
exec
/bin/bash -lc "sed -n '1600,1705p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 8ms:
"MLOAD",
"PUSH1",
"PUSH1",
"EXP",
"PUSH4",
"OP_86",
"AND",
"MUL",
"OP_81",
"MSTORE",
"PUSH1",
"OP_81",
"ADD",
"OP_93",
"OP_90",
"OP_93",
"MSTORE",
"PUSH1",
"OP_83",
"ADD",
thinking
**Inspecting state checks and updates**
I'm analyzing the code around the SLOAD bit check near 1520 as a possible guard and the SSTORE at 1639 likely updating a state variable; next, I'll examine the instructions from 1513 to 1665 to clarify their roles.
exec
/bin/bash -lc "sed -n '1510,1675p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 11ms:
"end_pc": 1303,
"hash": "0x250d61edaeafb05f221523b6f95153789cfdc707348ec20b73f16dc95299bb36",
"opcodes": [
"PUSH1",
"OP_80",
"REVERT"
],
"start_pc": 1300
},
{
"end_pc": 1311,
"hash": "0xef2977e5ed140ea8a61aa8637c925ace634897d30c72867546fa225239ca28e0",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"POP",
"POP",
"POP",
"POP",
thinking
**Inspecting storage writes around pc 1639**
I'm focusing on SSTORE at pc 1639 to see what state it modifies and whether any access control appears nearby, as the lack of guards raises potential admin vulnerability concerns. Next, I'll examine the instructions around pc 1639 to 1660 for storage writes and related checks.
exec
/bin/bash -lc "sed -n '1625,1665p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 10ms:
"PUSH1",
"PUSH1",
"EXP",
"SUB",
"AND",
"PUSH1",
"OP_82",
"ADD",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"OP_86",
"OP_80",
thinking
**Re-examining code around SSTORE block**
I'm focusing on the code snippet around start_pc 1639 where the SSTORE opcode appears, targeting lines 1635 to 1655 to ensure full visibility of that block.
exec
/bin/bash -lc "sed -n '1630,1655p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 6ms:
"PUSH1",
"OP_82",
"ADD",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"OP_86",
"OP_80",
"EXTCODESIZE",
"ISZERO",
"ISZERO",
"PUSH2",
"JUMPI"
thinking
**Planning targeted context extraction**
I'll locate all "SSTORE" occurrences with line numbers, then extract surrounding lines to understand each instance in more detail.
exec
/bin/bash -lc "sed -n '1728,1755p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 14ms:
{
"end_pc": 1639,
"hash": "0x4e5621f3c5ea563137a576fc62737eb3740556a2bdbf6017b7d3dc48d4c7a50b",
"opcodes": [
"JUMPDEST",
"PUSH1",
"OP_80",
"SLOAD",
"PUSH1",
"NOT",
"AND",
"PUSH1",
"OR",
"OP_90",
"SSTORE",
"PUSH20",
"PUSH4",
"PUSH1",
"OP_83",
"PUSH1",
thinking
**Analyzing SSTORE usage pattern**
The SSTORE operates on slot 0 with bitwise ops typical for a packed boolean like a reentrancy guard; no direct access control seen. Next, I'll inspect code around line 1838-1850 for more context.
exec
/bin/bash -lc "sed -n '1836,1854p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 23ms:
"POP",
"PUSH1",
"OP_80",
"SLOAD",
"PUSH1",
"NOT",
"AND",
"OP_90",
"SSTORE",
"POP",
"POP",
"JUMP"
],
"start_pc": 1661
},
{
"end_pc": 1688,
"hash": "0xa128ba31d6d1567f458aae811222d30eb115e99690d32d1a266502582dd203c8",
"opcodes": [
thinking
**Investigating multiple SSTORE uses**
I'm examining several SSTORE operations clustered around PCs 1661, 1844, and 1890, likely used repeatedly to clear the same storage bit. I'll focus next on the code between lines 1880 and 1905 to understand the third SSTORE's role.
exec
/bin/bash -lc "sed -n '1876,1905p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 7ms:
{
"end_pc": 1837,
"hash": "0xede396ac12e356a984b74b7c444ffb8afeee9731869daed11d401e7053e1f0f9",
"opcodes": [
"JUMPDEST",
"PUSH1",
"OP_80",
"SLOAD",
"PUSH1",
"NOT",
"AND",
"PUSH1",
"OR",
"OP_90",
"SSTORE",
"PUSH20",
"PUSH4",
"PUSH1",
"OP_85",
"OP_85",
thinking
**Noticing multiple SSTOREs on the same slot**
There are at least three SSTORE operations targeting slot 0, likely a reentrancy guard, with a delegatecall nearby suggesting complex control flow; now focusing on the code around lines 2018–2040 to analyze the fourth SSTORE.
exec
/bin/bash -lc "sed -n '2016,2045p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 7ms:
"end_pc": 1876,
"hash": "0x86931ded7d11e78696380ce5ca48314b8e6127aa50772dcab2de47919c9d5e90",
"opcodes": [
"JUMPDEST",
"POP",
"POP",
"PUSH1",
"OP_80",
"SLOAD",
"PUSH1",
"NOT",
"AND",
"OP_90",
"SSTORE",
"POP",
"POP",
"POP",
"POP",
"JUMP"
],
thinking
**Analyzing delegatecall target storage**
The delegatecall target appears stored in slot 0x13, suggesting it's not dynamic but possibly set once (e.g., in the constructor), explaining the reported constant address despite reading from storage. This hints at a modular or diamond pattern with reentrancy guards.
thinking
**Confirming no writes to delegatecall target slot**
There’s no evidence of writes to slot 0x13 at runtime, suggesting the delegatecall target is set immutably or only in the constructor. The detectors flag a computed delegatecall target, raising concern about potential upgradeability or unverified control, but no direct upgrade setter is visible so far.
exec
/bin/bash -lc 'rg -n "callsites" BYTECODE_BUNDLE.json' in /tmp/codex-zyhm7aun succeeded in 8ms:
3567: "callsites": [
exec
/bin/bash -lc "sed -n '3520,3605p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 8ms:
"OP_80",
"OP_83",
"SUB",
"OP_81",
"OP_86",
"OP_80",
"EXTCODESIZE",
"ISZERO",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 3646
},
{
"end_pc": 3764,
"hash": "0xc6ac1f4a25b0db6fd978cebd57a941fdf4bc8ce2d6039cb4f7ffe593cad9890e",
"opcodes": [
"PUSH1",
"OP_80",
exec
/bin/bash -lc "sed -n '3605,3665p' BYTECODE_BUNDLE.json" in /tmp/codex-zyhm7aun succeeded in 7ms:
"pc": 1848,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "DELEGATECALL",
"pc": 1969,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "DELEGATECALL",
"pc": 2134,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
thinking
**Analyzing call target origins**
The call targets near callsites may be constants from nearby PUSH20 instructions or loaded from storage slot 0x13, which sometimes appears pushed as PUSH1 0x13 before SLOAD; I’ll verify these patterns around each callsite to distinguish constant versus storage-based targets.
thinking
**Identifying uncertain access control on delegatecall target**
Analysis shows delegatecall targets often loaded from storage slot 0x13 with no detected access control guards or admin checks around updates, but lack of evidence for state writes to that slot makes final risk unclear; also, delegatecall results ignore returndata, potentially causing functional issues.
exec
/bin/bash -lc 'rg -n "CALLER" BYTECODE_BUNDLE.json | head' in /tmp/codex-zyhm7aun succeeded in 9ms:
thinking
**Confirming absence of CALLER-based access control**
No CALLER opcode or similar access control is detected; analysis flags one untrusted delegatecall with a computed but constant target, leading to a cautious medium-severity finding noting possible risk if mutable storage changes occur and no guards are present.
thinking
**Summarizing untrusted delegatecall with upgradeability risk**
Delegatecall targets a computed address from storage slot 0x13 with no detected access control guards; analysis flags multiple callsites and emphasizes upgradeability risk if the slot is externally writable, recommending explicit admin restrictions and immutable patterns.
codex
{"no_findings":false,"summary":"Bytecode shows a delegatecall‑based proxy/router pattern with computed targets and no detected auth guards; if the implementation target is mutable or user‑controlled, it can enable full takeover.","findings":[{"severity":"medium","category":"upgradeability","title":"Computed DELEGATECALL target (slot 0x13) with no detected access control","exploit_scenario":"If any externally reachable function can update the delegatecall target (e.g., a setter for the address stored in slot 0x13), an attacker could point it to a malicious implementation and gain arbitrary code execution in the proxy’s storage context, draining funds or seizing control. The analysis could not confirm whether the target is immutable or protected, so this risk depends on hidden upgrade mechanisms.","recommendation":"Verify whether slot 0x13 is writable after deployment. If upgrades are intended, restrict setters with explicit access control and emit upgrade events; if upgrades are not intended, make the target immutable or hard‑code it and remove any setters.","evidence":"detector_findings[0] flags “Untrusted DELEGATECALL target reachable” with 11 delegatecall sites; callsites show computed targets (pc 356, 1158, 1293, 1502, 1650, 1848, 1969, 2134, 2244, 2540, 3139). Storage reads from slot 0x13 occur at pc 1523/1540/1667/1680/1697/1865. No auth guards detected (auth.guards=[]). Validation indicates a constant target 0xf50b… but not confirmed, so mutability remains uncertain.","locations":["pc:0x164","pc:0x486","pc:0x50d","pc:0x5de","pc:0x672","pc:0x738","pc:0x7b1","pc:0x856","pc:0x8c4","pc:0x9ec","pc:0xc43","pc:0x5f3","pc:0x604","pc:0x683","pc:0x690","pc:0x6a1","pc:0x749"]}]}
tokens used
59,430
{
"codex": {
"ran_at": "2026-01-22T04:37:42.427658+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 7620,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows a delegatecall\u2011based proxy/router pattern with computed targets and no detected auth guards; if the implementation target is mutable or user\u2011controlled, it can enable full takeover.",
"raw_final": {
"summary": "Bytecode shows a delegatecall\u2011based proxy/router pattern with computed targets and no detected auth guards; if the implementation target is mutable or user\u2011controlled, it can enable full takeover.",
"findings": [
{
"title": "Computed DELEGATECALL target (slot 0x13) with no detected access control",
"category": "upgradeability",
"evidence": "detector_findings[0] flags \u201cUntrusted DELEGATECALL target reachable\u201d with 11 delegatecall sites; callsites show computed targets (pc 356, 1158, 1293, 1502, 1650, 1848, 1969, 2134, 2244, 2540, 3139). Storage reads from slot 0x13 occur at pc 1523/1540/1667/1680/1697/1865. No auth guards detected (auth.guards=[]). Validation indicates a constant target 0xf50b\u2026 but not confirmed, so mutability remains uncertain.",
"severity": "medium",
"locations": [
"pc:0x164",
"pc:0x486",
"pc:0x50d",
"pc:0x5de",
"pc:0x672",
"pc:0x738",
"pc:0x7b1",
"pc:0x856",
"pc:0x8c4",
"pc:0x9ec",
"pc:0xc43",
"pc:0x5f3",
"pc:0x604",
"pc:0x683",
"pc:0x690",
"pc:0x6a1",
"pc:0x749"
],
"recommendation": "Verify whether slot 0x13 is writable after deployment. If upgrades are intended, restrict setters with explicit access control and emit upgrade events; if upgrades are not intended, make the target immutable or hard\u2011code it and remove any setters.",
"exploit_scenario": "If any externally reachable function can update the delegatecall target (e.g., a setter for the address stored in slot 0x13), an attacker could point it to a malicious implementation and gain arbitrary code execution in the proxy\u2019s storage context, draining funds or seizing control. The analysis could not confirm whether the target is immutable or protected, so this risk depends on hidden upgrade mechanisms."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x010e 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH1 0xe0 00000014: PUSH1 0x02 00000016: EXP 00000017: PUSH1 0x00 00000019: CALLDATALOAD 0000001a: DIV 0000001b: AND 0000001c: PUSH4 0x0be479e1 00000021: DUP2 00000022: EQ 00000023: PUSH2 0x0174 00000026: JUMPI 00000027: DUP1 00000028: PUSH4 0x14614af9 0000002d: EQ 0000002e: PUSH2 0x0189 00000031: JUMPI 00000032: DUP1 00000033: PUSH4 0x17f708fb 00000038: EQ 00000039: PUSH2 0x01a7 0000003c: JUMPI 0000003d: DUP1 0000003e: PUSH4 0x19f363bc 00000043: EQ 00000044: PUSH2 0x01ba 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0x2b55b792 0000004e: EQ 0000004f: PUSH2 0x01d1 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0x2d923501 00000059: EQ 0000005a: PUSH2 0x01f0 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0x2e1a7d4d 00000064: EQ 00000065: PUSH2 0x021b 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0x4d5a8e10 0000006f: EQ 00000070: PUSH2 0x0231 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0x54fd4d50 0000007a: EQ 0000007b: PUSH2 0x0260 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0x7ae20c59 00000085: EQ 00000086: PUSH2 0x0297 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0x7c422f1d 00000090: EQ 00000091: PUSH2 0x02b0 00000094: JUMPI 00000095: DUP1 00000096: PUSH4 0x853828b6 0000009b: EQ 0000009c: PUSH2 0x02e3 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x89fb8a48 000000a6: EQ 000000a7: PUSH2 0x02f6 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x9aae82c1 000000b1: EQ 000000b2: PUSH2 0x030c 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0xa9cc4718 000000bc: EQ 000000bd: PUSH2 0x032b 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0xc0ee0b8a 000000c7: EQ 000000c8: PUSH2 0x033e 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0xc2fbe7bc 000000d2: EQ 000000d3: PUSH2 0x036d 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0xd0e30db0 000000dd: EQ 000000de: PUSH2 0x0392 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xd3c4c4d0 000000e8: EQ 000000e9: PUSH2 0x039a 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xdef86cbb 000000f3: EQ 000000f4: PUSH2 0x03c4 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xf91c7ca3 000000fe: EQ 000000ff: PUSH2 0x03ee 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0xfffe58a2 00000109: EQ 0000010a: PUSH2 0x0412 0000010d: JUMPI 0000010e: JUMPDEST 0000010f: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000124: PUSH4 0x6c2802e8 00000129: PUSH1 0x00 0000012b: PUSH1 0x40 0000012d: MLOAD 0000012e: PUSH1 0xe0 00000130: PUSH1 0x02 00000132: EXP 00000133: PUSH4 0xffffffff 00000138: DUP5 00000139: AND 0000013a: MUL 0000013b: DUP2 0000013c: MSTORE 0000013d: PUSH1 0x04 0000013f: DUP2 00000140: ADD 00000141: SWAP2 00000142: SWAP1 00000143: SWAP2 00000144: MSTORE 00000145: PUSH1 0x24 00000147: ADD 00000148: PUSH1 0x00 0000014a: PUSH1 0x40 0000014c: MLOAD 0000014d: DUP1 0000014e: DUP4 0000014f: SUB 00000150: DUP2 00000151: DUP7 00000152: DUP1 00000153: EXTCODESIZE 00000154: ISZERO 00000155: ISZERO 00000156: PUSH2 0x015e 00000159: JUMPI 0000015a: PUSH1 0x00 0000015c: DUP1 0000015d: REVERT 0000015e: JUMPDEST 0000015f: PUSH2 0x02c6 00000162: GAS 00000163: SUB 00000164: DELEGATECALL 00000165: ISZERO 00000166: ISZERO 00000167: PUSH2 0x016f 0000016a: JUMPI 0000016b: PUSH1 0x00 0000016d: DUP1 0000016e: REVERT 0000016f: JUMPDEST 00000170: POP 00000171: POP 00000172: POP 00000173: STOP 00000174: JUMPDEST 00000175: CALLVALUE 00000176: ISZERO 00000177: PUSH2 0x017f 0000017a: JUMPI 0000017b: PUSH1 0x00 0000017d: DUP1 0000017e: REVERT 0000017f: JUMPDEST 00000180: PUSH2 0x0187 00000183: PUSH2 0x0430 00000186: JUMP 00000187: JUMPDEST 00000188: STOP 00000189: JUMPDEST 0000018a: PUSH2 0x0187 0000018d: PUSH1 0x01 0000018f: PUSH1 0xa0 00000191: PUSH1 0x02 00000193: EXP 00000194: SUB 00000195: PUSH1 0x04 00000197: CALLDATALOAD 00000198: DUP2 00000199: AND 0000019a: SWAP1 0000019b: PUSH1 0x24 0000019d: CALLDATALOAD 0000019e: SWAP1 0000019f: PUSH1 0x44 000001a1: CALLDATALOAD 000001a2: AND 000001a3: PUSH2 0x0496 000001a6: JUMP 000001a7: JUMPDEST 000001a8: CALLVALUE 000001a9: ISZERO 000001aa: PUSH2 0x01b2 000001ad: JUMPI 000001ae: PUSH1 0x00 000001b0: DUP1 000001b1: REVERT 000001b2: JUMPDEST 000001b3: PUSH2 0x0187 000001b6: PUSH2 0x0520 000001b9: JUMP 000001ba: JUMPDEST 000001bb: PUSH2 0x0187 000001be: PUSH1 0x04 000001c0: CALLDATALOAD 000001c1: PUSH1 0x01 000001c3: PUSH1 0xa0 000001c5: PUSH1 0x02 000001c7: EXP 000001c8: SUB 000001c9: PUSH1 0x24 000001cb: CALLDATALOAD 000001cc: AND 000001cd: PUSH2 0x0570 000001d0: JUMP 000001d1: JUMPDEST 000001d2: CALLVALUE 000001d3: ISZERO 000001d4: PUSH2 0x01dc 000001d7: JUMPI 000001d8: PUSH1 0x00 000001da: DUP1 000001db: REVERT 000001dc: JUMPDEST 000001dd: PUSH2 0x0187 000001e0: PUSH1 0x01 000001e2: PUSH1 0xa0 000001e4: PUSH1 0x02 000001e6: EXP 000001e7: SUB 000001e8: PUSH1 0x04 000001ea: CALLDATALOAD 000001eb: AND 000001ec: PUSH2 0x05f0 000001ef: JUMP 000001f0: JUMPDEST 000001f1: CALLVALUE 000001f2: ISZERO 000001f3: PUSH2 0x01fb 000001f6: JUMPI 000001f7: PUSH1 0x00 000001f9: DUP1 000001fa: REVERT 000001fb: JUMPDEST 000001fc: PUSH2 0x0187 000001ff: PUSH1 0x04 00000201: DUP1 00000202: CALLDATALOAD 00000203: PUSH1 0x01 00000205: PUSH1 0xa0 00000207: PUSH1 0x02 00000209: EXP 0000020a: SUB 0000020b: AND 0000020c: SWAP1 0000020d: PUSH1 0x24 0000020f: DUP1 00000210: CALLDATALOAD 00000211: SWAP1 00000212: DUP2 00000213: ADD 00000214: SWAP2 00000215: ADD 00000216: CALLDATALOAD 00000217: PUSH2 0x068d 0000021a: JUMP 0000021b: JUMPDEST 0000021c: CALLVALUE 0000021d: ISZERO 0000021e: PUSH2 0x0226 00000221: JUMPI 00000222: PUSH1 0x00 00000224: DUP1 00000225: REVERT 00000226: JUMPDEST 00000227: PUSH2 0x0187 0000022a: PUSH1 0x04 0000022c: CALLDATALOAD 0000022d: PUSH2 0x0755 00000230: JUMP 00000231: JUMPDEST 00000232: CALLVALUE 00000233: ISZERO 00000234: PUSH2 0x023c 00000237: JUMPI 00000238: PUSH1 0x00 0000023a: DUP1 0000023b: REVERT 0000023c: JUMPDEST 0000023d: PUSH2 0x0187 00000240: PUSH1 0x04 00000242: DUP1 00000243: CALLDATALOAD 00000244: PUSH1 0x01 00000246: PUSH1 0xa0 00000248: PUSH1 0x02 0000024a: EXP 0000024b: SUB 0000024c: AND 0000024d: SWAP1 0000024e: PUSH1 0x24 00000250: DUP1 00000251: CALLDATALOAD 00000252: SWAP2 00000253: PUSH1 0x44 00000255: CALLDATALOAD 00000256: SWAP2 00000257: DUP3 00000258: ADD 00000259: SWAP2 0000025a: ADD 0000025b: CALLDATALOAD 0000025c: PUSH2 0x07c2 0000025f: JUMP 00000260: JUMPDEST 00000261: CALLVALUE 00000262: ISZERO 00000263: PUSH2 0x026b 00000266: JUMPI 00000267: PUSH1 0x00 00000269: DUP1 0000026a: REVERT 0000026b: JUMPDEST 0000026c: PUSH2 0x0273 0000026f: PUSH2 0x086a 00000272: JUMP 00000273: JUMPDEST 00000274: PUSH1 0x40 00000276: MLOAD 00000277: DUP1 00000278: DUP5 00000279: DUP2 0000027a: MSTORE 0000027b: PUSH1 0x20 0000027d: ADD 0000027e: DUP4 0000027f: DUP2 00000280: MSTORE 00000281: PUSH1 0x20 00000283: ADD 00000284: DUP3 00000285: DUP2 00000286: MSTORE 00000287: PUSH1 0x20 00000289: ADD 0000028a: SWAP4 0000028b: POP 0000028c: POP 0000028d: POP 0000028e: POP 0000028f: PUSH1 0x40 00000291: MLOAD 00000292: DUP1 00000293: SWAP2 00000294: SUB 00000295: SWAP1 00000296: RETURN 00000297: JUMPDEST 00000298: CALLVALUE 00000299: ISZERO 0000029a: PUSH2 0x02a2 0000029d: JUMPI 0000029e: PUSH1 0x00 000002a0: DUP1 000002a1: REVERT 000002a2: JUMPDEST 000002a3: PUSH2 0x0187 000002a6: PUSH1 0x04 000002a8: CALLDATALOAD 000002a9: PUSH1 0x24 000002ab: CALLDATALOAD 000002ac: PUSH2 0x08f0 000002af: JUMP 000002b0: JUMPDEST 000002b1: CALLVALUE 000002b2: ISZERO 000002b3: PUSH2 0x02bb 000002b6: JUMPI 000002b7: PUSH1 0x00 000002b9: DUP1 000002ba: REVERT 000002bb: JUMPDEST 000002bc: PUSH2 0x0187 000002bf: PUSH1 0x04 000002c1: DUP1 000002c2: CALLDATALOAD 000002c3: PUSH1 0x01 000002c5: PUSH1 0xa0 000002c7: PUSH1 0x02 000002c9: EXP 000002ca: SUB 000002cb: AND 000002cc: SWAP1 000002cd: PUSH1 0x24 000002cf: DUP1 000002d0: CALLDATALOAD 000002d1: SWAP2 000002d2: PUSH1 0x44 000002d4: CALLDATALOAD 000002d5: SWAP2 000002d6: PUSH1 0x64 000002d8: CALLDATALOAD 000002d9: SWAP1 000002da: DUP2 000002db: ADD 000002dc: SWAP2 000002dd: ADD 000002de: CALLDATALOAD 000002df: PUSH2 0x094f 000002e2: JUMP 000002e3: JUMPDEST 000002e4: CALLVALUE 000002e5: ISZERO 000002e6: PUSH2 0x02ee 000002e9: JUMPI 000002ea: PUSH1 0x00 000002ec: DUP1 000002ed: REVERT 000002ee: JUMPDEST 000002ef: PUSH2 0x0187 000002f2: PUSH2 0x0a01 000002f5: JUMP 000002f6: JUMPDEST 000002f7: CALLVALUE 000002f8: ISZERO 000002f9: PUSH2 0x0301 000002fc: JUMPI 000002fd: PUSH1 0x00 000002ff: DUP1 00000300: REVERT 00000301: JUMPDEST 00000302: PUSH2 0x0187 00000305: PUSH1 0x04 00000307: CALLDATALOAD 00000308: PUSH2 0x0a51 0000030b: JUMP 0000030c: JUMPDEST 0000030d: CALLVALUE 0000030e: ISZERO 0000030f: PUSH2 0x0317 00000312: JUMPI 00000313: PUSH1 0x00 00000315: DUP1 00000316: REVERT 00000317: JUMPDEST 00000318: PUSH2 0x0187 0000031b: PUSH1 0x01 0000031d: PUSH1 0xa0 0000031f: PUSH1 0x02 00000321: EXP 00000322: SUB 00000323: PUSH1 0x04 00000325: CALLDATALOAD 00000326: AND 00000327: PUSH2 0x0aa7 0000032a: JUMP 0000032b: JUMPDEST 0000032c: CALLVALUE 0000032d: ISZERO 0000032e: PUSH2 0x0336 00000331: JUMPI 00000332: PUSH1 0x00 00000334: DUP1 00000335: REVERT 00000336: JUMPDEST 00000337: PUSH2 0x0187 0000033a: PUSH2 0x0b06 0000033d: JUMP 0000033e: JUMPDEST 0000033f: CALLVALUE 00000340: ISZERO 00000341: PUSH2 0x0349 00000344: JUMPI 00000345: PUSH1 0x00 00000347: DUP1 00000348: REVERT 00000349: JUMPDEST 0000034a: PUSH2 0x0187 0000034d: PUSH1 0x04 0000034f: DUP1 00000350: CALLDATALOAD 00000351: PUSH1 0x01 00000353: PUSH1 0xa0 00000355: PUSH1 0x02 00000357: EXP 00000358: SUB 00000359: AND 0000035a: SWAP1 0000035b: PUSH1 0x24 0000035d: DUP1 0000035e: CALLDATALOAD 0000035f: SWAP2 00000360: PUSH1 0x44 00000362: CALLDATALOAD 00000363: SWAP2 00000364: DUP3 00000365: ADD 00000366: SWAP2 00000367: ADD 00000368: CALLDATALOAD 00000369: PUSH2 0x0b56 0000036c: JUMP 0000036d: JUMPDEST 0000036e: CALLVALUE 0000036f: ISZERO 00000370: PUSH2 0x0378 00000373: JUMPI 00000374: PUSH1 0x00 00000376: DUP1 00000377: REVERT 00000378: JUMPDEST 00000379: PUSH2 0x0380 0000037c: PUSH2 0x0be4 0000037f: JUMP 00000380: JUMPDEST 00000381: PUSH1 0x40 00000383: MLOAD 00000384: SWAP1 00000385: DUP2 00000386: MSTORE 00000387: PUSH1 0x20 00000389: ADD 0000038a: PUSH1 0x40 0000038c: MLOAD 0000038d: DUP1 0000038e: SWAP2 0000038f: SUB 00000390: SWAP1 00000391: RETURN 00000392: JUMPDEST 00000393: PUSH2 0x0187 00000396: PUSH2 0x0c5c 00000399: JUMP 0000039a: JUMPDEST 0000039b: CALLVALUE 0000039c: ISZERO 0000039d: PUSH2 0x03a5 000003a0: JUMPI 000003a1: PUSH1 0x00 000003a3: DUP1 000003a4: REVERT 000003a5: JUMPDEST 000003a6: PUSH2 0x0187 000003a9: PUSH1 0x04 000003ab: DUP1 000003ac: CALLDATALOAD 000003ad: SWAP1 000003ae: PUSH1 0x24 000003b0: DUP1 000003b1: CALLDATALOAD 000003b2: SWAP2 000003b3: PUSH1 0x44 000003b5: CALLDATALOAD 000003b6: SWAP2 000003b7: PUSH1 0x64 000003b9: CALLDATALOAD 000003ba: SWAP1 000003bb: DUP2 000003bc: ADD 000003bd: SWAP2 000003be: ADD 000003bf: CALLDATALOAD 000003c0: PUSH2 0x0cac 000003c3: JUMP 000003c4: JUMPDEST 000003c5: CALLVALUE 000003c6: ISZERO 000003c7: PUSH2 0x03cf 000003ca: JUMPI 000003cb: PUSH1 0x00 000003cd: DUP1 000003ce: REVERT 000003cf: JUMPDEST 000003d0: PUSH2 0x0187 000003d3: PUSH1 0x24 000003d5: PUSH1 0x04 000003d7: DUP1 000003d8: CALLDATALOAD 000003d9: DUP3 000003da: DUP2 000003db: ADD 000003dc: SWAP3 000003dd: SWAP1 000003de: DUP3 000003df: ADD 000003e0: CALLDATALOAD 000003e1: SWAP2 000003e2: DUP2 000003e3: CALLDATALOAD 000003e4: SWAP2 000003e5: DUP3 000003e6: ADD 000003e7: SWAP2 000003e8: ADD 000003e9: CALLDATALOAD 000003ea: PUSH2 0x0d3b 000003ed: JUMP 000003ee: JUMPDEST 000003ef: CALLVALUE 000003f0: ISZERO 000003f1: PUSH2 0x03f9 000003f4: JUMPI 000003f5: PUSH1 0x00 000003f7: DUP1 000003f8: REVERT 000003f9: JUMPDEST 000003fa: PUSH2 0x0187 000003fd: PUSH1 0x01 000003ff: PUSH1 0xa0 00000401: PUSH1 0x02 00000403: EXP 00000404: SUB 00000405: PUSH1 0x04 00000407: CALLDATALOAD 00000408: AND 00000409: PUSH1 0x24 0000040b: CALLDATALOAD 0000040c: ISZERO 0000040d: ISZERO 0000040e: PUSH2 0x0dd5 00000411: JUMP 00000412: JUMPDEST 00000413: CALLVALUE 00000414: ISZERO 00000415: PUSH2 0x041d 00000418: JUMPI 00000419: PUSH1 0x00 0000041b: DUP1 0000041c: REVERT 0000041d: JUMPDEST 0000041e: PUSH2 0x0187 00000421: PUSH1 0x04 00000423: DUP1 00000424: CALLDATALOAD 00000425: PUSH1 0x24 00000427: DUP2 00000428: ADD 00000429: SWAP2 0000042a: ADD 0000042b: CALLDATALOAD 0000042c: PUSH2 0x0e3e 0000042f: JUMP 00000430: JUMPDEST 00000431: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000446: PUSH4 0x113da5d9 0000044b: PUSH1 0x00 0000044d: PUSH1 0x40 0000044f: MLOAD 00000450: PUSH1 0xe0 00000452: PUSH1 0x02 00000454: EXP 00000455: PUSH4 0xffffffff 0000045a: DUP5 0000045b: AND 0000045c: MUL 0000045d: DUP2 0000045e: MSTORE 0000045f: PUSH1 0x04 00000461: DUP2 00000462: ADD 00000463: SWAP2 00000464: SWAP1 00000465: SWAP2 00000466: MSTORE 00000467: PUSH1 0x24 00000469: ADD 0000046a: PUSH1 0x00 0000046c: PUSH1 0x40 0000046e: MLOAD 0000046f: DUP1 00000470: DUP4 00000471: SUB 00000472: DUP2 00000473: DUP7 00000474: DUP1 00000475: EXTCODESIZE 00000476: ISZERO 00000477: ISZERO 00000478: PUSH2 0x0480 0000047b: JUMPI 0000047c: PUSH1 0x00 0000047e: DUP1 0000047f: REVERT 00000480: JUMPDEST 00000481: PUSH2 0x02c6 00000484: GAS 00000485: SUB 00000486: DELEGATECALL 00000487: ISZERO 00000488: ISZERO 00000489: PUSH2 0x0491 0000048c: JUMPI 0000048d: PUSH1 0x00 0000048f: DUP1 00000490: REVERT 00000491: JUMPDEST 00000492: POP 00000493: POP 00000494: POP 00000495: JUMP 00000496: JUMPDEST 00000497: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 000004ac: PUSH4 0x4afcba30 000004b1: PUSH1 0x00 000004b3: DUP6 000004b4: DUP6 000004b5: DUP6 000004b6: PUSH1 0x40 000004b8: MLOAD 000004b9: PUSH1 0xe0 000004bb: PUSH1 0x02 000004bd: EXP 000004be: PUSH4 0xffffffff 000004c3: DUP8 000004c4: AND 000004c5: MUL 000004c6: DUP2 000004c7: MSTORE 000004c8: PUSH1 0x04 000004ca: DUP2 000004cb: ADD 000004cc: SWAP5 000004cd: SWAP1 000004ce: SWAP5 000004cf: MSTORE 000004d0: PUSH1 0x01 000004d2: PUSH1 0xa0 000004d4: PUSH1 0x02 000004d6: EXP 000004d7: SUB 000004d8: SWAP3 000004d9: DUP4 000004da: AND 000004db: PUSH1 0x24 000004dd: DUP6 000004de: ADD 000004df: MSTORE 000004e0: PUSH1 0x44 000004e2: DUP5 000004e3: ADD 000004e4: SWAP2 000004e5: SWAP1 000004e6: SWAP2 000004e7: MSTORE 000004e8: AND 000004e9: PUSH1 0x64 000004eb: DUP3 000004ec: ADD 000004ed: MSTORE 000004ee: PUSH1 0x84 000004f0: ADD 000004f1: PUSH1 0x00 000004f3: PUSH1 0x40 000004f5: MLOAD 000004f6: DUP1 000004f7: DUP4 000004f8: SUB 000004f9: DUP2 000004fa: DUP7 000004fb: DUP1 000004fc: EXTCODESIZE 000004fd: ISZERO 000004fe: ISZERO 000004ff: PUSH2 0x0507 00000502: JUMPI 00000503: PUSH1 0x00 00000505: DUP1 00000506: REVERT 00000507: JUMPDEST 00000508: PUSH2 0x02c6 0000050b: GAS 0000050c: SUB 0000050d: DELEGATECALL 0000050e: ISZERO 0000050f: ISZERO 00000510: PUSH2 0x0518 00000513: JUMPI 00000514: PUSH1 0x00 00000516: DUP1 00000517: REVERT 00000518: JUMPDEST 00000519: POP 0000051a: POP 0000051b: POP 0000051c: POP 0000051d: POP 0000051e: POP 0000051f: JUMP 00000520: JUMPDEST 00000521: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000536: PUSH4 0x7c6a8a68 0000053b: PUSH1 0x00 0000053d: PUSH1 0x40 0000053f: MLOAD 00000540: PUSH1 0xe0 00000542: PUSH1 0x02 00000544: EXP 00000545: PUSH4 0xffffffff 0000054a: DUP5 0000054b: AND 0000054c: MUL 0000054d: DUP2 0000054e: MSTORE 0000054f: PUSH1 0x04 00000551: DUP2 00000552: ADD 00000553: SWAP2 00000554: SWAP1 00000555: SWAP2 00000556: MSTORE 00000557: PUSH1 0x24 00000559: ADD 0000055a: PUSH1 0x00 0000055c: PUSH1 0x40 0000055e: MLOAD 0000055f: DUP1 00000560: DUP4 00000561: SUB 00000562: DUP2 00000563: DUP7 00000564: DUP1 00000565: EXTCODESIZE 00000566: ISZERO 00000567: ISZERO 00000568: PUSH2 0x0480 0000056b: JUMPI 0000056c: PUSH1 0x00 0000056e: DUP1 0000056f: REVERT 00000570: JUMPDEST 00000571: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000586: PUSH4 0x2fb2c6d2 0000058b: PUSH1 0x00 0000058d: DUP5 0000058e: DUP5 0000058f: PUSH1 0x40 00000591: MLOAD 00000592: PUSH1 0xe0 00000594: PUSH1 0x02 00000596: EXP 00000597: PUSH4 0xffffffff 0000059c: DUP7 0000059d: AND 0000059e: MUL 0000059f: DUP2 000005a0: MSTORE 000005a1: PUSH1 0x04 000005a3: DUP2 000005a4: ADD 000005a5: SWAP4 000005a6: SWAP1 000005a7: SWAP4 000005a8: MSTORE 000005a9: PUSH1 0x24 000005ab: DUP4 000005ac: ADD 000005ad: SWAP2 000005ae: SWAP1 000005af: SWAP2 000005b0: MSTORE 000005b1: PUSH1 0x01 000005b3: PUSH1 0xa0 000005b5: PUSH1 0x02 000005b7: EXP 000005b8: SUB 000005b9: AND 000005ba: PUSH1 0x44 000005bc: DUP3 000005bd: ADD 000005be: MSTORE 000005bf: PUSH1 0x64 000005c1: ADD 000005c2: PUSH1 0x00 000005c4: PUSH1 0x40 000005c6: MLOAD 000005c7: DUP1 000005c8: DUP4 000005c9: SUB 000005ca: DUP2 000005cb: DUP7 000005cc: DUP1 000005cd: EXTCODESIZE 000005ce: ISZERO 000005cf: ISZERO 000005d0: PUSH2 0x05d8 000005d3: JUMPI 000005d4: PUSH1 0x00 000005d6: DUP1 000005d7: REVERT 000005d8: JUMPDEST 000005d9: PUSH2 0x02c6 000005dc: GAS 000005dd: SUB 000005de: DELEGATECALL 000005df: ISZERO 000005e0: ISZERO 000005e1: PUSH2 0x05e9 000005e4: JUMPI 000005e5: PUSH1 0x00 000005e7: DUP1 000005e8: REVERT 000005e9: JUMPDEST 000005ea: POP 000005eb: POP 000005ec: POP 000005ed: POP 000005ee: POP 000005ef: JUMP 000005f0: JUMPDEST 000005f1: PUSH1 0x13 000005f3: SLOAD 000005f4: PUSH1 0xff 000005f6: AND 000005f7: ISZERO 000005f8: PUSH2 0x0600 000005fb: JUMPI 000005fc: PUSH1 0x00 000005fe: DUP1 000005ff: REVERT 00000600: JUMPDEST 00000601: PUSH1 0x13 00000603: DUP1 00000604: SLOAD 00000605: PUSH1 0xff 00000607: NOT 00000608: AND 00000609: PUSH1 0x01 0000060b: OR 0000060c: SWAP1 0000060d: SSTORE 0000060e: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000623: PUSH4 0x80b8871c 00000628: PUSH1 0x00 0000062a: DUP4 0000062b: PUSH1 0x40 0000062d: MLOAD 0000062e: PUSH1 0xe0 00000630: PUSH1 0x02 00000632: EXP 00000633: PUSH4 0xffffffff 00000638: DUP6 00000639: AND 0000063a: MUL 0000063b: DUP2 0000063c: MSTORE 0000063d: PUSH1 0x04 0000063f: DUP2 00000640: ADD 00000641: SWAP3 00000642: SWAP1 00000643: SWAP3 00000644: MSTORE 00000645: PUSH1 0x01 00000647: PUSH1 0xa0 00000649: PUSH1 0x02 0000064b: EXP 0000064c: SUB 0000064d: AND 0000064e: PUSH1 0x24 00000650: DUP3 00000651: ADD 00000652: MSTORE 00000653: PUSH1 0x44 00000655: ADD 00000656: PUSH1 0x00 00000658: PUSH1 0x40 0000065a: MLOAD 0000065b: DUP1 0000065c: DUP4 0000065d: SUB 0000065e: DUP2 0000065f: DUP7 00000660: DUP1 00000661: EXTCODESIZE 00000662: ISZERO 00000663: ISZERO 00000664: PUSH2 0x066c 00000667: JUMPI 00000668: PUSH1 0x00 0000066a: DUP1 0000066b: REVERT 0000066c: JUMPDEST 0000066d: PUSH2 0x02c6 00000670: GAS 00000671: SUB 00000672: DELEGATECALL 00000673: ISZERO 00000674: ISZERO 00000675: PUSH2 0x067d 00000678: JUMPI 00000679: PUSH1 0x00 0000067b: DUP1 0000067c: REVERT 0000067d: JUMPDEST 0000067e: POP 0000067f: POP 00000680: PUSH1 0x13 00000682: DUP1 00000683: SLOAD 00000684: PUSH1 0xff 00000686: NOT 00000687: AND 00000688: SWAP1 00000689: SSTORE 0000068a: POP 0000068b: POP 0000068c: JUMP 0000068d: JUMPDEST 0000068e: PUSH1 0x13 00000690: SLOAD 00000691: PUSH1 0xff 00000693: AND 00000694: ISZERO 00000695: PUSH2 0x069d 00000698: JUMPI 00000699: PUSH1 0x00 0000069b: DUP1 0000069c: REVERT 0000069d: JUMPDEST 0000069e: PUSH1 0x13 000006a0: DUP1 000006a1: SLOAD 000006a2: PUSH1 0xff 000006a4: NOT 000006a5: AND 000006a6: PUSH1 0x01 000006a8: OR 000006a9: SWAP1 000006aa: SSTORE 000006ab: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 000006c0: PUSH4 0x392a4fa2 000006c5: PUSH1 0x00 000006c7: DUP6 000006c8: DUP6 000006c9: DUP6 000006ca: PUSH1 0x40 000006cc: MLOAD 000006cd: PUSH1 0xe0 000006cf: PUSH1 0x02 000006d1: EXP 000006d2: PUSH4 0xffffffff 000006d7: DUP8 000006d8: AND 000006d9: MUL 000006da: DUP2 000006db: MSTORE 000006dc: PUSH1 0x04 000006de: DUP2 000006df: ADD 000006e0: DUP6 000006e1: DUP2 000006e2: MSTORE 000006e3: PUSH1 0x01 000006e5: PUSH1 0xa0 000006e7: PUSH1 0x02 000006e9: EXP 000006ea: SUB 000006eb: DUP6 000006ec: AND 000006ed: PUSH1 0x24 000006ef: DUP4 000006f0: ADD 000006f1: MSTORE 000006f2: PUSH1 0x60 000006f4: PUSH1 0x44 000006f6: DUP4 000006f7: ADD 000006f8: SWAP1 000006f9: DUP2 000006fa: MSTORE 000006fb: PUSH1 0x64 000006fd: DUP4 000006fe: ADD 000006ff: DUP5 00000700: SWAP1 00000701: MSTORE 00000702: SWAP1 00000703: SWAP2 00000704: PUSH1 0x84 00000706: ADD 00000707: DUP5 00000708: PUSH1 0x20 0000070a: DUP6 0000070b: MUL 0000070c: DUP1 0000070d: DUP3 0000070e: DUP5 0000070f: CALLDATACOPY 00000710: DUP3 00000711: ADD 00000712: SWAP2 00000713: POP 00000714: POP 00000715: SWAP6 00000716: POP 00000717: POP 00000718: POP 00000719: POP 0000071a: POP 0000071b: POP 0000071c: PUSH1 0x00 0000071e: PUSH1 0x40 00000720: MLOAD 00000721: DUP1 00000722: DUP4 00000723: SUB 00000724: DUP2 00000725: DUP7 00000726: DUP1 00000727: EXTCODESIZE 00000728: ISZERO 00000729: ISZERO 0000072a: PUSH2 0x0732 0000072d: JUMPI 0000072e: PUSH1 0x00 00000730: DUP1 00000731: REVERT 00000732: JUMPDEST 00000733: PUSH2 0x02c6 00000736: GAS 00000737: SUB 00000738: DELEGATECALL 00000739: ISZERO 0000073a: ISZERO 0000073b: PUSH2 0x0743 0000073e: JUMPI 0000073f: PUSH1 0x00 00000741: DUP1 00000742: REVERT 00000743: JUMPDEST 00000744: POP 00000745: POP 00000746: PUSH1 0x13 00000748: DUP1 00000749: SLOAD 0000074a: PUSH1 0xff 0000074c: NOT 0000074d: AND 0000074e: SWAP1 0000074f: SSTORE 00000750: POP 00000751: POP 00000752: POP 00000753: POP 00000754: JUMP 00000755: JUMPDEST 00000756: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 0000076b: PUSH4 0xf522fc1b 00000770: PUSH1 0x00 00000772: DUP4 00000773: PUSH1 0x40 00000775: MLOAD 00000776: PUSH1 0xe0 00000778: PUSH1 0x02 0000077a: EXP 0000077b: PUSH4 0xffffffff 00000780: DUP6 00000781: AND 00000782: MUL 00000783: DUP2 00000784: MSTORE 00000785: PUSH1 0x04 00000787: DUP2 00000788: ADD 00000789: SWAP3 0000078a: SWAP1 0000078b: SWAP3 0000078c: MSTORE 0000078d: PUSH1 0x24 0000078f: DUP3 00000790: ADD 00000791: MSTORE 00000792: PUSH1 0x44 00000794: ADD 00000795: PUSH1 0x00 00000797: PUSH1 0x40 00000799: MLOAD 0000079a: DUP1 0000079b: DUP4 0000079c: SUB 0000079d: DUP2 0000079e: DUP7 0000079f: DUP1 000007a0: EXTCODESIZE 000007a1: ISZERO 000007a2: ISZERO 000007a3: PUSH2 0x07ab 000007a6: JUMPI 000007a7: PUSH1 0x00 000007a9: DUP1 000007aa: REVERT 000007ab: JUMPDEST 000007ac: PUSH2 0x02c6 000007af: GAS 000007b0: SUB 000007b1: DELEGATECALL 000007b2: ISZERO 000007b3: ISZERO 000007b4: PUSH2 0x07bc 000007b7: JUMPI 000007b8: PUSH1 0x00 000007ba: DUP1 000007bb: REVERT 000007bc: JUMPDEST 000007bd: POP 000007be: POP 000007bf: POP 000007c0: POP 000007c1: JUMP 000007c2: JUMPDEST 000007c3: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 000007d8: PUSH4 0x512b893f 000007dd: PUSH1 0x00 000007df: DUP7 000007e0: DUP7 000007e1: DUP7 000007e2: DUP7 000007e3: PUSH1 0x40 000007e5: MLOAD 000007e6: PUSH1 0xe0 000007e8: PUSH1 0x02 000007ea: EXP 000007eb: PUSH4 0xffffffff 000007f0: DUP9 000007f1: AND 000007f2: MUL 000007f3: DUP2 000007f4: MSTORE 000007f5: PUSH1 0x04 000007f7: DUP2 000007f8: ADD 000007f9: DUP7 000007fa: DUP2 000007fb: MSTORE 000007fc: PUSH1 0x01 000007fe: PUSH1 0xa0 00000800: PUSH1 0x02 00000802: EXP 00000803: SUB 00000804: DUP7 00000805: AND 00000806: PUSH1 0x24 00000808: DUP4 00000809: ADD 0000080a: MSTORE 0000080b: PUSH1 0x44 0000080d: DUP3 0000080e: ADD 0000080f: DUP6 00000810: SWAP1 00000811: MSTORE 00000812: PUSH1 0x80 00000814: PUSH1 0x64 00000816: DUP4 00000817: ADD 00000818: SWAP1 00000819: DUP2 0000081a: MSTORE 0000081b: PUSH1 0x84 0000081d: DUP4 0000081e: ADD 0000081f: DUP5 00000820: SWAP1 00000821: MSTORE 00000822: SWAP1 00000823: SWAP2 00000824: PUSH1 0xa4 00000826: ADD 00000827: DUP5 00000828: DUP5 00000829: DUP1 0000082a: DUP3 0000082b: DUP5 0000082c: CALLDATACOPY 0000082d: DUP3 0000082e: ADD 0000082f: SWAP2 00000830: POP 00000831: POP 00000832: SWAP7 00000833: POP 00000834: POP 00000835: POP 00000836: POP 00000837: POP 00000838: POP 00000839: POP 0000083a: PUSH1 0x00 0000083c: PUSH1 0x40 0000083e: MLOAD 0000083f: DUP1 00000840: DUP4 00000841: SUB 00000842: DUP2 00000843: DUP7 00000844: DUP1 00000845: EXTCODESIZE 00000846: ISZERO 00000847: ISZERO 00000848: PUSH2 0x0850 0000084b: JUMPI 0000084c: PUSH1 0x00 0000084e: DUP1 0000084f: REVERT 00000850: JUMPDEST 00000851: PUSH2 0x02c6 00000854: GAS 00000855: SUB 00000856: DELEGATECALL 00000857: ISZERO 00000858: ISZERO 00000859: PUSH2 0x0861 0000085c: JUMPI 0000085d: PUSH1 0x00 0000085f: DUP1 00000860: REVERT 00000861: JUMPDEST 00000862: POP 00000863: POP 00000864: POP 00000865: POP 00000866: POP 00000867: POP 00000868: POP 00000869: JUMP 0000086a: JUMPDEST 0000086b: PUSH1 0x00 0000086d: DUP1 0000086e: PUSH1 0x00 00000870: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000885: PUSH4 0x54fd4d50 0000088a: PUSH1 0x00 0000088c: PUSH1 0x40 0000088e: MLOAD 0000088f: PUSH1 0x60 00000891: ADD 00000892: MSTORE 00000893: PUSH1 0x40 00000895: MLOAD 00000896: DUP2 00000897: PUSH4 0xffffffff 0000089c: AND 0000089d: PUSH1 0xe0 0000089f: PUSH1 0x02 000008a1: EXP 000008a2: MUL 000008a3: DUP2 000008a4: MSTORE 000008a5: PUSH1 0x04 000008a7: ADD 000008a8: PUSH1 0x60 000008aa: PUSH1 0x40 000008ac: MLOAD 000008ad: DUP1 000008ae: DUP4 000008af: SUB 000008b0: DUP2 000008b1: DUP7 000008b2: DUP1 000008b3: EXTCODESIZE 000008b4: ISZERO 000008b5: ISZERO 000008b6: PUSH2 0x08be 000008b9: JUMPI 000008ba: PUSH1 0x00 000008bc: DUP1 000008bd: REVERT 000008be: JUMPDEST 000008bf: PUSH2 0x02c6 000008c2: GAS 000008c3: SUB 000008c4: DELEGATECALL 000008c5: ISZERO 000008c6: ISZERO 000008c7: PUSH2 0x08cf 000008ca: JUMPI 000008cb: PUSH1 0x00 000008cd: DUP1 000008ce: REVERT 000008cf: JUMPDEST 000008d0: POP 000008d1: POP 000008d2: POP 000008d3: PUSH1 0x40 000008d5: MLOAD 000008d6: DUP1 000008d7: MLOAD 000008d8: SWAP1 000008d9: PUSH1 0x20 000008db: ADD 000008dc: DUP1 000008dd: MLOAD 000008de: SWAP1 000008df: PUSH1 0x20 000008e1: ADD 000008e2: DUP1 000008e3: MLOAD 000008e4: SWAP1 000008e5: POP 000008e6: SWAP3 000008e7: POP 000008e8: SWAP3 000008e9: POP 000008ea: SWAP3 000008eb: POP 000008ec: SWAP1 000008ed: SWAP2 000008ee: SWAP3 000008ef: JUMP 000008f0: JUMPDEST 000008f1: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000906: PUSH4 0x67cbcfc0 0000090b: PUSH1 0x00 0000090d: DUP5 0000090e: DUP5 0000090f: PUSH1 0x40 00000911: MLOAD 00000912: PUSH1 0xe0 00000914: PUSH1 0x02 00000916: EXP 00000917: PUSH4 0xffffffff 0000091c: DUP7 0000091d: AND 0000091e: MUL 0000091f: DUP2 00000920: MSTORE 00000921: PUSH1 0x04 00000923: DUP2 00000924: ADD 00000925: SWAP4 00000926: SWAP1 00000927: SWAP4 00000928: MSTORE 00000929: PUSH1 0x24 0000092b: DUP4 0000092c: ADD 0000092d: SWAP2 0000092e: SWAP1 0000092f: SWAP2 00000930: MSTORE 00000931: PUSH1 0x44 00000933: DUP3 00000934: ADD 00000935: MSTORE 00000936: PUSH1 0x64 00000938: ADD 00000939: PUSH1 0x00 0000093b: PUSH1 0x40 0000093d: MLOAD 0000093e: DUP1 0000093f: DUP4 00000940: SUB 00000941: DUP2 00000942: DUP7 00000943: DUP1 00000944: EXTCODESIZE 00000945: ISZERO 00000946: ISZERO 00000947: PUSH2 0x05d8 0000094a: JUMPI 0000094b: PUSH1 0x00 0000094d: DUP1 0000094e: REVERT 0000094f: JUMPDEST 00000950: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000965: PUSH4 0xb261039b 0000096a: PUSH1 0x00 0000096c: DUP8 0000096d: DUP8 0000096e: DUP8 0000096f: DUP8 00000970: DUP8 00000971: PUSH1 0x40 00000973: MLOAD 00000974: PUSH1 0xe0 00000976: PUSH1 0x02 00000978: EXP 00000979: PUSH4 0xffffffff 0000097e: DUP10 0000097f: AND 00000980: MUL 00000981: DUP2 00000982: MSTORE 00000983: PUSH1 0x04 00000985: DUP2 00000986: ADD 00000987: DUP8 00000988: DUP2 00000989: MSTORE 0000098a: PUSH1 0x01 0000098c: PUSH1 0xa0 0000098e: PUSH1 0x02 00000990: EXP 00000991: SUB 00000992: DUP8 00000993: AND 00000994: PUSH1 0x24 00000996: DUP4 00000997: ADD 00000998: MSTORE 00000999: PUSH1 0x44 0000099b: DUP3 0000099c: ADD 0000099d: DUP7 0000099e: SWAP1 0000099f: MSTORE 000009a0: PUSH1 0x64 000009a2: DUP3 000009a3: ADD 000009a4: DUP6 000009a5: SWAP1 000009a6: MSTORE 000009a7: PUSH1 0xa0 000009a9: PUSH1 0x84 000009ab: DUP4 000009ac: ADD 000009ad: SWAP1 000009ae: DUP2 000009af: MSTORE 000009b0: PUSH1 0xa4 000009b2: DUP4 000009b3: ADD 000009b4: DUP5 000009b5: SWAP1 000009b6: MSTORE 000009b7: SWAP1 000009b8: SWAP2 000009b9: PUSH1 0xc4 000009bb: ADD 000009bc: DUP5 000009bd: DUP5 000009be: DUP1 000009bf: DUP3 000009c0: DUP5 000009c1: CALLDATACOPY 000009c2: DUP3 000009c3: ADD 000009c4: SWAP2 000009c5: POP 000009c6: POP 000009c7: SWAP8 000009c8: POP 000009c9: POP 000009ca: POP 000009cb: POP 000009cc: POP 000009cd: POP 000009ce: POP 000009cf: POP 000009d0: PUSH1 0x00 000009d2: PUSH1 0x40 000009d4: MLOAD 000009d5: DUP1 000009d6: DUP4 000009d7: SUB 000009d8: DUP2 000009d9: DUP7 000009da: DUP1 000009db: EXTCODESIZE 000009dc: ISZERO 000009dd: ISZERO 000009de: PUSH2 0x09e6 000009e1: JUMPI 000009e2: PUSH1 0x00 000009e4: DUP1 000009e5: REVERT 000009e6: JUMPDEST 000009e7: PUSH2 0x02c6 000009ea: GAS 000009eb: SUB 000009ec: DELEGATECALL 000009ed: ISZERO 000009ee: ISZERO 000009ef: PUSH2 0x09f7 000009f2: JUMPI 000009f3: PUSH1 0x00 000009f5: DUP1 000009f6: REVERT 000009f7: JUMPDEST 000009f8: POP 000009f9: POP 000009fa: POP 000009fb: POP 000009fc: POP 000009fd: POP 000009fe: POP 000009ff: POP 00000a00: JUMP 00000a01: JUMPDEST 00000a02: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000a17: PUSH4 0xf64e7cda 00000a1c: PUSH1 0x00 00000a1e: PUSH1 0x40 00000a20: MLOAD 00000a21: PUSH1 0xe0 00000a23: PUSH1 0x02 00000a25: EXP 00000a26: PUSH4 0xffffffff 00000a2b: DUP5 00000a2c: AND 00000a2d: MUL 00000a2e: DUP2 00000a2f: MSTORE 00000a30: PUSH1 0x04 00000a32: DUP2 00000a33: ADD 00000a34: SWAP2 00000a35: SWAP1 00000a36: SWAP2 00000a37: MSTORE 00000a38: PUSH1 0x24 00000a3a: ADD 00000a3b: PUSH1 0x00 00000a3d: PUSH1 0x40 00000a3f: MLOAD 00000a40: DUP1 00000a41: DUP4 00000a42: SUB 00000a43: DUP2 00000a44: DUP7 00000a45: DUP1 00000a46: EXTCODESIZE 00000a47: ISZERO 00000a48: ISZERO 00000a49: PUSH2 0x0480 00000a4c: JUMPI 00000a4d: PUSH1 0x00 00000a4f: DUP1 00000a50: REVERT 00000a51: JUMPDEST 00000a52: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000a67: PUSH4 0x68540b6b 00000a6c: PUSH1 0x00 00000a6e: DUP4 00000a6f: PUSH1 0x40 00000a71: MLOAD 00000a72: PUSH1 0xe0 00000a74: PUSH1 0x02 00000a76: EXP 00000a77: PUSH4 0xffffffff 00000a7c: DUP6 00000a7d: AND 00000a7e: MUL 00000a7f: DUP2 00000a80: MSTORE 00000a81: PUSH1 0x04 00000a83: DUP2 00000a84: ADD 00000a85: SWAP3 00000a86: SWAP1 00000a87: SWAP3 00000a88: MSTORE 00000a89: PUSH1 0x24 00000a8b: DUP3 00000a8c: ADD 00000a8d: MSTORE 00000a8e: PUSH1 0x44 00000a90: ADD 00000a91: PUSH1 0x00 00000a93: PUSH1 0x40 00000a95: MLOAD 00000a96: DUP1 00000a97: DUP4 00000a98: SUB 00000a99: DUP2 00000a9a: DUP7 00000a9b: DUP1 00000a9c: EXTCODESIZE 00000a9d: ISZERO 00000a9e: ISZERO 00000a9f: PUSH2 0x07ab 00000aa2: JUMPI 00000aa3: PUSH1 0x00 00000aa5: DUP1 00000aa6: REVERT 00000aa7: JUMPDEST 00000aa8: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000abd: PUSH4 0xc27d2d45 00000ac2: PUSH1 0x00 00000ac4: DUP4 00000ac5: PUSH1 0x40 00000ac7: MLOAD 00000ac8: PUSH1 0xe0 00000aca: PUSH1 0x02 00000acc: EXP 00000acd: PUSH4 0xffffffff 00000ad2: DUP6 00000ad3: AND 00000ad4: MUL 00000ad5: DUP2 00000ad6: MSTORE 00000ad7: PUSH1 0x04 00000ad9: DUP2 00000ada: ADD 00000adb: SWAP3 00000adc: SWAP1 00000add: SWAP3 00000ade: MSTORE 00000adf: PUSH1 0x01 00000ae1: PUSH1 0xa0 00000ae3: PUSH1 0x02 00000ae5: EXP 00000ae6: SUB 00000ae7: AND 00000ae8: PUSH1 0x24 00000aea: DUP3 00000aeb: ADD 00000aec: MSTORE 00000aed: PUSH1 0x44 00000aef: ADD 00000af0: PUSH1 0x00 00000af2: PUSH1 0x40 00000af4: MLOAD 00000af5: DUP1 00000af6: DUP4 00000af7: SUB 00000af8: DUP2 00000af9: DUP7 00000afa: DUP1 00000afb: EXTCODESIZE 00000afc: ISZERO 00000afd: ISZERO 00000afe: PUSH2 0x07ab 00000b01: JUMPI 00000b02: PUSH1 0x00 00000b04: DUP1 00000b05: REVERT 00000b06: JUMPDEST 00000b07: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000b1c: PUSH4 0x62cea5b9 00000b21: PUSH1 0x00 00000b23: PUSH1 0x40 00000b25: MLOAD 00000b26: PUSH1 0xe0 00000b28: PUSH1 0x02 00000b2a: EXP 00000b2b: PUSH4 0xffffffff 00000b30: DUP5 00000b31: AND 00000b32: MUL 00000b33: DUP2 00000b34: MSTORE 00000b35: PUSH1 0x04 00000b37: DUP2 00000b38: ADD 00000b39: SWAP2 00000b3a: SWAP1 00000b3b: SWAP2 00000b3c: MSTORE 00000b3d: PUSH1 0x24 00000b3f: ADD 00000b40: PUSH1 0x00 00000b42: PUSH1 0x40 00000b44: MLOAD 00000b45: DUP1 00000b46: DUP4 00000b47: SUB 00000b48: DUP2 00000b49: DUP7 00000b4a: DUP1 00000b4b: EXTCODESIZE 00000b4c: ISZERO 00000b4d: ISZERO 00000b4e: PUSH2 0x0480 00000b51: JUMPI 00000b52: PUSH1 0x00 00000b54: DUP1 00000b55: REVERT 00000b56: JUMPDEST 00000b57: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000b6c: PUSH4 0xdde9806b 00000b71: PUSH1 0x00 00000b73: DUP7 00000b74: DUP7 00000b75: DUP7 00000b76: DUP7 00000b77: PUSH1 0x40 00000b79: MLOAD 00000b7a: PUSH1 0xe0 00000b7c: PUSH1 0x02 00000b7e: EXP 00000b7f: PUSH4 0xffffffff 00000b84: DUP9 00000b85: AND 00000b86: MUL 00000b87: DUP2 00000b88: MSTORE 00000b89: PUSH1 0x04 00000b8b: DUP2 00000b8c: ADD 00000b8d: DUP7 00000b8e: DUP2 00000b8f: MSTORE 00000b90: PUSH1 0x01 00000b92: PUSH1 0xa0 00000b94: PUSH1 0x02 00000b96: EXP 00000b97: SUB 00000b98: DUP7 00000b99: AND 00000b9a: PUSH1 0x24 00000b9c: DUP4 00000b9d: ADD 00000b9e: MSTORE 00000b9f: PUSH1 0x44 00000ba1: DUP3 00000ba2: ADD 00000ba3: DUP6 00000ba4: SWAP1 00000ba5: MSTORE 00000ba6: PUSH1 0x80 00000ba8: PUSH1 0x64 00000baa: DUP4 00000bab: ADD 00000bac: SWAP1 00000bad: DUP2 00000bae: MSTORE 00000baf: PUSH1 0x84 00000bb1: DUP4 00000bb2: ADD 00000bb3: DUP5 00000bb4: SWAP1 00000bb5: MSTORE 00000bb6: SWAP1 00000bb7: SWAP2 00000bb8: PUSH1 0xa4 00000bba: ADD 00000bbb: DUP5 00000bbc: DUP5 00000bbd: DUP1 00000bbe: DUP3 00000bbf: DUP5 00000bc0: CALLDATACOPY 00000bc1: DUP3 00000bc2: ADD 00000bc3: SWAP2 00000bc4: POP 00000bc5: POP 00000bc6: SWAP7 00000bc7: POP 00000bc8: POP 00000bc9: POP 00000bca: POP 00000bcb: POP 00000bcc: POP 00000bcd: POP 00000bce: PUSH1 0x00 00000bd0: PUSH1 0x40 00000bd2: MLOAD 00000bd3: DUP1 00000bd4: DUP4 00000bd5: SUB 00000bd6: DUP2 00000bd7: DUP7 00000bd8: DUP1 00000bd9: EXTCODESIZE 00000bda: ISZERO 00000bdb: ISZERO 00000bdc: PUSH2 0x0850 00000bdf: JUMPI 00000be0: PUSH1 0x00 00000be2: DUP1 00000be3: REVERT 00000be4: JUMPDEST 00000be5: PUSH1 0x00 00000be7: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000bfc: PUSH4 0xe8603f09 00000c01: DUP3 00000c02: DUP1 00000c03: PUSH1 0x40 00000c05: MLOAD 00000c06: PUSH1 0x20 00000c08: ADD 00000c09: MSTORE 00000c0a: PUSH1 0x40 00000c0c: MLOAD 00000c0d: PUSH1 0xe0 00000c0f: PUSH1 0x02 00000c11: EXP 00000c12: PUSH4 0xffffffff 00000c17: DUP5 00000c18: AND 00000c19: MUL 00000c1a: DUP2 00000c1b: MSTORE 00000c1c: PUSH1 0x04 00000c1e: DUP2 00000c1f: ADD 00000c20: SWAP2 00000c21: SWAP1 00000c22: SWAP2 00000c23: MSTORE 00000c24: PUSH1 0x24 00000c26: ADD 00000c27: PUSH1 0x20 00000c29: PUSH1 0x40 00000c2b: MLOAD 00000c2c: DUP1 00000c2d: DUP4 00000c2e: SUB 00000c2f: DUP2 00000c30: DUP7 00000c31: DUP1 00000c32: EXTCODESIZE 00000c33: ISZERO 00000c34: ISZERO 00000c35: PUSH2 0x0c3d 00000c38: JUMPI 00000c39: PUSH1 0x00 00000c3b: DUP1 00000c3c: REVERT 00000c3d: JUMPDEST 00000c3e: PUSH2 0x02c6 00000c41: GAS 00000c42: SUB 00000c43: DELEGATECALL 00000c44: ISZERO 00000c45: ISZERO 00000c46: PUSH2 0x0c4e 00000c49: JUMPI 00000c4a: PUSH1 0x00 00000c4c: DUP1 00000c4d: REVERT 00000c4e: JUMPDEST 00000c4f: POP 00000c50: POP 00000c51: POP 00000c52: PUSH1 0x40 00000c54: MLOAD 00000c55: DUP1 00000c56: MLOAD 00000c57: SWAP1 00000c58: POP 00000c59: POP 00000c5a: SWAP1 00000c5b: JUMP 00000c5c: JUMPDEST 00000c5d: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000c72: PUSH4 0xcc135813 00000c77: PUSH1 0x00 00000c79: PUSH1 0x40 00000c7b: MLOAD 00000c7c: PUSH1 0xe0 00000c7e: PUSH1 0x02 00000c80: EXP 00000c81: PUSH4 0xffffffff 00000c86: DUP5 00000c87: AND 00000c88: MUL 00000c89: DUP2 00000c8a: MSTORE 00000c8b: PUSH1 0x04 00000c8d: DUP2 00000c8e: ADD 00000c8f: SWAP2 00000c90: SWAP1 00000c91: SWAP2 00000c92: MSTORE 00000c93: PUSH1 0x24 00000c95: ADD 00000c96: PUSH1 0x00 00000c98: PUSH1 0x40 00000c9a: MLOAD 00000c9b: DUP1 00000c9c: DUP4 00000c9d: SUB 00000c9e: DUP2 00000c9f: DUP7 00000ca0: DUP1 00000ca1: EXTCODESIZE 00000ca2: ISZERO 00000ca3: ISZERO 00000ca4: PUSH2 0x0480 00000ca7: JUMPI 00000ca8: PUSH1 0x00 00000caa: DUP1 00000cab: REVERT 00000cac: JUMPDEST 00000cad: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000cc2: PUSH4 0x2006b39d 00000cc7: PUSH1 0x00 00000cc9: DUP8 00000cca: DUP8 00000ccb: DUP8 00000ccc: DUP8 00000ccd: DUP8 00000cce: PUSH1 0x40 00000cd0: MLOAD 00000cd1: DUP8 00000cd2: PUSH4 0xffffffff 00000cd7: AND 00000cd8: PUSH1 0xe0 00000cda: PUSH1 0x02 00000cdc: EXP 00000cdd: MUL 00000cde: DUP2 00000cdf: MSTORE 00000ce0: PUSH1 0x04 00000ce2: ADD 00000ce3: DUP1 00000ce4: DUP8 00000ce5: DUP2 00000ce6: MSTORE 00000ce7: PUSH1 0x20 00000ce9: ADD 00000cea: DUP7 00000ceb: DUP2 00000cec: MSTORE 00000ced: PUSH1 0x20 00000cef: ADD 00000cf0: DUP6 00000cf1: DUP2 00000cf2: MSTORE 00000cf3: PUSH1 0x20 00000cf5: ADD 00000cf6: DUP5 00000cf7: DUP2 00000cf8: MSTORE 00000cf9: PUSH1 0x20 00000cfb: ADD 00000cfc: DUP1 00000cfd: PUSH1 0x20 00000cff: ADD 00000d00: DUP3 00000d01: DUP2 00000d02: SUB 00000d03: DUP3 00000d04: MSTORE 00000d05: DUP5 00000d06: DUP5 00000d07: DUP3 00000d08: DUP2 00000d09: DUP2 00000d0a: MSTORE 00000d0b: PUSH1 0x20 00000d0d: ADD 00000d0e: SWAP3 00000d0f: POP 00000d10: PUSH1 0x20 00000d12: MUL 00000d13: DUP1 00000d14: DUP3 00000d15: DUP5 00000d16: CALLDATACOPY 00000d17: DUP3 00000d18: ADD 00000d19: SWAP2 00000d1a: POP 00000d1b: POP 00000d1c: SWAP8 00000d1d: POP 00000d1e: POP 00000d1f: POP 00000d20: POP 00000d21: POP 00000d22: POP 00000d23: POP 00000d24: POP 00000d25: PUSH1 0x00 00000d27: PUSH1 0x40 00000d29: MLOAD 00000d2a: DUP1 00000d2b: DUP4 00000d2c: SUB 00000d2d: DUP2 00000d2e: DUP7 00000d2f: DUP1 00000d30: EXTCODESIZE 00000d31: ISZERO 00000d32: ISZERO 00000d33: PUSH2 0x09e6 00000d36: JUMPI 00000d37: PUSH1 0x00 00000d39: DUP1 00000d3a: REVERT 00000d3b: JUMPDEST 00000d3c: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000d51: PUSH4 0x536b7ad5 00000d56: PUSH1 0x00 00000d58: DUP7 00000d59: DUP7 00000d5a: DUP7 00000d5b: DUP7 00000d5c: PUSH1 0x40 00000d5e: MLOAD 00000d5f: DUP7 00000d60: PUSH4 0xffffffff 00000d65: AND 00000d66: PUSH1 0xe0 00000d68: PUSH1 0x02 00000d6a: EXP 00000d6b: MUL 00000d6c: DUP2 00000d6d: MSTORE 00000d6e: PUSH1 0x04 00000d70: ADD 00000d71: DUP1 00000d72: DUP7 00000d73: DUP2 00000d74: MSTORE 00000d75: PUSH1 0x20 00000d77: ADD 00000d78: DUP1 00000d79: PUSH1 0x20 00000d7b: ADD 00000d7c: DUP1 00000d7d: PUSH1 0x20 00000d7f: ADD 00000d80: DUP4 00000d81: DUP2 00000d82: SUB 00000d83: DUP4 00000d84: MSTORE 00000d85: DUP8 00000d86: DUP8 00000d87: DUP3 00000d88: DUP2 00000d89: DUP2 00000d8a: MSTORE 00000d8b: PUSH1 0x20 00000d8d: ADD 00000d8e: SWAP3 00000d8f: POP 00000d90: PUSH1 0x20 00000d92: MUL 00000d93: DUP1 00000d94: DUP3 00000d95: DUP5 00000d96: CALLDATACOPY 00000d97: SWAP1 00000d98: SWAP2 00000d99: ADD 00000d9a: DUP5 00000d9b: DUP2 00000d9c: SUB 00000d9d: DUP4 00000d9e: MSTORE 00000d9f: DUP6 00000da0: DUP2 00000da1: MSTORE 00000da2: PUSH1 0x20 00000da4: SWAP1 00000da5: DUP2 00000da6: ADD 00000da7: SWAP2 00000da8: POP 00000da9: DUP7 00000daa: SWAP1 00000dab: DUP7 00000dac: MUL 00000dad: DUP1 00000dae: DUP3 00000daf: DUP5 00000db0: CALLDATACOPY 00000db1: DUP3 00000db2: ADD 00000db3: SWAP2 00000db4: POP 00000db5: POP 00000db6: SWAP8 00000db7: POP 00000db8: POP 00000db9: POP 00000dba: POP 00000dbb: POP 00000dbc: POP 00000dbd: POP 00000dbe: POP 00000dbf: PUSH1 0x00 00000dc1: PUSH1 0x40 00000dc3: MLOAD 00000dc4: DUP1 00000dc5: DUP4 00000dc6: SUB 00000dc7: DUP2 00000dc8: DUP7 00000dc9: DUP1 00000dca: EXTCODESIZE 00000dcb: ISZERO 00000dcc: ISZERO 00000dcd: PUSH2 0x0850 00000dd0: JUMPI 00000dd1: PUSH1 0x00 00000dd3: DUP1 00000dd4: REVERT 00000dd5: JUMPDEST 00000dd6: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000deb: PUSH4 0x663eb994 00000df0: PUSH1 0x00 00000df2: DUP5 00000df3: DUP5 00000df4: PUSH1 0x40 00000df6: MLOAD 00000df7: PUSH1 0xe0 00000df9: PUSH1 0x02 00000dfb: EXP 00000dfc: PUSH4 0xffffffff 00000e01: DUP7 00000e02: AND 00000e03: MUL 00000e04: DUP2 00000e05: MSTORE 00000e06: PUSH1 0x04 00000e08: DUP2 00000e09: ADD 00000e0a: SWAP4 00000e0b: SWAP1 00000e0c: SWAP4 00000e0d: MSTORE 00000e0e: PUSH1 0x01 00000e10: PUSH1 0xa0 00000e12: PUSH1 0x02 00000e14: EXP 00000e15: SUB 00000e16: SWAP1 00000e17: SWAP2 00000e18: AND 00000e19: PUSH1 0x24 00000e1b: DUP4 00000e1c: ADD 00000e1d: MSTORE 00000e1e: ISZERO 00000e1f: ISZERO 00000e20: PUSH1 0x44 00000e22: DUP3 00000e23: ADD 00000e24: MSTORE 00000e25: PUSH1 0x64 00000e27: ADD 00000e28: PUSH1 0x00 00000e2a: PUSH1 0x40 00000e2c: MLOAD 00000e2d: DUP1 00000e2e: DUP4 00000e2f: SUB 00000e30: DUP2 00000e31: DUP7 00000e32: DUP1 00000e33: EXTCODESIZE 00000e34: ISZERO 00000e35: ISZERO 00000e36: PUSH2 0x05d8 00000e39: JUMPI 00000e3a: PUSH1 0x00 00000e3c: DUP1 00000e3d: REVERT 00000e3e: JUMPDEST 00000e3f: PUSH20 0xf50b0957dfffe6ad144300f9e1a8b79c972e3516 00000e54: PUSH4 0xd4d357c0 00000e59: PUSH1 0x00 00000e5b: DUP5 00000e5c: DUP5 00000e5d: PUSH1 0x40 00000e5f: MLOAD 00000e60: PUSH1 0xe0 00000e62: PUSH1 0x02 00000e64: EXP 00000e65: PUSH4 0xffffffff 00000e6a: DUP7 00000e6b: AND 00000e6c: MUL 00000e6d: DUP2 00000e6e: MSTORE 00000e6f: PUSH1 0x04 00000e71: DUP2 00000e72: ADD 00000e73: DUP5 00000e74: DUP2 00000e75: MSTORE 00000e76: PUSH1 0x40 00000e78: PUSH1 0x24 00000e7a: DUP4 00000e7b: ADD 00000e7c: SWAP1 00000e7d: DUP2 00000e7e: MSTORE 00000e7f: PUSH1 0x44 00000e81: DUP4 00000e82: ADD 00000e83: DUP5 00000e84: SWAP1 00000e85: MSTORE 00000e86: SWAP1 00000e87: SWAP2 00000e88: PUSH1 0x64 00000e8a: ADD 00000e8b: DUP5 00000e8c: PUSH1 0x20 00000e8e: DUP6 00000e8f: MUL 00000e90: DUP1 00000e91: DUP3 00000e92: DUP5 00000e93: CALLDATACOPY 00000e94: DUP3 00000e95: ADD 00000e96: SWAP2 00000e97: POP 00000e98: POP 00000e99: SWAP5 00000e9a: POP 00000e9b: POP 00000e9c: POP 00000e9d: POP 00000e9e: POP 00000e9f: PUSH1 0x00 00000ea1: PUSH1 0x40 00000ea3: MLOAD 00000ea4: DUP1 00000ea5: DUP4 00000ea6: SUB 00000ea7: DUP2 00000ea8: DUP7 00000ea9: DUP1 00000eaa: EXTCODESIZE 00000eab: ISZERO 00000eac: ISZERO 00000ead: PUSH2 0x05d8 00000eb0: JUMPI 00000eb1: PUSH1 0x00 00000eb3: DUP1 00000eb4: REVERT 00000eb5: STOP 00000eb6: LOG1 00000eb7: PUSH6 0x627a7a723058 00000ebe: KECCAK256 00000ebf: PUSH20 0xaf256e7cd1ae46c52534d65645e32c80244484ce 00000ed4: UNKNOWN(0xC1) 00000ed5: LOG3 00000ed6: PUSH32
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x8c5cf09743b140d6c9c113fa5aefb2cf66a0f636bb903777b8aec63da90811b2
call_targets:
0xf50b0957dfffe6ad144300f9e1a8b79c972e3516
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8c5cf09743b140d6c9c113fa5aefb2cf66a0f636bb903777b8aec63da90811b2",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf50b0957dfffe6ad144300f9e1a8b79c972e3516"
],
"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": "0x0be479e1",
"selector": "0x0be479e1",
"calldata_variants": [
"0x0be479e1",
"0x0be479e10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14614af9",
"selector": "0x14614af9",
"calldata_variants": [
"0x14614af9",
"0x14614af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f708fb",
"selector": "0x17f708fb",
"calldata_variants": [
"0x17f708fb",
"0x17f708fb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19f363bc",
"selector": "0x19f363bc",
"calldata_variants": [
"0x19f363bc",
"0x19f363bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2b55b792",
"selector": "0x2b55b792",
"calldata_variants": [
"0x2b55b792",
"0x2b55b7920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2d923501",
"selector": "0x2d923501",
"calldata_variants": [
"0x2d923501",
"0x2d9235010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x4d5a8e10",
"selector": "0x4d5a8e10",
"calldata_variants": [
"0x4d5a8e10",
"0x4d5a8e100000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 356,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1158,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1293,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 11,
"untrusted_delegatecall_count": 11
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 11
}
|
| medium | upgradeability | codex | Computed DELEGATECALL target (slot 0x13) with no detected access control | 75 | no | — |
viewevidence_json{
"evidence": "detector_findings[0] flags \u201cUntrusted DELEGATECALL target reachable\u201d with 11 delegatecall sites; callsites show computed targets (pc 356, 1158, 1293, 1502, 1650, 1848, 1969, 2134, 2244, 2540, 3139). Storage reads from slot 0x13 occur at pc 1523/1540/1667/1680/1697/1865. No auth guards detected (auth.guards=[]). Validation indicates a constant target 0xf50b\u2026 but not confirmed, so mutability remains uncertain.",
"locations": [
"pc:0x164",
"pc:0x486",
"pc:0x50d",
"pc:0x5de",
"pc:0x672",
"pc:0x738",
"pc:0x7b1",
"pc:0x856",
"pc:0x8c4",
"pc:0x9ec",
"pc:0xc43",
"pc:0x5f3",
"pc:0x604",
"pc:0x683",
"pc:0x690",
"pc:0x6a1",
"pc:0x749"
],
"recommendation": "Verify whether slot 0x13 is writable after deployment. If upgrades are intended, restrict setters with explicit access control and emit upgrade events; if upgrades are not intended, make the target immutable or hard\u2011code it and remove any setters.",
"exploit_scenario": "If any externally reachable function can update the delegatecall target (e.g., a setter for the address stored in slot 0x13), an attacker could point it to a malicious implementation and gain arbitrary code execution in the proxy\u2019s storage context, draining funds or seizing control. The analysis could not confirm whether the target is immutable or protected, so this risk depends on hidden upgrade mechanisms."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 23
}
|