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

Analysis Run

c0d05ecc-5a14-4ce1-9cc4-2b103799055d

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 5:12 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
2
Validated
2
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 2 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
31090 report.consolidate complete 1 / 1 3 months ago
76354 artifact.fetch complete 1 / 3 1 week ago
76355 tool.cast_disasm complete 1 / 3 1 week ago
76356 analysis.bundle complete 1 / 3 1 week ago
76357 capability.graph complete 1 / 3 1 week ago
76358 detector.run complete 1 / 3 1 week ago
76359 validation.fork complete 1 / 3 1 week ago
113563 tool.slither failed 2 / 2 1 week ago

Artifact

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

Slither

tool.slither
Status
failed solc version 0.4.9 is too old for supported toolchain
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1056, in run
    solc_path, solc_meta = _prepare_solc(chosen_version, workspace)
                           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 190, in _prepare_solc
    raise RuntimeError(f"solc version {default_version} is too old for supported toolchain")
RuntimeError: solc version 0.4.9 is too old for supported toolchain

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.
View stderr
[codex:11563] OpenAI Codex v0.77.0 (research preview)
[codex:11563] --------
[codex:11563] workdir: /tmp/codex-multi-kz4snyqc
[codex:11563] model: gpt-5.2-codex
[codex:11563] provider: openai
[codex:11563] approval: never
[codex:11563] sandbox: read-only
[codex:11563] reasoning effort: xhigh
[codex:11563] reasoning summaries: auto
[codex:11563] session id: 019b7a88-fb8a-7112-b2b1-b1a7e5ecdce4
[codex:11563] --------
[codex:11563] user
[codex:11563] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:11563] 
[codex:11563] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:11563] 
[codex:11563] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:11563] - Gas inefficiency, code quality, naming, or best practices
[codex:11563] - Theoretical vulnerabilities without a clear extraction path
[codex:11563] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:11563] - Front-running unless it enables theft beyond MEV
[codex:11563] - DoS, griefing, or issues that don't result in attacker profit
[codex:11563] - Missing events, view function issues, or informational findings
[codex:11563] 
[codex:11563] HIGH-VALUE PATTERNS TO HUNT:
[codex:11563] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:11563] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:11563] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:11563] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:11563] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:11563] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:11563] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:11563] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:11563] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:11563] 
[codex:11563] For each finding, you MUST provide:
[codex:11563] 1. Exact file and line numbers of vulnerable code
[codex:11563] 2. Step-by-step exploit transaction sequence
[codex:11563] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:11563] 
[codex:11563] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:11563] 
[codex:11563] Output MUST be valid JSON matching the provided schema.
[codex:11563] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:11563] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:11563] mcp startup: no servers
[codex:11563] 
[codex:11563] thinking
[codex:11563] **Auditing file contents**
[codex:11563] exec
[codex:11563] /bin/bash -lc ls in /tmp/codex-multi-kz4snyqc succeeded in 5ms:
[codex:11563] AUDIT_BUNDLE.txt
[codex:11563] codex-output-schema.json
[codex:11563] contracts
[codex:11563] exec
[codex:11563] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-kz4snyqc succeeded in 5ms:
[codex:11563] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:11563] 
[codex:11563] ================================================================================
[codex:11563] FILE: contracts/Contract.sol
[codex:11563] ================================================================================
[codex:11563] pragma solidity ^0.4.9;
[codex:11563] 
[codex:11563] contract SafeMath {
[codex:11563]   function safeMul(uint a, uint b) internal returns (uint) {
[codex:11563]     uint c = a * b;
[codex:11563]     assert(a == 0 || c / a == b);
[codex:11563]     return c;
[codex:11563]   }
[codex:11563] 
[codex:11563]   function safeSub(uint a, uint b) internal returns (uint) {
[codex:11563]     assert(b <= a);
[codex:11563]     return a - b;
[codex:11563]   }
[codex:11563] 
[codex:11563]   function safeAdd(uint a, uint b) internal returns (uint) {
[codex:11563] 
[codex:11563] thinking
[codex:11563] **Preparing to audit exploit profit**
[codex:11563] exec
[codex:11563] /bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-multi-kz4snyqc succeeded in 6ms:
[codex:11563]      1	pragma solidity ^0.4.9;
[codex:11563]      2	
[codex:11563]      3	contract SafeMath {
[codex:11563]      4	  function safeMul(uint a, uint b) internal returns (uint) {
[codex:11563]      5	    uint c = a * b;
[codex:11563]      6	    assert(a == 0 || c / a == b);
[codex:11563]      7	    return c;
[codex:11563]      8	  }
[codex:11563]      9	
[codex:11563]     10	  function safeSub(uint a, uint b) internal returns (uint) {
[codex:11563]     11	    assert(b <= a);
[codex:11563]     12	    return a - b;
[codex:11563]     13	  }
[codex:11563]     14	
[codex:11563]     15	  function safeAdd(uint a, uint b) internal returns (uint) {
[codex:11563]     16	    uint c = a + b;
[codex:11563]     17	    assert(c>=a && c>=b);
[codex:11563]     18	    return c;
[codex:11563]     19	  }
[codex:11563]     20	
[codex:11563] 
[codex:11563] 
[codex:11563] 
[codex:11563] thinking
[codex:11563] **Analyzing potential profit exploits in EtherDelta**
[codex:11563] 
[codex:11563] I’m carefully examining EtherDelta’s contract for concrete ways to extract value, focusing on state updates, reentrancy, signature replay, and token-handling quirks. The main realistic exploit involves malicious ERC20 tokens that falsely report successful deposits without transferring tokens, enabling attackers to trade worthless tokens for real ones and withdraw real assets—an internal accounting flaw rather than a direct contract bug but a viable profit path nonetheless. Other investigated avenues like reentrancy or fee rebates seem protected by safe state changes and math checks.
[codex:11563] thinking
[codex:11563] **Evaluating reentrancy and token manipulation impacts**
[codex:11563] 
[codex:11563] I’m exploring reentrancy possibilities via external calls in withdraw and trade functions, especially around the accountLevels contract call during tradeBalances; though admin-set and presumably trusted, it could enable order reentrancy to double-spend fills if misused. The dominant exploit remains the unchecked token transfer where malicious ERC20s credit fake internal balances enabling attackers to exchange worthless tokens for real assets, profiting if counterparties accept trades. Other examined vulnerabilities like rounding or signature issues don’t yield concrete profit paths.
[codex:11563] thinking
[codex:11563] **Summarizing the malicious token deposit vulnerability**
[codex:11563] 
[codex:11563] I’m outlining the key exploit where EtherDelta trusts ERC20 transferFrom return values without verifying actual transfers, allowing attackers with malicious tokens that falsely report success to fake internal balances. This lets them trade worthless tokens for real assets, profiting by draining counterparties who accept these trades. I’m preparing a detailed step-by-step exploit referencing exact contract lines for depositToken, tradeBalances, and withdraw functions to illustrate the concrete profit extraction path.
[codex:11563] exec
[codex:11563] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-kz4snyqc succeeded in 5ms:
[codex:11563] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:11563] 
[codex:11563] thinking
[codex:11563] **Summarizing exploit and recommendations**
[codex:11563] codex
[codex:11563] {"no_findings":false,"summary":"Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.","findings":[{"severity":"high","category":"other","title":"Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets","exploit_scenario":"1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim’s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing.","recommendation":"Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract’s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).","evidence":"depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).","locations":["contracts/Contract.sol:226","contracts/Contract.sol:229","contracts/Contract.sol:230","contracts/Contract.sol:265","contracts/Contract.sol:274","contracts/Contract.sol:277"]}]}
[codex:11563] tokens used
[codex:11563] 27,645
[codex:11563] {"no_findings":false,"summary":"Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.","findings":[{"severity":"high","category":"other","title":"Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets","exploit_scenario":"1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim’s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing.","recommendation":"Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract’s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).","evidence":"depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).","locations":["contracts/Contract.sol:226","contracts/Contract.sol:229","contracts/Contract.sol:230","contracts/Contract.sol:265","contracts/Contract.sol:274","contracts/Contract.sol:277"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T17:12:55.015492+00:00",
        "returncode": 0
    },
    "summary": "Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.",
    "raw_final": {
        "summary": "Found 1 concrete profit path: malicious ERC20s can mint internal balances and drain real assets via trades.",
        "findings": [
            {
                "title": "Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets",
                "category": "other",
                "evidence": "depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:226",
                    "contracts/Contract.sol:229",
                    "contracts/Contract.sol:230",
                    "contracts/Contract.sol:265",
                    "contracts/Contract.sol:274",
                    "contracts/Contract.sol:277"
                ],
                "recommendation": "Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract\u2019s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).",
                "exploit_scenario": "1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim\u2019s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing."
            }
        ],
        "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
3
Total opcodes
4692
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x0138
0000000a: JUMPI
0000000b: PUSH4 0xffffffff
00000010: PUSH1 0xe0
00000012: PUSH1 0x02
00000014: EXP
00000015: PUSH1 0x00
00000017: CALLDATALOAD
00000018: DIV
00000019: AND
0000001a: PUSH4 0x0a19b14a
0000001f: DUP2
00000020: EQ
00000021: PUSH2 0x014d
00000024: JUMPI
00000025: DUP1
00000026: PUSH4 0x0b927666
0000002b: EQ
0000002c: PUSH2 0x0199
0000002f: JUMPI
00000030: DUP1
00000031: PUSH4 0x19774d43
00000036: EQ
00000037: PUSH2 0x01ca
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0x278b8c0e
00000041: EQ
00000042: PUSH2 0x01fb
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0x2e1a7d4d
0000004c: EQ
0000004d: PUSH2 0x0239
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0x338b5dea
00000057: EQ
00000058: PUSH2 0x024e
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0x46be96c3
00000062: EQ
00000063: PUSH2 0x026f
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0x508493bc
0000006d: EQ
0000006e: PUSH2 0x02c7
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0x54d03b5c
00000078: EQ
00000079: PUSH2 0x02fb
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0x57786394
00000083: EQ
00000084: PUSH2 0x0310
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x5e1d7ae4
0000008e: EQ
0000008f: PUSH2 0x0332
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0x65e17c9d
00000099: EQ
0000009a: PUSH2 0x0347
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0x6c86888b
000000a4: EQ
000000a5: PUSH2 0x0373
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0x71ffcb16
000000af: EQ
000000b0: PUSH2 0x03dc
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0x731c2f81
000000ba: EQ
000000bb: PUSH2 0x03fa
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0x8823a9c0
000000c5: EQ
000000c6: PUSH2 0x041c
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0x8f283970
000000d0: EQ
000000d1: PUSH2 0x0431
000000d4: JUMPI
000000d5: DUP1
000000d6: PUSH4 0x9e281a98
000000db: EQ
000000dc: PUSH2 0x044f
000000df: JUMPI
000000e0: DUP1
000000e1: PUSH4 0xbb5f4629
000000e6: EQ
000000e7: PUSH2 0x0470
000000ea: JUMPI
000000eb: DUP1
000000ec: PUSH4 0xc281309e
000000f1: EQ
000000f2: PUSH2 0x04a3
000000f5: JUMPI
000000f6: DUP1
000000f7: PUSH4 0xd0e30db0
000000fc: EQ
000000fd: PUSH2 0x04c5
00000100: JUMPI
00000101: DUP1
00000102: PUSH4 0xe8f6bc2e
00000107: EQ
00000108: PUSH2 0x04cf
0000010b: JUMPI
0000010c: DUP1
0000010d: PUSH4 0xf3412942
00000112: EQ
00000113: PUSH2 0x04ed
00000116: JUMPI
00000117: DUP1
00000118: PUSH4 0xf7888aec
0000011d: EQ
0000011e: PUSH2 0x0519
00000121: JUMPI
00000122: DUP1
00000123: PUSH4 0xf851a440
00000128: EQ
00000129: PUSH2 0x054d
0000012c: JUMPI
0000012d: DUP1
0000012e: PUSH4 0xfb6e155f
00000133: EQ
00000134: PUSH2 0x0579
00000137: JUMPI
00000138: JUMPDEST
00000139: CALLVALUE
0000013a: ISZERO
0000013b: PUSH2 0x0140
0000013e: JUMPI
0000013f: INVALID
00000140: JUMPDEST
00000141: PUSH2 0x014b
00000144: JUMPDEST
00000145: PUSH2 0x0000
00000148: JUMP
00000149: JUMPDEST
0000014a: JUMP
0000014b: JUMPDEST
0000014c: STOP
0000014d: JUMPDEST
0000014e: CALLVALUE
0000014f: ISZERO
00000150: PUSH2 0x0155
00000153: JUMPI
00000154: INVALID
00000155: JUMPDEST
00000156: PUSH2 0x014b
00000159: PUSH1 0x01
0000015b: PUSH1 0xa0
0000015d: PUSH1 0x02
0000015f: EXP
00000160: SUB
00000161: PUSH1 0x04
00000163: CALLDATALOAD
00000164: DUP2
00000165: AND
00000166: SWAP1
00000167: PUSH1 0x24
00000169: CALLDATALOAD
0000016a: SWAP1
0000016b: PUSH1 0x44
0000016d: CALLDATALOAD
0000016e: DUP2
0000016f: AND
00000170: SWAP1
00000171: PUSH1 0x64
00000173: CALLDATALOAD
00000174: SWAP1
00000175: PUSH1 0x84
00000177: CALLDATALOAD
00000178: SWAP1
00000179: PUSH1 0xa4
0000017b: CALLDATALOAD
0000017c: SWAP1
0000017d: PUSH1 0xc4
0000017f: CALLDATALOAD
00000180: AND
00000181: PUSH1 0xff
00000183: PUSH1 0xe4
00000185: CALLDATALOAD
00000186: AND
00000187: PUSH2 0x0104
0000018a: CALLDATALOAD
0000018b: PUSH2 0x0124
0000018e: CALLDATALOAD
0000018f: PUSH2 0x0144
00000192: CALLDATALOAD
00000193: PUSH2 0x05d1
00000196: JUMP
00000197: JUMPDEST
00000198: STOP
00000199: JUMPDEST
0000019a: CALLVALUE
0000019b: ISZERO
0000019c: PUSH2 0x01a1
0000019f: JUMPI
000001a0: INVALID
000001a1: JUMPDEST
000001a2: PUSH2 0x014b
000001a5: PUSH1 0x01
000001a7: PUSH1 0xa0
000001a9: PUSH1 0x02
000001ab: EXP
000001ac: SUB
000001ad: PUSH1 0x04
000001af: CALLDATALOAD
000001b0: DUP2
000001b1: AND
000001b2: SWAP1
000001b3: PUSH1 0x24
000001b5: CALLDATALOAD
000001b6: SWAP1
000001b7: PUSH1 0x44
000001b9: CALLDATALOAD
000001ba: AND
000001bb: PUSH1 0x64
000001bd: CALLDATALOAD
000001be: PUSH1 0x84
000001c0: CALLDATALOAD
000001c1: PUSH1 0xa4
000001c3: CALLDATALOAD
000001c4: PUSH2 0x0896
000001c7: JUMP
000001c8: JUMPDEST
000001c9: STOP
000001ca: JUMPDEST
000001cb: CALLVALUE
000001cc: ISZERO
000001cd: PUSH2 0x01d2
000001d0: JUMPI
000001d1: INVALID
000001d2: JUMPDEST
000001d3: PUSH2 0x01e9
000001d6: PUSH1 0x01
000001d8: PUSH1 0xa0
000001da: PUSH1 0x02
000001dc: EXP
000001dd: SUB
000001de: PUSH1 0x04
000001e0: CALLDATALOAD
000001e1: AND
000001e2: PUSH1 0x24
000001e4: CALLDATALOAD
000001e5: PUSH2 0x09a7
000001e8: JUMP
000001e9: JUMPDEST
000001ea: PUSH1 0x40
000001ec: DUP1
000001ed: MLOAD
000001ee: SWAP2
000001ef: DUP3
000001f0: MSTORE
000001f1: MLOAD
000001f2: SWAP1
000001f3: DUP2
000001f4: SWAP1
000001f5: SUB
000001f6: PUSH1 0x20
000001f8: ADD
000001f9: SWAP1
000001fa: RETURN
000001fb: JUMPDEST
000001fc: CALLVALUE
000001fd: ISZERO
000001fe: PUSH2 0x0203
00000201: JUMPI
00000202: INVALID
00000203: JUMPDEST
00000204: PUSH2 0x014b
00000207: PUSH1 0x01
00000209: PUSH1 0xa0
0000020b: PUSH1 0x02
0000020d: EXP
0000020e: SUB
0000020f: PUSH1 0x04
00000211: CALLDATALOAD
00000212: DUP2
00000213: AND
00000214: SWAP1
00000215: PUSH1 0x24
00000217: CALLDATALOAD
00000218: SWAP1
00000219: PUSH1 0x44
0000021b: CALLDATALOAD
0000021c: AND
0000021d: PUSH1 0x64
0000021f: CALLDATALOAD
00000220: PUSH1 0x84
00000222: CALLDATALOAD
00000223: PUSH1 0xa4
00000225: CALLDATALOAD
00000226: PUSH1 0xff
00000228: PUSH1 0xc4
0000022a: CALLDATALOAD
0000022b: AND
0000022c: PUSH1 0xe4
0000022e: CALLDATALOAD
0000022f: PUSH2 0x0104
00000232: CALLDATALOAD
00000233: PUSH2 0x09c4
00000236: JUMP
00000237: JUMPDEST
00000238: STOP
00000239: JUMPDEST
0000023a: CALLVALUE
0000023b: ISZERO
0000023c: PUSH2 0x0241
0000023f: JUMPI
00000240: INVALID
00000241: JUMPDEST
00000242: PUSH2 0x014b
00000245: PUSH1 0x04
00000247: CALLDATALOAD
00000248: PUSH2 0x0bd4
0000024b: JUMP
0000024c: JUMPDEST
0000024d: STOP
0000024e: JUMPDEST
0000024f: CALLVALUE
00000250: ISZERO
00000251: PUSH2 0x0256
00000254: JUMPI
00000255: INVALID
00000256: JUMPDEST
00000257: PUSH2 0x014b
0000025a: PUSH1 0x01
0000025c: PUSH1 0xa0
0000025e: PUSH1 0x02
00000260: EXP
00000261: SUB
00000262: PUSH1 0x04
00000264: CALLDATALOAD
00000265: AND
00000266: PUSH1 0x24
00000268: CALLDATALOAD
00000269: PUSH2 0x0cf2
0000026c: JUMP
0000026d: JUMPDEST
0000026e: STOP
0000026f: JUMPDEST
00000270: CALLVALUE
00000271: ISZERO
00000272: PUSH2 0x0277
00000275: JUMPI
00000276: INVALID
00000277: JUMPDEST
00000278: PUSH2 0x01e9
0000027b: PUSH1 0x01
0000027d: PUSH1 0xa0
0000027f: PUSH1 0x02
00000281: EXP
00000282: SUB
00000283: PUSH1 0x04
00000285: CALLDATALOAD
00000286: DUP2
00000287: AND
00000288: SWAP1
00000289: PUSH1 0x24
0000028b: CALLDATALOAD
0000028c: SWAP1
0000028d: PUSH1 0x44
0000028f: CALLDATALOAD
00000290: DUP2
00000291: AND
00000292: SWAP1
00000293: PUSH1 0x64
00000295: CALLDATALOAD
00000296: SWAP1
00000297: PUSH1 0x84
00000299: CALLDATALOAD
0000029a: SWAP1
0000029b: PUSH1 0xa4
0000029d: CALLDATALOAD
0000029e: SWAP1
0000029f: PUSH1 0xc4
000002a1: CALLDATALOAD
000002a2: AND
000002a3: PUSH1 0xff
000002a5: PUSH1 0xe4
000002a7: CALLDATALOAD
000002a8: AND
000002a9: PUSH2 0x0104
000002ac: CALLDATALOAD
000002ad: PUSH2 0x0124
000002b0: CALLDATALOAD
000002b1: PUSH2 0x0e46
000002b4: JUMP
000002b5: JUMPDEST
000002b6: PUSH1 0x40
000002b8: DUP1
000002b9: MLOAD
000002ba: SWAP2
000002bb: DUP3
000002bc: MSTORE
000002bd: MLOAD
000002be: SWAP1
000002bf: DUP2
000002c0: SWAP1
000002c1: SUB
000002c2: PUSH1 0x20
000002c4: ADD
000002c5: SWAP1
000002c6: RETURN
000002c7: JUMPDEST
000002c8: CALLVALUE
000002c9: ISZERO
000002ca: PUSH2 0x02cf
000002cd: JUMPI
000002ce: INVALID
000002cf: JUMPDEST
000002d0: PUSH2 0x01e9
000002d3: PUSH1 0x01
000002d5: PUSH1 0xa0
000002d7: PUSH1 0x02
000002d9: EXP
000002da: SUB
000002db: PUSH1 0x04
000002dd: CALLDATALOAD
000002de: DUP2
000002df: AND
000002e0: SWAP1
000002e1: PUSH1 0x24
000002e3: CALLDATALOAD
000002e4: AND
000002e5: PUSH2 0x0f33
000002e8: JUMP
000002e9: JUMPDEST
000002ea: PUSH1 0x40
000002ec: DUP1
000002ed: MLOAD
000002ee: SWAP2
000002ef: DUP3
000002f0: MSTORE
000002f1: MLOAD
000002f2: SWAP1
000002f3: DUP2
000002f4: SWAP1
000002f5: SUB
000002f6: PUSH1 0x20
000002f8: ADD
000002f9: SWAP1
000002fa: RETURN
000002fb: JUMPDEST
000002fc: CALLVALUE
000002fd: ISZERO
000002fe: PUSH2 0x0303
00000301: JUMPI
00000302: INVALID
00000303: JUMPDEST
00000304: PUSH2 0x014b
00000307: PUSH1 0x04
00000309: CALLDATALOAD
0000030a: PUSH2 0x0f50
0000030d: JUMP
0000030e: JUMPDEST
0000030f: STOP
00000310: JUMPDEST
00000311: CALLVALUE
00000312: ISZERO
00000313: PUSH2 0x0318
00000316: JUMPI
00000317: INVALID
00000318: JUMPDEST
00000319: PUSH2 0x01e9
0000031c: PUSH2 0x0f83
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH1 0x40
00000323: DUP1
00000324: MLOAD
00000325: SWAP2
00000326: DUP3
00000327: MSTORE
00000328: MLOAD
00000329: SWAP1
0000032a: DUP2
0000032b: SWAP1
0000032c: SUB
0000032d: PUSH1 0x20
0000032f: ADD
00000330: SWAP1
00000331: RETURN
00000332: JUMPDEST
00000333: CALLVALUE
00000334: ISZERO
00000335: PUSH2 0x033a
00000338: JUMPI
00000339: INVALID
0000033a: JUMPDEST
0000033b: PUSH2 0x014b
0000033e: PUSH1 0x04
00000340: CALLDATALOAD
00000341: PUSH2 0x0f89
00000344: JUMP
00000345: JUMPDEST
00000346: STOP
00000347: JUMPDEST
00000348: CALLVALUE
00000349: ISZERO
0000034a: PUSH2 0x034f
0000034d: JUMPI
0000034e: INVALID
0000034f: JUMPDEST
00000350: PUSH2 0x0357
00000353: PUSH2 0x0fc8
00000356: JUMP
00000357: JUMPDEST
00000358: PUSH1 0x40
0000035a: DUP1
0000035b: MLOAD
0000035c: PUSH1 0x01
0000035e: PUSH1 0xa0
00000360: PUSH1 0x02
00000362: EXP
00000363: SUB
00000364: SWAP1
00000365: SWAP3
00000366: AND
00000367: DUP3
00000368: MSTORE
00000369: MLOAD
0000036a: SWAP1
0000036b: DUP2
0000036c: SWAP1
0000036d: SUB
0000036e: PUSH1 0x20
00000370: ADD
00000371: SWAP1
00000372: RETURN
00000373: JUMPDEST
00000374: CALLVALUE
00000375: ISZERO
00000376: PUSH2 0x037b
00000379: JUMPI
0000037a: INVALID
0000037b: JUMPDEST
0000037c: PUSH2 0x03c8
0000037f: PUSH1 0x01
00000381: PUSH1 0xa0
00000383: PUSH1 0x02
00000385: EXP
00000386: SUB
00000387: PUSH1 0x04
00000389: CALLDATALOAD
0000038a: DUP2
0000038b: AND
0000038c: SWAP1
0000038d: PUSH1 0x24
0000038f: CALLDATALOAD
00000390: SWAP1
00000391: PUSH1 0x44
00000393: CALLDATALOAD
00000394: DUP2
00000395: AND
00000396: SWAP1
00000397: PUSH1 0x64
00000399: CALLDATALOAD
0000039a: SWAP1
0000039b: PUSH1 0x84
0000039d: CALLDATALOAD
0000039e: SWAP1
0000039f: PUSH1 0xa4
000003a1: CALLDATALOAD
000003a2: SWAP1
000003a3: PUSH1 0xc4
000003a5: CALLDATALOAD
000003a6: DUP2
000003a7: AND
000003a8: SWAP1
000003a9: PUSH1 0xff
000003ab: PUSH1 0xe4
000003ad: CALLDATALOAD
000003ae: AND
000003af: SWAP1
000003b0: PUSH2 0x0104
000003b3: CALLDATALOAD
000003b4: SWAP1
000003b5: PUSH2 0x0124
000003b8: CALLDATALOAD
000003b9: SWAP1
000003ba: PUSH2 0x0144
000003bd: CALLDATALOAD
000003be: SWAP1
000003bf: PUSH2 0x0164
000003c2: CALLDATALOAD
000003c3: AND
000003c4: PUSH2 0x0fd7
000003c7: JUMP
000003c8: JUMPDEST
000003c9: PUSH1 0x40
000003cb: DUP1
000003cc: MLOAD
000003cd: SWAP2
000003ce: ISZERO
000003cf: ISZERO
000003d0: DUP3
000003d1: MSTORE
000003d2: MLOAD
000003d3: SWAP1
000003d4: DUP2
000003d5: SWAP1
000003d6: SUB
000003d7: PUSH1 0x20
000003d9: ADD
000003da: SWAP1
000003db: RETURN
000003dc: JUMPDEST
000003dd: CALLVALUE
000003de: ISZERO
000003df: PUSH2 0x03e4
000003e2: JUMPI
000003e3: INVALID
000003e4: JUMPDEST
000003e5: PUSH2 0x014b
000003e8: PUSH1 0x01
000003ea: PUSH1 0xa0
000003ec: PUSH1 0x02
000003ee: EXP
000003ef: SUB
000003f0: PUSH1 0x04
000003f2: CALLDATALOAD
000003f3: AND
000003f4: PUSH2 0x1042
000003f7: JUMP
000003f8: JUMPDEST
000003f9: STOP
000003fa: JUMPDEST
000003fb: CALLVALUE
000003fc: ISZERO
000003fd: PUSH2 0x0402
00000400: JUMPI
00000401: INVALID
00000402: JUMPDEST
00000403: PUSH2 0x01e9
00000406: PUSH2 0x107c
00000409: JUMP
0000040a: JUMPDEST
0000040b: PUSH1 0x40
0000040d: DUP1
0000040e: MLOAD
0000040f: SWAP2
00000410: DUP3
00000411: MSTORE
00000412: MLOAD
00000413: SWAP1
00000414: DUP2
00000415: SWAP1
00000416: SUB
00000417: PUSH1 0x20
00000419: ADD
0000041a: SWAP1
0000041b: RETURN
0000041c: JUMPDEST
0000041d: CALLVALUE
0000041e: ISZERO
0000041f: PUSH2 0x0424
00000422: JUMPI
00000423: INVALID
00000424: JUMPDEST
00000425: PUSH2 0x014b
00000428: PUSH1 0x04
0000042a: CALLDATALOAD
0000042b: PUSH2 0x1082
0000042e: JUMP
0000042f: JUMPDEST
00000430: STOP
00000431: JUMPDEST
00000432: CALLVALUE
00000433: ISZERO
00000434: PUSH2 0x0439
00000437: JUMPI
00000438: INVALID
00000439: JUMPDEST
0000043a: PUSH2 0x014b
0000043d: PUSH1 0x01
0000043f: PUSH1 0xa0
00000441: PUSH1 0x02
00000443: EXP
00000444: SUB
00000445: PUSH1 0x04
00000447: CALLDATALOAD
00000448: AND
00000449: PUSH2 0x10c1
0000044c: JUMP
0000044d: JUMPDEST
0000044e: STOP
0000044f: JUMPDEST
00000450: CALLVALUE
00000451: ISZERO
00000452: PUSH2 0x0457
00000455: JUMPI
00000456: INVALID
00000457: JUMPDEST
00000458: PUSH2 0x014b
0000045b: PUSH1 0x01
0000045d: PUSH1 0xa0
0000045f: PUSH1 0x02
00000461: EXP
00000462: SUB
00000463: PUSH1 0x04
00000465: CALLDATALOAD
00000466: AND
00000467: PUSH1 0x24
00000469: CALLDATALOAD
0000046a: PUSH2 0x10fb
0000046d: JUMP
0000046e: JUMPDEST
0000046f: STOP
00000470: JUMPDEST
00000471: CALLVALUE
00000472: ISZERO
00000473: PUSH2 0x0478
00000476: JUMPI
00000477: INVALID
00000478: JUMPDEST
00000479: PUSH2 0x03c8
0000047c: PUSH1 0x01
0000047e: PUSH1 0xa0
00000480: PUSH1 0x02
00000482: EXP
00000483: SUB
00000484: PUSH1 0x04
00000486: CALLDATALOAD
00000487: AND
00000488: PUSH1 0x24
0000048a: CALLDATALOAD
0000048b: PUSH2 0x1299
0000048e: JUMP
0000048f: JUMPDEST
00000490: PUSH1 0x40
00000492: DUP1
00000493: MLOAD
00000494: SWAP2
00000495: ISZERO
00000496: ISZERO
00000497: DUP3
00000498: MSTORE
00000499: MLOAD
0000049a: SWAP1
0000049b: DUP2
0000049c: SWAP1
0000049d: SUB
0000049e: PUSH1 0x20
000004a0: ADD
000004a1: SWAP1
000004a2: RETURN
000004a3: JUMPDEST
000004a4: CALLVALUE
000004a5: ISZERO
000004a6: PUSH2 0x04ab
000004a9: JUMPI
000004aa: INVALID
000004ab: JUMPDEST
000004ac: PUSH2 0x01e9
000004af: PUSH2 0x12b9
000004b2: JUMP
000004b3: JUMPDEST
000004b4: PUSH1 0x40
000004b6: DUP1
000004b7: MLOAD
000004b8: SWAP2
000004b9: DUP3
000004ba: MSTORE
000004bb: MLOAD
000004bc: SWAP1
000004bd: DUP2
000004be: SWAP1
000004bf: SUB
000004c0: PUSH1 0x20
000004c2: ADD
000004c3: SWAP1
000004c4: RETURN
000004c5: JUMPDEST
000004c6: PUSH2 0x014b
000004c9: PUSH2 0x12bf
000004cc: JUMP
000004cd: JUMPDEST
000004ce: STOP
000004cf: JUMPDEST
000004d0: CALLVALUE
000004d1: ISZERO
000004d2: PUSH2 0x04d7
000004d5: JUMPI
000004d6: INVALID
000004d7: JUMPDEST
000004d8: PUSH2 0x014b
000004db: PUSH1 0x01
000004dd: PUSH1 0xa0
000004df: PUSH1 0x02
000004e1: EXP
000004e2: SUB
000004e3: PUSH1 0x04
000004e5: CALLDATALOAD
000004e6: AND
000004e7: PUSH2 0x1361
000004ea: JUMP
000004eb: JUMPDEST
000004ec: STOP
000004ed: JUMPDEST
000004ee: CALLVALUE
000004ef: ISZERO
000004f0: PUSH2 0x04f5
000004f3: JUMPI
000004f4: INVALID
000004f5: JUMPDEST
000004f6: PUSH2 0x0357
000004f9: PUSH2 0x139b
000004fc: JUMP
000004fd: JUMPDEST
000004fe: PUSH1 0x40
00000500: DUP1
00000501: MLOAD
00000502: PUSH1 0x01
00000504: PUSH1 0xa0
00000506: PUSH1 0x02
00000508: EXP
00000509: SUB
0000050a: SWAP1
0000050b: SWAP3
0000050c: AND
0000050d: DUP3
0000050e: MSTORE
0000050f: MLOAD
00000510: SWAP1
00000511: DUP2
00000512: SWAP1
00000513: SUB
00000514: PUSH1 0x20
00000516: ADD
00000517: SWAP1
00000518: RETURN
00000519: JUMPDEST
0000051a: CALLVALUE
0000051b: ISZERO
0000051c: PUSH2 0x0521
0000051f: JUMPI
00000520: INVALID
00000521: JUMPDEST
00000522: PUSH2 0x01e9
00000525: PUSH1 0x01
00000527: PUSH1 0xa0
00000529: PUSH1 0x02
0000052b: EXP
0000052c: SUB
0000052d: PUSH1 0x04
0000052f: CALLDATALOAD
00000530: DUP2
00000531: AND
00000532: SWAP1
00000533: PUSH1 0x24
00000535: CALLDATALOAD
00000536: AND
00000537: PUSH2 0x13aa
0000053a: JUMP
0000053b: JUMPDEST
0000053c: PUSH1 0x40
0000053e: DUP1
0000053f: MLOAD
00000540: SWAP2
00000541: DUP3
00000542: MSTORE
00000543: MLOAD
00000544: SWAP1
00000545: DUP2
00000546: SWAP1
00000547: SUB
00000548: PUSH1 0x20
0000054a: ADD
0000054b: SWAP1
0000054c: RETURN
0000054d: JUMPDEST
0000054e: CALLVALUE
0000054f: ISZERO
00000550: PUSH2 0x0555
00000553: JUMPI
00000554: INVALID
00000555: JUMPDEST
00000556: PUSH2 0x0357
00000559: PUSH2 0x13d7
0000055c: JUMP
0000055d: JUMPDEST
0000055e: PUSH1 0x40
00000560: DUP1
00000561: MLOAD
00000562: PUSH1 0x01
00000564: PUSH1 0xa0
00000566: PUSH1 0x02
00000568: EXP
00000569: SUB
0000056a: SWAP1
0000056b: SWAP3
0000056c: AND
0000056d: DUP3
0000056e: MSTORE
0000056f: MLOAD
00000570: SWAP1
00000571: DUP2
00000572: SWAP1
00000573: SUB
00000574: PUSH1 0x20
00000576: ADD
00000577: SWAP1
00000578: RETURN
00000579: JUMPDEST
0000057a: CALLVALUE
0000057b: ISZERO
0000057c: PUSH2 0x0581
0000057f: JUMPI
00000580: INVALID
00000581: JUMPDEST
00000582: PUSH2 0x01e9
00000585: PUSH1 0x01
00000587: PUSH1 0xa0
00000589: PUSH1 0x02
0000058b: EXP
0000058c: SUB
0000058d: PUSH1 0x04
0000058f: CALLDATALOAD
00000590: DUP2
00000591: AND
00000592: SWAP1
00000593: PUSH1 0x24
00000595: CALLDATALOAD
00000596: SWAP1
00000597: PUSH1 0x44
00000599: CALLDATALOAD
0000059a: DUP2
0000059b: AND
0000059c: SWAP1
0000059d: PUSH1 0x64
0000059f: CALLDATALOAD
000005a0: SWAP1
000005a1: PUSH1 0x84
000005a3: CALLDATALOAD
000005a4: SWAP1
000005a5: PUSH1 0xa4
000005a7: CALLDATALOAD
000005a8: SWAP1
000005a9: PUSH1 0xc4
000005ab: CALLDATALOAD
000005ac: AND
000005ad: PUSH1 0xff
000005af: PUSH1 0xe4
000005b1: CALLDATALOAD
000005b2: AND
000005b3: PUSH2 0x0104
000005b6: CALLDATALOAD
000005b7: PUSH2 0x0124
000005ba: CALLDATALOAD
000005bb: PUSH2 0x13e6
000005be: JUMP
000005bf: JUMPDEST
000005c0: PUSH1 0x40
000005c2: DUP1
000005c3: MLOAD
000005c4: SWAP2
000005c5: DUP3
000005c6: MSTORE
000005c7: MLOAD
000005c8: SWAP1
000005c9: DUP2
000005ca: SWAP1
000005cb: SUB
000005cc: PUSH1 0x20
000005ce: ADD
000005cf: SWAP1
000005d0: RETURN
000005d1: JUMPDEST
000005d2: PUSH1 0x00
000005d4: PUSH1 0x02
000005d6: ADDRESS
000005d7: DUP14
000005d8: DUP14
000005d9: DUP14
000005da: DUP14
000005db: DUP14
000005dc: DUP14
000005dd: PUSH1 0x00
000005df: PUSH1 0x40
000005e1: MLOAD
000005e2: PUSH1 0x20
000005e4: ADD
000005e5: MSTORE
000005e6: PUSH1 0x40
000005e8: MLOAD
000005e9: DUP1
000005ea: DUP9
000005eb: PUSH1 0x01
000005ed: PUSH1 0xa0
000005ef: PUSH1 0x02
000005f1: EXP
000005f2: SUB
000005f3: AND
000005f4: PUSH1 0x01
000005f6: PUSH1 0xa0
000005f8: PUSH1 0x02
000005fa: EXP
000005fb: SUB
000005fc: AND
000005fd: PUSH1 0x60
000005ff: PUSH1 0x02
00000601: EXP
00000602: MUL
00000603: DUP2
00000604: MSTORE
00000605: PUSH1 0x14
00000607: ADD
00000608: DUP8
00000609: PUSH1 0x01
0000060b: PUSH1 0xa0
0000060d: PUSH1 0x02
0000060f: EXP
00000610: SUB
00000611: AND
00000612: PUSH1 0x01
00000614: PUSH1 0xa0
00000616: PUSH1 0x02
00000618: EXP
00000619: SUB
0000061a: AND
0000061b: PUSH1 0x60
0000061d: PUSH1 0x02
0000061f: EXP
00000620: MUL
00000621: DUP2
00000622: MSTORE
00000623: PUSH1 0x14
00000625: ADD
00000626: DUP7
00000627: DUP2
00000628: MSTORE
00000629: PUSH1 0x20
0000062b: ADD
0000062c: DUP6
0000062d: PUSH1 0x01
0000062f: PUSH1 0xa0
00000631: PUSH1 0x02
00000633: EXP
00000634: SUB
00000635: AND
00000636: PUSH1 0x01
00000638: PUSH1 0xa0
0000063a: PUSH1 0x02
0000063c: EXP
0000063d: SUB
0000063e: AND
0000063f: PUSH1 0x60
00000641: PUSH1 0x02
00000643: EXP
00000644: MUL
00000645: DUP2
00000646: MSTORE
00000647: PUSH1 0x14
00000649: ADD
0000064a: DUP5
0000064b: DUP2
0000064c: MSTORE
0000064d: PUSH1 0x20
0000064f: ADD
00000650: DUP4
00000651: DUP2
00000652: MSTORE
00000653: PUSH1 0x20
00000655: ADD
00000656: DUP3
00000657: DUP2
00000658: MSTORE
00000659: PUSH1 0x20
0000065b: ADD
0000065c: SWAP8
0000065d: POP
0000065e: POP
0000065f: POP
00000660: POP
00000661: POP
00000662: POP
00000663: POP
00000664: POP
00000665: PUSH1 0x20
00000667: PUSH1 0x40
00000669: MLOAD
0000066a: DUP1
0000066b: DUP4
0000066c: SUB
0000066d: DUP2
0000066e: PUSH1 0x00
00000670: DUP7
00000671: PUSH2 0x61da
00000674: GAS
00000675: SUB
00000676: CALL
00000677: ISZERO
00000678: ISZERO
00000679: PUSH2 0x067e
0000067c: JUMPI
0000067d: INVALID
0000067e: JUMPDEST
0000067f: POP
00000680: POP
00000681: PUSH1 0x40
00000683: DUP1
00000684: MLOAD
00000685: MLOAD
00000686: PUSH1 0x01
00000688: PUSH1 0xa0
0000068a: PUSH1 0x02
0000068c: EXP
0000068d: SUB
0000068e: DUP9
0000068f: AND
00000690: PUSH1 0x00
00000692: SWAP1
00000693: DUP2
00000694: MSTORE
00000695: PUSH1 0x07
00000697: PUSH1 0x20
00000699: SWAP1
0000069a: DUP2
0000069b: MSTORE
0000069c: DUP4
0000069d: DUP3
0000069e: KECCAK256
0000069f: DUP4
000006a0: DUP4
000006a1: MSTORE
000006a2: SWAP1
000006a3: MSTORE
000006a4: SWAP2
000006a5: SWAP1
000006a6: SWAP2
000006a7: KECCAK256
000006a8: SLOAD
000006a9: SWAP1
000006aa: SWAP2
000006ab: POP
000006ac: PUSH1 0xff
000006ae: AND
000006af: DUP1
000006b0: PUSH2 0x0762
000006b3: JUMPI
000006b4: POP
000006b5: PUSH1 0x40
000006b7: DUP1
000006b8: MLOAD
000006b9: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
000006da: DUP2
000006db: MSTORE
000006dc: PUSH1 0x1c
000006de: DUP2
000006df: ADD
000006e0: DUP4
000006e1: SWAP1
000006e2: MSTORE
000006e3: DUP2
000006e4: MLOAD
000006e5: SWAP1
000006e6: DUP2
000006e7: SWAP1
000006e8: SUB
000006e9: PUSH1 0x3c
000006eb: ADD
000006ec: DUP2
000006ed: KECCAK256
000006ee: PUSH1 0x00
000006f0: DUP3
000006f1: DUP2
000006f2: MSTORE
000006f3: PUSH1 0x20
000006f5: DUP4
000006f6: DUP2
000006f7: ADD
000006f8: DUP6
000006f9: MSTORE
000006fa: SWAP3
000006fb: DUP5
000006fc: ADD
000006fd: DUP2
000006fe: SWAP1
000006ff: MSTORE
00000700: DUP4
00000701: MLOAD
00000702: SWAP2
00000703: DUP3
00000704: MSTORE
00000705: PUSH1 0xff
00000707: DUP10
00000708: AND
00000709: DUP3
0000070a: DUP5
0000070b: ADD
0000070c: MSTORE
0000070d: DUP2
0000070e: DUP5
0000070f: ADD
00000710: DUP9
00000711: SWAP1
00000712: MSTORE
00000713: PUSH1 0x60
00000715: DUP3
00000716: ADD
00000717: DUP8
00000718: SWAP1
00000719: MSTORE
0000071a: SWAP3
0000071b: MLOAD
0000071c: PUSH1 0x01
0000071e: PUSH1 0xa0
00000720: PUSH1 0x02
00000722: EXP
00000723: SUB
00000724: DUP11
00000725: AND
00000726: SWAP4
00000727: PUSH1 0x01
00000729: SWAP4
0000072a: PUSH1 0x80
0000072c: DUP1
0000072d: DUP6
0000072e: ADD
0000072f: SWAP5
00000730: SWAP2
00000731: SWAP4
00000732: PUSH1 0x1f
00000734: NOT
00000735: DUP2
00000736: ADD
00000737: SWAP4
00000738: SWAP3
00000739: DUP2
0000073a: SWAP1
0000073b: SUB
0000073c: SWAP1
0000073d: SWAP2
0000073e: ADD
0000073f: SWAP2
00000740: DUP7
00000741: PUSH2 0x61da
00000744: GAS
00000745: SUB
00000746: CALL
00000747: ISZERO
00000748: ISZERO
00000749: PUSH2 0x074e
0000074c: JUMPI
0000074d: INVALID
0000074e: JUMPDEST
0000074f: POP
00000750: POP
00000751: PUSH1 0x20
00000753: PUSH1 0x40
00000755: MLOAD
00000756: SUB
00000757: MLOAD
00000758: PUSH1 0x01
0000075a: PUSH1 0xa0
0000075c: PUSH1 0x02
0000075e: EXP
0000075f: SUB
00000760: AND
00000761: EQ
00000762: JUMPDEST
00000763: DUP1
00000764: ISZERO
00000765: PUSH2 0x076e
00000768: JUMPI
00000769: POP
0000076a: DUP8
0000076b: NUMBER
0000076c: GT
0000076d: ISZERO
0000076e: JUMPDEST
0000076f: DUP1
00000770: ISZERO
00000771: PUSH2 0x07a8
00000774: JUMPI
00000775: POP
00000776: PUSH1 0x01
00000778: PUSH1 0xa0
0000077a: PUSH1 0x02
0000077c: EXP
0000077d: SUB
0000077e: DUP7
0000077f: AND
00000780: PUSH1 0x00
00000782: SWAP1
00000783: DUP2
00000784: MSTORE
00000785: PUSH1 0x08
00000787: PUSH1 0x20
00000789: SWAP1
0000078a: DUP2
0000078b: MSTORE
0000078c: PUSH1 0x40
0000078e: DUP1
0000078f: DUP4
00000790: KECCAK256
00000791: DUP5
00000792: DUP5
00000793: MSTORE
00000794: SWAP1
00000795: SWAP2
00000796: MSTORE
00000797: SWAP1
00000798: KECCAK256
00000799: SLOAD
0000079a: DUP12
0000079b: SWAP1
0000079c: PUSH2 0x07a5
0000079f: SWAP1
000007a0: DUP5
000007a1: PUSH2 0x162d
000007a4: JUMP
000007a5: JUMPDEST
000007a6: GT
000007a7: ISZERO
000007a8: JUMPDEST
000007a9: ISZERO
000007aa: ISZERO
000007ab: PUSH2 0x07b3
000007ae: JUMPI
000007af: PUSH2 0x0000
000007b2: JUMP
000007b3: JUMPDEST
000007b4: PUSH2 0x07c1
000007b7: DUP13
000007b8: DUP13
000007b9: DUP13
000007ba: DUP13
000007bb: DUP11
000007bc: DUP8
000007bd: PUSH2 0x1655
000007c0: JUMP
000007c1: JUMPDEST
000007c2: PUSH1 0x01
000007c4: PUSH1 0xa0
000007c6: PUSH1 0x02
000007c8: EXP
000007c9: SUB
000007ca: DUP7
000007cb: AND
000007cc: PUSH1 0x00
000007ce: SWAP1
000007cf: DUP2
000007d0: MSTORE
000007d1: PUSH1 0x08
000007d3: PUSH1 0x20
000007d5: SWAP1
000007d6: DUP2
000007d7: MSTORE
000007d8: PUSH1 0x40
000007da: DUP1
000007db: DUP4
000007dc: KECCAK256
000007dd: DUP5
000007de: DUP5
000007df: MSTORE
000007e0: SWAP1
000007e1: SWAP2
000007e2: MSTORE
000007e3: SWAP1
000007e4: KECCAK256
000007e5: SLOAD
000007e6: PUSH2 0x07ef
000007e9: SWAP1
000007ea: DUP4
000007eb: PUSH2 0x162d
000007ee: JUMP
000007ef: JUMPDEST
000007f0: PUSH1 0x01
000007f2: PUSH1 0xa0
000007f4: PUSH1 0x02
000007f6: EXP
000007f7: SUB
000007f8: DUP8
000007f9: AND
000007fa: PUSH1 0x00
000007fc: SWAP1
000007fd: DUP2
000007fe: MSTORE
000007ff: PUSH1 0x08
00000801: PUSH1 0x20
00000803: SWAP1
00000804: DUP2
00000805: MSTORE
00000806: PUSH1 0x40
00000808: DUP1
00000809: DUP4
0000080a: KECCAK256
0000080b: DUP6
0000080c: DUP5
0000080d: MSTORE
0000080e: SWAP1
0000080f: SWAP2
00000810: MSTORE
00000811: SWAP1
00000812: KECCAK256
00000813: SSTORE
00000814: PUSH32 0x6effdda786735d5033bfad5f53e5131abcced9e52be6c507b62d639685fbed6d
00000835: DUP13
00000836: DUP4
00000837: DUP13
00000838: DUP15
00000839: DUP14
0000083a: DUP4
0000083b: MUL
0000083c: DUP2
0000083d: ISZERO
0000083e: ISZERO
0000083f: PUSH2 0x0844
00000842: JUMPI
00000843: INVALID
00000844: JUMPDEST
00000845: PUSH1 0x40
00000847: DUP1
00000848: MLOAD
00000849: PUSH1 0x01
0000084b: PUSH1 0xa0
0000084d: PUSH1 0x02
0000084f: EXP
00000850: SUB
00000851: SWAP7
00000852: DUP8
00000853: AND
00000854: DUP2
00000855: MSTORE
00000856: PUSH1 0x20
00000858: DUP2
00000859: ADD
0000085a: SWAP6
0000085b: SWAP1
0000085c: SWAP6
0000085d: MSTORE
0000085e: SWAP3
0000085f: DUP6
00000860: AND
00000861: DUP5
00000862: DUP5
00000863: ADD
00000864: MSTORE
00000865: DIV
00000866: PUSH1 0x60
00000868: DUP4
00000869: ADD
0000086a: MSTORE
0000086b: DUP3
0000086c: DUP11
0000086d: AND
0000086e: PUSH1 0x80
00000870: DUP4
00000871: ADD
00000872: MSTORE
00000873: CALLER
00000874: SWAP3
00000875: SWAP1
00000876: SWAP3
00000877: AND
00000878: PUSH1 0xa0
0000087a: DUP3
0000087b: ADD
0000087c: MSTORE
0000087d: SWAP1
0000087e: MLOAD
0000087f: SWAP1
00000880: DUP2
00000881: SWAP1
00000882: SUB
00000883: PUSH1 0xc0
00000885: ADD
00000886: SWAP1
00000887: LOG1
00000888: JUMPDEST
00000889: POP
0000088a: POP
0000088b: POP
0000088c: POP
0000088d: POP
0000088e: POP
0000088f: POP
00000890: POP
00000891: POP
00000892: POP
00000893: POP
00000894: POP
00000895: JUMP
00000896: JUMPDEST
00000897: PUSH1 0x40
00000899: DUP1
0000089a: MLOAD
0000089b: PUSH1 0x00
0000089d: PUSH1 0x20
0000089f: SWAP2
000008a0: DUP3
000008a1: ADD
000008a2: DUP2
000008a3: SWAP1
000008a4: MSTORE
000008a5: DUP3
000008a6: MLOAD
000008a7: PUSH1 0x60
000008a9: PUSH1 0x02
000008ab: EXP
000008ac: PUSH1 0x01
000008ae: PUSH1 0xa0
000008b0: PUSH1 0x02
000008b2: EXP
000008b3: SUB
000008b4: ADDRESS
000008b5: DUP2
000008b6: AND
000008b7: DUP3
000008b8: MUL
000008b9: DUP4
000008ba: MSTORE
000008bb: DUP1
000008bc: DUP13
000008bd: AND
000008be: DUP3
000008bf: MUL
000008c0: PUSH1 0x14
000008c2: DUP5
000008c3: ADD
000008c4: MSTORE
000008c5: PUSH1 0x28
000008c7: DUP4
000008c8: ADD
000008c9: DUP12
000008ca: SWAP1
000008cb: MSTORE
000008cc: DUP10
000008cd: AND
000008ce: MUL
000008cf: PUSH1 0x48
000008d1: DUP3
000008d2: ADD
000008d3: MSTORE
000008d4: PUSH1 0x5c
000008d6: DUP2
000008d7: ADD
000008d8: DUP8
000008d9: SWAP1
000008da: MSTORE
000008db: PUSH1 0x7c
000008dd: DUP2
000008de: ADD
000008df: DUP7
000008e0: SWAP1
000008e1: MSTORE
000008e2: PUSH1 0x9c
000008e4: DUP2
000008e5: ADD
000008e6: DUP6
000008e7: SWAP1
000008e8: MSTORE
000008e9: SWAP3
000008ea: MLOAD
000008eb: SWAP1
000008ec: SWAP3
000008ed: PUSH1 0x02
000008ef: SWAP3
000008f0: PUSH1 0xbc
000008f2: DUP1
000008f3: DUP4
000008f4: ADD
000008f5: SWAP4
000008f6: SWAP2
000008f7: SWAP3
000008f8: DUP3
000008f9: SWAP1
000008fa: SUB
000008fb: ADD
000008fc: DUP2
000008fd: DUP7
000008fe: DUP7
000008ff: PUSH2 0x61da
00000902: GAS
00000903: SUB
00000904: CALL
00000905: ISZERO
00000906: ISZERO
00000907: PUSH2 0x090c
0000090a: JUMPI
0000090b: INVALID
0000090c: JUMPDEST
0000090d: POP
0000090e: POP
0000090f: PUSH1 0x40
00000911: DUP1
00000912: MLOAD
00000913: DUP1
00000914: MLOAD
00000915: PUSH1 0x01
00000917: PUSH1 0xa0
00000919: PUSH1 0x02
0000091b: EXP
0000091c: SUB
0000091d: CALLER
0000091e: DUP2
0000091f: AND
00000920: PUSH1 0x00
00000922: DUP2
00000923: DUP2
00000924: MSTORE
00000925: PUSH1 0x07
00000927: PUSH1 0x20
00000929: SWAP1
0000092a: DUP2
0000092b: MSTORE
0000092c: DUP7
0000092d: DUP3
0000092e: KECCAK256
0000092f: DUP6
00000930: DUP4
00000931: MSTORE
00000932: DUP2
00000933: MSTORE
00000934: SWAP1
00000935: DUP7
00000936: SWAP1
00000937: KECCAK256
00000938: DUP1
00000939: SLOAD
0000093a: PUSH1 0xff
0000093c: NOT
0000093d: AND
0000093e: PUSH1 0x01
00000940: OR
00000941: SWAP1
00000942: SSTORE
00000943: DUP13
00000944: DUP4
00000945: AND
00000946: DUP6
00000947: MSTORE
00000948: DUP5
00000949: ADD
0000094a: DUP12
0000094b: SWAP1
0000094c: MSTORE
0000094d: SWAP1
0000094e: DUP10
0000094f: AND
00000950: DUP4
00000951: DUP6
00000952: ADD
00000953: MSTORE
00000954: PUSH1 0x60
00000956: DUP4
00000957: ADD
00000958: DUP9
00000959: SWAP1
0000095a: MSTORE
0000095b: PUSH1 0x80
0000095d: DUP4
0000095e: ADD
0000095f: DUP8
00000960: SWAP1
00000961: MSTORE
00000962: PUSH1 0xa0
00000964: DUP4
00000965: ADD
00000966: DUP7
00000967: SWAP1
00000968: MSTORE
00000969: PUSH1 0xc0
0000096b: DUP4
0000096c: ADD
0000096d: MSTORE
0000096e: SWAP2
0000096f: MLOAD
00000970: SWAP2
00000971: SWAP3
00000972: POP
00000973: PUSH32 0x3f7f2eda73683c21a15f9435af1028c93185b5f1fa38270762dc32be606b3e85
00000994: SWAP2
00000995: SWAP1
00000996: DUP2
00000997: SWAP1
00000998: SUB
00000999: PUSH1 0xe0
0000099b: ADD
0000099c: SWAP1
0000099d: LOG1
0000099e: JUMPDEST
0000099f: POP
000009a0: POP
000009a1: POP
000009a2: POP
000009a3: POP
000009a4: POP
000009a5: POP
000009a6: JUMP
000009a7: JUMPDEST
000009a8: PUSH1 0x08
000009aa: PUSH1 0x20
000009ac: SWAP1
000009ad: DUP2
000009ae: MSTORE
000009af: PUSH1 0x00
000009b1: SWAP3
000009b2: DUP4
000009b3: MSTORE
000009b4: PUSH1 0x40
000009b6: DUP1
000009b7: DUP5
000009b8: KECCAK256
000009b9: SWAP1
000009ba: SWAP2
000009bb: MSTORE
000009bc: SWAP1
000009bd: DUP3
000009be: MSTORE
000009bf: SWAP1
000009c0: KECCAK256
000009c1: SLOAD
000009c2: DUP2
000009c3: JUMP
000009c4: JUMPDEST
000009c5: PUSH1 0x40
000009c7: DUP1
000009c8: MLOAD
000009c9: PUSH1 0x00
000009cb: PUSH1 0x20
000009cd: SWAP2
000009ce: DUP3
000009cf: ADD
000009d0: DUP2
000009d1: SWAP1
000009d2: MSTORE
000009d3: DUP3
000009d4: MLOAD
000009d5: PUSH1 0x60
000009d7: PUSH1 0x02
000009d9: EXP
000009da: PUSH1 0x01
000009dc: PUSH1 0xa0
000009de: PUSH1 0x02
000009e0: EXP
000009e1: SUB
000009e2: ADDRESS
000009e3: DUP2
000009e4: AND
000009e5: DUP3
000009e6: MUL
000009e7: DUP4
000009e8: MSTORE
000009e9: DUP1
000009ea: DUP16
000009eb: AND
000009ec: DUP3
000009ed: MUL
000009ee: PUSH1 0x14
000009f0: DUP5
000009f1: ADD
000009f2: MSTORE
000009f3: PUSH1 0x28
000009f5: DUP4
000009f6: ADD
000009f7: DUP15
000009f8: SWAP1
000009f9: MSTORE
000009fa: DUP13
000009fb: AND
000009fc: MUL
000009fd: PUSH1 0x48
000009ff: DUP3
00000a00: ADD
00000a01: MSTORE
00000a02: PUSH1 0x5c
00000a04: DUP2
00000a05: ADD
00000a06: DUP11
00000a07: SWAP1
00000a08: MSTORE
00000a09: PUSH1 0x7c
00000a0b: DUP2
00000a0c: ADD
00000a0d: DUP10
00000a0e: SWAP1
00000a0f: MSTORE
00000a10: PUSH1 0x9c
00000a12: DUP2
00000a13: ADD
00000a14: DUP9
00000a15: SWAP1
00000a16: MSTORE
00000a17: SWAP3
00000a18: MLOAD
00000a19: SWAP1
00000a1a: SWAP3
00000a1b: PUSH1 0x02
00000a1d: SWAP3
00000a1e: PUSH1 0xbc
00000a20: DUP1
00000a21: DUP4
00000a22: ADD
00000a23: SWAP4
00000a24: SWAP2
00000a25: SWAP3
00000a26: DUP3
00000a27: SWAP1
00000a28: SUB
00000a29: ADD
00000a2a: DUP2
00000a2b: DUP7
00000a2c: DUP7
00000a2d: PUSH2 0x61da
00000a30: GAS
00000a31: SUB
00000a32: CALL
00000a33: ISZERO
00000a34: ISZERO
00000a35: PUSH2 0x0a3a
00000a38: JUMPI
00000a39: INVALID
00000a3a: JUMPDEST
00000a3b: POP
00000a3c: POP
00000a3d: PUSH1 0x40
00000a3f: DUP1
00000a40: MLOAD
00000a41: MLOAD
00000a42: PUSH1 0x01
00000a44: PUSH1 0xa0
00000a46: PUSH1 0x02
00000a48: EXP
00000a49: SUB
00000a4a: CALLER
00000a4b: AND
00000a4c: PUSH1 0x00
00000a4e: SWAP1
00000a4f: DUP2
00000a50: MSTORE
00000a51: PUSH1 0x07
00000a53: PUSH1 0x20
00000a55: SWAP1
00000a56: DUP2
00000a57: MSTORE
00000a58: DUP4
00000a59: DUP3
00000a5a: KECCAK256
00000a5b: DUP4
00000a5c: DUP4
00000a5d: MSTORE
00000a5e: SWAP1
00000a5f: MSTORE
00000a60: SWAP2
00000a61: SWAP1
00000a62: SWAP2
00000a63: KECCAK256
00000a64: SLOAD
00000a65: SWAP1
00000a66: SWAP2
00000a67: POP
00000a68: PUSH1 0xff
00000a6a: AND
00000a6b: DUP1
00000a6c: PUSH2 0x0b1e
00000a6f: JUMPI
00000a70: POP
00000a71: PUSH1 0x40
00000a73: DUP1
00000a74: MLOAD
00000a75: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00000a96: DUP2
00000a97: MSTORE
00000a98: PUSH1 0x1c
00000a9a: DUP2
00000a9b: ADD
00000a9c: DUP4
00000a9d: SWAP1
00000a9e: MSTORE
00000a9f: DUP2
00000aa0: MLOAD
00000aa1: SWAP1
00000aa2: DUP2
00000aa3: SWAP1
00000aa4: SUB
00000aa5: PUSH1 0x3c
00000aa7: ADD
00000aa8: DUP2
00000aa9: KECCAK256
00000aaa: PUSH1 0x00
00000aac: DUP3
00000aad: DUP2
00000aae: MSTORE
00000aaf: PUSH1 0x20
00000ab1: DUP4
00000ab2: DUP2
00000ab3: ADD
00000ab4: DUP6
00000ab5: MSTORE
00000ab6: SWAP3
00000ab7: DUP5
00000ab8: ADD
00000ab9: DUP2
00000aba: SWAP1
00000abb: MSTORE
00000abc: DUP4
00000abd: MLOAD
00000abe: SWAP2
00000abf: DUP3
00000ac0: MSTORE
00000ac1: PUSH1 0xff
00000ac3: DUP9
00000ac4: AND
00000ac5: DUP3
00000ac6: DUP5
00000ac7: ADD
00000ac8: MSTORE
00000ac9: DUP2
00000aca: DUP5
00000acb: ADD
00000acc: DUP8
00000acd: SWAP1
00000ace: MSTORE
00000acf: PUSH1 0x60
00000ad1: DUP3
00000ad2: ADD
00000ad3: DUP7
00000ad4: SWAP1
00000ad5: MSTORE
00000ad6: SWAP3
00000ad7: MLOAD
00000ad8: PUSH1 0x01
00000ada: PUSH1 0xa0
00000adc: PUSH1 0x02
00000ade: EXP
00000adf: SUB
00000ae0: CALLER
00000ae1: AND
00000ae2: SWAP4
00000ae3: PUSH1 0x01
00000ae5: SWAP4
00000ae6: PUSH1 0x80
00000ae8: DUP1
00000ae9: DUP6
00000aea: ADD
00000aeb: SWAP5
00000aec: SWAP2
00000aed: SWAP4
00000aee: PUSH1 0x1f
00000af0: NOT
00000af1: DUP2
00000af2: ADD
00000af3: SWAP4
00000af4: SWAP3
00000af5: DUP2
00000af6: SWAP1
00000af7: SUB
00000af8: SWAP1
00000af9: SWAP2
00000afa: ADD
00000afb: SWAP2
00000afc: DUP7
00000afd: PUSH2 0x61da
00000b00: GAS
00000b01: SUB
00000b02: CALL
00000b03: ISZERO
00000b04: ISZERO
00000b05: PUSH2 0x0b0a
00000b08: JUMPI
00000b09: INVALID
00000b0a: JUMPDEST
00000b0b: POP
00000b0c: POP
00000b0d: PUSH1 0x20
00000b0f: PUSH1 0x40
00000b11: MLOAD
00000b12: SUB
00000b13: MLOAD
00000b14: PUSH1 0x01
00000b16: PUSH1 0xa0
00000b18: PUSH1 0x02
00000b1a: EXP
00000b1b: SUB
00000b1c: AND
00000b1d: EQ
00000b1e: JUMPDEST
00000b1f: ISZERO
00000b20: ISZERO
00000b21: PUSH2 0x0b29
00000b24: JUMPI
00000b25: PUSH2 0x0000
00000b28: JUMP
00000b29: JUMPDEST
00000b2a: PUSH1 0x01
00000b2c: PUSH1 0xa0
00000b2e: PUSH1 0x02
00000b30: EXP
00000b31: SUB
00000b32: CALLER
00000b33: DUP2
00000b34: AND
00000b35: PUSH1 0x00
00000b37: DUP2
00000b38: DUP2
00000b39: MSTORE
00000b3a: PUSH1 0x08
00000b3c: PUSH1 0x20
00000b3e: SWAP1
00000b3f: DUP2
00000b40: MSTORE
00000b41: PUSH1 0x40
00000b43: DUP1
00000b44: DUP4
00000b45: KECCAK256
00000b46: DUP7
00000b47: DUP5
00000b48: MSTORE
00000b49: DUP3
00000b4a: MSTORE
00000b4b: SWAP2
00000b4c: DUP3
00000b4d: SWAP1
00000b4e: KECCAK256
00000b4f: DUP14
00000b50: SWAP1
00000b51: SSTORE
00000b52: DUP2
00000b53: MLOAD
00000b54: DUP15
00000b55: DUP6
00000b56: AND
00000b57: DUP2
00000b58: MSTORE
00000b59: SWAP1
00000b5a: DUP2
00000b5b: ADD
00000b5c: DUP14
00000b5d: SWAP1
00000b5e: MSTORE
00000b5f: SWAP3
00000b60: DUP12
00000b61: AND
00000b62: DUP4
00000b63: DUP3
00000b64: ADD
00000b65: MSTORE
00000b66: PUSH1 0x60
00000b68: DUP4
00000b69: ADD
00000b6a: DUP11
00000b6b: SWAP1
00000b6c: MSTORE
00000b6d: PUSH1 0x80
00000b6f: DUP4
00000b70: ADD
00000b71: DUP10
00000b72: SWAP1
00000b73: MSTORE
00000b74: PUSH1 0xa0
00000b76: DUP4
00000b77: ADD
00000b78: DUP9
00000b79: SWAP1
00000b7a: MSTORE
00000b7b: PUSH1 0xc0
00000b7d: DUP4
00000b7e: ADD
00000b7f: SWAP2
00000b80: SWAP1
00000b81: SWAP2
00000b82: MSTORE
00000b83: PUSH1 0xff
00000b85: DUP7
00000b86: AND
00000b87: PUSH1 0xe0
00000b89: DUP4
00000b8a: ADD
00000b8b: MSTORE
00000b8c: PUSH2 0x0100
00000b8f: DUP3
00000b90: ADD
00000b91: DUP6
00000b92: SWAP1
00000b93: MSTORE
00000b94: PUSH2 0x0120
00000b97: DUP3
00000b98: ADD
00000b99: DUP5
00000b9a: SWAP1
00000b9b: MSTORE
00000b9c: MLOAD
00000b9d: PUSH32 0x1e0b760c386003e9cb9bcf4fcf3997886042859d9b6ed6320e804597fcdb28b0
00000bbe: SWAP2
00000bbf: DUP2
00000bc0: SWAP1
00000bc1: SUB
00000bc2: PUSH2 0x0140
00000bc5: ADD
00000bc6: SWAP1
00000bc7: LOG1
00000bc8: JUMPDEST
00000bc9: POP
00000bca: POP
00000bcb: POP
00000bcc: POP
00000bcd: POP
00000bce: POP
00000bcf: POP
00000bd0: POP
00000bd1: POP
00000bd2: POP
00000bd3: JUMP
00000bd4: JUMPDEST
00000bd5: CALLER
00000bd6: PUSH1 0x01
00000bd8: PUSH1 0xa0
00000bda: PUSH1 0x02
00000bdc: EXP
00000bdd: SUB
00000bde: AND
00000bdf: PUSH1 0x00
00000be1: SWAP1
00000be2: DUP2
00000be3: MSTORE
00000be4: PUSH1 0x00
00000be6: DUP1
00000be7: MLOAD
00000be8: PUSH1 0x20
00000bea: PUSH2 0x198a
00000bed: DUP4
00000bee: CODECOPY
00000bef: DUP2
00000bf0: MLOAD
00000bf1: SWAP2
00000bf2: MSTORE
00000bf3: PUSH1 0x20
00000bf5: MSTORE
00000bf6: PUSH1 0x40
00000bf8: SWAP1
00000bf9: KECCAK256
00000bfa: SLOAD
00000bfb: DUP2
00000bfc: SWAP1
00000bfd: LT
00000bfe: ISZERO
00000bff: PUSH2 0x0c07
00000c02: JUMPI
00000c03: PUSH2 0x0000
00000c06: JUMP
00000c07: JUMPDEST
00000c08: CALLER
00000c09: PUSH1 0x01
00000c0b: PUSH1 0xa0
00000c0d: PUSH1 0x02
00000c0f: EXP
00000c10: SUB
00000c11: AND
00000c12: PUSH1 0x00
00000c14: SWAP1
00000c15: DUP2
00000c16: MSTORE
00000c17: PUSH1 0x00
00000c19: DUP1
00000c1a: MLOAD
00000c1b: PUSH1 0x20
00000c1d: PUSH2 0x198a
00000c20: DUP4
00000c21: CODECOPY
00000c22: DUP2
00000c23: MLOAD
00000c24: SWAP2
00000c25: MSTORE
00000c26: PUSH1 0x20
00000c28: MSTORE
00000c29: PUSH1 0x40
00000c2b: SWAP1
00000c2c: KECCAK256
00000c2d: SLOAD
00000c2e: PUSH2 0x0c37
00000c31: SWAP1
00000c32: DUP3
00000c33: PUSH2 0x1931
00000c36: JUMP
00000c37: JUMPDEST
00000c38: CALLER
00000c39: PUSH1 0x01
00000c3b: PUSH1 0xa0
00000c3d: PUSH1 0x02
00000c3f: EXP
00000c40: SUB
00000c41: AND
00000c42: PUSH1 0x00
00000c44: DUP2
00000c45: DUP2
00000c46: MSTORE
00000c47: PUSH1 0x00
00000c49: DUP1
00000c4a: MLOAD
00000c4b: PUSH1 0x20
00000c4d: PUSH2 0x198a
00000c50: DUP4
00000c51: CODECOPY
00000c52: DUP2
00000c53: MLOAD
00000c54: SWAP2
00000c55: MSTORE
00000c56: PUSH1 0x20
00000c58: MSTORE
00000c59: PUSH1 0x40
00000c5b: DUP1
00000c5c: DUP3
00000c5d: KECCAK256
00000c5e: SWAP4
00000c5f: SWAP1
00000c60: SWAP4
00000c61: SSTORE
00000c62: SWAP2
00000c63: MLOAD
00000c64: SWAP1
00000c65: SWAP2
00000c66: DUP4
00000c67: SWAP2
00000c68: SWAP1
00000c69: DUP2
00000c6a: DUP2
00000c6b: DUP2
00000c6c: DUP6
00000c6d: DUP8
00000c6e: PUSH2 0x8502
00000c71: GAS
00000c72: SUB
00000c73: CALL
00000c74: SWAP3
00000c75: POP
00000c76: POP
00000c77: POP
00000c78: ISZERO
00000c79: ISZERO
00000c7a: PUSH2 0x0c82
00000c7d: JUMPI
00000c7e: PUSH2 0x0000
00000c81: JUMP
00000c82: JUMPDEST
00000c83: PUSH1 0x01
00000c85: PUSH1 0xa0
00000c87: PUSH1 0x02
00000c89: EXP
00000c8a: SUB
00000c8b: CALLER
00000c8c: AND
00000c8d: PUSH1 0x00
00000c8f: DUP2
00000c90: DUP2
00000c91: MSTORE
00000c92: PUSH1 0x00
00000c94: DUP1
00000c95: MLOAD
00000c96: PUSH1 0x20
00000c98: PUSH2 0x198a
00000c9b: DUP4
00000c9c: CODECOPY
00000c9d: DUP2
00000c9e: MLOAD
00000c9f: SWAP2
00000ca0: MSTORE
00000ca1: PUSH1 0x20
00000ca3: SWAP1
00000ca4: DUP2
00000ca5: MSTORE
00000ca6: PUSH1 0x40
00000ca8: DUP1
00000ca9: DUP4
00000caa: KECCAK256
00000cab: SLOAD
00000cac: DUP2
00000cad: MLOAD
00000cae: SWAP4
00000caf: DUP5
00000cb0: MSTORE
00000cb1: SWAP2
00000cb2: DUP4
00000cb3: ADD
00000cb4: SWAP4
00000cb5: SWAP1
00000cb6: SWAP4
00000cb7: MSTORE
00000cb8: DUP2
00000cb9: DUP4
00000cba: ADD
00000cbb: DUP5
00000cbc: SWAP1
00000cbd: MSTORE
00000cbe: PUSH1 0x60
00000cc0: DUP3
00000cc1: ADD
00000cc2: MSTORE
00000cc3: SWAP1
00000cc4: MLOAD
00000cc5: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567
00000ce6: SWAP2
00000ce7: DUP2
00000ce8: SWAP1
00000ce9: SUB
00000cea: PUSH1 0x80
00000cec: ADD
00000ced: SWAP1
00000cee: LOG1
00000cef: JUMPDEST
00000cf0: POP
00000cf1: JUMP
00000cf2: JUMPDEST
00000cf3: PUSH1 0x01
00000cf5: PUSH1 0xa0
00000cf7: PUSH1 0x02
00000cf9: EXP
00000cfa: SUB
00000cfb: DUP3
00000cfc: AND
00000cfd: ISZERO
00000cfe: ISZERO
00000cff: PUSH2 0x0d07
00000d02: JUMPI
00000d03: PUSH2 0x0000
00000d06: JUMP
00000d07: JUMPDEST
00000d08: PUSH1 0x40
00000d0a: DUP1
00000d0b: MLOAD
00000d0c: PUSH1 0x00
00000d0e: PUSH1 0x20
00000d10: SWAP2
00000d11: DUP3
00000d12: ADD
00000d13: DUP2
00000d14: SWAP1
00000d15: MSTORE
00000d16: DUP3
00000d17: MLOAD
00000d18: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00000d39: DUP2
00000d3a: MSTORE
00000d3b: PUSH1 0x01
00000d3d: PUSH1 0xa0
00000d3f: PUSH1 0x02
00000d41: EXP
00000d42: SUB
00000d43: CALLER
00000d44: DUP2
00000d45: AND
00000d46: PUSH1 0x04
00000d48: DUP4
00000d49: ADD
00000d4a: MSTORE
00000d4b: ADDRESS
00000d4c: DUP2
00000d4d: AND
00000d4e: PUSH1 0x24
00000d50: DUP4
00000d51: ADD
00000d52: MSTORE
00000d53: PUSH1 0x44
00000d55: DUP3
00000d56: ADD
00000d57: DUP7
00000d58: SWAP1
00000d59: MSTORE
00000d5a: SWAP4
00000d5b: MLOAD
00000d5c: SWAP4
00000d5d: DUP7
00000d5e: AND
00000d5f: SWAP4
00000d60: PUSH4 0x23b872dd
00000d65: SWAP4
00000d66: PUSH1 0x64
00000d68: DUP1
00000d69: DUP5
00000d6a: ADD
00000d6b: SWAP5
00000d6c: SWAP2
00000d6d: SWAP4
00000d6e: DUP4
00000d6f: SWAP1
00000d70: SUB
00000d71: ADD
00000d72: SWAP1
00000d73: DUP3
00000d74: SWAP1
00000d75: DUP8
00000d76: DUP1
00000d77: EXTCODESIZE
00000d78: ISZERO
00000d79: ISZERO
00000d7a: PUSH2 0x0d7f
00000d7d: JUMPI
00000d7e: INVALID
00000d7f: JUMPDEST
00000d80: PUSH1 0x32
00000d82: GAS
00000d83: SUB
00000d84: CALL
00000d85: ISZERO
00000d86: ISZERO
00000d87: PUSH2 0x0d8c
00000d8a: JUMPI
00000d8b: INVALID
00000d8c: JUMPDEST
00000d8d: POP
00000d8e: POP
00000d8f: PUSH1 0x40
00000d91: MLOAD
00000d92: MLOAD
00000d93: ISZERO
00000d94: ISZERO
00000d95: SWAP1
00000d96: POP
00000d97: PUSH2 0x0d9f
00000d9a: JUMPI
00000d9b: PUSH2 0x0000
00000d9e: JUMP
00000d9f: JUMPDEST
00000da0: PUSH1 0x01
00000da2: PUSH1 0xa0
00000da4: PUSH1 0x02
00000da6: EXP
00000da7: SUB
00000da8: DUP1
00000da9: DUP4
00000daa: AND
00000dab: PUSH1 0x00
00000dad: SWAP1
00000dae: DUP2
00000daf: MSTORE
00000db0: PUSH1 0x06
00000db2: PUSH1 0x20
00000db4: SWAP1
00000db5: DUP2
00000db6: MSTORE
00000db7: PUSH1 0x40
00000db9: DUP1
00000dba: DUP4
00000dbb: KECCAK256
00000dbc: CALLER
00000dbd: SWAP1
00000dbe: SWAP5
00000dbf: AND
00000dc0: DUP4
00000dc1: MSTORE
00000dc2: SWAP3
00000dc3: SWAP1
00000dc4: MSTORE
00000dc5: KECCAK256
00000dc6: SLOAD
00000dc7: PUSH2 0x0dd0
00000dca: SWAP1
00000dcb: DUP3
00000dcc: PUSH2 0x162d
00000dcf: JUMP
00000dd0: JUMPDEST
00000dd1: PUSH1 0x01
00000dd3: PUSH1 0xa0
00000dd5: PUSH1 0x02
00000dd7: EXP
00000dd8: SUB
00000dd9: DUP4
00000dda: DUP2
00000ddb: AND
00000ddc: PUSH1 0x00
00000dde: DUP2
00000ddf: DUP2
00000de0: MSTORE
00000de1: PUSH1 0x06
00000de3: PUSH1 0x20
00000de5: SWAP1
00000de6: DUP2
00000de7: MSTORE
00000de8: PUSH1 0x40
00000dea: DUP1
00000deb: DUP4
00000dec: KECCAK256
00000ded: CALLER
00000dee: SWAP1
00000def: SWAP6
00000df0: AND
00000df1: DUP1
00000df2: DUP5
00000df3: MSTORE
00000df4: SWAP5
00000df5: DUP3
00000df6: MSTORE
00000df7: SWAP2
00000df8: DUP3
00000df9: SWAP1
00000dfa: KECCAK256
00000dfb: DUP6
00000dfc: SWAP1
00000dfd: SSTORE
00000dfe: DUP2
00000dff: MLOAD
00000e00: SWAP3
00000e01: DUP4
00000e02: MSTORE
00000e03: DUP3
00000e04: ADD
00000e05: SWAP3
00000e06: SWAP1
00000e07: SWAP3
00000e08: MSTORE
00000e09: DUP1
00000e0a: DUP3
00000e0b: ADD
00000e0c: DUP5
00000e0d: SWAP1
00000e0e: MSTORE
00000e0f: PUSH1 0x60
00000e11: DUP2
00000e12: ADD
00000e13: SWAP3
00000e14: SWAP1
00000e15: SWAP3
00000e16: MSTORE
00000e17: MLOAD
00000e18: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00000e39: SWAP2
00000e3a: DUP2
00000e3b: SWAP1
00000e3c: SUB
00000e3d: PUSH1 0x80
00000e3f: ADD
00000e40: SWAP1
00000e41: LOG1
00000e42: JUMPDEST
00000e43: POP
00000e44: POP
00000e45: JUMP
00000e46: JUMPDEST
00000e47: PUSH1 0x00
00000e49: PUSH1 0x00
00000e4b: PUSH1 0x02
00000e4d: ADDRESS
00000e4e: DUP14
00000e4f: DUP14
00000e50: DUP14
00000e51: DUP14
00000e52: DUP14
00000e53: DUP14
00000e54: PUSH1 0x00
00000e56: PUSH1 0x40
00000e58: MLOAD
00000e59: PUSH1 0x20
00000e5b: ADD
00000e5c: MSTORE
00000e5d: PUSH1 0x40
00000e5f: MLOAD
00000e60: DUP1
00000e61: DUP9
00000e62: PUSH1 0x01
00000e64: PUSH1 0xa0
00000e66: PUSH1 0x02
00000e68: EXP
00000e69: SUB
00000e6a: AND
00000e6b: PUSH1 0x01
00000e6d: PUSH1 0xa0
00000e6f: PUSH1 0x02
00000e71: EXP
00000e72: SUB
00000e73: AND
00000e74: PUSH1 0x60
00000e76: PUSH1 0x02
00000e78: EXP
00000e79: MUL
00000e7a: DUP2
00000e7b: MSTORE
00000e7c: PUSH1 0x14
00000e7e: ADD
00000e7f: DUP8
00000e80: PUSH1 0x01
00000e82: PUSH1 0xa0
00000e84: PUSH1 0x02
00000e86: EXP
00000e87: SUB
00000e88: AND
00000e89: PUSH1 0x01
00000e8b: PUSH1 0xa0
00000e8d: PUSH1 0x02
00000e8f: EXP
00000e90: SUB
00000e91: AND
00000e92: PUSH1 0x60
00000e94: PUSH1 0x02
00000e96: EXP
00000e97: MUL
00000e98: DUP2
00000e99: MSTORE
00000e9a: PUSH1 0x14
00000e9c: ADD
00000e9d: DUP7
00000e9e: DUP2
00000e9f: MSTORE
00000ea0: PUSH1 0x20
00000ea2: ADD
00000ea3: DUP6
00000ea4: PUSH1 0x01
00000ea6: PUSH1 0xa0
00000ea8: PUSH1 0x02
00000eaa: EXP
00000eab: SUB
00000eac: AND
00000ead: PUSH1 0x01
00000eaf: PUSH1 0xa0
00000eb1: PUSH1 0x02
00000eb3: EXP
00000eb4: SUB
00000eb5: AND
00000eb6: PUSH1 0x60
00000eb8: PUSH1 0x02
00000eba: EXP
00000ebb: MUL
00000ebc: DUP2
00000ebd: MSTORE
00000ebe: PUSH1 0x14
00000ec0: ADD
00000ec1: DUP5
00000ec2: DUP2
00000ec3: MSTORE
00000ec4: PUSH1 0x20
00000ec6: ADD
00000ec7: DUP4
00000ec8: DUP2
00000ec9: MSTORE
00000eca: PUSH1 0x20
00000ecc: ADD
00000ecd: DUP3
00000ece: DUP2
00000ecf: MSTORE
00000ed0: PUSH1 0x20
00000ed2: ADD
00000ed3: SWAP8
00000ed4: POP
00000ed5: POP
00000ed6: POP
00000ed7: POP
00000ed8: POP
00000ed9: POP
00000eda: POP
00000edb: POP
00000edc: PUSH1 0x20
00000ede: PUSH1 0x40
00000ee0: MLOAD
00000ee1: DUP1
00000ee2: DUP4
00000ee3: SUB
00000ee4: DUP2
00000ee5: PUSH1 0x00
00000ee7: DUP7
00000ee8: PUSH2 0x61da
00000eeb: GAS
00000eec: SUB
00000eed: CALL
00000eee: ISZERO
00000eef: ISZERO
00000ef0: PUSH2 0x0ef5
00000ef3: JUMPI
00000ef4: INVALID
00000ef5: JUMPDEST
00000ef6: POP
00000ef7: POP
00000ef8: PUSH1 0x40
00000efa: DUP1
00000efb: MLOAD
00000efc: MLOAD
00000efd: PUSH1 0x01
00000eff: PUSH1 0xa0
00000f01: PUSH1 0x02
00000f03: EXP
00000f04: SUB
00000f05: DUP9
00000f06: AND
00000f07: PUSH1 0x00
00000f09: SWAP1
00000f0a: DUP2
00000f0b: MSTORE
00000f0c: PUSH1 0x08
00000f0e: PUSH1 0x20
00000f10: SWAP1
00000f11: DUP2
00000f12: MSTORE
00000f13: DUP4
00000f14: DUP3
00000f15: KECCAK256
00000f16: DUP4
00000f17: DUP4
00000f18: MSTORE
00000f19: SWAP1
00000f1a: MSTORE
00000f1b: SWAP2
00000f1c: SWAP1
00000f1d: SWAP2
00000f1e: KECCAK256
00000f1f: SLOAD
00000f20: SWAP3
00000f21: POP
00000f22: SWAP1
00000f23: POP
00000f24: JUMPDEST
00000f25: POP
00000f26: SWAP11
00000f27: SWAP10
00000f28: POP
00000f29: POP
00000f2a: POP
00000f2b: POP
00000f2c: POP
00000f2d: POP
00000f2e: POP
00000f2f: POP
00000f30: POP
00000f31: POP
00000f32: JUMP
00000f33: JUMPDEST
00000f34: PUSH1 0x06
00000f36: PUSH1 0x20
00000f38: SWAP1
00000f39: DUP2
00000f3a: MSTORE
00000f3b: PUSH1 0x00
00000f3d: SWAP3
00000f3e: DUP4
00000f3f: MSTORE
00000f40: PUSH1 0x40
00000f42: DUP1
00000f43: DUP5
00000f44: KECCAK256
00000f45: SWAP1
00000f46: SWAP2
00000f47: MSTORE
00000f48: SWAP1
00000f49: DUP3
00000f4a: MSTORE
00000f4b: SWAP1
00000f4c: KECCAK256
00000f4d: SLOAD
00000f4e: DUP2
00000f4f: JUMP
00000f50: JUMPDEST
00000f51: PUSH1 0x00
00000f53: SLOAD
00000f54: CALLER
00000f55: PUSH1 0x01
00000f57: PUSH1 0xa0
00000f59: PUSH1 0x02
00000f5b: EXP
00000f5c: SUB
00000f5d: SWAP1
00000f5e: DUP2
00000f5f: AND
00000f60: SWAP2
00000f61: AND
00000f62: EQ
00000f63: PUSH2 0x0f6b
00000f66: JUMPI
00000f67: PUSH2 0x0000
00000f6a: JUMP
00000f6b: JUMPDEST
00000f6c: PUSH1 0x03
00000f6e: SLOAD
00000f6f: DUP2
00000f70: GT
00000f71: ISZERO
00000f72: PUSH2 0x0f7a
00000f75: JUMPI
00000f76: PUSH2 0x0000
00000f79: JUMP
00000f7a: JUMPDEST
00000f7b: PUSH1 0x03
00000f7d: DUP2
00000f7e: SWAP1
00000f7f: SSTORE
00000f80: JUMPDEST
00000f81: POP
00000f82: JUMP
00000f83: JUMPDEST
00000f84: PUSH1 0x03
00000f86: SLOAD
00000f87: DUP2
00000f88: JUMP
00000f89: JUMPDEST
00000f8a: PUSH1 0x00
00000f8c: SLOAD
00000f8d: CALLER
00000f8e: PUSH1 0x01
00000f90: PUSH1 0xa0
00000f92: PUSH1 0x02
00000f94: EXP
00000f95: SUB
00000f96: SWAP1
00000f97: DUP2
00000f98: AND
00000f99: SWAP2
00000f9a: AND
00000f9b: EQ
00000f9c: PUSH2 0x0fa4
00000f9f: JUMPI
00000fa0: PUSH2 0x0000
00000fa3: JUMP
00000fa4: JUMPDEST
00000fa5: PUSH1 0x05
00000fa7: SLOAD
00000fa8: DUP2
00000fa9: LT
00000faa: DUP1
00000fab: PUSH2 0x0fb5
00000fae: JUMPI
00000faf: POP
00000fb0: PUSH1 0x04
00000fb2: SLOAD
00000fb3: DUP2
00000fb4: GT
00000fb5: JUMPDEST
00000fb6: ISZERO
00000fb7: PUSH2 0x0fbf
00000fba: JUMPI
00000fbb: PUSH2 0x0000
00000fbe: JUMP
00000fbf: JUMPDEST
00000fc0: PUSH1 0x05
00000fc2: DUP2
00000fc3: SWAP1
00000fc4: SSTORE
00000fc5: JUMPDEST
00000fc6: POP
00000fc7: JUMP
00000fc8: JUMPDEST
00000fc9: PUSH1 0x01
00000fcb: SLOAD
00000fcc: PUSH1 0x01
00000fce: PUSH1 0xa0
00000fd0: PUSH1 0x02
00000fd2: EXP
00000fd3: SUB
00000fd4: AND
00000fd5: DUP2
00000fd6: JUMP
00000fd7: JUMPDEST
00000fd8: PUSH1 0x01
00000fda: PUSH1 0xa0
00000fdc: PUSH1 0x02
00000fde: EXP
00000fdf: SUB
00000fe0: DUP1
00000fe1: DUP14
00000fe2: AND
00000fe3: PUSH1 0x00
00000fe5: SWAP1
00000fe6: DUP2
00000fe7: MSTORE
00000fe8: PUSH1 0x06
00000fea: PUSH1 0x20
00000fec: SWAP1
00000fed: DUP2
00000fee: MSTORE
00000fef: PUSH1 0x40
00000ff1: DUP1
00000ff2: DUP4
00000ff3: KECCAK256
00000ff4: SWAP4
00000ff5: DUP6
00000ff6: AND
00000ff7: DUP4
00000ff8: MSTORE
00000ff9: SWAP3
00000ffa: SWAP1
00000ffb: MSTORE
00000ffc: SWAP1
00000ffd: DUP2
00000ffe: KECCAK256
00000fff: SLOAD
00001000: DUP4
00001001: SWAP1
00001002: LT
00001003: DUP1
00001004: ISZERO
00001005: SWAP1
00001006: PUSH2 0x1020
00001009: JUMPI
0000100a: POP
0000100b: DUP3
0000100c: PUSH2 0x101d
0000100f: DUP15
00001010: DUP15
00001011: DUP15
00001012: DUP15
00001013: DUP15
00001014: DUP15
00001015: DUP15
00001016: DUP15
00001017: DUP15
00001018: DUP15
00001019: PUSH2 0x13e6
0000101c: JUMP
0000101d: JUMPDEST
0000101e: LT
0000101f: ISZERO
00001020: JUMPDEST
00001021: ISZERO
00001022: ISZERO
00001023: PUSH2 0x102e
00001026: JUMPI
00001027: POP
00001028: PUSH1 0x00
0000102a: PUSH2 0x1032
0000102d: JUMP
0000102e: JUMPDEST
0000102f: POP
00001030: PUSH1 0x01
00001032: JUMPDEST
00001033: SWAP13
00001034: SWAP12
00001035: POP
00001036: POP
00001037: POP
00001038: POP
00001039: POP
0000103a: POP
0000103b: POP
0000103c: POP
0000103d: POP
0000103e: POP
0000103f: POP
00001040: POP
00001041: JUMP
00001042: JUMPDEST
00001043: PUSH1 0x00
00001045: SLOAD
00001046: CALLER
00001047: PUSH1 0x01
00001049: PUSH1 0xa0
0000104b: PUSH1 0x02
0000104d: EXP
0000104e: SUB
0000104f: SWAP1
00001050: DUP2
00001051: AND
00001052: SWAP2
00001053: AND
00001054: EQ
00001055: PUSH2 0x105d
00001058: JUMPI
00001059: PUSH2 0x0000
0000105c: JUMP
0000105d: JUMPDEST
0000105e: PUSH1 0x01
00001060: DUP1
00001061: SLOAD
00001062: PUSH1 0x01
00001064: PUSH1 0xa0
00001066: PUSH1 0x02
00001068: EXP
00001069: SUB
0000106a: NOT
0000106b: AND
0000106c: PUSH1 0x01
0000106e: PUSH1 0xa0
00001070: PUSH1 0x02
00001072: EXP
00001073: SUB
00001074: DUP4
00001075: AND
00001076: OR
00001077: SWAP1
00001078: SSTORE
00001079: JUMPDEST
0000107a: POP
0000107b: JUMP
0000107c: JUMPDEST
0000107d: PUSH1 0x05
0000107f: SLOAD
00001080: DUP2
00001081: JUMP
00001082: JUMPDEST
00001083: PUSH1 0x00
00001085: SLOAD
00001086: CALLER
00001087: PUSH1 0x01
00001089: PUSH1 0xa0
0000108b: PUSH1 0x02
0000108d: EXP
0000108e: SUB
0000108f: SWAP1
00001090: DUP2
00001091: AND
00001092: SWAP2
00001093: AND
00001094: EQ
00001095: PUSH2 0x109d
00001098: JUMPI
00001099: PUSH2 0x0000
0000109c: JUMP
0000109d: JUMPDEST
0000109e: PUSH1 0x04
000010a0: SLOAD
000010a1: DUP2
000010a2: GT
000010a3: DUP1
000010a4: PUSH2 0x10ae
000010a7: JUMPI
000010a8: POP
000010a9: PUSH1 0x05
000010ab: SLOAD
000010ac: DUP2
000010ad: LT
000010ae: JUMPDEST
000010af: ISZERO
000010b0: PUSH2 0x10b8
000010b3: JUMPI
000010b4: PUSH2 0x0000
000010b7: JUMP
000010b8: JUMPDEST
000010b9: PUSH1 0x04
000010bb: DUP2
000010bc: SWAP1
000010bd: SSTORE
000010be: JUMPDEST
000010bf: POP
000010c0: JUMP
000010c1: JUMPDEST
000010c2: PUSH1 0x00
000010c4: SLOAD
000010c5: CALLER
000010c6: PUSH1 0x01
000010c8: PUSH1 0xa0
000010ca: PUSH1 0x02
000010cc: EXP
000010cd: SUB
000010ce: SWAP1
000010cf: DUP2
000010d0: AND
000010d1: SWAP2
000010d2: AND
000010d3: EQ
000010d4: PUSH2 0x10dc
000010d7: JUMPI
000010d8: PUSH2 0x0000
000010db: JUMP
000010dc: JUMPDEST
000010dd: PUSH1 0x00
000010df: DUP1
000010e0: SLOAD
000010e1: PUSH1 0x01
000010e3: PUSH1 0xa0
000010e5: PUSH1 0x02
000010e7: EXP
000010e8: SUB
000010e9: NOT
000010ea: AND
000010eb: PUSH1 0x01
000010ed: PUSH1 0xa0
000010ef: PUSH1 0x02
000010f1: EXP
000010f2: SUB
000010f3: DUP4
000010f4: AND
000010f5: OR
000010f6: SWAP1
000010f7: SSTORE
000010f8: JUMPDEST
000010f9: POP
000010fa: JUMP
000010fb: JUMPDEST
000010fc: PUSH1 0x01
000010fe: PUSH1 0xa0
00001100: PUSH1 0x02
00001102: EXP
00001103: SUB
00001104: DUP3
00001105: AND
00001106: ISZERO
00001107: ISZERO
00001108: PUSH2 0x1110
0000110b: JUMPI
0000110c: PUSH2 0x0000
0000110f: JUMP
00001110: JUMPDEST
00001111: PUSH1 0x01
00001113: PUSH1 0xa0
00001115: PUSH1 0x02
00001117: EXP
00001118: SUB
00001119: DUP1
0000111a: DUP4
0000111b: AND
0000111c: PUSH1 0x00
0000111e: SWAP1
0000111f: DUP2
00001120: MSTORE
00001121: PUSH1 0x06
00001123: PUSH1 0x20
00001125: SWAP1
00001126: DUP2
00001127: MSTORE
00001128: PUSH1 0x40
0000112a: DUP1
0000112b: DUP4
0000112c: KECCAK256
0000112d: CALLER
0000112e: SWAP1
0000112f: SWAP5
00001130: AND
00001131: DUP4
00001132: MSTORE
00001133: SWAP3
00001134: SWAP1
00001135: MSTORE
00001136: KECCAK256
00001137: SLOAD
00001138: DUP2
00001139: SWAP1
0000113a: LT
0000113b: ISZERO
0000113c: PUSH2 0x1144
0000113f: JUMPI
00001140: PUSH2 0x0000
00001143: JUMP
00001144: JUMPDEST
00001145: PUSH1 0x01
00001147: PUSH1 0xa0
00001149: PUSH1 0x02
0000114b: EXP
0000114c: SUB
0000114d: DUP1
0000114e: DUP4
0000114f: AND
00001150: PUSH1 0x00
00001152: SWAP1
00001153: DUP2
00001154: MSTORE
00001155: PUSH1 0x06
00001157: PUSH1 0x20
00001159: SWAP1
0000115a: DUP2
0000115b: MSTORE
0000115c: PUSH1 0x40
0000115e: DUP1
0000115f: DUP4
00001160: KECCAK256
00001161: CALLER
00001162: SWAP1
00001163: SWAP5
00001164: AND
00001165: DUP4
00001166: MSTORE
00001167: SWAP3
00001168: SWAP1
00001169: MSTORE
0000116a: KECCAK256
0000116b: SLOAD
0000116c: PUSH2 0x1175
0000116f: SWAP1
00001170: DUP3
00001171: PUSH2 0x1931
00001174: JUMP
00001175: JUMPDEST
00001176: PUSH1 0x01
00001178: PUSH1 0xa0
0000117a: PUSH1 0x02
0000117c: EXP
0000117d: SUB
0000117e: DUP1
0000117f: DUP5
00001180: AND
00001181: PUSH1 0x00
00001183: DUP2
00001184: DUP2
00001185: MSTORE
00001186: PUSH1 0x06
00001188: PUSH1 0x20
0000118a: SWAP1
0000118b: DUP2
0000118c: MSTORE
0000118d: PUSH1 0x40
0000118f: DUP1
00001190: DUP4
00001191: KECCAK256
00001192: CALLER
00001193: SWAP1
00001194: SWAP6
00001195: AND
00001196: DUP1
00001197: DUP5
00001198: MSTORE
00001199: SWAP5
0000119a: DUP3
0000119b: MSTORE
0000119c: DUP1
0000119d: DUP4
0000119e: KECCAK256
0000119f: SWAP6
000011a0: SWAP1
000011a1: SWAP6
000011a2: SSTORE
000011a3: DUP5
000011a4: MLOAD
000011a5: DUP2
000011a6: ADD
000011a7: DUP3
000011a8: SWAP1
000011a9: MSTORE
000011aa: DUP5
000011ab: MLOAD
000011ac: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000011cd: DUP2
000011ce: MSTORE
000011cf: PUSH1 0x04
000011d1: DUP2
000011d2: ADD
000011d3: SWAP5
000011d4: SWAP1
000011d5: SWAP5
000011d6: MSTORE
000011d7: PUSH1 0x24
000011d9: DUP5
000011da: ADD
000011db: DUP7
000011dc: SWAP1
000011dd: MSTORE
000011de: SWAP4
000011df: MLOAD
000011e0: SWAP2
000011e1: SWAP4
000011e2: PUSH4 0xa9059cbb
000011e7: SWAP4
000011e8: PUSH1 0x44
000011ea: DUP1
000011eb: DUP3
000011ec: ADD
000011ed: SWAP5
000011ee: SWAP3
000011ef: SWAP4
000011f0: SWAP2
000011f1: DUP4
000011f2: SWAP1
000011f3: SUB
000011f4: ADD
000011f5: SWAP1
000011f6: DUP3
000011f7: SWAP1
000011f8: DUP8
000011f9: DUP1
000011fa: EXTCODESIZE
000011fb: ISZERO
000011fc: ISZERO
000011fd: PUSH2 0x1202
00001200: JUMPI
00001201: INVALID
00001202: JUMPDEST
00001203: PUSH1 0x32
00001205: GAS
00001206: SUB
00001207: CALL
00001208: ISZERO
00001209: ISZERO
0000120a: PUSH2 0x120f
0000120d: JUMPI
0000120e: INVALID
0000120f: JUMPDEST
00001210: POP
00001211: POP
00001212: PUSH1 0x40
00001214: MLOAD
00001215: MLOAD
00001216: ISZERO
00001217: ISZERO
00001218: SWAP1
00001219: POP
0000121a: PUSH2 0x1222
0000121d: JUMPI
0000121e: PUSH2 0x0000
00001221: JUMP
00001222: JUMPDEST
00001223: PUSH1 0x01
00001225: PUSH1 0xa0
00001227: PUSH1 0x02
00001229: EXP
0000122a: SUB
0000122b: DUP1
0000122c: DUP4
0000122d: AND
0000122e: PUSH1 0x00
00001230: DUP2
00001231: DUP2
00001232: MSTORE
00001233: PUSH1 0x06
00001235: PUSH1 0x20
00001237: SWAP1
00001238: DUP2
00001239: MSTORE
0000123a: PUSH1 0x40
0000123c: DUP1
0000123d: DUP4
0000123e: KECCAK256
0000123f: CALLER
00001240: SWAP6
00001241: SWAP1
00001242: SWAP6
00001243: AND
00001244: DUP1
00001245: DUP5
00001246: MSTORE
00001247: SWAP5
00001248: DUP3
00001249: MSTORE
0000124a: SWAP2
0000124b: DUP3
0000124c: SWAP1
0000124d: KECCAK256
0000124e: SLOAD
0000124f: DUP3
00001250: MLOAD
00001251: SWAP4
00001252: DUP5
00001253: MSTORE
00001254: SWAP1
00001255: DUP4
00001256: ADD
00001257: SWAP4
00001258: SWAP1
00001259: SWAP4
0000125a: MSTORE
0000125b: DUP2
0000125c: DUP2
0000125d: ADD
0000125e: DUP5
0000125f: SWAP1
00001260: MSTORE
00001261: PUSH1 0x60
00001263: DUP3
00001264: ADD
00001265: SWAP3
00001266: SWAP1
00001267: SWAP3
00001268: MSTORE
00001269: SWAP1
0000126a: MLOAD
0000126b: PUSH32 0xf341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb567
0000128c: SWAP2
0000128d: DUP2
0000128e: SWAP1
0000128f: SUB
00001290: PUSH1 0x80
00001292: ADD
00001293: SWAP1
00001294: LOG1
00001295: JUMPDEST
00001296: POP
00001297: POP
00001298: JUMP
00001299: JUMPDEST
0000129a: PUSH1 0x07
0000129c: PUSH1 0x20
0000129e: SWAP1
0000129f: DUP2
000012a0: MSTORE
000012a1: PUSH1 0x00
000012a3: SWAP3
000012a4: DUP4
000012a5: MSTORE
000012a6: PUSH1 0x40
000012a8: DUP1
000012a9: DUP5
000012aa: KECCAK256
000012ab: SWAP1
000012ac: SWAP2
000012ad: MSTORE
000012ae: SWAP1
000012af: DUP3
000012b0: MSTORE
000012b1: SWAP1
000012b2: KECCAK256
000012b3: SLOAD
000012b4: PUSH1 0xff
000012b6: AND
000012b7: DUP2
000012b8: JUMP
000012b9: JUMPDEST
000012ba: PUSH1 0x04
000012bc: SLOAD
000012bd: DUP2
000012be: JUMP
000012bf: JUMPDEST
000012c0: CALLER
000012c1: PUSH1 0x01
000012c3: PUSH1 0xa0
000012c5: PUSH1 0x02
000012c7: EXP
000012c8: SUB
000012c9: AND
000012ca: PUSH1 0x00
000012cc: SWAP1
000012cd: DUP2
000012ce: MSTORE
000012cf: PUSH1 0x00
000012d1: DUP1
000012d2: MLOAD
000012d3: PUSH1 0x20
000012d5: PUSH2 0x198a
000012d8: DUP4
000012d9: CODECOPY
000012da: DUP2
000012db: MLOAD
000012dc: SWAP2
000012dd: MSTORE
000012de: PUSH1 0x20
000012e0: MSTORE
000012e1: PUSH1 0x40
000012e3: SWAP1
000012e4: KECCAK256
000012e5: SLOAD
000012e6: PUSH2 0x12ef
000012e9: SWAP1
000012ea: CALLVALUE
000012eb: PUSH2 0x162d
000012ee: JUMP
000012ef: JUMPDEST
000012f0: CALLER
000012f1: PUSH1 0x01
000012f3: PUSH1 0xa0
000012f5: PUSH1 0x02
000012f7: EXP
000012f8: SUB
000012f9: AND
000012fa: PUSH1 0x00
000012fc: DUP2
000012fd: DUP2
000012fe: MSTORE
000012ff: PUSH1 0x00
00001301: DUP1
00001302: MLOAD
00001303: PUSH1 0x20
00001305: PUSH2 0x198a
00001308: DUP4
00001309: CODECOPY
0000130a: DUP2
0000130b: MLOAD
0000130c: SWAP2
0000130d: MSTORE
0000130e: PUSH1 0x20
00001310: SWAP1
00001311: DUP2
00001312: MSTORE
00001313: PUSH1 0x40
00001315: DUP1
00001316: DUP4
00001317: KECCAK256
00001318: DUP6
00001319: SWAP1
0000131a: SSTORE
0000131b: DUP1
0000131c: MLOAD
0000131d: SWAP3
0000131e: DUP4
0000131f: MSTORE
00001320: SWAP1
00001321: DUP3
00001322: ADD
00001323: SWAP3
00001324: SWAP1
00001325: SWAP3
00001326: MSTORE
00001327: CALLVALUE
00001328: DUP2
00001329: DUP4
0000132a: ADD
0000132b: MSTORE
0000132c: PUSH1 0x60
0000132e: DUP2
0000132f: ADD
00001330: SWAP3
00001331: SWAP1
00001332: SWAP3
00001333: MSTORE
00001334: MLOAD
00001335: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00001356: SWAP2
00001357: DUP2
00001358: SWAP1
00001359: SUB
0000135a: PUSH1 0x80
0000135c: ADD
0000135d: SWAP1
0000135e: LOG1
0000135f: JUMPDEST
00001360: JUMP
00001361: JUMPDEST
00001362: PUSH1 0x00
00001364: SLOAD
00001365: CALLER
00001366: PUSH1 0x01
00001368: PUSH1 0xa0
0000136a: PUSH1 0x02
0000136c: EXP
0000136d: SUB
0000136e: SWAP1
0000136f: DUP2
00001370: AND
00001371: SWAP2
00001372: AND
00001373: EQ
00001374: PUSH2 0x137c
00001377: JUMPI
00001378: PUSH2 0x0000
0000137b: JUMP
0000137c: JUMPDEST
0000137d: PUSH1 0x02
0000137f: DUP1
00001380: SLOAD
00001381: PUSH1 0x01
00001383: PUSH1 0xa0
00001385: PUSH1 0x02
00001387: EXP
00001388: SUB
00001389: NOT
0000138a: AND
0000138b: PUSH1 0x01
0000138d: PUSH1 0xa0
0000138f: PUSH1 0x02
00001391: EXP
00001392: SUB
00001393: DUP4
00001394: AND
00001395: OR
00001396: SWAP1
00001397: SSTORE
00001398: JUMPDEST
00001399: POP
0000139a: JUMP
0000139b: JUMPDEST
0000139c: PUSH1 0x02
0000139e: SLOAD
0000139f: PUSH1 0x01
000013a1: PUSH1 0xa0
000013a3: PUSH1 0x02
000013a5: EXP
000013a6: SUB
000013a7: AND
000013a8: DUP2
000013a9: JUMP
000013aa: JUMPDEST
000013ab: PUSH1 0x01
000013ad: PUSH1 0xa0
000013af: PUSH1 0x02
000013b1: EXP
000013b2: SUB
000013b3: DUP1
000013b4: DUP4
000013b5: AND
000013b6: PUSH1 0x00
000013b8: SWAP1
000013b9: DUP2
000013ba: MSTORE
000013bb: PUSH1 0x06
000013bd: PUSH1 0x20
000013bf: SWAP1
000013c0: DUP2
000013c1: MSTORE
000013c2: PUSH1 0x40
000013c4: DUP1
000013c5: DUP4
000013c6: KECCAK256
000013c7: SWAP4
000013c8: DUP6
000013c9: AND
000013ca: DUP4
000013cb: MSTORE
000013cc: SWAP3
000013cd: SWAP1
000013ce: MSTORE
000013cf: KECCAK256
000013d0: SLOAD
000013d1: JUMPDEST
000013d2: SWAP3
000013d3: SWAP2
000013d4: POP
000013d5: POP
000013d6: JUMP
000013d7: JUMPDEST
000013d8: PUSH1 0x00
000013da: SLOAD
000013db: PUSH1 0x01
000013dd: PUSH1 0xa0
000013df: PUSH1 0x02
000013e1: EXP
000013e2: SUB
000013e3: AND
000013e4: DUP2
000013e5: JUMP
000013e6: JUMPDEST
000013e7: PUSH1 0x00
000013e9: PUSH1 0x00
000013eb: PUSH1 0x00
000013ed: PUSH1 0x00
000013ef: PUSH1 0x02
000013f1: ADDRESS
000013f2: DUP16
000013f3: DUP16
000013f4: DUP16
000013f5: DUP16
000013f6: DUP16
000013f7: DUP16
000013f8: PUSH1 0x00
000013fa: PUSH1 0x40
000013fc: MLOAD
000013fd: PUSH1 0x20
000013ff: ADD
00001400: MSTORE
00001401: PUSH1 0x40
00001403: MLOAD
00001404: DUP1
00001405: DUP9
00001406: PUSH1 0x01
00001408: PUSH1 0xa0
0000140a: PUSH1 0x02
0000140c: EXP
0000140d: SUB
0000140e: AND
0000140f: PUSH1 0x01
00001411: PUSH1 0xa0
00001413: PUSH1 0x02
00001415: EXP
00001416: SUB
00001417: AND
00001418: PUSH1 0x60
0000141a: PUSH1 0x02
0000141c: EXP
0000141d: MUL
0000141e: DUP2
0000141f: MSTORE
00001420: PUSH1 0x14
00001422: ADD
00001423: DUP8
00001424: PUSH1 0x01
00001426: PUSH1 0xa0
00001428: PUSH1 0x02
0000142a: EXP
0000142b: SUB
0000142c: AND
0000142d: PUSH1 0x01
0000142f: PUSH1 0xa0
00001431: PUSH1 0x02
00001433: EXP
00001434: SUB
00001435: AND
00001436: PUSH1 0x60
00001438: PUSH1 0x02
0000143a: EXP
0000143b: MUL
0000143c: DUP2
0000143d: MSTORE
0000143e: PUSH1 0x14
00001440: ADD
00001441: DUP7
00001442: DUP2
00001443: MSTORE
00001444: PUSH1 0x20
00001446: ADD
00001447: DUP6
00001448: PUSH1 0x01
0000144a: PUSH1 0xa0
0000144c: PUSH1 0x02
0000144e: EXP
0000144f: SUB
00001450: AND
00001451: PUSH1 0x01
00001453: PUSH1 0xa0
00001455: PUSH1 0x02
00001457: EXP
00001458: SUB
00001459: AND
0000145a: PUSH1 0x60
0000145c: PUSH1 0x02
0000145e: EXP
0000145f: MUL
00001460: DUP2
00001461: MSTORE
00001462: PUSH1 0x14
00001464: ADD
00001465: DUP5
00001466: DUP2
00001467: MSTORE
00001468: PUSH1 0x20
0000146a: ADD
0000146b: DUP4
0000146c: DUP2
0000146d: MSTORE
0000146e: PUSH1 0x20
00001470: ADD
00001471: DUP3
00001472: DUP2
00001473: MSTORE
00001474: PUSH1 0x20
00001476: ADD
00001477: SWAP8
00001478: POP
00001479: POP
0000147a: POP
0000147b: POP
0000147c: POP
0000147d: POP
0000147e: POP
0000147f: POP
00001480: PUSH1 0x20
00001482: PUSH1 0x40
00001484: MLOAD
00001485: DUP1
00001486: DUP4
00001487: SUB
00001488: DUP2
00001489: PUSH1 0x00
0000148b: DUP7
0000148c: PUSH2 0x61da
0000148f: GAS
00001490: SUB
00001491: CALL
00001492: ISZERO
00001493: ISZERO
00001494: PUSH2 0x1499
00001497: JUMPI
00001498: INVALID
00001499: JUMPDEST
0000149a: POP
0000149b: POP
0000149c: PUSH1 0x40
0000149e: DUP1
0000149f: MLOAD
000014a0: MLOAD
000014a1: PUSH1 0x01
000014a3: PUSH1 0xa0
000014a5: PUSH1 0x02
000014a7: EXP
000014a8: SUB
000014a9: DUP11
000014aa: AND
000014ab: PUSH1 0x00
000014ad: SWAP1
000014ae: DUP2
000014af: MSTORE
000014b0: PUSH1 0x07
000014b2: PUSH1 0x20
000014b4: SWAP1
000014b5: DUP2
000014b6: MSTORE
000014b7: DUP4
000014b8: DUP3
000014b9: KECCAK256
000014ba: DUP4
000014bb: DUP4
000014bc: MSTORE
000014bd: SWAP1
000014be: MSTORE
000014bf: SWAP2
000014c0: SWAP1
000014c1: SWAP2
000014c2: KECCAK256
000014c3: SLOAD
000014c4: SWAP1
000014c5: SWAP4
000014c6: POP
000014c7: PUSH1 0xff
000014c9: AND
000014ca: DUP1
000014cb: PUSH2 0x157d
000014ce: JUMPI
000014cf: POP
000014d0: PUSH1 0x40
000014d2: DUP1
000014d3: MLOAD
000014d4: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
000014f5: DUP2
000014f6: MSTORE
000014f7: PUSH1 0x1c
000014f9: DUP2
000014fa: ADD
000014fb: DUP6
000014fc: SWAP1
000014fd: MSTORE
000014fe: DUP2
000014ff: MLOAD
00001500: SWAP1
00001501: DUP2
00001502: SWAP1
00001503: SUB
00001504: PUSH1 0x3c
00001506: ADD
00001507: DUP2
00001508: KECCAK256
00001509: PUSH1 0x00
0000150b: DUP3
0000150c: DUP2
0000150d: MSTORE
0000150e: PUSH1 0x20
00001510: DUP4
00001511: DUP2
00001512: ADD
00001513: DUP6
00001514: MSTORE
00001515: SWAP3
00001516: DUP5
00001517: ADD
00001518: DUP2
00001519: SWAP1
0000151a: MSTORE
0000151b: DUP4
0000151c: MLOAD
0000151d: SWAP2
0000151e: DUP3
0000151f: MSTORE
00001520: PUSH1 0xff
00001522: DUP12
00001523: AND
00001524: DUP3
00001525: DUP5
00001526: ADD
00001527: MSTORE
00001528: DUP2
00001529: DUP5
0000152a: ADD
0000152b: DUP11
0000152c: SWAP1
0000152d: MSTORE
0000152e: PUSH1 0x60
00001530: DUP3
00001531: ADD
00001532: DUP10
00001533: SWAP1
00001534: MSTORE
00001535: SWAP3
00001536: MLOAD
00001537: PUSH1 0x01
00001539: PUSH1 0xa0
0000153b: PUSH1 0x02
0000153d: EXP
0000153e: SUB
0000153f: DUP13
00001540: AND
00001541: SWAP4
00001542: PUSH1 0x01
00001544: SWAP4
00001545: PUSH1 0x80
00001547: DUP1
00001548: DUP6
00001549: ADD
0000154a: SWAP5
0000154b: SWAP2
0000154c: SWAP4
0000154d: PUSH1 0x1f
0000154f: NOT
00001550: DUP2
00001551: ADD
00001552: SWAP4
00001553: SWAP3
00001554: DUP2
00001555: SWAP1
00001556: SUB
00001557: SWAP1
00001558: SWAP2
00001559: ADD
0000155a: SWAP2
0000155b: DUP7
0000155c: PUSH2 0x61da
0000155f: GAS
00001560: SUB
00001561: CALL
00001562: ISZERO
00001563: ISZERO
00001564: PUSH2 0x1569
00001567: JUMPI
00001568: INVALID
00001569: JUMPDEST
0000156a: POP
0000156b: POP
0000156c: PUSH1 0x20
0000156e: PUSH1 0x40
00001570: MLOAD
00001571: SUB
00001572: MLOAD
00001573: PUSH1 0x01
00001575: PUSH1 0xa0
00001577: PUSH1 0x02
00001579: EXP
0000157a: SUB
0000157b: AND
0000157c: EQ
0000157d: JUMPDEST
0000157e: DUP1
0000157f: ISZERO
00001580: PUSH2 0x1589
00001583: JUMPI
00001584: POP
00001585: DUP10
00001586: NUMBER
00001587: GT
00001588: ISZERO
00001589: JUMPDEST
0000158a: ISZERO
0000158b: ISZERO
0000158c: PUSH2 0x1598
0000158f: JUMPI
00001590: PUSH1 0x00
00001592: SWAP4
00001593: POP
00001594: PUSH2 0x161c
00001597: JUMP
00001598: JUMPDEST
00001599: PUSH1 0x01
0000159b: PUSH1 0xa0
0000159d: PUSH1 0x02
0000159f: EXP
000015a0: SUB
000015a1: DUP9
000015a2: AND
000015a3: PUSH1 0x00
000015a5: SWAP1
000015a6: DUP2
000015a7: MSTORE
000015a8: PUSH1 0x08
000015aa: PUSH1 0x20
000015ac: SWAP1
000015ad: DUP2
000015ae: MSTORE
000015af: PUSH1 0x40
000015b1: DUP1
000015b2: DUP4
000015b3: KECCAK256
000015b4: DUP7
000015b5: DUP5
000015b6: MSTORE
000015b7: SWAP1
000015b8: SWAP2
000015b9: MSTORE
000015ba: SWAP1
000015bb: KECCAK256
000015bc: SLOAD
000015bd: PUSH2 0x15c7
000015c0: SWAP1
000015c1: DUP15
000015c2: SWAP1
000015c3: PUSH2 0x1931
000015c6: JUMP
000015c7: JUMPDEST
000015c8: PUSH1 0x01
000015ca: PUSH1 0xa0
000015cc: PUSH1 0x02
000015ce: EXP
000015cf: SUB
000015d0: DUP1
000015d1: DUP15
000015d2: AND
000015d3: PUSH1 0x00
000015d5: SWAP1
000015d6: DUP2
000015d7: MSTORE
000015d8: PUSH1 0x06
000015da: PUSH1 0x20
000015dc: SWAP1
000015dd: DUP2
000015de: MSTORE
000015df: PUSH1 0x40
000015e1: DUP1
000015e2: DUP4
000015e3: KECCAK256
000015e4: SWAP4
000015e5: DUP14
000015e6: AND
000015e7: DUP4
000015e8: MSTORE
000015e9: SWAP3
000015ea: SWAP1
000015eb: MSTORE
000015ec: KECCAK256
000015ed: SLOAD
000015ee: SWAP1
000015ef: SWAP3
000015f0: POP
000015f1: DUP12
000015f2: SWAP1
000015f3: PUSH2 0x15fc
000015f6: SWAP1
000015f7: DUP16
000015f8: PUSH2 0x194a
000015fb: JUMP
000015fc: JUMPDEST
000015fd: DUP2
000015fe: ISZERO
000015ff: ISZERO
00001600: PUSH2 0x1605
00001603: JUMPI
00001604: INVALID
00001605: JUMPDEST
00001606: DIV
00001607: SWAP1
00001608: POP
00001609: DUP1
0000160a: DUP3
0000160b: LT
0000160c: ISZERO
0000160d: PUSH2 0x1618
00001610: JUMPI
00001611: DUP2
00001612: SWAP4
00001613: POP
00001614: PUSH2 0x161c
00001617: JUMP
00001618: JUMPDEST
00001619: DUP1
0000161a: SWAP4
0000161b: POP
0000161c: JUMPDEST
0000161d: POP
0000161e: POP
0000161f: POP
00001620: SWAP11
00001621: SWAP10
00001622: POP
00001623: POP
00001624: POP
00001625: POP
00001626: POP
00001627: POP
00001628: POP
00001629: POP
0000162a: POP
0000162b: POP
0000162c: JUMP
0000162d: JUMPDEST
0000162e: PUSH1 0x00
00001630: DUP3
00001631: DUP3
00001632: ADD
00001633: PUSH2 0x164a
00001636: DUP5
00001637: DUP3
00001638: LT
00001639: DUP1
0000163a: ISZERO
0000163b: SWAP1
0000163c: PUSH2 0x1645
0000163f: JUMPI
00001640: POP
00001641: DUP4
00001642: DUP3
00001643: LT
00001644: ISZERO
00001645: JUMPDEST
00001646: PUSH2 0x1979
00001649: JUMP
0000164a: JUMPDEST
0000164b: DUP1
0000164c: SWAP2
0000164d: POP
0000164e: JUMPDEST
0000164f: POP
00001650: SWAP3
00001651: SWAP2
00001652: POP
00001653: POP
00001654: JUMP
00001655: JUMPDEST
00001656: PUSH1 0x00
00001658: PUSH1 0x00
0000165a: PUSH1 0x00
0000165c: PUSH1 0x00
0000165e: PUSH8 0x0de0b6b3a7640000
00001667: PUSH2 0x1672
0000166a: DUP7
0000166b: PUSH1 0x03
0000166d: SLOAD
0000166e: PUSH2 0x194a
00001671: JUMP
00001672: JUMPDEST
00001673: DUP2
00001674: ISZERO
00001675: ISZERO
00001676: PUSH2 0x167b
00001679: JUMPI
0000167a: INVALID
0000167b: JUMPDEST
0000167c: DIV
0000167d: SWAP4
0000167e: POP
0000167f: PUSH8 0x0de0b6b3a7640000
00001688: PUSH2 0x1693
0000168b: DUP7
0000168c: PUSH1 0x04
0000168e: SLOAD
0000168f: PUSH2 0x194a
00001692: JUMP
00001693: JUMPDEST
00001694: DUP2
00001695: ISZERO
00001696: ISZERO
00001697: PUSH2 0x169c
0000169a: JUMPI
0000169b: INVALID
0000169c: JUMPDEST
0000169d: PUSH1 0x02
0000169f: SLOAD
000016a0: SWAP2
000016a1: SWAP1
000016a2: DIV
000016a3: SWAP4
000016a4: POP
000016a5: PUSH1 0x00
000016a7: SWAP3
000016a8: POP
000016a9: PUSH1 0x01
000016ab: PUSH1 0xa0
000016ad: PUSH1 0x02
000016af: EXP
000016b0: SUB
000016b1: AND
000016b2: ISZERO
000016b3: PUSH2 0x1772
000016b6: JUMPI
000016b7: PUSH1 0x02
000016b9: SLOAD
000016ba: PUSH1 0x40
000016bc: DUP1
000016bd: MLOAD
000016be: PUSH1 0x00
000016c0: PUSH1 0x20
000016c2: SWAP2
000016c3: DUP3
000016c4: ADD
000016c5: DUP2
000016c6: SWAP1
000016c7: MSTORE
000016c8: DUP3
000016c9: MLOAD
000016ca: PUSH32 0x1cbd051900000000000000000000000000000000000000000000000000000000
000016eb: DUP2
000016ec: MSTORE
000016ed: PUSH1 0x01
000016ef: PUSH1 0xa0
000016f1: PUSH1 0x02
000016f3: EXP
000016f4: SUB
000016f5: DUP12
000016f6: DUP2
000016f7: AND
000016f8: PUSH1 0x04
000016fa: DUP4
000016fb: ADD
000016fc: MSTORE
000016fd: SWAP4
000016fe: MLOAD
000016ff: SWAP4
00001700: SWAP1
00001701: SWAP5
00001702: AND
00001703: SWAP4
00001704: PUSH4 0x1cbd0519
00001709: SWAP4
0000170a: PUSH1 0x24
0000170c: DUP1
0000170d: DUP4
0000170e: ADD
0000170f: SWAP5
00001710: SWAP4
00001711: SWAP2
00001712: SWAP3
00001713: DUP4
00001714: SWAP1
00001715: SUB
00001716: ADD
00001717: SWAP1
00001718: DUP3
00001719: SWAP1
0000171a: DUP8
0000171b: DUP1
0000171c: EXTCODESIZE
0000171d: ISZERO
0000171e: ISZERO
0000171f: PUSH2 0x1724
00001722: JUMPI
00001723: INVALID
00001724: JUMPDEST
00001725: PUSH1 0x32
00001727: GAS
00001728: SUB
00001729: CALL
0000172a: ISZERO
0000172b: ISZERO
0000172c: PUSH2 0x1731
0000172f: JUMPI
00001730: INVALID
00001731: JUMPDEST
00001732: POP
00001733: POP
00001734: PUSH1 0x40
00001736: MLOAD
00001737: MLOAD
00001738: SWAP2
00001739: POP
0000173a: POP
0000173b: PUSH1 0x01
0000173d: DUP2
0000173e: EQ
0000173f: ISZERO
00001740: PUSH2 0x1765
00001743: JUMPI
00001744: PUSH8 0x0de0b6b3a7640000
0000174d: PUSH2 0x1758
00001750: DUP7
00001751: PUSH1 0x05
00001753: SLOAD
00001754: PUSH2 0x194a
00001757: JUMP
00001758: JUMPDEST
00001759: DUP2
0000175a: ISZERO
0000175b: ISZERO
0000175c: PUSH2 0x1761
0000175f: JUMPI
00001760: INVALID
00001761: JUMPDEST
00001762: DIV
00001763: SWAP2
00001764: POP
00001765: JUMPDEST
00001766: DUP1
00001767: PUSH1 0x02
00001769: EQ
0000176a: ISZERO
0000176b: PUSH2 0x1772
0000176e: JUMPI
0000176f: DUP3
00001770: SWAP2
00001771: POP
00001772: JUMPDEST
00001773: JUMPDEST
00001774: PUSH1 0x01
00001776: PUSH1 0xa0
00001778: PUSH1 0x02
0000177a: EXP
0000177b: SUB
0000177c: DUP1
0000177d: DUP12
0000177e: AND
0000177f: PUSH1 0x00
00001781: SWAP1
00001782: DUP2
00001783: MSTORE
00001784: PUSH1 0x06
00001786: PUSH1 0x20
00001788: SWAP1
00001789: DUP2
0000178a: MSTORE
0000178b: PUSH1 0x40
0000178d: DUP1
0000178e: DUP4
0000178f: KECCAK256
00001790: CALLER
00001791: SWAP1
00001792: SWAP5
00001793: AND
00001794: DUP4
00001795: MSTORE
00001796: SWAP3
00001797: SWAP1
00001798: MSTORE
00001799: KECCAK256
0000179a: SLOAD
0000179b: PUSH2 0x17ad
0000179e: SWAP1
0000179f: PUSH2 0x17a8
000017a2: DUP8
000017a3: DUP7
000017a4: PUSH2 0x162d
000017a7: JUMP
000017a8: JUMPDEST
000017a9: PUSH2 0x1931
000017ac: JUMP
000017ad: JUMPDEST
000017ae: PUSH1 0x01
000017b0: PUSH1 0xa0
000017b2: PUSH1 0x02
000017b4: EXP
000017b5: SUB
000017b6: DUP12
000017b7: DUP2
000017b8: AND
000017b9: PUSH1 0x00
000017bb: SWAP1
000017bc: DUP2
000017bd: MSTORE
000017be: PUSH1 0x06
000017c0: PUSH1 0x20
000017c2: SWAP1
000017c3: DUP2
000017c4: MSTORE
000017c5: PUSH1 0x40
000017c7: DUP1
000017c8: DUP4
000017c9: KECCAK256
000017ca: CALLER
000017cb: DUP6
000017cc: AND
000017cd: DUP5
000017ce: MSTORE
000017cf: SWAP1
000017d0: SWAP2
000017d1: MSTORE
000017d2: DUP1
000017d3: DUP3
000017d4: KECCAK256
000017d5: SWAP4
000017d6: SWAP1
000017d7: SWAP4
000017d8: SSTORE
000017d9: SWAP1
000017da: DUP9
000017db: AND
000017dc: DUP2
000017dd: MSTORE
000017de: KECCAK256
000017df: SLOAD
000017e0: PUSH2 0x17fb
000017e3: SWAP1
000017e4: PUSH2 0x17f6
000017e7: PUSH2 0x17f0
000017ea: DUP9
000017eb: DUP7
000017ec: PUSH2 0x162d
000017ef: JUMP
000017f0: JUMPDEST
000017f1: DUP8
000017f2: PUSH2 0x1931
000017f5: JUMP
000017f6: JUMPDEST
000017f7: PUSH2 0x162d
000017fa: JUMP
000017fb: JUMPDEST
000017fc: PUSH1 0x01
000017fe: PUSH1 0xa0
00001800: PUSH1 0x02
00001802: EXP
00001803: SUB
00001804: DUP12
00001805: DUP2
00001806: AND
00001807: PUSH1 0x00
00001809: SWAP1
0000180a: DUP2
0000180b: MSTORE
0000180c: PUSH1 0x06
0000180e: PUSH1 0x20
00001810: SWAP1
00001811: DUP2
00001812: MSTORE
00001813: PUSH1 0x40
00001815: DUP1
00001816: DUP4
00001817: KECCAK256
00001818: DUP12
00001819: DUP6
0000181a: AND
0000181b: DUP5
0000181c: MSTORE
0000181d: SWAP1
0000181e: SWAP2
0000181f: MSTORE
00001820: DUP1
00001821: DUP3
00001822: KECCAK256
00001823: SWAP4
00001824: SWAP1
00001825: SWAP4
00001826: SSTORE
00001827: PUSH1 0x01
00001829: SLOAD
0000182a: SWAP1
0000182b: SWAP2
0000182c: AND
0000182d: DUP2
0000182e: MSTORE
0000182f: KECCAK256
00001830: SLOAD
00001831: PUSH2 0x184c
00001834: SWAP1
00001835: PUSH2 0x17f6
00001838: PUSH2 0x1841
0000183b: DUP8
0000183c: DUP8
0000183d: PUSH2 0x162d
00001840: JUMP
00001841: JUMPDEST
00001842: DUP6
00001843: PUSH2 0x1931
00001846: JUMP
00001847: JUMPDEST
00001848: PUSH2 0x162d
0000184b: JUMP
0000184c: JUMPDEST
0000184d: PUSH1 0x01
0000184f: PUSH1 0xa0
00001851: PUSH1 0x02
00001853: EXP
00001854: SUB
00001855: DUP1
00001856: DUP13
00001857: AND
00001858: PUSH1 0x00
0000185a: SWAP1
0000185b: DUP2
0000185c: MSTORE
0000185d: PUSH1 0x06
0000185f: PUSH1 0x20
00001861: DUP2
00001862: DUP2
00001863: MSTORE
00001864: PUSH1 0x40
00001866: DUP1
00001867: DUP5
00001868: KECCAK256
00001869: PUSH1 0x01
0000186b: SLOAD
0000186c: DUP7
0000186d: AND
0000186e: DUP6
0000186f: MSTORE
00001870: DUP3
00001871: MSTORE
00001872: DUP1
00001873: DUP5
00001874: KECCAK256
00001875: SWAP6
00001876: SWAP1
00001877: SWAP6
00001878: SSTORE
00001879: DUP13
0000187a: DUP5
0000187b: AND
0000187c: DUP4
0000187d: MSTORE
0000187e: SWAP1
0000187f: DUP2
00001880: MSTORE
00001881: DUP4
00001882: DUP3
00001883: KECCAK256
00001884: SWAP3
00001885: DUP11
00001886: AND
00001887: DUP3
00001888: MSTORE
00001889: SWAP2
0000188a: SWAP1
0000188b: SWAP2
0000188c: MSTORE
0000188d: KECCAK256
0000188e: SLOAD
0000188f: PUSH2 0x18ac
00001892: SWAP1
00001893: DUP11
00001894: PUSH2 0x189d
00001897: DUP11
00001898: DUP10
00001899: PUSH2 0x194a
0000189c: JUMP
0000189d: JUMPDEST
0000189e: DUP2
0000189f: ISZERO
000018a0: ISZERO
000018a1: PUSH2 0x18a6
000018a4: JUMPI
000018a5: INVALID
000018a6: JUMPDEST
000018a7: DIV
000018a8: PUSH2 0x1931
000018ab: JUMP
000018ac: JUMPDEST
000018ad: PUSH1 0x01
000018af: PUSH1 0xa0
000018b1: PUSH1 0x02
000018b3: EXP
000018b4: SUB
000018b5: DUP10
000018b6: DUP2
000018b7: AND
000018b8: PUSH1 0x00
000018ba: SWAP1
000018bb: DUP2
000018bc: MSTORE
000018bd: PUSH1 0x06
000018bf: PUSH1 0x20
000018c1: SWAP1
000018c2: DUP2
000018c3: MSTORE
000018c4: PUSH1 0x40
000018c6: DUP1
000018c7: DUP4
000018c8: KECCAK256
000018c9: DUP12
000018ca: DUP6
000018cb: AND
000018cc: DUP5
000018cd: MSTORE
000018ce: SWAP1
000018cf: SWAP2
000018d0: MSTORE
000018d1: DUP1
000018d2: DUP3
000018d3: KECCAK256
000018d4: SWAP4
000018d5: SWAP1
000018d6: SWAP4
000018d7: SSTORE
000018d8: CALLER
000018d9: SWAP1
000018da: SWAP2
000018db: AND
000018dc: DUP2
000018dd: MSTORE
000018de: KECCAK256
000018df: SLOAD
000018e0: PUSH2 0x18fd
000018e3: SWAP1
000018e4: DUP11
000018e5: PUSH2 0x18ee
000018e8: DUP11
000018e9: DUP10
000018ea: PUSH2 0x194a
000018ed: JUMP
000018ee: JUMPDEST
000018ef: DUP2
000018f0: ISZERO
000018f1: ISZERO
000018f2: PUSH2 0x18f7
000018f5: JUMPI
000018f6: INVALID
000018f7: JUMPDEST
000018f8: DIV
000018f9: PUSH2 0x162d
000018fc: JUMP
000018fd: JUMPDEST
000018fe: PUSH1 0x01
00001900: PUSH1 0xa0
00001902: PUSH1 0x02
00001904: EXP
00001905: SUB
00001906: DUP1
00001907: DUP11
00001908: AND
00001909: PUSH1 0x00
0000190b: SWAP1
0000190c: DUP2
0000190d: MSTORE
0000190e: PUSH1 0x06
00001910: PUSH1 0x20
00001912: SWAP1
00001913: DUP2
00001914: MSTORE
00001915: PUSH1 0x40
00001917: DUP1
00001918: DUP4
00001919: KECCAK256
0000191a: CALLER
0000191b: SWAP1
0000191c: SWAP5
0000191d: AND
0000191e: DUP4
0000191f: MSTORE
00001920: SWAP3
00001921: SWAP1
00001922: MSTORE
00001923: KECCAK256
00001924: SSTORE
00001925: JUMPDEST
00001926: POP
00001927: POP
00001928: POP
00001929: POP
0000192a: POP
0000192b: POP
0000192c: POP
0000192d: POP
0000192e: POP
0000192f: POP
00001930: JUMP
00001931: JUMPDEST
00001932: PUSH1 0x00
00001934: PUSH2 0x193f
00001937: DUP4
00001938: DUP4
00001939: GT
0000193a: ISZERO
0000193b: PUSH2 0x1979
0000193e: JUMP
0000193f: JUMPDEST
00001940: POP
00001941: DUP1
00001942: DUP3
00001943: SUB
00001944: JUMPDEST
00001945: SWAP3
00001946: SWAP2
00001947: POP
00001948: POP
00001949: JUMP
0000194a: JUMPDEST
0000194b: PUSH1 0x00
0000194d: DUP3
0000194e: DUP3
0000194f: MUL
00001950: PUSH2 0x164a
00001953: DUP5
00001954: ISZERO
00001955: DUP1
00001956: PUSH2 0x1645
00001959: JUMPI
0000195a: POP
0000195b: DUP4
0000195c: DUP6
0000195d: DUP4
0000195e: DUP2
0000195f: ISZERO
00001960: ISZERO
00001961: PUSH2 0x1966
00001964: JUMPI
00001965: INVALID
00001966: JUMPDEST
00001967: DIV
00001968: EQ
00001969: JUMPDEST
0000196a: PUSH2 0x1979
0000196d: JUMP
0000196e: JUMPDEST
0000196f: DUP1
00001970: SWAP2
00001971: POP
00001972: JUMPDEST
00001973: POP
00001974: SWAP3
00001975: SWAP2
00001976: POP
00001977: POP
00001978: JUMP
00001979: JUMPDEST
0000197a: DUP1
0000197b: ISZERO
0000197c: ISZERO
0000197d: PUSH2 0x0cef
00001980: JUMPI
00001981: PUSH2 0x0000
00001984: JUMP
00001985: JUMPDEST
00001986: JUMPDEST
00001987: POP
00001988: JUMP
00001989: STOP
0000198a: SLOAD
0000198b: UNKNOWN(0xCD)
0000198c: UNKNOWN(0xD3)
0000198d: PUSH10 0xe4e8a8515e52ca72ec81
00001998: PUSH13 0x2101831ad1f18bf44102ed1714
000019a6: MSIZE
000019a7: UNKNOWN(0xC9)
000019a8: UNKNOWN(0xB4)
000019a9: UNKNOWN(0xF8)
000019aa: LOG1
000019ab: PUSH6 0x627a7a723058
000019b2: KECCAK256
000019b3: CHAINID
000019b4: DUP12
000019b5: UNKNOWN(0xE9)
000019b6: UNKNOWN(0xE5)
000019b7: UNKNOWN(0x2C)
000019b8: PUSH32

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other codex Phantom token deposits via malicious ERC20 let attacker trade unbacked balances for real assets 85 no
view
evidence_json
{
    "evidence": "depositToken trusts Token(token).transferFrom return value and credits internal balance without verifying actual token receipt (contracts/Contract.sol:226-231); tradeBalances uses internal balances to move real assets (contracts/Contract.sol:265-278).",
    "locations": [
        "contracts/Contract.sol:226",
        "contracts/Contract.sol:229",
        "contracts/Contract.sol:230",
        "contracts/Contract.sol:265",
        "contracts/Contract.sol:274",
        "contracts/Contract.sol:277"
    ],
    "recommendation": "Restrict tradable tokens to a whitelist and/or verify actual token movement by checking the contract\u2019s token balance before/after transferFrom; reject tokens that do not increase the balance by the expected amount (or explicitly disallow fee-on-transfer tokens).",
    "exploit_scenario": "1) Attacker deploys an ERC20 that returns true for transferFrom/transfer without moving balances. 2) Attacker calls depositToken(FakeToken, X) to get internal balance credited. 3) Attacker posts an order selling FakeToken for ETH or a real ERC20; a victim fills the order, and tradeBalances transfers the victim\u2019s real asset to the attacker while crediting the victim with FakeToken balance. 4) Attacker withdraws the real asset via withdraw/withdrawToken, profiting; the victim cannot redeem FakeToken because transfers succeed but send nothing."
}
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292
call_targets: 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000002, 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000001",
        "0x0000000000000000000000000000000000000002",
        "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x0a19b14a",
            "selector": "0x0a19b14a",
            "calldata_variants": [
                "0x0a19b14a",
                "0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0b927666",
            "selector": "0x0b927666",
            "calldata_variants": [
                "0x0b927666",
                "0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19774d43",
            "selector": "0x19774d43",
            "calldata_variants": [
                "0x19774d43",
                "0x19774d430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x278b8c0e",
            "selector": "0x278b8c0e",
            "calldata_variants": [
                "0x278b8c0e",
                "0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x338b5dea",
            "selector": "0x338b5dea",
            "calldata_variants": [
                "0x338b5dea",
                "0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x46be96c3",
            "selector": "0x46be96c3",
            "calldata_variants": [
                "0x46be96c3",
                "0x46be96c30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x508493bc",
            "selector": "0x508493bc",
            "calldata_variants": [
                "0x508493bc",
                "0x508493bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1654,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1862,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2308,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 12,
    "guards_detected": [],
    "untrusted_call_count": 12
}
high other detector ETH value transfer possible 55 yes yes
view
trace_id: 0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292
call_targets: 0x0000000000000000000000000000000000000001, 0x0000000000000000000000000000000000000002, 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x36d846eb2b1debc60f4a7c46188112678d427a9d9ae594a51372f0de199e8292",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000001",
        "0x0000000000000000000000000000000000000002",
        "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x0a19b14a",
            "selector": "0x0a19b14a",
            "calldata_variants": [
                "0x0a19b14a",
                "0x0a19b14a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0b927666",
            "selector": "0x0b927666",
            "calldata_variants": [
                "0x0b927666",
                "0x0b9276660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19774d43",
            "selector": "0x19774d43",
            "calldata_variants": [
                "0x19774d43",
                "0x19774d430000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x278b8c0e",
            "selector": "0x278b8c0e",
            "calldata_variants": [
                "0x278b8c0e",
                "0x278b8c0e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x338b5dea",
            "selector": "0x338b5dea",
            "calldata_variants": [
                "0x338b5dea",
                "0x338b5dea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x46be96c3",
            "selector": "0x46be96c3",
            "calldata_variants": [
                "0x46be96c3",
                "0x46be96c30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x508493bc",
            "selector": "0x508493bc",
            "calldata_variants": [
                "0x508493bc",
                "0x508493bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1654,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1862,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2308,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 12,
    "guards_detected": []
}
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
}