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

Analysis Run

792b8648-9ffc-4708-8062-40706c8a01c2

failed
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 11:58 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted 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
30246 report.consolidate complete 1 / 1 3 months ago
73660 artifact.fetch failed 1 / 3 2 weeks ago
73661 tool.cast_disasm complete 1 / 3 2 weeks ago
73662 analysis.bundle complete 1 / 3 2 weeks ago
73663 capability.graph complete 1 / 3 2 weeks ago
73664 detector.run complete 1 / 3 2 weeks ago
73665 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first-party contracts within the requested focus areas.
View stderr
[codex:1472209] OpenAI Codex v0.77.0 (research preview)
[codex:1472209] --------
[codex:1472209] workdir: /tmp/codex-multi-mw9up94g
[codex:1472209] model: gpt-5.2-codex
[codex:1472209] provider: openai
[codex:1472209] approval: never
[codex:1472209] sandbox: read-only
[codex:1472209] reasoning effort: xhigh
[codex:1472209] reasoning summaries: auto
[codex:1472209] session id: 019b623d-79c2-77e0-82fd-8bcb38c3b6f6
[codex:1472209] --------
[codex:1472209] user
[codex:1472209] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1472209] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1472209] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1472209] 
[codex:1472209] Scope rules:
[codex:1472209] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1472209] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1472209] 
[codex:1472209] Output MUST be valid JSON matching the provided schema.
[codex:1472209] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1472209] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1472209] 
[codex:1472209] Output constraints (IMPORTANT):
[codex:1472209] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1472209] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1472209] mcp startup: no servers
[codex:1472209] 
[codex:1472209] thinking
[codex:1472209] **Checking for instructions and files**
[codex:1472209] exec
[codex:1472209] /bin/bash -lc ls in /tmp/codex-multi-mw9up94g succeeded in 5ms:
[codex:1472209] AUDIT_BUNDLE.txt
[codex:1472209] codex-output-schema.json
[codex:1472209] contracts
[codex:1472209] 
[codex:1472209] thinking
[codex:1472209] **Reading AUDIT_BUNDLE.txt**
[codex:1472209] exec
[codex:1472209] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-mw9up94g succeeded in 6ms:
[codex:1472209] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1472209] 
[codex:1472209] ================================================================================
[codex:1472209] FILE: contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol
[codex:1472209] ================================================================================
[codex:1472209] // SPDX-License-Identifier: MIT
[codex:1472209] // OpenZeppelin Contracts (last updated v5.3.0) (access/AccessControl.sol)
[codex:1472209] 
[codex:1472209] pragma solidity ^0.8.20;
[codex:1472209] 
[codex:1472209] import {IAccessControl} from "./IAccessControl.sol";
[codex:1472209] import {Context} from "../utils/Context.sol";
[codex:1472209] import {ERC165} from "../utils/introspection/ERC165.sol";
[codex:1472209] 
[codex:1472209] /**
[codex:1472209]  * @dev Contract module that allows children to implement role-based access
[codex:1472209]  * control mechanisms. This is a lightweight version that doesn't allow enumerating role
[codex:1472209]  * members except through off-chain means by accessing the contract event logs. Some
[codex:1472209]  * applications may benefit from on-chain enumerability, for those cases see
[codex:1472209]  * {AccessControlEnumerable}.
[codex:1472209] 
[codex:1472209] 
[codex:1472209] thinking
[codex:1472209] **Analyzing access control and contract logic**
[codex:1472209] thinking
[codex:1472209] **Preparing to verify JSON schema compliance**
[codex:1472209] exec
[codex:1472209] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-mw9up94g succeeded in 6ms:
[codex:1472209] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1472209] 
[codex:1472209] thinking
[codex:1472209] **Analyzing output truncation concerns**
[codex:1472209] exec
[codex:1472209] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-mw9up94g succeeded in 6ms:
[codex:1472209] 1052 AUDIT_BUNDLE.txt
[codex:1472209] 
[codex:1472209] thinking
[codex:1472209] **Analyzing audit reading completeness and vulnerabilities**
[codex:1472209] 
[codex:1472209] I’m weighing how to ensure the full AUDIT_BUNDLE.txt file was read despite truncation risks, deciding the initial `cat` likely suffices since the apparent truncation seems like a UI artifact rather than missing data. Then I thoroughly consider potential vulnerabilities around zero addresses in AssetReserve’s transfer calls and access control nuances, concluding no exploitable issues exist and preparing a finalized JSON with `no_findings: true` and a summarizing message.
[codex:1472209] codex
[codex:1472209] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within the requested focus areas.","findings":[]}
[codex:1472209] tokens used
[codex:1472209] 22,388
[codex:1472209] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts within the requested focus areas.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T23:58:14.327106+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in the first-party contracts within the requested focus areas.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party contracts within the requested focus areas.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
3293
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0013
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: PUSH2 0x083f
00000012: JUMP
00000013: JUMPDEST
00000014: PUSH2 0x001d
00000017: PUSH0
00000018: CALLDATALOAD
00000019: PUSH2 0x012c
0000001c: JUMP
0000001d: JUMPDEST
0000001e: DUP1
0000001f: PUSH4 0x01ffc9a7
00000024: EQ
00000025: PUSH2 0x0127
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x0e18b681
0000002f: EQ
00000030: PUSH2 0x0122
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x1f49d1f1
0000003a: EQ
0000003b: PUSH2 0x011d
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x2360eb39
00000045: EQ
00000046: PUSH2 0x0118
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x248a9ca3
00000050: EQ
00000051: PUSH2 0x0113
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0x2f2ff15d
0000005b: EQ
0000005c: PUSH2 0x010e
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0x35c80c8c
00000066: EQ
00000067: PUSH2 0x0109
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0x36568abe
00000071: EQ
00000072: PUSH2 0x0104
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0x3ea42ef4
0000007c: EQ
0000007d: PUSH2 0x00ff
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0x75829def
00000087: EQ
00000088: PUSH2 0x00fa
0000008b: JUMPI
0000008c: DUP1
0000008d: PUSH4 0x8da5cb5b
00000092: EQ
00000093: PUSH2 0x00f5
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0x91d14854
0000009d: EQ
0000009e: PUSH2 0x00f0
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0xa217fddf
000000a8: EQ
000000a9: PUSH2 0x00eb
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0xc0d78655
000000b3: EQ
000000b4: PUSH2 0x00e6
000000b7: JUMPI
000000b8: DUP1
000000b9: PUSH4 0xd547741f
000000be: EQ
000000bf: PUSH2 0x00e1
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0xed03caee
000000c9: EQ
000000ca: PUSH2 0x00dc
000000cd: JUMPI
000000ce: PUSH4 0xf887ea40
000000d3: SUB
000000d4: PUSH2 0x000e
000000d7: JUMPI
000000d8: PUSH2 0x080a
000000db: JUMP
000000dc: JUMPDEST
000000dd: PUSH2 0x0796
000000e0: JUMP
000000e1: JUMPDEST
000000e2: PUSH2 0x0762
000000e5: JUMP
000000e6: JUMPDEST
000000e7: PUSH2 0x072f
000000ea: JUMP
000000eb: JUMPDEST
000000ec: PUSH2 0x06fa
000000ef: JUMP
000000f0: JUMPDEST
000000f1: PUSH2 0x0689
000000f4: JUMP
000000f5: JUMPDEST
000000f6: PUSH2 0x0654
000000f9: JUMP
000000fa: JUMPDEST
000000fb: PUSH2 0x05ff
000000fe: JUMP
000000ff: JUMPDEST
00000100: PUSH2 0x05cb
00000103: JUMP
00000104: JUMPDEST
00000105: PUSH2 0x0537
00000108: JUMP
00000109: JUMPDEST
0000010a: PUSH2 0x0502
0000010d: JUMP
0000010e: JUMPDEST
0000010f: PUSH2 0x041a
00000112: JUMP
00000113: JUMPDEST
00000114: PUSH2 0x03b8
00000117: JUMP
00000118: JUMPDEST
00000119: PUSH2 0x0342
0000011c: JUMP
0000011d: JUMPDEST
0000011e: PUSH2 0x02ba
00000121: JUMP
00000122: JUMPDEST
00000123: PUSH2 0x01fd
00000126: JUMP
00000127: JUMPDEST
00000128: PUSH2 0x01b4
0000012b: JUMP
0000012c: JUMPDEST
0000012d: PUSH1 0xe0
0000012f: SHR
00000130: SWAP1
00000131: JUMP
00000132: JUMPDEST
00000133: PUSH1 0x40
00000135: MLOAD
00000136: SWAP1
00000137: JUMP
00000138: JUMPDEST
00000139: PUSH0
0000013a: DUP1
0000013b: REVERT
0000013c: JUMPDEST
0000013d: PUSH0
0000013e: DUP1
0000013f: REVERT
00000140: JUMPDEST
00000141: PUSH4 0xffffffff
00000146: PUSH1 0xe0
00000148: SHL
00000149: AND
0000014a: SWAP1
0000014b: JUMP
0000014c: JUMPDEST
0000014d: PUSH2 0x0155
00000150: DUP2
00000151: PUSH2 0x0140
00000154: JUMP
00000155: JUMPDEST
00000156: SUB
00000157: PUSH2 0x015c
0000015a: JUMPI
0000015b: JUMP
0000015c: JUMPDEST
0000015d: PUSH0
0000015e: DUP1
0000015f: REVERT
00000160: JUMPDEST
00000161: SWAP1
00000162: POP
00000163: CALLDATALOAD
00000164: SWAP1
00000165: PUSH2 0x016d
00000168: DUP3
00000169: PUSH2 0x014c
0000016c: JUMP
0000016d: JUMPDEST
0000016e: JUMP
0000016f: JUMPDEST
00000170: SWAP1
00000171: PUSH1 0x20
00000173: DUP3
00000174: DUP3
00000175: SUB
00000176: SLT
00000177: PUSH2 0x0188
0000017a: JUMPI
0000017b: PUSH2 0x0185
0000017e: SWAP2
0000017f: PUSH0
00000180: ADD
00000181: PUSH2 0x0160
00000184: JUMP
00000185: JUMPDEST
00000186: SWAP1
00000187: JUMP
00000188: JUMPDEST
00000189: PUSH2 0x013c
0000018c: JUMP
0000018d: JUMPDEST
0000018e: ISZERO
0000018f: ISZERO
00000190: SWAP1
00000191: JUMP
00000192: JUMPDEST
00000193: PUSH2 0x019b
00000196: SWAP1
00000197: PUSH2 0x018d
0000019a: JUMP
0000019b: JUMPDEST
0000019c: SWAP1
0000019d: MSTORE
0000019e: JUMP
0000019f: JUMPDEST
000001a0: SWAP2
000001a1: SWAP1
000001a2: PUSH2 0x01b2
000001a5: SWAP1
000001a6: PUSH0
000001a7: PUSH1 0x20
000001a9: DUP6
000001aa: ADD
000001ab: SWAP5
000001ac: ADD
000001ad: SWAP1
000001ae: PUSH2 0x0192
000001b1: JUMP
000001b2: JUMPDEST
000001b3: JUMP
000001b4: JUMPDEST
000001b5: CALLVALUE
000001b6: PUSH2 0x01e4
000001b9: JUMPI
000001ba: PUSH2 0x01e0
000001bd: PUSH2 0x01cf
000001c0: PUSH2 0x01ca
000001c3: CALLDATASIZE
000001c4: PUSH1 0x04
000001c6: PUSH2 0x016f
000001c9: JUMP
000001ca: JUMPDEST
000001cb: PUSH2 0x0847
000001ce: JUMP
000001cf: JUMPDEST
000001d0: PUSH2 0x01d7
000001d3: PUSH2 0x0132
000001d6: JUMP
000001d7: JUMPDEST
000001d8: SWAP2
000001d9: DUP3
000001da: SWAP2
000001db: DUP3
000001dc: PUSH2 0x019f
000001df: JUMP
000001e0: JUMPDEST
000001e1: SUB
000001e2: SWAP1
000001e3: RETURN
000001e4: JUMPDEST
000001e5: PUSH2 0x0138
000001e8: JUMP
000001e9: JUMPDEST
000001ea: PUSH0
000001eb: SWAP2
000001ec: SUB
000001ed: SLT
000001ee: PUSH2 0x01f3
000001f1: JUMPI
000001f2: JUMP
000001f3: JUMPDEST
000001f4: PUSH2 0x013c
000001f7: JUMP
000001f8: JUMPDEST
000001f9: PUSH0
000001fa: ADD
000001fb: SWAP1
000001fc: JUMP
000001fd: JUMPDEST
000001fe: CALLVALUE
000001ff: PUSH2 0x022b
00000202: JUMPI
00000203: PUSH2 0x020d
00000206: CALLDATASIZE
00000207: PUSH1 0x04
00000209: PUSH2 0x01e9
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH2 0x0215
00000211: PUSH2 0x08ad
00000214: JUMP
00000215: JUMPDEST
00000216: PUSH2 0x021d
00000219: PUSH2 0x0132
0000021c: JUMP
0000021d: JUMPDEST
0000021e: DUP1
0000021f: PUSH2 0x0227
00000222: DUP2
00000223: PUSH2 0x01f8
00000226: JUMP
00000227: JUMPDEST
00000228: SUB
00000229: SWAP1
0000022a: RETURN
0000022b: JUMPDEST
0000022c: PUSH2 0x0138
0000022f: JUMP
00000230: JUMPDEST
00000231: PUSH1 0x01
00000233: DUP1
00000234: PUSH1 0xa0
00000236: SHL
00000237: SUB
00000238: AND
00000239: SWAP1
0000023a: JUMP
0000023b: JUMPDEST
0000023c: PUSH2 0x0244
0000023f: SWAP1
00000240: PUSH2 0x0230
00000243: JUMP
00000244: JUMPDEST
00000245: SWAP1
00000246: JUMP
00000247: JUMPDEST
00000248: PUSH2 0x0250
0000024b: DUP2
0000024c: PUSH2 0x023b
0000024f: JUMP
00000250: JUMPDEST
00000251: SUB
00000252: PUSH2 0x0257
00000255: JUMPI
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH0
00000259: DUP1
0000025a: REVERT
0000025b: JUMPDEST
0000025c: SWAP1
0000025d: POP
0000025e: CALLDATALOAD
0000025f: SWAP1
00000260: PUSH2 0x0268
00000263: DUP3
00000264: PUSH2 0x0247
00000267: JUMP
00000268: JUMPDEST
00000269: JUMP
0000026a: JUMPDEST
0000026b: PUSH2 0x0273
0000026e: DUP2
0000026f: PUSH2 0x018d
00000272: JUMP
00000273: JUMPDEST
00000274: SUB
00000275: PUSH2 0x027a
00000278: JUMPI
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH0
0000027c: DUP1
0000027d: REVERT
0000027e: JUMPDEST
0000027f: SWAP1
00000280: POP
00000281: CALLDATALOAD
00000282: SWAP1
00000283: PUSH2 0x028b
00000286: DUP3
00000287: PUSH2 0x026a
0000028a: JUMP
0000028b: JUMPDEST
0000028c: JUMP
0000028d: JUMPDEST
0000028e: SWAP2
0000028f: SWAP1
00000290: PUSH1 0x40
00000292: DUP4
00000293: DUP3
00000294: SUB
00000295: SLT
00000296: PUSH2 0x02b5
00000299: JUMPI
0000029a: DUP1
0000029b: PUSH2 0x02a9
0000029e: PUSH2 0x02b2
000002a1: SWAP3
000002a2: PUSH0
000002a3: DUP7
000002a4: ADD
000002a5: PUSH2 0x025b
000002a8: JUMP
000002a9: JUMPDEST
000002aa: SWAP4
000002ab: PUSH1 0x20
000002ad: ADD
000002ae: PUSH2 0x027e
000002b1: JUMP
000002b2: JUMPDEST
000002b3: SWAP1
000002b4: JUMP
000002b5: JUMPDEST
000002b6: PUSH2 0x013c
000002b9: JUMP
000002ba: JUMPDEST
000002bb: CALLVALUE
000002bc: PUSH2 0x02e9
000002bf: JUMPI
000002c0: PUSH2 0x02d3
000002c3: PUSH2 0x02cd
000002c6: CALLDATASIZE
000002c7: PUSH1 0x04
000002c9: PUSH2 0x028d
000002cc: JUMP
000002cd: JUMPDEST
000002ce: SWAP1
000002cf: PUSH2 0x0935
000002d2: JUMP
000002d3: JUMPDEST
000002d4: PUSH2 0x02db
000002d7: PUSH2 0x0132
000002da: JUMP
000002db: JUMPDEST
000002dc: DUP1
000002dd: PUSH2 0x02e5
000002e0: DUP2
000002e1: PUSH2 0x01f8
000002e4: JUMP
000002e5: JUMPDEST
000002e6: SUB
000002e7: SWAP1
000002e8: RETURN
000002e9: JUMPDEST
000002ea: PUSH2 0x0138
000002ed: JUMP
000002ee: JUMPDEST
000002ef: PUSH32 0x0393b4c1b6519e8b53ae0efa1ab522060a3b9f8d86d09c8a22ca6d6eea735cf7
00000310: SWAP1
00000311: JUMP
00000312: JUMPDEST
00000313: PUSH2 0x031a
00000316: PUSH2 0x02ee
00000319: JUMP
0000031a: JUMPDEST
0000031b: SWAP1
0000031c: JUMP
0000031d: JUMPDEST
0000031e: SWAP1
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH2 0x0329
00000324: SWAP1
00000325: PUSH2 0x031d
00000328: JUMP
00000329: JUMPDEST
0000032a: SWAP1
0000032b: MSTORE
0000032c: JUMP
0000032d: JUMPDEST
0000032e: SWAP2
0000032f: SWAP1
00000330: PUSH2 0x0340
00000333: SWAP1
00000334: PUSH0
00000335: PUSH1 0x20
00000337: DUP6
00000338: ADD
00000339: SWAP5
0000033a: ADD
0000033b: SWAP1
0000033c: PUSH2 0x0320
0000033f: JUMP
00000340: JUMPDEST
00000341: JUMP
00000342: JUMPDEST
00000343: CALLVALUE
00000344: PUSH2 0x0372
00000347: JUMPI
00000348: PUSH2 0x0352
0000034b: CALLDATASIZE
0000034c: PUSH1 0x04
0000034e: PUSH2 0x01e9
00000351: JUMP
00000352: JUMPDEST
00000353: PUSH2 0x036e
00000356: PUSH2 0x035d
00000359: PUSH2 0x0312
0000035c: JUMP
0000035d: JUMPDEST
0000035e: PUSH2 0x0365
00000361: PUSH2 0x0132
00000364: JUMP
00000365: JUMPDEST
00000366: SWAP2
00000367: DUP3
00000368: SWAP2
00000369: DUP3
0000036a: PUSH2 0x032d
0000036d: JUMP
0000036e: JUMPDEST
0000036f: SUB
00000370: SWAP1
00000371: RETURN
00000372: JUMPDEST
00000373: PUSH2 0x0138
00000376: JUMP
00000377: JUMPDEST
00000378: PUSH2 0x0380
0000037b: DUP2
0000037c: PUSH2 0x031d
0000037f: JUMP
00000380: JUMPDEST
00000381: SUB
00000382: PUSH2 0x0387
00000385: JUMPI
00000386: JUMP
00000387: JUMPDEST
00000388: PUSH0
00000389: DUP1
0000038a: REVERT
0000038b: JUMPDEST
0000038c: SWAP1
0000038d: POP
0000038e: CALLDATALOAD
0000038f: SWAP1
00000390: PUSH2 0x0398
00000393: DUP3
00000394: PUSH2 0x0377
00000397: JUMP
00000398: JUMPDEST
00000399: JUMP
0000039a: JUMPDEST
0000039b: SWAP1
0000039c: PUSH1 0x20
0000039e: DUP3
0000039f: DUP3
000003a0: SUB
000003a1: SLT
000003a2: PUSH2 0x03b3
000003a5: JUMPI
000003a6: PUSH2 0x03b0
000003a9: SWAP2
000003aa: PUSH0
000003ab: ADD
000003ac: PUSH2 0x038b
000003af: JUMP
000003b0: JUMPDEST
000003b1: SWAP1
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH2 0x013c
000003b7: JUMP
000003b8: JUMPDEST
000003b9: CALLVALUE
000003ba: PUSH2 0x03e8
000003bd: JUMPI
000003be: PUSH2 0x03e4
000003c1: PUSH2 0x03d3
000003c4: PUSH2 0x03ce
000003c7: CALLDATASIZE
000003c8: PUSH1 0x04
000003ca: PUSH2 0x039a
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH2 0x098b
000003d2: JUMP
000003d3: JUMPDEST
000003d4: PUSH2 0x03db
000003d7: PUSH2 0x0132
000003da: JUMP
000003db: JUMPDEST
000003dc: SWAP2
000003dd: DUP3
000003de: SWAP2
000003df: DUP3
000003e0: PUSH2 0x032d
000003e3: JUMP
000003e4: JUMPDEST
000003e5: SUB
000003e6: SWAP1
000003e7: RETURN
000003e8: JUMPDEST
000003e9: PUSH2 0x0138
000003ec: JUMP
000003ed: JUMPDEST
000003ee: SWAP2
000003ef: SWAP1
000003f0: PUSH1 0x40
000003f2: DUP4
000003f3: DUP3
000003f4: SUB
000003f5: SLT
000003f6: PUSH2 0x0415
000003f9: JUMPI
000003fa: DUP1
000003fb: PUSH2 0x0409
000003fe: PUSH2 0x0412
00000401: SWAP3
00000402: PUSH0
00000403: DUP7
00000404: ADD
00000405: PUSH2 0x038b
00000408: JUMP
00000409: JUMPDEST
0000040a: SWAP4
0000040b: PUSH1 0x20
0000040d: ADD
0000040e: PUSH2 0x025b
00000411: JUMP
00000412: JUMPDEST
00000413: SWAP1
00000414: JUMP
00000415: JUMPDEST
00000416: PUSH2 0x013c
00000419: JUMP
0000041a: JUMPDEST
0000041b: CALLVALUE
0000041c: PUSH2 0x0449
0000041f: JUMPI
00000420: PUSH2 0x0433
00000423: PUSH2 0x042d
00000426: CALLDATASIZE
00000427: PUSH1 0x04
00000429: PUSH2 0x03ed
0000042c: JUMP
0000042d: JUMPDEST
0000042e: SWAP1
0000042f: PUSH2 0x0a1c
00000432: JUMP
00000433: JUMPDEST
00000434: PUSH2 0x043b
00000437: PUSH2 0x0132
0000043a: JUMP
0000043b: JUMPDEST
0000043c: DUP1
0000043d: PUSH2 0x0445
00000440: DUP2
00000441: PUSH2 0x01f8
00000444: JUMP
00000445: JUMPDEST
00000446: SUB
00000447: SWAP1
00000448: RETURN
00000449: JUMPDEST
0000044a: PUSH2 0x0138
0000044d: JUMP
0000044e: JUMPDEST
0000044f: SWAP1
00000450: PUSH1 0x20
00000452: DUP3
00000453: DUP3
00000454: SUB
00000455: SLT
00000456: PUSH2 0x0467
00000459: JUMPI
0000045a: PUSH2 0x0464
0000045d: SWAP2
0000045e: PUSH0
0000045f: ADD
00000460: PUSH2 0x025b
00000463: JUMP
00000464: JUMPDEST
00000465: SWAP1
00000466: JUMP
00000467: JUMPDEST
00000468: PUSH2 0x013c
0000046b: JUMP
0000046c: JUMPDEST
0000046d: SWAP1
0000046e: JUMP
0000046f: JUMPDEST
00000470: PUSH2 0x0483
00000473: PUSH2 0x047e
00000476: PUSH2 0x0488
00000479: SWAP3
0000047a: PUSH2 0x0230
0000047d: JUMP
0000047e: JUMPDEST
0000047f: PUSH2 0x046c
00000482: JUMP
00000483: JUMPDEST
00000484: PUSH2 0x0230
00000487: JUMP
00000488: JUMPDEST
00000489: SWAP1
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH2 0x0494
0000048f: SWAP1
00000490: PUSH2 0x046f
00000493: JUMP
00000494: JUMPDEST
00000495: SWAP1
00000496: JUMP
00000497: JUMPDEST
00000498: PUSH2 0x04a0
0000049b: SWAP1
0000049c: PUSH2 0x048b
0000049f: JUMP
000004a0: JUMPDEST
000004a1: SWAP1
000004a2: JUMP
000004a3: JUMPDEST
000004a4: SWAP1
000004a5: PUSH2 0x04ad
000004a8: SWAP1
000004a9: PUSH2 0x0497
000004ac: JUMP
000004ad: JUMPDEST
000004ae: PUSH0
000004af: MSTORE
000004b0: PUSH1 0x20
000004b2: MSTORE
000004b3: PUSH1 0x40
000004b5: PUSH0
000004b6: KECCAK256
000004b7: SWAP1
000004b8: JUMP
000004b9: JUMPDEST
000004ba: SHR
000004bb: SWAP1
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0xff
000004c0: AND
000004c1: SWAP1
000004c2: JUMP
000004c3: JUMPDEST
000004c4: PUSH2 0x04d3
000004c7: SWAP1
000004c8: PUSH1 0x08
000004ca: PUSH2 0x04d8
000004cd: SWAP4
000004ce: MUL
000004cf: PUSH2 0x04b9
000004d2: JUMP
000004d3: JUMPDEST
000004d4: PUSH2 0x04bd
000004d7: JUMP
000004d8: JUMPDEST
000004d9: SWAP1
000004da: JUMP
000004db: JUMPDEST
000004dc: SWAP1
000004dd: PUSH2 0x04e6
000004e0: SWAP2
000004e1: SLOAD
000004e2: PUSH2 0x04c3
000004e5: JUMP
000004e6: JUMPDEST
000004e7: SWAP1
000004e8: JUMP
000004e9: JUMPDEST
000004ea: PUSH2 0x04ff
000004ed: SWAP1
000004ee: PUSH2 0x04fa
000004f1: PUSH1 0x04
000004f3: SWAP2
000004f4: PUSH0
000004f5: SWAP3
000004f6: PUSH2 0x04a3
000004f9: JUMP
000004fa: JUMPDEST
000004fb: PUSH2 0x04db
000004fe: JUMP
000004ff: JUMPDEST
00000500: SWAP1
00000501: JUMP
00000502: JUMPDEST
00000503: CALLVALUE
00000504: PUSH2 0x0532
00000507: JUMPI
00000508: PUSH2 0x052e
0000050b: PUSH2 0x051d
0000050e: PUSH2 0x0518
00000511: CALLDATASIZE
00000512: PUSH1 0x04
00000514: PUSH2 0x044e
00000517: JUMP
00000518: JUMPDEST
00000519: PUSH2 0x04e9
0000051c: JUMP
0000051d: JUMPDEST
0000051e: PUSH2 0x0525
00000521: PUSH2 0x0132
00000524: JUMP
00000525: JUMPDEST
00000526: SWAP2
00000527: DUP3
00000528: SWAP2
00000529: DUP3
0000052a: PUSH2 0x019f
0000052d: JUMP
0000052e: JUMPDEST
0000052f: SUB
00000530: SWAP1
00000531: RETURN
00000532: JUMPDEST
00000533: PUSH2 0x0138
00000536: JUMP
00000537: JUMPDEST
00000538: CALLVALUE
00000539: PUSH2 0x0566
0000053c: JUMPI
0000053d: PUSH2 0x0550
00000540: PUSH2 0x054a
00000543: CALLDATASIZE
00000544: PUSH1 0x04
00000546: PUSH2 0x03ed
00000549: JUMP
0000054a: JUMPDEST
0000054b: SWAP1
0000054c: PUSH2 0x0a7b
0000054f: JUMP
00000550: JUMPDEST
00000551: PUSH2 0x0558
00000554: PUSH2 0x0132
00000557: JUMP
00000558: JUMPDEST
00000559: DUP1
0000055a: PUSH2 0x0562
0000055d: DUP2
0000055e: PUSH2 0x01f8
00000561: JUMP
00000562: JUMPDEST
00000563: SUB
00000564: SWAP1
00000565: RETURN
00000566: JUMPDEST
00000567: PUSH2 0x0138
0000056a: JUMP
0000056b: JUMPDEST
0000056c: SWAP1
0000056d: JUMP
0000056e: JUMPDEST
0000056f: PUSH2 0x0577
00000572: DUP2
00000573: PUSH2 0x056b
00000576: JUMP
00000577: JUMPDEST
00000578: SUB
00000579: PUSH2 0x057e
0000057c: JUMPI
0000057d: JUMP
0000057e: JUMPDEST
0000057f: PUSH0
00000580: DUP1
00000581: REVERT
00000582: JUMPDEST
00000583: SWAP1
00000584: POP
00000585: CALLDATALOAD
00000586: SWAP1
00000587: PUSH2 0x058f
0000058a: DUP3
0000058b: PUSH2 0x056e
0000058e: JUMP
0000058f: JUMPDEST
00000590: JUMP
00000591: JUMPDEST
00000592: SWAP1
00000593: SWAP2
00000594: PUSH1 0x60
00000596: DUP3
00000597: DUP5
00000598: SUB
00000599: SLT
0000059a: PUSH2 0x05c6
0000059d: JUMPI
0000059e: PUSH2 0x05c3
000005a1: PUSH2 0x05ac
000005a4: DUP5
000005a5: PUSH0
000005a6: DUP6
000005a7: ADD
000005a8: PUSH2 0x025b
000005ab: JUMP
000005ac: JUMPDEST
000005ad: SWAP4
000005ae: PUSH2 0x05ba
000005b1: DUP2
000005b2: PUSH1 0x20
000005b4: DUP7
000005b5: ADD
000005b6: PUSH2 0x025b
000005b9: JUMP
000005ba: JUMPDEST
000005bb: SWAP4
000005bc: PUSH1 0x40
000005be: ADD
000005bf: PUSH2 0x0582
000005c2: JUMP
000005c3: JUMPDEST
000005c4: SWAP1
000005c5: JUMP
000005c6: JUMPDEST
000005c7: PUSH2 0x013c
000005ca: JUMP
000005cb: JUMPDEST
000005cc: CALLVALUE
000005cd: PUSH2 0x05fa
000005d0: JUMPI
000005d1: PUSH2 0x05e4
000005d4: PUSH2 0x05de
000005d7: CALLDATASIZE
000005d8: PUSH1 0x04
000005da: PUSH2 0x0591
000005dd: JUMP
000005de: JUMPDEST
000005df: SWAP2
000005e0: PUSH2 0x0ba3
000005e3: JUMP
000005e4: JUMPDEST
000005e5: PUSH2 0x05ec
000005e8: PUSH2 0x0132
000005eb: JUMP
000005ec: JUMPDEST
000005ed: DUP1
000005ee: PUSH2 0x05f6
000005f1: DUP2
000005f2: PUSH2 0x01f8
000005f5: JUMP
000005f6: JUMPDEST
000005f7: SUB
000005f8: SWAP1
000005f9: RETURN
000005fa: JUMPDEST
000005fb: PUSH2 0x0138
000005fe: JUMP
000005ff: JUMPDEST
00000600: CALLVALUE
00000601: PUSH2 0x062d
00000604: JUMPI
00000605: PUSH2 0x0617
00000608: PUSH2 0x0612
0000060b: CALLDATASIZE
0000060c: PUSH1 0x04
0000060e: PUSH2 0x044e
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH2 0x0cf6
00000616: JUMP
00000617: JUMPDEST
00000618: PUSH2 0x061f
0000061b: PUSH2 0x0132
0000061e: JUMP
0000061f: JUMPDEST
00000620: DUP1
00000621: PUSH2 0x0629
00000624: DUP2
00000625: PUSH2 0x01f8
00000628: JUMP
00000629: JUMPDEST
0000062a: SUB
0000062b: SWAP1
0000062c: RETURN
0000062d: JUMPDEST
0000062e: PUSH2 0x0138
00000631: JUMP
00000632: JUMPDEST
00000633: PUSH2 0x063b
00000636: SWAP1
00000637: PUSH2 0x023b
0000063a: JUMP
0000063b: JUMPDEST
0000063c: SWAP1
0000063d: MSTORE
0000063e: JUMP
0000063f: JUMPDEST
00000640: SWAP2
00000641: SWAP1
00000642: PUSH2 0x0652
00000645: SWAP1
00000646: PUSH0
00000647: PUSH1 0x20
00000649: DUP6
0000064a: ADD
0000064b: SWAP5
0000064c: ADD
0000064d: SWAP1
0000064e: PUSH2 0x0632
00000651: JUMP
00000652: JUMPDEST
00000653: JUMP
00000654: JUMPDEST
00000655: CALLVALUE
00000656: PUSH2 0x0684
00000659: JUMPI
0000065a: PUSH2 0x0664
0000065d: CALLDATASIZE
0000065e: PUSH1 0x04
00000660: PUSH2 0x01e9
00000663: JUMP
00000664: JUMPDEST
00000665: PUSH2 0x0680
00000668: PUSH2 0x066f
0000066b: PUSH2 0x0d05
0000066e: JUMP
0000066f: JUMPDEST
00000670: PUSH2 0x0677
00000673: PUSH2 0x0132
00000676: JUMP
00000677: JUMPDEST
00000678: SWAP2
00000679: DUP3
0000067a: SWAP2
0000067b: DUP3
0000067c: PUSH2 0x063f
0000067f: JUMP
00000680: JUMPDEST
00000681: SUB
00000682: SWAP1
00000683: RETURN
00000684: JUMPDEST
00000685: PUSH2 0x0138
00000688: JUMP
00000689: JUMPDEST
0000068a: CALLVALUE
0000068b: PUSH2 0x06ba
0000068e: JUMPI
0000068f: PUSH2 0x06b6
00000692: PUSH2 0x06a5
00000695: PUSH2 0x069f
00000698: CALLDATASIZE
00000699: PUSH1 0x04
0000069b: PUSH2 0x03ed
0000069e: JUMP
0000069f: JUMPDEST
000006a0: SWAP1
000006a1: PUSH2 0x0d1b
000006a4: JUMP
000006a5: JUMPDEST
000006a6: PUSH2 0x06ad
000006a9: PUSH2 0x0132
000006ac: JUMP
000006ad: JUMPDEST
000006ae: SWAP2
000006af: DUP3
000006b0: SWAP2
000006b1: DUP3
000006b2: PUSH2 0x019f
000006b5: JUMP
000006b6: JUMPDEST
000006b7: SUB
000006b8: SWAP1
000006b9: RETURN
000006ba: JUMPDEST
000006bb: PUSH2 0x0138
000006be: JUMP
000006bf: JUMPDEST
000006c0: SWAP1
000006c1: JUMP
000006c2: JUMPDEST
000006c3: PUSH0
000006c4: SHL
000006c5: SWAP1
000006c6: JUMP
000006c7: JUMPDEST
000006c8: PUSH2 0x06db
000006cb: PUSH2 0x06d6
000006ce: PUSH2 0x06e0
000006d1: SWAP3
000006d2: PUSH2 0x06bf
000006d5: JUMP
000006d6: JUMPDEST
000006d7: PUSH2 0x06c2
000006da: JUMP
000006db: JUMPDEST
000006dc: PUSH2 0x031d
000006df: JUMP
000006e0: JUMPDEST
000006e1: SWAP1
000006e2: JUMP
000006e3: JUMPDEST
000006e4: PUSH2 0x06ec
000006e7: PUSH0
000006e8: PUSH2 0x06c7
000006eb: JUMP
000006ec: JUMPDEST
000006ed: SWAP1
000006ee: JUMP
000006ef: JUMPDEST
000006f0: PUSH2 0x06f7
000006f3: PUSH2 0x06e3
000006f6: JUMP
000006f7: JUMPDEST
000006f8: SWAP1
000006f9: JUMP
000006fa: JUMPDEST
000006fb: CALLVALUE
000006fc: PUSH2 0x072a
000006ff: JUMPI
00000700: PUSH2 0x070a
00000703: CALLDATASIZE
00000704: PUSH1 0x04
00000706: PUSH2 0x01e9
00000709: JUMP
0000070a: JUMPDEST
0000070b: PUSH2 0x0726
0000070e: PUSH2 0x0715
00000711: PUSH2 0x06ef
00000714: JUMP
00000715: JUMPDEST
00000716: PUSH2 0x071d
00000719: PUSH2 0x0132
0000071c: JUMP
0000071d: JUMPDEST
0000071e: SWAP2
0000071f: DUP3
00000720: SWAP2
00000721: DUP3
00000722: PUSH2 0x032d
00000725: JUMP
00000726: JUMPDEST
00000727: SUB
00000728: SWAP1
00000729: RETURN
0000072a: JUMPDEST
0000072b: PUSH2 0x0138
0000072e: JUMP
0000072f: JUMPDEST
00000730: CALLVALUE
00000731: PUSH2 0x075d
00000734: JUMPI
00000735: PUSH2 0x0747
00000738: PUSH2 0x0742
0000073b: CALLDATASIZE
0000073c: PUSH1 0x04
0000073e: PUSH2 0x044e
00000741: JUMP
00000742: JUMPDEST
00000743: PUSH2 0x0d6a
00000746: JUMP
00000747: JUMPDEST
00000748: PUSH2 0x074f
0000074b: PUSH2 0x0132
0000074e: JUMP
0000074f: JUMPDEST
00000750: DUP1
00000751: PUSH2 0x0759
00000754: DUP2
00000755: PUSH2 0x01f8
00000758: JUMP
00000759: JUMPDEST
0000075a: SUB
0000075b: SWAP1
0000075c: RETURN
0000075d: JUMPDEST
0000075e: PUSH2 0x0138
00000761: JUMP
00000762: JUMPDEST
00000763: CALLVALUE
00000764: PUSH2 0x0791
00000767: JUMPI
00000768: PUSH2 0x077b
0000076b: PUSH2 0x0775
0000076e: CALLDATASIZE
0000076f: PUSH1 0x04
00000771: PUSH2 0x03ed
00000774: JUMP
00000775: JUMPDEST
00000776: SWAP1
00000777: PUSH2 0x0de5
0000077a: JUMP
0000077b: JUMPDEST
0000077c: PUSH2 0x0783
0000077f: PUSH2 0x0132
00000782: JUMP
00000783: JUMPDEST
00000784: DUP1
00000785: PUSH2 0x078d
00000788: DUP2
00000789: PUSH2 0x01f8
0000078c: JUMP
0000078d: JUMPDEST
0000078e: SUB
0000078f: SWAP1
00000790: RETURN
00000791: JUMPDEST
00000792: PUSH2 0x0138
00000795: JUMP
00000796: JUMPDEST
00000797: CALLVALUE
00000798: PUSH2 0x07c5
0000079b: JUMPI
0000079c: PUSH2 0x07af
0000079f: PUSH2 0x07a9
000007a2: CALLDATASIZE
000007a3: PUSH1 0x04
000007a5: PUSH2 0x0591
000007a8: JUMP
000007a9: JUMPDEST
000007aa: SWAP2
000007ab: PUSH2 0x0ea2
000007ae: JUMP
000007af: JUMPDEST
000007b0: PUSH2 0x07b7
000007b3: PUSH2 0x0132
000007b6: JUMP
000007b7: JUMPDEST
000007b8: DUP1
000007b9: PUSH2 0x07c1
000007bc: DUP2
000007bd: PUSH2 0x01f8
000007c0: JUMP
000007c1: JUMPDEST
000007c2: SUB
000007c3: SWAP1
000007c4: RETURN
000007c5: JUMPDEST
000007c6: PUSH2 0x0138
000007c9: JUMP
000007ca: JUMPDEST
000007cb: PUSH1 0x01
000007cd: DUP1
000007ce: PUSH1 0xa0
000007d0: SHL
000007d1: SUB
000007d2: AND
000007d3: SWAP1
000007d4: JUMP
000007d5: JUMPDEST
000007d6: PUSH2 0x07e5
000007d9: SWAP1
000007da: PUSH1 0x08
000007dc: PUSH2 0x07ea
000007df: SWAP4
000007e0: MUL
000007e1: PUSH2 0x04b9
000007e4: JUMP
000007e5: JUMPDEST
000007e6: PUSH2 0x07ca
000007e9: JUMP
000007ea: JUMPDEST
000007eb: SWAP1
000007ec: JUMP
000007ed: JUMPDEST
000007ee: SWAP1
000007ef: PUSH2 0x07f8
000007f2: SWAP2
000007f3: SLOAD
000007f4: PUSH2 0x07d5
000007f7: JUMP
000007f8: JUMPDEST
000007f9: SWAP1
000007fa: JUMP
000007fb: JUMPDEST
000007fc: PUSH2 0x0807
000007ff: PUSH1 0x03
00000801: PUSH0
00000802: SWAP1
00000803: PUSH2 0x07ed
00000806: JUMP
00000807: JUMPDEST
00000808: SWAP1
00000809: JUMP
0000080a: JUMPDEST
0000080b: CALLVALUE
0000080c: PUSH2 0x083a
0000080f: JUMPI
00000810: PUSH2 0x081a
00000813: CALLDATASIZE
00000814: PUSH1 0x04
00000816: PUSH2 0x01e9
00000819: JUMP
0000081a: JUMPDEST
0000081b: PUSH2 0x0836
0000081e: PUSH2 0x0825
00000821: PUSH2 0x07fb
00000824: JUMP
00000825: JUMPDEST
00000826: PUSH2 0x082d
00000829: PUSH2 0x0132
0000082c: JUMP
0000082d: JUMPDEST
0000082e: SWAP2
0000082f: DUP3
00000830: SWAP2
00000831: DUP3
00000832: PUSH2 0x063f
00000835: JUMP
00000836: JUMPDEST
00000837: SUB
00000838: SWAP1
00000839: RETURN
0000083a: JUMPDEST
0000083b: PUSH2 0x0138
0000083e: JUMP
0000083f: JUMPDEST
00000840: PUSH0
00000841: DUP1
00000842: REVERT
00000843: JUMPDEST
00000844: PUSH0
00000845: SWAP1
00000846: JUMP
00000847: JUMPDEST
00000848: PUSH2 0x084f
0000084b: PUSH2 0x0843
0000084e: JUMP
0000084f: JUMPDEST
00000850: POP
00000851: DUP1
00000852: PUSH2 0x086a
00000855: PUSH2 0x0864
00000858: PUSH4 0x7965db0b
0000085d: PUSH1 0xe0
0000085f: SHL
00000860: PUSH2 0x0140
00000863: JUMP
00000864: JUMPDEST
00000865: SWAP2
00000866: PUSH2 0x0140
00000869: JUMP
0000086a: JUMPDEST
0000086b: EQ
0000086c: SWAP1
0000086d: DUP2
0000086e: ISZERO
0000086f: PUSH2 0x0877
00000872: JUMPI
00000873: JUMPDEST
00000874: POP
00000875: SWAP1
00000876: JUMP
00000877: JUMPDEST
00000878: PUSH2 0x0881
0000087b: SWAP2
0000087c: POP
0000087d: PUSH2 0x0eaf
00000880: JUMP
00000881: JUMPDEST
00000882: PUSH0
00000883: PUSH2 0x0873
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH0
00000889: SHR
0000088a: SWAP1
0000088b: JUMP
0000088c: JUMPDEST
0000088d: PUSH2 0x0898
00000890: PUSH2 0x089d
00000893: SWAP2
00000894: PUSH2 0x0887
00000897: JUMP
00000898: JUMPDEST
00000899: PUSH2 0x07ca
0000089c: JUMP
0000089d: JUMPDEST
0000089e: SWAP1
0000089f: JUMP
000008a0: JUMPDEST
000008a1: PUSH2 0x08aa
000008a4: SWAP1
000008a5: SLOAD
000008a6: PUSH2 0x088c
000008a9: JUMP
000008aa: JUMPDEST
000008ab: SWAP1
000008ac: JUMP
000008ad: JUMPDEST
000008ae: PUSH2 0x08b5
000008b1: PUSH2 0x0ed5
000008b4: JUMP
000008b5: JUMPDEST
000008b6: PUSH2 0x08d0
000008b9: PUSH2 0x08ca
000008bc: PUSH2 0x08c5
000008bf: PUSH1 0x02
000008c1: PUSH2 0x08a0
000008c4: JUMP
000008c5: JUMPDEST
000008c6: PUSH2 0x023b
000008c9: JUMP
000008ca: JUMPDEST
000008cb: SWAP2
000008cc: PUSH2 0x023b
000008cf: JUMP
000008d0: JUMPDEST
000008d1: SUB
000008d2: PUSH2 0x08f1
000008d5: JUMPI
000008d6: PUSH2 0x08ee
000008d9: PUSH2 0x08e0
000008dc: PUSH2 0x06e3
000008df: JUMP
000008e0: JUMPDEST
000008e1: PUSH2 0x08e8
000008e4: PUSH2 0x0ed5
000008e7: JUMP
000008e8: JUMPDEST
000008e9: SWAP1
000008ea: PUSH2 0x0f46
000008ed: JUMP
000008ee: JUMPDEST
000008ef: POP
000008f0: JUMP
000008f1: JUMPDEST
000008f2: PUSH0
000008f3: PUSH4 0x058d9a1b
000008f8: PUSH1 0xe0
000008fa: SHL
000008fb: DUP2
000008fc: MSTORE
000008fd: DUP1
000008fe: PUSH2 0x0909
00000901: PUSH1 0x04
00000903: DUP3
00000904: ADD
00000905: PUSH2 0x01f8
00000908: JUMP
00000909: JUMPDEST
0000090a: SUB
0000090b: SWAP1
0000090c: REVERT
0000090d: JUMPDEST
0000090e: SWAP1
0000090f: PUSH2 0x0927
00000912: SWAP2
00000913: PUSH2 0x0922
00000916: PUSH2 0x091d
00000919: PUSH2 0x06e3
0000091c: JUMP
0000091d: JUMPDEST
0000091e: PUSH2 0x1007
00000921: JUMP
00000922: JUMPDEST
00000923: PUSH2 0x0929
00000926: JUMP
00000927: JUMPDEST
00000928: JUMP
00000929: JUMPDEST
0000092a: SWAP1
0000092b: PUSH2 0x0933
0000092e: SWAP2
0000092f: PUSH2 0x1060
00000932: JUMP
00000933: JUMPDEST
00000934: JUMP
00000935: JUMPDEST
00000936: SWAP1
00000937: PUSH2 0x093f
0000093a: SWAP2
0000093b: PUSH2 0x090d
0000093e: JUMP
0000093f: JUMPDEST
00000940: JUMP
00000941: JUMPDEST
00000942: PUSH0
00000943: SWAP1
00000944: JUMP
00000945: JUMPDEST
00000946: PUSH2 0x094e
00000949: SWAP1
0000094a: PUSH2 0x031d
0000094d: JUMP
0000094e: JUMPDEST
0000094f: SWAP1
00000950: JUMP
00000951: JUMPDEST
00000952: SWAP1
00000953: PUSH2 0x095b
00000956: SWAP1
00000957: PUSH2 0x0945
0000095a: JUMP
0000095b: JUMPDEST
0000095c: PUSH0
0000095d: MSTORE
0000095e: PUSH1 0x20
00000960: MSTORE
00000961: PUSH1 0x40
00000963: PUSH0
00000964: KECCAK256
00000965: SWAP1
00000966: JUMP
00000967: JUMPDEST
00000968: SWAP1
00000969: JUMP
0000096a: JUMPDEST
0000096b: PUSH2 0x0976
0000096e: PUSH2 0x097b
00000971: SWAP2
00000972: PUSH2 0x0887
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH2 0x0967
0000097a: JUMP
0000097b: JUMPDEST
0000097c: SWAP1
0000097d: JUMP
0000097e: JUMPDEST
0000097f: PUSH2 0x0988
00000982: SWAP1
00000983: SLOAD
00000984: PUSH2 0x096a
00000987: JUMP
00000988: JUMPDEST
00000989: SWAP1
0000098a: JUMP
0000098b: JUMPDEST
0000098c: PUSH1 0x01
0000098e: PUSH2 0x09a3
00000991: PUSH2 0x09a9
00000994: SWAP3
00000995: PUSH2 0x099c
00000998: PUSH2 0x0941
0000099b: JUMP
0000099c: JUMPDEST
0000099d: POP
0000099e: PUSH0
0000099f: PUSH2 0x0951
000009a2: JUMP
000009a3: JUMPDEST
000009a4: ADD
000009a5: PUSH2 0x097e
000009a8: JUMP
000009a9: JUMPDEST
000009aa: SWAP1
000009ab: JUMP
000009ac: JUMPDEST
000009ad: SWAP1
000009ae: PUSH2 0x09c6
000009b1: SWAP2
000009b2: PUSH2 0x09c1
000009b5: PUSH2 0x09bc
000009b8: PUSH2 0x06e3
000009bb: JUMP
000009bc: JUMPDEST
000009bd: PUSH2 0x1007
000009c0: JUMP
000009c1: JUMPDEST
000009c2: PUSH2 0x09c8
000009c5: JUMP
000009c6: JUMPDEST
000009c7: JUMP
000009c8: JUMPDEST
000009c9: SWAP1
000009ca: DUP2
000009cb: PUSH2 0x09e3
000009ce: PUSH2 0x09dd
000009d1: PUSH2 0x09d8
000009d4: PUSH2 0x06e3
000009d7: JUMP
000009d8: JUMPDEST
000009d9: PUSH2 0x031d
000009dc: JUMP
000009dd: JUMPDEST
000009de: SWAP2
000009df: PUSH2 0x031d
000009e2: JUMP
000009e3: JUMPDEST
000009e4: EQ
000009e5: PUSH2 0x09f3
000009e8: JUMPI
000009e9: PUSH2 0x09f1
000009ec: SWAP2
000009ed: PUSH2 0x0a0f
000009f0: JUMP
000009f1: JUMPDEST
000009f2: JUMP
000009f3: JUMPDEST
000009f4: PUSH0
000009f5: PUSH4 0x318bd07d
000009fa: PUSH1 0xe1
000009fc: SHL
000009fd: DUP2
000009fe: MSTORE
000009ff: DUP1
00000a00: PUSH2 0x0a0b
00000a03: PUSH1 0x04
00000a05: DUP3
00000a06: ADD
00000a07: PUSH2 0x01f8
00000a0a: JUMP
00000a0b: JUMPDEST
00000a0c: SUB
00000a0d: SWAP1
00000a0e: REVERT
00000a0f: JUMPDEST
00000a10: SWAP1
00000a11: PUSH2 0x0a19
00000a14: SWAP2
00000a15: PUSH2 0x0f46
00000a18: JUMP
00000a19: JUMPDEST
00000a1a: POP
00000a1b: JUMP
00000a1c: JUMPDEST
00000a1d: SWAP1
00000a1e: PUSH2 0x0a26
00000a21: SWAP2
00000a22: PUSH2 0x09ac
00000a25: JUMP
00000a26: JUMPDEST
00000a27: JUMP
00000a28: JUMPDEST
00000a29: SWAP1
00000a2a: DUP2
00000a2b: PUSH2 0x0a43
00000a2e: PUSH2 0x0a3d
00000a31: PUSH2 0x0a38
00000a34: PUSH2 0x06e3
00000a37: JUMP
00000a38: JUMPDEST
00000a39: PUSH2 0x031d
00000a3c: JUMP
00000a3d: JUMPDEST
00000a3e: SWAP2
00000a3f: PUSH2 0x031d
00000a42: JUMP
00000a43: JUMPDEST
00000a44: EQ
00000a45: PUSH2 0x0a53
00000a48: JUMPI
00000a49: PUSH2 0x0a51
00000a4c: SWAP2
00000a4d: PUSH2 0x0a6f
00000a50: JUMP
00000a51: JUMPDEST
00000a52: JUMP
00000a53: JUMPDEST
00000a54: PUSH0
00000a55: PUSH4 0x318bd07d
00000a5a: PUSH1 0xe1
00000a5c: SHL
00000a5d: DUP2
00000a5e: MSTORE
00000a5f: DUP1
00000a60: PUSH2 0x0a6b
00000a63: PUSH1 0x04
00000a65: DUP3
00000a66: ADD
00000a67: PUSH2 0x01f8
00000a6a: JUMP
00000a6b: JUMPDEST
00000a6c: SUB
00000a6d: SWAP1
00000a6e: REVERT
00000a6f: JUMPDEST
00000a70: SWAP1
00000a71: PUSH2 0x0a79
00000a74: SWAP2
00000a75: PUSH2 0x10f5
00000a78: JUMP
00000a79: JUMPDEST
00000a7a: JUMP
00000a7b: JUMPDEST
00000a7c: SWAP1
00000a7d: PUSH2 0x0a85
00000a80: SWAP2
00000a81: PUSH2 0x0a28
00000a84: JUMP
00000a85: JUMPDEST
00000a86: JUMP
00000a87: JUMPDEST
00000a88: SWAP1
00000a89: PUSH2 0x0aa2
00000a8c: SWAP3
00000a8d: SWAP2
00000a8e: PUSH2 0x0a9d
00000a91: PUSH2 0x0a98
00000a94: PUSH2 0x02ee
00000a97: JUMP
00000a98: JUMPDEST
00000a99: PUSH2 0x1007
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: PUSH2 0x0aff
00000aa1: JUMP
00000aa2: JUMPDEST
00000aa3: JUMP
00000aa4: JUMPDEST
00000aa5: PUSH2 0x0ab0
00000aa8: PUSH2 0x0ab5
00000aab: SWAP2
00000aac: PUSH2 0x0887
00000aaf: JUMP
00000ab0: JUMPDEST
00000ab1: PUSH2 0x04bd
00000ab4: JUMP
00000ab5: JUMPDEST
00000ab6: SWAP1
00000ab7: JUMP
00000ab8: JUMPDEST
00000ab9: PUSH2 0x0ac2
00000abc: SWAP1
00000abd: SLOAD
00000abe: PUSH2 0x0aa4
00000ac1: JUMP
00000ac2: JUMPDEST
00000ac3: SWAP1
00000ac4: JUMP
00000ac5: JUMPDEST
00000ac6: PUSH2 0x0ace
00000ac9: SWAP1
00000aca: PUSH2 0x046f
00000acd: JUMP
00000ace: JUMPDEST
00000acf: SWAP1
00000ad0: JUMP
00000ad1: JUMPDEST
00000ad2: PUSH2 0x0ada
00000ad5: SWAP1
00000ad6: PUSH2 0x0ac5
00000ad9: JUMP
00000ada: JUMPDEST
00000adb: SWAP1
00000adc: JUMP
00000add: JUMPDEST
00000ade: PUSH2 0x0ae6
00000ae1: SWAP1
00000ae2: PUSH2 0x056b
00000ae5: JUMP
00000ae6: JUMPDEST
00000ae7: SWAP1
00000ae8: MSTORE
00000ae9: JUMP
00000aea: JUMPDEST
00000aeb: SWAP2
00000aec: SWAP1
00000aed: PUSH2 0x0afd
00000af0: SWAP1
00000af1: PUSH0
00000af2: PUSH1 0x20
00000af4: DUP6
00000af5: ADD
00000af6: SWAP5
00000af7: ADD
00000af8: SWAP1
00000af9: PUSH2 0x0add
00000afc: JUMP
00000afd: JUMPDEST
00000afe: JUMP
00000aff: JUMPDEST
00000b00: SWAP2
00000b01: SWAP1
00000b02: SWAP2
00000b03: PUSH2 0x0b1f
00000b06: PUSH2 0x0b19
00000b09: PUSH2 0x0b14
00000b0c: PUSH1 0x04
00000b0e: DUP5
00000b0f: SWAP1
00000b10: PUSH2 0x04a3
00000b13: JUMP
00000b14: JUMPDEST
00000b15: PUSH2 0x0ab8
00000b18: JUMP
00000b19: JUMPDEST
00000b1a: ISZERO
00000b1b: PUSH2 0x018d
00000b1e: JUMP
00000b1f: JUMPDEST
00000b20: PUSH2 0x0b87
00000b23: JUMPI
00000b24: PUSH2 0x0b37
00000b27: PUSH2 0x0b2f
00000b2a: DUP5
00000b2b: PUSH2 0x0ad1
00000b2e: JUMP
00000b2f: JUMPDEST
00000b30: DUP3
00000b31: DUP5
00000b32: SWAP2
00000b33: PUSH2 0x11de
00000b36: JUMP
00000b37: JUMPDEST
00000b38: SWAP2
00000b39: SWAP1
00000b3a: SWAP2
00000b3b: PUSH2 0x0b82
00000b3e: PUSH2 0x0b70
00000b41: PUSH2 0x0b6a
00000b44: PUSH32 0x21026a2e5553c0254300d9681b3c308f64131341c39920e5f59527c06f6b2b98
00000b65: SWAP4
00000b66: PUSH2 0x0497
00000b69: JUMP
00000b6a: JUMPDEST
00000b6b: SWAP4
00000b6c: PUSH2 0x0497
00000b6f: JUMP
00000b70: JUMPDEST
00000b71: SWAP4
00000b72: PUSH2 0x0b79
00000b75: PUSH2 0x0132
00000b78: JUMP
00000b79: JUMPDEST
00000b7a: SWAP2
00000b7b: DUP3
00000b7c: SWAP2
00000b7d: DUP3
00000b7e: PUSH2 0x0aea
00000b81: JUMP
00000b82: JUMPDEST
00000b83: SUB
00000b84: SWAP1
00000b85: LOG3
00000b86: JUMP
00000b87: JUMPDEST
00000b88: PUSH0
00000b89: PUSH4 0xf77cde6b
00000b8e: PUSH1 0xe0
00000b90: SHL
00000b91: DUP2
00000b92: MSTORE
00000b93: DUP1
00000b94: PUSH2 0x0b9f
00000b97: PUSH1 0x04
00000b99: DUP3
00000b9a: ADD
00000b9b: PUSH2 0x01f8
00000b9e: JUMP
00000b9f: JUMPDEST
00000ba0: SUB
00000ba1: SWAP1
00000ba2: REVERT
00000ba3: JUMPDEST
00000ba4: SWAP1
00000ba5: PUSH2 0x0bae
00000ba8: SWAP3
00000ba9: SWAP2
00000baa: PUSH2 0x0a87
00000bad: JUMP
00000bae: JUMPDEST
00000baf: JUMP
00000bb0: JUMPDEST
00000bb1: PUSH2 0x0bc9
00000bb4: SWAP1
00000bb5: PUSH2 0x0bc4
00000bb8: PUSH2 0x0bbf
00000bbb: PUSH2 0x06e3
00000bbe: JUMP
00000bbf: JUMPDEST
00000bc0: PUSH2 0x1007
00000bc3: JUMP
00000bc4: JUMPDEST
00000bc5: PUSH2 0x0c31
00000bc8: JUMP
00000bc9: JUMPDEST
00000bca: JUMP
00000bcb: JUMPDEST
00000bcc: PUSH2 0x0bdf
00000bcf: PUSH2 0x0bda
00000bd2: PUSH2 0x0be4
00000bd5: SWAP3
00000bd6: PUSH2 0x06bf
00000bd9: JUMP
00000bda: JUMPDEST
00000bdb: PUSH2 0x046c
00000bde: JUMP
00000bdf: JUMPDEST
00000be0: PUSH2 0x0230
00000be3: JUMP
00000be4: JUMPDEST
00000be5: SWAP1
00000be6: JUMP
00000be7: JUMPDEST
00000be8: PUSH2 0x0bf0
00000beb: SWAP1
00000bec: PUSH2 0x0bcb
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: SWAP1
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: SWAP1
00000bf5: PUSH2 0x0c04
00000bf8: PUSH1 0x01
00000bfa: DUP1
00000bfb: PUSH1 0xa0
00000bfd: SHL
00000bfe: SUB
00000bff: SWAP2
00000c00: PUSH2 0x06c2
00000c03: JUMP
00000c04: JUMPDEST
00000c05: SWAP2
00000c06: DUP2
00000c07: NOT
00000c08: AND
00000c09: SWAP2
00000c0a: AND
00000c0b: OR
00000c0c: SWAP1
00000c0d: JUMP
00000c0e: JUMPDEST
00000c0f: SWAP1
00000c10: JUMP
00000c11: JUMPDEST
00000c12: SWAP1
00000c13: PUSH2 0x0c26
00000c16: PUSH2 0x0c21
00000c19: PUSH2 0x0c2d
00000c1c: SWAP3
00000c1d: PUSH2 0x0497
00000c20: JUMP
00000c21: JUMPDEST
00000c22: PUSH2 0x0c0e
00000c25: JUMP
00000c26: JUMPDEST
00000c27: DUP3
00000c28: SLOAD
00000c29: PUSH2 0x0bf3
00000c2c: JUMP
00000c2d: JUMPDEST
00000c2e: SWAP1
00000c2f: SSTORE
00000c30: JUMP
00000c31: JUMPDEST
00000c32: DUP1
00000c33: PUSH2 0x0c4c
00000c36: PUSH2 0x0c46
00000c39: PUSH2 0x0c41
00000c3c: PUSH0
00000c3d: PUSH2 0x0be7
00000c40: JUMP
00000c41: JUMPDEST
00000c42: PUSH2 0x023b
00000c45: JUMP
00000c46: JUMPDEST
00000c47: SWAP2
00000c48: PUSH2 0x023b
00000c4b: JUMP
00000c4c: JUMPDEST
00000c4d: EQ
00000c4e: DUP1
00000c4f: ISZERO
00000c50: PUSH2 0x0cd5
00000c53: JUMPI
00000c54: JUMPDEST
00000c55: PUSH2 0x0cb9
00000c58: JUMPI
00000c59: PUSH2 0x0c63
00000c5c: DUP2
00000c5d: PUSH1 0x02
00000c5f: PUSH2 0x0c11
00000c62: JUMP
00000c63: JUMPDEST
00000c64: PUSH2 0x0c6d
00000c67: PUSH1 0x01
00000c69: PUSH2 0x08a0
00000c6c: JUMP
00000c6d: JUMPDEST
00000c6e: SWAP1
00000c6f: PUSH2 0x0ca1
00000c72: PUSH2 0x0c9b
00000c75: PUSH32 0xefdcbba819467e00b0262c12892dda980bac68580b72178e57a162368b808766
00000c96: SWAP4
00000c97: PUSH2 0x0497
00000c9a: JUMP
00000c9b: JUMPDEST
00000c9c: SWAP2
00000c9d: PUSH2 0x0497
00000ca0: JUMP
00000ca1: JUMPDEST
00000ca2: SWAP2
00000ca3: PUSH2 0x0caa
00000ca6: PUSH2 0x0132
00000ca9: JUMP
00000caa: JUMPDEST
00000cab: DUP1
00000cac: PUSH2 0x0cb4
00000caf: DUP2
00000cb0: PUSH2 0x01f8
00000cb3: JUMP
00000cb4: JUMPDEST
00000cb5: SUB
00000cb6: SWAP1
00000cb7: LOG3
00000cb8: JUMP
00000cb9: JUMPDEST
00000cba: PUSH0
00000cbb: PUSH4 0x318bd07d
00000cc0: PUSH1 0xe1
00000cc2: SHL
00000cc3: DUP2
00000cc4: MSTORE
00000cc5: DUP1
00000cc6: PUSH2 0x0cd1
00000cc9: PUSH1 0x04
00000ccb: DUP3
00000ccc: ADD
00000ccd: PUSH2 0x01f8
00000cd0: JUMP
00000cd1: JUMPDEST
00000cd2: SUB
00000cd3: SWAP1
00000cd4: REVERT
00000cd5: JUMPDEST
00000cd6: POP
00000cd7: DUP1
00000cd8: PUSH2 0x0cf0
00000cdb: PUSH2 0x0cea
00000cde: PUSH2 0x0ce5
00000ce1: PUSH2 0x0ed5
00000ce4: JUMP
00000ce5: JUMPDEST
00000ce6: PUSH2 0x023b
00000ce9: JUMP
00000cea: JUMPDEST
00000ceb: SWAP2
00000cec: PUSH2 0x023b
00000cef: JUMP
00000cf0: JUMPDEST
00000cf1: EQ
00000cf2: PUSH2 0x0c54
00000cf5: JUMP
00000cf6: JUMPDEST
00000cf7: PUSH2 0x0cff
00000cfa: SWAP1
00000cfb: PUSH2 0x0bb0
00000cfe: JUMP
00000cff: JUMPDEST
00000d00: JUMP
00000d01: JUMPDEST
00000d02: PUSH0
00000d03: SWAP1
00000d04: JUMP
00000d05: JUMPDEST
00000d06: PUSH2 0x0d0d
00000d09: PUSH2 0x0d01
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: POP
00000d0f: PUSH2 0x0d18
00000d12: PUSH1 0x01
00000d14: PUSH2 0x08a0
00000d17: JUMP
00000d18: JUMPDEST
00000d19: SWAP1
00000d1a: JUMP
00000d1b: JUMPDEST
00000d1c: PUSH2 0x0d41
00000d1f: SWAP2
00000d20: PUSH0
00000d21: PUSH2 0x0d36
00000d24: PUSH2 0x0d3c
00000d27: SWAP4
00000d28: PUSH2 0x0d2f
00000d2b: PUSH2 0x0843
00000d2e: JUMP
00000d2f: JUMPDEST
00000d30: POP
00000d31: DUP3
00000d32: PUSH2 0x0951
00000d35: JUMP
00000d36: JUMPDEST
00000d37: ADD
00000d38: PUSH2 0x04a3
00000d3b: JUMP
00000d3c: JUMPDEST
00000d3d: PUSH2 0x0ab8
00000d40: JUMP
00000d41: JUMPDEST
00000d42: SWAP1
00000d43: JUMP
00000d44: JUMPDEST
00000d45: PUSH2 0x0d5d
00000d48: SWAP1
00000d49: PUSH2 0x0d58
00000d4c: PUSH2 0x0d53
00000d4f: PUSH2 0x06e3
00000d52: JUMP
00000d53: JUMPDEST
00000d54: PUSH2 0x1007
00000d57: JUMP
00000d58: JUMPDEST
00000d59: PUSH2 0x0d5f
00000d5c: JUMP
00000d5d: JUMPDEST
00000d5e: JUMP
00000d5f: JUMPDEST
00000d60: PUSH2 0x0d68
00000d63: SWAP1
00000d64: PUSH2 0x122c
00000d67: JUMP
00000d68: JUMPDEST
00000d69: JUMP
00000d6a: JUMPDEST
00000d6b: PUSH2 0x0d73
00000d6e: SWAP1
00000d6f: PUSH2 0x0d44
00000d72: JUMP
00000d73: JUMPDEST
00000d74: JUMP
00000d75: JUMPDEST
00000d76: SWAP1
00000d77: PUSH2 0x0d8f
00000d7a: SWAP2
00000d7b: PUSH2 0x0d8a
00000d7e: PUSH2 0x0d85
00000d81: PUSH2 0x06e3
00000d84: JUMP
00000d85: JUMPDEST
00000d86: PUSH2 0x1007
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: PUSH2 0x0d91
00000d8e: JUMP
00000d8f: JUMPDEST
00000d90: JUMP
00000d91: JUMPDEST
00000d92: SWAP1
00000d93: DUP2
00000d94: PUSH2 0x0dac
00000d97: PUSH2 0x0da6
00000d9a: PUSH2 0x0da1
00000d9d: PUSH2 0x06e3
00000da0: JUMP
00000da1: JUMPDEST
00000da2: PUSH2 0x031d
00000da5: JUMP
00000da6: JUMPDEST
00000da7: SWAP2
00000da8: PUSH2 0x031d
00000dab: JUMP
00000dac: JUMPDEST
00000dad: EQ
00000dae: PUSH2 0x0dbc
00000db1: JUMPI
00000db2: PUSH2 0x0dba
00000db5: SWAP2
00000db6: PUSH2 0x0dd8
00000db9: JUMP
00000dba: JUMPDEST
00000dbb: JUMP
00000dbc: JUMPDEST
00000dbd: PUSH0
00000dbe: PUSH4 0x318bd07d
00000dc3: PUSH1 0xe1
00000dc5: SHL
00000dc6: DUP2
00000dc7: MSTORE
00000dc8: DUP1
00000dc9: PUSH2 0x0dd4
00000dcc: PUSH1 0x04
00000dce: DUP3
00000dcf: ADD
00000dd0: PUSH2 0x01f8
00000dd3: JUMP
00000dd4: JUMPDEST
00000dd5: SUB
00000dd6: SWAP1
00000dd7: REVERT
00000dd8: JUMPDEST
00000dd9: SWAP1
00000dda: PUSH2 0x0de2
00000ddd: SWAP2
00000dde: PUSH2 0x12b5
00000de1: JUMP
00000de2: JUMPDEST
00000de3: POP
00000de4: JUMP
00000de5: JUMPDEST
00000de6: SWAP1
00000de7: PUSH2 0x0def
00000dea: SWAP2
00000deb: PUSH2 0x0d75
00000dee: JUMP
00000def: JUMPDEST
00000df0: JUMP
00000df1: JUMPDEST
00000df2: SWAP2
00000df3: SWAP1
00000df4: CALLER
00000df5: PUSH2 0x0e0f
00000df8: PUSH2 0x0e09
00000dfb: PUSH2 0x0e04
00000dfe: PUSH1 0x03
00000e00: PUSH2 0x08a0
00000e03: JUMP
00000e04: JUMPDEST
00000e05: PUSH2 0x023b
00000e08: JUMP
00000e09: JUMPDEST
00000e0a: SWAP2
00000e0b: PUSH2 0x023b
00000e0e: JUMP
00000e0f: JUMPDEST
00000e10: SUB
00000e11: PUSH2 0x0e1f
00000e14: JUMPI
00000e15: PUSH2 0x0e1d
00000e18: SWAP3
00000e19: PUSH2 0x0e3b
00000e1c: JUMP
00000e1d: JUMPDEST
00000e1e: JUMP
00000e1f: JUMPDEST
00000e20: PUSH0
00000e21: PUSH4 0x91655201
00000e26: PUSH1 0xe0
00000e28: SHL
00000e29: DUP2
00000e2a: MSTORE
00000e2b: DUP1
00000e2c: PUSH2 0x0e37
00000e2f: PUSH1 0x04
00000e31: DUP3
00000e32: ADD
00000e33: PUSH2 0x01f8
00000e36: JUMP
00000e37: JUMPDEST
00000e38: SUB
00000e39: SWAP1
00000e3a: REVERT
00000e3b: JUMPDEST
00000e3c: SWAP2
00000e3d: SWAP1
00000e3e: SWAP2
00000e3f: PUSH2 0x0e52
00000e42: PUSH2 0x0e4a
00000e45: DUP5
00000e46: PUSH2 0x0ad1
00000e49: JUMP
00000e4a: JUMPDEST
00000e4b: DUP3
00000e4c: DUP5
00000e4d: SWAP2
00000e4e: PUSH2 0x11de
00000e51: JUMP
00000e52: JUMPDEST
00000e53: SWAP2
00000e54: SWAP1
00000e55: SWAP2
00000e56: PUSH2 0x0e9d
00000e59: PUSH2 0x0e8b
00000e5c: PUSH2 0x0e85
00000e5f: PUSH32 0xf49e80233e375da06733fc4d8595af0326472fea02b128c5712913b28e0406b6
00000e80: SWAP4
00000e81: PUSH2 0x0497
00000e84: JUMP
00000e85: JUMPDEST
00000e86: SWAP4
00000e87: PUSH2 0x0497
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: SWAP4
00000e8d: PUSH2 0x0e94
00000e90: PUSH2 0x0132
00000e93: JUMP
00000e94: JUMPDEST
00000e95: SWAP2
00000e96: DUP3
00000e97: SWAP2
00000e98: DUP3
00000e99: PUSH2 0x0aea
00000e9c: JUMP
00000e9d: JUMPDEST
00000e9e: SUB
00000e9f: SWAP1
00000ea0: LOG3
00000ea1: JUMP
00000ea2: JUMPDEST
00000ea3: SWAP1
00000ea4: PUSH2 0x0ead
00000ea7: SWAP3
00000ea8: SWAP2
00000ea9: PUSH2 0x0df1
00000eac: JUMP
00000ead: JUMPDEST
00000eae: JUMP
00000eaf: JUMPDEST
00000eb0: PUSH2 0x0eb7
00000eb3: PUSH2 0x0843
00000eb6: JUMP
00000eb7: JUMPDEST
00000eb8: POP
00000eb9: PUSH2 0x0ed1
00000ebc: PUSH2 0x0ecb
00000ebf: PUSH4 0x01ffc9a7
00000ec4: PUSH1 0xe0
00000ec6: SHL
00000ec7: PUSH2 0x0140
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: SWAP2
00000ecd: PUSH2 0x0140
00000ed0: JUMP
00000ed1: JUMPDEST
00000ed2: EQ
00000ed3: SWAP1
00000ed4: JUMP
00000ed5: JUMPDEST
00000ed6: PUSH2 0x0edd
00000ed9: PUSH2 0x0d01
00000edc: JUMP
00000edd: JUMPDEST
00000ede: POP
00000edf: CALLER
00000ee0: SWAP1
00000ee1: JUMP
00000ee2: JUMPDEST
00000ee3: SHL
00000ee4: SWAP1
00000ee5: JUMP
00000ee6: JUMPDEST
00000ee7: SWAP2
00000ee8: SWAP1
00000ee9: PUSH1 0x08
00000eeb: PUSH2 0x0f06
00000eee: SWAP2
00000eef: MUL
00000ef0: SWAP2
00000ef1: PUSH2 0x0f00
00000ef4: PUSH1 0x01
00000ef6: DUP1
00000ef7: PUSH1 0xa0
00000ef9: SHL
00000efa: SUB
00000efb: DUP5
00000efc: PUSH2 0x0ee2
00000eff: JUMP
00000f00: JUMPDEST
00000f01: SWAP3
00000f02: PUSH2 0x0ee2
00000f05: JUMP
00000f06: JUMPDEST
00000f07: SWAP2
00000f08: DUP2
00000f09: NOT
00000f0a: AND
00000f0b: SWAP2
00000f0c: AND
00000f0d: OR
00000f0e: SWAP1
00000f0f: JUMP
00000f10: JUMPDEST
00000f11: SWAP2
00000f12: SWAP1
00000f13: PUSH2 0x0f26
00000f16: PUSH2 0x0f21
00000f19: PUSH2 0x0f2e
00000f1c: SWAP4
00000f1d: PUSH2 0x0497
00000f20: JUMP
00000f21: JUMPDEST
00000f22: PUSH2 0x0c0e
00000f25: JUMP
00000f26: JUMPDEST
00000f27: SWAP1
00000f28: DUP4
00000f29: SLOAD
00000f2a: PUSH2 0x0ee6
00000f2d: JUMP
00000f2e: JUMPDEST
00000f2f: SWAP1
00000f30: SSTORE
00000f31: JUMP
00000f32: JUMPDEST
00000f33: PUSH2 0x0f44
00000f36: SWAP2
00000f37: PUSH2 0x0f3e
00000f3a: PUSH2 0x0d01
00000f3d: JUMP
00000f3e: JUMPDEST
00000f3f: SWAP2
00000f40: PUSH2 0x0f10
00000f43: JUMP
00000f44: JUMPDEST
00000f45: JUMP
00000f46: JUMPDEST
00000f47: SWAP1
00000f48: PUSH2 0x0f79
00000f4b: SWAP2
00000f4c: PUSH2 0x0f53
00000f4f: PUSH2 0x0843
00000f52: JUMP
00000f53: JUMPDEST
00000f54: POP
00000f55: DUP1
00000f56: PUSH2 0x0f6e
00000f59: PUSH2 0x0f68
00000f5c: PUSH2 0x0f63
00000f5f: PUSH2 0x06e3
00000f62: JUMP
00000f63: JUMPDEST
00000f64: PUSH2 0x031d
00000f67: JUMP
00000f68: JUMPDEST
00000f69: SWAP2
00000f6a: PUSH2 0x031d
00000f6d: JUMP
00000f6e: JUMPDEST
00000f6f: EQ
00000f70: PUSH2 0x0f7c
00000f73: JUMPI
00000f74: JUMPDEST
00000f75: PUSH2 0x1356
00000f78: JUMP
00000f79: JUMPDEST
00000f7a: SWAP1
00000f7b: JUMP
00000f7c: JUMPDEST
00000f7d: PUSH2 0x0f86
00000f80: PUSH1 0x01
00000f82: PUSH2 0x08a0
00000f85: JUMP
00000f86: JUMPDEST
00000f87: DUP3
00000f88: PUSH2 0x0fba
00000f8b: PUSH2 0x0fb4
00000f8e: PUSH32 0xf8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec6
00000faf: SWAP4
00000fb0: PUSH2 0x0497
00000fb3: JUMP
00000fb4: JUMPDEST
00000fb5: SWAP2
00000fb6: PUSH2 0x0497
00000fb9: JUMP
00000fba: JUMPDEST
00000fbb: SWAP2
00000fbc: PUSH2 0x0fc3
00000fbf: PUSH2 0x0132
00000fc2: JUMP
00000fc3: JUMPDEST
00000fc4: DUP1
00000fc5: PUSH2 0x0fcd
00000fc8: DUP2
00000fc9: PUSH2 0x01f8
00000fcc: JUMP
00000fcd: JUMPDEST
00000fce: SUB
00000fcf: SWAP1
00000fd0: LOG3
00000fd1: PUSH2 0x0feb
00000fd4: PUSH2 0x0fdb
00000fd7: PUSH2 0x06e3
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: PUSH2 0x0fe5
00000fdf: PUSH1 0x01
00000fe1: PUSH2 0x08a0
00000fe4: JUMP
00000fe5: JUMPDEST
00000fe6: SWAP1
00000fe7: PUSH2 0x12b5
00000fea: JUMP
00000feb: JUMPDEST
00000fec: POP
00000fed: PUSH2 0x0ff7
00000ff0: DUP3
00000ff1: PUSH1 0x01
00000ff3: PUSH2 0x0c11
00000ff6: JUMP
00000ff7: JUMPDEST
00000ff8: PUSH2 0x1002
00000ffb: PUSH0
00000ffc: PUSH1 0x02
00000ffe: PUSH2 0x0f32
00001001: JUMP
00001002: JUMPDEST
00001003: PUSH2 0x0f74
00001006: JUMP
00001007: JUMPDEST
00001008: PUSH2 0x1019
0000100b: SWAP1
0000100c: PUSH2 0x1013
0000100f: PUSH2 0x0ed5
00001012: JUMP
00001013: JUMPDEST
00001014: SWAP1
00001015: PUSH2 0x1424
00001018: JUMP
00001019: JUMPDEST
0000101a: JUMP
0000101b: JUMPDEST
0000101c: SWAP1
0000101d: PUSH2 0x1027
00001020: PUSH1 0xff
00001022: SWAP2
00001023: PUSH2 0x06c2
00001026: JUMP
00001027: JUMPDEST
00001028: SWAP2
00001029: DUP2
0000102a: NOT
0000102b: AND
0000102c: SWAP2
0000102d: AND
0000102e: OR
0000102f: SWAP1
00001030: JUMP
00001031: JUMPDEST
00001032: PUSH2 0x103a
00001035: SWAP1
00001036: PUSH2 0x018d
00001039: JUMP
0000103a: JUMPDEST
0000103b: SWAP1
0000103c: JUMP
0000103d: JUMPDEST
0000103e: SWAP1
0000103f: JUMP
00001040: JUMPDEST
00001041: SWAP1
00001042: PUSH2 0x1055
00001045: PUSH2 0x1050
00001048: PUSH2 0x105c
0000104b: SWAP3
0000104c: PUSH2 0x1031
0000104f: JUMP
00001050: JUMPDEST
00001051: PUSH2 0x103d
00001054: JUMP
00001055: JUMPDEST
00001056: DUP3
00001057: SLOAD
00001058: PUSH2 0x101b
0000105b: JUMP
0000105c: JUMPDEST
0000105d: SWAP1
0000105e: SSTORE
0000105f: JUMP
00001060: JUMPDEST
00001061: DUP1
00001062: PUSH2 0x107b
00001065: PUSH2 0x1075
00001068: PUSH2 0x1070
0000106b: PUSH0
0000106c: PUSH2 0x0be7
0000106f: JUMP
00001070: JUMPDEST
00001071: PUSH2 0x023b
00001074: JUMP
00001075: JUMPDEST
00001076: SWAP2
00001077: PUSH2 0x023b
0000107a: JUMP
0000107b: JUMPDEST
0000107c: EQ
0000107d: PUSH2 0x10d9
00001080: JUMPI
00001081: PUSH2 0x1095
00001084: DUP3
00001085: PUSH2 0x1090
00001088: PUSH1 0x04
0000108a: DUP5
0000108b: SWAP1
0000108c: PUSH2 0x04a3
0000108f: JUMP
00001090: JUMPDEST
00001091: PUSH2 0x1040
00001094: JUMP
00001095: JUMPDEST
00001096: PUSH2 0x10d4
00001099: PUSH2 0x10c2
0000109c: PUSH32 0x8ba69cfc061bc5317ea26989000c52d230a731bb6a8ba331663b306aa0df20d8
000010bd: SWAP3
000010be: PUSH2 0x0497
000010c1: JUMP
000010c2: JUMPDEST
000010c3: SWAP3
000010c4: PUSH2 0x10cb
000010c7: PUSH2 0x0132
000010ca: JUMP
000010cb: JUMPDEST
000010cc: SWAP2
000010cd: DUP3
000010ce: SWAP2
000010cf: DUP3
000010d0: PUSH2 0x019f
000010d3: JUMP
000010d4: JUMPDEST
000010d5: SUB
000010d6: SWAP1
000010d7: LOG2
000010d8: JUMP
000010d9: JUMPDEST
000010da: PUSH0
000010db: PUSH4 0xaf458c07
000010e0: PUSH1 0xe0
000010e2: SHL
000010e3: DUP2
000010e4: MSTORE
000010e5: DUP1
000010e6: PUSH2 0x10f1
000010e9: PUSH1 0x04
000010eb: DUP3
000010ec: ADD
000010ed: PUSH2 0x01f8
000010f0: JUMP
000010f1: JUMPDEST
000010f2: SUB
000010f3: SWAP1
000010f4: REVERT
000010f5: JUMPDEST
000010f6: SWAP1
000010f7: DUP1
000010f8: PUSH2 0x1110
000010fb: PUSH2 0x110a
000010fe: PUSH2 0x1105
00001101: PUSH2 0x0ed5
00001104: JUMP
00001105: JUMPDEST
00001106: PUSH2 0x023b
00001109: JUMP
0000110a: JUMPDEST
0000110b: SWAP2
0000110c: PUSH2 0x023b
0000110f: JUMP
00001110: JUMPDEST
00001111: SUB
00001112: PUSH2 0x1121
00001115: JUMPI
00001116: PUSH2 0x111e
00001119: SWAP2
0000111a: PUSH2 0x12b5
0000111d: JUMP
0000111e: JUMPDEST
0000111f: POP
00001120: JUMP
00001121: JUMPDEST
00001122: PUSH0
00001123: PUSH4 0x334bd919
00001128: PUSH1 0xe1
0000112a: SHL
0000112b: DUP2
0000112c: MSTORE
0000112d: DUP1
0000112e: PUSH2 0x1139
00001131: PUSH1 0x04
00001133: DUP3
00001134: ADD
00001135: PUSH2 0x01f8
00001138: JUMP
00001139: JUMPDEST
0000113a: SUB
0000113b: SWAP1
0000113c: REVERT
0000113d: JUMPDEST
0000113e: PUSH2 0x1146
00001141: SWAP1
00001142: PUSH2 0x048b
00001145: JUMP
00001146: JUMPDEST
00001147: SWAP1
00001148: JUMP
00001149: JUMPDEST
0000114a: PUSH4 0xffffffff
0000114f: AND
00001150: SWAP1
00001151: JUMP
00001152: JUMPDEST
00001153: PUSH1 0xe0
00001155: SHL
00001156: SWAP1
00001157: JUMP
00001158: JUMPDEST
00001159: PUSH2 0x116c
0000115c: PUSH2 0x1167
0000115f: PUSH2 0x1171
00001162: SWAP3
00001163: PUSH2 0x1149
00001166: JUMP
00001167: JUMPDEST
00001168: PUSH2 0x1152
0000116b: JUMP
0000116c: JUMPDEST
0000116d: PUSH2 0x0140
00001170: JUMP
00001171: JUMPDEST
00001172: SWAP1
00001173: JUMP
00001174: JUMPDEST
00001175: SWAP2
00001176: PUSH1 0x20
00001178: PUSH2 0x1195
0000117b: SWAP3
0000117c: SWAP5
0000117d: SWAP4
0000117e: PUSH2 0x118e
00001181: PUSH1 0x40
00001183: DUP3
00001184: ADD
00001185: SWAP7
00001186: PUSH0
00001187: DUP4
00001188: ADD
00001189: SWAP1
0000118a: PUSH2 0x0632
0000118d: JUMP
0000118e: JUMPDEST
0000118f: ADD
00001190: SWAP1
00001191: PUSH2 0x0add
00001194: JUMP
00001195: JUMPDEST
00001196: JUMP
00001197: JUMPDEST
00001198: PUSH1 0x1f
0000119a: DUP1
0000119b: NOT
0000119c: SWAP2
0000119d: ADD
0000119e: AND
0000119f: SWAP1
000011a0: JUMP
000011a1: JUMPDEST
000011a2: PUSH4 0x4e487b71
000011a7: PUSH1 0xe0
000011a9: SHL
000011aa: PUSH0
000011ab: MSTORE
000011ac: PUSH1 0x41
000011ae: PUSH1 0x04
000011b0: MSTORE
000011b1: PUSH1 0x24
000011b3: PUSH0
000011b4: REVERT
000011b5: JUMPDEST
000011b6: SWAP1
000011b7: PUSH2 0x11bf
000011ba: SWAP1
000011bb: PUSH2 0x1197
000011be: JUMP
000011bf: JUMPDEST
000011c0: DUP2
000011c1: ADD
000011c2: SWAP1
000011c3: DUP2
000011c4: LT
000011c5: PUSH8 0xffffffffffffffff
000011ce: DUP3
000011cf: GT
000011d0: OR
000011d1: PUSH2 0x11d9
000011d4: JUMPI
000011d5: PUSH1 0x40
000011d7: MSTORE
000011d8: JUMP
000011d9: JUMPDEST
000011da: PUSH2 0x11a1
000011dd: JUMP
000011de: JUMPDEST
000011df: SWAP1
000011e0: PUSH2 0x1225
000011e3: PUSH2 0x122a
000011e6: SWAP4
000011e7: PUSH2 0x1216
000011ea: PUSH1 0x04
000011ec: SWAP5
000011ed: SWAP4
000011ee: PUSH2 0x11fd
000011f1: PUSH4 0xa9059cbb
000011f6: SWAP2
000011f7: SWAP4
000011f8: SWAP2
000011f9: PUSH2 0x1158
000011fc: JUMP
000011fd: JUMPDEST
000011fe: SWAP3
000011ff: PUSH2 0x1206
00001202: PUSH2 0x0132
00001205: JUMP
00001206: JUMPDEST
00001207: SWAP7
00001208: DUP8
00001209: SWAP5
0000120a: PUSH1 0x20
0000120c: DUP7
0000120d: ADD
0000120e: SWAP1
0000120f: DUP2
00001210: MSTORE
00001211: ADD
00001212: PUSH2 0x1174
00001215: JUMP
00001216: JUMPDEST
00001217: PUSH1 0x20
00001219: DUP3
0000121a: ADD
0000121b: DUP2
0000121c: SUB
0000121d: DUP3
0000121e: MSTORE
0000121f: SUB
00001220: DUP4
00001221: PUSH2 0x11b5
00001224: JUMP
00001225: JUMPDEST
00001226: PUSH2 0x149e
00001229: JUMP
0000122a: JUMPDEST
0000122b: JUMP
0000122c: JUMPDEST
0000122d: DUP1
0000122e: PUSH2 0x1247
00001231: PUSH2 0x1241
00001234: PUSH2 0x123c
00001237: PUSH0
00001238: PUSH2 0x0be7
0000123b: JUMP
0000123c: JUMPDEST
0000123d: PUSH2 0x023b
00001240: JUMP
00001241: JUMPDEST
00001242: SWAP2
00001243: PUSH2 0x023b
00001246: JUMP
00001247: JUMPDEST
00001248: EQ
00001249: PUSH2 0x1299
0000124c: JUMPI
0000124d: PUSH2 0x1257
00001250: DUP2
00001251: PUSH1 0x03
00001253: PUSH2 0x0c11
00001256: JUMP
00001257: JUMPDEST
00001258: PUSH2 0x1281
0000125b: PUSH32 0xc6b438e6a8a59579ce6a4406cbd203b740e0d47b458aae6596339bcd40c40d15
0000127c: SWAP2
0000127d: PUSH2 0x0497
00001280: JUMP
00001281: JUMPDEST
00001282: SWAP1
00001283: PUSH2 0x128a
00001286: PUSH2 0x0132
00001289: JUMP
0000128a: JUMPDEST
0000128b: DUP1
0000128c: PUSH2 0x1294
0000128f: DUP2
00001290: PUSH2 0x01f8
00001293: JUMP
00001294: JUMPDEST
00001295: SUB
00001296: SWAP1
00001297: LOG2
00001298: JUMP
00001299: JUMPDEST
0000129a: PUSH0
0000129b: PUSH4 0xaf458c07
000012a0: PUSH1 0xe0
000012a2: SHL
000012a3: DUP2
000012a4: MSTORE
000012a5: DUP1
000012a6: PUSH2 0x12b1
000012a9: PUSH1 0x04
000012ab: DUP3
000012ac: ADD
000012ad: PUSH2 0x01f8
000012b0: JUMP
000012b1: JUMPDEST
000012b2: SUB
000012b3: SWAP1
000012b4: REVERT
000012b5: JUMPDEST
000012b6: PUSH2 0x12bd
000012b9: PUSH2 0x0843
000012bc: JUMP
000012bd: JUMPDEST
000012be: POP
000012bf: PUSH2 0x12c9
000012c2: DUP2
000012c3: DUP4
000012c4: SWAP1
000012c5: PUSH2 0x0d1b
000012c8: JUMP
000012c9: JUMPDEST
000012ca: PUSH0
000012cb: EQ
000012cc: PUSH2 0x1350
000012cf: JUMPI
000012d0: PUSH2 0x12ef
000012d3: PUSH0
000012d4: PUSH2 0x12ea
000012d7: PUSH0
000012d8: PUSH2 0x12e2
000012db: DUP2
000012dc: DUP7
000012dd: SWAP1
000012de: PUSH2 0x0951
000012e1: JUMP
000012e2: JUMPDEST
000012e3: ADD
000012e4: DUP6
000012e5: SWAP1
000012e6: PUSH2 0x04a3
000012e9: JUMP
000012ea: JUMPDEST
000012eb: PUSH2 0x1040
000012ee: JUMP
000012ef: JUMPDEST
000012f0: SWAP1
000012f1: PUSH2 0x12f8
000012f4: PUSH2 0x0ed5
000012f7: JUMP
000012f8: JUMPDEST
000012f9: SWAP1
000012fa: PUSH2 0x1335
000012fd: PUSH2 0x132f
00001300: PUSH2 0x1329
00001303: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00001324: SWAP6
00001325: PUSH2 0x0945
00001328: JUMP
00001329: JUMPDEST
0000132a: SWAP3
0000132b: PUSH2 0x0497
0000132e: JUMP
0000132f: JUMPDEST
00001330: SWAP3
00001331: PUSH2 0x0497
00001334: JUMP
00001335: JUMPDEST
00001336: SWAP3
00001337: PUSH2 0x133e
0000133a: PUSH2 0x0132
0000133d: JUMP
0000133e: JUMPDEST
0000133f: DUP1
00001340: PUSH2 0x1348
00001343: DUP2
00001344: PUSH2 0x01f8
00001347: JUMP
00001348: JUMPDEST
00001349: SUB
0000134a: SWAP1
0000134b: LOG4
0000134c: PUSH1 0x01
0000134e: SWAP1
0000134f: JUMP
00001350: JUMPDEST
00001351: POP
00001352: POP
00001353: PUSH0
00001354: SWAP1
00001355: JUMP
00001356: JUMPDEST
00001357: PUSH2 0x135e
0000135a: PUSH2 0x0843
0000135d: JUMP
0000135e: JUMPDEST
0000135f: POP
00001360: PUSH2 0x1373
00001363: PUSH2 0x136d
00001366: DUP3
00001367: DUP5
00001368: SWAP1
00001369: PUSH2 0x0d1b
0000136c: JUMP
0000136d: JUMPDEST
0000136e: ISZERO
0000136f: PUSH2 0x018d
00001372: JUMP
00001373: JUMPDEST
00001374: PUSH0
00001375: EQ
00001376: PUSH2 0x13fb
00001379: JUMPI
0000137a: PUSH2 0x139a
0000137d: PUSH1 0x01
0000137f: PUSH2 0x1395
00001382: PUSH0
00001383: PUSH2 0x138d
00001386: DUP2
00001387: DUP7
00001388: SWAP1
00001389: PUSH2 0x0951
0000138c: JUMP
0000138d: JUMPDEST
0000138e: ADD
0000138f: DUP6
00001390: SWAP1
00001391: PUSH2 0x04a3
00001394: JUMP
00001395: JUMPDEST
00001396: PUSH2 0x1040
00001399: JUMP
0000139a: JUMPDEST
0000139b: SWAP1
0000139c: PUSH2 0x13a3
0000139f: PUSH2 0x0ed5
000013a2: JUMP
000013a3: JUMPDEST
000013a4: SWAP1
000013a5: PUSH2 0x13e0
000013a8: PUSH2 0x13da
000013ab: PUSH2 0x13d4
000013ae: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000013cf: SWAP6
000013d0: PUSH2 0x0945
000013d3: JUMP
000013d4: JUMPDEST
000013d5: SWAP3
000013d6: PUSH2 0x0497
000013d9: JUMP
000013da: JUMPDEST
000013db: SWAP3
000013dc: PUSH2 0x0497
000013df: JUMP
000013e0: JUMPDEST
000013e1: SWAP3
000013e2: PUSH2 0x13e9
000013e5: PUSH2 0x0132
000013e8: JUMP
000013e9: JUMPDEST
000013ea: DUP1
000013eb: PUSH2 0x13f3
000013ee: DUP2
000013ef: PUSH2 0x01f8
000013f2: JUMP
000013f3: JUMPDEST
000013f4: SUB
000013f5: SWAP1
000013f6: LOG4
000013f7: PUSH1 0x01
000013f9: SWAP1
000013fa: JUMP
000013fb: JUMPDEST
000013fc: POP
000013fd: POP
000013fe: PUSH0
000013ff: SWAP1
00001400: JUMP
00001401: JUMPDEST
00001402: SWAP2
00001403: PUSH1 0x20
00001405: PUSH2 0x1422
00001408: SWAP3
00001409: SWAP5
0000140a: SWAP4
0000140b: PUSH2 0x141b
0000140e: PUSH1 0x40
00001410: DUP3
00001411: ADD
00001412: SWAP7
00001413: PUSH0
00001414: DUP4
00001415: ADD
00001416: SWAP1
00001417: PUSH2 0x0632
0000141a: JUMP
0000141b: JUMPDEST
0000141c: ADD
0000141d: SWAP1
0000141e: PUSH2 0x0320
00001421: JUMP
00001422: JUMPDEST
00001423: JUMP
00001424: JUMPDEST
00001425: SWAP1
00001426: PUSH2 0x1439
00001429: PUSH2 0x1433
0000142c: DUP4
0000142d: DUP4
0000142e: SWAP1
0000142f: PUSH2 0x0d1b
00001432: JUMP
00001433: JUMPDEST
00001434: ISZERO
00001435: PUSH2 0x018d
00001438: JUMP
00001439: JUMPDEST
0000143a: PUSH2 0x1441
0000143d: JUMPI
0000143e: POP
0000143f: POP
00001440: JUMP
00001441: JUMPDEST
00001442: PUSH2 0x145b
00001445: PUSH0
00001446: SWAP3
00001447: DUP4
00001448: SWAP3
00001449: PUSH4 0xe2517d3f
0000144e: PUSH1 0xe0
00001450: SHL
00001451: DUP5
00001452: MSTORE
00001453: PUSH1 0x04
00001455: DUP5
00001456: ADD
00001457: PUSH2 0x1401
0000145a: JUMP
0000145b: JUMPDEST
0000145c: SUB
0000145d: SWAP1
0000145e: REVERT
0000145f: JUMPDEST
00001460: PUSH0
00001461: SWAP1
00001462: JUMP
00001463: JUMPDEST
00001464: PUSH2 0x1477
00001467: PUSH2 0x1472
0000146a: PUSH2 0x147c
0000146d: SWAP3
0000146e: PUSH2 0x06bf
00001471: JUMP
00001472: JUMPDEST
00001473: PUSH2 0x046c
00001476: JUMP
00001477: JUMPDEST
00001478: PUSH2 0x056b
0000147b: JUMP
0000147c: JUMPDEST
0000147d: SWAP1
0000147e: JUMP
0000147f: JUMPDEST
00001480: SWAP1
00001481: JUMP
00001482: JUMPDEST
00001483: PUSH2 0x1496
00001486: PUSH2 0x1491
00001489: PUSH2 0x149b
0000148c: SWAP3
0000148d: PUSH2 0x147f
00001490: JUMP
00001491: JUMPDEST
00001492: PUSH2 0x046c
00001495: JUMP
00001496: JUMPDEST
00001497: PUSH2 0x056b
0000149a: JUMP
0000149b: JUMPDEST
0000149c: SWAP1
0000149d: JUMP
0000149e: JUMPDEST
0000149f: SWAP1
000014a0: PUSH0
000014a1: PUSH1 0x20
000014a3: SWAP2
000014a4: PUSH2 0x14ab
000014a7: PUSH2 0x145f
000014aa: JUMP
000014ab: JUMPDEST
000014ac: POP
000014ad: PUSH2 0x14b4
000014b0: PUSH2 0x145f
000014b3: JUMP
000014b4: JUMPDEST
000014b5: POP
000014b6: DUP3
000014b7: DUP2
000014b8: MLOAD
000014b9: SWAP2
000014ba: ADD
000014bb: DUP3
000014bc: DUP6
000014bd: GAS
000014be: CALL
000014bf: ISZERO
000014c0: PUSH2 0x1547
000014c3: JUMPI
000014c4: RETURNDATASIZE
000014c5: PUSH0
000014c6: MLOAD
000014c7: SWAP1
000014c8: PUSH2 0x14d9
000014cb: PUSH2 0x14d3
000014ce: PUSH0
000014cf: PUSH2 0x1463
000014d2: JUMP
000014d3: JUMPDEST
000014d4: SWAP2
000014d5: PUSH2 0x056b
000014d8: JUMP
000014d9: JUMPDEST
000014da: EQ
000014db: PUSH0
000014dc: EQ
000014dd: PUSH2 0x152d
000014e0: JUMPI
000014e1: POP
000014e2: PUSH2 0x14ea
000014e5: DUP2
000014e6: PUSH2 0x113d
000014e9: JUMP
000014ea: JUMPDEST
000014eb: EXTCODESIZE
000014ec: PUSH2 0x14fd
000014ef: PUSH2 0x14f7
000014f2: PUSH0
000014f3: PUSH2 0x1463
000014f6: JUMP
000014f7: JUMPDEST
000014f8: SWAP2
000014f9: PUSH2 0x056b
000014fc: JUMP
000014fd: JUMPDEST
000014fe: EQ
000014ff: JUMPDEST
00001500: PUSH2 0x1506
00001503: JUMPI
00001504: POP
00001505: JUMP
00001506: JUMPDEST
00001507: PUSH2 0x1512
0000150a: PUSH2 0x1529
0000150d: SWAP2
0000150e: PUSH2 0x113d
00001511: JUMP
00001512: JUMPDEST
00001513: PUSH0
00001514: SWAP2
00001515: DUP3
00001516: SWAP2
00001517: PUSH4 0x5274afe7
0000151c: PUSH1 0xe0
0000151e: SHL
0000151f: DUP4
00001520: MSTORE
00001521: PUSH1 0x04
00001523: DUP4
00001524: ADD
00001525: PUSH2 0x063f
00001528: JUMP
00001529: JUMPDEST
0000152a: SUB
0000152b: SWAP1
0000152c: REVERT
0000152d: JUMPDEST
0000152e: PUSH2 0x1540
00001531: PUSH2 0x153a
00001534: PUSH1 0x01
00001536: PUSH2 0x1482
00001539: JUMP
0000153a: JUMPDEST
0000153b: SWAP2
0000153c: PUSH2 0x056b
0000153f: JUMP
00001540: JUMPDEST
00001541: EQ
00001542: ISZERO
00001543: PUSH2 0x14ff
00001546: JUMP
00001547: JUMPDEST
00001548: PUSH1 0x40
0000154a: MLOAD
0000154b: RETURNDATASIZE
0000154c: PUSH0
0000154d: DUP3
0000154e: RETURNDATACOPY
0000154f: RETURNDATASIZE
00001550: SWAP1
00001551: REVERT
00001552: INVALID
00001553: LOG2
00001554: PUSH5 0x6970667358
0000155a: UNKNOWN(0x22)
0000155b: SLT
0000155c: KECCAK256
0000155d: CALLDATASIZE
0000155e: UNKNOWN(0xE4)
0000155f: CREATE
00001560: CALLDATASIZE
00001561: UNKNOWN(0xB8)
00001562: UNKNOWN(0xC5)
00001563: UNKNOWN(0xB4)
00001564: CLZ
00001565: MOD
00001566: DUP11
00001567: UNKNOWN(0xC7)
00001568: SWAP10
00001569: TLOAD
0000156a: UNKNOWN(0xDC)
0000156b: MSTORE8
0000156c: CALLVALUE
0000156d: PUSH23 0xd67d0c8c67e3b1805229a3b6df6d6a64736f6c63430008
00001585: BYTE
00001586: STOP
00001587: CALLER

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: 0x1db83d5882feb2f8185c16c10af3385f7b6e32e5032d11e642bc4754835e2278
call_targets: 0x16c2c5ab7c5a94a733be90160c01663b7bba0e02
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1db83d5882feb2f8185c16c10af3385f7b6e32e5032d11e642bc4754835e2278",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x16c2c5ab7c5a94a733be90160c01663b7bba0e02"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e18b681",
            "selector": "0x0e18b681",
            "calldata_variants": [
                "0x0e18b681",
                "0x0e18b6810000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f49d1f1",
            "selector": "0x1f49d1f1",
            "calldata_variants": [
                "0x1f49d1f1",
                "0x1f49d1f10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2360eb39",
            "selector": "0x2360eb39",
            "calldata_variants": [
                "0x2360eb39",
                "0x2360eb390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x35c80c8c",
            "selector": "0x35c80c8c",
            "calldata_variants": [
                "0x35c80c8c",
                "0x35c80c8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5310,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x1db83d5882feb2f8185c16c10af3385f7b6e32e5032d11e642bc4754835e2278
call_targets: 0x16c2c5ab7c5a94a733be90160c01663b7bba0e02
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1db83d5882feb2f8185c16c10af3385f7b6e32e5032d11e642bc4754835e2278",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x16c2c5ab7c5a94a733be90160c01663b7bba0e02"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e18b681",
            "selector": "0x0e18b681",
            "calldata_variants": [
                "0x0e18b681",
                "0x0e18b6810000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f49d1f1",
            "selector": "0x1f49d1f1",
            "calldata_variants": [
                "0x1f49d1f1",
                "0x1f49d1f10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2360eb39",
            "selector": "0x2360eb39",
            "calldata_variants": [
                "0x2360eb39",
                "0x2360eb390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x35c80c8c",
            "selector": "0x35c80c8c",
            "calldata_variants": [
                "0x35c80c8c",
                "0x35c80c8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5310,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xdd96e0fb1e0e3b168ddc23e6912e0ed850c897dac5ab4db55799ff0b67ca4b54
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xdd96e0fb1e0e3b168ddc23e6912e0ed850c897dac5ab4db55799ff0b67ca4b54",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e18b681",
            "selector": "0x0e18b681",
            "calldata_variants": [
                "0x0e18b681",
                "0x0e18b6810000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f49d1f1",
            "selector": "0x1f49d1f1",
            "calldata_variants": [
                "0x1f49d1f1",
                "0x1f49d1f10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2360eb39",
            "selector": "0x2360eb39",
            "calldata_variants": [
                "0x2360eb39",
                "0x2360eb390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x35c80c8c",
            "selector": "0x35c80c8c",
            "calldata_variants": [
                "0x35c80c8c",
                "0x35c80c8c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}