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

Analysis Run

019bb490-f318-736f-80a5-c2d60794689b

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 11:35 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
Present
Best current signal
Refunds do not burn/reclaim tokens, enabling free tokens on refund
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
40018 artifact.fetch complete 1 / 3 3 months ago
40019 proxy.resolve complete 1 / 3 3 months ago
40020 tool.cast_disasm complete 1 / 3 3 months ago
40021 analysis.bundle complete 1 / 3 3 months ago
40022 capability.graph complete 1 / 3 3 months ago
40023 detector.run complete 1 / 3 3 months ago
40024 validation.fork complete 1 / 3 3 months ago
40185 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Refunds return ETH without burning or reclaiming minted tokens, enabling contributors to keep tokens after getting their full refund if refunds are enabled.
View stdout
{"no_findings":false,"summary":"Refunds return ETH without burning or reclaiming minted tokens, enabling contributors to keep tokens after getting their full refund if refunds are enabled.","findings":[{"severity":"high","category":"other","title":"Refunds do not burn/reclaim tokens, enabling free tokens on refund","exploit_scenario":"An investor buys during the sale and receives minted tokens. If the softcap is missed and refunds are enabled, the investor calls refund() to get their full ETH contribution back while still retaining the tokens (or transferring them away first). This breaks the sale’s accounting and allows free tokens while draining the refund pool.","recommendation":"Require token return/burn on refund (e.g., transfer tokens back to a burn address or escrow and burn on refund), or delay minting until refunds are closed/softcap reached. Alternatively, track purchased tokens per contributor and burn them during refunds before sending ETH.","evidence":"refund() only zeroes the ETH balance and transfers ETH back, while createTokens() mints tokens immediately with no linkage to refunds or burns.","locations":["contracts/Contract.sol:603","contracts/Contract.sol:629"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-crq8u2gy
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb493-f5c9-7582-af43-34792182b463
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

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

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

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

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

================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.23;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;

thinking
**Analyzing Solidity token sale vulnerabilities**
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '200,420p'" in /tmp/codex-crq8u2gy succeeded in 8ms:
   200	    balances[_to] = balances[_to].add(_value);
   201	    emit Transfer(msg.sender, _to, _value);
   202	    return true;
   203	  }
   204	
   205	  /**
   206	  * @dev Gets the balance of the specified address.
   207	  * @param _owner The address to query the the balance of.
   208	  * @return An uint256 representing the amount owned by the passed address.
   209	  */
   210	  function balanceOf(address _owner) public view returns (uint256) {
   211	    return balances[_owner];
   212	  }
   213	
   214	}
   215	
   216	
   217	/**
   218	 * @title Standard ERC20 token
   219	 *

thinking
**Preparing to add line numbers**
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '560,820p'" in /tmp/codex-crq8u2gy succeeded in 19ms:
   560		     token = _token;
   561		
   562			 rate = 83333333333000000000;
   563			
   564			 softcap = 1600000000000000000000;  
   565			 start = 1527811200;
   566	         end = 1533081600; 
   567	    }
   568	
   569	    
   570	    
   571	 
   572	   modifier saleIsOn() {
   573	    	require(now > start && now < end);
   574	    	_;
   575	    }
   576		
   577	
   578	    function spreadTokens() external onlyOwner {
   579	        require(!tokenSpread);

thinking
**Preparing to read source file**
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '330,520p'" in /tmp/codex-crq8u2gy succeeded in 8ms:
   330	
   331	}
   332	
   333	/**
   334	 * @title Pausable token
   335	 * @dev StandardToken modified with pausable transfers.
   336	 **/
   337	contract PausableToken is StandardToken, Pausable {
   338	
   339	  function transfer(
   340	    address _to,
   341	    uint256 _value
   342	  )
   343	    public
   344	    whenNotPaused
   345	    returns (bool)
   346	  {
   347	    return super.transfer(_to, _value);
   348	  }
   349	

thinking
**Continuing refund section review**
exec
/bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '560,760p'" in /tmp/codex-crq8u2gy succeeded in 10ms:
   560	         end = 1533081600; 
   561	    }
   562	
   563	    
   564	    
   565	 
   566	   modifier saleIsOn() {
   567	    	require(now > start && now < end);
   568	    	_;
   569	    }
   570		
   571	
   572	    function spreadTokens() external onlyOwner {
   573	        require(!tokenSpread);
   574	
   575	        token.mint(holderReserveTokens, SUPPLY_FOR_RESERVE);
   576	        token.mint(holderMarketingTokens, SUPPLY_FOR_MARKETING);
   577	        token.mint(holderTeamTokens, SUPPLY_FOR_TEAM);
   578	        token.mint(holderReferalTokens, SUPPLY_FOR_REFERAL);
   579	        token.mint(holderAdvisorsTokens, SUPPLY_FOR_ADVISORSL);

thinking
**Preparing detailed audit findings**
codex
{"no_findings":false,"summary":"Refunds return ETH without burning or reclaiming minted tokens, enabling contributors to keep tokens after getting their full refund if refunds are enabled.","findings":[{"severity":"high","category":"other","title":"Refunds do not burn/reclaim tokens, enabling free tokens on refund","exploit_scenario":"An investor buys during the sale and receives minted tokens. If the softcap is missed and refunds are enabled, the investor calls refund() to get their full ETH contribution back while still retaining the tokens (or transferring them away first). This breaks the sale’s accounting and allows free tokens while draining the refund pool.","recommendation":"Require token return/burn on refund (e.g., transfer tokens back to a burn address or escrow and burn on refund), or delay minting until refunds are closed/softcap reached. Alternatively, track purchased tokens per contributor and burn them during refunds before sending ETH.","evidence":"refund() only zeroes the ETH balance and transfers ETH back, while createTokens() mints tokens immediately with no linkage to refunds or burns.","locations":["contracts/Contract.sol:603","contracts/Contract.sol:629"]}]}
tokens used
24,438
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T23:40:47.128080+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Refunds return ETH without burning or reclaiming minted tokens, enabling contributors to keep tokens after getting their full refund if refunds are enabled.",
    "raw_final": {
        "summary": "Refunds return ETH without burning or reclaiming minted tokens, enabling contributors to keep tokens after getting their full refund if refunds are enabled.",
        "findings": [
            {
                "title": "Refunds do not burn/reclaim tokens, enabling free tokens on refund",
                "category": "other",
                "evidence": "refund() only zeroes the ETH balance and transfers ETH back, while createTokens() mints tokens immediately with no linkage to refunds or burns.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:603",
                    "contracts/Contract.sol:629"
                ],
                "recommendation": "Require token return/burn on refund (e.g., transfer tokens back to a burn address or escrow and burn on refund), or delay minting until refunds are closed/softcap reached. Alternatively, track purchased tokens per contributor and burn them during refunds before sending ETH.",
                "exploit_scenario": "An investor buys during the sale and receives minted tokens. If the softcap is missed and refunds are enabled, the investor calls refund() to get their full ETH contribution back while still retaining the tokens (or transferring them away first). This breaks the sale\u2019s accounting and allows free tokens while draining the refund pool."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
12
EXT*/BALANCE
12
Total opcodes
3769
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0196
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x1edc5ce0
0000003c: EQ
0000003d: PUSH2 0x01a0
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x27e235e3
00000047: EQ
00000048: PUSH2 0x01cb
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x2bdd530b
00000052: EQ
00000053: PUSH2 0x0222
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x2c4e722e
0000005d: EQ
0000005e: PUSH2 0x0279
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x313ce567
00000068: EQ
00000069: PUSH2 0x02a4
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x4559b2e8
00000073: EQ
00000074: PUSH2 0x02d5
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x4783c35b
0000007e: EQ
0000007f: PUSH2 0x032c
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x48224f67
00000089: EQ
0000008a: PUSH2 0x0383
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x51c221ec
00000094: EQ
00000095: PUSH2 0x03ae
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x55909da3
0000009f: EQ
000000a0: PUSH2 0x0405
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x590e1ae3
000000aa: EQ
000000ab: PUSH2 0x041c
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0x69f66950
000000b5: EQ
000000b6: PUSH2 0x0433
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0x79318d81
000000c0: EQ
000000c1: PUSH2 0x048a
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0x8c52dc41
000000cb: EQ
000000cc: PUSH2 0x04a1
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0x8da5cb5b
000000d6: EQ
000000d7: PUSH2 0x04b8
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0x932c90f3
000000e1: EQ
000000e2: PUSH2 0x050f
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0x9a721302
000000ec: EQ
000000ed: PUSH2 0x053a
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0xaf713dda
000000f7: EQ
000000f8: PUSH2 0x0565
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0xb4427263
00000102: EQ
00000103: PUSH2 0x0590
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0xbe9a6555
0000010d: EQ
0000010e: PUSH2 0x059a
00000111: JUMPI
00000112: DUP1
00000113: PUSH4 0xc19d93fb
00000118: EQ
00000119: PUSH2 0x05c5
0000011c: JUMPI
0000011d: DUP1
0000011e: PUSH4 0xc2845184
00000123: EQ
00000124: PUSH2 0x05fe
00000127: JUMPI
00000128: DUP1
00000129: PUSH4 0xd14cd233
0000012e: EQ
0000012f: PUSH2 0x0629
00000132: JUMPI
00000133: DUP1
00000134: PUSH4 0xd7a5afcf
00000139: EQ
0000013a: PUSH2 0x0658
0000013d: JUMPI
0000013e: DUP1
0000013f: PUSH4 0xe0475e27
00000144: EQ
00000145: PUSH2 0x06af
00000148: JUMPI
00000149: DUP1
0000014a: PUSH4 0xef7dd831
0000014f: EQ
00000150: PUSH2 0x0706
00000153: JUMPI
00000154: DUP1
00000155: PUSH4 0xefbe1c1c
0000015a: EQ
0000015b: PUSH2 0x0731
0000015e: JUMPI
0000015f: DUP1
00000160: PUSH4 0xf17382ae
00000165: EQ
00000166: PUSH2 0x075c
00000169: JUMPI
0000016a: DUP1
0000016b: PUSH4 0xf2fde38b
00000170: EQ
00000171: PUSH2 0x0787
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0xf6f6fc74
0000017b: EQ
0000017c: PUSH2 0x07ca
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0xf89be593
00000186: EQ
00000187: PUSH2 0x0821
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0xfc0c546a
00000191: EQ
00000192: PUSH2 0x084c
00000195: JUMPI
00000196: JUMPDEST
00000197: PUSH2 0x019e
0000019a: PUSH2 0x08a3
0000019d: JUMP
0000019e: JUMPDEST
0000019f: STOP
000001a0: JUMPDEST
000001a1: CALLVALUE
000001a2: DUP1
000001a3: ISZERO
000001a4: PUSH2 0x01ac
000001a7: JUMPI
000001a8: PUSH1 0x00
000001aa: DUP1
000001ab: REVERT
000001ac: JUMPDEST
000001ad: POP
000001ae: PUSH2 0x01b5
000001b1: PUSH2 0x0c59
000001b4: JUMP
000001b5: JUMPDEST
000001b6: PUSH1 0x40
000001b8: MLOAD
000001b9: DUP1
000001ba: DUP3
000001bb: DUP2
000001bc: MSTORE
000001bd: PUSH1 0x20
000001bf: ADD
000001c0: SWAP2
000001c1: POP
000001c2: POP
000001c3: PUSH1 0x40
000001c5: MLOAD
000001c6: DUP1
000001c7: SWAP2
000001c8: SUB
000001c9: SWAP1
000001ca: RETURN
000001cb: JUMPDEST
000001cc: CALLVALUE
000001cd: DUP1
000001ce: ISZERO
000001cf: PUSH2 0x01d7
000001d2: JUMPI
000001d3: PUSH1 0x00
000001d5: DUP1
000001d6: REVERT
000001d7: JUMPDEST
000001d8: POP
000001d9: PUSH2 0x020c
000001dc: PUSH1 0x04
000001de: DUP1
000001df: CALLDATASIZE
000001e0: SUB
000001e1: DUP2
000001e2: ADD
000001e3: SWAP1
000001e4: DUP1
000001e5: DUP1
000001e6: CALLDATALOAD
000001e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001fc: AND
000001fd: SWAP1
000001fe: PUSH1 0x20
00000200: ADD
00000201: SWAP1
00000202: SWAP3
00000203: SWAP2
00000204: SWAP1
00000205: POP
00000206: POP
00000207: POP
00000208: PUSH2 0x0c77
0000020b: JUMP
0000020c: JUMPDEST
0000020d: PUSH1 0x40
0000020f: MLOAD
00000210: DUP1
00000211: DUP3
00000212: DUP2
00000213: MSTORE
00000214: PUSH1 0x20
00000216: ADD
00000217: SWAP2
00000218: POP
00000219: POP
0000021a: PUSH1 0x40
0000021c: MLOAD
0000021d: DUP1
0000021e: SWAP2
0000021f: SUB
00000220: SWAP1
00000221: RETURN
00000222: JUMPDEST
00000223: CALLVALUE
00000224: DUP1
00000225: ISZERO
00000226: PUSH2 0x022e
00000229: JUMPI
0000022a: PUSH1 0x00
0000022c: DUP1
0000022d: REVERT
0000022e: JUMPDEST
0000022f: POP
00000230: PUSH2 0x0237
00000233: PUSH2 0x0c8f
00000236: JUMP
00000237: JUMPDEST
00000238: PUSH1 0x40
0000023a: MLOAD
0000023b: DUP1
0000023c: DUP3
0000023d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000252: AND
00000253: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000268: AND
00000269: DUP2
0000026a: MSTORE
0000026b: PUSH1 0x20
0000026d: ADD
0000026e: SWAP2
0000026f: POP
00000270: POP
00000271: PUSH1 0x40
00000273: MLOAD
00000274: DUP1
00000275: SWAP2
00000276: SUB
00000277: SWAP1
00000278: RETURN
00000279: JUMPDEST
0000027a: CALLVALUE
0000027b: DUP1
0000027c: ISZERO
0000027d: PUSH2 0x0285
00000280: JUMPI
00000281: PUSH1 0x00
00000283: DUP1
00000284: REVERT
00000285: JUMPDEST
00000286: POP
00000287: PUSH2 0x028e
0000028a: PUSH2 0x0cb5
0000028d: JUMP
0000028e: JUMPDEST
0000028f: PUSH1 0x40
00000291: MLOAD
00000292: DUP1
00000293: DUP3
00000294: DUP2
00000295: MSTORE
00000296: PUSH1 0x20
00000298: ADD
00000299: SWAP2
0000029a: POP
0000029b: POP
0000029c: PUSH1 0x40
0000029e: MLOAD
0000029f: DUP1
000002a0: SWAP2
000002a1: SUB
000002a2: SWAP1
000002a3: RETURN
000002a4: JUMPDEST
000002a5: CALLVALUE
000002a6: DUP1
000002a7: ISZERO
000002a8: PUSH2 0x02b0
000002ab: JUMPI
000002ac: PUSH1 0x00
000002ae: DUP1
000002af: REVERT
000002b0: JUMPDEST
000002b1: POP
000002b2: PUSH2 0x02b9
000002b5: PUSH2 0x0cbb
000002b8: JUMP
000002b9: JUMPDEST
000002ba: PUSH1 0x40
000002bc: MLOAD
000002bd: DUP1
000002be: DUP3
000002bf: PUSH1 0xff
000002c1: AND
000002c2: PUSH1 0xff
000002c4: AND
000002c5: DUP2
000002c6: MSTORE
000002c7: PUSH1 0x20
000002c9: ADD
000002ca: SWAP2
000002cb: POP
000002cc: POP
000002cd: PUSH1 0x40
000002cf: MLOAD
000002d0: DUP1
000002d1: SWAP2
000002d2: SUB
000002d3: SWAP1
000002d4: RETURN
000002d5: JUMPDEST
000002d6: CALLVALUE
000002d7: DUP1
000002d8: ISZERO
000002d9: PUSH2 0x02e1
000002dc: JUMPI
000002dd: PUSH1 0x00
000002df: DUP1
000002e0: REVERT
000002e1: JUMPDEST
000002e2: POP
000002e3: PUSH2 0x02ea
000002e6: PUSH2 0x0cce
000002e9: JUMP
000002ea: JUMPDEST
000002eb: PUSH1 0x40
000002ed: MLOAD
000002ee: DUP1
000002ef: DUP3
000002f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000305: AND
00000306: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000031b: AND
0000031c: DUP2
0000031d: MSTORE
0000031e: PUSH1 0x20
00000320: ADD
00000321: SWAP2
00000322: POP
00000323: POP
00000324: PUSH1 0x40
00000326: MLOAD
00000327: DUP1
00000328: SWAP2
00000329: SUB
0000032a: SWAP1
0000032b: RETURN
0000032c: JUMPDEST
0000032d: CALLVALUE
0000032e: DUP1
0000032f: ISZERO
00000330: PUSH2 0x0338
00000333: JUMPI
00000334: PUSH1 0x00
00000336: DUP1
00000337: REVERT
00000338: JUMPDEST
00000339: POP
0000033a: PUSH2 0x0341
0000033d: PUSH2 0x0cf4
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH1 0x40
00000344: MLOAD
00000345: DUP1
00000346: DUP3
00000347: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000035c: AND
0000035d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000372: AND
00000373: DUP2
00000374: MSTORE
00000375: PUSH1 0x20
00000377: ADD
00000378: SWAP2
00000379: POP
0000037a: POP
0000037b: PUSH1 0x40
0000037d: MLOAD
0000037e: DUP1
0000037f: SWAP2
00000380: SUB
00000381: SWAP1
00000382: RETURN
00000383: JUMPDEST
00000384: CALLVALUE
00000385: DUP1
00000386: ISZERO
00000387: PUSH2 0x038f
0000038a: JUMPI
0000038b: PUSH1 0x00
0000038d: DUP1
0000038e: REVERT
0000038f: JUMPDEST
00000390: POP
00000391: PUSH2 0x0398
00000394: PUSH2 0x0d1a
00000397: JUMP
00000398: JUMPDEST
00000399: PUSH1 0x40
0000039b: MLOAD
0000039c: DUP1
0000039d: DUP3
0000039e: DUP2
0000039f: MSTORE
000003a0: PUSH1 0x20
000003a2: ADD
000003a3: SWAP2
000003a4: POP
000003a5: POP
000003a6: PUSH1 0x40
000003a8: MLOAD
000003a9: DUP1
000003aa: SWAP2
000003ab: SUB
000003ac: SWAP1
000003ad: RETURN
000003ae: JUMPDEST
000003af: CALLVALUE
000003b0: DUP1
000003b1: ISZERO
000003b2: PUSH2 0x03ba
000003b5: JUMPI
000003b6: PUSH1 0x00
000003b8: DUP1
000003b9: REVERT
000003ba: JUMPDEST
000003bb: POP
000003bc: PUSH2 0x03c3
000003bf: PUSH2 0x0d38
000003c2: JUMP
000003c3: JUMPDEST
000003c4: PUSH1 0x40
000003c6: MLOAD
000003c7: DUP1
000003c8: DUP3
000003c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003de: AND
000003df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003f4: AND
000003f5: DUP2
000003f6: MSTORE
000003f7: PUSH1 0x20
000003f9: ADD
000003fa: SWAP2
000003fb: POP
000003fc: POP
000003fd: PUSH1 0x40
000003ff: MLOAD
00000400: DUP1
00000401: SWAP2
00000402: SUB
00000403: SWAP1
00000404: RETURN
00000405: JUMPDEST
00000406: CALLVALUE
00000407: DUP1
00000408: ISZERO
00000409: PUSH2 0x0411
0000040c: JUMPI
0000040d: PUSH1 0x00
0000040f: DUP1
00000410: REVERT
00000411: JUMPDEST
00000412: POP
00000413: PUSH2 0x041a
00000416: PUSH2 0x0d5e
00000419: JUMP
0000041a: JUMPDEST
0000041b: STOP
0000041c: JUMPDEST
0000041d: CALLVALUE
0000041e: DUP1
0000041f: ISZERO
00000420: PUSH2 0x0428
00000423: JUMPI
00000424: PUSH1 0x00
00000426: DUP1
00000427: REVERT
00000428: JUMPDEST
00000429: POP
0000042a: PUSH2 0x0431
0000042d: PUSH2 0x169d
00000430: JUMP
00000431: JUMPDEST
00000432: STOP
00000433: JUMPDEST
00000434: CALLVALUE
00000435: DUP1
00000436: ISZERO
00000437: PUSH2 0x043f
0000043a: JUMPI
0000043b: PUSH1 0x00
0000043d: DUP1
0000043e: REVERT
0000043f: JUMPDEST
00000440: POP
00000441: PUSH2 0x0448
00000444: PUSH2 0x17a4
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH1 0x40
0000044b: MLOAD
0000044c: DUP1
0000044d: DUP3
0000044e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000463: AND
00000464: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000479: AND
0000047a: DUP2
0000047b: MSTORE
0000047c: PUSH1 0x20
0000047e: ADD
0000047f: SWAP2
00000480: POP
00000481: POP
00000482: PUSH1 0x40
00000484: MLOAD
00000485: DUP1
00000486: SWAP2
00000487: SUB
00000488: SWAP1
00000489: RETURN
0000048a: JUMPDEST
0000048b: CALLVALUE
0000048c: DUP1
0000048d: ISZERO
0000048e: PUSH2 0x0496
00000491: JUMPI
00000492: PUSH1 0x00
00000494: DUP1
00000495: REVERT
00000496: JUMPDEST
00000497: POP
00000498: PUSH2 0x049f
0000049b: PUSH2 0x17ca
0000049e: JUMP
0000049f: JUMPDEST
000004a0: STOP
000004a1: JUMPDEST
000004a2: CALLVALUE
000004a3: DUP1
000004a4: ISZERO
000004a5: PUSH2 0x04ad
000004a8: JUMPI
000004a9: PUSH1 0x00
000004ab: DUP1
000004ac: REVERT
000004ad: JUMPDEST
000004ae: POP
000004af: PUSH2 0x04b6
000004b2: PUSH2 0x1950
000004b5: JUMP
000004b6: JUMPDEST
000004b7: STOP
000004b8: JUMPDEST
000004b9: CALLVALUE
000004ba: DUP1
000004bb: ISZERO
000004bc: PUSH2 0x04c4
000004bf: JUMPI
000004c0: PUSH1 0x00
000004c2: DUP1
000004c3: REVERT
000004c4: JUMPDEST
000004c5: POP
000004c6: PUSH2 0x04cd
000004c9: PUSH2 0x1a62
000004cc: JUMP
000004cd: JUMPDEST
000004ce: PUSH1 0x40
000004d0: MLOAD
000004d1: DUP1
000004d2: DUP3
000004d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e8: AND
000004e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004fe: AND
000004ff: DUP2
00000500: MSTORE
00000501: PUSH1 0x20
00000503: ADD
00000504: SWAP2
00000505: POP
00000506: POP
00000507: PUSH1 0x40
00000509: MLOAD
0000050a: DUP1
0000050b: SWAP2
0000050c: SUB
0000050d: SWAP1
0000050e: RETURN
0000050f: JUMPDEST
00000510: CALLVALUE
00000511: DUP1
00000512: ISZERO
00000513: PUSH2 0x051b
00000516: JUMPI
00000517: PUSH1 0x00
00000519: DUP1
0000051a: REVERT
0000051b: JUMPDEST
0000051c: POP
0000051d: PUSH2 0x0524
00000520: PUSH2 0x1a87
00000523: JUMP
00000524: JUMPDEST
00000525: PUSH1 0x40
00000527: MLOAD
00000528: DUP1
00000529: DUP3
0000052a: DUP2
0000052b: MSTORE
0000052c: PUSH1 0x20
0000052e: ADD
0000052f: SWAP2
00000530: POP
00000531: POP
00000532: PUSH1 0x40
00000534: MLOAD
00000535: DUP1
00000536: SWAP2
00000537: SUB
00000538: SWAP1
00000539: RETURN
0000053a: JUMPDEST
0000053b: CALLVALUE
0000053c: DUP1
0000053d: ISZERO
0000053e: PUSH2 0x0546
00000541: JUMPI
00000542: PUSH1 0x00
00000544: DUP1
00000545: REVERT
00000546: JUMPDEST
00000547: POP
00000548: PUSH2 0x054f
0000054b: PUSH2 0x1aa5
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH1 0x40
00000552: MLOAD
00000553: DUP1
00000554: DUP3
00000555: DUP2
00000556: MSTORE
00000557: PUSH1 0x20
00000559: ADD
0000055a: SWAP2
0000055b: POP
0000055c: POP
0000055d: PUSH1 0x40
0000055f: MLOAD
00000560: DUP1
00000561: SWAP2
00000562: SUB
00000563: SWAP1
00000564: RETURN
00000565: JUMPDEST
00000566: CALLVALUE
00000567: DUP1
00000568: ISZERO
00000569: PUSH2 0x0571
0000056c: JUMPI
0000056d: PUSH1 0x00
0000056f: DUP1
00000570: REVERT
00000571: JUMPDEST
00000572: POP
00000573: PUSH2 0x057a
00000576: PUSH2 0x1ac3
00000579: JUMP
0000057a: JUMPDEST
0000057b: PUSH1 0x40
0000057d: MLOAD
0000057e: DUP1
0000057f: DUP3
00000580: DUP2
00000581: MSTORE
00000582: PUSH1 0x20
00000584: ADD
00000585: SWAP2
00000586: POP
00000587: POP
00000588: PUSH1 0x40
0000058a: MLOAD
0000058b: DUP1
0000058c: SWAP2
0000058d: SUB
0000058e: SWAP1
0000058f: RETURN
00000590: JUMPDEST
00000591: PUSH2 0x0598
00000594: PUSH2 0x08a3
00000597: JUMP
00000598: JUMPDEST
00000599: STOP
0000059a: JUMPDEST
0000059b: CALLVALUE
0000059c: DUP1
0000059d: ISZERO
0000059e: PUSH2 0x05a6
000005a1: JUMPI
000005a2: PUSH1 0x00
000005a4: DUP1
000005a5: REVERT
000005a6: JUMPDEST
000005a7: POP
000005a8: PUSH2 0x05af
000005ab: PUSH2 0x1ae1
000005ae: JUMP
000005af: JUMPDEST
000005b0: PUSH1 0x40
000005b2: MLOAD
000005b3: DUP1
000005b4: DUP3
000005b5: DUP2
000005b6: MSTORE
000005b7: PUSH1 0x20
000005b9: ADD
000005ba: SWAP2
000005bb: POP
000005bc: POP
000005bd: PUSH1 0x40
000005bf: MLOAD
000005c0: DUP1
000005c1: SWAP2
000005c2: SUB
000005c3: SWAP1
000005c4: RETURN
000005c5: JUMPDEST
000005c6: CALLVALUE
000005c7: DUP1
000005c8: ISZERO
000005c9: PUSH2 0x05d1
000005cc: JUMPI
000005cd: PUSH1 0x00
000005cf: DUP1
000005d0: REVERT
000005d1: JUMPDEST
000005d2: POP
000005d3: PUSH2 0x05da
000005d6: PUSH2 0x1ae7
000005d9: JUMP
000005da: JUMPDEST
000005db: PUSH1 0x40
000005dd: MLOAD
000005de: DUP1
000005df: DUP3
000005e0: PUSH1 0x02
000005e2: DUP2
000005e3: GT
000005e4: ISZERO
000005e5: PUSH2 0x05ea
000005e8: JUMPI
000005e9: INVALID
000005ea: JUMPDEST
000005eb: PUSH1 0xff
000005ed: AND
000005ee: DUP2
000005ef: MSTORE
000005f0: PUSH1 0x20
000005f2: ADD
000005f3: SWAP2
000005f4: POP
000005f5: POP
000005f6: PUSH1 0x40
000005f8: MLOAD
000005f9: DUP1
000005fa: SWAP2
000005fb: SUB
000005fc: SWAP1
000005fd: RETURN
000005fe: JUMPDEST
000005ff: CALLVALUE
00000600: DUP1
00000601: ISZERO
00000602: PUSH2 0x060a
00000605: JUMPI
00000606: PUSH1 0x00
00000608: DUP1
00000609: REVERT
0000060a: JUMPDEST
0000060b: POP
0000060c: PUSH2 0x0613
0000060f: PUSH2 0x1afa
00000612: JUMP
00000613: JUMPDEST
00000614: PUSH1 0x40
00000616: MLOAD
00000617: DUP1
00000618: DUP3
00000619: DUP2
0000061a: MSTORE
0000061b: PUSH1 0x20
0000061d: ADD
0000061e: SWAP2
0000061f: POP
00000620: POP
00000621: PUSH1 0x40
00000623: MLOAD
00000624: DUP1
00000625: SWAP2
00000626: SUB
00000627: SWAP1
00000628: RETURN
00000629: JUMPDEST
0000062a: CALLVALUE
0000062b: DUP1
0000062c: ISZERO
0000062d: PUSH2 0x0635
00000630: JUMPI
00000631: PUSH1 0x00
00000633: DUP1
00000634: REVERT
00000635: JUMPDEST
00000636: POP
00000637: PUSH2 0x063e
0000063a: PUSH2 0x1b18
0000063d: JUMP
0000063e: JUMPDEST
0000063f: PUSH1 0x40
00000641: MLOAD
00000642: DUP1
00000643: DUP3
00000644: ISZERO
00000645: ISZERO
00000646: ISZERO
00000647: ISZERO
00000648: DUP2
00000649: MSTORE
0000064a: PUSH1 0x20
0000064c: ADD
0000064d: SWAP2
0000064e: POP
0000064f: POP
00000650: PUSH1 0x40
00000652: MLOAD
00000653: DUP1
00000654: SWAP2
00000655: SUB
00000656: SWAP1
00000657: RETURN
00000658: JUMPDEST
00000659: CALLVALUE
0000065a: DUP1
0000065b: ISZERO
0000065c: PUSH2 0x0664
0000065f: JUMPI
00000660: PUSH1 0x00
00000662: DUP1
00000663: REVERT
00000664: JUMPDEST
00000665: POP
00000666: PUSH2 0x066d
00000669: PUSH2 0x1b2b
0000066c: JUMP
0000066d: JUMPDEST
0000066e: PUSH1 0x40
00000670: MLOAD
00000671: DUP1
00000672: DUP3
00000673: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000688: AND
00000689: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000069e: AND
0000069f: DUP2
000006a0: MSTORE
000006a1: PUSH1 0x20
000006a3: ADD
000006a4: SWAP2
000006a5: POP
000006a6: POP
000006a7: PUSH1 0x40
000006a9: MLOAD
000006aa: DUP1
000006ab: SWAP2
000006ac: SUB
000006ad: SWAP1
000006ae: RETURN
000006af: JUMPDEST
000006b0: CALLVALUE
000006b1: DUP1
000006b2: ISZERO
000006b3: PUSH2 0x06bb
000006b6: JUMPI
000006b7: PUSH1 0x00
000006b9: DUP1
000006ba: REVERT
000006bb: JUMPDEST
000006bc: POP
000006bd: PUSH2 0x06c4
000006c0: PUSH2 0x1b51
000006c3: JUMP
000006c4: JUMPDEST
000006c5: PUSH1 0x40
000006c7: MLOAD
000006c8: DUP1
000006c9: DUP3
000006ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006df: AND
000006e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006f5: AND
000006f6: DUP2
000006f7: MSTORE
000006f8: PUSH1 0x20
000006fa: ADD
000006fb: SWAP2
000006fc: POP
000006fd: POP
000006fe: PUSH1 0x40
00000700: MLOAD
00000701: DUP1
00000702: SWAP2
00000703: SUB
00000704: SWAP1
00000705: RETURN
00000706: JUMPDEST
00000707: CALLVALUE
00000708: DUP1
00000709: ISZERO
0000070a: PUSH2 0x0712
0000070d: JUMPI
0000070e: PUSH1 0x00
00000710: DUP1
00000711: REVERT
00000712: JUMPDEST
00000713: POP
00000714: PUSH2 0x071b
00000717: PUSH2 0x1b77
0000071a: JUMP
0000071b: JUMPDEST
0000071c: PUSH1 0x40
0000071e: MLOAD
0000071f: DUP1
00000720: DUP3
00000721: DUP2
00000722: MSTORE
00000723: PUSH1 0x20
00000725: ADD
00000726: SWAP2
00000727: POP
00000728: POP
00000729: PUSH1 0x40
0000072b: MLOAD
0000072c: DUP1
0000072d: SWAP2
0000072e: SUB
0000072f: SWAP1
00000730: RETURN
00000731: JUMPDEST
00000732: CALLVALUE
00000733: DUP1
00000734: ISZERO
00000735: PUSH2 0x073d
00000738: JUMPI
00000739: PUSH1 0x00
0000073b: DUP1
0000073c: REVERT
0000073d: JUMPDEST
0000073e: POP
0000073f: PUSH2 0x0746
00000742: PUSH2 0x1b95
00000745: JUMP
00000746: JUMPDEST
00000747: PUSH1 0x40
00000749: MLOAD
0000074a: DUP1
0000074b: DUP3
0000074c: DUP2
0000074d: MSTORE
0000074e: PUSH1 0x20
00000750: ADD
00000751: SWAP2
00000752: POP
00000753: POP
00000754: PUSH1 0x40
00000756: MLOAD
00000757: DUP1
00000758: SWAP2
00000759: SUB
0000075a: SWAP1
0000075b: RETURN
0000075c: JUMPDEST
0000075d: CALLVALUE
0000075e: DUP1
0000075f: ISZERO
00000760: PUSH2 0x0768
00000763: JUMPI
00000764: PUSH1 0x00
00000766: DUP1
00000767: REVERT
00000768: JUMPDEST
00000769: POP
0000076a: PUSH2 0x0771
0000076d: PUSH2 0x1b9b
00000770: JUMP
00000771: JUMPDEST
00000772: PUSH1 0x40
00000774: MLOAD
00000775: DUP1
00000776: DUP3
00000777: DUP2
00000778: MSTORE
00000779: PUSH1 0x20
0000077b: ADD
0000077c: SWAP2
0000077d: POP
0000077e: POP
0000077f: PUSH1 0x40
00000781: MLOAD
00000782: DUP1
00000783: SWAP2
00000784: SUB
00000785: SWAP1
00000786: RETURN
00000787: JUMPDEST
00000788: CALLVALUE
00000789: DUP1
0000078a: ISZERO
0000078b: PUSH2 0x0793
0000078e: JUMPI
0000078f: PUSH1 0x00
00000791: DUP1
00000792: REVERT
00000793: JUMPDEST
00000794: POP
00000795: PUSH2 0x07c8
00000798: PUSH1 0x04
0000079a: DUP1
0000079b: CALLDATASIZE
0000079c: SUB
0000079d: DUP2
0000079e: ADD
0000079f: SWAP1
000007a0: DUP1
000007a1: DUP1
000007a2: CALLDATALOAD
000007a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b8: AND
000007b9: SWAP1
000007ba: PUSH1 0x20
000007bc: ADD
000007bd: SWAP1
000007be: SWAP3
000007bf: SWAP2
000007c0: SWAP1
000007c1: POP
000007c2: POP
000007c3: POP
000007c4: PUSH2 0x1bb9
000007c7: JUMP
000007c8: JUMPDEST
000007c9: STOP
000007ca: JUMPDEST
000007cb: CALLVALUE
000007cc: DUP1
000007cd: ISZERO
000007ce: PUSH2 0x07d6
000007d1: JUMPI
000007d2: PUSH1 0x00
000007d4: DUP1
000007d5: REVERT
000007d6: JUMPDEST
000007d7: POP
000007d8: PUSH2 0x07df
000007db: PUSH2 0x1d0e
000007de: JUMP
000007df: JUMPDEST
000007e0: PUSH1 0x40
000007e2: MLOAD
000007e3: DUP1
000007e4: DUP3
000007e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007fa: AND
000007fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000810: AND
00000811: DUP2
00000812: MSTORE
00000813: PUSH1 0x20
00000815: ADD
00000816: SWAP2
00000817: POP
00000818: POP
00000819: PUSH1 0x40
0000081b: MLOAD
0000081c: DUP1
0000081d: SWAP2
0000081e: SUB
0000081f: SWAP1
00000820: RETURN
00000821: JUMPDEST
00000822: CALLVALUE
00000823: DUP1
00000824: ISZERO
00000825: PUSH2 0x082d
00000828: JUMPI
00000829: PUSH1 0x00
0000082b: DUP1
0000082c: REVERT
0000082d: JUMPDEST
0000082e: POP
0000082f: PUSH2 0x0836
00000832: PUSH2 0x1d34
00000835: JUMP
00000836: JUMPDEST
00000837: PUSH1 0x40
00000839: MLOAD
0000083a: DUP1
0000083b: DUP3
0000083c: DUP2
0000083d: MSTORE
0000083e: PUSH1 0x20
00000840: ADD
00000841: SWAP2
00000842: POP
00000843: POP
00000844: PUSH1 0x40
00000846: MLOAD
00000847: DUP1
00000848: SWAP2
00000849: SUB
0000084a: SWAP1
0000084b: RETURN
0000084c: JUMPDEST
0000084d: CALLVALUE
0000084e: DUP1
0000084f: ISZERO
00000850: PUSH2 0x0858
00000853: JUMPI
00000854: PUSH1 0x00
00000856: DUP1
00000857: REVERT
00000858: JUMPDEST
00000859: POP
0000085a: PUSH2 0x0861
0000085d: PUSH2 0x1d3a
00000860: JUMP
00000861: JUMPDEST
00000862: PUSH1 0x40
00000864: MLOAD
00000865: DUP1
00000866: DUP3
00000867: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000087c: AND
0000087d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000892: AND
00000893: DUP2
00000894: MSTORE
00000895: PUSH1 0x20
00000897: ADD
00000898: SWAP2
00000899: POP
0000089a: POP
0000089b: PUSH1 0x40
0000089d: MLOAD
0000089e: DUP1
0000089f: SWAP2
000008a0: SUB
000008a1: SWAP1
000008a2: RETURN
000008a3: JUMPDEST
000008a4: PUSH1 0x00
000008a6: DUP1
000008a7: PUSH1 0x04
000008a9: SLOAD
000008aa: TIMESTAMP
000008ab: GT
000008ac: DUP1
000008ad: ISZERO
000008ae: PUSH2 0x08b8
000008b1: JUMPI
000008b2: POP
000008b3: PUSH1 0x05
000008b5: SLOAD
000008b6: TIMESTAMP
000008b7: LT
000008b8: JUMPDEST
000008b9: ISZERO
000008ba: ISZERO
000008bb: PUSH2 0x08c3
000008be: JUMPI
000008bf: PUSH1 0x00
000008c1: DUP1
000008c2: REVERT
000008c3: JUMPDEST
000008c4: PUSH2 0x08f2
000008c7: PUSH8 0x0de0b6b3a7640000
000008d0: PUSH2 0x08e4
000008d3: CALLVALUE
000008d4: PUSH1 0x03
000008d6: SLOAD
000008d7: PUSH2 0x1d60
000008da: SWAP1
000008db: SWAP2
000008dc: SWAP1
000008dd: PUSH4 0xffffffff
000008e2: AND
000008e3: JUMP
000008e4: JUMPDEST
000008e5: PUSH2 0x1d9b
000008e8: SWAP1
000008e9: SWAP2
000008ea: SWAP1
000008eb: PUSH4 0xffffffff
000008f0: AND
000008f1: JUMP
000008f2: JUMPDEST
000008f3: SWAP2
000008f4: POP
000008f5: PUSH1 0x02
000008f7: DUP1
000008f8: DUP2
000008f9: GT
000008fa: ISZERO
000008fb: PUSH2 0x0900
000008fe: JUMPI
000008ff: INVALID
00000900: JUMPDEST
00000901: PUSH1 0x08
00000903: PUSH1 0x00
00000905: SWAP1
00000906: SLOAD
00000907: SWAP1
00000908: PUSH2 0x0100
0000090b: EXP
0000090c: SWAP1
0000090d: DIV
0000090e: PUSH1 0xff
00000910: AND
00000911: PUSH1 0x02
00000913: DUP2
00000914: GT
00000915: ISZERO
00000916: PUSH2 0x091b
00000919: JUMPI
0000091a: INVALID
0000091b: JUMPDEST
0000091c: EQ
0000091d: ISZERO
0000091e: PUSH2 0x098b
00000921: JUMPI
00000922: PUSH1 0x02
00000924: PUSH1 0x00
00000926: SWAP1
00000927: SLOAD
00000928: SWAP1
00000929: PUSH2 0x0100
0000092c: EXP
0000092d: SWAP1
0000092e: DIV
0000092f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000944: AND
00000945: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000095a: AND
0000095b: PUSH2 0x08fc
0000095e: CALLVALUE
0000095f: SWAP1
00000960: DUP2
00000961: ISZERO
00000962: MUL
00000963: SWAP1
00000964: PUSH1 0x40
00000966: MLOAD
00000967: PUSH1 0x00
00000969: PUSH1 0x40
0000096b: MLOAD
0000096c: DUP1
0000096d: DUP4
0000096e: SUB
0000096f: DUP2
00000970: DUP6
00000971: DUP9
00000972: DUP9
00000973: CALL
00000974: SWAP4
00000975: POP
00000976: POP
00000977: POP
00000978: POP
00000979: ISZERO
0000097a: DUP1
0000097b: ISZERO
0000097c: PUSH2 0x0989
0000097f: JUMPI
00000980: RETURNDATASIZE
00000981: PUSH1 0x00
00000983: DUP1
00000984: RETURNDATACOPY
00000985: RETURNDATASIZE
00000986: PUSH1 0x00
00000988: REVERT
00000989: JUMPDEST
0000098a: POP
0000098b: JUMPDEST
0000098c: PUSH1 0x00
0000098e: SWAP1
0000098f: POP
00000990: PUSH2 0x09a7
00000993: PUSH3 0x0d2f00
00000997: PUSH1 0x04
00000999: SLOAD
0000099a: PUSH2 0x1db1
0000099d: SWAP1
0000099e: SWAP2
0000099f: SWAP1
000009a0: PUSH4 0xffffffff
000009a5: AND
000009a6: JUMP
000009a7: JUMPDEST
000009a8: TIMESTAMP
000009a9: GT
000009aa: ISZERO
000009ab: ISZERO
000009ac: PUSH2 0x09dd
000009af: JUMPI
000009b0: PUSH2 0x09d6
000009b3: PUSH1 0x64
000009b5: PUSH2 0x09c8
000009b8: PUSH1 0x14
000009ba: DUP6
000009bb: PUSH2 0x1d60
000009be: SWAP1
000009bf: SWAP2
000009c0: SWAP1
000009c1: PUSH4 0xffffffff
000009c6: AND
000009c7: JUMP
000009c8: JUMPDEST
000009c9: PUSH2 0x1d9b
000009cc: SWAP1
000009cd: SWAP2
000009ce: SWAP1
000009cf: PUSH4 0xffffffff
000009d4: AND
000009d5: JUMP
000009d6: JUMPDEST
000009d7: SWAP1
000009d8: POP
000009d9: PUSH2 0x0aba
000009dc: JUMP
000009dd: JUMPDEST
000009de: PUSH2 0x09f5
000009e1: PUSH3 0x0d2f00
000009e5: PUSH1 0x04
000009e7: SLOAD
000009e8: PUSH2 0x1db1
000009eb: SWAP1
000009ec: SWAP2
000009ed: SWAP1
000009ee: PUSH4 0xffffffff
000009f3: AND
000009f4: JUMP
000009f5: JUMPDEST
000009f6: TIMESTAMP
000009f7: GT
000009f8: DUP1
000009f9: ISZERO
000009fa: PUSH2 0x0a1a
000009fd: JUMPI
000009fe: POP
000009ff: PUSH2 0x0a16
00000a02: PUSH3 0x20f580
00000a06: PUSH1 0x04
00000a08: SLOAD
00000a09: PUSH2 0x1db1
00000a0c: SWAP1
00000a0d: SWAP2
00000a0e: SWAP1
00000a0f: PUSH4 0xffffffff
00000a14: AND
00000a15: JUMP
00000a16: JUMPDEST
00000a17: TIMESTAMP
00000a18: GT
00000a19: ISZERO
00000a1a: JUMPDEST
00000a1b: ISZERO
00000a1c: PUSH2 0x0a4d
00000a1f: JUMPI
00000a20: PUSH2 0x0a46
00000a23: PUSH1 0x64
00000a25: PUSH2 0x0a38
00000a28: PUSH1 0x0a
00000a2a: DUP6
00000a2b: PUSH2 0x1d60
00000a2e: SWAP1
00000a2f: SWAP2
00000a30: SWAP1
00000a31: PUSH4 0xffffffff
00000a36: AND
00000a37: JUMP
00000a38: JUMPDEST
00000a39: PUSH2 0x1d9b
00000a3c: SWAP1
00000a3d: SWAP2
00000a3e: SWAP1
00000a3f: PUSH4 0xffffffff
00000a44: AND
00000a45: JUMP
00000a46: JUMPDEST
00000a47: SWAP1
00000a48: POP
00000a49: PUSH2 0x0ab9
00000a4c: JUMP
00000a4d: JUMPDEST
00000a4e: PUSH2 0x0a65
00000a51: PUSH3 0x20f580
00000a55: PUSH1 0x04
00000a57: SLOAD
00000a58: PUSH2 0x1db1
00000a5b: SWAP1
00000a5c: SWAP2
00000a5d: SWAP1
00000a5e: PUSH4 0xffffffff
00000a63: AND
00000a64: JUMP
00000a65: JUMPDEST
00000a66: TIMESTAMP
00000a67: GT
00000a68: DUP1
00000a69: ISZERO
00000a6a: PUSH2 0x0a89
00000a6d: JUMPI
00000a6e: POP
00000a6f: PUSH2 0x0a86
00000a72: PUSH3 0x34bc00
00000a76: PUSH1 0x04
00000a78: SLOAD
00000a79: PUSH2 0x1db1
00000a7c: SWAP1
00000a7d: SWAP2
00000a7e: SWAP1
00000a7f: PUSH4 0xffffffff
00000a84: AND
00000a85: JUMP
00000a86: JUMPDEST
00000a87: TIMESTAMP
00000a88: LT
00000a89: JUMPDEST
00000a8a: ISZERO
00000a8b: PUSH2 0x0ab8
00000a8e: JUMPI
00000a8f: PUSH2 0x0ab5
00000a92: PUSH1 0x64
00000a94: PUSH2 0x0aa7
00000a97: PUSH1 0x05
00000a99: DUP6
00000a9a: PUSH2 0x1d60
00000a9d: SWAP1
00000a9e: SWAP2
00000a9f: SWAP1
00000aa0: PUSH4 0xffffffff
00000aa5: AND
00000aa6: JUMP
00000aa7: JUMPDEST
00000aa8: PUSH2 0x1d9b
00000aab: SWAP1
00000aac: SWAP2
00000aad: SWAP1
00000aae: PUSH4 0xffffffff
00000ab3: AND
00000ab4: JUMP
00000ab5: JUMPDEST
00000ab6: SWAP1
00000ab7: POP
00000ab8: JUMPDEST
00000ab9: JUMPDEST
00000aba: JUMPDEST
00000abb: DUP1
00000abc: DUP3
00000abd: ADD
00000abe: SWAP2
00000abf: POP
00000ac0: PUSH2 0x0b11
00000ac3: CALLVALUE
00000ac4: PUSH1 0x09
00000ac6: PUSH1 0x00
00000ac8: CALLER
00000ac9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ade: AND
00000adf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000af4: AND
00000af5: DUP2
00000af6: MSTORE
00000af7: PUSH1 0x20
00000af9: ADD
00000afa: SWAP1
00000afb: DUP2
00000afc: MSTORE
00000afd: PUSH1 0x20
00000aff: ADD
00000b00: PUSH1 0x00
00000b02: KECCAK256
00000b03: SLOAD
00000b04: PUSH2 0x1db1
00000b07: SWAP1
00000b08: SWAP2
00000b09: SWAP1
00000b0a: PUSH4 0xffffffff
00000b0f: AND
00000b10: JUMP
00000b11: JUMPDEST
00000b12: PUSH1 0x09
00000b14: PUSH1 0x00
00000b16: CALLER
00000b17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b2c: AND
00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b42: AND
00000b43: DUP2
00000b44: MSTORE
00000b45: PUSH1 0x20
00000b47: ADD
00000b48: SWAP1
00000b49: DUP2
00000b4a: MSTORE
00000b4b: PUSH1 0x20
00000b4d: ADD
00000b4e: PUSH1 0x00
00000b50: KECCAK256
00000b51: DUP2
00000b52: SWAP1
00000b53: SSTORE
00000b54: POP
00000b55: PUSH1 0x01
00000b57: PUSH1 0x00
00000b59: SWAP1
00000b5a: SLOAD
00000b5b: SWAP1
00000b5c: PUSH2 0x0100
00000b5f: EXP
00000b60: SWAP1
00000b61: DIV
00000b62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b77: AND
00000b78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b8d: AND
00000b8e: PUSH4 0x40c10f19
00000b93: CALLER
00000b94: DUP5
00000b95: PUSH1 0x40
00000b97: MLOAD
00000b98: DUP4
00000b99: PUSH4 0xffffffff
00000b9e: AND
00000b9f: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000bbd: MUL
00000bbe: DUP2
00000bbf: MSTORE
00000bc0: PUSH1 0x04
00000bc2: ADD
00000bc3: DUP1
00000bc4: DUP4
00000bc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bda: AND
00000bdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf0: AND
00000bf1: DUP2
00000bf2: MSTORE
00000bf3: PUSH1 0x20
00000bf5: ADD
00000bf6: DUP3
00000bf7: DUP2
00000bf8: MSTORE
00000bf9: PUSH1 0x20
00000bfb: ADD
00000bfc: SWAP3
00000bfd: POP
00000bfe: POP
00000bff: POP
00000c00: PUSH1 0x20
00000c02: PUSH1 0x40
00000c04: MLOAD
00000c05: DUP1
00000c06: DUP4
00000c07: SUB
00000c08: DUP2
00000c09: PUSH1 0x00
00000c0b: DUP8
00000c0c: DUP1
00000c0d: EXTCODESIZE
00000c0e: ISZERO
00000c0f: DUP1
00000c10: ISZERO
00000c11: PUSH2 0x0c19
00000c14: JUMPI
00000c15: PUSH1 0x00
00000c17: DUP1
00000c18: REVERT
00000c19: JUMPDEST
00000c1a: POP
00000c1b: GAS
00000c1c: CALL
00000c1d: ISZERO
00000c1e: DUP1
00000c1f: ISZERO
00000c20: PUSH2 0x0c2d
00000c23: JUMPI
00000c24: RETURNDATASIZE
00000c25: PUSH1 0x00
00000c27: DUP1
00000c28: RETURNDATACOPY
00000c29: RETURNDATASIZE
00000c2a: PUSH1 0x00
00000c2c: REVERT
00000c2d: JUMPDEST
00000c2e: POP
00000c2f: POP
00000c30: POP
00000c31: POP
00000c32: PUSH1 0x40
00000c34: MLOAD
00000c35: RETURNDATASIZE
00000c36: PUSH1 0x20
00000c38: DUP2
00000c39: LT
00000c3a: ISZERO
00000c3b: PUSH2 0x0c43
00000c3e: JUMPI
00000c3f: PUSH1 0x00
00000c41: DUP1
00000c42: REVERT
00000c43: JUMPDEST
00000c44: DUP2
00000c45: ADD
00000c46: SWAP1
00000c47: DUP1
00000c48: DUP1
00000c49: MLOAD
00000c4a: SWAP1
00000c4b: PUSH1 0x20
00000c4d: ADD
00000c4e: SWAP1
00000c4f: SWAP3
00000c50: SWAP2
00000c51: SWAP1
00000c52: POP
00000c53: POP
00000c54: POP
00000c55: POP
00000c56: POP
00000c57: POP
00000c58: JUMP
00000c59: JUMPDEST
00000c5a: PUSH1 0x00
00000c5c: PUSH1 0x14
00000c5e: SWAP1
00000c5f: SLOAD
00000c60: SWAP1
00000c61: PUSH2 0x0100
00000c64: EXP
00000c65: SWAP1
00000c66: DIV
00000c67: PUSH1 0xff
00000c69: AND
00000c6a: PUSH1 0xff
00000c6c: AND
00000c6d: PUSH1 0x0a
00000c6f: EXP
00000c70: PUSH3 0x055730
00000c74: MUL
00000c75: DUP2
00000c76: JUMP
00000c77: JUMPDEST
00000c78: PUSH1 0x09
00000c7a: PUSH1 0x20
00000c7c: MSTORE
00000c7d: DUP1
00000c7e: PUSH1 0x00
00000c80: MSTORE
00000c81: PUSH1 0x40
00000c83: PUSH1 0x00
00000c85: KECCAK256
00000c86: PUSH1 0x00
00000c88: SWAP2
00000c89: POP
00000c8a: SWAP1
00000c8b: POP
00000c8c: SLOAD
00000c8d: DUP2
00000c8e: JUMP
00000c8f: JUMPDEST
00000c90: PUSH1 0x0d
00000c92: PUSH1 0x00
00000c94: SWAP1
00000c95: SLOAD
00000c96: SWAP1
00000c97: PUSH2 0x0100
00000c9a: EXP
00000c9b: SWAP1
00000c9c: DIV
00000c9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cb2: AND
00000cb3: DUP2
00000cb4: JUMP
00000cb5: JUMPDEST
00000cb6: PUSH1 0x03
00000cb8: SLOAD
00000cb9: DUP2
00000cba: JUMP
00000cbb: JUMPDEST
00000cbc: PUSH1 0x00
00000cbe: PUSH1 0x14
00000cc0: SWAP1
00000cc1: SLOAD
00000cc2: SWAP1
00000cc3: PUSH2 0x0100
00000cc6: EXP
00000cc7: SWAP1
00000cc8: DIV
00000cc9: PUSH1 0xff
00000ccb: AND
00000ccc: DUP2
00000ccd: JUMP
00000cce: JUMPDEST
00000ccf: PUSH1 0x0e
00000cd1: PUSH1 0x00
00000cd3: SWAP1
00000cd4: SLOAD
00000cd5: SWAP1
00000cd6: PUSH2 0x0100
00000cd9: EXP
00000cda: SWAP1
00000cdb: DIV
00000cdc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf1: AND
00000cf2: DUP2
00000cf3: JUMP
00000cf4: JUMPDEST
00000cf5: PUSH1 0x02
00000cf7: PUSH1 0x00
00000cf9: SWAP1
00000cfa: SLOAD
00000cfb: SWAP1
00000cfc: PUSH2 0x0100
00000cff: EXP
00000d00: SWAP1
00000d01: DIV
00000d02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d17: AND
00000d18: DUP2
00000d19: JUMP
00000d1a: JUMPDEST
00000d1b: PUSH1 0x00
00000d1d: PUSH1 0x14
00000d1f: SWAP1
00000d20: SLOAD
00000d21: SWAP1
00000d22: PUSH2 0x0100
00000d25: EXP
00000d26: SWAP1
00000d27: DIV
00000d28: PUSH1 0xff
00000d2a: AND
00000d2b: PUSH1 0xff
00000d2d: AND
00000d2e: PUSH1 0x0a
00000d30: EXP
00000d31: PUSH3 0x319750
00000d35: MUL
00000d36: DUP2
00000d37: JUMP
00000d38: JUMPDEST
00000d39: PUSH1 0x0a
00000d3b: PUSH1 0x00
00000d3d: SWAP1
00000d3e: SLOAD
00000d3f: SWAP1
00000d40: PUSH2 0x0100
00000d43: EXP
00000d44: SWAP1
00000d45: DIV
00000d46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d5b: AND
00000d5c: DUP2
00000d5d: JUMP
00000d5e: JUMPDEST
00000d5f: PUSH1 0x00
00000d61: DUP1
00000d62: SWAP1
00000d63: SLOAD
00000d64: SWAP1
00000d65: PUSH2 0x0100
00000d68: EXP
00000d69: SWAP1
00000d6a: DIV
00000d6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d80: AND
00000d81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d96: AND
00000d97: CALLER
00000d98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dad: AND
00000dae: EQ
00000daf: ISZERO
00000db0: ISZERO
00000db1: PUSH2 0x0db9
00000db4: JUMPI
00000db5: PUSH1 0x00
00000db7: DUP1
00000db8: REVERT
00000db9: JUMPDEST
00000dba: PUSH1 0x06
00000dbc: PUSH1 0x00
00000dbe: SWAP1
00000dbf: SLOAD
00000dc0: SWAP1
00000dc1: PUSH2 0x0100
00000dc4: EXP
00000dc5: SWAP1
00000dc6: DIV
00000dc7: PUSH1 0xff
00000dc9: AND
00000dca: ISZERO
00000dcb: ISZERO
00000dcc: ISZERO
00000dcd: PUSH2 0x0dd5
00000dd0: JUMPI
00000dd1: PUSH1 0x00
00000dd3: DUP1
00000dd4: REVERT
00000dd5: JUMPDEST
00000dd6: PUSH1 0x01
00000dd8: PUSH1 0x00
00000dda: SWAP1
00000ddb: SLOAD
00000ddc: SWAP1
00000ddd: PUSH2 0x0100
00000de0: EXP
00000de1: SWAP1
00000de2: DIV
00000de3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000df8: AND
00000df9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e0e: AND
00000e0f: PUSH4 0x40c10f19
00000e14: PUSH1 0x0a
00000e16: PUSH1 0x00
00000e18: SWAP1
00000e19: SLOAD
00000e1a: SWAP1
00000e1b: PUSH2 0x0100
00000e1e: EXP
00000e1f: SWAP1
00000e20: DIV
00000e21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e36: AND
00000e37: PUSH1 0x00
00000e39: PUSH1 0x14
00000e3b: SWAP1
00000e3c: SLOAD
00000e3d: SWAP1
00000e3e: PUSH2 0x0100
00000e41: EXP
00000e42: SWAP1
00000e43: DIV
00000e44: PUSH1 0xff
00000e46: AND
00000e47: PUSH1 0xff
00000e49: AND
00000e4a: PUSH1 0x0a
00000e4c: EXP
00000e4d: PUSH3 0x07a120
00000e51: MUL
00000e52: PUSH1 0x40
00000e54: MLOAD
00000e55: DUP4
00000e56: PUSH4 0xffffffff
00000e5b: AND
00000e5c: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000e7a: MUL
00000e7b: DUP2
00000e7c: MSTORE
00000e7d: PUSH1 0x04
00000e7f: ADD
00000e80: DUP1
00000e81: DUP4
00000e82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e97: AND
00000e98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ead: AND
00000eae: DUP2
00000eaf: MSTORE
00000eb0: PUSH1 0x20
00000eb2: ADD
00000eb3: DUP3
00000eb4: DUP2
00000eb5: MSTORE
00000eb6: PUSH1 0x20
00000eb8: ADD
00000eb9: SWAP3
00000eba: POP
00000ebb: POP
00000ebc: POP
00000ebd: PUSH1 0x20
00000ebf: PUSH1 0x40
00000ec1: MLOAD
00000ec2: DUP1
00000ec3: DUP4
00000ec4: SUB
00000ec5: DUP2
00000ec6: PUSH1 0x00
00000ec8: DUP8
00000ec9: DUP1
00000eca: EXTCODESIZE
00000ecb: ISZERO
00000ecc: DUP1
00000ecd: ISZERO
00000ece: PUSH2 0x0ed6
00000ed1: JUMPI
00000ed2: PUSH1 0x00
00000ed4: DUP1
00000ed5: REVERT
00000ed6: JUMPDEST
00000ed7: POP
00000ed8: GAS
00000ed9: CALL
00000eda: ISZERO
00000edb: DUP1
00000edc: ISZERO
00000edd: PUSH2 0x0eea
00000ee0: JUMPI
00000ee1: RETURNDATASIZE
00000ee2: PUSH1 0x00
00000ee4: DUP1
00000ee5: RETURNDATACOPY
00000ee6: RETURNDATASIZE
00000ee7: PUSH1 0x00
00000ee9: REVERT
00000eea: JUMPDEST
00000eeb: POP
00000eec: POP
00000eed: POP
00000eee: POP
00000eef: PUSH1 0x40
00000ef1: MLOAD
00000ef2: RETURNDATASIZE
00000ef3: PUSH1 0x20
00000ef5: DUP2
00000ef6: LT
00000ef7: ISZERO
00000ef8: PUSH2 0x0f00
00000efb: JUMPI
00000efc: PUSH1 0x00
00000efe: DUP1
00000eff: REVERT
00000f00: JUMPDEST
00000f01: DUP2
00000f02: ADD
00000f03: SWAP1
00000f04: DUP1
00000f05: DUP1
00000f06: MLOAD
00000f07: SWAP1
00000f08: PUSH1 0x20
00000f0a: ADD
00000f0b: SWAP1
00000f0c: SWAP3
00000f0d: SWAP2
00000f0e: SWAP1
00000f0f: POP
00000f10: POP
00000f11: POP
00000f12: POP
00000f13: PUSH1 0x01
00000f15: PUSH1 0x00
00000f17: SWAP1
00000f18: SLOAD
00000f19: SWAP1
00000f1a: PUSH2 0x0100
00000f1d: EXP
00000f1e: SWAP1
00000f1f: DIV
00000f20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f35: AND
00000f36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f4b: AND
00000f4c: PUSH4 0x40c10f19
00000f51: PUSH1 0x0b
00000f53: PUSH1 0x00
00000f55: SWAP1
00000f56: SLOAD
00000f57: SWAP1
00000f58: PUSH2 0x0100
00000f5b: EXP
00000f5c: SWAP1
00000f5d: DIV
00000f5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f73: AND
00000f74: PUSH1 0x00
00000f76: PUSH1 0x14
00000f78: SWAP1
00000f79: SLOAD
00000f7a: SWAP1
00000f7b: PUSH2 0x0100
00000f7e: EXP
00000f7f: SWAP1
00000f80: DIV
00000f81: PUSH1 0xff
00000f83: AND
00000f84: PUSH1 0xff
00000f86: AND
00000f87: PUSH1 0x0a
00000f89: EXP
00000f8a: PUSH3 0x055730
00000f8e: MUL
00000f8f: PUSH1 0x40
00000f91: MLOAD
00000f92: DUP4
00000f93: PUSH4 0xffffffff
00000f98: AND
00000f99: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000fb7: MUL
00000fb8: DUP2
00000fb9: MSTORE
00000fba: PUSH1 0x04
00000fbc: ADD
00000fbd: DUP1
00000fbe: DUP4
00000fbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fd4: AND
00000fd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fea: AND
00000feb: DUP2
00000fec: MSTORE
00000fed: PUSH1 0x20
00000fef: ADD
00000ff0: DUP3
00000ff1: DUP2
00000ff2: MSTORE
00000ff3: PUSH1 0x20
00000ff5: ADD
00000ff6: SWAP3
00000ff7: POP
00000ff8: POP
00000ff9: POP
00000ffa: PUSH1 0x20
00000ffc: PUSH1 0x40
00000ffe: MLOAD
00000fff: DUP1
00001000: DUP4
00001001: SUB
00001002: DUP2
00001003: PUSH1 0x00
00001005: DUP8
00001006: DUP1
00001007: EXTCODESIZE
00001008: ISZERO
00001009: DUP1
0000100a: ISZERO
0000100b: PUSH2 0x1013
0000100e: JUMPI
0000100f: PUSH1 0x00
00001011: DUP1
00001012: REVERT
00001013: JUMPDEST
00001014: POP
00001015: GAS
00001016: CALL
00001017: ISZERO
00001018: DUP1
00001019: ISZERO
0000101a: PUSH2 0x1027
0000101d: JUMPI
0000101e: RETURNDATASIZE
0000101f: PUSH1 0x00
00001021: DUP1
00001022: RETURNDATACOPY
00001023: RETURNDATASIZE
00001024: PUSH1 0x00
00001026: REVERT
00001027: JUMPDEST
00001028: POP
00001029: POP
0000102a: POP
0000102b: POP
0000102c: PUSH1 0x40
0000102e: MLOAD
0000102f: RETURNDATASIZE
00001030: PUSH1 0x20
00001032: DUP2
00001033: LT
00001034: ISZERO
00001035: PUSH2 0x103d
00001038: JUMPI
00001039: PUSH1 0x00
0000103b: DUP1
0000103c: REVERT
0000103d: JUMPDEST
0000103e: DUP2
0000103f: ADD
00001040: SWAP1
00001041: DUP1
00001042: DUP1
00001043: MLOAD
00001044: SWAP1
00001045: PUSH1 0x20
00001047: ADD
00001048: SWAP1
00001049: SWAP3
0000104a: SWAP2
0000104b: SWAP1
0000104c: POP
0000104d: POP
0000104e: POP
0000104f: POP
00001050: PUSH1 0x01
00001052: PUSH1 0x00
00001054: SWAP1
00001055: SLOAD
00001056: SWAP1
00001057: PUSH2 0x0100
0000105a: EXP
0000105b: SWAP1
0000105c: DIV
0000105d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001072: AND
00001073: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001088: AND
00001089: PUSH4 0x40c10f19
0000108e: PUSH1 0x0c
00001090: PUSH1 0x00
00001092: SWAP1
00001093: SLOAD
00001094: SWAP1
00001095: PUSH2 0x0100
00001098: EXP
00001099: SWAP1
0000109a: DIV
0000109b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b0: AND
000010b1: PUSH1 0x00
000010b3: PUSH1 0x14
000010b5: SWAP1
000010b6: SLOAD
000010b7: SWAP1
000010b8: PUSH2 0x0100
000010bb: EXP
000010bc: SWAP1
000010bd: DIV
000010be: PUSH1 0xff
000010c0: AND
000010c1: PUSH1 0xff
000010c3: AND
000010c4: PUSH1 0x0a
000010c6: EXP
000010c7: PUSH3 0x0493e0
000010cb: MUL
000010cc: PUSH1 0x40
000010ce: MLOAD
000010cf: DUP4
000010d0: PUSH4 0xffffffff
000010d5: AND
000010d6: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000010f4: MUL
000010f5: DUP2
000010f6: MSTORE
000010f7: PUSH1 0x04
000010f9: ADD
000010fa: DUP1
000010fb: DUP4
000010fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001111: AND
00001112: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001127: AND
00001128: DUP2
00001129: MSTORE
0000112a: PUSH1 0x20
0000112c: ADD
0000112d: DUP3
0000112e: DUP2
0000112f: MSTORE
00001130: PUSH1 0x20
00001132: ADD
00001133: SWAP3
00001134: POP
00001135: POP
00001136: POP
00001137: PUSH1 0x20
00001139: PUSH1 0x40
0000113b: MLOAD
0000113c: DUP1
0000113d: DUP4
0000113e: SUB
0000113f: DUP2
00001140: PUSH1 0x00
00001142: DUP8
00001143: DUP1
00001144: EXTCODESIZE
00001145: ISZERO
00001146: DUP1
00001147: ISZERO
00001148: PUSH2 0x1150
0000114b: JUMPI
0000114c: PUSH1 0x00
0000114e: DUP1
0000114f: REVERT
00001150: JUMPDEST
00001151: POP
00001152: GAS
00001153: CALL
00001154: ISZERO
00001155: DUP1
00001156: ISZERO
00001157: PUSH2 0x1164
0000115a: JUMPI
0000115b: RETURNDATASIZE
0000115c: PUSH1 0x00
0000115e: DUP1
0000115f: RETURNDATACOPY
00001160: RETURNDATASIZE
00001161: PUSH1 0x00
00001163: REVERT
00001164: JUMPDEST
00001165: POP
00001166: POP
00001167: POP
00001168: POP
00001169: PUSH1 0x40
0000116b: MLOAD
0000116c: RETURNDATASIZE
0000116d: PUSH1 0x20
0000116f: DUP2
00001170: LT
00001171: ISZERO
00001172: PUSH2 0x117a
00001175: JUMPI
00001176: PUSH1 0x00
00001178: DUP1
00001179: REVERT
0000117a: JUMPDEST
0000117b: DUP2
0000117c: ADD
0000117d: SWAP1
0000117e: DUP1
0000117f: DUP1
00001180: MLOAD
00001181: SWAP1
00001182: PUSH1 0x20
00001184: ADD
00001185: SWAP1
00001186: SWAP3
00001187: SWAP2
00001188: SWAP1
00001189: POP
0000118a: POP
0000118b: POP
0000118c: POP
0000118d: PUSH1 0x01
0000118f: PUSH1 0x00
00001191: SWAP1
00001192: SLOAD
00001193: SWAP1
00001194: PUSH2 0x0100
00001197: EXP
00001198: SWAP1
00001199: DIV
0000119a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011af: AND
000011b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011c5: AND
000011c6: PUSH4 0x40c10f19
000011cb: PUSH1 0x0d
000011cd: PUSH1 0x00
000011cf: SWAP1
000011d0: SLOAD
000011d1: SWAP1
000011d2: PUSH2 0x0100
000011d5: EXP
000011d6: SWAP1
000011d7: DIV
000011d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ed: AND
000011ee: PUSH1 0x00
000011f0: PUSH1 0x14
000011f2: SWAP1
000011f3: SLOAD
000011f4: SWAP1
000011f5: PUSH2 0x0100
000011f8: EXP
000011f9: SWAP1
000011fa: DIV
000011fb: PUSH1 0xff
000011fd: AND
000011fe: PUSH1 0xff
00001200: AND
00001201: PUSH1 0x0a
00001203: EXP
00001204: PUSH3 0x03d090
00001208: MUL
00001209: PUSH1 0x40
0000120b: MLOAD
0000120c: DUP4
0000120d: PUSH4 0xffffffff
00001212: AND
00001213: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001231: MUL
00001232: DUP2
00001233: MSTORE
00001234: PUSH1 0x04
00001236: ADD
00001237: DUP1
00001238: DUP4
00001239: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000124e: AND
0000124f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001264: AND
00001265: DUP2
00001266: MSTORE
00001267: PUSH1 0x20
00001269: ADD
0000126a: DUP3
0000126b: DUP2
0000126c: MSTORE
0000126d: PUSH1 0x20
0000126f: ADD
00001270: SWAP3
00001271: POP
00001272: POP
00001273: POP
00001274: PUSH1 0x20
00001276: PUSH1 0x40
00001278: MLOAD
00001279: DUP1
0000127a: DUP4
0000127b: SUB
0000127c: DUP2
0000127d: PUSH1 0x00
0000127f: DUP8
00001280: DUP1
00001281: EXTCODESIZE
00001282: ISZERO
00001283: DUP1
00001284: ISZERO
00001285: PUSH2 0x128d
00001288: JUMPI
00001289: PUSH1 0x00
0000128b: DUP1
0000128c: REVERT
0000128d: JUMPDEST
0000128e: POP
0000128f: GAS
00001290: CALL
00001291: ISZERO
00001292: DUP1
00001293: ISZERO
00001294: PUSH2 0x12a1
00001297: JUMPI
00001298: RETURNDATASIZE
00001299: PUSH1 0x00
0000129b: DUP1
0000129c: RETURNDATACOPY
0000129d: RETURNDATASIZE
0000129e: PUSH1 0x00
000012a0: REVERT
000012a1: JUMPDEST
000012a2: POP
000012a3: POP
000012a4: POP
000012a5: POP
000012a6: PUSH1 0x40
000012a8: MLOAD
000012a9: RETURNDATASIZE
000012aa: PUSH1 0x20
000012ac: DUP2
000012ad: LT
000012ae: ISZERO
000012af: PUSH2 0x12b7
000012b2: JUMPI
000012b3: PUSH1 0x00
000012b5: DUP1
000012b6: REVERT
000012b7: JUMPDEST
000012b8: DUP2
000012b9: ADD
000012ba: SWAP1
000012bb: DUP1
000012bc: DUP1
000012bd: MLOAD
000012be: SWAP1
000012bf: PUSH1 0x20
000012c1: ADD
000012c2: SWAP1
000012c3: SWAP3
000012c4: SWAP2
000012c5: SWAP1
000012c6: POP
000012c7: POP
000012c8: POP
000012c9: POP
000012ca: PUSH1 0x01
000012cc: PUSH1 0x00
000012ce: SWAP1
000012cf: SLOAD
000012d0: SWAP1
000012d1: PUSH2 0x0100
000012d4: EXP
000012d5: SWAP1
000012d6: DIV
000012d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ec: AND
000012ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001302: AND
00001303: PUSH4 0x40c10f19
00001308: PUSH1 0x0e
0000130a: PUSH1 0x00
0000130c: SWAP1
0000130d: SLOAD
0000130e: SWAP1
0000130f: PUSH2 0x0100
00001312: EXP
00001313: SWAP1
00001314: DIV
00001315: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000132a: AND
0000132b: PUSH1 0x00
0000132d: PUSH1 0x14
0000132f: SWAP1
00001330: SLOAD
00001331: SWAP1
00001332: PUSH2 0x0100
00001335: EXP
00001336: SWAP1
00001337: DIV
00001338: PUSH1 0xff
0000133a: AND
0000133b: PUSH1 0xff
0000133d: AND
0000133e: PUSH1 0x0a
00001340: EXP
00001341: PUSH3 0x0249f0
00001345: MUL
00001346: PUSH1 0x40
00001348: MLOAD
00001349: DUP4
0000134a: PUSH4 0xffffffff
0000134f: AND
00001350: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000136e: MUL
0000136f: DUP2
00001370: MSTORE
00001371: PUSH1 0x04
00001373: ADD
00001374: DUP1
00001375: DUP4
00001376: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000138b: AND
0000138c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013a1: AND
000013a2: DUP2
000013a3: MSTORE
000013a4: PUSH1 0x20
000013a6: ADD
000013a7: DUP3
000013a8: DUP2
000013a9: MSTORE
000013aa: PUSH1 0x20
000013ac: ADD
000013ad: SWAP3
000013ae: POP
000013af: POP
000013b0: POP
000013b1: PUSH1 0x20
000013b3: PUSH1 0x40
000013b5: MLOAD
000013b6: DUP1
000013b7: DUP4
000013b8: SUB
000013b9: DUP2
000013ba: PUSH1 0x00
000013bc: DUP8
000013bd: DUP1
000013be: EXTCODESIZE
000013bf: ISZERO
000013c0: DUP1
000013c1: ISZERO
000013c2: PUSH2 0x13ca
000013c5: JUMPI
000013c6: PUSH1 0x00
000013c8: DUP1
000013c9: REVERT
000013ca: JUMPDEST
000013cb: POP
000013cc: GAS
000013cd: CALL
000013ce: ISZERO
000013cf: DUP1
000013d0: ISZERO
000013d1: PUSH2 0x13de
000013d4: JUMPI
000013d5: RETURNDATASIZE
000013d6: PUSH1 0x00
000013d8: DUP1
000013d9: RETURNDATACOPY
000013da: RETURNDATASIZE
000013db: PUSH1 0x00
000013dd: REVERT
000013de: JUMPDEST
000013df: POP
000013e0: POP
000013e1: POP
000013e2: POP
000013e3: PUSH1 0x40
000013e5: MLOAD
000013e6: RETURNDATASIZE
000013e7: PUSH1 0x20
000013e9: DUP2
000013ea: LT
000013eb: ISZERO
000013ec: PUSH2 0x13f4
000013ef: JUMPI
000013f0: PUSH1 0x00
000013f2: DUP1
000013f3: REVERT
000013f4: JUMPDEST
000013f5: DUP2
000013f6: ADD
000013f7: SWAP1
000013f8: DUP1
000013f9: DUP1
000013fa: MLOAD
000013fb: SWAP1
000013fc: PUSH1 0x20
000013fe: ADD
000013ff: SWAP1
00001400: SWAP3
00001401: SWAP2
00001402: SWAP1
00001403: POP
00001404: POP
00001405: POP
00001406: POP
00001407: PUSH1 0x01
00001409: PUSH1 0x00
0000140b: SWAP1
0000140c: SLOAD
0000140d: SWAP1
0000140e: PUSH2 0x0100
00001411: EXP
00001412: SWAP1
00001413: DIV
00001414: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001429: AND
0000142a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000143f: AND
00001440: PUSH4 0x40c10f19
00001445: PUSH1 0x0f
00001447: PUSH1 0x00
00001449: SWAP1
0000144a: SLOAD
0000144b: SWAP1
0000144c: PUSH2 0x0100
0000144f: EXP
00001450: SWAP1
00001451: DIV
00001452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001467: AND
00001468: PUSH1 0x00
0000146a: PUSH1 0x14
0000146c: SWAP1
0000146d: SLOAD
0000146e: SWAP1
0000146f: PUSH2 0x0100
00001472: EXP
00001473: SWAP1
00001474: DIV
00001475: PUSH1 0xff
00001477: AND
00001478: PUSH1 0xff
0000147a: AND
0000147b: PUSH1 0x0a
0000147d: EXP
0000147e: PUSH3 0x0186a0
00001482: MUL
00001483: PUSH1 0x40
00001485: MLOAD
00001486: DUP4
00001487: PUSH4 0xffffffff
0000148c: AND
0000148d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000014ab: MUL
000014ac: DUP2
000014ad: MSTORE
000014ae: PUSH1 0x04
000014b0: ADD
000014b1: DUP1
000014b2: DUP4
000014b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014c8: AND
000014c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014de: AND
000014df: DUP2
000014e0: MSTORE
000014e1: PUSH1 0x20
000014e3: ADD
000014e4: DUP3
000014e5: DUP2
000014e6: MSTORE
000014e7: PUSH1 0x20
000014e9: ADD
000014ea: SWAP3
000014eb: POP
000014ec: POP
000014ed: POP
000014ee: PUSH1 0x20
000014f0: PUSH1 0x40
000014f2: MLOAD
000014f3: DUP1
000014f4: DUP4
000014f5: SUB
000014f6: DUP2
000014f7: PUSH1 0x00
000014f9: DUP8
000014fa: DUP1
000014fb: EXTCODESIZE
000014fc: ISZERO
000014fd: DUP1
000014fe: ISZERO
000014ff: PUSH2 0x1507
00001502: JUMPI
00001503: PUSH1 0x00
00001505: DUP1
00001506: REVERT
00001507: JUMPDEST
00001508: POP
00001509: GAS
0000150a: CALL
0000150b: ISZERO
0000150c: DUP1
0000150d: ISZERO
0000150e: PUSH2 0x151b
00001511: JUMPI
00001512: RETURNDATASIZE
00001513: PUSH1 0x00
00001515: DUP1
00001516: RETURNDATACOPY
00001517: RETURNDATASIZE
00001518: PUSH1 0x00
0000151a: REVERT
0000151b: JUMPDEST
0000151c: POP
0000151d: POP
0000151e: POP
0000151f: POP
00001520: PUSH1 0x40
00001522: MLOAD
00001523: RETURNDATASIZE
00001524: PUSH1 0x20
00001526: DUP2
00001527: LT
00001528: ISZERO
00001529: PUSH2 0x1531
0000152c: JUMPI
0000152d: PUSH1 0x00
0000152f: DUP1
00001530: REVERT
00001531: JUMPDEST
00001532: DUP2
00001533: ADD
00001534: SWAP1
00001535: DUP1
00001536: DUP1
00001537: MLOAD
00001538: SWAP1
00001539: PUSH1 0x20
0000153b: ADD
0000153c: SWAP1
0000153d: SWAP3
0000153e: SWAP2
0000153f: SWAP1
00001540: POP
00001541: POP
00001542: POP
00001543: POP
00001544: PUSH1 0x01
00001546: PUSH1 0x00
00001548: SWAP1
00001549: SLOAD
0000154a: SWAP1
0000154b: PUSH2 0x0100
0000154e: EXP
0000154f: SWAP1
00001550: DIV
00001551: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001566: AND
00001567: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000157c: AND
0000157d: PUSH4 0x40c10f19
00001582: PUSH1 0x10
00001584: PUSH1 0x00
00001586: SWAP1
00001587: SLOAD
00001588: SWAP1
00001589: PUSH2 0x0100
0000158c: EXP
0000158d: SWAP1
0000158e: DIV
0000158f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015a4: AND
000015a5: PUSH1 0x00
000015a7: PUSH1 0x14
000015a9: SWAP1
000015aa: SLOAD
000015ab: SWAP1
000015ac: PUSH2 0x0100
000015af: EXP
000015b0: SWAP1
000015b1: DIV
000015b2: PUSH1 0xff
000015b4: AND
000015b5: PUSH1 0xff
000015b7: AND
000015b8: PUSH1 0x0a
000015ba: EXP
000015bb: PUSH3 0x0186a0
000015bf: MUL
000015c0: PUSH1 0x40
000015c2: MLOAD
000015c3: DUP4
000015c4: PUSH4 0xffffffff
000015c9: AND
000015ca: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000015e8: MUL
000015e9: DUP2
000015ea: MSTORE
000015eb: PUSH1 0x04
000015ed: ADD
000015ee: DUP1
000015ef: DUP4
000015f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001605: AND
00001606: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000161b: AND
0000161c: DUP2
0000161d: MSTORE
0000161e: PUSH1 0x20
00001620: ADD
00001621: DUP3
00001622: DUP2
00001623: MSTORE
00001624: PUSH1 0x20
00001626: ADD
00001627: SWAP3
00001628: POP
00001629: POP
0000162a: POP
0000162b: PUSH1 0x20
0000162d: PUSH1 0x40
0000162f: MLOAD
00001630: DUP1
00001631: DUP4
00001632: SUB
00001633: DUP2
00001634: PUSH1 0x00
00001636: DUP8
00001637: DUP1
00001638: EXTCODESIZE
00001639: ISZERO
0000163a: DUP1
0000163b: ISZERO
0000163c: PUSH2 0x1644
0000163f: JUMPI
00001640: PUSH1 0x00
00001642: DUP1
00001643: REVERT
00001644: JUMPDEST
00001645: POP
00001646: GAS
00001647: CALL
00001648: ISZERO
00001649: DUP1
0000164a: ISZERO
0000164b: PUSH2 0x1658
0000164e: JUMPI
0000164f: RETURNDATASIZE
00001650: PUSH1 0x00
00001652: DUP1
00001653: RETURNDATACOPY
00001654: RETURNDATASIZE
00001655: PUSH1 0x00
00001657: REVERT
00001658: JUMPDEST
00001659: POP
0000165a: POP
0000165b: POP
0000165c: POP
0000165d: PUSH1 0x40
0000165f: MLOAD
00001660: RETURNDATASIZE
00001661: PUSH1 0x20
00001663: DUP2
00001664: LT
00001665: ISZERO
00001666: PUSH2 0x166e
00001669: JUMPI
0000166a: PUSH1 0x00
0000166c: DUP1
0000166d: REVERT
0000166e: JUMPDEST
0000166f: DUP2
00001670: ADD
00001671: SWAP1
00001672: DUP1
00001673: DUP1
00001674: MLOAD
00001675: SWAP1
00001676: PUSH1 0x20
00001678: ADD
00001679: SWAP1
0000167a: SWAP3
0000167b: SWAP2
0000167c: SWAP1
0000167d: POP
0000167e: POP
0000167f: POP
00001680: POP
00001681: PUSH1 0x01
00001683: PUSH1 0x06
00001685: PUSH1 0x00
00001687: PUSH2 0x0100
0000168a: EXP
0000168b: DUP2
0000168c: SLOAD
0000168d: DUP2
0000168e: PUSH1 0xff
00001690: MUL
00001691: NOT
00001692: AND
00001693: SWAP1
00001694: DUP4
00001695: ISZERO
00001696: ISZERO
00001697: MUL
00001698: OR
00001699: SWAP1
0000169a: SSTORE
0000169b: POP
0000169c: JUMP
0000169d: JUMPDEST
0000169e: PUSH1 0x00
000016a0: PUSH1 0x01
000016a2: PUSH1 0x02
000016a4: DUP2
000016a5: GT
000016a6: ISZERO
000016a7: PUSH2 0x16ac
000016aa: JUMPI
000016ab: INVALID
000016ac: JUMPDEST
000016ad: PUSH1 0x08
000016af: PUSH1 0x00
000016b1: SWAP1
000016b2: SLOAD
000016b3: SWAP1
000016b4: PUSH2 0x0100
000016b7: EXP
000016b8: SWAP1
000016b9: DIV
000016ba: PUSH1 0xff
000016bc: AND
000016bd: PUSH1 0x02
000016bf: DUP2
000016c0: GT
000016c1: ISZERO
000016c2: PUSH2 0x16c7
000016c5: JUMPI
000016c6: INVALID
000016c7: JUMPDEST
000016c8: EQ
000016c9: ISZERO
000016ca: ISZERO
000016cb: PUSH2 0x16d3
000016ce: JUMPI
000016cf: PUSH1 0x00
000016d1: DUP1
000016d2: REVERT
000016d3: JUMPDEST
000016d4: PUSH1 0x09
000016d6: PUSH1 0x00
000016d8: CALLER
000016d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016ee: AND
000016ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001704: AND
00001705: DUP2
00001706: MSTORE
00001707: PUSH1 0x20
00001709: ADD
0000170a: SWAP1
0000170b: DUP2
0000170c: MSTORE
0000170d: PUSH1 0x20
0000170f: ADD
00001710: PUSH1 0x00
00001712: KECCAK256
00001713: SLOAD
00001714: SWAP1
00001715: POP
00001716: PUSH1 0x00
00001718: PUSH1 0x09
0000171a: PUSH1 0x00
0000171c: CALLER
0000171d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001732: AND
00001733: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001748: AND
00001749: DUP2
0000174a: MSTORE
0000174b: PUSH1 0x20
0000174d: ADD
0000174e: SWAP1
0000174f: DUP2
00001750: MSTORE
00001751: PUSH1 0x20
00001753: ADD
00001754: PUSH1 0x00
00001756: KECCAK256
00001757: DUP2
00001758: SWAP1
00001759: SSTORE
0000175a: POP
0000175b: CALLER
0000175c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001771: AND
00001772: PUSH2 0x08fc
00001775: DUP3
00001776: SWAP1
00001777: DUP2
00001778: ISZERO
00001779: MUL
0000177a: SWAP1
0000177b: PUSH1 0x40
0000177d: MLOAD
0000177e: PUSH1 0x00
00001780: PUSH1 0x40
00001782: MLOAD
00001783: DUP1
00001784: DUP4
00001785: SUB
00001786: DUP2
00001787: DUP6
00001788: DUP9
00001789: DUP9
0000178a: CALL
0000178b: SWAP4
0000178c: POP
0000178d: POP
0000178e: POP
0000178f: POP
00001790: ISZERO
00001791: DUP1
00001792: ISZERO
00001793: PUSH2 0x17a0
00001796: JUMPI
00001797: RETURNDATASIZE
00001798: PUSH1 0x00
0000179a: DUP1
0000179b: RETURNDATACOPY
0000179c: RETURNDATASIZE
0000179d: PUSH1 0x00
0000179f: REVERT
000017a0: JUMPDEST
000017a1: POP
000017a2: POP
000017a3: JUMP
000017a4: JUMPDEST
000017a5: PUSH1 0x10
000017a7: PUSH1 0x00
000017a9: SWAP1
000017aa: SLOAD
000017ab: SWAP1
000017ac: PUSH2 0x0100
000017af: EXP
000017b0: SWAP1
000017b1: DIV
000017b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017c7: AND
000017c8: DUP2
000017c9: JUMP
000017ca: JUMPDEST
000017cb: PUSH1 0x00
000017cd: DUP1
000017ce: SWAP1
000017cf: SLOAD
000017d0: SWAP1
000017d1: PUSH2 0x0100
000017d4: EXP
000017d5: SWAP1
000017d6: DIV
000017d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017ec: AND
000017ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001802: AND
00001803: CALLER
00001804: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001819: AND
0000181a: EQ
0000181b: ISZERO
0000181c: ISZERO
0000181d: PUSH2 0x1825
00001820: JUMPI
00001821: PUSH1 0x00
00001823: DUP1
00001824: REVERT
00001825: JUMPDEST
00001826: PUSH1 0x00
00001828: PUSH1 0x02
0000182a: DUP2
0000182b: GT
0000182c: ISZERO
0000182d: PUSH2 0x1832
00001830: JUMPI
00001831: INVALID
00001832: JUMPDEST
00001833: PUSH1 0x08
00001835: PUSH1 0x00
00001837: SWAP1
00001838: SLOAD
00001839: SWAP1
0000183a: PUSH2 0x0100
0000183d: EXP
0000183e: SWAP1
0000183f: DIV
00001840: PUSH1 0xff
00001842: AND
00001843: PUSH1 0x02
00001845: DUP2
00001846: GT
00001847: ISZERO
00001848: PUSH2 0x184d
0000184b: JUMPI
0000184c: INVALID
0000184d: JUMPDEST
0000184e: EQ
0000184f: DUP1
00001850: ISZERO
00001851: PUSH2 0x1873
00001854: JUMPI
00001855: POP
00001856: PUSH1 0x07
00001858: SLOAD
00001859: ADDRESS
0000185a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000186f: AND
00001870: BALANCE
00001871: LT
00001872: ISZERO
00001873: JUMPDEST
00001874: ISZERO
00001875: ISZERO
00001876: PUSH2 0x187e
00001879: JUMPI
0000187a: PUSH1 0x00
0000187c: DUP1
0000187d: REVERT
0000187e: JUMPDEST
0000187f: PUSH1 0x02
00001881: PUSH1 0x08
00001883: PUSH1 0x00
00001885: PUSH2 0x0100
00001888: EXP
00001889: DUP2
0000188a: SLOAD
0000188b: DUP2
0000188c: PUSH1 0xff
0000188e: MUL
0000188f: NOT
00001890: AND
00001891: SWAP1
00001892: DUP4
00001893: PUSH1 0x02
00001895: DUP2
00001896: GT
00001897: ISZERO
00001898: PUSH2 0x189d
0000189b: JUMPI
0000189c: INVALID
0000189d: JUMPDEST
0000189e: MUL
0000189f: OR
000018a0: SWAP1
000018a1: SSTORE
000018a2: POP
000018a3: PUSH32 0x088672c3a6e342f7cd94a65ba63b79df24a8973927b4d05d803c44bbf787d12f
000018c4: PUSH1 0x40
000018c6: MLOAD
000018c7: PUSH1 0x40
000018c9: MLOAD
000018ca: DUP1
000018cb: SWAP2
000018cc: SUB
000018cd: SWAP1
000018ce: LOG1
000018cf: PUSH1 0x02
000018d1: PUSH1 0x00
000018d3: SWAP1
000018d4: SLOAD
000018d5: SWAP1
000018d6: PUSH2 0x0100
000018d9: EXP
000018da: SWAP1
000018db: DIV
000018dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018f1: AND
000018f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001907: AND
00001908: PUSH2 0x08fc
0000190b: ADDRESS
0000190c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001921: AND
00001922: BALANCE
00001923: SWAP1
00001924: DUP2
00001925: ISZERO
00001926: MUL
00001927: SWAP1
00001928: PUSH1 0x40
0000192a: MLOAD
0000192b: PUSH1 0x00
0000192d: PUSH1 0x40
0000192f: MLOAD
00001930: DUP1
00001931: DUP4
00001932: SUB
00001933: DUP2
00001934: DUP6
00001935: DUP9
00001936: DUP9
00001937: CALL
00001938: SWAP4
00001939: POP
0000193a: POP
0000193b: POP
0000193c: POP
0000193d: ISZERO
0000193e: DUP1
0000193f: ISZERO
00001940: PUSH2 0x194d
00001943: JUMPI
00001944: RETURNDATASIZE
00001945: PUSH1 0x00
00001947: DUP1
00001948: RETURNDATACOPY
00001949: RETURNDATASIZE
0000194a: PUSH1 0x00
0000194c: REVERT
0000194d: JUMPDEST
0000194e: POP
0000194f: JUMP
00001950: JUMPDEST
00001951: PUSH1 0x00
00001953: DUP1
00001954: SWAP1
00001955: SLOAD
00001956: SWAP1
00001957: PUSH2 0x0100
0000195a: EXP
0000195b: SWAP1
0000195c: DIV
0000195d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001972: AND
00001973: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001988: AND
00001989: CALLER
0000198a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000199f: AND
000019a0: EQ
000019a1: ISZERO
000019a2: ISZERO
000019a3: PUSH2 0x19ab
000019a6: JUMPI
000019a7: PUSH1 0x00
000019a9: DUP1
000019aa: REVERT
000019ab: JUMPDEST
000019ac: PUSH1 0x07
000019ae: SLOAD
000019af: ADDRESS
000019b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019c5: AND
000019c6: BALANCE
000019c7: LT
000019c8: DUP1
000019c9: ISZERO
000019ca: PUSH2 0x19f8
000019cd: JUMPI
000019ce: POP
000019cf: PUSH1 0x00
000019d1: PUSH1 0x02
000019d3: DUP2
000019d4: GT
000019d5: ISZERO
000019d6: PUSH2 0x19db
000019d9: JUMPI
000019da: INVALID
000019db: JUMPDEST
000019dc: PUSH1 0x08
000019de: PUSH1 0x00
000019e0: SWAP1
000019e1: SLOAD
000019e2: SWAP1
000019e3: PUSH2 0x0100
000019e6: EXP
000019e7: SWAP1
000019e8: DIV
000019e9: PUSH1 0xff
000019eb: AND
000019ec: PUSH1 0x02
000019ee: DUP2
000019ef: GT
000019f0: ISZERO
000019f1: PUSH2 0x19f6
000019f4: JUMPI
000019f5: INVALID
000019f6: JUMPDEST
000019f7: EQ
000019f8: JUMPDEST
000019f9: DUP1
000019fa: ISZERO
000019fb: PUSH2 0x1a05
000019fe: JUMPI
000019ff: POP
00001a00: PUSH1 0x05
00001a02: SLOAD
00001a03: TIMESTAMP
00001a04: GT
00001a05: JUMPDEST
00001a06: ISZERO
00001a07: ISZERO
00001a08: PUSH2 0x1a10
00001a0b: JUMPI
00001a0c: PUSH1 0x00
00001a0e: DUP1
00001a0f: REVERT
00001a10: JUMPDEST
00001a11: PUSH1 0x01
00001a13: PUSH1 0x08
00001a15: PUSH1 0x00
00001a17: PUSH2 0x0100
00001a1a: EXP
00001a1b: DUP2
00001a1c: SLOAD
00001a1d: DUP2
00001a1e: PUSH1 0xff
00001a20: MUL
00001a21: NOT
00001a22: AND
00001a23: SWAP1
00001a24: DUP4
00001a25: PUSH1 0x02
00001a27: DUP2
00001a28: GT
00001a29: ISZERO
00001a2a: PUSH2 0x1a2f
00001a2d: JUMPI
00001a2e: INVALID
00001a2f: JUMPDEST
00001a30: MUL
00001a31: OR
00001a32: SWAP1
00001a33: SSTORE
00001a34: POP
00001a35: PUSH32 0x599d8e5a83cffb867d051598c4d70e805d59802d8081c1c7d6dffc5b6aca2b89
00001a56: PUSH1 0x40
00001a58: MLOAD
00001a59: PUSH1 0x40
00001a5b: MLOAD
00001a5c: DUP1
00001a5d: SWAP2
00001a5e: SUB
00001a5f: SWAP1
00001a60: LOG1
00001a61: JUMP
00001a62: JUMPDEST
00001a63: PUSH1 0x00
00001a65: DUP1
00001a66: SWAP1
00001a67: SLOAD
00001a68: SWAP1
00001a69: PUSH2 0x0100
00001a6c: EXP
00001a6d: SWAP1
00001a6e: DIV
00001a6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a84: AND
00001a85: DUP2
00001a86: JUMP
00001a87: JUMPDEST
00001a88: PUSH1 0x00
00001a8a: PUSH1 0x14
00001a8c: SWAP1
00001a8d: SLOAD
00001a8e: SWAP1
00001a8f: PUSH2 0x0100
00001a92: EXP
00001a93: SWAP1
00001a94: DIV
00001a95: PUSH1 0xff
00001a97: AND
00001a98: PUSH1 0xff
00001a9a: AND
00001a9b: PUSH1 0x0a
00001a9d: EXP
00001a9e: PUSH3 0x0493e0
00001aa2: MUL
00001aa3: DUP2
00001aa4: JUMP
00001aa5: JUMPDEST
00001aa6: PUSH1 0x00
00001aa8: PUSH1 0x14
00001aaa: SWAP1
00001aab: SLOAD
00001aac: SWAP1
00001aad: PUSH2 0x0100
00001ab0: EXP
00001ab1: SWAP1
00001ab2: DIV
00001ab3: PUSH1 0xff
00001ab5: AND
00001ab6: PUSH1 0xff
00001ab8: AND
00001ab9: PUSH1 0x0a
00001abb: EXP
00001abc: PUSH3 0x0186a0
00001ac0: MUL
00001ac1: DUP2
00001ac2: JUMP
00001ac3: JUMPDEST
00001ac4: PUSH1 0x00
00001ac6: PUSH1 0x14
00001ac8: SWAP1
00001ac9: SLOAD
00001aca: SWAP1
00001acb: PUSH2 0x0100
00001ace: EXP
00001acf: SWAP1
00001ad0: DIV
00001ad1: PUSH1 0xff
00001ad3: AND
00001ad4: PUSH1 0xff
00001ad6: AND
00001ad7: PUSH1 0x0a
00001ad9: EXP
00001ada: PUSH3 0x0186a0
00001ade: MUL
00001adf: DUP2
00001ae0: JUMP
00001ae1: JUMPDEST
00001ae2: PUSH1 0x04
00001ae4: SLOAD
00001ae5: DUP2
00001ae6: JUMP
00001ae7: JUMPDEST
00001ae8: PUSH1 0x08
00001aea: PUSH1 0x00
00001aec: SWAP1
00001aed: SLOAD
00001aee: SWAP1
00001aef: PUSH2 0x0100
00001af2: EXP
00001af3: SWAP1
00001af4: DIV
00001af5: PUSH1 0xff
00001af7: AND
00001af8: DUP2
00001af9: JUMP
00001afa: JUMPDEST
00001afb: PUSH1 0x00
00001afd: PUSH1 0x14
00001aff: SWAP1
00001b00: SLOAD
00001b01: SWAP1
00001b02: PUSH2 0x0100
00001b05: EXP
00001b06: SWAP1
00001b07: DIV
00001b08: PUSH1 0xff
00001b0a: AND
00001b0b: PUSH1 0xff
00001b0d: AND
00001b0e: PUSH1 0x0a
00001b10: EXP
00001b11: PUSH3 0x03d090
00001b15: MUL
00001b16: DUP2
00001b17: JUMP
00001b18: JUMPDEST
00001b19: PUSH1 0x06
00001b1b: PUSH1 0x00
00001b1d: SWAP1
00001b1e: SLOAD
00001b1f: SWAP1
00001b20: PUSH2 0x0100
00001b23: EXP
00001b24: SWAP1
00001b25: DIV
00001b26: PUSH1 0xff
00001b28: AND
00001b29: DUP2
00001b2a: JUMP
00001b2b: JUMPDEST
00001b2c: PUSH1 0x0f
00001b2e: PUSH1 0x00
00001b30: SWAP1
00001b31: SLOAD
00001b32: SWAP1
00001b33: PUSH2 0x0100
00001b36: EXP
00001b37: SWAP1
00001b38: DIV
00001b39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b4e: AND
00001b4f: DUP2
00001b50: JUMP
00001b51: JUMPDEST
00001b52: PUSH1 0x0b
00001b54: PUSH1 0x00
00001b56: SWAP1
00001b57: SLOAD
00001b58: SWAP1
00001b59: PUSH2 0x0100
00001b5c: EXP
00001b5d: SWAP1
00001b5e: DIV
00001b5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b74: AND
00001b75: DUP2
00001b76: JUMP
00001b77: JUMPDEST
00001b78: PUSH1 0x00
00001b7a: PUSH1 0x14
00001b7c: SWAP1
00001b7d: SLOAD
00001b7e: SWAP1
00001b7f: PUSH2 0x0100
00001b82: EXP
00001b83: SWAP1
00001b84: DIV
00001b85: PUSH1 0xff
00001b87: AND
00001b88: PUSH1 0xff
00001b8a: AND
00001b8b: PUSH1 0x0a
00001b8d: EXP
00001b8e: PUSH3 0x0249f0
00001b92: MUL
00001b93: DUP2
00001b94: JUMP
00001b95: JUMPDEST
00001b96: PUSH1 0x05
00001b98: SLOAD
00001b99: DUP2
00001b9a: JUMP
00001b9b: JUMPDEST
00001b9c: PUSH1 0x00
00001b9e: PUSH1 0x14
00001ba0: SWAP1
00001ba1: SLOAD
00001ba2: SWAP1
00001ba3: PUSH2 0x0100
00001ba6: EXP
00001ba7: SWAP1
00001ba8: DIV
00001ba9: PUSH1 0xff
00001bab: AND
00001bac: PUSH1 0xff
00001bae: AND
00001baf: PUSH1 0x0a
00001bb1: EXP
00001bb2: PUSH3 0x07a120
00001bb6: MUL
00001bb7: DUP2
00001bb8: JUMP
00001bb9: JUMPDEST
00001bba: PUSH1 0x00
00001bbc: DUP1
00001bbd: SWAP1
00001bbe: SLOAD
00001bbf: SWAP1
00001bc0: PUSH2 0x0100
00001bc3: EXP
00001bc4: SWAP1
00001bc5: DIV
00001bc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bdb: AND
00001bdc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf1: AND
00001bf2: CALLER
00001bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c08: AND
00001c09: EQ
00001c0a: ISZERO
00001c0b: ISZERO
00001c0c: PUSH2 0x1c14
00001c0f: JUMPI
00001c10: PUSH1 0x00
00001c12: DUP1
00001c13: REVERT
00001c14: JUMPDEST
00001c15: PUSH1 0x00
00001c17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c2c: AND
00001c2d: DUP2
00001c2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c43: AND
00001c44: EQ
00001c45: ISZERO
00001c46: ISZERO
00001c47: ISZERO
00001c48: PUSH2 0x1c50
00001c4b: JUMPI
00001c4c: PUSH1 0x00
00001c4e: DUP1
00001c4f: REVERT
00001c50: JUMPDEST
00001c51: DUP1
00001c52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c67: AND
00001c68: PUSH1 0x00
00001c6a: DUP1
00001c6b: SWAP1
00001c6c: SLOAD
00001c6d: SWAP1
00001c6e: PUSH2 0x0100
00001c71: EXP
00001c72: SWAP1
00001c73: DIV
00001c74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c89: AND
00001c8a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c9f: AND
00001ca0: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001cc1: PUSH1 0x40
00001cc3: MLOAD
00001cc4: PUSH1 0x40
00001cc6: MLOAD
00001cc7: DUP1
00001cc8: SWAP2
00001cc9: SUB
00001cca: SWAP1
00001ccb: LOG3
00001ccc: DUP1
00001ccd: PUSH1 0x00
00001ccf: DUP1
00001cd0: PUSH2 0x0100
00001cd3: EXP
00001cd4: DUP2
00001cd5: SLOAD
00001cd6: DUP2
00001cd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cec: MUL
00001ced: NOT
00001cee: AND
00001cef: SWAP1
00001cf0: DUP4
00001cf1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d06: AND
00001d07: MUL
00001d08: OR
00001d09: SWAP1
00001d0a: SSTORE
00001d0b: POP
00001d0c: POP
00001d0d: JUMP
00001d0e: JUMPDEST
00001d0f: PUSH1 0x0c
00001d11: PUSH1 0x00
00001d13: SWAP1
00001d14: SLOAD
00001d15: SWAP1
00001d16: PUSH2 0x0100
00001d19: EXP
00001d1a: SWAP1
00001d1b: DIV
00001d1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d31: AND
00001d32: DUP2
00001d33: JUMP
00001d34: JUMPDEST
00001d35: PUSH1 0x07
00001d37: SLOAD
00001d38: DUP2
00001d39: JUMP
00001d3a: JUMPDEST
00001d3b: PUSH1 0x01
00001d3d: PUSH1 0x00
00001d3f: SWAP1
00001d40: SLOAD
00001d41: SWAP1
00001d42: PUSH2 0x0100
00001d45: EXP
00001d46: SWAP1
00001d47: DIV
00001d48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d5d: AND
00001d5e: DUP2
00001d5f: JUMP
00001d60: JUMPDEST
00001d61: PUSH1 0x00
00001d63: DUP1
00001d64: PUSH1 0x00
00001d66: DUP5
00001d67: EQ
00001d68: ISZERO
00001d69: PUSH2 0x1d75
00001d6c: JUMPI
00001d6d: PUSH1 0x00
00001d6f: SWAP2
00001d70: POP
00001d71: PUSH2 0x1d94
00001d74: JUMP
00001d75: JUMPDEST
00001d76: DUP3
00001d77: DUP5
00001d78: MUL
00001d79: SWAP1
00001d7a: POP
00001d7b: DUP3
00001d7c: DUP5
00001d7d: DUP3
00001d7e: DUP2
00001d7f: ISZERO
00001d80: ISZERO
00001d81: PUSH2 0x1d86
00001d84: JUMPI
00001d85: INVALID
00001d86: JUMPDEST
00001d87: DIV
00001d88: EQ
00001d89: ISZERO
00001d8a: ISZERO
00001d8b: PUSH2 0x1d90
00001d8e: JUMPI
00001d8f: INVALID
00001d90: JUMPDEST
00001d91: DUP1
00001d92: SWAP2
00001d93: POP
00001d94: JUMPDEST
00001d95: POP
00001d96: SWAP3
00001d97: SWAP2
00001d98: POP
00001d99: POP
00001d9a: JUMP
00001d9b: JUMPDEST
00001d9c: PUSH1 0x00
00001d9e: DUP2
00001d9f: DUP4
00001da0: DUP2
00001da1: ISZERO
00001da2: ISZERO
00001da3: PUSH2 0x1da8
00001da6: JUMPI
00001da7: INVALID
00001da8: JUMPDEST
00001da9: DIV
00001daa: SWAP1
00001dab: POP
00001dac: SWAP3
00001dad: SWAP2
00001dae: POP
00001daf: POP
00001db0: JUMP
00001db1: JUMPDEST
00001db2: PUSH1 0x00
00001db4: DUP1
00001db5: DUP3
00001db6: DUP5
00001db7: ADD
00001db8: SWAP1
00001db9: POP
00001dba: DUP4
00001dbb: DUP2
00001dbc: LT
00001dbd: ISZERO
00001dbe: ISZERO
00001dbf: ISZERO
00001dc0: PUSH2 0x1dc5
00001dc3: JUMPI
00001dc4: INVALID
00001dc5: JUMPDEST
00001dc6: DUP1
00001dc7: SWAP2
00001dc8: POP
00001dc9: POP
00001dca: SWAP3
00001dcb: SWAP2
00001dcc: POP
00001dcd: POP
00001dce: JUMP
00001dcf: STOP
00001dd0: LOG1
00001dd1: PUSH6 0x627a7a723058
00001dd8: KECCAK256
00001dd9: SWAP7
00001dda: STATICCALL
00001ddb: MCOPY
00001ddc: SIGNEXTEND
00001ddd: EXTCODEHASH
00001dde: UNKNOWN(0xED)
00001ddf: PUSH29

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other codex Refunds do not burn/reclaim tokens, enabling free tokens on refund 85 no
view
evidence_json
{
    "evidence": "refund() only zeroes the ETH balance and transfers ETH back, while createTokens() mints tokens immediately with no linkage to refunds or burns.",
    "locations": [
        "contracts/Contract.sol:603",
        "contracts/Contract.sol:629"
    ],
    "recommendation": "Require token return/burn on refund (e.g., transfer tokens back to a burn address or escrow and burn on refund), or delay minting until refunds are closed/softcap reached. Alternatively, track purchased tokens per contributor and burn them during refunds before sending ETH.",
    "exploit_scenario": "An investor buys during the sale and receives minted tokens. If the softcap is missed and refunds are enabled, the investor calls refund() to get their full ETH contribution back while still retaining the tokens (or transferring them away first). This breaks the sale\u2019s accounting and allows free tokens while draining the refund pool."
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x85c0368066f918b00e8f4882ee9fb96ad845ace9597d2822f5ead717057dcbf1
call_targets: 0x3fd30f3e1fbf4f3ea6bdf3e3bb11826266708869
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x85c0368066f918b00e8f4882ee9fb96ad845ace9597d2822f5ead717057dcbf1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3fd30f3e1fbf4f3ea6bdf3e3bb11826266708869"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1edc5ce0",
            "selector": "0x1edc5ce0",
            "calldata_variants": [
                "0x1edc5ce0",
                "0x1edc5ce00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x27e235e3",
            "selector": "0x27e235e3",
            "calldata_variants": [
                "0x27e235e3",
                "0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2bdd530b",
            "selector": "0x2bdd530b",
            "calldata_variants": [
                "0x2bdd530b",
                "0x2bdd530b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c4e722e",
            "selector": "0x2c4e722e",
            "calldata_variants": [
                "0x2c4e722e",
                "0x2c4e722e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4559b2e8",
            "selector": "0x4559b2e8",
            "calldata_variants": [
                "0x4559b2e8",
                "0x4559b2e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4783c35b",
            "selector": "0x4783c35b",
            "calldata_variants": [
                "0x4783c35b",
                "0x4783c35b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2419,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3100,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3801,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": [
        {
            "pc": 3479,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6147,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6537,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7154,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x85c0368066f918b00e8f4882ee9fb96ad845ace9597d2822f5ead717057dcbf1
call_targets: 0x3fd30f3e1fbf4f3ea6bdf3e3bb11826266708869
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x85c0368066f918b00e8f4882ee9fb96ad845ace9597d2822f5ead717057dcbf1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3fd30f3e1fbf4f3ea6bdf3e3bb11826266708869"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1edc5ce0",
            "selector": "0x1edc5ce0",
            "calldata_variants": [
                "0x1edc5ce0",
                "0x1edc5ce00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x27e235e3",
            "selector": "0x27e235e3",
            "calldata_variants": [
                "0x27e235e3",
                "0x27e235e30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2bdd530b",
            "selector": "0x2bdd530b",
            "calldata_variants": [
                "0x2bdd530b",
                "0x2bdd530b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2c4e722e",
            "selector": "0x2c4e722e",
            "calldata_variants": [
                "0x2c4e722e",
                "0x2c4e722e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4559b2e8",
            "selector": "0x4559b2e8",
            "calldata_variants": [
                "0x4559b2e8",
                "0x4559b2e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4783c35b",
            "selector": "0x4783c35b",
            "calldata_variants": [
                "0x4783c35b",
                "0x4783c35b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2419,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3100,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3801,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [
        {
            "pc": 3479,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6147,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6537,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7154,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 11
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 12
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 12
}