019bab3b-abb6-709a-a874-ab08c52922a5
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 38618 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38619 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38620 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38621 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38622 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38623 | detector.run | complete | 1 / 3 | 3 months ago |
| 38624 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39090 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.","findings":[{"severity":"medium","category":"reentrancy","title":"External call occurs before storage update on at least one path","exploit_scenario":"If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path.","recommendation":"Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.","evidence":"Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).","locations":["pc:11632","pc:11762"]},{"severity":"medium","category":"other","title":"Computed CALL targets and values enable arbitrary external calls if user-controlled","exploit_scenario":"Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability.","recommendation":"Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.","evidence":"`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).","locations":["pc:3271","pc:3474","pc:3955","pc:4075","pc:4189"]},{"severity":"low","category":"other","title":"Return-data handling for external calls is unclear","exploit_scenario":"If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain.","recommendation":"Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.","evidence":"`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.","locations":["pc:3271","pc:3474","pc:11101"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-kwm9pvz6
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019babbe-892a-78a1-9797-88c2c1b0c2ee
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
thinking
**Preparing to read BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-kwm9pvz6 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
thinking
**Reading bundle**
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 9ms:
{
"analysis_artifact": {
"address": "0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1",
"artifact_hash": "0x9ddf05245d1689cfce20721ec2e48bf41696903a1565c20bcf2677d5a2f9baa4",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0x3fd0931de1db5e239099371326be3152d2c67b610e8ed3caaf844eee83d1610c",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Investigating callsites and contract data**
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 22ms:
19017: "storage": {
19196: "storage": {
19375: "storage": {
19554: "storage": {
19733: "storage": {
19912: "storage": {
20091: "storage": {
20270: "storage": {
20449: "storage": {
20628: "storage": {
20807: "storage": {
20986: "storage": {
21165: "storage": {
21344: "storage": {
21523: "storage": {
21702: "storage": {
21881: "storage": {
22060: "storage": {
22239: "storage": {
22418: "storage": {
thinking
**Inspecting code context with sed/rg**
exec
/bin/bash -lc "sed -n '18980,19080p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 33ms:
"entry_pc": 3504541104,
"selector": "0xa9cc4718"
},
{
"entry_pc": 3552888016,
"selector": "0xd0e30db0"
},
{
"entry_pc": 3740822715,
"selector": "0xd3c4c4d0"
},
{
"entry_pc": 3835743791,
"selector": "0xdef86cbb"
},
{
"entry_pc": 4294858914,
"selector": "0xe4a0ce2f"
},
{
thinking
**Analyzing function vulnerabilities**
exec
/bin/bash -lc 'rg -n "reentr|re-entr" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 exited 1 in 7ms:
thinking
**Searching for storage write references**
exec
/bin/bash -lc 'rg -n "writes" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 12ms:
19181: "writes": 76
19360: "writes": 76
19539: "writes": 76
19718: "writes": 76
19897: "writes": 76
20076: "writes": 76
20255: "writes": 76
20434: "writes": 76
20613: "writes": 76
20792: "writes": 76
20971: "writes": 76
21150: "writes": 76
21329: "writes": 76
21508: "writes": 76
21687: "writes": 76
21866: "writes": 76
22045: "writes": 76
22224: "writes": 76
22403: "writes": 76
22582: "writes": 76
thinking
**Investigating repeated storage writes**
exec
/bin/bash -lc "sed -n '19140,19230p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 7ms:
{
"op": "SLOAD",
"pc": 5241,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 7526,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
{
"op": "SLOAD",
"pc": 7551,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 7720,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
},
thinking
**Analyzing function selectors and contract behavior**
exec
/bin/bash -lc 'rg -n "signature|name" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 8ms:
22990: "contract_name": null,
thinking
**Checking for evidence bundle or selectors summary**
exec
/bin/bash -lc "sed -n '22880,23060p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 35ms:
},
{
"op": "SLOAD",
"pc": 2288,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
},
{
"op": "SLOAD",
"pc": 2368,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
},
{
"op": "SLOAD",
"pc": 2553,
"slot": "0x000000000000000000000000000000000000000000000000000000000000000f"
},
{
"op": "SLOAD",
"pc": 2943,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
thinking
**Analyzing runtime bytecode for vulnerabilities**
I’m carefully parsing the bytecode to identify external token calls, access controls, and reentrancy guards, weighing potential risks like unchecked calls, missing authorization, and state changes without guards, trying to piece together where vulnerabilities might hide based on observed call patterns and storage checks.
exec
/bin/bash -lc 'rg -n "callsite|callsites|call_sites" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 35ms:
14956: "callsites": [
32012: "type": "callsite"
32018: "type": "callsite"
32024: "type": "callsite"
32030: "type": "callsite"
32036: "type": "callsite"
32042: "type": "callsite"
32048: "type": "callsite"
32054: "type": "callsite"
32060: "type": "callsite"
32066: "type": "callsite"
32072: "type": "callsite"
32078: "type": "callsite"
32084: "type": "callsite"
32090: "type": "callsite"
32096: "type": "callsite"
32102: "type": "callsite"
32108: "type": "callsite"
32114: "type": "callsite"
32120: "type": "callsite"
thinking
**Inspecting callsites section**
exec
/bin/bash -lc "sed -n '14880,15060p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 12ms:
"PUSH1",
"EXP",
"SUB",
"OP_90",
"OP_91",
"AND",
"OP_81",
"MSTORE",
"PUSH1",
"ADD",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"OP_A1",
"POP",
"POP",
"JUMP"
thinking
**Analyzing complex external call patterns**
I’m working through runtime bytecode clues to understand external calls with computed targets and values, assessing risks like reentrancy and arbitrary calls. There's evidence of potential reentrancy guards but limited coverage, and return data checks appear uncertain. I’m preparing to disassemble around callsites to clarify these patterns and support measured findings.
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
with open('BYTECODE_BUNDLE.json','r') as f:
data=json.load(f)
code=data['artifact']['runtime_bytecode']['full']
if code.startswith('0x'):
code=code[2:]
bytecode=bytes.fromhex(code)
# opcode map
opcodes={
**{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
**{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
**{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
**{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}
# fill main opcodes
names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
opcodes.setdefault(k,(v,0))
instrs=[]
pc=0
while pc<len(bytecode):
op=bytecode[pc]
name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
arg=None
if name.startswith('PUSH'):
pushlen=int(name[4:])
if pushlen:
arg=bytecode[pc+1:pc+1+pushlen]
pc_next=pc+1+pushlen
else:
pc_next=pc+1
instrs.append((pc,name,arg))
pc=pc_next
# Build map
instr_by_pc={pc:(name,arg) for pc,name,arg in instrs}
# callsites from detector list
call_pcs=[3271,3474,3955,4075,4189,4552,4666,5212,5577,5747,5894,6080,6200,6497,6606,6742,6898,7180,7362,7891,10317,11101,11466,11632,12068,12770,12927,13235]
# print around first few callsites
for call_pc in call_pcs[:5]:
# show 8 instr before and after
# find index
idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
start=max(0,idx-8)
end=min(len(instrs),idx+9)
print(f'--- around CALL at pc {call_pc} ---')
for pc,name,arg in instrs[start:end]:
if arg is not None:
aval=arg.hex()
print(f'{pc:5d} {name} 0x{aval}')
else:
print(f'{pc:5d} {name}')
PY" in /tmp/codex-kwm9pvz6 succeeded in 57ms:
--- around CALL at pc 3271 ---
3260 ISZERO
3261 PUSH2 0x0cc5
3264 JUMPI
3265 PUSH1 0x00
3267 DUP1
3268 REVERT
3269 JUMPDEST
3270 GAS
3271 CALL
3272 ISZERO
3273 ISZERO
3274 PUSH2 0x0cd2
3277 JUMPI
3278 PUSH1 0x00
3280 DUP1
3281 REVERT
3282 JUMPDEST
--- around CALL at pc 3474 ---
3466 MLOAD
thinking
**Inspecting CALL instruction behavior**
exec
/bin/bash -lc "python - <<'PY'
import json
data=json.load(open('BYTECODE_BUNDLE.json'))
code=data['artifact']['runtime_bytecode']['full'][2:]
bytecode=bytes.fromhex(code)
opcodes={
**{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
**{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
**{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
**{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}
names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
opcodes.setdefault(k,(v,0))
instrs=[]
pc=0
while pc<len(bytecode):
op=bytecode[pc]
name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
if name.startswith('PUSH'):
pushlen=int(name[4:])
arg=None
if pushlen:
arg=bytecode[pc+1:pc+1+pushlen]
pc_next=pc+1+pushlen
else:
pc_next=pc+1
instrs.append((pc,name,arg))
pc=pc_next
call_pcs=[11101,11466,11632,12068,12770,12927,13235]
for call_pc in call_pcs:
idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
start=max(0,idx-12)
end=min(len(instrs),idx+13)
print(f'--- around CALL at pc {call_pc} ---')
for pc,name,arg in instrs[start:end]:
if arg is not None:
print(f'{pc:5d} {name} 0x{arg.hex()}')
else:
print(f'{pc:5d} {name}')
PY" in /tmp/codex-kwm9pvz6 succeeded in 48ms:
--- around CALL at pc 11101 ---
11086 DUP8
11087 DUP1
11088 EXTCODESIZE
11089 ISZERO
11090 ISZERO
11091 PUSH2 0x2b5b
11094 JUMPI
11095 PUSH1 0x00
11097 DUP1
11098 REVERT
11099 JUMPDEST
11100 GAS
11101 CALL
11102 ISZERO
11103 ISZERO
11104 PUSH2 0x2b68
11107 JUMPI
11108 PUSH1 0x00
11110 DUP1
thinking
**Analyzing external call usage and risks**
exec
/bin/bash -lc "python - <<'PY'
import json
data=json.load(open('BYTECODE_BUNDLE.json'))
code=data['artifact']['runtime_bytecode']['full'][2:]
bytecode=bytes.fromhex(code)
opcodes={
**{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
**{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
**{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
**{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}
names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
opcodes.setdefault(k,(v,0))
instrs=[]
pc=0
while pc<len(bytecode):
op=bytecode[pc]
name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
if name.startswith('PUSH'):
pushlen=int(name[4:])
arg=None
if pushlen:
arg=bytecode[pc+1:pc+1+pushlen]
pc_next=pc+1+pushlen
else:
pc_next=pc+1
instrs.append((pc,name,arg))
pc=pc_next
# Print larger window around 11632
call_pc=11632
idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
start=max(0,idx-40)
end=min(len(instrs),idx+80)
for pc,name,arg in instrs[start:end]:
if arg is not None:
print(f'{pc:5d} {name} 0x{arg.hex()}')
else:
print(f'{pc:5d} {name}')
PY" in /tmp/codex-kwm9pvz6 succeeded in 54ms:
11577 PUSH4 0xffffffff
11582 DUP5
11583 AND
11584 MUL
11585 DUP2
11586 MSTORE
11587 PUSH1 0x01
11589 PUSH1 0xa0
11591 PUSH1 0x02
11593 EXP
11594 SUB
11595 SWAP1
11596 SWAP2
11597 AND
11598 PUSH1 0x04
11600 DUP3
11601 ADD
11602 MSTORE
11603 PUSH1 0x24
11605 ADD
thinking
**Analyzing potential reentrancy risk**
exec
/bin/bash -lc "python - <<'PY'
import json
data=json.load(open('BYTECODE_BUNDLE.json'))
code=data['artifact']['runtime_bytecode']['full'][2:]
bytecode=bytes.fromhex(code)
opcodes={
**{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
**{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
**{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
**{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}
names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
opcodes.setdefault(k,(v,0))
instrs=[]
pc=0
while pc<len(bytecode):
op=bytecode[pc]
name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
if name.startswith('PUSH'):
pushlen=int(name[4:])
arg=None
if pushlen:
arg=bytecode[pc+1:pc+1+pushlen]
pc_next=pc+1+pushlen
else:
pc_next=pc+1
instrs.append((pc,name,arg))
pc=pc_next
# find around call pc 3474 with wider window
call_pc=3474
idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
start=max(0,idx-40)
end=min(len(instrs),idx+40)
for pc,name,arg in instrs[start:end]:
if arg is not None:
print(f'{pc:5d} {name} 0x{arg.hex()}')
else:
print(f'{pc:5d} {name}')
PY" in /tmp/codex-kwm9pvz6 succeeded in 57ms:
3424 SWAP3
3425 AND
3426 PUSH1 0x60
3428 DUP3
3429 ADD
3430 MSTORE
3431 PUSH1 0x80
3433 ADD
3434 SWAP1
3435 MLOAD
3436 DUP1
3437 SWAP2
3438 SUB
3439 SWAP1
3440 LOG1
3441 PUSH1 0x01
3443 PUSH1 0xa0
3445 PUSH1 0x02
3447 EXP
3448 SUB
thinking
**Summarizing security findings and crafting JSON report**
I’m outlining potential reentrancy and untrusted external call risks based on call and storage update pcs, noting the lack of clear reentrancy guards and uncertain return data checks for external token calls. I’m drafting a JSON report with three findings covering reentrancy (medium severity), untrusted calls with ETH (medium/low severity), and unclear return data validation (low severity), including evidence and exploit scenarios while pointing out uncertainties due to bytecode-only analysis.
codex
{"no_findings":false,"summary":"Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.","findings":[{"severity":"medium","category":"reentrancy","title":"External call occurs before storage update on at least one path","exploit_scenario":"If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path.","recommendation":"Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.","evidence":"Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).","locations":["pc:11632","pc:11762"]},{"severity":"medium","category":"other","title":"Computed CALL targets and values enable arbitrary external calls if user-controlled","exploit_scenario":"Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability.","recommendation":"Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.","evidence":"`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).","locations":["pc:3271","pc:3474","pc:3955","pc:4075","pc:4189"]},{"severity":"low","category":"other","title":"Return-data handling for external calls is unclear","exploit_scenario":"If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain.","recommendation":"Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.","evidence":"`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.","locations":["pc:3271","pc:3474","pc:11101"]}]}
tokens used
77,837
{
"codex": {
"ran_at": "2026-01-11T06:33:05.869426+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 28530,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.",
"raw_final": {
"summary": "Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.",
"findings": [
{
"title": "External call occurs before storage update on at least one path",
"category": "reentrancy",
"evidence": "Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).",
"severity": "medium",
"locations": [
"pc:11632",
"pc:11762"
],
"recommendation": "Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.",
"exploit_scenario": "If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path."
},
{
"title": "Computed CALL targets and values enable arbitrary external calls if user-controlled",
"category": "other",
"evidence": "`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).",
"severity": "medium",
"locations": [
"pc:3271",
"pc:3474",
"pc:3955",
"pc:4075",
"pc:4189"
],
"recommendation": "Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.",
"exploit_scenario": "Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability."
},
{
"title": "Return-data handling for external calls is unclear",
"category": "other",
"evidence": "`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.",
"severity": "low",
"locations": [
"pc:3271",
"pc:3474",
"pc:11101"
],
"recommendation": "Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.",
"exploit_scenario": "If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0103 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH1 0xe0 00000014: PUSH1 0x02 00000016: EXP 00000017: PUSH1 0x00 00000019: CALLDATALOAD 0000001a: DIV 0000001b: AND 0000001c: PUSH4 0x14614af9 00000021: DUP2 00000022: EQ 00000023: PUSH2 0x010f 00000026: JUMPI 00000027: DUP1 00000028: PUSH4 0x17f708fb 0000002d: EQ 0000002e: PUSH2 0x012d 00000031: JUMPI 00000032: DUP1 00000033: PUSH4 0x19f363bc 00000038: EQ 00000039: PUSH2 0x0140 0000003c: JUMPI 0000003d: DUP1 0000003e: PUSH4 0x2618e6e9 00000043: EQ 00000044: PUSH2 0x0157 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0x2b55b792 0000004e: EQ 0000004f: PUSH2 0x02e9 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0x2bc2b71a 00000059: EQ 0000005a: PUSH2 0x0308 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0x2d923501 00000064: EQ 00000065: PUSH2 0x032d 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0x2e1a7d4d 0000006f: EQ 00000070: PUSH2 0x0358 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0x4d5a8e10 0000007a: EQ 0000007b: PUSH2 0x036e 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0x52c790ee 00000085: EQ 00000086: PUSH2 0x039d 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0x6cae9070 00000090: EQ 00000091: PUSH2 0x03bc 00000094: JUMPI 00000095: DUP1 00000096: PUSH4 0x71bdce55 0000009b: EQ 0000009c: PUSH2 0x03e4 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x7c422f1d 000000a6: EQ 000000a7: PUSH2 0x0442 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x853828b6 000000b1: EQ 000000b2: PUSH2 0x0475 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x9aae82c1 000000bc: EQ 000000bd: PUSH2 0x0488 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0xa9cc4718 000000c7: EQ 000000c8: PUSH2 0x04a7 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0xd0e30db0 000000d2: EQ 000000d3: PUSH2 0x04ba 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0xd3c4c4d0 000000dd: EQ 000000de: PUSH2 0x04c2 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xdef86cbb 000000e8: EQ 000000e9: PUSH2 0x04ec 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xe4a0ce2f 000000f3: EQ 000000f4: PUSH2 0x0516 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xfffe58a2 000000fe: EQ 000000ff: PUSH2 0x05a4 00000102: JUMPI 00000103: JUMPDEST 00000104: PUSH2 0x010d 00000107: PUSH1 0x00 00000109: PUSH2 0x05c2 0000010c: JUMP 0000010d: JUMPDEST 0000010e: STOP 0000010f: JUMPDEST 00000110: PUSH2 0x010d 00000113: PUSH1 0x01 00000115: PUSH1 0xa0 00000117: PUSH1 0x02 00000119: EXP 0000011a: SUB 0000011b: PUSH1 0x04 0000011d: CALLDATALOAD 0000011e: DUP2 0000011f: AND 00000120: SWAP1 00000121: PUSH1 0x24 00000123: CALLDATALOAD 00000124: SWAP1 00000125: PUSH1 0x44 00000127: CALLDATALOAD 00000128: AND 00000129: PUSH2 0x0631 0000012c: JUMP 0000012d: JUMPDEST 0000012e: CALLVALUE 0000012f: ISZERO 00000130: PUSH2 0x0138 00000133: JUMPI 00000134: PUSH1 0x00 00000136: DUP1 00000137: REVERT 00000138: JUMPDEST 00000139: PUSH2 0x010d 0000013c: PUSH2 0x0649 0000013f: JUMP 00000140: JUMPDEST 00000141: PUSH2 0x010d 00000144: PUSH1 0x04 00000146: CALLDATALOAD 00000147: PUSH1 0x01 00000149: PUSH1 0xa0 0000014b: PUSH1 0x02 0000014d: EXP 0000014e: SUB 0000014f: PUSH1 0x24 00000151: CALLDATALOAD 00000152: AND 00000153: PUSH2 0x0655 00000156: JUMP 00000157: JUMPDEST 00000158: CALLVALUE 00000159: ISZERO 0000015a: PUSH2 0x0162 0000015d: JUMPI 0000015e: PUSH1 0x00 00000160: DUP1 00000161: REVERT 00000162: JUMPDEST 00000163: PUSH2 0x016a 00000166: PUSH2 0x066b 00000169: JUMP 0000016a: JUMPDEST 0000016b: PUSH1 0x40 0000016d: MLOAD 0000016e: DUP1 0000016f: DUP12 00000170: PUSH1 0x03 00000172: DUP2 00000173: GT 00000174: ISZERO 00000175: PUSH2 0x017a 00000178: JUMPI 00000179: INVALID 0000017a: JUMPDEST 0000017b: PUSH1 0xff 0000017d: AND 0000017e: DUP2 0000017f: MSTORE 00000180: PUSH1 0x20 00000182: ADD 00000183: DUP11 00000184: DUP2 00000185: MSTORE 00000186: PUSH1 0x20 00000188: ADD 00000189: DUP10 0000018a: DUP2 0000018b: MSTORE 0000018c: PUSH1 0x20 0000018e: ADD 0000018f: DUP9 00000190: DUP2 00000191: MSTORE 00000192: PUSH1 0x20 00000194: ADD 00000195: DUP8 00000196: PUSH1 0x01 00000198: PUSH1 0xa0 0000019a: PUSH1 0x02 0000019c: EXP 0000019d: SUB 0000019e: AND 0000019f: PUSH1 0x01 000001a1: PUSH1 0xa0 000001a3: PUSH1 0x02 000001a5: EXP 000001a6: SUB 000001a7: AND 000001a8: DUP2 000001a9: MSTORE 000001aa: PUSH1 0x20 000001ac: ADD 000001ad: DUP7 000001ae: PUSH1 0x01 000001b0: PUSH1 0xa0 000001b2: PUSH1 0x02 000001b4: EXP 000001b5: SUB 000001b6: AND 000001b7: PUSH1 0x01 000001b9: PUSH1 0xa0 000001bb: PUSH1 0x02 000001bd: EXP 000001be: SUB 000001bf: AND 000001c0: DUP2 000001c1: MSTORE 000001c2: PUSH1 0x20 000001c4: ADD 000001c5: DUP1 000001c6: PUSH1 0x20 000001c8: ADD 000001c9: DUP1 000001ca: PUSH1 0x20 000001cc: ADD 000001cd: DUP1 000001ce: PUSH1 0x20 000001d0: ADD 000001d1: DUP1 000001d2: PUSH1 0x20 000001d4: ADD 000001d5: DUP6 000001d6: DUP2 000001d7: SUB 000001d8: DUP6 000001d9: MSTORE 000001da: DUP10 000001db: DUP2 000001dc: DUP2 000001dd: MLOAD 000001de: DUP2 000001df: MSTORE 000001e0: PUSH1 0x20 000001e2: ADD 000001e3: SWAP2 000001e4: POP 000001e5: DUP1 000001e6: MLOAD 000001e7: SWAP1 000001e8: PUSH1 0x20 000001ea: ADD 000001eb: SWAP1 000001ec: PUSH1 0x20 000001ee: MUL 000001ef: DUP1 000001f0: DUP4 000001f1: DUP4 000001f2: PUSH1 0x00 000001f4: JUMPDEST 000001f5: DUP4 000001f6: DUP2 000001f7: LT 000001f8: ISZERO 000001f9: PUSH2 0x020c 000001fc: JUMPI 000001fd: DUP1 000001fe: DUP3 000001ff: ADD 00000200: MLOAD 00000201: DUP4 00000202: DUP3 00000203: ADD 00000204: MSTORE 00000205: PUSH1 0x20 00000207: ADD 00000208: PUSH2 0x01f4 0000020b: JUMP 0000020c: JUMPDEST 0000020d: POP 0000020e: POP 0000020f: POP 00000210: POP 00000211: SWAP1 00000212: POP 00000213: ADD 00000214: DUP6 00000215: DUP2 00000216: SUB 00000217: DUP5 00000218: MSTORE 00000219: DUP9 0000021a: DUP2 0000021b: DUP2 0000021c: MLOAD 0000021d: DUP2 0000021e: MSTORE 0000021f: PUSH1 0x20 00000221: ADD 00000222: SWAP2 00000223: POP 00000224: DUP1 00000225: MLOAD 00000226: SWAP1 00000227: PUSH1 0x20 00000229: ADD 0000022a: SWAP1 0000022b: PUSH1 0x20 0000022d: MUL 0000022e: DUP1 0000022f: DUP4 00000230: DUP4 00000231: PUSH1 0x00 00000233: JUMPDEST 00000234: DUP4 00000235: DUP2 00000236: LT 00000237: ISZERO 00000238: PUSH2 0x024b 0000023b: JUMPI 0000023c: DUP1 0000023d: DUP3 0000023e: ADD 0000023f: MLOAD 00000240: DUP4 00000241: DUP3 00000242: ADD 00000243: MSTORE 00000244: PUSH1 0x20 00000246: ADD 00000247: PUSH2 0x0233 0000024a: JUMP 0000024b: JUMPDEST 0000024c: POP 0000024d: POP 0000024e: POP 0000024f: POP 00000250: SWAP1 00000251: POP 00000252: ADD 00000253: DUP6 00000254: DUP2 00000255: SUB 00000256: DUP4 00000257: MSTORE 00000258: DUP8 00000259: DUP2 0000025a: DUP2 0000025b: MLOAD 0000025c: DUP2 0000025d: MSTORE 0000025e: PUSH1 0x20 00000260: ADD 00000261: SWAP2 00000262: POP 00000263: DUP1 00000264: MLOAD 00000265: SWAP1 00000266: PUSH1 0x20 00000268: ADD 00000269: SWAP1 0000026a: PUSH1 0x20 0000026c: MUL 0000026d: DUP1 0000026e: DUP4 0000026f: DUP4 00000270: PUSH1 0x00 00000272: JUMPDEST 00000273: DUP4 00000274: DUP2 00000275: LT 00000276: ISZERO 00000277: PUSH2 0x028a 0000027a: JUMPI 0000027b: DUP1 0000027c: DUP3 0000027d: ADD 0000027e: MLOAD 0000027f: DUP4 00000280: DUP3 00000281: ADD 00000282: MSTORE 00000283: PUSH1 0x20 00000285: ADD 00000286: PUSH2 0x0272 00000289: JUMP 0000028a: JUMPDEST 0000028b: POP 0000028c: POP 0000028d: POP 0000028e: POP 0000028f: SWAP1 00000290: POP 00000291: ADD 00000292: DUP6 00000293: DUP2 00000294: SUB 00000295: DUP3 00000296: MSTORE 00000297: DUP7 00000298: DUP2 00000299: DUP2 0000029a: MLOAD 0000029b: DUP2 0000029c: MSTORE 0000029d: PUSH1 0x20 0000029f: ADD 000002a0: SWAP2 000002a1: POP 000002a2: DUP1 000002a3: MLOAD 000002a4: SWAP1 000002a5: PUSH1 0x20 000002a7: ADD 000002a8: SWAP1 000002a9: PUSH1 0x20 000002ab: MUL 000002ac: DUP1 000002ad: DUP4 000002ae: DUP4 000002af: PUSH1 0x00 000002b1: JUMPDEST 000002b2: DUP4 000002b3: DUP2 000002b4: LT 000002b5: ISZERO 000002b6: PUSH2 0x02c9 000002b9: JUMPI 000002ba: DUP1 000002bb: DUP3 000002bc: ADD 000002bd: MLOAD 000002be: DUP4 000002bf: DUP3 000002c0: ADD 000002c1: MSTORE 000002c2: PUSH1 0x20 000002c4: ADD 000002c5: PUSH2 0x02b1 000002c8: JUMP 000002c9: JUMPDEST 000002ca: POP 000002cb: POP 000002cc: POP 000002cd: POP 000002ce: SWAP1 000002cf: POP 000002d0: ADD 000002d1: SWAP15 000002d2: POP 000002d3: POP 000002d4: POP 000002d5: POP 000002d6: POP 000002d7: POP 000002d8: POP 000002d9: POP 000002da: POP 000002db: POP 000002dc: POP 000002dd: POP 000002de: POP 000002df: POP 000002e0: POP 000002e1: PUSH1 0x40 000002e3: MLOAD 000002e4: DUP1 000002e5: SWAP2 000002e6: SUB 000002e7: SWAP1 000002e8: RETURN 000002e9: JUMPDEST 000002ea: CALLVALUE 000002eb: ISZERO 000002ec: PUSH2 0x02f4 000002ef: JUMPI 000002f0: PUSH1 0x00 000002f2: DUP1 000002f3: REVERT 000002f4: JUMPDEST 000002f5: PUSH2 0x010d 000002f8: PUSH1 0x01 000002fa: PUSH1 0xa0 000002fc: PUSH1 0x02 000002fe: EXP 000002ff: SUB 00000300: PUSH1 0x04 00000302: CALLDATALOAD 00000303: AND 00000304: PUSH2 0x087f 00000307: JUMP 00000308: JUMPDEST 00000309: CALLVALUE 0000030a: ISZERO 0000030b: PUSH2 0x0313 0000030e: JUMPI 0000030f: PUSH1 0x00 00000311: DUP1 00000312: REVERT 00000313: JUMPDEST 00000314: PUSH2 0x031b 00000317: PUSH2 0x08ba 0000031a: JUMP 0000031b: JUMPDEST 0000031c: PUSH1 0x40 0000031e: MLOAD 0000031f: SWAP1 00000320: DUP2 00000321: MSTORE 00000322: PUSH1 0x20 00000324: ADD 00000325: PUSH1 0x40 00000327: MLOAD 00000328: DUP1 00000329: SWAP2 0000032a: SUB 0000032b: SWAP1 0000032c: RETURN 0000032d: JUMPDEST 0000032e: CALLVALUE 0000032f: ISZERO 00000330: PUSH2 0x0338 00000333: JUMPI 00000334: PUSH1 0x00 00000336: DUP1 00000337: REVERT 00000338: JUMPDEST 00000339: PUSH2 0x010d 0000033c: PUSH1 0x04 0000033e: DUP1 0000033f: CALLDATALOAD 00000340: PUSH1 0x01 00000342: PUSH1 0xa0 00000344: PUSH1 0x02 00000346: EXP 00000347: SUB 00000348: AND 00000349: SWAP1 0000034a: PUSH1 0x24 0000034c: DUP1 0000034d: CALLDATALOAD 0000034e: SWAP1 0000034f: DUP2 00000350: ADD 00000351: SWAP2 00000352: ADD 00000353: CALLDATALOAD 00000354: PUSH2 0x08dc 00000357: JUMP 00000358: JUMPDEST 00000359: CALLVALUE 0000035a: ISZERO 0000035b: PUSH2 0x0363 0000035e: JUMPI 0000035f: PUSH1 0x00 00000361: DUP1 00000362: REVERT 00000363: JUMPDEST 00000364: PUSH2 0x010d 00000367: PUSH1 0x04 00000369: CALLDATALOAD 0000036a: PUSH2 0x0949 0000036d: JUMP 0000036e: JUMPDEST 0000036f: CALLVALUE 00000370: ISZERO 00000371: PUSH2 0x0379 00000374: JUMPI 00000375: PUSH1 0x00 00000377: DUP1 00000378: REVERT 00000379: JUMPDEST 0000037a: PUSH2 0x010d 0000037d: PUSH1 0x04 0000037f: DUP1 00000380: CALLDATALOAD 00000381: PUSH1 0x01 00000383: PUSH1 0xa0 00000385: PUSH1 0x02 00000387: EXP 00000388: SUB 00000389: AND 0000038a: SWAP1 0000038b: PUSH1 0x24 0000038d: DUP1 0000038e: CALLDATALOAD 0000038f: SWAP2 00000390: PUSH1 0x44 00000392: CALLDATALOAD 00000393: SWAP2 00000394: DUP3 00000395: ADD 00000396: SWAP2 00000397: ADD 00000398: CALLDATALOAD 00000399: PUSH2 0x095d 0000039c: JUMP 0000039d: JUMPDEST 0000039e: CALLVALUE 0000039f: ISZERO 000003a0: PUSH2 0x03a8 000003a3: JUMPI 000003a4: PUSH1 0x00 000003a6: DUP1 000003a7: REVERT 000003a8: JUMPDEST 000003a9: PUSH2 0x010d 000003ac: PUSH1 0x01 000003ae: PUSH1 0xa0 000003b0: PUSH1 0x02 000003b2: EXP 000003b3: SUB 000003b4: PUSH1 0x04 000003b6: CALLDATALOAD 000003b7: AND 000003b8: PUSH2 0x09a9 000003bb: JUMP 000003bc: JUMPDEST 000003bd: CALLVALUE 000003be: ISZERO 000003bf: PUSH2 0x03c7 000003c2: JUMPI 000003c3: PUSH1 0x00 000003c5: DUP1 000003c6: REVERT 000003c7: JUMPDEST 000003c8: PUSH2 0x010d 000003cb: PUSH1 0x01 000003cd: PUSH1 0xa0 000003cf: PUSH1 0x02 000003d1: EXP 000003d2: SUB 000003d3: PUSH1 0x04 000003d5: CALLDATALOAD 000003d6: DUP2 000003d7: AND 000003d8: SWAP1 000003d9: PUSH1 0x24 000003db: CALLDATALOAD 000003dc: AND 000003dd: PUSH1 0x44 000003df: CALLDATALOAD 000003e0: PUSH2 0x09ba 000003e3: JUMP 000003e4: JUMPDEST 000003e5: CALLVALUE 000003e6: ISZERO 000003e7: PUSH2 0x03ef 000003ea: JUMPI 000003eb: PUSH1 0x00 000003ed: DUP1 000003ee: REVERT 000003ef: JUMPDEST 000003f0: PUSH2 0x0403 000003f3: PUSH1 0x01 000003f5: PUSH1 0xa0 000003f7: PUSH1 0x02 000003f9: EXP 000003fa: SUB 000003fb: PUSH1 0x04 000003fd: CALLDATALOAD 000003fe: AND 000003ff: PUSH2 0x09cd 00000402: JUMP 00000403: JUMPDEST 00000404: PUSH1 0x40 00000406: MLOAD 00000407: SWAP6 00000408: DUP7 00000409: MSTORE 0000040a: PUSH1 0x20 0000040c: DUP7 0000040d: ADD 0000040e: SWAP5 0000040f: SWAP1 00000410: SWAP5 00000411: MSTORE 00000412: SWAP2 00000413: ISZERO 00000414: ISZERO 00000415: PUSH1 0x40 00000417: DUP1 00000418: DUP7 00000419: ADD 0000041a: SWAP2 0000041b: SWAP1 0000041c: SWAP2 0000041d: MSTORE 0000041e: SWAP1 0000041f: ISZERO 00000420: ISZERO 00000421: PUSH1 0x60 00000423: DUP6 00000424: ADD 00000425: MSTORE 00000426: SWAP1 00000427: ISZERO 00000428: ISZERO 00000429: PUSH1 0x80 0000042b: DUP5 0000042c: ADD 0000042d: MSTORE 0000042e: PUSH1 0xa0 00000430: DUP4 00000431: ADD 00000432: SWAP2 00000433: SWAP1 00000434: SWAP2 00000435: MSTORE 00000436: PUSH1 0xc0 00000438: SWAP1 00000439: SWAP2 0000043a: ADD 0000043b: SWAP1 0000043c: MLOAD 0000043d: DUP1 0000043e: SWAP2 0000043f: SUB 00000440: SWAP1 00000441: RETURN 00000442: JUMPDEST 00000443: CALLVALUE 00000444: ISZERO 00000445: PUSH2 0x044d 00000448: JUMPI 00000449: PUSH1 0x00 0000044b: DUP1 0000044c: REVERT 0000044d: JUMPDEST 0000044e: PUSH2 0x010d 00000451: PUSH1 0x04 00000453: DUP1 00000454: CALLDATALOAD 00000455: PUSH1 0x01 00000457: PUSH1 0xa0 00000459: PUSH1 0x02 0000045b: EXP 0000045c: SUB 0000045d: AND 0000045e: SWAP1 0000045f: PUSH1 0x24 00000461: DUP1 00000462: CALLDATALOAD 00000463: SWAP2 00000464: PUSH1 0x44 00000466: CALLDATALOAD 00000467: SWAP2 00000468: PUSH1 0x64 0000046a: CALLDATALOAD 0000046b: SWAP1 0000046c: DUP2 0000046d: ADD 0000046e: SWAP2 0000046f: ADD 00000470: CALLDATALOAD 00000471: PUSH2 0x0a2f 00000474: JUMP 00000475: JUMPDEST 00000476: CALLVALUE 00000477: ISZERO 00000478: PUSH2 0x0480 0000047b: JUMPI 0000047c: PUSH1 0x00 0000047e: DUP1 0000047f: REVERT 00000480: JUMPDEST 00000481: PUSH2 0x010d 00000484: PUSH2 0x0a7e 00000487: JUMP 00000488: JUMPDEST 00000489: CALLVALUE 0000048a: ISZERO 0000048b: PUSH2 0x0493 0000048e: JUMPI 0000048f: PUSH1 0x00 00000491: DUP1 00000492: REVERT 00000493: JUMPDEST 00000494: PUSH2 0x010d 00000497: PUSH1 0x01 00000499: PUSH1 0xa0 0000049b: PUSH1 0x02 0000049d: EXP 0000049e: SUB 0000049f: PUSH1 0x04 000004a1: CALLDATALOAD 000004a2: AND 000004a3: PUSH2 0x0a88 000004a6: JUMP 000004a7: JUMPDEST 000004a8: CALLVALUE 000004a9: ISZERO 000004aa: PUSH2 0x04b2 000004ad: JUMPI 000004ae: PUSH1 0x00 000004b0: DUP1 000004b1: REVERT 000004b2: JUMPDEST 000004b3: PUSH2 0x010d 000004b6: PUSH2 0x0a99 000004b9: JUMP 000004ba: JUMPDEST 000004bb: PUSH2 0x010d 000004be: PUSH2 0x0aa3 000004c1: JUMP 000004c2: JUMPDEST 000004c3: CALLVALUE 000004c4: ISZERO 000004c5: PUSH2 0x04cd 000004c8: JUMPI 000004c9: PUSH1 0x00 000004cb: DUP1 000004cc: REVERT 000004cd: JUMPDEST 000004ce: PUSH2 0x010d 000004d1: PUSH1 0x04 000004d3: DUP1 000004d4: CALLDATALOAD 000004d5: SWAP1 000004d6: PUSH1 0x24 000004d8: DUP1 000004d9: CALLDATALOAD 000004da: SWAP2 000004db: PUSH1 0x44 000004dd: CALLDATALOAD 000004de: SWAP2 000004df: PUSH1 0x64 000004e1: CALLDATALOAD 000004e2: SWAP1 000004e3: DUP2 000004e4: ADD 000004e5: SWAP2 000004e6: ADD 000004e7: CALLDATALOAD 000004e8: PUSH2 0x0aad 000004eb: JUMP 000004ec: JUMPDEST 000004ed: CALLVALUE 000004ee: ISZERO 000004ef: PUSH2 0x04f7 000004f2: JUMPI 000004f3: PUSH1 0x00 000004f5: DUP1 000004f6: REVERT 000004f7: JUMPDEST 000004f8: PUSH2 0x010d 000004fb: PUSH1 0x24 000004fd: PUSH1 0x04 000004ff: DUP1 00000500: CALLDATALOAD 00000501: DUP3 00000502: DUP2 00000503: ADD 00000504: SWAP3 00000505: SWAP1 00000506: DUP3 00000507: ADD 00000508: CALLDATALOAD 00000509: SWAP2 0000050a: DUP2 0000050b: CALLDATALOAD 0000050c: SWAP2 0000050d: DUP3 0000050e: ADD 0000050f: SWAP2 00000510: ADD 00000511: CALLDATALOAD 00000512: PUSH2 0x0af3 00000515: JUMP 00000516: JUMPDEST 00000517: CALLVALUE 00000518: ISZERO 00000519: PUSH2 0x0521 0000051c: JUMPI 0000051d: PUSH1 0x00 0000051f: DUP1 00000520: REVERT 00000521: JUMPDEST 00000522: PUSH2 0x0529 00000525: PUSH2 0x0b64 00000528: JUMP 00000529: JUMPDEST 0000052a: PUSH1 0x40 0000052c: MLOAD 0000052d: DUP1 0000052e: DUP8 0000052f: DUP2 00000530: MSTORE 00000531: PUSH1 0x20 00000533: ADD 00000534: DUP7 00000535: DUP2 00000536: MSTORE 00000537: PUSH1 0x20 00000539: ADD 0000053a: DUP6 0000053b: DUP2 0000053c: MSTORE 0000053d: PUSH1 0x20 0000053f: ADD 00000540: DUP5 00000541: DUP2 00000542: MSTORE 00000543: PUSH1 0x20 00000545: ADD 00000546: DUP1 00000547: PUSH1 0x20 00000549: ADD 0000054a: DUP4 0000054b: ISZERO 0000054c: ISZERO 0000054d: ISZERO 0000054e: ISZERO 0000054f: DUP2 00000550: MSTORE 00000551: PUSH1 0x20 00000553: ADD 00000554: DUP3 00000555: DUP2 00000556: SUB 00000557: DUP3 00000558: MSTORE 00000559: DUP5 0000055a: DUP2 0000055b: DUP2 0000055c: MLOAD 0000055d: DUP2 0000055e: MSTORE 0000055f: PUSH1 0x20 00000561: ADD 00000562: SWAP2 00000563: POP 00000564: DUP1 00000565: MLOAD 00000566: SWAP1 00000567: PUSH1 0x20 00000569: ADD 0000056a: SWAP1 0000056b: PUSH1 0x20 0000056d: MUL 0000056e: DUP1 0000056f: DUP4 00000570: DUP4 00000571: PUSH1 0x00 00000573: JUMPDEST 00000574: DUP4 00000575: DUP2 00000576: LT 00000577: ISZERO 00000578: PUSH2 0x058b 0000057b: JUMPI 0000057c: DUP1 0000057d: DUP3 0000057e: ADD 0000057f: MLOAD 00000580: DUP4 00000581: DUP3 00000582: ADD 00000583: MSTORE 00000584: PUSH1 0x20 00000586: ADD 00000587: PUSH2 0x0573 0000058a: JUMP 0000058b: JUMPDEST 0000058c: POP 0000058d: POP 0000058e: POP 0000058f: POP 00000590: SWAP1 00000591: POP 00000592: ADD 00000593: SWAP8 00000594: POP 00000595: POP 00000596: POP 00000597: POP 00000598: POP 00000599: POP 0000059a: POP 0000059b: POP 0000059c: PUSH1 0x40 0000059e: MLOAD 0000059f: DUP1 000005a0: SWAP2 000005a1: SUB 000005a2: SWAP1 000005a3: RETURN 000005a4: JUMPDEST 000005a5: CALLVALUE 000005a6: ISZERO 000005a7: PUSH2 0x05af 000005aa: JUMPI 000005ab: PUSH1 0x00 000005ad: DUP1 000005ae: REVERT 000005af: JUMPDEST 000005b0: PUSH2 0x010d 000005b3: PUSH1 0x04 000005b5: DUP1 000005b6: CALLDATALOAD 000005b7: PUSH1 0x24 000005b9: DUP2 000005ba: ADD 000005bb: SWAP2 000005bc: ADD 000005bd: CALLDATALOAD 000005be: PUSH2 0x0c00 000005c1: JUMP 000005c2: JUMPDEST 000005c3: PUSH2 0x05cd 000005c6: DUP2 000005c7: PUSH1 0x03 000005c9: PUSH2 0x0c40 000005cc: JUMP 000005cd: JUMPDEST 000005ce: PUSH1 0x0b 000005d0: DUP2 000005d1: ADD 000005d2: SLOAD 000005d3: CALLER 000005d4: PUSH1 0x01 000005d6: PUSH1 0xa0 000005d8: PUSH1 0x02 000005da: EXP 000005db: SUB 000005dc: SWAP1 000005dd: DUP2 000005de: AND 000005df: SWAP2 000005e0: AND 000005e1: EQ 000005e2: PUSH2 0x05ea 000005e5: JUMPI 000005e6: PUSH1 0x00 000005e8: DUP1 000005e9: REVERT 000005ea: JUMPDEST 000005eb: PUSH32 0xe3f8f3d12883a82a6719d9abdecb63746f22f15debeef9703c9acf75103baaaf 0000060c: CALLER 0000060d: CALLVALUE 0000060e: PUSH1 0x40 00000610: MLOAD 00000611: PUSH1 0x01 00000613: PUSH1 0xa0 00000615: PUSH1 0x02 00000617: EXP 00000618: SUB 00000619: SWAP1 0000061a: SWAP3 0000061b: AND 0000061c: DUP3 0000061d: MSTORE 0000061e: PUSH1 0x20 00000620: DUP3 00000621: ADD 00000622: MSTORE 00000623: PUSH1 0x40 00000625: SWAP1 00000626: DUP2 00000627: ADD 00000628: SWAP1 00000629: MLOAD 0000062a: DUP1 0000062b: SWAP2 0000062c: SUB 0000062d: SWAP1 0000062e: LOG1 0000062f: POP 00000630: JUMP 00000631: JUMPDEST 00000632: PUSH2 0x0644 00000635: PUSH1 0x00 00000637: DUP5 00000638: DUP5 00000639: DUP5 0000063a: PUSH4 0xffffffff 0000063f: PUSH2 0x0c66 00000642: AND 00000643: JUMP 00000644: JUMPDEST 00000645: POP 00000646: POP 00000647: POP 00000648: JUMP 00000649: JUMPDEST 0000064a: PUSH2 0x0653 0000064d: PUSH1 0x00 0000064f: PUSH2 0x0daa 00000652: JUMP 00000653: JUMPDEST 00000654: JUMP 00000655: JUMPDEST 00000656: PUSH2 0x0667 00000659: PUSH1 0x00 0000065b: DUP4 0000065c: DUP4 0000065d: PUSH4 0xffffffff 00000662: PUSH2 0x0eb8 00000665: AND 00000666: JUMP 00000667: JUMPDEST 00000668: POP 00000669: POP 0000066a: JUMP 0000066b: JUMPDEST 0000066c: PUSH1 0x00 0000066e: DUP1 0000066f: PUSH1 0x00 00000671: DUP1 00000672: PUSH1 0x00 00000674: DUP1 00000675: PUSH2 0x067c 00000678: PUSH2 0x32ce 0000067b: JUMP 0000067c: JUMPDEST 0000067d: PUSH2 0x0684 00000680: PUSH2 0x32ce 00000683: JUMP 00000684: JUMPDEST 00000685: PUSH2 0x068c 00000688: PUSH2 0x32ce 0000068b: JUMP 0000068c: JUMPDEST 0000068d: PUSH2 0x0694 00000690: PUSH2 0x32ce 00000693: JUMP 00000694: JUMPDEST 00000695: PUSH2 0x069c 00000698: PUSH2 0x32ce 0000069b: JUMP 0000069c: JUMPDEST 0000069d: PUSH2 0x06a4 000006a0: PUSH2 0x32ce 000006a3: JUMP 000006a4: JUMPDEST 000006a5: PUSH2 0x06ac 000006a8: PUSH2 0x32ce 000006ab: JUMP 000006ac: JUMPDEST 000006ad: PUSH1 0x05 000006af: SLOAD 000006b0: PUSH1 0x00 000006b2: SWAP1 000006b3: DUP2 000006b4: SWAP1 000006b5: PUSH1 0x40 000006b7: MLOAD 000006b8: DUP1 000006b9: MSIZE 000006ba: LT 000006bb: PUSH2 0x06c1 000006be: JUMPI 000006bf: POP 000006c0: MSIZE 000006c1: JUMPDEST 000006c2: SWAP1 000006c3: DUP1 000006c4: DUP3 000006c5: MSTORE 000006c6: DUP1 000006c7: PUSH1 0x20 000006c9: MUL 000006ca: PUSH1 0x20 000006cc: ADD 000006cd: DUP3 000006ce: ADD 000006cf: PUSH1 0x40 000006d1: MSTORE 000006d2: POP 000006d3: PUSH1 0x05 000006d5: SLOAD 000006d6: SWAP1 000006d7: SWAP6 000006d8: POP 000006d9: PUSH1 0x40 000006db: MLOAD 000006dc: DUP1 000006dd: MSIZE 000006de: LT 000006df: PUSH2 0x06e5 000006e2: JUMPI 000006e3: POP 000006e4: MSIZE 000006e5: JUMPDEST 000006e6: SWAP1 000006e7: DUP1 000006e8: DUP3 000006e9: MSTORE 000006ea: DUP1 000006eb: PUSH1 0x20 000006ed: MUL 000006ee: PUSH1 0x20 000006f0: ADD 000006f1: DUP3 000006f2: ADD 000006f3: PUSH1 0x40 000006f5: MSTORE 000006f6: POP 000006f7: PUSH1 0x05 000006f9: SLOAD 000006fa: SWAP1 000006fb: SWAP5 000006fc: POP 000006fd: PUSH1 0x40 000006ff: MLOAD 00000700: DUP1 00000701: MSIZE 00000702: LT 00000703: PUSH2 0x0709 00000706: JUMPI 00000707: POP 00000708: MSIZE 00000709: JUMPDEST 0000070a: SWAP1 0000070b: DUP1 0000070c: DUP3 0000070d: MSTORE 0000070e: DUP1 0000070f: PUSH1 0x20 00000711: MUL 00000712: PUSH1 0x20 00000714: ADD 00000715: DUP3 00000716: ADD 00000717: PUSH1 0x40 00000719: MSTORE 0000071a: POP 0000071b: SWAP3 0000071c: POP 0000071d: PUSH1 0x00 0000071f: SWAP2 00000720: POP 00000721: JUMPDEST 00000722: PUSH1 0x05 00000724: SLOAD 00000725: DUP3 00000726: LT 00000727: ISZERO 00000728: PUSH2 0x07cd 0000072b: JUMPI 0000072c: PUSH1 0x05 0000072e: DUP1 0000072f: SLOAD 00000730: PUSH1 0x07 00000732: SWAP2 00000733: PUSH1 0x00 00000735: SWAP2 00000736: DUP6 00000737: SWAP1 00000738: DUP2 00000739: LT 0000073a: PUSH2 0x073f 0000073d: JUMPI 0000073e: INVALID 0000073f: JUMPDEST 00000740: PUSH1 0x00 00000742: SWAP2 00000743: DUP3 00000744: MSTORE 00000745: PUSH1 0x20 00000747: DUP1 00000748: DUP4 00000749: KECCAK256 0000074a: SWAP1 0000074b: SWAP2 0000074c: ADD 0000074d: SLOAD 0000074e: PUSH1 0x01 00000750: PUSH1 0xa0 00000752: PUSH1 0x02 00000754: EXP 00000755: SUB 00000756: AND 00000757: DUP4 00000758: MSTORE 00000759: DUP3 0000075a: ADD 0000075b: SWAP3 0000075c: SWAP1 0000075d: SWAP3 0000075e: MSTORE 0000075f: PUSH1 0x40 00000761: ADD 00000762: SWAP1 00000763: KECCAK256 00000764: DUP1 00000765: SLOAD 00000766: SWAP1 00000767: SWAP2 00000768: POP 00000769: DUP6 0000076a: DUP4 0000076b: DUP2 0000076c: MLOAD 0000076d: DUP2 0000076e: LT 0000076f: PUSH2 0x0774 00000772: JUMPI 00000773: INVALID 00000774: JUMPDEST 00000775: PUSH1 0x20 00000777: SWAP1 00000778: DUP2 00000779: MUL 0000077a: SWAP1 0000077b: SWAP2 0000077c: ADD 0000077d: ADD 0000077e: MSTORE 0000077f: PUSH1 0x01 00000781: DUP2 00000782: ADD 00000783: SLOAD 00000784: DUP5 00000785: DUP4 00000786: DUP2 00000787: MLOAD 00000788: DUP2 00000789: LT 0000078a: PUSH2 0x078f 0000078d: JUMPI 0000078e: INVALID 0000078f: JUMPDEST 00000790: PUSH1 0x20 00000792: SWAP1 00000793: DUP2 00000794: MUL 00000795: SWAP1 00000796: SWAP2 00000797: ADD 00000798: ADD 00000799: MSTORE 0000079a: PUSH1 0x02 0000079c: DUP2 0000079d: ADD 0000079e: SLOAD 0000079f: PUSH1 0xff 000007a1: PUSH2 0x0100 000007a4: SWAP1 000007a5: SWAP2 000007a6: DIV 000007a7: AND 000007a8: DUP4 000007a9: DUP4 000007aa: DUP2 000007ab: MLOAD 000007ac: DUP2 000007ad: LT 000007ae: PUSH2 0x07b3 000007b1: JUMPI 000007b2: INVALID 000007b3: JUMPDEST 000007b4: SWAP2 000007b5: ISZERO 000007b6: ISZERO 000007b7: PUSH1 0x20 000007b9: SWAP3 000007ba: DUP4 000007bb: MUL 000007bc: SWAP1 000007bd: SWAP2 000007be: ADD 000007bf: SWAP1 000007c0: SWAP2 000007c1: ADD 000007c2: MSTORE 000007c3: PUSH1 0x01 000007c5: SWAP1 000007c6: SWAP2 000007c7: ADD 000007c8: SWAP1 000007c9: PUSH2 0x0721 000007cc: JUMP 000007cd: JUMPDEST 000007ce: PUSH1 0x00 000007d0: SLOAD 000007d1: PUSH1 0x08 000007d3: SLOAD 000007d4: PUSH1 0x0a 000007d6: SLOAD 000007d7: PUSH1 0x0f 000007d9: SLOAD 000007da: PUSH1 0x0b 000007dc: SLOAD 000007dd: PUSH1 0x05 000007df: DUP1 000007e0: SLOAD 000007e1: PUSH1 0xff 000007e3: SWAP1 000007e4: SWAP7 000007e5: AND 000007e6: SWAP6 000007e7: PUSH1 0x01 000007e9: PUSH1 0xa0 000007eb: PUSH1 0x02 000007ed: EXP 000007ee: SUB 000007ef: ADDRESS 000007f0: DUP2 000007f1: AND 000007f2: BALANCE 000007f3: SWAP6 000007f4: SWAP5 000007f5: DUP2 000007f6: AND 000007f7: SWAP4 000007f8: AND 000007f9: SWAP2 000007fa: SWAP1 000007fb: DUP13 000007fc: SWAP1 000007fd: DUP13 000007fe: SWAP1 000007ff: DUP13 00000800: SWAP1 00000801: DUP5 00000802: SWAP1 00000803: PUSH1 0x20 00000805: DUP1 00000806: DUP3 00000807: MUL 00000808: ADD 00000809: PUSH1 0x40 0000080b: MLOAD 0000080c: SWAP1 0000080d: DUP2 0000080e: ADD 0000080f: PUSH1 0x40 00000811: MSTORE 00000812: DUP1 00000813: SWAP3 00000814: SWAP2 00000815: SWAP1 00000816: DUP2 00000817: DUP2 00000818: MSTORE 00000819: PUSH1 0x20 0000081b: ADD 0000081c: DUP3 0000081d: DUP1 0000081e: SLOAD 0000081f: DUP1 00000820: ISZERO 00000821: PUSH2 0x0853 00000824: JUMPI 00000825: PUSH1 0x20 00000827: MUL 00000828: DUP3 00000829: ADD 0000082a: SWAP2 0000082b: SWAP1 0000082c: PUSH1 0x00 0000082e: MSTORE 0000082f: PUSH1 0x20 00000831: PUSH1 0x00 00000833: KECCAK256 00000834: SWAP1 00000835: JUMPDEST 00000836: DUP2 00000837: SLOAD 00000838: PUSH1 0x01 0000083a: PUSH1 0xa0 0000083c: PUSH1 0x02 0000083e: EXP 0000083f: SUB 00000840: AND 00000841: DUP2 00000842: MSTORE 00000843: PUSH1 0x01 00000845: SWAP1 00000846: SWAP2 00000847: ADD 00000848: SWAP1 00000849: PUSH1 0x20 0000084b: ADD 0000084c: DUP1 0000084d: DUP4 0000084e: GT 0000084f: PUSH2 0x0835 00000852: JUMPI 00000853: JUMPDEST 00000854: POP 00000855: POP 00000856: POP 00000857: POP 00000858: POP 00000859: SWAP4 0000085a: POP 0000085b: SWAP15 0000085c: POP 0000085d: SWAP15 0000085e: POP 0000085f: SWAP15 00000860: POP 00000861: SWAP15 00000862: POP 00000863: SWAP15 00000864: POP 00000865: SWAP15 00000866: POP 00000867: SWAP15 00000868: POP 00000869: SWAP15 0000086a: POP 0000086b: SWAP15 0000086c: POP 0000086d: SWAP15 0000086e: POP 0000086f: POP 00000870: POP 00000871: POP 00000872: POP 00000873: POP 00000874: SWAP1 00000875: SWAP2 00000876: SWAP3 00000877: SWAP4 00000878: SWAP5 00000879: SWAP6 0000087a: SWAP7 0000087b: SWAP8 0000087c: SWAP9 0000087d: SWAP10 0000087e: JUMP 0000087f: JUMPDEST 00000880: PUSH1 0x13 00000882: SLOAD 00000883: PUSH1 0xff 00000885: AND 00000886: ISZERO 00000887: PUSH2 0x088f 0000088a: JUMPI 0000088b: PUSH1 0x00 0000088d: DUP1 0000088e: REVERT 0000088f: JUMPDEST 00000890: PUSH1 0x13 00000892: DUP1 00000893: SLOAD 00000894: PUSH1 0xff 00000896: NOT 00000897: AND 00000898: PUSH1 0x01 0000089a: OR 0000089b: SWAP1 0000089c: SSTORE 0000089d: PUSH2 0x08ad 000008a0: PUSH1 0x00 000008a2: DUP3 000008a3: PUSH4 0xffffffff 000008a8: PUSH2 0x0f83 000008ab: AND 000008ac: JUMP 000008ad: JUMPDEST 000008ae: POP 000008af: PUSH1 0x13 000008b1: DUP1 000008b2: SLOAD 000008b3: PUSH1 0xff 000008b5: NOT 000008b6: AND 000008b7: SWAP1 000008b8: SSTORE 000008b9: JUMP 000008ba: JUMPDEST 000008bb: PUSH1 0x0f 000008bd: SLOAD 000008be: PUSH1 0x01 000008c0: PUSH1 0xa0 000008c2: PUSH1 0x02 000008c4: EXP 000008c5: SUB 000008c6: AND 000008c7: PUSH1 0x00 000008c9: SWAP1 000008ca: DUP2 000008cb: MSTORE 000008cc: PUSH1 0x0e 000008ce: PUSH1 0x20 000008d0: MSTORE 000008d1: PUSH1 0x40 000008d3: SWAP1 000008d4: KECCAK256 000008d5: PUSH1 0x01 000008d7: ADD 000008d8: SLOAD 000008d9: JUMPDEST 000008da: SWAP1 000008db: JUMP 000008dc: JUMPDEST 000008dd: PUSH1 0x13 000008df: SLOAD 000008e0: PUSH1 0xff 000008e2: AND 000008e3: ISZERO 000008e4: PUSH2 0x08ec 000008e7: JUMPI 000008e8: PUSH1 0x00 000008ea: DUP1 000008eb: REVERT 000008ec: JUMPDEST 000008ed: PUSH1 0x13 000008ef: DUP1 000008f0: SLOAD 000008f1: PUSH1 0xff 000008f3: NOT 000008f4: AND 000008f5: PUSH1 0x01 000008f7: OR 000008f8: SWAP1 000008f9: SSTORE 000008fa: PUSH2 0x093a 000008fd: DUP4 000008fe: DUP4 000008ff: DUP4 00000900: DUP1 00000901: PUSH1 0x20 00000903: DUP1 00000904: DUP3 00000905: MUL 00000906: ADD 00000907: PUSH1 0x40 00000909: MLOAD 0000090a: SWAP1 0000090b: DUP2 0000090c: ADD 0000090d: PUSH1 0x40 0000090f: MSTORE 00000910: DUP1 00000911: SWAP4 00000912: SWAP3 00000913: SWAP2 00000914: SWAP1 00000915: DUP2 00000916: DUP2 00000917: MSTORE 00000918: PUSH1 0x20 0000091a: ADD 0000091b: DUP4 0000091c: DUP4 0000091d: PUSH1 0x20 0000091f: MUL 00000920: DUP1 00000921: DUP3 00000922: DUP5 00000923: CALLDATACOPY 00000924: POP 00000925: PUSH1 0x00 00000927: SWAP7 00000928: SWAP6 00000929: SWAP5 0000092a: POP 0000092b: POP 0000092c: PUSH4 0xffffffff 00000931: PUSH2 0x1160 00000934: AND 00000935: SWAP3 00000936: POP 00000937: POP 00000938: POP 00000939: JUMP 0000093a: JUMPDEST 0000093b: POP 0000093c: POP 0000093d: PUSH1 0x13 0000093f: DUP1 00000940: SLOAD 00000941: PUSH1 0xff 00000943: NOT 00000944: AND 00000945: SWAP1 00000946: SSTORE 00000947: POP 00000948: JUMP 00000949: JUMPDEST 0000094a: PUSH2 0x095a 0000094d: PUSH1 0x00 0000094f: DUP3 00000950: PUSH4 0xffffffff 00000955: PUSH2 0x132f 00000958: AND 00000959: JUMP 0000095a: JUMPDEST 0000095b: POP 0000095c: JUMP 0000095d: JUMPDEST 0000095e: PUSH2 0x09a3 00000961: DUP5 00000962: DUP5 00000963: DUP5 00000964: DUP5 00000965: DUP1 00000966: DUP1 00000967: PUSH1 0x1f 00000969: ADD 0000096a: PUSH1 0x20 0000096c: DUP1 0000096d: SWAP2 0000096e: DIV 0000096f: MUL 00000970: PUSH1 0x20 00000972: ADD 00000973: PUSH1 0x40 00000975: MLOAD 00000976: SWAP1 00000977: DUP2 00000978: ADD 00000979: PUSH1 0x40 0000097b: MSTORE 0000097c: DUP2 0000097d: DUP2 0000097e: MSTORE 0000097f: SWAP3 00000980: SWAP2 00000981: SWAP1 00000982: PUSH1 0x20 00000984: DUP5 00000985: ADD 00000986: DUP4 00000987: DUP4 00000988: DUP1 00000989: DUP3 0000098a: DUP5 0000098b: CALLDATACOPY 0000098c: POP 0000098d: PUSH1 0x00 0000098f: SWAP8 00000990: SWAP7 00000991: SWAP6 00000992: SWAP5 00000993: POP 00000994: POP 00000995: PUSH4 0xffffffff 0000099a: PUSH2 0x146c 0000099d: AND 0000099e: SWAP3 0000099f: POP 000009a0: POP 000009a1: POP 000009a2: JUMP 000009a3: JUMPDEST 000009a4: POP 000009a5: POP 000009a6: POP 000009a7: POP 000009a8: JUMP 000009a9: JUMPDEST 000009aa: PUSH2 0x095a 000009ad: PUSH1 0x00 000009af: DUP3 000009b0: PUSH4 0xffffffff 000009b5: PUSH2 0x15d9 000009b8: AND 000009b9: JUMP 000009ba: JUMPDEST 000009bb: PUSH2 0x0644 000009be: PUSH1 0x00 000009c0: DUP5 000009c1: DUP5 000009c2: DUP5 000009c3: PUSH4 0xffffffff 000009c8: PUSH2 0x1745 000009cb: AND 000009cc: JUMP 000009cd: JUMPDEST 000009ce: PUSH1 0x01 000009d0: PUSH1 0xa0 000009d2: PUSH1 0x02 000009d4: EXP 000009d5: SUB 000009d6: SWAP1 000009d7: DUP2 000009d8: AND 000009d9: PUSH1 0x00 000009db: DUP2 000009dc: DUP2 000009dd: MSTORE 000009de: PUSH1 0x07 000009e0: PUSH1 0x20 000009e2: SWAP1 000009e3: DUP2 000009e4: MSTORE 000009e5: PUSH1 0x40 000009e7: DUP1 000009e8: DUP4 000009e9: KECCAK256 000009ea: DUP1 000009eb: SLOAD 000009ec: PUSH1 0x01 000009ee: DUP3 000009ef: ADD 000009f0: SLOAD 000009f1: PUSH1 0x02 000009f3: SWAP1 000009f4: SWAP3 000009f5: ADD 000009f6: SLOAD 000009f7: PUSH1 0x0f 000009f9: SLOAD 000009fa: SWAP1 000009fb: SWAP8 000009fc: AND 000009fd: DUP6 000009fe: MSTORE 000009ff: PUSH1 0x0e 00000a01: DUP5 00000a02: MSTORE 00000a03: DUP3 00000a04: DUP6 00000a05: KECCAK256 00000a06: SWAP6 00000a07: DUP6 00000a08: MSTORE 00000a09: SWAP5 00000a0a: SWAP1 00000a0b: SWAP3 00000a0c: MSTORE 00000a0d: SWAP1 00000a0e: SWAP2 00000a0f: KECCAK256 00000a10: SLOAD 00000a11: SWAP2 00000a12: SWAP4 00000a13: SWAP1 00000a14: SWAP3 00000a15: PUSH1 0xff 00000a17: DUP1 00000a18: DUP3 00000a19: AND 00000a1a: SWAP4 00000a1b: PUSH2 0x0100 00000a1e: DUP4 00000a1f: DIV 00000a20: DUP3 00000a21: AND 00000a22: SWAP4 00000a23: PUSH3 0x010000 00000a27: SWAP1 00000a28: SWAP4 00000a29: DIV 00000a2a: SWAP1 00000a2b: SWAP2 00000a2c: AND 00000a2d: SWAP2 00000a2e: JUMP 00000a2f: JUMPDEST 00000a30: PUSH2 0x0a77 00000a33: DUP6 00000a34: DUP6 00000a35: DUP6 00000a36: DUP6 00000a37: DUP6 00000a38: DUP1 00000a39: DUP1 00000a3a: PUSH1 0x1f 00000a3c: ADD 00000a3d: PUSH1 0x20 00000a3f: DUP1 00000a40: SWAP2 00000a41: DIV 00000a42: MUL 00000a43: PUSH1 0x20 00000a45: ADD 00000a46: PUSH1 0x40 00000a48: MLOAD 00000a49: SWAP1 00000a4a: DUP2 00000a4b: ADD 00000a4c: PUSH1 0x40 00000a4e: MSTORE 00000a4f: DUP2 00000a50: DUP2 00000a51: MSTORE 00000a52: SWAP3 00000a53: SWAP2 00000a54: SWAP1 00000a55: PUSH1 0x20 00000a57: DUP5 00000a58: ADD 00000a59: DUP4 00000a5a: DUP4 00000a5b: DUP1 00000a5c: DUP3 00000a5d: DUP5 00000a5e: CALLDATACOPY 00000a5f: POP 00000a60: PUSH1 0x00 00000a62: SWAP9 00000a63: SWAP8 00000a64: SWAP7 00000a65: SWAP6 00000a66: SWAP5 00000a67: POP 00000a68: POP 00000a69: PUSH4 0xffffffff 00000a6e: PUSH2 0x18af 00000a71: AND 00000a72: SWAP3 00000a73: POP 00000a74: POP 00000a75: POP 00000a76: JUMP 00000a77: JUMPDEST 00000a78: POP 00000a79: POP 00000a7a: POP 00000a7b: POP 00000a7c: POP 00000a7d: JUMP 00000a7e: JUMPDEST 00000a7f: PUSH2 0x0653 00000a82: PUSH1 0x00 00000a84: PUSH2 0x1b0b 00000a87: JUMP 00000a88: JUMPDEST 00000a89: PUSH2 0x095a 00000a8c: PUSH1 0x00 00000a8e: DUP3 00000a8f: PUSH4 0xffffffff 00000a94: PUSH2 0x1d59 00000a97: AND 00000a98: JUMP 00000a99: JUMPDEST 00000a9a: PUSH2 0x0653 00000a9d: PUSH1 0x00 00000a9f: PUSH2 0x1e47 00000aa2: JUMP 00000aa3: JUMPDEST 00000aa4: PUSH2 0x0653 00000aa7: PUSH1 0x00 00000aa9: PUSH2 0x1ee3 00000aac: JUMP 00000aad: JUMPDEST 00000aae: PUSH2 0x0a77 00000ab1: DUP6 00000ab2: DUP6 00000ab3: DUP6 00000ab4: DUP6 00000ab5: DUP6 00000ab6: DUP1 00000ab7: DUP1 00000ab8: PUSH1 0x20 00000aba: MUL 00000abb: PUSH1 0x20 00000abd: ADD 00000abe: PUSH1 0x40 00000ac0: MLOAD 00000ac1: SWAP1 00000ac2: DUP2 00000ac3: ADD 00000ac4: PUSH1 0x40 00000ac6: MSTORE 00000ac7: DUP1 00000ac8: SWAP4 00000ac9: SWAP3 00000aca: SWAP2 00000acb: SWAP1 00000acc: DUP2 00000acd: DUP2 00000ace: MSTORE 00000acf: PUSH1 0x20 00000ad1: ADD 00000ad2: DUP4 00000ad3: DUP4 00000ad4: PUSH1 0x20 00000ad6: MUL 00000ad7: DUP1 00000ad8: DUP3 00000ad9: DUP5 00000ada: CALLDATACOPY 00000adb: POP 00000adc: PUSH1 0x00 00000ade: SWAP9 00000adf: SWAP8 00000ae0: SWAP7 00000ae1: SWAP6 00000ae2: SWAP5 00000ae3: POP 00000ae4: POP 00000ae5: PUSH4 0xffffffff 00000aea: PUSH2 0x2068 00000aed: AND 00000aee: SWAP3 00000aef: POP 00000af0: POP 00000af1: POP 00000af2: JUMP 00000af3: JUMPDEST 00000af4: PUSH2 0x09a3 00000af7: DUP5 00000af8: DUP5 00000af9: DUP1 00000afa: DUP1 00000afb: PUSH1 0x20 00000afd: MUL 00000afe: PUSH1 0x20 00000b00: ADD 00000b01: PUSH1 0x40 00000b03: MLOAD 00000b04: SWAP1 00000b05: DUP2 00000b06: ADD 00000b07: PUSH1 0x40 00000b09: MSTORE 00000b0a: DUP1 00000b0b: SWAP4 00000b0c: SWAP3 00000b0d: SWAP2 00000b0e: SWAP1 00000b0f: DUP2 00000b10: DUP2 00000b11: MSTORE 00000b12: PUSH1 0x20 00000b14: ADD 00000b15: DUP4 00000b16: DUP4 00000b17: PUSH1 0x20 00000b19: MUL 00000b1a: DUP1 00000b1b: DUP3 00000b1c: DUP5 00000b1d: CALLDATACOPY 00000b1e: DUP3 00000b1f: ADD 00000b20: SWAP2 00000b21: POP 00000b22: POP 00000b23: POP 00000b24: POP 00000b25: POP 00000b26: POP 00000b27: DUP4 00000b28: DUP4 00000b29: DUP1 00000b2a: DUP1 00000b2b: PUSH1 0x20 00000b2d: MUL 00000b2e: PUSH1 0x20 00000b30: ADD 00000b31: PUSH1 0x40 00000b33: MLOAD 00000b34: SWAP1 00000b35: DUP2 00000b36: ADD 00000b37: PUSH1 0x40 00000b39: MSTORE 00000b3a: DUP1 00000b3b: SWAP4 00000b3c: SWAP3 00000b3d: SWAP2 00000b3e: SWAP1 00000b3f: DUP2 00000b40: DUP2 00000b41: MSTORE 00000b42: PUSH1 0x20 00000b44: ADD 00000b45: DUP4 00000b46: DUP4 00000b47: PUSH1 0x20 00000b49: MUL 00000b4a: DUP1 00000b4b: DUP3 00000b4c: DUP5 00000b4d: CALLDATACOPY 00000b4e: POP 00000b4f: PUSH1 0x00 00000b51: SWAP7 00000b52: SWAP6 00000b53: SWAP5 00000b54: POP 00000b55: POP 00000b56: PUSH4 0xffffffff 00000b5b: PUSH2 0x24ed 00000b5e: AND 00000b5f: SWAP3 00000b60: POP 00000b61: POP 00000b62: POP 00000b63: JUMP 00000b64: JUMPDEST 00000b65: PUSH1 0x00 00000b67: DUP1 00000b68: PUSH1 0x00 00000b6a: DUP1 00000b6b: PUSH2 0x0b72 00000b6e: PUSH2 0x32ce 00000b71: JUMP 00000b72: JUMPDEST 00000b73: PUSH1 0x00 00000b75: PUSH2 0x0b7c 00000b78: PUSH2 0x279a 00000b7b: JUMP 00000b7c: JUMPDEST 00000b7d: PUSH1 0x04 00000b7f: SLOAD 00000b80: PUSH1 0x03 00000b82: SLOAD 00000b83: PUSH1 0x02 00000b85: SLOAD 00000b86: PUSH1 0x06 00000b88: SLOAD 00000b89: PUSH1 0x01 00000b8b: DUP1 00000b8c: SLOAD 00000b8d: SWAP1 00000b8e: SWAP2 00000b8f: PUSH1 0xff 00000b91: AND 00000b92: SWAP1 00000b93: DUP3 00000b94: SWAP1 00000b95: PUSH1 0x20 00000b97: DUP1 00000b98: DUP3 00000b99: MUL 00000b9a: ADD 00000b9b: PUSH1 0x40 00000b9d: MLOAD 00000b9e: SWAP1 00000b9f: DUP2 00000ba0: ADD 00000ba1: PUSH1 0x40 00000ba3: MSTORE 00000ba4: DUP1 00000ba5: SWAP3 00000ba6: SWAP2 00000ba7: SWAP1 00000ba8: DUP2 00000ba9: DUP2 00000baa: MSTORE 00000bab: PUSH1 0x20 00000bad: ADD 00000bae: DUP3 00000baf: DUP1 00000bb0: SLOAD 00000bb1: DUP1 00000bb2: ISZERO 00000bb3: PUSH2 0x0be5 00000bb6: JUMPI 00000bb7: PUSH1 0x20 00000bb9: MUL 00000bba: DUP3 00000bbb: ADD 00000bbc: SWAP2 00000bbd: SWAP1 00000bbe: PUSH1 0x00 00000bc0: MSTORE 00000bc1: PUSH1 0x20 00000bc3: PUSH1 0x00 00000bc5: KECCAK256 00000bc6: SWAP1 00000bc7: JUMPDEST 00000bc8: DUP2 00000bc9: SLOAD 00000bca: PUSH1 0x01 00000bcc: PUSH1 0xa0 00000bce: PUSH1 0x02 00000bd0: EXP 00000bd1: SUB 00000bd2: AND 00000bd3: DUP2 00000bd4: MSTORE 00000bd5: PUSH1 0x01 00000bd7: SWAP1 00000bd8: SWAP2 00000bd9: ADD 00000bda: SWAP1 00000bdb: PUSH1 0x20 00000bdd: ADD 00000bde: DUP1 00000bdf: DUP4 00000be0: GT 00000be1: PUSH2 0x0bc7 00000be4: JUMPI 00000be5: JUMPDEST 00000be6: POP 00000be7: POP 00000be8: POP 00000be9: POP 00000bea: POP 00000beb: SWAP2 00000bec: POP 00000bed: SWAP6 00000bee: POP 00000bef: SWAP6 00000bf0: POP 00000bf1: SWAP6 00000bf2: POP 00000bf3: SWAP6 00000bf4: POP 00000bf5: SWAP6 00000bf6: POP 00000bf7: SWAP6 00000bf8: POP 00000bf9: SWAP1 00000bfa: SWAP2 00000bfb: SWAP3 00000bfc: SWAP4 00000bfd: SWAP5 00000bfe: SWAP6 00000bff: JUMP 00000c00: JUMPDEST 00000c01: PUSH2 0x0667 00000c04: DUP3 00000c05: DUP3 00000c06: DUP1 00000c07: DUP1 00000c08: PUSH1 0x20 00000c0a: MUL 00000c0b: PUSH1 0x20 00000c0d: ADD 00000c0e: PUSH1 0x40 00000c10: MLOAD 00000c11: SWAP1 00000c12: DUP2 00000c13: ADD 00000c14: PUSH1 0x40 00000c16: MSTORE 00000c17: DUP1 00000c18: SWAP4 00000c19: SWAP3 00000c1a: SWAP2 00000c1b: SWAP1 00000c1c: DUP2 00000c1d: DUP2 00000c1e: MSTORE 00000c1f: PUSH1 0x20 00000c21: ADD 00000c22: DUP4 00000c23: DUP4 00000c24: PUSH1 0x20 00000c26: MUL 00000c27: DUP1 00000c28: DUP3 00000c29: DUP5 00000c2a: CALLDATACOPY 00000c2b: POP 00000c2c: PUSH1 0x00 00000c2e: SWAP6 00000c2f: SWAP5 00000c30: POP 00000c31: POP 00000c32: PUSH4 0xffffffff 00000c37: PUSH2 0x279f 00000c3a: AND 00000c3b: SWAP3 00000c3c: POP 00000c3d: POP 00000c3e: POP 00000c3f: JUMP 00000c40: JUMPDEST 00000c41: DUP1 00000c42: PUSH1 0x03 00000c44: DUP2 00000c45: GT 00000c46: ISZERO 00000c47: PUSH2 0x0c4c 00000c4a: JUMPI 00000c4b: INVALID 00000c4c: JUMPDEST 00000c4d: DUP3 00000c4e: SLOAD 00000c4f: PUSH1 0xff 00000c51: AND 00000c52: PUSH1 0x03 00000c54: DUP2 00000c55: GT 00000c56: ISZERO 00000c57: PUSH2 0x0c5c 00000c5a: JUMPI 00000c5b: INVALID 00000c5c: JUMPDEST 00000c5d: EQ 00000c5e: PUSH2 0x0667 00000c61: JUMPI 00000c62: PUSH1 0x00 00000c64: DUP1 00000c65: REVERT 00000c66: JUMPDEST 00000c67: PUSH1 0x00 00000c69: DUP1 00000c6a: PUSH2 0x0c72 00000c6d: DUP7 00000c6e: PUSH2 0x2904 00000c71: JUMP 00000c72: JUMPDEST 00000c73: DUP5 00000c74: SWAP2 00000c75: POP 00000c76: PUSH1 0x00 00000c78: DUP3 00000c79: PUSH1 0x01 00000c7b: PUSH1 0xa0 00000c7d: PUSH1 0x02 00000c7f: EXP 00000c80: SUB 00000c81: AND 00000c82: PUSH4 0x70a08231 00000c87: ADDRESS 00000c88: PUSH1 0x40 00000c8a: MLOAD 00000c8b: PUSH1 0xe0 00000c8d: PUSH1 0x02 00000c8f: EXP 00000c90: PUSH4 0xffffffff 00000c95: DUP5 00000c96: AND 00000c97: MUL 00000c98: DUP2 00000c99: MSTORE 00000c9a: PUSH1 0x01 00000c9c: PUSH1 0xa0 00000c9e: PUSH1 0x02 00000ca0: EXP 00000ca1: SUB 00000ca2: SWAP1 00000ca3: SWAP2 00000ca4: AND 00000ca5: PUSH1 0x04 00000ca7: DUP3 00000ca8: ADD 00000ca9: MSTORE 00000caa: PUSH1 0x24 00000cac: ADD 00000cad: PUSH1 0x20 00000caf: PUSH1 0x40 00000cb1: MLOAD 00000cb2: DUP1 00000cb3: DUP4 00000cb4: SUB 00000cb5: DUP2 00000cb6: PUSH1 0x00 00000cb8: DUP8 00000cb9: DUP1 00000cba: EXTCODESIZE 00000cbb: ISZERO 00000cbc: ISZERO 00000cbd: PUSH2 0x0cc5 00000cc0: JUMPI 00000cc1: PUSH1 0x00 00000cc3: DUP1 00000cc4: REVERT 00000cc5: JUMPDEST 00000cc6: GAS 00000cc7: CALL 00000cc8: ISZERO 00000cc9: ISZERO 00000cca: PUSH2 0x0cd2 00000ccd: JUMPI 00000cce: PUSH1 0x00 00000cd0: DUP1 00000cd1: REVERT 00000cd2: JUMPDEST 00000cd3: POP 00000cd4: POP 00000cd5: POP 00000cd6: PUSH1 0x40 00000cd8: MLOAD 00000cd9: DUP1 00000cda: MLOAD 00000cdb: SWAP1 00000cdc: POP 00000cdd: GT 00000cde: ISZERO 00000cdf: ISZERO 00000ce0: PUSH2 0x0ce8 00000ce3: JUMPI 00000ce4: PUSH1 0x00 00000ce6: DUP1 00000ce7: REVERT 00000ce8: JUMPDEST 00000ce9: PUSH2 0x0cf8 00000cec: DUP5 00000ced: DUP8 00000cee: PUSH1 0x0a 00000cf0: ADD 00000cf1: SLOAD 00000cf2: PUSH1 0x01 00000cf4: PUSH2 0x293a 00000cf7: JUMP 00000cf8: JUMPDEST 00000cf9: SWAP1 00000cfa: POP 00000cfb: DUP1 00000cfc: CALLVALUE 00000cfd: LT 00000cfe: ISZERO 00000cff: DUP1 00000d00: ISZERO 00000d01: PUSH2 0x0d0d 00000d04: JUMPI 00000d05: POP 00000d06: DUP1 00000d07: PUSH1 0x02 00000d09: MUL 00000d0a: CALLVALUE 00000d0b: GT 00000d0c: ISZERO 00000d0d: JUMPDEST 00000d0e: ISZERO 00000d0f: ISZERO 00000d10: PUSH2 0x0d18 00000d13: JUMPI 00000d14: PUSH1 0x00 00000d16: DUP1 00000d17: REVERT 00000d18: JUMPDEST 00000d19: PUSH32 0x70cd12aef5c419109781e38e3bf90678ad137598b84b95214d85828545b8f8d3 00000d3a: CALLER 00000d3b: DUP7 00000d3c: DUP7 00000d3d: DUP7 00000d3e: PUSH1 0x40 00000d40: MLOAD 00000d41: PUSH1 0x01 00000d43: PUSH1 0xa0 00000d45: PUSH1 0x02 00000d47: EXP 00000d48: SUB 00000d49: SWAP5 00000d4a: DUP6 00000d4b: AND 00000d4c: DUP2 00000d4d: MSTORE 00000d4e: SWAP3 00000d4f: DUP5 00000d50: AND 00000d51: PUSH1 0x20 00000d53: DUP5 00000d54: ADD 00000d55: MSTORE 00000d56: PUSH1 0x40 00000d58: DUP1 00000d59: DUP5 00000d5a: ADD 00000d5b: SWAP3 00000d5c: SWAP1 00000d5d: SWAP3 00000d5e: MSTORE 00000d5f: SWAP1 00000d60: SWAP3 00000d61: AND 00000d62: PUSH1 0x60 00000d64: DUP3 00000d65: ADD 00000d66: MSTORE 00000d67: PUSH1 0x80 00000d69: ADD 00000d6a: SWAP1 00000d6b: MLOAD 00000d6c: DUP1 00000d6d: SWAP2 00000d6e: SUB 00000d6f: SWAP1 00000d70: LOG1 00000d71: PUSH1 0x01 00000d73: PUSH1 0xa0 00000d75: PUSH1 0x02 00000d77: EXP 00000d78: SUB 00000d79: DUP4 00000d7a: AND 00000d7b: CALLVALUE 00000d7c: DUP1 00000d7d: ISZERO 00000d7e: PUSH2 0x08fc 00000d81: MUL 00000d82: SWAP1 00000d83: PUSH1 0x40 00000d85: MLOAD 00000d86: PUSH1 0x00 00000d88: PUSH1 0x40 00000d8a: MLOAD 00000d8b: DUP1 00000d8c: DUP4 00000d8d: SUB 00000d8e: DUP2 00000d8f: DUP6 00000d90: DUP9 00000d91: DUP9 00000d92: CALL 00000d93: SWAP4 00000d94: POP 00000d95: POP 00000d96: POP 00000d97: POP 00000d98: ISZERO 00000d99: ISZERO 00000d9a: PUSH2 0x0da2 00000d9d: JUMPI 00000d9e: PUSH1 0x00 00000da0: DUP1 00000da1: REVERT 00000da2: JUMPDEST 00000da3: POP 00000da4: POP 00000da5: POP 00000da6: POP 00000da7: POP 00000da8: POP 00000da9: JUMP 00000daa: JUMPDEST 00000dab: PUSH1 0x00 00000dad: DUP1 00000dae: PUSH1 0x00 00000db0: DUP1 00000db1: PUSH1 0x00 00000db3: DUP1 00000db4: PUSH1 0x00 00000db6: PUSH2 0x0dbe 00000db9: DUP9 00000dba: PUSH2 0x2945 00000dbd: JUMP 00000dbe: JUMPDEST 00000dbf: PUSH2 0x0dc9 00000dc2: DUP9 00000dc3: PUSH1 0x00 00000dc5: PUSH2 0x0c40 00000dc8: JUMP 00000dc9: JUMPDEST 00000dca: PUSH1 0x06 00000dcc: DUP9 00000dcd: ADD 00000dce: SLOAD 00000dcf: PUSH1 0xff 00000dd1: AND 00000dd2: ISZERO 00000dd3: ISZERO 00000dd4: PUSH2 0x0ddc 00000dd7: JUMPI 00000dd8: PUSH1 0x00 00000dda: DUP1 00000ddb: REVERT 00000ddc: JUMPDEST 00000ddd: PUSH1 0x06 00000ddf: DUP9 00000de0: ADD 00000de1: DUP1 00000de2: SLOAD 00000de3: PUSH1 0xff 00000de5: NOT 00000de6: AND 00000de7: SWAP1 00000de8: SSTORE 00000de9: PUSH32 0x212c6e1d3045c9581ef0adf2504dbb1d137f52f38162ccf77a16c69d14eba5c3 00000e0a: PUSH1 0x40 00000e0c: MLOAD 00000e0d: PUSH1 0x40 00000e0f: MLOAD 00000e10: DUP1 00000e11: SWAP2 00000e12: SUB 00000e13: SWAP1 00000e14: LOG1 00000e15: DUP8 00000e16: PUSH1 0x02 00000e18: ADD 00000e19: SLOAD 00000e1a: SWAP7 00000e1b: POP 00000e1c: DUP8 00000e1d: PUSH1 0x03 00000e1f: ADD 00000e20: SLOAD 00000e21: SWAP6 00000e22: POP 00000e23: DUP8 00000e24: PUSH1 0x04 00000e26: ADD 00000e27: SLOAD 00000e28: SWAP5 00000e29: POP 00000e2a: DUP8 00000e2b: PUSH1 0x08 00000e2d: ADD 00000e2e: SLOAD 00000e2f: SWAP4 00000e30: POP 00000e31: DUP8 00000e32: PUSH1 0x0a 00000e34: ADD 00000e35: SLOAD 00000e36: SWAP3 00000e37: POP 00000e38: PUSH1 0x00 00000e3a: SWAP2 00000e3b: POP 00000e3c: JUMPDEST 00000e3d: PUSH1 0x05 00000e3f: DUP9 00000e40: ADD 00000e41: SLOAD 00000e42: DUP3 00000e43: LT 00000e44: ISZERO 00000e45: PUSH2 0x0ea0 00000e48: JUMPI 00000e49: PUSH1 0x05 00000e4b: DUP9 00000e4c: ADD 00000e4d: DUP1 00000e4e: SLOAD 00000e4f: DUP4 00000e50: SWAP1 00000e51: DUP2 00000e52: LT 00000e53: PUSH2 0x0e58 00000e56: JUMPI 00000e57: INVALID 00000e58: JUMPDEST 00000e59: PUSH1 0x00 00000e5b: SWAP2 00000e5c: DUP3 00000e5d: MSTORE 00000e5e: PUSH1 0x20 00000e60: DUP1 00000e61: DUP4 00000e62: KECCAK256 00000e63: SWAP1 00000e64: SWAP2 00000e65: ADD 00000e66: SLOAD 00000e67: PUSH1 0x01 00000e69: PUSH1 0xa0 00000e6b: PUSH1 0x02 00000e6d: EXP 00000e6e: SUB 00000e6f: AND 00000e70: DUP1 00000e71: DUP4 00000e72: MSTORE 00000e73: PUSH1 0x07 00000e75: DUP12 00000e76: ADD 00000e77: SWAP1 00000e78: SWAP2 00000e79: MSTORE 00000e7a: PUSH1 0x40 00000e7c: SWAP1 00000e7d: SWAP2 00000e7e: KECCAK256 00000e7f: SWAP1 00000e80: SWAP2 00000e81: POP 00000e82: PUSH2 0x0e90 00000e85: SWAP1 00000e86: DUP3 00000e87: DUP10 00000e88: DUP10 00000e89: DUP10 00000e8a: DUP10 00000e8b: DUP10 00000e8c: PUSH2 0x2971 00000e8f: JUMP 00000e90: JUMPDEST 00000e91: SWAP1 00000e92: SWAP5 00000e93: POP 00000e94: SWAP3 00000e95: POP 00000e96: PUSH1 0x01 00000e98: SWAP1 00000e99: SWAP2 00000e9a: ADD 00000e9b: SWAP1 00000e9c: PUSH2 0x0e3c 00000e9f: JUMP 00000ea0: JUMPDEST 00000ea1: POP 00000ea2: POP 00000ea3: PUSH1 0x08 00000ea5: DUP7 00000ea6: ADD 00000ea7: SWAP2 00000ea8: SWAP1 00000ea9: SWAP2 00000eaa: SSTORE 00000eab: PUSH1 0x0a 00000ead: SWAP1 00000eae: SWAP5 00000eaf: ADD 00000eb0: SWAP4 00000eb1: SWAP1 00000eb2: SWAP4 00000eb3: SSTORE 00000eb4: POP 00000eb5: POP 00000eb6: POP 00000eb7: JUMP 00000eb8: JUMPDEST 00000eb9: PUSH1 0x00 00000ebb: CALLVALUE 00000ebc: DUP2 00000ebd: SWAP1 00000ebe: GT 00000ebf: PUSH2 0x0ec7 00000ec2: JUMPI 00000ec3: PUSH1 0x00 00000ec5: DUP1 00000ec6: REVERT 00000ec7: JUMPDEST 00000ec8: PUSH2 0x0ed0 00000ecb: DUP5 00000ecc: PUSH2 0x2904 00000ecf: JUMP 00000ed0: JUMPDEST 00000ed1: PUSH2 0x0ee0 00000ed4: DUP4 00000ed5: DUP6 00000ed6: PUSH1 0x0a 00000ed8: ADD 00000ed9: SLOAD 00000eda: PUSH1 0x01 00000edc: PUSH2 0x293a 00000edf: JUMP 00000ee0: JUMPDEST 00000ee1: SWAP1 00000ee2: POP 00000ee3: CALLVALUE 00000ee4: DUP2 00000ee5: SWAP1 00000ee6: GT 00000ee7: PUSH2 0x0eef 00000eea: JUMPI 00000eeb: PUSH1 0x00 00000eed: DUP1 00000eee: REVERT 00000eef: JUMPDEST 00000ef0: PUSH32 0xa1e26bbfa2b962c7b4bca4ae7b3167f389194598f5c76faaac1ff9ab676e94a9 00000f11: CALLER 00000f12: DUP3 00000f13: CALLVALUE 00000f14: SUB 00000f15: DUP6 00000f16: DUP6 00000f17: PUSH1 0x40 00000f19: MLOAD 00000f1a: PUSH1 0x01 00000f1c: PUSH1 0xa0 00000f1e: PUSH1 0x02 00000f20: EXP 00000f21: SUB 00000f22: SWAP5 00000f23: DUP6 00000f24: AND 00000f25: DUP2 00000f26: MSTORE 00000f27: PUSH1 0x20 00000f29: DUP2 00000f2a: ADD 00000f2b: SWAP4 00000f2c: SWAP1 00000f2d: SWAP4 00000f2e: MSTORE 00000f2f: PUSH1 0x40 00000f31: DUP1 00000f32: DUP5 00000f33: ADD 00000f34: SWAP3 00000f35: SWAP1 00000f36: SWAP3 00000f37: MSTORE 00000f38: SWAP1 00000f39: SWAP3 00000f3a: AND 00000f3b: PUSH1 0x60 00000f3d: DUP3 00000f3e: ADD 00000f3f: MSTORE 00000f40: PUSH1 0x80 00000f42: ADD 00000f43: SWAP1 00000f44: MLOAD 00000f45: DUP1 00000f46: SWAP2 00000f47: SUB 00000f48: SWAP1 00000f49: LOG1 00000f4a: PUSH1 0x00 00000f4c: DUP4 00000f4d: GT 00000f4e: ISZERO 00000f4f: PUSH2 0x09a3 00000f52: JUMPI 00000f53: PUSH1 0x01 00000f55: PUSH1 0xa0 00000f57: PUSH1 0x02 00000f59: EXP 00000f5a: SUB 00000f5b: DUP3 00000f5c: AND 00000f5d: DUP2 00000f5e: ISZERO 00000f5f: PUSH2 0x08fc 00000f62: MUL 00000f63: DUP3 00000f64: PUSH1 0x40 00000f66: MLOAD 00000f67: PUSH1 0x00 00000f69: PUSH1 0x40 00000f6b: MLOAD 00000f6c: DUP1 00000f6d: DUP4 00000f6e: SUB 00000f6f: DUP2 00000f70: DUP6 00000f71: DUP9 00000f72: DUP9 00000f73: CALL 00000f74: SWAP4 00000f75: POP 00000f76: POP 00000f77: POP 00000f78: POP 00000f79: ISZERO 00000f7a: ISZERO 00000f7b: PUSH2 0x09a3 00000f7e: JUMPI 00000f7f: PUSH1 0x00 00000f81: DUP1 00000f82: REVERT 00000f83: JUMPDEST 00000f84: PUSH1 0x00 00000f86: DUP1 00000f87: PUSH1 0x00 00000f89: DUP1 00000f8a: PUSH1 0x00 00000f8c: DUP1 00000f8d: PUSH1 0x00 00000f8f: DUP1 00000f90: PUSH1 0x00 00000f92: DUP1 00000f93: PUSH2 0x0f9b 00000f96: DUP13 00000f97: PUSH2 0x2904 00000f9a: JUMP 00000f9b: JUMPDEST 00000f9c: DUP11 00000f9d: PUSH1 0x01 00000f9f: PUSH1 0xa0 00000fa1: PUSH1 0x02 00000fa3: EXP 00000fa4: SUB 00000fa5: AND 00000fa6: PUSH4 0x70a08231 00000fab: ADDRESS 00000fac: PUSH1 0x40 00000fae: MLOAD 00000faf: PUSH1 0xe0 00000fb1: PUSH1 0x02 00000fb3: EXP 00000fb4: PUSH4 0xffffffff 00000fb9: DUP5 00000fba: AND 00000fbb: MUL 00000fbc: DUP2 00000fbd: MSTORE 00000fbe: PUSH1 0x01 00000fc0: PUSH1 0xa0 00000fc2: PUSH1 0x02 00000fc4: EXP 00000fc5: SUB 00000fc6: SWAP1 00000fc7: SWAP2 00000fc8: AND 00000fc9: PUSH1 0x04 00000fcb: DUP3 00000fcc: ADD 00000fcd: MSTORE 00000fce: PUSH1 0x24 00000fd0: ADD 00000fd1: PUSH1 0x20 00000fd3: PUSH1 0x40 00000fd5: MLOAD 00000fd6: DUP1 00000fd7: DUP4 00000fd8: SUB 00000fd9: DUP2 00000fda: PUSH1 0x00 00000fdc: DUP8 00000fdd: DUP1 00000fde: EXTCODESIZE 00000fdf: ISZERO 00000fe0: ISZERO 00000fe1: PUSH2 0x0fe9 00000fe4: JUMPI 00000fe5: PUSH1 0x00 00000fe7: DUP1 00000fe8: REVERT 00000fe9: JUMPDEST 00000fea: GAS 00000feb: CALL 00000fec: ISZERO 00000fed: ISZERO 00000fee: PUSH2 0x0ff6 00000ff1: JUMPI 00000ff2: PUSH1 0x00 00000ff4: DUP1 00000ff5: REVERT 00000ff6: JUMPDEST 00000ff7: POP 00000ff8: POP 00000ff9: POP 00000ffa: PUSH1 0x40 00000ffc: MLOAD 00000ffd: DUP1 00000ffe: MLOAD 00000fff: SWAP1 00001000: POP 00001001: SWAP10 00001002: POP 00001003: PUSH2 0x1017 00001006: PUSH5 0x09502f9000 0000100c: PUSH1 0x01 0000100e: DUP15 0000100f: PUSH1 0x11 00001011: ADD 00001012: SLOAD 00001013: PUSH2 0x293a 00001016: JUMP 00001017: JUMPDEST 00001018: PUSH1 0x10 0000101a: DUP14 0000101b: ADD 0000101c: SLOAD 0000101d: SWAP1 0000101e: SWAP10 0000101f: POP 00001020: PUSH1 0x01 00001022: PUSH1 0xa0 00001024: PUSH1 0x02 00001026: EXP 00001027: SUB 00001028: AND 00001029: PUSH4 0x9592619c 0000102e: PUSH1 0x40 00001030: MLOAD 00001031: DUP2 00001032: PUSH4 0xffffffff 00001037: AND 00001038: PUSH1 0xe0 0000103a: PUSH1 0x02 0000103c: EXP 0000103d: MUL 0000103e: DUP2 0000103f: MSTORE 00001040: PUSH1 0x04 00001042: ADD 00001043: PUSH1 0x20 00001045: PUSH1 0x40 00001047: MLOAD 00001048: DUP1 00001049: DUP4 0000104a: SUB 0000104b: DUP2 0000104c: PUSH1 0x00 0000104e: DUP8 0000104f: DUP1 00001050: EXTCODESIZE 00001051: ISZERO 00001052: ISZERO 00001053: PUSH2 0x105b 00001056: JUMPI 00001057: PUSH1 0x00 00001059: DUP1 0000105a: REVERT 0000105b: JUMPDEST 0000105c: GAS 0000105d: CALL 0000105e: ISZERO 0000105f: ISZERO 00001060: PUSH2 0x1068 00001063: JUMPI 00001064: PUSH1 0x00 00001066: DUP1 00001067: REVERT 00001068: JUMPDEST 00001069: POP 0000106a: POP 0000106b: POP 0000106c: PUSH1 0x40 0000106e: MLOAD 0000106f: DUP1 00001070: MLOAD 00001071: PUSH1 0x08 00001073: DUP15 00001074: ADD 00001075: SLOAD 00001076: SWAP1 00001077: SWAP10 00001078: POP 00001079: SWAP8 0000107a: POP 0000107b: PUSH8 0x0de0b6b3a7640000 00001084: SWAP1 00001085: POP 00001086: DUP8 00001087: DUP10 00001088: MUL 00001089: DIV 0000108a: SWAP6 0000108b: POP 0000108c: DUP9 0000108d: DUP13 0000108e: PUSH1 0x0a 00001090: ADD 00001091: SLOAD 00001092: MUL 00001093: DUP7 00001094: DUP9 00001095: SUB 00001096: SUB 00001097: SWAP5 00001098: POP 00001099: DUP12 0000109a: PUSH1 0x0e 0000109c: ADD 0000109d: PUSH1 0x00 0000109f: DUP13 000010a0: PUSH1 0x01 000010a2: PUSH1 0xa0 000010a4: PUSH1 0x02 000010a6: EXP 000010a7: SUB 000010a8: AND 000010a9: PUSH1 0x01 000010ab: PUSH1 0xa0 000010ad: PUSH1 0x02 000010af: EXP 000010b0: SUB 000010b1: AND 000010b2: DUP2 000010b3: MSTORE 000010b4: PUSH1 0x20 000010b6: ADD 000010b7: SWAP1 000010b8: DUP2 000010b9: MSTORE 000010ba: PUSH1 0x20 000010bc: ADD 000010bd: PUSH1 0x00 000010bf: KECCAK256 000010c0: SWAP4 000010c1: POP 000010c2: PUSH1 0x00 000010c4: SWAP3 000010c5: POP 000010c6: JUMPDEST 000010c7: PUSH1 0x05 000010c9: DUP13 000010ca: ADD 000010cb: SLOAD 000010cc: DUP4 000010cd: LT 000010ce: ISZERO 000010cf: PUSH2 0x1152 000010d2: JUMPI 000010d3: PUSH1 0x05 000010d5: DUP13 000010d6: ADD 000010d7: DUP1 000010d8: SLOAD 000010d9: DUP5 000010da: SWAP1 000010db: DUP2 000010dc: LT 000010dd: PUSH2 0x10e2 000010e0: JUMPI 000010e1: INVALID 000010e2: JUMPDEST 000010e3: PUSH1 0x00 000010e5: SWAP2 000010e6: DUP3 000010e7: MSTORE 000010e8: PUSH1 0x20 000010ea: DUP3 000010eb: KECCAK256 000010ec: ADD 000010ed: SLOAD 000010ee: PUSH1 0x01 000010f0: PUSH1 0xa0 000010f2: PUSH1 0x02 000010f4: EXP 000010f5: SUB 000010f6: AND 000010f7: SWAP3 000010f8: POP 000010f9: DUP11 000010fa: GT 000010fb: ISZERO 000010fc: PUSH2 0x113d 000010ff: JUMPI 00001100: PUSH1 0x01 00001102: PUSH1 0xa0 00001104: PUSH1 0x02 00001106: EXP 00001107: SUB 00001108: DUP3 00001109: AND 0000110a: PUSH1 0x00 0000110c: SWAP1 0000110d: DUP2 0000110e: MSTORE 0000110f: PUSH1 0x07 00001111: DUP14 00001112: ADD 00001113: PUSH1 0x20 00001115: MSTORE 00001116: PUSH1 0x40 00001118: SWAP1 00001119: KECCAK256 0000111a: SLOAD 0000111b: PUSH2 0x112b 0000111e: SWAP1 0000111f: DUP6 00001120: SWAP1 00001121: DUP5 00001122: SWAP1 00001123: DUP12 00001124: DUP14 00001125: DUP16 00001126: DUP12 00001127: PUSH2 0x2a90 0000112a: JUMP 0000112b: JUMPDEST 0000112c: SWAP1 0000112d: POP 0000112e: PUSH2 0x113a 00001131: DUP5 00001132: DUP13 00001133: DUP5 00001134: DUP5 00001135: DUP15 00001136: PUSH2 0x2af6 00001139: JUMP 0000113a: JUMPDEST 0000113b: SWAP10 0000113c: POP 0000113d: JUMPDEST 0000113e: PUSH2 0x1147 00001141: DUP13 00001142: DUP4 00001143: PUSH2 0x2bfe 00001146: JUMP 00001147: JUMPDEST 00001148: PUSH1 0x01 0000114a: SWAP1 0000114b: SWAP3 0000114c: ADD 0000114d: SWAP2 0000114e: PUSH2 0x10c6 00001151: JUMP 00001152: JUMPDEST 00001153: POP 00001154: POP 00001155: POP 00001156: POP 00001157: POP 00001158: POP 00001159: POP 0000115a: POP 0000115b: POP 0000115c: POP 0000115d: POP 0000115e: POP 0000115f: JUMP 00001160: JUMPDEST 00001161: PUSH1 0x00 00001163: DUP1 00001164: PUSH1 0x00 00001166: DUP1 00001167: PUSH1 0x00 00001169: DUP1 0000116a: PUSH1 0x00 0000116c: DUP1 0000116d: PUSH1 0x00 0000116f: DUP1 00001170: PUSH2 0x1178 00001173: DUP14 00001174: PUSH2 0x2904 00001177: JUMP 00001178: JUMPDEST 00001179: DUP12 0000117a: PUSH1 0x01 0000117c: PUSH1 0xa0 0000117e: PUSH1 0x02 00001180: EXP 00001181: SUB 00001182: AND 00001183: PUSH4 0x70a08231 00001188: ADDRESS 00001189: PUSH1 0x40 0000118b: MLOAD 0000118c: PUSH1 0xe0 0000118e: PUSH1 0x02 00001190: EXP 00001191: PUSH4 0xffffffff 00001196: DUP5 00001197: AND 00001198: MUL 00001199: DUP2 0000119a: MSTORE 0000119b: PUSH1 0x01 0000119d: PUSH1 0xa0 0000119f: PUSH1 0x02 000011a1: EXP 000011a2: SUB 000011a3: SWAP1 000011a4: SWAP2 000011a5: AND 000011a6: PUSH1 0x04 000011a8: DUP3 000011a9: ADD 000011aa: MSTORE 000011ab: PUSH1 0x24 000011ad: ADD 000011ae: PUSH1 0x20 000011b0: PUSH1 0x40 000011b2: MLOAD 000011b3: DUP1 000011b4: DUP4 000011b5: SUB 000011b6: DUP2 000011b7: PUSH1 0x00 000011b9: DUP8 000011ba: DUP1 000011bb: EXTCODESIZE 000011bc: ISZERO 000011bd: ISZERO 000011be: PUSH2 0x11c6 000011c1: JUMPI 000011c2: PUSH1 0x00 000011c4: DUP1 000011c5: REVERT 000011c6: JUMPDEST 000011c7: GAS 000011c8: CALL 000011c9: ISZERO 000011ca: ISZERO 000011cb: PUSH2 0x11d3 000011ce: JUMPI 000011cf: PUSH1 0x00 000011d1: DUP1 000011d2: REVERT 000011d3: JUMPDEST 000011d4: POP 000011d5: POP 000011d6: POP 000011d7: PUSH1 0x40 000011d9: MLOAD 000011da: DUP1 000011db: MLOAD 000011dc: SWAP1 000011dd: POP 000011de: SWAP10 000011df: POP 000011e0: PUSH2 0x11f4 000011e3: PUSH5 0x09502f9000 000011e9: PUSH1 0x01 000011eb: DUP16 000011ec: PUSH1 0x11 000011ee: ADD 000011ef: SLOAD 000011f0: PUSH2 0x293a 000011f3: JUMP 000011f4: JUMPDEST 000011f5: PUSH1 0x10 000011f7: DUP15 000011f8: ADD 000011f9: SLOAD 000011fa: SWAP1 000011fb: SWAP10 000011fc: POP 000011fd: PUSH1 0x01 000011ff: PUSH1 0xa0 00001201: PUSH1 0x02 00001203: EXP 00001204: SUB 00001205: AND 00001206: PUSH4 0x9592619c 0000120b: PUSH1 0x40 0000120d: MLOAD 0000120e: DUP2 0000120f: PUSH4 0xffffffff 00001214: AND 00001215: PUSH1 0xe0 00001217: PUSH1 0x02 00001219: EXP 0000121a: MUL 0000121b: DUP2 0000121c: MSTORE 0000121d: PUSH1 0x04 0000121f: ADD 00001220: PUSH1 0x20 00001222: PUSH1 0x40 00001224: MLOAD 00001225: DUP1 00001226: DUP4 00001227: SUB 00001228: DUP2 00001229: PUSH1 0x00 0000122b: DUP8 0000122c: DUP1 0000122d: EXTCODESIZE 0000122e: ISZERO 0000122f: ISZERO 00001230: PUSH2 0x1238 00001233: JUMPI 00001234: PUSH1 0x00 00001236: DUP1 00001237: REVERT 00001238: JUMPDEST 00001239: GAS 0000123a: CALL 0000123b: ISZERO 0000123c: ISZERO 0000123d: PUSH2 0x1245 00001240: JUMPI 00001241: PUSH1 0x00 00001243: DUP1 00001244: REVERT 00001245: JUMPDEST 00001246: POP 00001247: POP 00001248: POP 00001249: PUSH1 0x40 0000124b: MLOAD 0000124c: DUP1 0000124d: MLOAD 0000124e: PUSH1 0x08 00001250: DUP16 00001251: ADD 00001252: SLOAD 00001253: SWAP1 00001254: SWAP10 00001255: POP 00001256: SWAP8 00001257: POP 00001258: PUSH8 0x0de0b6b3a7640000 00001261: SWAP1 00001262: POP 00001263: DUP8 00001264: DUP10 00001265: MUL 00001266: DIV 00001267: SWAP6 00001268: POP 00001269: DUP9 0000126a: DUP14 0000126b: PUSH1 0x0a 0000126d: ADD 0000126e: SLOAD 0000126f: MUL 00001270: DUP7 00001271: DUP9 00001272: SUB 00001273: SUB 00001274: SWAP5 00001275: POP 00001276: DUP13 00001277: PUSH1 0x0e 00001279: ADD 0000127a: PUSH1 0x00 0000127c: DUP14 0000127d: PUSH1 0x01 0000127f: PUSH1 0xa0 00001281: PUSH1 0x02 00001283: EXP 00001284: SUB 00001285: AND 00001286: PUSH1 0x01 00001288: PUSH1 0xa0 0000128a: PUSH1 0x02 0000128c: EXP 0000128d: SUB 0000128e: AND 0000128f: DUP2 00001290: MSTORE 00001291: PUSH1 0x20 00001293: ADD 00001294: SWAP1 00001295: DUP2 00001296: MSTORE 00001297: PUSH1 0x20 00001299: ADD 0000129a: PUSH1 0x00 0000129c: KECCAK256 0000129d: SWAP4 0000129e: POP 0000129f: PUSH1 0x00 000012a1: SWAP3 000012a2: POP 000012a3: JUMPDEST 000012a4: DUP11 000012a5: MLOAD 000012a6: DUP4 000012a7: LT 000012a8: ISZERO 000012a9: PUSH2 0x1320 000012ac: JUMPI 000012ad: DUP11 000012ae: DUP4 000012af: DUP2 000012b0: MLOAD 000012b1: DUP2 000012b2: LT 000012b3: PUSH2 0x12b8 000012b6: JUMPI 000012b7: INVALID 000012b8: JUMPDEST 000012b9: SWAP1 000012ba: PUSH1 0x20 000012bc: ADD 000012bd: SWAP1 000012be: PUSH1 0x20 000012c0: MUL 000012c1: ADD 000012c2: MLOAD 000012c3: SWAP2 000012c4: POP 000012c5: PUSH1 0x00 000012c7: DUP11 000012c8: GT 000012c9: ISZERO 000012ca: PUSH2 0x130b 000012cd: JUMPI 000012ce: PUSH1 0x01 000012d0: PUSH1 0xa0 000012d2: PUSH1 0x02 000012d4: EXP 000012d5: SUB 000012d6: DUP3 000012d7: AND 000012d8: PUSH1 0x00 000012da: SWAP1 000012db: DUP2 000012dc: MSTORE 000012dd: PUSH1 0x07 000012df: DUP15 000012e0: ADD 000012e1: PUSH1 0x20 000012e3: MSTORE 000012e4: PUSH1 0x40 000012e6: SWAP1 000012e7: KECCAK256 000012e8: SLOAD 000012e9: PUSH2 0x12f9 000012ec: SWAP1 000012ed: DUP6 000012ee: SWAP1 000012ef: DUP5 000012f0: SWAP1 000012f1: DUP12 000012f2: DUP14 000012f3: DUP16 000012f4: DUP12 000012f5: PUSH2 0x2a90 000012f8: JUMP 000012f9: JUMPDEST 000012fa: SWAP1 000012fb: POP 000012fc: PUSH2 0x1308 000012ff: DUP5 00001300: DUP14 00001301: DUP5 00001302: DUP5 00001303: DUP15 00001304: PUSH2 0x2af6 00001307: JUMP 00001308: JUMPDEST 00001309: SWAP10 0000130a: POP 0000130b: JUMPDEST 0000130c: PUSH2 0x1315 0000130f: DUP14 00001310: DUP4 00001311: PUSH2 0x2bfe 00001314: JUMP 00001315: JUMPDEST 00001316: PUSH1 0x01 00001318: SWAP1 00001319: SWAP3 0000131a: ADD 0000131b: SWAP2 0000131c: PUSH2 0x12a3 0000131f: JUMP 00001320: JUMPDEST 00001321: POP 00001322: POP 00001323: POP 00001324: POP 00001325: POP 00001326: POP 00001327: POP 00001328: POP 00001329: POP 0000132a: POP 0000132b: POP 0000132c: POP 0000132d: POP 0000132e: JUMP 0000132f: JUMPDEST 00001330: PUSH1 0x00 00001332: DUP1 00001333: PUSH1 0x00 00001335: PUSH2 0x133f 00001338: DUP6 00001339: PUSH1 0x00 0000133b: PUSH2 0x0c40 0000133e: JUMP 0000133f: JUMPDEST 00001340: PUSH1 0x01 00001342: PUSH1 0xa0 00001344: PUSH1 0x02 00001346: EXP 00001347: SUB 00001348: CALLER 00001349: AND 0000134a: PUSH1 0x00 0000134c: SWAP1 0000134d: DUP2 0000134e: MSTORE 0000134f: PUSH1 0x07 00001351: DUP7 00001352: ADD 00001353: PUSH1 0x20 00001355: MSTORE 00001356: PUSH1 0x40 00001358: SWAP1 00001359: KECCAK256 0000135a: DUP1 0000135b: SLOAD 0000135c: PUSH1 0x01 0000135e: DUP3 0000135f: ADD 00001360: SLOAD 00001361: SWAP2 00001362: SWAP5 00001363: POP 00001364: ADD 00001365: SWAP2 00001366: POP 00001367: DUP4 00001368: DUP3 00001369: LT 0000136a: DUP1 0000136b: ISZERO 0000136c: SWAP1 0000136d: PUSH2 0x137a 00001370: JUMPI 00001371: POP 00001372: DUP3 00001373: PUSH1 0x01 00001375: ADD 00001376: SLOAD 00001377: DUP5 00001378: LT 00001379: ISZERO 0000137a: JUMPDEST 0000137b: ISZERO 0000137c: ISZERO 0000137d: PUSH2 0x1385 00001380: JUMPI 00001381: PUSH1 0x00 00001383: DUP1 00001384: REVERT 00001385: JUMPDEST 00001386: POP 00001387: PUSH1 0x01 00001389: DUP3 0000138a: ADD 0000138b: DUP1 0000138c: SLOAD 0000138d: PUSH1 0x00 0000138f: SWAP2 00001390: DUP3 00001391: SWAP1 00001392: SSTORE 00001393: DUP5 00001394: SUB 00001395: SWAP1 00001396: DUP2 00001397: GT 00001398: ISZERO 00001399: PUSH2 0x13e1 0000139c: JUMPI 0000139d: DUP3 0000139e: SLOAD 0000139f: DUP2 000013a0: SWAP1 000013a1: SUB 000013a2: DUP4 000013a3: SSTORE 000013a4: PUSH1 0x08 000013a6: DUP6 000013a7: ADD 000013a8: DUP1 000013a9: SLOAD 000013aa: DUP3 000013ab: SWAP1 000013ac: SUB 000013ad: SWAP1 000013ae: SSTORE 000013af: PUSH1 0x02 000013b1: DUP6 000013b2: ADD 000013b3: SLOAD 000013b4: DUP4 000013b5: SLOAD 000013b6: LT 000013b7: ISZERO 000013b8: DUP1 000013b9: PUSH2 0x13c1 000013bc: JUMPI 000013bd: POP 000013be: DUP3 000013bf: SLOAD 000013c0: ISZERO 000013c1: JUMPDEST 000013c2: ISZERO 000013c3: ISZERO 000013c4: PUSH2 0x13cc 000013c7: JUMPI 000013c8: PUSH1 0x00 000013ca: DUP1 000013cb: REVERT 000013cc: JUMPDEST 000013cd: DUP3 000013ce: SLOAD 000013cf: ISZERO 000013d0: ISZERO 000013d1: PUSH2 0x13e1 000013d4: JUMPI 000013d5: PUSH1 0x0a 000013d7: DUP6 000013d8: ADD 000013d9: DUP1 000013da: SLOAD 000013db: PUSH1 0x00 000013dd: NOT 000013de: ADD 000013df: SWAP1 000013e0: SSTORE 000013e1: JUMPDEST 000013e2: PUSH1 0x00 000013e4: DUP1 000013e5: MLOAD 000013e6: PUSH1 0x20 000013e8: PUSH2 0x374d 000013eb: DUP4 000013ec: CODECOPY 000013ed: DUP2 000013ee: MLOAD 000013ef: SWAP2 000013f0: MSTORE 000013f1: CALLER 000013f2: DUP6 000013f3: DUP6 000013f4: PUSH1 0x01 000013f6: ADD 000013f7: SLOAD 000013f8: DUP7 000013f9: PUSH1 0x00 000013fb: ADD 000013fc: SLOAD 000013fd: DUP10 000013fe: PUSH1 0x08 00001400: ADD 00001401: SLOAD 00001402: PUSH1 0x40 00001404: MLOAD 00001405: PUSH1 0x01 00001407: PUSH1 0xa0 00001409: PUSH1 0x02 0000140b: EXP 0000140c: SUB 0000140d: SWAP1 0000140e: SWAP6 0000140f: AND 00001410: DUP6 00001411: MSTORE 00001412: PUSH1 0x20 00001414: DUP6 00001415: ADD 00001416: SWAP4 00001417: SWAP1 00001418: SWAP4 00001419: MSTORE 0000141a: PUSH1 0x40 0000141c: DUP1 0000141d: DUP6 0000141e: ADD 0000141f: SWAP3 00001420: SWAP1 00001421: SWAP3 00001422: MSTORE 00001423: PUSH1 0x60 00001425: DUP5 00001426: ADD 00001427: MSTORE 00001428: PUSH1 0x80 0000142a: DUP4 0000142b: ADD 0000142c: SWAP2 0000142d: SWAP1 0000142e: SWAP2 0000142f: MSTORE 00001430: PUSH1 0xa0 00001432: SWAP1 00001433: SWAP2 00001434: ADD 00001435: SWAP1 00001436: MLOAD 00001437: DUP1 00001438: SWAP2 00001439: SUB 0000143a: SWAP1 0000143b: LOG1 0000143c: PUSH1 0x01 0000143e: PUSH1 0xa0 00001440: PUSH1 0x02 00001442: EXP 00001443: SUB 00001444: CALLER 00001445: AND 00001446: DUP5 00001447: ISZERO 00001448: PUSH2 0x08fc 0000144b: MUL 0000144c: DUP6 0000144d: PUSH1 0x40 0000144f: MLOAD 00001450: PUSH1 0x00 00001452: PUSH1 0x40 00001454: MLOAD 00001455: DUP1 00001456: DUP4 00001457: SUB 00001458: DUP2 00001459: DUP6 0000145a: DUP9 0000145b: DUP9 0000145c: CALL 0000145d: SWAP4 0000145e: POP 0000145f: POP 00001460: POP 00001461: POP 00001462: ISZERO 00001463: ISZERO 00001464: PUSH2 0x0a77 00001467: JUMPI 00001468: PUSH1 0x00 0000146a: DUP1 0000146b: REVERT 0000146c: JUMPDEST 0000146d: PUSH2 0x1475 00001470: DUP5 00001471: PUSH2 0x2945 00001474: JUMP 00001475: JUMPDEST 00001476: PUSH1 0x01 00001478: DUP5 00001479: SLOAD 0000147a: PUSH1 0xff 0000147c: AND 0000147d: PUSH1 0x03 0000147f: DUP2 00001480: GT 00001481: ISZERO 00001482: PUSH2 0x1487 00001485: JUMPI 00001486: INVALID 00001487: JUMPDEST 00001488: EQ 00001489: ISZERO 0000148a: PUSH2 0x1492 0000148d: JUMPI 0000148e: PUSH1 0x00 00001490: DUP1 00001491: REVERT 00001492: JUMPDEST 00001493: PUSH32 0xa0e077e8034536720615071128f620b2aab26957d300cae0f11734d1e2c4ea74 000014b4: DUP4 000014b5: DUP4 000014b6: DUP4 000014b7: PUSH1 0x40 000014b9: MLOAD 000014ba: PUSH1 0x01 000014bc: PUSH1 0xa0 000014be: PUSH1 0x02 000014c0: EXP 000014c1: SUB 000014c2: DUP5 000014c3: AND 000014c4: DUP2 000014c5: MSTORE 000014c6: PUSH1 0x20 000014c8: DUP2 000014c9: ADD 000014ca: DUP4 000014cb: SWAP1 000014cc: MSTORE 000014cd: PUSH1 0x60 000014cf: PUSH1 0x40 000014d1: DUP3 000014d2: ADD 000014d3: DUP2 000014d4: DUP2 000014d5: MSTORE 000014d6: SWAP1 000014d7: DUP3 000014d8: ADD 000014d9: DUP4 000014da: DUP2 000014db: DUP2 000014dc: MLOAD 000014dd: DUP2 000014de: MSTORE 000014df: PUSH1 0x20 000014e1: ADD 000014e2: SWAP2 000014e3: POP 000014e4: DUP1 000014e5: MLOAD 000014e6: SWAP1 000014e7: PUSH1 0x20 000014e9: ADD 000014ea: SWAP1 000014eb: DUP1 000014ec: DUP4 000014ed: DUP4 000014ee: PUSH1 0x00 000014f0: JUMPDEST 000014f1: DUP4 000014f2: DUP2 000014f3: LT 000014f4: ISZERO 000014f5: PUSH2 0x1508 000014f8: JUMPI 000014f9: DUP1 000014fa: DUP3 000014fb: ADD 000014fc: MLOAD 000014fd: DUP4 000014fe: DUP3 000014ff: ADD 00001500: MSTORE 00001501: PUSH1 0x20 00001503: ADD 00001504: PUSH2 0x14f0 00001507: JUMP 00001508: JUMPDEST 00001509: POP 0000150a: POP 0000150b: POP 0000150c: POP 0000150d: SWAP1 0000150e: POP 0000150f: SWAP1 00001510: DUP2 00001511: ADD 00001512: SWAP1 00001513: PUSH1 0x1f 00001515: AND 00001516: DUP1 00001517: ISZERO 00001518: PUSH2 0x1535 0000151b: JUMPI 0000151c: DUP1 0000151d: DUP3 0000151e: SUB 0000151f: DUP1 00001520: MLOAD 00001521: PUSH1 0x01 00001523: DUP4 00001524: PUSH1 0x20 00001526: SUB 00001527: PUSH2 0x0100 0000152a: EXP 0000152b: SUB 0000152c: NOT 0000152d: AND 0000152e: DUP2 0000152f: MSTORE 00001530: PUSH1 0x20 00001532: ADD 00001533: SWAP2 00001534: POP 00001535: JUMPDEST 00001536: POP 00001537: SWAP5 00001538: POP 00001539: POP 0000153a: POP 0000153b: POP 0000153c: POP 0000153d: PUSH1 0x40 0000153f: MLOAD 00001540: DUP1 00001541: SWAP2 00001542: SUB 00001543: SWAP1 00001544: LOG1 00001545: DUP3 00001546: PUSH1 0x01 00001548: PUSH1 0xa0 0000154a: PUSH1 0x02 0000154c: EXP 0000154d: SUB 0000154e: AND 0000154f: PUSH1 0x00 00001551: DUP4 00001552: GT 00001553: PUSH2 0x155c 00001556: JUMPI 00001557: GAS 00001558: PUSH2 0x155e 0000155b: JUMP 0000155c: JUMPDEST 0000155d: DUP3 0000155e: JUMPDEST 0000155f: PUSH1 0x00 00001561: DUP4 00001562: PUSH1 0x40 00001564: MLOAD 00001565: DUP1 00001566: DUP3 00001567: DUP1 00001568: MLOAD 00001569: SWAP1 0000156a: PUSH1 0x20 0000156c: ADD 0000156d: SWAP1 0000156e: DUP1 0000156f: DUP4 00001570: DUP4 00001571: PUSH1 0x00 00001573: JUMPDEST 00001574: DUP4 00001575: DUP2 00001576: LT 00001577: ISZERO 00001578: PUSH2 0x158b 0000157b: JUMPI 0000157c: DUP1 0000157d: DUP3 0000157e: ADD 0000157f: MLOAD 00001580: DUP4 00001581: DUP3 00001582: ADD 00001583: MSTORE 00001584: PUSH1 0x20 00001586: ADD 00001587: PUSH2 0x1573 0000158a: JUMP 0000158b: JUMPDEST 0000158c: POP 0000158d: POP 0000158e: POP 0000158f: POP 00001590: SWAP1 00001591: POP 00001592: SWAP1 00001593: DUP2 00001594: ADD 00001595: SWAP1 00001596: PUSH1 0x1f 00001598: AND 00001599: DUP1 0000159a: ISZERO 0000159b: PUSH2 0x15b8 0000159e: JUMPI 0000159f: DUP1 000015a0: DUP3 000015a1: SUB 000015a2: DUP1 000015a3: MLOAD 000015a4: PUSH1 0x01 000015a6: DUP4 000015a7: PUSH1 0x20 000015a9: SUB 000015aa: PUSH2 0x0100 000015ad: EXP 000015ae: SUB 000015af: NOT 000015b0: AND 000015b1: DUP2 000015b2: MSTORE 000015b3: PUSH1 0x20 000015b5: ADD 000015b6: SWAP2 000015b7: POP 000015b8: JUMPDEST 000015b9: POP 000015ba: SWAP2 000015bb: POP 000015bc: POP 000015bd: PUSH1 0x00 000015bf: PUSH1 0x40 000015c1: MLOAD 000015c2: DUP1 000015c3: DUP4 000015c4: SUB 000015c5: DUP2 000015c6: DUP6 000015c7: DUP9 000015c8: DUP9 000015c9: CALL 000015ca: SWAP4 000015cb: POP 000015cc: POP 000015cd: POP 000015ce: POP 000015cf: ISZERO 000015d0: ISZERO 000015d1: PUSH2 0x09a3 000015d4: JUMPI 000015d5: PUSH1 0x00 000015d7: DUP1 000015d8: REVERT 000015d9: JUMPDEST 000015da: PUSH1 0x00 000015dc: PUSH2 0x15e4 000015df: DUP4 000015e0: PUSH2 0x2945 000015e3: JUMP 000015e4: JUMPDEST 000015e5: PUSH2 0x15ef 000015e8: DUP4 000015e9: PUSH1 0x02 000015eb: PUSH2 0x0c40 000015ee: JUMP 000015ef: JUMPDEST 000015f0: PUSH1 0x0f 000015f2: DUP4 000015f3: ADD 000015f4: SLOAD 000015f5: PUSH1 0x01 000015f7: PUSH1 0xa0 000015f9: PUSH1 0x02 000015fb: EXP 000015fc: SUB 000015fd: AND 000015fe: ISZERO 000015ff: PUSH2 0x1607 00001602: JUMPI 00001603: PUSH1 0x00 00001605: DUP1 00001606: REVERT 00001607: JUMPDEST 00001608: POP 00001609: PUSH1 0x0f 0000160b: DUP3 0000160c: ADD 0000160d: DUP1 0000160e: SLOAD 0000160f: PUSH1 0x01 00001611: PUSH1 0xa0 00001613: PUSH1 0x02 00001615: EXP 00001616: SUB 00001617: NOT 00001618: AND 00001619: PUSH1 0x01 0000161b: PUSH1 0xa0 0000161d: PUSH1 0x02 0000161f: EXP 00001620: SUB 00001621: DUP4 00001622: AND 00001623: SWAP1 00001624: DUP2 00001625: OR 00001626: SWAP1 00001627: SWAP2 00001628: SSTORE 00001629: DUP2 0000162a: SWAP1 0000162b: PUSH1 0x00 0000162d: SWAP1 0000162e: PUSH4 0x70a08231 00001633: ADDRESS 00001634: PUSH1 0x40 00001636: MLOAD 00001637: PUSH1 0xe0 00001639: PUSH1 0x02 0000163b: EXP 0000163c: PUSH4 0xffffffff 00001641: DUP5 00001642: AND 00001643: MUL 00001644: DUP2 00001645: MSTORE 00001646: PUSH1 0x01 00001648: PUSH1 0xa0 0000164a: PUSH1 0x02 0000164c: EXP 0000164d: SUB 0000164e: SWAP1 0000164f: SWAP2 00001650: AND 00001651: PUSH1 0x04 00001653: DUP3 00001654: ADD 00001655: MSTORE 00001656: PUSH1 0x24 00001658: ADD 00001659: PUSH1 0x20 0000165b: PUSH1 0x40 0000165d: MLOAD 0000165e: DUP1 0000165f: DUP4 00001660: SUB 00001661: DUP2 00001662: PUSH1 0x00 00001664: DUP8 00001665: DUP1 00001666: EXTCODESIZE 00001667: ISZERO 00001668: ISZERO 00001669: PUSH2 0x1671 0000166c: JUMPI 0000166d: PUSH1 0x00 0000166f: DUP1 00001670: REVERT 00001671: JUMPDEST 00001672: GAS 00001673: CALL 00001674: ISZERO 00001675: ISZERO 00001676: PUSH2 0x167e 00001679: JUMPI 0000167a: PUSH1 0x00 0000167c: DUP1 0000167d: REVERT 0000167e: JUMPDEST 0000167f: POP 00001680: POP 00001681: POP 00001682: PUSH1 0x40 00001684: MLOAD 00001685: DUP1 00001686: MLOAD 00001687: SWAP1 00001688: POP 00001689: GT 0000168a: ISZERO 0000168b: ISZERO 0000168c: PUSH2 0x1694 0000168f: JUMPI 00001690: PUSH1 0x00 00001692: DUP1 00001693: REVERT 00001694: JUMPDEST 00001695: PUSH32 0x9a1420fc4e534098b8e9a9bec50c7b29c37ec78ea16728935c808fa246bde354 000016b6: DUP3 000016b7: DUP3 000016b8: PUSH1 0x01 000016ba: PUSH1 0xa0 000016bc: PUSH1 0x02 000016be: EXP 000016bf: SUB 000016c0: AND 000016c1: PUSH4 0x70a08231 000016c6: ADDRESS 000016c7: PUSH1 0x40 000016c9: MLOAD 000016ca: PUSH1 0xe0 000016cc: PUSH1 0x02 000016ce: EXP 000016cf: PUSH4 0xffffffff 000016d4: DUP5 000016d5: AND 000016d6: MUL 000016d7: DUP2 000016d8: MSTORE 000016d9: PUSH1 0x01 000016db: PUSH1 0xa0 000016dd: PUSH1 0x02 000016df: EXP 000016e0: SUB 000016e1: SWAP1 000016e2: SWAP2 000016e3: AND 000016e4: PUSH1 0x04 000016e6: DUP3 000016e7: ADD 000016e8: MSTORE 000016e9: PUSH1 0x24 000016eb: ADD 000016ec: PUSH1 0x20 000016ee: PUSH1 0x40 000016f0: MLOAD 000016f1: DUP1 000016f2: DUP4 000016f3: SUB 000016f4: DUP2 000016f5: PUSH1 0x00 000016f7: DUP8 000016f8: DUP1 000016f9: EXTCODESIZE 000016fa: ISZERO 000016fb: ISZERO 000016fc: PUSH2 0x1704 000016ff: JUMPI 00001700: PUSH1 0x00 00001702: DUP1 00001703: REVERT 00001704: JUMPDEST 00001705: GAS 00001706: CALL 00001707: ISZERO 00001708: ISZERO 00001709: PUSH2 0x1711 0000170c: JUMPI 0000170d: PUSH1 0x00 0000170f: DUP1 00001710: REVERT 00001711: JUMPDEST 00001712: POP 00001713: POP 00001714: POP 00001715: PUSH1 0x40 00001717: MLOAD 00001718: DUP1 00001719: MLOAD 0000171a: SWAP1 0000171b: POP 0000171c: PUSH1 0x40 0000171e: MLOAD 0000171f: PUSH1 0x01 00001721: PUSH1 0xa0 00001723: PUSH1 0x02 00001725: EXP 00001726: SUB 00001727: SWAP1 00001728: SWAP3 00001729: AND 0000172a: DUP3 0000172b: MSTORE 0000172c: PUSH1 0x20 0000172e: DUP3 0000172f: ADD 00001730: MSTORE 00001731: PUSH1 0x40 00001733: SWAP1 00001734: DUP2 00001735: ADD 00001736: SWAP1 00001737: MLOAD 00001738: DUP1 00001739: SWAP2 0000173a: SUB 0000173b: SWAP1 0000173c: LOG1 0000173d: PUSH2 0x0644 00001740: DUP4 00001741: PUSH2 0x2cda 00001744: JUMP 00001745: JUMPDEST 00001746: PUSH1 0x00 00001748: PUSH2 0x1750 0000174b: DUP6 0000174c: PUSH2 0x2945 0000174f: JUMP 00001750: JUMPDEST 00001751: PUSH1 0x0f 00001753: DUP6 00001754: ADD 00001755: SLOAD 00001756: PUSH1 0x01 00001758: PUSH1 0xa0 0000175a: PUSH1 0x02 0000175c: EXP 0000175d: SUB 0000175e: DUP6 0000175f: DUP2 00001760: AND 00001761: SWAP2 00001762: AND 00001763: EQ 00001764: ISZERO 00001765: PUSH2 0x176d 00001768: JUMPI 00001769: PUSH1 0x00 0000176b: DUP1 0000176c: REVERT 0000176d: JUMPDEST 0000176e: POP 0000176f: DUP3 00001770: DUP2 00001771: PUSH1 0x01 00001773: PUSH1 0xa0 00001775: PUSH1 0x02 00001777: EXP 00001778: SUB 00001779: DUP3 0000177a: AND 0000177b: PUSH4 0x70a08231 00001780: ADDRESS 00001781: PUSH1 0x40 00001783: MLOAD 00001784: PUSH1 0xe0 00001786: PUSH1 0x02 00001788: EXP 00001789: PUSH4 0xffffffff 0000178e: DUP5 0000178f: AND 00001790: MUL 00001791: DUP2 00001792: MSTORE 00001793: PUSH1 0x01 00001795: PUSH1 0xa0 00001797: PUSH1 0x02 00001799: EXP 0000179a: SUB 0000179b: SWAP1 0000179c: SWAP2 0000179d: AND 0000179e: PUSH1 0x04 000017a0: DUP3 000017a1: ADD 000017a2: MSTORE 000017a3: PUSH1 0x24 000017a5: ADD 000017a6: PUSH1 0x20 000017a8: PUSH1 0x40 000017aa: MLOAD 000017ab: DUP1 000017ac: DUP4 000017ad: SUB 000017ae: DUP2 000017af: PUSH1 0x00 000017b1: DUP8 000017b2: DUP1 000017b3: EXTCODESIZE 000017b4: ISZERO 000017b5: ISZERO 000017b6: PUSH2 0x17be 000017b9: JUMPI 000017ba: PUSH1 0x00 000017bc: DUP1 000017bd: REVERT 000017be: JUMPDEST 000017bf: GAS 000017c0: CALL 000017c1: ISZERO 000017c2: ISZERO 000017c3: PUSH2 0x17cb 000017c6: JUMPI 000017c7: PUSH1 0x00 000017c9: DUP1 000017ca: REVERT 000017cb: JUMPDEST 000017cc: POP 000017cd: POP 000017ce: POP 000017cf: PUSH1 0x40 000017d1: MLOAD 000017d2: DUP1 000017d3: MLOAD 000017d4: SWAP1 000017d5: POP 000017d6: LT 000017d7: ISZERO 000017d8: ISZERO 000017d9: ISZERO 000017da: PUSH2 0x17e2 000017dd: JUMPI 000017de: PUSH1 0x00 000017e0: DUP1 000017e1: REVERT 000017e2: JUMPDEST 000017e3: DUP1 000017e4: PUSH1 0x01 000017e6: PUSH1 0xa0 000017e8: PUSH1 0x02 000017ea: EXP 000017eb: SUB 000017ec: AND 000017ed: PUSH4 0xa9059cbb 000017f2: DUP5 000017f3: DUP5 000017f4: PUSH1 0x40 000017f6: MLOAD 000017f7: PUSH1 0xe0 000017f9: PUSH1 0x02 000017fb: EXP 000017fc: PUSH4 0xffffffff 00001801: DUP6 00001802: AND 00001803: MUL 00001804: DUP2 00001805: MSTORE 00001806: PUSH1 0x01 00001808: PUSH1 0xa0 0000180a: PUSH1 0x02 0000180c: EXP 0000180d: SUB 0000180e: SWAP1 0000180f: SWAP3 00001810: AND 00001811: PUSH1 0x04 00001813: DUP4 00001814: ADD 00001815: MSTORE 00001816: PUSH1 0x24 00001818: DUP3 00001819: ADD 0000181a: MSTORE 0000181b: PUSH1 0x44 0000181d: ADD 0000181e: PUSH1 0x20 00001820: PUSH1 0x40 00001822: MLOAD 00001823: DUP1 00001824: DUP4 00001825: SUB 00001826: DUP2 00001827: PUSH1 0x00 00001829: DUP8 0000182a: DUP1 0000182b: EXTCODESIZE 0000182c: ISZERO 0000182d: ISZERO 0000182e: PUSH2 0x1836 00001831: JUMPI 00001832: PUSH1 0x00 00001834: DUP1 00001835: REVERT 00001836: JUMPDEST 00001837: GAS 00001838: CALL 00001839: ISZERO 0000183a: ISZERO 0000183b: PUSH2 0x1843 0000183e: JUMPI 0000183f: PUSH1 0x00 00001841: DUP1 00001842: REVERT 00001843: JUMPDEST 00001844: POP 00001845: POP 00001846: POP 00001847: PUSH1 0x40 00001849: MLOAD 0000184a: DUP1 0000184b: MLOAD 0000184c: SWAP1 0000184d: POP 0000184e: ISZERO 0000184f: ISZERO 00001850: PUSH2 0x1858 00001853: JUMPI 00001854: PUSH1 0x00 00001856: DUP1 00001857: REVERT 00001858: JUMPDEST 00001859: PUSH32 0x0b991e94bce4cba63aaf2220cd02cab7340fc182afe176ab5a60ebd8f0598e14 0000187a: DUP5 0000187b: DUP5 0000187c: DUP5 0000187d: PUSH1 0x40 0000187f: MLOAD 00001880: PUSH1 0x01 00001882: PUSH1 0xa0 00001884: PUSH1 0x02 00001886: EXP 00001887: SUB 00001888: SWAP4 00001889: DUP5 0000188a: AND 0000188b: DUP2 0000188c: MSTORE 0000188d: SWAP2 0000188e: SWAP1 0000188f: SWAP3 00001890: AND 00001891: PUSH1 0x20 00001893: DUP3 00001894: ADD 00001895: MSTORE 00001896: PUSH1 0x40 00001898: DUP1 00001899: DUP3 0000189a: ADD 0000189b: SWAP3 0000189c: SWAP1 0000189d: SWAP3 0000189e: MSTORE 0000189f: PUSH1 0x60 000018a1: ADD 000018a2: SWAP1 000018a3: MLOAD 000018a4: DUP1 000018a5: SWAP2 000018a6: SUB 000018a7: SWAP1 000018a8: LOG1 000018a9: POP 000018aa: POP 000018ab: POP 000018ac: POP 000018ad: POP 000018ae: JUMP 000018af: JUMPDEST 000018b0: PUSH1 0x00 000018b2: DUP1 000018b3: PUSH2 0x18bb 000018b6: DUP8 000018b7: PUSH2 0x2945 000018ba: JUMP 000018bb: JUMPDEST 000018bc: PUSH2 0x18c6 000018bf: DUP8 000018c0: PUSH1 0x00 000018c2: PUSH2 0x0c40 000018c5: JUMP 000018c6: JUMPDEST 000018c7: PUSH1 0x08 000018c9: DUP8 000018ca: ADD 000018cb: SLOAD 000018cc: PUSH1 0x00 000018ce: SWAP1 000018cf: GT 000018d0: PUSH2 0x18d8 000018d3: JUMPI 000018d4: PUSH1 0x00 000018d6: DUP1 000018d7: REVERT 000018d8: JUMPDEST 000018d9: PUSH1 0x08 000018db: DUP8 000018dc: ADD 000018dd: SLOAD 000018de: DUP6 000018df: SWAP1 000018e0: LT 000018e1: ISZERO 000018e2: PUSH2 0x18ea 000018e5: JUMPI 000018e6: PUSH1 0x00 000018e8: DUP1 000018e9: REVERT 000018ea: JUMPDEST 000018eb: PUSH1 0x08 000018ed: DUP8 000018ee: ADD 000018ef: SLOAD 000018f0: PUSH1 0x01 000018f2: PUSH1 0xa0 000018f4: PUSH1 0x02 000018f6: EXP 000018f7: SUB 000018f8: ADDRESS 000018f9: AND 000018fa: BALANCE 000018fb: LT 000018fc: ISZERO 000018fd: PUSH2 0x1902 00001900: JUMPI 00001901: INVALID 00001902: JUMPDEST 00001903: PUSH2 0x190d 00001906: DUP8 00001907: PUSH1 0x02 00001909: PUSH2 0x2d7b 0000190c: JUMP 0000190d: JUMPDEST 0000190e: PUSH1 0x10 00001910: DUP8 00001911: ADD 00001912: SLOAD 00001913: PUSH1 0x0a 00001915: DUP9 00001916: ADD 00001917: SLOAD 00001918: PUSH1 0x01 0000191a: PUSH1 0xa0 0000191c: PUSH1 0x02 0000191e: EXP 0000191f: SUB 00001920: SWAP1 00001921: SWAP2 00001922: AND 00001923: SWAP1 00001924: PUSH4 0x66caf97d 00001929: SWAP1 0000192a: PUSH1 0x40 0000192c: MLOAD 0000192d: PUSH1 0xe0 0000192f: PUSH1 0x02 00001931: EXP 00001932: PUSH4 0xffffffff 00001937: DUP5 00001938: AND 00001939: MUL 0000193a: DUP2 0000193b: MSTORE 0000193c: PUSH1 0x04 0000193e: DUP2 0000193f: ADD 00001940: SWAP2 00001941: SWAP1 00001942: SWAP2 00001943: MSTORE 00001944: PUSH1 0x24 00001946: ADD 00001947: PUSH1 0x20 00001949: PUSH1 0x40 0000194b: MLOAD 0000194c: DUP1 0000194d: DUP4 0000194e: SUB 0000194f: DUP2 00001950: PUSH1 0x00 00001952: DUP8 00001953: DUP1 00001954: EXTCODESIZE 00001955: ISZERO 00001956: ISZERO 00001957: PUSH2 0x195f 0000195a: JUMPI 0000195b: PUSH1 0x00 0000195d: DUP1 0000195e: REVERT 0000195f: JUMPDEST 00001960: GAS 00001961: CALL 00001962: ISZERO 00001963: ISZERO 00001964: PUSH2 0x196c 00001967: JUMPI 00001968: PUSH1 0x00 0000196a: DUP1 0000196b: REVERT 0000196c: JUMPDEST 0000196d: POP 0000196e: POP 0000196f: POP 00001970: PUSH1 0x40 00001972: MLOAD 00001973: DUP1 00001974: MLOAD 00001975: SWAP1 00001976: POP 00001977: ISZERO 00001978: ISZERO 00001979: PUSH2 0x1981 0000197c: JUMPI 0000197d: PUSH1 0x00 0000197f: DUP1 00001980: REVERT 00001981: JUMPDEST 00001982: PUSH1 0x10 00001984: DUP8 00001985: ADD 00001986: SLOAD 00001987: PUSH8 0x0de0b6b3a7640000 00001990: SWAP1 00001991: PUSH1 0x01 00001993: PUSH1 0xa0 00001995: PUSH1 0x02 00001997: EXP 00001998: SUB 00001999: AND 0000199a: PUSH4 0x9592619c 0000199f: PUSH1 0x40 000019a1: MLOAD 000019a2: DUP2 000019a3: PUSH4 0xffffffff 000019a8: AND 000019a9: PUSH1 0xe0 000019ab: PUSH1 0x02 000019ad: EXP 000019ae: MUL 000019af: DUP2 000019b0: MSTORE 000019b1: PUSH1 0x04 000019b3: ADD 000019b4: PUSH1 0x20 000019b6: PUSH1 0x40 000019b8: MLOAD 000019b9: DUP1 000019ba: DUP4 000019bb: SUB 000019bc: DUP2 000019bd: PUSH1 0x00 000019bf: DUP8 000019c0: DUP1 000019c1: EXTCODESIZE 000019c2: ISZERO 000019c3: ISZERO 000019c4: PUSH2 0x19cc 000019c7: JUMPI 000019c8: PUSH1 0x00 000019ca: DUP1 000019cb: REVERT 000019cc: JUMPDEST 000019cd: GAS 000019ce: CALL 000019cf: ISZERO 000019d0: ISZERO 000019d1: PUSH2 0x19d9 000019d4: JUMPI 000019d5: PUSH1 0x00 000019d7: DUP1 000019d8: REVERT 000019d9: JUMPDEST 000019da: POP 000019db: POP 000019dc: POP 000019dd: PUSH1 0x40 000019df: MLOAD 000019e0: DUP1 000019e1: MLOAD 000019e2: SWAP1 000019e3: POP 000019e4: DUP9 000019e5: PUSH1 0x08 000019e7: ADD 000019e8: SLOAD 000019e9: MUL 000019ea: DUP2 000019eb: ISZERO 000019ec: ISZERO 000019ed: PUSH2 0x19f2 000019f0: JUMPI 000019f1: INVALID 000019f2: JUMPDEST 000019f3: DIV 000019f4: SWAP2 000019f5: POP 000019f6: DUP7 000019f7: PUSH1 0x08 000019f9: ADD 000019fa: SLOAD 000019fb: ADDRESS 000019fc: PUSH1 0x01 000019fe: PUSH1 0xa0 00001a00: PUSH1 0x02 00001a02: EXP 00001a03: SUB 00001a04: AND 00001a05: BALANCE 00001a06: SUB 00001a07: DUP8 00001a08: PUSH1 0x09 00001a0a: ADD 00001a0b: DUP2 00001a0c: SWAP1 00001a0d: SSTORE 00001a0e: POP 00001a0f: PUSH2 0x1a26 00001a12: PUSH5 0x09502f9000 00001a18: DUP9 00001a19: PUSH1 0x0a 00001a1b: ADD 00001a1c: SLOAD 00001a1d: DUP10 00001a1e: PUSH1 0x11 00001a20: ADD 00001a21: SLOAD 00001a22: PUSH2 0x293a 00001a25: JUMP 00001a26: JUMPDEST 00001a27: SWAP1 00001a28: POP 00001a29: PUSH1 0x00 00001a2b: DUP2 00001a2c: GT 00001a2d: ISZERO 00001a2e: PUSH2 0x1a66 00001a31: JUMPI 00001a32: PUSH1 0x12 00001a34: DUP8 00001a35: ADD 00001a36: SLOAD 00001a37: PUSH1 0x01 00001a39: PUSH1 0xa0 00001a3b: PUSH1 0x02 00001a3d: EXP 00001a3e: SUB 00001a3f: AND 00001a40: DUP2 00001a41: ISZERO 00001a42: PUSH2 0x08fc 00001a45: MUL 00001a46: DUP3 00001a47: PUSH1 0x40 00001a49: MLOAD 00001a4a: PUSH1 0x00 00001a4c: PUSH1 0x40 00001a4e: MLOAD 00001a4f: DUP1 00001a50: DUP4 00001a51: SUB 00001a52: DUP2 00001a53: DUP6 00001a54: DUP9 00001a55: DUP9 00001a56: CALL 00001a57: SWAP4 00001a58: POP 00001a59: POP 00001a5a: POP 00001a5b: POP 00001a5c: ISZERO 00001a5d: ISZERO 00001a5e: PUSH2 0x1a66 00001a61: JUMPI 00001a62: PUSH1 0x00 00001a64: DUP1 00001a65: REVERT 00001a66: JUMPDEST 00001a67: DUP6 00001a68: PUSH1 0x01 00001a6a: PUSH1 0xa0 00001a6c: PUSH1 0x02 00001a6e: EXP 00001a6f: SUB 00001a70: AND 00001a71: PUSH1 0x00 00001a73: DUP6 00001a74: GT 00001a75: PUSH2 0x1a7e 00001a78: JUMPI 00001a79: GAS 00001a7a: PUSH2 0x1a80 00001a7d: JUMP 00001a7e: JUMPDEST 00001a7f: DUP5 00001a80: JUMPDEST 00001a81: DUP3 00001a82: DUP5 00001a83: DUP11 00001a84: PUSH1 0x08 00001a86: ADD 00001a87: SLOAD 00001a88: SUB 00001a89: SUB 00001a8a: DUP6 00001a8b: PUSH1 0x40 00001a8d: MLOAD 00001a8e: DUP1 00001a8f: DUP3 00001a90: DUP1 00001a91: MLOAD 00001a92: SWAP1 00001a93: PUSH1 0x20 00001a95: ADD 00001a96: SWAP1 00001a97: DUP1 00001a98: DUP4 00001a99: DUP4 00001a9a: PUSH1 0x00 00001a9c: JUMPDEST 00001a9d: DUP4 00001a9e: DUP2 00001a9f: LT 00001aa0: ISZERO 00001aa1: PUSH2 0x1ab4 00001aa4: JUMPI 00001aa5: DUP1 00001aa6: DUP3 00001aa7: ADD 00001aa8: MLOAD 00001aa9: DUP4 00001aaa: DUP3 00001aab: ADD 00001aac: MSTORE 00001aad: PUSH1 0x20 00001aaf: ADD 00001ab0: PUSH2 0x1a9c 00001ab3: JUMP 00001ab4: JUMPDEST 00001ab5: POP 00001ab6: POP 00001ab7: POP 00001ab8: POP 00001ab9: SWAP1 00001aba: POP 00001abb: SWAP1 00001abc: DUP2 00001abd: ADD 00001abe: SWAP1 00001abf: PUSH1 0x1f 00001ac1: AND 00001ac2: DUP1 00001ac3: ISZERO 00001ac4: PUSH2 0x1ae1 00001ac7: JUMPI 00001ac8: DUP1 00001ac9: DUP3 00001aca: SUB 00001acb: DUP1 00001acc: MLOAD 00001acd: PUSH1 0x01 00001acf: DUP4 00001ad0: PUSH1 0x20 00001ad2: SUB 00001ad3: PUSH2 0x0100 00001ad6: EXP 00001ad7: SUB 00001ad8: NOT 00001ad9: AND 00001ada: DUP2 00001adb: MSTORE 00001adc: PUSH1 0x20 00001ade: ADD 00001adf: SWAP2 00001ae0: POP 00001ae1: JUMPDEST 00001ae2: POP 00001ae3: SWAP2 00001ae4: POP 00001ae5: POP 00001ae6: PUSH1 0x00 00001ae8: PUSH1 0x40 00001aea: MLOAD 00001aeb: DUP1 00001aec: DUP4 00001aed: SUB 00001aee: DUP2 00001aef: DUP6 00001af0: DUP9 00001af1: DUP9 00001af2: CALL 00001af3: SWAP4 00001af4: POP 00001af5: POP 00001af6: POP 00001af7: POP 00001af8: ISZERO 00001af9: ISZERO 00001afa: PUSH2 0x1b02 00001afd: JUMPI 00001afe: PUSH1 0x00 00001b00: DUP1 00001b01: REVERT 00001b02: JUMPDEST 00001b03: POP 00001b04: POP 00001b05: POP 00001b06: POP 00001b07: POP 00001b08: POP 00001b09: POP 00001b0a: JUMP 00001b0b: JUMPDEST 00001b0c: DUP1 00001b0d: SLOAD 00001b0e: PUSH1 0xff 00001b10: AND 00001b11: PUSH1 0x00 00001b13: DUP1 00001b14: DUP1 00001b15: DUP1 00001b16: DUP1 00001b17: DUP1 00001b18: DUP1 00001b19: DUP1 00001b1a: DUP1 00001b1b: DUP10 00001b1c: PUSH1 0x03 00001b1e: DUP2 00001b1f: GT 00001b20: ISZERO 00001b21: PUSH2 0x1b26 00001b24: JUMPI 00001b25: INVALID 00001b26: JUMPDEST 00001b27: EQ 00001b28: ISZERO 00001b29: PUSH2 0x1c21 00001b2c: JUMPI 00001b2d: PUSH1 0x01 00001b2f: PUSH1 0xa0 00001b31: PUSH1 0x02 00001b33: EXP 00001b34: SUB 00001b35: CALLER 00001b36: AND 00001b37: PUSH1 0x00 00001b39: SWAP1 00001b3a: DUP2 00001b3b: MSTORE 00001b3c: PUSH1 0x07 00001b3e: DUP12 00001b3f: ADD 00001b40: PUSH1 0x20 00001b42: MSTORE 00001b43: PUSH1 0x40 00001b45: SWAP1 00001b46: KECCAK256 00001b47: PUSH1 0x01 00001b49: DUP2 00001b4a: ADD 00001b4b: SLOAD 00001b4c: DUP2 00001b4d: SLOAD 00001b4e: SWAP2 00001b4f: SWAP10 00001b50: POP 00001b51: SWAP8 00001b52: POP 00001b53: DUP8 00001b54: ADD 00001b55: ISZERO 00001b56: ISZERO 00001b57: PUSH2 0x1b5f 00001b5a: JUMPI 00001b5b: PUSH2 0x1d4d 00001b5e: JUMP 00001b5f: JUMPDEST 00001b60: DUP8 00001b61: SLOAD 00001b62: PUSH1 0x00 00001b64: SWAP1 00001b65: GT 00001b66: ISZERO 00001b67: PUSH2 0x1b7e 00001b6a: JUMPI 00001b6b: PUSH1 0x0a 00001b6d: DUP11 00001b6e: ADD 00001b6f: DUP1 00001b70: SLOAD 00001b71: PUSH1 0x00 00001b73: NOT 00001b74: ADD 00001b75: SWAP1 00001b76: SSTORE 00001b77: DUP8 00001b78: SLOAD 00001b79: SWAP7 00001b7a: SWAP1 00001b7b: SWAP7 00001b7c: ADD 00001b7d: SWAP6 00001b7e: JUMPDEST 00001b7f: DUP8 00001b80: SLOAD 00001b81: PUSH1 0x08 00001b83: DUP12 00001b84: ADD 00001b85: DUP1 00001b86: SLOAD 00001b87: SWAP2 00001b88: SWAP1 00001b89: SWAP2 00001b8a: SUB 00001b8b: DUP2 00001b8c: SSTORE 00001b8d: PUSH1 0x00 00001b8f: DUP1 00001b90: DUP11 00001b91: SSTORE 00001b92: SWAP1 00001b93: SLOAD 00001b94: PUSH1 0x00 00001b96: DUP1 00001b97: MLOAD 00001b98: PUSH1 0x20 00001b9a: PUSH2 0x374d 00001b9d: DUP4 00001b9e: CODECOPY 00001b9f: DUP2 00001ba0: MLOAD 00001ba1: SWAP2 00001ba2: MSTORE 00001ba3: SWAP2 00001ba4: CALLER 00001ba5: SWAP2 00001ba6: DUP11 00001ba7: SWAP2 00001ba8: SWAP1 00001ba9: DUP2 00001baa: SWAP1 00001bab: PUSH1 0x40 00001bad: MLOAD 00001bae: PUSH1 0x01 00001bb0: PUSH1 0xa0 00001bb2: PUSH1 0x02 00001bb4: EXP 00001bb5: SUB 00001bb6: SWAP1 00001bb7: SWAP6 00001bb8: AND 00001bb9: DUP6 00001bba: MSTORE 00001bbb: PUSH1 0x20 00001bbd: DUP6 00001bbe: ADD 00001bbf: SWAP4 00001bc0: SWAP1 00001bc1: SWAP4 00001bc2: MSTORE 00001bc3: PUSH1 0x40 00001bc5: DUP1 00001bc6: DUP6 00001bc7: ADD 00001bc8: SWAP3 00001bc9: SWAP1 00001bca: SWAP3 00001bcb: MSTORE 00001bcc: PUSH1 0x60 00001bce: DUP5 00001bcf: ADD 00001bd0: MSTORE 00001bd1: PUSH1 0x80 00001bd3: DUP4 00001bd4: ADD 00001bd5: SWAP2 00001bd6: SWAP1 00001bd7: SWAP2 00001bd8: MSTORE 00001bd9: PUSH1 0xa0 00001bdb: SWAP1 00001bdc: SWAP2 00001bdd: ADD 00001bde: SWAP1 00001bdf: MLOAD 00001be0: DUP1 00001be1: SWAP2 00001be2: SUB 00001be3: SWAP1 00001be4: LOG1 00001be5: PUSH1 0x00 00001be7: PUSH1 0x01 00001be9: DUP10 00001bea: ADD 00001beb: SSTORE 00001bec: PUSH1 0x01 00001bee: PUSH1 0xa0 00001bf0: PUSH1 0x02 00001bf2: EXP 00001bf3: SUB 00001bf4: CALLER 00001bf5: AND 00001bf6: DUP8 00001bf7: ISZERO 00001bf8: PUSH2 0x08fc 00001bfb: MUL 00001bfc: DUP9 00001bfd: PUSH1 0x40 00001bff: MLOAD 00001c00: PUSH1 0x00 00001c02: PUSH1 0x40 00001c04: MLOAD 00001c05: DUP1 00001c06: DUP4 00001c07: SUB 00001c08: DUP2 00001c09: DUP6 00001c0a: DUP9 00001c0b: DUP9 00001c0c: CALL 00001c0d: SWAP4 00001c0e: POP 00001c0f: POP 00001c10: POP 00001c11: POP 00001c12: ISZERO 00001c13: ISZERO 00001c14: PUSH2 0x1c1c 00001c17: JUMPI 00001c18: PUSH1 0x00 00001c1a: DUP1 00001c1b: REVERT 00001c1c: JUMPDEST 00001c1d: PUSH2 0x1d4d 00001c20: JUMP 00001c21: JUMPDEST 00001c22: PUSH1 0x03 00001c24: DUP10 00001c25: PUSH1 0x03 00001c27: DUP2 00001c28: GT 00001c29: ISZERO 00001c2a: PUSH2 0x1c2f 00001c2d: JUMPI 00001c2e: INVALID 00001c2f: JUMPDEST 00001c30: EQ 00001c31: DUP1 00001c32: PUSH2 0x1c46 00001c35: JUMPI 00001c36: POP 00001c37: PUSH1 0x01 00001c39: DUP10 00001c3a: PUSH1 0x03 00001c3c: DUP2 00001c3d: GT 00001c3e: ISZERO 00001c3f: PUSH2 0x1c44 00001c42: JUMPI 00001c43: INVALID 00001c44: JUMPDEST 00001c45: EQ 00001c46: JUMPDEST 00001c47: DUP1 00001c48: PUSH2 0x1c5c 00001c4b: JUMPI 00001c4c: POP 00001c4d: PUSH1 0x02 00001c4f: DUP10 00001c50: PUSH1 0x03 00001c52: DUP2 00001c53: GT 00001c54: ISZERO 00001c55: PUSH2 0x1c5a 00001c58: JUMPI 00001c59: INVALID 00001c5a: JUMPDEST 00001c5b: EQ 00001c5c: JUMPDEST 00001c5d: ISZERO 00001c5e: ISZERO 00001c5f: PUSH2 0x1c67 00001c62: JUMPI 00001c63: PUSH1 0x00 00001c65: DUP1 00001c66: REVERT 00001c67: JUMPDEST 00001c68: PUSH1 0x00 00001c6a: SWAP6 00001c6b: POP 00001c6c: PUSH1 0x02 00001c6e: DUP10 00001c6f: PUSH1 0x03 00001c71: DUP2 00001c72: GT 00001c73: ISZERO 00001c74: PUSH2 0x1c79 00001c77: JUMPI 00001c78: INVALID 00001c79: JUMPDEST 00001c7a: EQ 00001c7b: ISZERO 00001c7c: PUSH2 0x1cd9 00001c7f: JUMPI 00001c80: PUSH1 0x10 00001c82: DUP11 00001c83: ADD 00001c84: SLOAD 00001c85: PUSH1 0x01 00001c87: PUSH1 0xa0 00001c89: PUSH1 0x02 00001c8b: EXP 00001c8c: SUB 00001c8d: AND 00001c8e: PUSH4 0x9592619c 00001c93: PUSH1 0x40 00001c95: MLOAD 00001c96: DUP2 00001c97: PUSH4 0xffffffff 00001c9c: AND 00001c9d: PUSH1 0xe0 00001c9f: PUSH1 0x02 00001ca1: EXP 00001ca2: MUL 00001ca3: DUP2 00001ca4: MSTORE 00001ca5: PUSH1 0x04 00001ca7: ADD 00001ca8: PUSH1 0x20 00001caa: PUSH1 0x40 00001cac: MLOAD 00001cad: DUP1 00001cae: DUP4 00001caf: SUB 00001cb0: DUP2 00001cb1: PUSH1 0x00 00001cb3: DUP8 00001cb4: DUP1 00001cb5: EXTCODESIZE 00001cb6: ISZERO 00001cb7: ISZERO 00001cb8: PUSH2 0x1cc0 00001cbb: JUMPI 00001cbc: PUSH1 0x00 00001cbe: DUP1 00001cbf: REVERT 00001cc0: JUMPDEST 00001cc1: GAS 00001cc2: CALL 00001cc3: ISZERO 00001cc4: ISZERO 00001cc5: PUSH2 0x1ccd 00001cc8: JUMPI 00001cc9: PUSH1 0x00 00001ccb: DUP1 00001ccc: REVERT 00001ccd: JUMPDEST 00001cce: POP 00001ccf: POP 00001cd0: POP 00001cd1: PUSH1 0x40 00001cd3: MLOAD 00001cd4: DUP1 00001cd5: MLOAD 00001cd6: SWAP7 00001cd7: POP 00001cd8: POP 00001cd9: JUMPDEST 00001cda: PUSH2 0x1cee 00001cdd: PUSH5 0x09502f9000 00001ce3: PUSH1 0x01 00001ce5: DUP13 00001ce6: PUSH1 0x11 00001ce8: ADD 00001ce9: SLOAD 00001cea: PUSH2 0x293a 00001ced: JUMP 00001cee: JUMPDEST 00001cef: PUSH1 0x08 00001cf1: DUP12 00001cf2: ADD 00001cf3: SLOAD 00001cf4: PUSH1 0x0a 00001cf6: DUP13 00001cf7: ADD 00001cf8: SLOAD 00001cf9: PUSH1 0x09 00001cfb: DUP14 00001cfc: ADD 00001cfd: SLOAD 00001cfe: PUSH1 0x0f 00001d00: DUP15 00001d01: ADD 00001d02: SLOAD 00001d03: SWAP4 00001d04: SWAP9 00001d05: POP 00001d06: SWAP2 00001d07: SWAP7 00001d08: POP 00001d09: PUSH8 0x0de0b6b3a7640000 00001d12: DUP10 00001d13: DUP9 00001d14: MUL 00001d15: DIV 00001d16: SWAP6 00001d17: POP 00001d18: DUP8 00001d19: MUL 00001d1a: DUP6 00001d1b: DUP8 00001d1c: SUB 00001d1d: SUB 00001d1e: SWAP4 00001d1f: POP 00001d20: SWAP2 00001d21: POP 00001d22: PUSH1 0x01 00001d24: PUSH1 0xa0 00001d26: PUSH1 0x02 00001d28: EXP 00001d29: SUB 00001d2a: AND 00001d2b: ISZERO 00001d2c: ISZERO 00001d2d: PUSH2 0x1d33 00001d30: JUMPI 00001d31: DUP3 00001d32: ADD 00001d33: JUMPDEST 00001d34: PUSH2 0x1d4d 00001d37: DUP11 00001d38: CALLER 00001d39: DUP9 00001d3a: DUP9 00001d3b: DUP6 00001d3c: ADDRESS 00001d3d: PUSH1 0x01 00001d3f: PUSH1 0xa0 00001d41: PUSH1 0x02 00001d43: EXP 00001d44: SUB 00001d45: AND 00001d46: BALANCE 00001d47: SUB 00001d48: DUP8 00001d49: PUSH2 0x2df7 00001d4c: JUMP 00001d4d: JUMPDEST 00001d4e: POP 00001d4f: POP 00001d50: POP 00001d51: POP 00001d52: POP 00001d53: POP 00001d54: POP 00001d55: POP 00001d56: POP 00001d57: POP 00001d58: JUMP 00001d59: JUMPDEST 00001d5a: PUSH2 0x1d62 00001d5d: DUP3 00001d5e: PUSH2 0x2945 00001d61: JUMP 00001d62: JUMPDEST 00001d63: PUSH1 0x02 00001d65: DUP3 00001d66: SLOAD 00001d67: PUSH1 0xff 00001d69: AND 00001d6a: PUSH1 0x03 00001d6c: DUP2 00001d6d: GT 00001d6e: ISZERO 00001d6f: PUSH2 0x1d74 00001d72: JUMPI 00001d73: INVALID 00001d74: JUMPDEST 00001d75: EQ 00001d76: DUP1 00001d77: PUSH2 0x1d8f 00001d7a: JUMPI 00001d7b: POP 00001d7c: PUSH1 0x03 00001d7e: DUP3 00001d7f: SLOAD 00001d80: PUSH1 0xff 00001d82: AND 00001d83: PUSH1 0x03 00001d85: DUP2 00001d86: GT 00001d87: ISZERO 00001d88: PUSH2 0x1d8d 00001d8b: JUMPI 00001d8c: INVALID 00001d8d: JUMPDEST 00001d8e: EQ 00001d8f: JUMPDEST 00001d90: ISZERO 00001d91: ISZERO 00001d92: PUSH2 0x1d9a 00001d95: JUMPI 00001d96: PUSH1 0x00 00001d98: DUP1 00001d99: REVERT 00001d9a: JUMPDEST 00001d9b: PUSH1 0x0f 00001d9d: DUP3 00001d9e: ADD 00001d9f: SLOAD 00001da0: PUSH1 0x01 00001da2: PUSH1 0xa0 00001da4: PUSH1 0x02 00001da6: EXP 00001da7: SUB 00001da8: AND 00001da9: ISZERO 00001daa: PUSH2 0x1db2 00001dad: JUMPI 00001dae: PUSH1 0x00 00001db0: DUP1 00001db1: REVERT 00001db2: JUMPDEST 00001db3: PUSH1 0x0b 00001db5: DUP3 00001db6: ADD 00001db7: SLOAD 00001db8: PUSH1 0x01 00001dba: PUSH1 0xa0 00001dbc: PUSH1 0x02 00001dbe: EXP 00001dbf: SUB 00001dc0: DUP3 00001dc1: DUP2 00001dc2: AND 00001dc3: SWAP2 00001dc4: AND 00001dc5: EQ 00001dc6: PUSH2 0x1e24 00001dc9: JUMPI 00001dca: PUSH1 0x0b 00001dcc: DUP3 00001dcd: ADD 00001dce: DUP1 00001dcf: SLOAD 00001dd0: PUSH1 0x01 00001dd2: PUSH1 0xa0 00001dd4: PUSH1 0x02 00001dd6: EXP 00001dd7: SUB 00001dd8: NOT 00001dd9: AND 00001dda: PUSH1 0x01 00001ddc: PUSH1 0xa0 00001dde: PUSH1 0x02 00001de0: EXP 00001de1: SUB 00001de2: DUP4 00001de3: AND 00001de4: OR 00001de5: SWAP1 00001de6: SSTORE 00001de7: PUSH32 0xac140301f2bddbabdc6ee045fb15f29d6f070b8d470ed982696c1b6d4e475fea 00001e08: DUP2 00001e09: PUSH1 0x40 00001e0b: MLOAD 00001e0c: PUSH1 0x01 00001e0e: PUSH1 0xa0 00001e10: PUSH1 0x02 00001e12: EXP 00001e13: SUB 00001e14: SWAP1 00001e15: SWAP2 00001e16: AND 00001e17: DUP2 00001e18: MSTORE 00001e19: PUSH1 0x20 00001e1b: ADD 00001e1c: PUSH1 0x40 00001e1e: MLOAD 00001e1f: DUP1 00001e20: SWAP2 00001e21: SUB 00001e22: SWAP1 00001e23: LOG1 00001e24: JUMPDEST 00001e25: PUSH1 0x02 00001e27: DUP3 00001e28: SLOAD 00001e29: PUSH1 0xff 00001e2b: AND 00001e2c: PUSH1 0x03 00001e2e: DUP2 00001e2f: GT 00001e30: ISZERO 00001e31: PUSH2 0x1e36 00001e34: JUMPI 00001e35: INVALID 00001e36: JUMPDEST 00001e37: EQ 00001e38: ISZERO 00001e39: PUSH2 0x0667 00001e3c: JUMPI 00001e3d: PUSH2 0x0667 00001e40: DUP3 00001e41: PUSH1 0x03 00001e43: PUSH2 0x2d7b 00001e46: JUMP 00001e47: JUMPDEST 00001e48: PUSH1 0x00 00001e4a: PUSH2 0x1e52 00001e4d: DUP3 00001e4e: PUSH2 0x2945 00001e51: JUMP 00001e52: JUMPDEST 00001e53: PUSH2 0x1e5d 00001e56: DUP3 00001e57: PUSH1 0x00 00001e59: PUSH2 0x0c40 00001e5c: JUMP 00001e5d: JUMPDEST 00001e5e: PUSH2 0x1e68 00001e61: DUP3 00001e62: PUSH1 0x01 00001e64: PUSH2 0x2d7b 00001e67: JUMP 00001e68: JUMPDEST 00001e69: PUSH1 0x08 00001e6b: DUP3 00001e6c: ADD 00001e6d: SLOAD 00001e6e: PUSH1 0x01 00001e70: PUSH1 0xa0 00001e72: PUSH1 0x02 00001e74: EXP 00001e75: SUB 00001e76: ADDRESS 00001e77: AND 00001e78: BALANCE 00001e79: SUB 00001e7a: PUSH1 0x09 00001e7c: DUP4 00001e7d: ADD 00001e7e: SSTORE 00001e7f: PUSH1 0x11 00001e81: DUP3 00001e82: ADD 00001e83: SLOAD 00001e84: PUSH1 0x00 00001e86: SWAP1 00001e87: GT 00001e88: ISZERO 00001e89: PUSH2 0x0667 00001e8c: JUMPI 00001e8d: PUSH1 0x01 00001e8f: DUP3 00001e90: PUSH1 0x11 00001e92: ADD 00001e93: DUP2 00001e94: SWAP1 00001e95: SSTORE 00001e96: POP 00001e97: PUSH2 0x1eab 00001e9a: PUSH5 0x09502f9000 00001ea0: DUP4 00001ea1: PUSH1 0x0a 00001ea3: ADD 00001ea4: SLOAD 00001ea5: PUSH1 0x01 00001ea7: PUSH2 0x293a 00001eaa: JUMP 00001eab: JUMPDEST 00001eac: PUSH1 0x12 00001eae: DUP4 00001eaf: ADD 00001eb0: SLOAD 00001eb1: SWAP1 00001eb2: SWAP2 00001eb3: POP 00001eb4: PUSH1 0x01 00001eb6: PUSH1 0xa0 00001eb8: PUSH1 0x02 00001eba: EXP 00001ebb: SUB 00001ebc: AND 00001ebd: DUP2 00001ebe: ISZERO 00001ebf: PUSH2 0x08fc 00001ec2: MUL 00001ec3: DUP3 00001ec4: PUSH1 0x40 00001ec6: MLOAD 00001ec7: PUSH1 0x00 00001ec9: PUSH1 0x40 00001ecb: MLOAD 00001ecc: DUP1 00001ecd: DUP4 00001ece: SUB 00001ecf: DUP2 00001ed0: DUP6 00001ed1: DUP9 00001ed2: DUP9 00001ed3: CALL 00001ed4: SWAP4 00001ed5: POP 00001ed6: POP 00001ed7: POP 00001ed8: POP 00001ed9: ISZERO 00001eda: ISZERO 00001edb: PUSH2 0x0667 00001ede: JUMPI 00001edf: PUSH1 0x00 00001ee1: DUP1 00001ee2: REVERT 00001ee3: JUMPDEST 00001ee4: PUSH1 0x00 00001ee6: DUP1 00001ee7: PUSH1 0x00 00001ee9: PUSH2 0x1ef3 00001eec: DUP5 00001eed: PUSH1 0x00 00001eef: PUSH2 0x0c40 00001ef2: JUMP 00001ef3: JUMPDEST 00001ef4: PUSH1 0x00 00001ef6: CALLVALUE 00001ef7: GT 00001ef8: PUSH2 0x1f00 00001efb: JUMPI 00001efc: PUSH1 0x00 00001efe: DUP1 00001eff: REVERT 00001f00: JUMPDEST 00001f01: PUSH1 0x01 00001f03: PUSH1 0xa0 00001f05: PUSH1 0x02 00001f07: EXP 00001f08: SUB 00001f09: CALLER 00001f0a: AND 00001f0b: PUSH1 0x00 00001f0d: SWAP1 00001f0e: DUP2 00001f0f: MSTORE 00001f10: PUSH1 0x07 00001f12: DUP6 00001f13: ADD 00001f14: PUSH1 0x20 00001f16: MSTORE 00001f17: PUSH1 0x40 00001f19: SWAP1 00001f1a: KECCAK256 00001f1b: SWAP3 00001f1c: POP 00001f1d: PUSH2 0x1f26 00001f20: DUP5 00001f21: DUP5 00001f22: PUSH2 0x2f3f 00001f25: JUMP 00001f26: JUMPDEST 00001f27: ISZERO 00001f28: ISZERO 00001f29: PUSH2 0x1f31 00001f2c: JUMPI 00001f2d: PUSH1 0x00 00001f2f: DUP1 00001f30: REVERT 00001f31: JUMPDEST 00001f32: PUSH2 0x1f4f 00001f35: DUP5 00001f36: PUSH1 0x02 00001f38: ADD 00001f39: SLOAD 00001f3a: DUP6 00001f3b: PUSH1 0x03 00001f3d: ADD 00001f3e: SLOAD 00001f3f: DUP7 00001f40: PUSH1 0x04 00001f42: ADD 00001f43: SLOAD 00001f44: DUP8 00001f45: PUSH1 0x08 00001f47: ADD 00001f48: SLOAD 00001f49: DUP8 00001f4a: CALLVALUE 00001f4b: PUSH2 0x2f68 00001f4e: JUMP 00001f4f: JUMPDEST 00001f50: SWAP1 00001f51: SWAP3 00001f52: POP 00001f53: SWAP1 00001f54: POP 00001f55: DUP1 00001f56: ISZERO 00001f57: PUSH2 0x1f5f 00001f5a: JUMPI 00001f5b: PUSH1 0x00 00001f5d: DUP1 00001f5e: REVERT 00001f5f: JUMPDEST 00001f60: DUP3 00001f61: SLOAD 00001f62: ISZERO 00001f63: ISZERO 00001f64: PUSH2 0x1f73 00001f67: JUMPI 00001f68: PUSH1 0x0a 00001f6a: DUP5 00001f6b: ADD 00001f6c: DUP1 00001f6d: SLOAD 00001f6e: PUSH1 0x01 00001f70: ADD 00001f71: SWAP1 00001f72: SSTORE 00001f73: JUMPDEST 00001f74: DUP3 00001f75: SLOAD 00001f76: PUSH1 0x08 00001f78: DUP6 00001f79: ADD 00001f7a: DUP1 00001f7b: SLOAD 00001f7c: SWAP2 00001f7d: SWAP1 00001f7e: SWAP2 00001f7f: SUB 00001f80: DUP4 00001f81: ADD 00001f82: SWAP1 00001f83: SSTORE 00001f84: PUSH1 0x01 00001f86: DUP4 00001f87: ADD 00001f88: DUP2 00001f89: SWAP1 00001f8a: SSTORE 00001f8b: DUP2 00001f8c: DUP4 00001f8d: SSTORE 00001f8e: PUSH1 0x02 00001f90: DUP4 00001f91: ADD 00001f92: SLOAD 00001f93: PUSH3 0x010000 00001f97: SWAP1 00001f98: DIV 00001f99: PUSH1 0xff 00001f9b: AND 00001f9c: ISZERO 00001f9d: ISZERO 00001f9e: PUSH2 0x1ff9 00001fa1: JUMPI 00001fa2: PUSH1 0x02 00001fa4: DUP4 00001fa5: ADD 00001fa6: DUP1 00001fa7: SLOAD 00001fa8: PUSH3 0xff0000 00001fac: NOT 00001fad: PUSH2 0xff00 00001fb0: NOT 00001fb1: SWAP1 00001fb2: SWAP2 00001fb3: AND 00001fb4: PUSH2 0x0100 00001fb7: OR 00001fb8: AND 00001fb9: PUSH3 0x010000 00001fbd: OR 00001fbe: SWAP1 00001fbf: SSTORE 00001fc0: PUSH1 0x05 00001fc2: DUP5 00001fc3: ADD 00001fc4: DUP1 00001fc5: SLOAD 00001fc6: PUSH1 0x01 00001fc8: DUP2 00001fc9: ADD 00001fca: PUSH2 0x1fd3 00001fcd: DUP4 00001fce: DUP3 00001fcf: PUSH2 0x32e0 00001fd2: JUMP 00001fd3: JUMPDEST 00001fd4: POP 00001fd5: PUSH1 0x00 00001fd7: SWAP2 00001fd8: DUP3 00001fd9: MSTORE 00001fda: PUSH1 0x20 00001fdc: SWAP1 00001fdd: SWAP2 00001fde: KECCAK256 00001fdf: ADD 00001fe0: DUP1 00001fe1: SLOAD 00001fe2: PUSH1 0x01 00001fe4: PUSH1 0xa0 00001fe6: PUSH1 0x02 00001fe8: EXP 00001fe9: SUB 00001fea: NOT 00001feb: AND 00001fec: CALLER 00001fed: PUSH1 0x01 00001fef: PUSH1 0xa0 00001ff1: PUSH1 0x02 00001ff3: EXP 00001ff4: SUB 00001ff5: AND 00001ff6: OR 00001ff7: SWAP1 00001ff8: SSTORE 00001ff9: JUMPDEST 00001ffa: PUSH32 0x36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e 0000201b: CALLER 0000201c: CALLVALUE 0000201d: DUP6 0000201e: PUSH1 0x00 00002020: ADD 00002021: SLOAD 00002022: DUP8 00002023: PUSH1 0x08 00002025: ADD 00002026: SLOAD 00002027: PUSH1 0x40 00002029: MLOAD 0000202a: DUP1 0000202b: DUP6 0000202c: PUSH1 0x01 0000202e: PUSH1 0xa0 00002030: PUSH1 0x02 00002032: EXP 00002033: SUB 00002034: AND 00002035: PUSH1 0x01 00002037: PUSH1 0xa0 00002039: PUSH1 0x02 0000203b: EXP 0000203c: SUB 0000203d: AND 0000203e: DUP2 0000203f: MSTORE 00002040: PUSH1 0x20 00002042: ADD 00002043: DUP5 00002044: DUP2 00002045: MSTORE 00002046: PUSH1 0x20 00002048: ADD 00002049: DUP4 0000204a: DUP2 0000204b: MSTORE 0000204c: PUSH1 0x20 0000204e: ADD 0000204f: DUP3 00002050: DUP2 00002051: MSTORE 00002052: PUSH1 0x20 00002054: ADD 00002055: SWAP5 00002056: POP 00002057: POP 00002058: POP 00002059: POP 0000205a: POP 0000205b: PUSH1 0x40 0000205d: MLOAD 0000205e: DUP1 0000205f: SWAP2 00002060: SUB 00002061: SWAP1 00002062: LOG1 00002063: POP 00002064: POP 00002065: POP 00002066: POP 00002067: JUMP 00002068: JUMPDEST 00002069: PUSH1 0x00 0000206b: DUP1 0000206c: PUSH1 0x00 0000206e: DUP1 0000206f: PUSH1 0x00 00002071: DUP1 00002072: PUSH1 0x00 00002074: DUP1 00002075: PUSH1 0x00 00002077: DUP1 00002078: PUSH2 0x2080 0000207b: DUP16 0000207c: PUSH2 0x2945 0000207f: JUMP 00002080: JUMPDEST 00002081: PUSH2 0x208b 00002084: DUP16 00002085: PUSH1 0x00 00002087: PUSH2 0x0c40 0000208a: JUMP 0000208b: JUMPDEST 0000208c: DUP14 0000208d: DUP16 0000208e: PUSH1 0x02 00002090: ADD 00002091: SLOAD 00002092: LT 00002093: DUP1 00002094: PUSH2 0x20a0 00002097: JUMPI 00002098: POP 00002099: DUP13 0000209a: DUP16 0000209b: PUSH1 0x03 0000209d: ADD 0000209e: SLOAD 0000209f: GT 000020a0: JUMPDEST 000020a1: SWAP10 000020a2: POP 000020a3: DUP14 000020a4: DUP16 000020a5: PUSH1 0x02 000020a7: ADD 000020a8: DUP2 000020a9: SWAP1 000020aa: SSTORE 000020ab: POP 000020ac: DUP13 000020ad: DUP16 000020ae: PUSH1 0x03 000020b0: ADD 000020b1: DUP2 000020b2: SWAP1 000020b3: SSTORE 000020b4: POP 000020b5: DUP12 000020b6: DUP16 000020b7: PUSH1 0x04 000020b9: ADD 000020ba: DUP2 000020bb: SWAP1 000020bc: SSTORE 000020bd: POP 000020be: PUSH2 0x20c6 000020c1: DUP16 000020c2: PUSH2 0x2fd3 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH32 0x81ed9d12804616ac7f219b046f48081f6f704a4bab03d58f911cc5c37d285fd9 000020e8: DUP15 000020e9: DUP15 000020ea: DUP15 000020eb: PUSH1 0x40 000020ed: MLOAD 000020ee: DUP1 000020ef: DUP5 000020f0: DUP2 000020f1: MSTORE 000020f2: PUSH1 0x20 000020f4: ADD 000020f5: DUP4 000020f6: DUP2 000020f7: MSTORE 000020f8: PUSH1 0x20 000020fa: ADD 000020fb: DUP3 000020fc: DUP2 000020fd: MSTORE 000020fe: PUSH1 0x20 00002100: ADD 00002101: SWAP4 00002102: POP 00002103: POP 00002104: POP 00002105: POP 00002106: PUSH1 0x40 00002108: MLOAD 00002109: DUP1 0000210a: SWAP2 0000210b: SUB 0000210c: SWAP1 0000210d: LOG1 0000210e: DUP10 0000210f: ISZERO 00002110: PUSH2 0x223c 00002113: JUMPI 00002114: PUSH1 0x00 00002116: SWAP9 00002117: POP 00002118: JUMPDEST 00002119: PUSH1 0x05 0000211b: DUP16 0000211c: ADD 0000211d: SLOAD 0000211e: DUP10 0000211f: LT 00002120: ISZERO 00002121: PUSH2 0x2237 00002124: JUMPI 00002125: PUSH1 0x05 00002127: DUP16 00002128: ADD 00002129: DUP1 0000212a: SLOAD 0000212b: DUP11 0000212c: SWAP1 0000212d: DUP2 0000212e: LT 0000212f: PUSH2 0x2134 00002132: JUMPI 00002133: INVALID 00002134: JUMPDEST 00002135: SWAP1 00002136: PUSH1 0x00 00002138: MSTORE 00002139: PUSH1 0x20 0000213b: PUSH1 0x00 0000213d: KECCAK256 0000213e: SWAP1 0000213f: ADD 00002140: PUSH1 0x00 00002142: SWAP1 00002143: SLOAD 00002144: SWAP1 00002145: PUSH2 0x0100 00002148: EXP 00002149: SWAP1 0000214a: DIV 0000214b: PUSH1 0x01 0000214d: PUSH1 0xa0 0000214f: PUSH1 0x02 00002151: EXP 00002152: SUB 00002153: AND 00002154: SWAP8 00002155: POP 00002156: DUP15 00002157: PUSH1 0x07 00002159: ADD 0000215a: PUSH1 0x00 0000215c: DUP10 0000215d: PUSH1 0x01 0000215f: PUSH1 0xa0 00002161: PUSH1 0x02 00002163: EXP 00002164: SUB 00002165: AND 00002166: PUSH1 0x01 00002168: PUSH1 0xa0 0000216a: PUSH1 0x02 0000216c: EXP 0000216d: SUB 0000216e: AND 0000216f: DUP2 00002170: MSTORE 00002171: PUSH1 0x20 00002173: ADD 00002174: SWAP1 00002175: DUP2 00002176: MSTORE 00002177: PUSH1 0x20 00002179: ADD 0000217a: PUSH1 0x00 0000217c: KECCAK256 0000217d: SWAP5 0000217e: POP 0000217f: DUP5 00002180: PUSH1 0x00 00002182: ADD 00002183: SLOAD 00002184: PUSH1 0x00 00002186: EQ 00002187: ISZERO 00002188: PUSH2 0x2190 0000218b: JUMPI 0000218c: PUSH2 0x222c 0000218f: JUMP 00002190: JUMPDEST 00002191: DUP5 00002192: SLOAD 00002193: PUSH1 0x01 00002195: DUP7 00002196: ADD 00002197: DUP1 00002198: SLOAD 00002199: SWAP1 0000219a: SWAP2 0000219b: ADD 0000219c: SWAP1 0000219d: SSTORE 0000219e: PUSH1 0x00 000021a0: DUP1 000021a1: DUP7 000021a2: SSTORE 000021a3: PUSH2 0x21b5 000021a6: SWAP1 000021a7: DUP16 000021a8: SWAP1 000021a9: DUP16 000021aa: SWAP1 000021ab: DUP16 000021ac: SWAP1 000021ad: DUP12 000021ae: SWAP1 000021af: DUP11 000021b0: SWAP1 000021b1: PUSH2 0x2f68 000021b4: JUMP 000021b5: JUMPDEST 000021b6: PUSH1 0x01 000021b8: DUP8 000021b9: ADD 000021ba: SSTORE 000021bb: DUP1 000021bc: DUP7 000021bd: SSTORE 000021be: PUSH1 0x00 000021c0: SWAP1 000021c1: GT 000021c2: ISZERO 000021c3: PUSH2 0x21d4 000021c6: JUMPI 000021c7: DUP5 000021c8: SLOAD 000021c9: SWAP7 000021ca: SWAP1 000021cb: SWAP7 000021cc: ADD 000021cd: SWAP6 000021ce: PUSH1 0x01 000021d0: SWAP1 000021d1: SWAP6 000021d2: ADD 000021d3: SWAP5 000021d4: JUMPDEST 000021d5: PUSH1 0x00 000021d7: DUP1 000021d8: MLOAD 000021d9: PUSH1 0x20 000021db: PUSH2 0x376d 000021de: DUP4 000021df: CODECOPY 000021e0: DUP2 000021e1: MLOAD 000021e2: SWAP2 000021e3: MSTORE 000021e4: DUP9 000021e5: DUP7 000021e6: PUSH1 0x01 000021e8: ADD 000021e9: SLOAD 000021ea: DUP8 000021eb: PUSH1 0x00 000021ed: ADD 000021ee: SLOAD 000021ef: DUP11 000021f0: PUSH1 0x40 000021f2: MLOAD 000021f3: DUP1 000021f4: DUP6 000021f5: PUSH1 0x01 000021f7: PUSH1 0xa0 000021f9: PUSH1 0x02 000021fb: EXP 000021fc: SUB 000021fd: AND 000021fe: PUSH1 0x01 00002200: PUSH1 0xa0 00002202: PUSH1 0x02 00002204: EXP 00002205: SUB 00002206: AND 00002207: DUP2 00002208: MSTORE 00002209: PUSH1 0x20 0000220b: ADD 0000220c: DUP5 0000220d: DUP2 0000220e: MSTORE 0000220f: PUSH1 0x20 00002211: ADD 00002212: DUP4 00002213: DUP2 00002214: MSTORE 00002215: PUSH1 0x20 00002217: ADD 00002218: DUP3 00002219: DUP2 0000221a: MSTORE 0000221b: PUSH1 0x20 0000221d: ADD 0000221e: SWAP5 0000221f: POP 00002220: POP 00002221: POP 00002222: POP 00002223: POP 00002224: PUSH1 0x40 00002226: MLOAD 00002227: DUP1 00002228: SWAP2 00002229: SUB 0000222a: SWAP1 0000222b: LOG1 0000222c: JUMPDEST 0000222d: PUSH1 0x01 0000222f: SWAP1 00002230: SWAP9 00002231: ADD 00002232: SWAP8 00002233: PUSH2 0x2118 00002236: JUMP 00002237: JUMPDEST 00002238: PUSH2 0x24ce 0000223b: JUMP 0000223c: JUMPDEST 0000223d: DUP15 0000223e: PUSH1 0x04 00002240: ADD 00002241: SLOAD 00002242: DUP16 00002243: PUSH1 0x08 00002245: ADD 00002246: SLOAD 00002247: GT 00002248: ISZERO 00002249: PUSH2 0x239f 0000224c: JUMPI 0000224d: DUP15 0000224e: PUSH1 0x08 00002250: ADD 00002251: SLOAD 00002252: SWAP7 00002253: POP 00002254: DUP15 00002255: PUSH1 0x0a 00002257: ADD 00002258: SLOAD 00002259: SWAP6 0000225a: POP 0000225b: PUSH1 0x01 0000225d: DUP16 0000225e: PUSH1 0x05 00002260: ADD 00002261: DUP1 00002262: SLOAD 00002263: SWAP1 00002264: POP 00002265: SUB 00002266: SWAP9 00002267: POP 00002268: JUMPDEST 00002269: PUSH1 0x00 0000226b: DUP10 0000226c: LT 0000226d: ISZERO 0000226e: DUP1 0000226f: ISZERO 00002270: PUSH2 0x2278 00002273: JUMPI 00002274: POP 00002275: DUP12 00002276: DUP8 00002277: GT 00002278: JUMPDEST 00002279: ISZERO 0000227a: PUSH2 0x2237 0000227d: JUMPI 0000227e: PUSH1 0x05 00002280: DUP16 00002281: ADD 00002282: DUP1 00002283: SLOAD 00002284: DUP11 00002285: SWAP1 00002286: DUP2 00002287: LT 00002288: PUSH2 0x228d 0000228b: JUMPI 0000228c: INVALID 0000228d: JUMPDEST 0000228e: SWAP1 0000228f: PUSH1 0x00 00002291: MSTORE 00002292: PUSH1 0x20 00002294: PUSH1 0x00 00002296: KECCAK256 00002297: SWAP1 00002298: ADD 00002299: PUSH1 0x00 0000229b: SWAP1 0000229c: SLOAD 0000229d: SWAP1 0000229e: PUSH2 0x0100 000022a1: EXP 000022a2: SWAP1 000022a3: DIV 000022a4: PUSH1 0x01 000022a6: PUSH1 0xa0 000022a8: PUSH1 0x02 000022aa: EXP 000022ab: SUB 000022ac: AND 000022ad: SWAP8 000022ae: POP 000022af: DUP15 000022b0: PUSH1 0x07 000022b2: ADD 000022b3: PUSH1 0x00 000022b5: DUP10 000022b6: PUSH1 0x01 000022b8: PUSH1 0xa0 000022ba: PUSH1 0x02 000022bc: EXP 000022bd: SUB 000022be: AND 000022bf: PUSH1 0x01 000022c1: PUSH1 0xa0 000022c3: PUSH1 0x02 000022c5: EXP 000022c6: SUB 000022c7: AND 000022c8: DUP2 000022c9: MSTORE 000022ca: PUSH1 0x20 000022cc: ADD 000022cd: SWAP1 000022ce: DUP2 000022cf: MSTORE 000022d0: PUSH1 0x20 000022d2: ADD 000022d3: PUSH1 0x00 000022d5: KECCAK256 000022d6: SWAP4 000022d7: POP 000022d8: DUP4 000022d9: PUSH1 0x00 000022db: ADD 000022dc: SLOAD 000022dd: PUSH1 0x00 000022df: EQ 000022e0: ISZERO 000022e1: PUSH2 0x22e9 000022e4: JUMPI 000022e5: PUSH2 0x2393 000022e8: JUMP 000022e9: JUMPDEST 000022ea: DUP4 000022eb: SLOAD 000022ec: PUSH1 0x01 000022ee: DUP6 000022ef: ADD 000022f0: DUP1 000022f1: SLOAD 000022f2: DUP3 000022f3: ADD 000022f4: SWAP1 000022f5: SSTORE 000022f6: PUSH1 0x00 000022f8: DUP6 000022f9: SSTORE 000022fa: SWAP1 000022fb: SWAP7 000022fc: SUB 000022fd: SWAP6 000022fe: PUSH1 0x00 00002300: NOT 00002301: SWAP6 00002302: SWAP1 00002303: SWAP6 00002304: ADD 00002305: SWAP5 00002306: DUP12 00002307: DUP8 00002308: LT 00002309: ISZERO 0000230a: PUSH2 0x233b 0000230d: JUMPI 0000230e: PUSH2 0x231c 00002311: DUP15 00002312: DUP15 00002313: DUP15 00002314: DUP11 00002315: DUP9 00002316: PUSH1 0x00 00002318: PUSH2 0x2f68 0000231b: JUMP 0000231c: JUMPDEST 0000231d: PUSH1 0x01 0000231f: DUP7 00002320: ADD 00002321: SSTORE 00002322: DUP1 00002323: DUP6 00002324: SSTORE 00002325: PUSH1 0x00 00002327: SWAP1 00002328: GT 00002329: ISZERO 0000232a: PUSH2 0x233b 0000232d: JUMPI 0000232e: DUP4 0000232f: SLOAD 00002330: SWAP7 00002331: SWAP1 00002332: SWAP7 00002333: ADD 00002334: SWAP6 00002335: PUSH1 0x01 00002337: SWAP1 00002338: SWAP6 00002339: ADD 0000233a: SWAP5 0000233b: JUMPDEST 0000233c: PUSH1 0x00 0000233e: DUP1 0000233f: MLOAD 00002340: PUSH1 0x20 00002342: PUSH2 0x376d 00002345: DUP4 00002346: CODECOPY 00002347: DUP2 00002348: MLOAD 00002349: SWAP2 0000234a: MSTORE 0000234b: DUP9 0000234c: DUP6 0000234d: PUSH1 0x01 0000234f: ADD 00002350: SLOAD 00002351: DUP7 00002352: PUSH1 0x00 00002354: ADD 00002355: SLOAD 00002356: DUP11 00002357: PUSH1 0x40 00002359: MLOAD 0000235a: DUP1 0000235b: DUP6 0000235c: PUSH1 0x01 0000235e: PUSH1 0xa0 00002360: PUSH1 0x02 00002362: EXP 00002363: SUB 00002364: AND 00002365: PUSH1 0x01 00002367: PUSH1 0xa0 00002369: PUSH1 0x02 0000236b: EXP 0000236c: SUB 0000236d: AND 0000236e: DUP2 0000236f: MSTORE 00002370: PUSH1 0x20 00002372: ADD 00002373: DUP5 00002374: DUP2 00002375: MSTORE 00002376: PUSH1 0x20 00002378: ADD 00002379: DUP4 0000237a: DUP2 0000237b: MSTORE 0000237c: PUSH1 0x20 0000237e: ADD 0000237f: DUP3 00002380: DUP2 00002381: MSTORE 00002382: PUSH1 0x20 00002384: ADD 00002385: SWAP5 00002386: POP 00002387: POP 00002388: POP 00002389: POP 0000238a: POP 0000238b: PUSH1 0x40 0000238d: MLOAD 0000238e: DUP1 0000238f: SWAP2 00002390: SUB 00002391: SWAP1 00002392: LOG1 00002393: JUMPDEST 00002394: PUSH1 0x00 00002396: NOT 00002397: SWAP1 00002398: SWAP9 00002399: ADD 0000239a: SWAP8 0000239b: PUSH2 0x2268 0000239e: JUMP 0000239f: JUMPDEST 000023a0: DUP15 000023a1: PUSH1 0x08 000023a3: ADD 000023a4: SLOAD 000023a5: SWAP7 000023a6: POP 000023a7: DUP15 000023a8: PUSH1 0x0a 000023aa: ADD 000023ab: SLOAD 000023ac: SWAP6 000023ad: POP 000023ae: PUSH1 0x00 000023b0: SWAP9 000023b1: POP 000023b2: JUMPDEST 000023b3: DUP11 000023b4: MLOAD 000023b5: DUP10 000023b6: LT 000023b7: ISZERO 000023b8: PUSH2 0x24ce 000023bb: JUMPI 000023bc: DUP11 000023bd: DUP10 000023be: DUP2 000023bf: MLOAD 000023c0: DUP2 000023c1: LT 000023c2: PUSH2 0x23c7 000023c5: JUMPI 000023c6: INVALID 000023c7: JUMPDEST 000023c8: SWAP1 000023c9: PUSH1 0x20 000023cb: ADD 000023cc: SWAP1 000023cd: PUSH1 0x20 000023cf: MUL 000023d0: ADD 000023d1: MLOAD 000023d2: SWAP8 000023d3: POP 000023d4: DUP15 000023d5: PUSH1 0x07 000023d7: ADD 000023d8: PUSH1 0x00 000023da: DUP10 000023db: PUSH1 0x01 000023dd: PUSH1 0xa0 000023df: PUSH1 0x02 000023e1: EXP 000023e2: SUB 000023e3: AND 000023e4: PUSH1 0x01 000023e6: PUSH1 0xa0 000023e8: PUSH1 0x02 000023ea: EXP 000023eb: SUB 000023ec: AND 000023ed: DUP2 000023ee: MSTORE 000023ef: PUSH1 0x20 000023f1: ADD 000023f2: SWAP1 000023f3: DUP2 000023f4: MSTORE 000023f5: PUSH1 0x20 000023f7: ADD 000023f8: PUSH1 0x00 000023fa: KECCAK256 000023fb: SWAP3 000023fc: POP 000023fd: PUSH2 0x2406 00002400: DUP16 00002401: DUP5 00002402: PUSH2 0x2f3f 00002405: JUMP 00002406: JUMPDEST 00002407: ISZERO 00002408: ISZERO 00002409: PUSH2 0x2411 0000240c: JUMPI 0000240d: PUSH2 0x24c3 00002410: JUMP 00002411: JUMPDEST 00002412: PUSH2 0x2420 00002415: DUP15 00002416: DUP15 00002417: DUP15 00002418: DUP11 00002419: DUP8 0000241a: PUSH1 0x00 0000241c: PUSH2 0x2f68 0000241f: JUMP 00002420: JUMPDEST 00002421: DUP5 00002422: SLOAD 00002423: SWAP1 00002424: SWAP9 00002425: SUB 00002426: DUP2 00002427: ADD 00002428: SWAP8 00002429: SWAP1 0000242a: SWAP3 0000242b: POP 0000242c: SWAP1 0000242d: POP 0000242e: PUSH1 0x00 00002430: DUP3 00002431: GT 00002432: DUP1 00002433: ISZERO 00002434: PUSH2 0x243c 00002437: JUMPI 00002438: POP 00002439: DUP3 0000243a: SLOAD 0000243b: ISZERO 0000243c: JUMPDEST 0000243d: ISZERO 0000243e: PUSH2 0x244c 00002441: JUMPI 00002442: PUSH1 0x01 00002444: SWAP1 00002445: SWAP6 00002446: ADD 00002447: SWAP5 00002448: PUSH2 0x2469 0000244b: JUMP 0000244c: JUMPDEST 0000244d: DUP2 0000244e: ISZERO 0000244f: DUP1 00002450: ISZERO 00002451: PUSH2 0x245c 00002454: JUMPI 00002455: POP 00002456: DUP3 00002457: SLOAD 00002458: PUSH1 0x00 0000245a: SWAP1 0000245b: GT 0000245c: JUMPDEST 0000245d: ISZERO 0000245e: PUSH2 0x2469 00002461: JUMPI 00002462: PUSH1 0x00 00002464: NOT 00002465: SWAP1 00002466: SWAP6 00002467: ADD 00002468: SWAP5 00002469: JUMPDEST 0000246a: PUSH1 0x01 0000246c: DUP4 0000246d: ADD 0000246e: DUP2 0000246f: SWAP1 00002470: SSTORE 00002471: DUP2 00002472: DUP4 00002473: SSTORE 00002474: PUSH1 0x00 00002476: DUP1 00002477: MLOAD 00002478: PUSH1 0x20 0000247a: PUSH2 0x376d 0000247d: DUP4 0000247e: CODECOPY 0000247f: DUP2 00002480: MLOAD 00002481: SWAP2 00002482: MSTORE 00002483: DUP9 00002484: DUP3 00002485: DUP5 00002486: DUP11 00002487: PUSH1 0x40 00002489: MLOAD 0000248a: DUP1 0000248b: DUP6 0000248c: PUSH1 0x01 0000248e: PUSH1 0xa0 00002490: PUSH1 0x02 00002492: EXP 00002493: SUB 00002494: AND 00002495: PUSH1 0x01 00002497: PUSH1 0xa0 00002499: PUSH1 0x02 0000249b: EXP 0000249c: SUB 0000249d: AND 0000249e: DUP2 0000249f: MSTORE 000024a0: PUSH1 0x20 000024a2: ADD 000024a3: DUP5 000024a4: DUP2 000024a5: MSTORE 000024a6: PUSH1 0x20 000024a8: ADD 000024a9: DUP4 000024aa: DUP2 000024ab: MSTORE 000024ac: PUSH1 0x20 000024ae: ADD 000024af: DUP3 000024b0: DUP2 000024b1: MSTORE 000024b2: PUSH1 0x20 000024b4: ADD 000024b5: SWAP5 000024b6: POP 000024b7: POP 000024b8: POP 000024b9: POP 000024ba: POP 000024bb: PUSH1 0x40 000024bd: MLOAD 000024be: DUP1 000024bf: SWAP2 000024c0: SUB 000024c1: SWAP1 000024c2: LOG1 000024c3: JUMPDEST 000024c4: PUSH1 0x01 000024c6: SWAP1 000024c7: SWAP9 000024c8: ADD 000024c9: SWAP8 000024ca: PUSH2 0x23b2 000024cd: JUMP 000024ce: JUMPDEST 000024cf: POP 000024d0: POP 000024d1: POP 000024d2: POP 000024d3: PUSH1 0x08 000024d5: DUP12 000024d6: ADD 000024d7: SWAP3 000024d8: SWAP1 000024d9: SWAP3 000024da: SSTORE 000024db: PUSH1 0x0a 000024dd: SWAP1 000024de: SWAP10 000024df: ADD 000024e0: SWAP9 000024e1: SWAP1 000024e2: SWAP9 000024e3: SSTORE 000024e4: POP 000024e5: POP 000024e6: POP 000024e7: POP 000024e8: POP 000024e9: POP 000024ea: POP 000024eb: POP 000024ec: JUMP 000024ed: JUMPDEST 000024ee: PUSH1 0x00 000024f0: DUP1 000024f1: PUSH1 0x00 000024f3: DUP1 000024f4: PUSH1 0x00 000024f6: DUP1 000024f7: PUSH1 0x00 000024f9: DUP1 000024fa: PUSH1 0x00 000024fc: PUSH2 0x2504 000024ff: DUP13 00002500: PUSH2 0x2945 00002503: JUMP 00002504: JUMPDEST 00002505: PUSH2 0x250f 00002508: DUP13 00002509: PUSH1 0x00 0000250b: PUSH2 0x0c40 0000250e: JUMP 0000250f: JUMPDEST 00002510: PUSH1 0x06 00002512: DUP13 00002513: ADD 00002514: SLOAD 00002515: PUSH1 0xff 00002517: AND 00002518: ISZERO 00002519: ISZERO 0000251a: PUSH2 0x2559 0000251d: JUMPI 0000251e: PUSH32 0xe5e5846f783279948f6ec5faad38318cde86fe5be7ea845ede56d62f16c37434 0000253f: PUSH1 0x40 00002541: MLOAD 00002542: PUSH1 0x40 00002544: MLOAD 00002545: DUP1 00002546: SWAP2 00002547: SUB 00002548: SWAP1 00002549: LOG1 0000254a: PUSH1 0x06 0000254c: DUP13 0000254d: ADD 0000254e: DUP1 0000254f: SLOAD 00002550: PUSH1 0xff 00002552: NOT 00002553: AND 00002554: PUSH1 0x01 00002556: OR 00002557: SWAP1 00002558: SSTORE 00002559: JUMPDEST 0000255a: DUP12 0000255b: PUSH1 0x02 0000255d: ADD 0000255e: SLOAD 0000255f: SWAP8 00002560: POP 00002561: DUP12 00002562: PUSH1 0x03 00002564: ADD 00002565: SLOAD 00002566: SWAP7 00002567: POP 00002568: DUP12 00002569: PUSH1 0x04 0000256b: ADD 0000256c: SLOAD 0000256d: SWAP6 0000256e: POP 0000256f: DUP12 00002570: PUSH1 0x08 00002572: ADD 00002573: SLOAD 00002574: SWAP5 00002575: POP 00002576: DUP12 00002577: PUSH1 0x0a 00002579: ADD 0000257a: SLOAD 0000257b: SWAP4 0000257c: POP 0000257d: PUSH1 0x00 0000257f: SWAP9 00002580: POP 00002581: JUMPDEST 00002582: DUP10 00002583: MLOAD 00002584: DUP10 00002585: LT 00002586: ISZERO 00002587: PUSH2 0x26a1 0000258a: JUMPI 0000258b: DUP10 0000258c: DUP10 0000258d: DUP2 0000258e: MLOAD 0000258f: DUP2 00002590: LT 00002591: PUSH2 0x2596 00002594: JUMPI 00002595: INVALID 00002596: JUMPDEST 00002597: SWAP1 00002598: PUSH1 0x20 0000259a: ADD 0000259b: SWAP1 0000259c: PUSH1 0x20 0000259e: MUL 0000259f: ADD 000025a0: MLOAD 000025a1: PUSH1 0x01 000025a3: PUSH1 0xa0 000025a5: PUSH1 0x02 000025a7: EXP 000025a8: SUB 000025a9: DUP2 000025aa: AND 000025ab: PUSH1 0x00 000025ad: SWAP1 000025ae: DUP2 000025af: MSTORE 000025b0: PUSH1 0x07 000025b2: DUP15 000025b3: ADD 000025b4: PUSH1 0x20 000025b6: MSTORE 000025b7: PUSH1 0x40 000025b9: SWAP1 000025ba: KECCAK256 000025bb: PUSH1 0x02 000025bd: DUP2 000025be: ADD 000025bf: SLOAD 000025c0: SWAP2 000025c1: SWAP5 000025c2: POP 000025c3: SWAP3 000025c4: POP 000025c5: PUSH2 0x0100 000025c8: SWAP1 000025c9: DIV 000025ca: PUSH1 0xff 000025cc: AND 000025cd: ISZERO 000025ce: PUSH2 0x2696 000025d1: JUMPI 000025d2: PUSH1 0x02 000025d4: DUP3 000025d5: ADD 000025d6: DUP1 000025d7: SLOAD 000025d8: PUSH2 0xff00 000025db: NOT 000025dc: AND 000025dd: SWAP1 000025de: SSTORE 000025df: PUSH32 0xcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757 00002600: DUP4 00002601: PUSH1 0x40 00002603: MLOAD 00002604: PUSH1 0x01 00002606: PUSH1 0xa0 00002608: PUSH1 0x02 0000260a: EXP 0000260b: SUB 0000260c: SWAP1 0000260d: SWAP2 0000260e: AND 0000260f: DUP2 00002610: MSTORE 00002611: PUSH1 0x20 00002613: ADD 00002614: PUSH1 0x40 00002616: MLOAD 00002617: DUP1 00002618: SWAP2 00002619: SUB 0000261a: SWAP1 0000261b: LOG1 0000261c: DUP2 0000261d: SLOAD 0000261e: PUSH1 0x00 00002620: SWAP1 00002621: GT 00002622: ISZERO 00002623: PUSH2 0x2696 00002626: JUMPI 00002627: DUP2 00002628: SLOAD 00002629: PUSH1 0x01 0000262b: DUP4 0000262c: ADD 0000262d: DUP1 0000262e: SLOAD 0000262f: DUP3 00002630: ADD 00002631: SWAP1 00002632: DUP2 00002633: SWAP1 00002634: SSTORE 00002635: PUSH1 0x00 00002637: DUP1 00002638: DUP6 00002639: SSTORE 0000263a: SWAP2 0000263b: SWAP1 0000263c: SWAP7 0000263d: SUB 0000263e: SWAP6 0000263f: PUSH1 0x00 00002641: NOT 00002642: SWAP1 00002643: SWAP6 00002644: ADD 00002645: SWAP5 00002646: PUSH1 0x00 00002648: DUP1 00002649: MLOAD 0000264a: PUSH1 0x20 0000264c: PUSH2 0x376d 0000264f: DUP4 00002650: CODECOPY 00002651: DUP2 00002652: MLOAD 00002653: SWAP2 00002654: MSTORE 00002655: SWAP2 00002656: DUP6 00002657: SWAP2 00002658: SWAP1 00002659: DUP9 0000265a: PUSH1 0x40 0000265c: MLOAD 0000265d: DUP1 0000265e: DUP6 0000265f: PUSH1 0x01 00002661: PUSH1 0xa0 00002663: PUSH1 0x02 00002665: EXP 00002666: SUB 00002667: AND 00002668: PUSH1 0x01 0000266a: PUSH1 0xa0 0000266c: PUSH1 0x02 0000266e: EXP 0000266f: SUB 00002670: AND 00002671: DUP2 00002672: MSTORE 00002673: PUSH1 0x20 00002675: ADD 00002676: DUP5 00002677: DUP2 00002678: MSTORE 00002679: PUSH1 0x20 0000267b: ADD 0000267c: DUP4 0000267d: DUP2 0000267e: MSTORE 0000267f: PUSH1 0x20 00002681: ADD 00002682: DUP3 00002683: DUP2 00002684: MSTORE 00002685: PUSH1 0x20 00002687: ADD 00002688: SWAP5 00002689: POP 0000268a: POP 0000268b: POP 0000268c: POP 0000268d: POP 0000268e: PUSH1 0x40 00002690: MLOAD 00002691: DUP1 00002692: SWAP2 00002693: SUB 00002694: SWAP1 00002695: LOG1 00002696: JUMPDEST 00002697: PUSH1 0x01 00002699: SWAP1 0000269a: SWAP9 0000269b: ADD 0000269c: SWAP8 0000269d: PUSH2 0x2581 000026a0: JUMP 000026a1: JUMPDEST 000026a2: PUSH1 0x00 000026a4: SWAP9 000026a5: POP 000026a6: JUMPDEST 000026a7: DUP11 000026a8: MLOAD 000026a9: DUP10 000026aa: LT 000026ab: ISZERO 000026ac: PUSH2 0x277e 000026af: JUMPI 000026b0: DUP11 000026b1: DUP10 000026b2: DUP2 000026b3: MLOAD 000026b4: DUP2 000026b5: LT 000026b6: PUSH2 0x26bb 000026b9: JUMPI 000026ba: INVALID 000026bb: JUMPDEST 000026bc: SWAP1 000026bd: PUSH1 0x20 000026bf: ADD 000026c0: SWAP1 000026c1: PUSH1 0x20 000026c3: MUL 000026c4: ADD 000026c5: MLOAD 000026c6: PUSH1 0x01 000026c8: PUSH1 0xa0 000026ca: PUSH1 0x02 000026cc: EXP 000026cd: SUB 000026ce: DUP2 000026cf: AND 000026d0: PUSH1 0x00 000026d2: SWAP1 000026d3: DUP2 000026d4: MSTORE 000026d5: PUSH1 0x07 000026d7: DUP15 000026d8: ADD 000026d9: PUSH1 0x20 000026db: MSTORE 000026dc: PUSH1 0x40 000026de: SWAP1 000026df: KECCAK256 000026e0: PUSH1 0x02 000026e2: DUP2 000026e3: ADD 000026e4: SLOAD 000026e5: SWAP2 000026e6: SWAP5 000026e7: POP 000026e8: SWAP2 000026e9: POP 000026ea: PUSH3 0x010000 000026ee: SWAP1 000026ef: DIV 000026f0: PUSH1 0xff 000026f2: AND 000026f3: ISZERO 000026f4: ISZERO 000026f5: PUSH2 0x2745 000026f8: JUMPI 000026f9: PUSH1 0x02 000026fb: DUP2 000026fc: ADD 000026fd: DUP1 000026fe: SLOAD 000026ff: PUSH3 0xff0000 00002703: NOT 00002704: AND 00002705: PUSH3 0x010000 00002709: OR 0000270a: SWAP1 0000270b: SSTORE 0000270c: PUSH1 0x05 0000270e: DUP13 0000270f: ADD 00002710: DUP1 00002711: SLOAD 00002712: PUSH1 0x01 00002714: DUP2 00002715: ADD 00002716: PUSH2 0x271f 00002719: DUP4 0000271a: DUP3 0000271b: PUSH2 0x32e0 0000271e: JUMP 0000271f: JUMPDEST 00002720: POP 00002721: PUSH1 0x00 00002723: SWAP2 00002724: DUP3 00002725: MSTORE 00002726: PUSH1 0x20 00002728: SWAP1 00002729: SWAP2 0000272a: KECCAK256 0000272b: ADD 0000272c: DUP1 0000272d: SLOAD 0000272e: PUSH1 0x01 00002730: PUSH1 0xa0 00002732: PUSH1 0x02 00002734: EXP 00002735: SUB 00002736: NOT 00002737: AND 00002738: PUSH1 0x01 0000273a: PUSH1 0xa0 0000273c: PUSH1 0x02 0000273e: EXP 0000273f: SUB 00002740: DUP6 00002741: AND 00002742: OR 00002743: SWAP1 00002744: SSTORE 00002745: JUMPDEST 00002746: PUSH1 0x01 00002748: PUSH1 0xa0 0000274a: PUSH1 0x02 0000274c: EXP 0000274d: SUB 0000274e: DUP4 0000274f: AND 00002750: PUSH1 0x00 00002752: SWAP1 00002753: DUP2 00002754: MSTORE 00002755: PUSH1 0x07 00002757: DUP14 00002758: ADD 00002759: PUSH1 0x20 0000275b: MSTORE 0000275c: PUSH1 0x40 0000275e: SWAP1 0000275f: KECCAK256 00002760: PUSH2 0x276e 00002763: SWAP1 00002764: DUP5 00002765: DUP11 00002766: DUP11 00002767: DUP11 00002768: DUP11 00002769: DUP11 0000276a: PUSH2 0x2971 0000276d: JUMP 0000276e: JUMPDEST 0000276f: PUSH1 0x01 00002771: SWAP1 00002772: SWAP11 00002773: ADD 00002774: SWAP10 00002775: SWAP1 00002776: SWAP6 00002777: POP 00002778: SWAP4 00002779: POP 0000277a: PUSH2 0x26a6 0000277d: JUMP 0000277e: JUMPDEST 0000277f: POP 00002780: POP 00002781: POP 00002782: PUSH1 0x08 00002784: DUP10 00002785: ADD 00002786: SWAP2 00002787: SWAP1 00002788: SWAP2 00002789: SSTORE 0000278a: PUSH1 0x0a 0000278c: SWAP1 0000278d: SWAP8 0000278e: ADD 0000278f: SWAP7 00002790: SWAP1 00002791: SWAP7 00002792: SSTORE 00002793: POP 00002794: POP 00002795: POP 00002796: POP 00002797: POP 00002798: POP 00002799: JUMP 0000279a: JUMPDEST 0000279b: PUSH1 0x64 0000279d: SWAP1 0000279e: JUMP 0000279f: JUMPDEST 000027a0: DUP2 000027a1: SLOAD 000027a2: PUSH1 0xff 000027a4: AND 000027a5: PUSH1 0x00 000027a7: DUP1 000027a8: DUP1 000027a9: DUP1 000027aa: DUP1 000027ab: DUP1 000027ac: DUP1 000027ad: PUSH1 0x03 000027af: DUP9 000027b0: PUSH1 0x03 000027b2: DUP2 000027b3: GT 000027b4: ISZERO 000027b5: PUSH2 0x27ba 000027b8: JUMPI 000027b9: INVALID 000027ba: JUMPDEST 000027bb: EQ 000027bc: DUP1 000027bd: PUSH2 0x27d1 000027c0: JUMPI 000027c1: POP 000027c2: PUSH1 0x01 000027c4: DUP9 000027c5: PUSH1 0x03 000027c7: DUP2 000027c8: GT 000027c9: ISZERO 000027ca: PUSH2 0x27cf 000027cd: JUMPI 000027ce: INVALID 000027cf: JUMPDEST 000027d0: EQ 000027d1: JUMPDEST 000027d2: DUP1 000027d3: PUSH2 0x27e7 000027d6: JUMPI 000027d7: POP 000027d8: PUSH1 0x02 000027da: DUP9 000027db: PUSH1 0x03 000027dd: DUP2 000027de: GT 000027df: ISZERO 000027e0: PUSH2 0x27e5 000027e3: JUMPI 000027e4: INVALID 000027e5: JUMPDEST 000027e6: EQ 000027e7: JUMPDEST 000027e8: ISZERO 000027e9: ISZERO 000027ea: PUSH2 0x27f2 000027ed: JUMPI 000027ee: PUSH1 0x00 000027f0: DUP1 000027f1: REVERT 000027f2: JUMPDEST 000027f3: PUSH1 0x00 000027f5: SWAP7 000027f6: POP 000027f7: PUSH1 0x02 000027f9: DUP9 000027fa: PUSH1 0x03 000027fc: DUP2 000027fd: GT 000027fe: ISZERO 000027ff: PUSH2 0x2804 00002802: JUMPI 00002803: INVALID 00002804: JUMPDEST 00002805: EQ 00002806: ISZERO 00002807: PUSH2 0x2864 0000280a: JUMPI 0000280b: PUSH1 0x10 0000280d: DUP11 0000280e: ADD 0000280f: SLOAD 00002810: PUSH1 0x01 00002812: PUSH1 0xa0 00002814: PUSH1 0x02 00002816: EXP 00002817: SUB 00002818: AND 00002819: PUSH4 0x9592619c 0000281e: PUSH1 0x40 00002820: MLOAD 00002821: DUP2 00002822: PUSH4 0xffffffff 00002827: AND 00002828: PUSH1 0xe0 0000282a: PUSH1 0x02 0000282c: EXP 0000282d: MUL 0000282e: DUP2 0000282f: MSTORE 00002830: PUSH1 0x04 00002832: ADD 00002833: PUSH1 0x20 00002835: PUSH1 0x40 00002837: MLOAD 00002838: DUP1 00002839: DUP4 0000283a: SUB 0000283b: DUP2 0000283c: PUSH1 0x00 0000283e: DUP8 0000283f: DUP1 00002840: EXTCODESIZE 00002841: ISZERO 00002842: ISZERO 00002843: PUSH2 0x284b 00002846: JUMPI 00002847: PUSH1 0x00 00002849: DUP1 0000284a: REVERT 0000284b: JUMPDEST 0000284c: GAS 0000284d: CALL 0000284e: ISZERO 0000284f: ISZERO 00002850: PUSH2 0x2858 00002853: JUMPI 00002854: PUSH1 0x00 00002856: DUP1 00002857: REVERT 00002858: JUMPDEST 00002859: POP 0000285a: POP 0000285b: POP 0000285c: PUSH1 0x40 0000285e: MLOAD 0000285f: DUP1 00002860: MLOAD 00002861: SWAP8 00002862: POP 00002863: POP 00002864: JUMPDEST 00002865: PUSH2 0x2879 00002868: PUSH5 0x09502f9000 0000286e: PUSH1 0x01 00002870: DUP13 00002871: PUSH1 0x11 00002873: ADD 00002874: SLOAD 00002875: PUSH2 0x293a 00002878: JUMP 00002879: JUMPDEST 0000287a: PUSH1 0x08 0000287c: DUP12 0000287d: ADD 0000287e: SLOAD 0000287f: PUSH1 0x0a 00002881: DUP13 00002882: ADD 00002883: SLOAD 00002884: PUSH1 0x09 00002886: DUP14 00002887: ADD 00002888: SLOAD 00002889: PUSH1 0x0f 0000288b: DUP15 0000288c: ADD 0000288d: SLOAD 0000288e: SWAP4 0000288f: SWAP10 00002890: POP 00002891: SWAP2 00002892: SWAP8 00002893: POP 00002894: PUSH8 0x0de0b6b3a7640000 0000289d: DUP11 0000289e: DUP10 0000289f: MUL 000028a0: DIV 000028a1: SWAP7 000028a2: POP 000028a3: DUP9 000028a4: MUL 000028a5: DUP7 000028a6: DUP9 000028a7: SUB 000028a8: SUB 000028a9: SWAP5 000028aa: POP 000028ab: SWAP3 000028ac: POP 000028ad: PUSH1 0x01 000028af: PUSH1 0xa0 000028b1: PUSH1 0x02 000028b3: EXP 000028b4: SUB 000028b5: AND 000028b6: ISZERO 000028b7: ISZERO 000028b8: PUSH2 0x28c0 000028bb: JUMPI 000028bc: SWAP1 000028bd: DUP4 000028be: ADD 000028bf: SWAP1 000028c0: JUMPDEST 000028c1: POP 000028c2: PUSH1 0x00 000028c4: JUMPDEST 000028c5: DUP9 000028c6: MLOAD 000028c7: DUP2 000028c8: LT 000028c9: ISZERO 000028ca: PUSH2 0x1d4d 000028cd: JUMPI 000028ce: PUSH2 0x28fc 000028d1: DUP11 000028d2: DUP11 000028d3: DUP4 000028d4: DUP2 000028d5: MLOAD 000028d6: DUP2 000028d7: LT 000028d8: PUSH2 0x28dd 000028db: JUMPI 000028dc: INVALID 000028dd: JUMPDEST 000028de: SWAP1 000028df: PUSH1 0x20 000028e1: ADD 000028e2: SWAP1 000028e3: PUSH1 0x20 000028e5: MUL 000028e6: ADD 000028e7: MLOAD 000028e8: DUP10 000028e9: DUP10 000028ea: DUP7 000028eb: ADDRESS 000028ec: PUSH1 0x01 000028ee: PUSH1 0xa0 000028f0: PUSH1 0x02 000028f2: EXP 000028f3: SUB 000028f4: AND 000028f5: BALANCE 000028f6: SUB 000028f7: DUP9 000028f8: PUSH2 0x2df7 000028fb: JUMP 000028fc: JUMPDEST 000028fd: PUSH1 0x01 000028ff: ADD 00002900: PUSH2 0x28c4 00002903: JUMP 00002904: JUMPDEST 00002905: PUSH1 0x02 00002907: DUP2 00002908: SLOAD 00002909: PUSH1 0xff 0000290b: AND 0000290c: PUSH1 0x03 0000290e: DUP2 0000290f: GT 00002910: ISZERO 00002911: PUSH2 0x2916 00002914: JUMPI 00002915: INVALID 00002916: JUMPDEST 00002917: EQ 00002918: DUP1 00002919: ISZERO 0000291a: PUSH2 0x292f 0000291d: JUMPI 0000291e: POP 0000291f: PUSH1 0x0f 00002921: DUP2 00002922: ADD 00002923: SLOAD 00002924: PUSH1 0x01 00002926: PUSH1 0xa0 00002928: PUSH1 0x02 0000292a: EXP 0000292b: SUB 0000292c: AND 0000292d: ISZERO 0000292e: ISZERO 0000292f: JUMPDEST 00002930: ISZERO 00002931: ISZERO 00002932: PUSH2 0x095a 00002935: JUMPI 00002936: PUSH1 0x00 00002938: DUP1 00002939: REVERT 0000293a: JUMPDEST 0000293b: SWAP2 0000293c: MUL 0000293d: MUL 0000293e: PUSH3 0x0249f0 00002942: MUL 00002943: SWAP1 00002944: JUMP 00002945: JUMPDEST 00002946: PUSH1 0x01 00002948: PUSH1 0xa0 0000294a: PUSH1 0x02 0000294c: EXP 0000294d: SUB 0000294e: CALLER 0000294f: AND 00002950: PUSH1 0x00 00002952: SWAP1 00002953: DUP2 00002954: MSTORE 00002955: PUSH1 0x07 00002957: DUP3 00002958: ADD 00002959: PUSH1 0x20 0000295b: MSTORE 0000295c: PUSH1 0x40 0000295e: SWAP1 0000295f: KECCAK256 00002960: PUSH1 0x02 00002962: ADD 00002963: SLOAD 00002964: PUSH1 0xff 00002966: AND 00002967: ISZERO 00002968: ISZERO 00002969: PUSH2 0x095a 0000296c: JUMPI 0000296d: PUSH1 0x00 0000296f: DUP1 00002970: REVERT 00002971: JUMPDEST 00002972: PUSH1 0x02 00002974: DUP8 00002975: ADD 00002976: SLOAD 00002977: PUSH1 0x00 00002979: SWAP1 0000297a: DUP2 0000297b: SWAP1 0000297c: DUP5 0000297d: SWAP1 0000297e: DUP5 0000297f: SWAP1 00002980: PUSH2 0x0100 00002983: SWAP1 00002984: DIV 00002985: PUSH1 0xff 00002987: AND 00002988: ISZERO 00002989: PUSH2 0x2997 0000298c: JUMPI 0000298d: DUP2 0000298e: DUP2 0000298f: SWAP4 00002990: POP 00002991: SWAP4 00002992: POP 00002993: PUSH2 0x2a82 00002996: JUMP 00002997: JUMPDEST 00002998: PUSH1 0x02 0000299a: DUP12 0000299b: ADD 0000299c: DUP1 0000299d: SLOAD 0000299e: PUSH2 0xff00 000029a1: NOT 000029a2: AND 000029a3: PUSH2 0x0100 000029a6: OR 000029a7: SWAP1 000029a8: SSTORE 000029a9: PUSH32 0x674271b83e1561ba88b26ca5a95180118599dc82d6471b22c805590ef85924e8 000029ca: DUP11 000029cb: PUSH1 0x40 000029cd: MLOAD 000029ce: PUSH1 0x01 000029d0: PUSH1 0xa0 000029d2: PUSH1 0x02 000029d4: EXP 000029d5: SUB 000029d6: SWAP1 000029d7: SWAP2 000029d8: AND 000029d9: DUP2 000029da: MSTORE 000029db: PUSH1 0x20 000029dd: ADD 000029de: PUSH1 0x40 000029e0: MLOAD 000029e1: DUP1 000029e2: SWAP2 000029e3: SUB 000029e4: SWAP1 000029e5: LOG1 000029e6: PUSH1 0x01 000029e8: DUP12 000029e9: ADD 000029ea: SLOAD 000029eb: ISZERO 000029ec: ISZERO 000029ed: PUSH2 0x29fb 000029f0: JUMPI 000029f1: DUP2 000029f2: DUP2 000029f3: SWAP4 000029f4: POP 000029f5: SWAP4 000029f6: POP 000029f7: PUSH2 0x2a82 000029fa: JUMP 000029fb: JUMPDEST 000029fc: PUSH2 0x2a0a 000029ff: DUP10 00002a00: DUP10 00002a01: DUP10 00002a02: DUP6 00002a03: DUP16 00002a04: PUSH1 0x00 00002a06: PUSH2 0x2f68 00002a09: JUMP 00002a0a: JUMPDEST 00002a0b: PUSH1 0x01 00002a0d: DUP14 00002a0e: ADD 00002a0f: SSTORE 00002a10: DUP1 00002a11: DUP13 00002a12: SSTORE 00002a13: PUSH1 0x00 00002a15: SWAP1 00002a16: GT 00002a17: ISZERO 00002a18: PUSH2 0x2a7b 00002a1b: JUMPI 00002a1c: DUP11 00002a1d: SLOAD 00002a1e: PUSH1 0x01 00002a20: DUP13 00002a21: DUP2 00002a22: ADD 00002a23: SLOAD 00002a24: SWAP4 00002a25: DUP3 00002a26: ADD 00002a27: SWAP4 00002a28: SWAP3 00002a29: ADD 00002a2a: SWAP2 00002a2b: PUSH1 0x00 00002a2d: DUP1 00002a2e: MLOAD 00002a2f: PUSH1 0x20 00002a31: PUSH2 0x376d 00002a34: DUP4 00002a35: CODECOPY 00002a36: DUP2 00002a37: MLOAD 00002a38: SWAP2 00002a39: MSTORE 00002a3a: SWAP2 00002a3b: DUP13 00002a3c: SWAP2 00002a3d: SWAP1 00002a3e: DUP6 00002a3f: PUSH1 0x40 00002a41: MLOAD 00002a42: DUP1 00002a43: DUP6 00002a44: PUSH1 0x01 00002a46: PUSH1 0xa0 00002a48: PUSH1 0x02 00002a4a: EXP 00002a4b: SUB 00002a4c: AND 00002a4d: PUSH1 0x01 00002a4f: PUSH1 0xa0 00002a51: PUSH1 0x02 00002a53: EXP 00002a54: SUB 00002a55: AND 00002a56: DUP2 00002a57: MSTORE 00002a58: PUSH1 0x20 00002a5a: ADD 00002a5b: DUP5 00002a5c: DUP2 00002a5d: MSTORE 00002a5e: PUSH1 0x20 00002a60: ADD 00002a61: DUP4 00002a62: DUP2 00002a63: MSTORE 00002a64: PUSH1 0x20 00002a66: ADD 00002a67: DUP3 00002a68: DUP2 00002a69: MSTORE 00002a6a: PUSH1 0x20 00002a6c: ADD 00002a6d: SWAP5 00002a6e: POP 00002a6f: POP 00002a70: POP 00002a71: POP 00002a72: POP 00002a73: PUSH1 0x40 00002a75: MLOAD 00002a76: DUP1 00002a77: SWAP2 00002a78: SUB 00002a79: SWAP1 00002a7a: LOG1 00002a7b: JUMPDEST 00002a7c: DUP2 00002a7d: DUP2 00002a7e: SWAP4 00002a7f: POP 00002a80: SWAP4 00002a81: POP 00002a82: JUMPDEST 00002a83: POP 00002a84: POP 00002a85: SWAP8 00002a86: POP 00002a87: SWAP8 00002a88: SWAP6 00002a89: POP 00002a8a: POP 00002a8b: POP 00002a8c: POP 00002a8d: POP 00002a8e: POP 00002a8f: JUMP 00002a90: JUMPDEST 00002a91: PUSH1 0x00 00002a93: DUP6 00002a94: DUP1 00002a95: ISZERO 00002a96: ISZERO 00002a97: PUSH2 0x2aa3 00002a9a: JUMPI 00002a9b: PUSH1 0x00 00002a9d: SWAP2 00002a9e: POP 00002a9f: PUSH2 0x2aea 00002aa2: JUMP 00002aa3: JUMPDEST 00002aa4: PUSH1 0x00 00002aa6: DUP7 00002aa7: GT 00002aa8: ISZERO 00002aa9: PUSH2 0x2abc 00002aac: JUMPI 00002aad: PUSH8 0x0de0b6b3a7640000 00002ab6: DUP2 00002ab7: DUP8 00002ab8: MUL 00002ab9: DIV 00002aba: SWAP1 00002abb: SUB 00002abc: JUMPDEST 00002abd: DUP5 00002abe: SWAP1 00002abf: SUB 00002ac0: PUSH2 0x2ae7 00002ac3: DUP9 00002ac4: DUP6 00002ac5: PUSH1 0x40 00002ac7: DUP1 00002ac8: MLOAD 00002ac9: SWAP1 00002aca: DUP2 00002acb: ADD 00002acc: PUSH1 0x40 00002ace: MSTORE 00002acf: DUP5 00002ad0: DUP2 00002ad1: MSTORE 00002ad2: PUSH1 0x20 00002ad4: DUP2 00002ad5: ADD 00002ad6: DUP8 00002ad7: SWAP1 00002ad8: MSTORE 00002ad9: DUP13 00002ada: SWAP3 00002adb: SWAP2 00002adc: SWAP1 00002add: PUSH4 0xffffffff 00002ae2: PUSH2 0x305a 00002ae5: AND 00002ae6: JUMP 00002ae7: JUMPDEST 00002ae8: SWAP2 00002ae9: POP 00002aea: JUMPDEST 00002aeb: POP 00002aec: SWAP8 00002aed: SWAP7 00002aee: POP 00002aef: POP 00002af0: POP 00002af1: POP 00002af2: POP 00002af3: POP 00002af4: POP 00002af5: JUMP 00002af6: JUMPDEST 00002af7: PUSH1 0x00 00002af9: DUP2 00002afa: DUP2 00002afb: DUP1 00002afc: DUP6 00002afd: GT 00002afe: ISZERO 00002aff: PUSH2 0x2bf3 00002b02: JUMPI 00002b03: DUP5 00002b04: DUP3 00002b05: SUB 00002b06: SWAP2 00002b07: POP 00002b08: DUP7 00002b09: PUSH1 0x01 00002b0b: PUSH1 0xa0 00002b0d: PUSH1 0x02 00002b0f: EXP 00002b10: SUB 00002b11: AND 00002b12: PUSH4 0xa9059cbb 00002b17: DUP8 00002b18: DUP8 00002b19: PUSH1 0x40 00002b1b: MLOAD 00002b1c: PUSH1 0xe0 00002b1e: PUSH1 0x02 00002b20: EXP 00002b21: PUSH4 0xffffffff 00002b26: DUP6 00002b27: AND 00002b28: MUL 00002b29: DUP2 00002b2a: MSTORE 00002b2b: PUSH1 0x01 00002b2d: PUSH1 0xa0 00002b2f: PUSH1 0x02 00002b31: EXP 00002b32: SUB 00002b33: SWAP1 00002b34: SWAP3 00002b35: AND 00002b36: PUSH1 0x04 00002b38: DUP4 00002b39: ADD 00002b3a: MSTORE 00002b3b: PUSH1 0x24 00002b3d: DUP3 00002b3e: ADD 00002b3f: MSTORE 00002b40: PUSH1 0x44 00002b42: ADD 00002b43: PUSH1 0x20 00002b45: PUSH1 0x40 00002b47: MLOAD 00002b48: DUP1 00002b49: DUP4 00002b4a: SUB 00002b4b: DUP2 00002b4c: PUSH1 0x00 00002b4e: DUP8 00002b4f: DUP1 00002b50: EXTCODESIZE 00002b51: ISZERO 00002b52: ISZERO 00002b53: PUSH2 0x2b5b 00002b56: JUMPI 00002b57: PUSH1 0x00 00002b59: DUP1 00002b5a: REVERT 00002b5b: JUMPDEST 00002b5c: GAS 00002b5d: CALL 00002b5e: ISZERO 00002b5f: ISZERO 00002b60: PUSH2 0x2b68 00002b63: JUMPI 00002b64: PUSH1 0x00 00002b66: DUP1 00002b67: REVERT 00002b68: JUMPDEST 00002b69: POP 00002b6a: POP 00002b6b: POP 00002b6c: PUSH1 0x40 00002b6e: MLOAD 00002b6f: DUP1 00002b70: MLOAD 00002b71: SWAP2 00002b72: POP 00002b73: POP 00002b74: DUP1 00002b75: ISZERO 00002b76: ISZERO 00002b77: PUSH2 0x2b91 00002b7a: JUMPI 00002b7b: PUSH2 0x2b8b 00002b7e: DUP9 00002b7f: DUP8 00002b80: DUP8 00002b81: PUSH4 0xffffffff 00002b86: PUSH2 0x30d8 00002b89: AND 00002b8a: JUMP 00002b8b: JUMPDEST 00002b8c: POP 00002b8d: SWAP1 00002b8e: DUP5 00002b8f: ADD 00002b90: SWAP1 00002b91: JUMPDEST 00002b92: PUSH32 0x92f60d5ba7fa0cbaae3ecdbd464cc4c53e7fc7d32c0086dc39b86da20e262a67 00002bb3: DUP8 00002bb4: DUP8 00002bb5: DUP8 00002bb6: DUP5 00002bb7: DUP7 00002bb8: PUSH1 0x40 00002bba: MLOAD 00002bbb: PUSH1 0x01 00002bbd: PUSH1 0xa0 00002bbf: PUSH1 0x02 00002bc1: EXP 00002bc2: SUB 00002bc3: SWAP6 00002bc4: DUP7 00002bc5: AND 00002bc6: DUP2 00002bc7: MSTORE 00002bc8: SWAP4 00002bc9: SWAP1 00002bca: SWAP5 00002bcb: AND 00002bcc: PUSH1 0x20 00002bce: DUP5 00002bcf: ADD 00002bd0: MSTORE 00002bd1: PUSH1 0x40 00002bd3: DUP1 00002bd4: DUP5 00002bd5: ADD 00002bd6: SWAP3 00002bd7: SWAP1 00002bd8: SWAP3 00002bd9: MSTORE 00002bda: ISZERO 00002bdb: ISZERO 00002bdc: PUSH1 0x60 00002bde: DUP4 00002bdf: ADD 00002be0: MSTORE 00002be1: PUSH1 0x80 00002be3: DUP3 00002be4: ADD 00002be5: SWAP3 00002be6: SWAP1 00002be7: SWAP3 00002be8: MSTORE 00002be9: PUSH1 0xa0 00002beb: ADD 00002bec: SWAP1 00002bed: MLOAD 00002bee: DUP1 00002bef: SWAP2 00002bf0: SUB 00002bf1: SWAP1 00002bf2: LOG1 00002bf3: JUMPDEST 00002bf4: POP 00002bf5: SWAP7 00002bf6: SWAP6 00002bf7: POP 00002bf8: POP 00002bf9: POP 00002bfa: POP 00002bfb: POP 00002bfc: POP 00002bfd: JUMP 00002bfe: JUMPDEST 00002bff: PUSH1 0x00 00002c01: DUP1 00002c02: DUP4 00002c03: PUSH1 0x09 00002c05: ADD 00002c06: SLOAD 00002c07: PUSH1 0x00 00002c09: EQ 00002c0a: ISZERO 00002c0b: PUSH2 0x2c13 00002c0e: JUMPI 00002c0f: PUSH2 0x09a3 00002c12: JUMP 00002c13: JUMPDEST 00002c14: POP 00002c15: POP 00002c16: PUSH1 0x01 00002c18: PUSH1 0xa0 00002c1a: PUSH1 0x02 00002c1c: EXP 00002c1d: SUB 00002c1e: DUP2 00002c1f: AND 00002c20: PUSH1 0x00 00002c22: SWAP1 00002c23: DUP2 00002c24: MSTORE 00002c25: PUSH1 0x07 00002c27: DUP4 00002c28: ADD 00002c29: PUSH1 0x20 00002c2b: MSTORE 00002c2c: PUSH1 0x40 00002c2e: SWAP1 00002c2f: KECCAK256 00002c30: PUSH1 0x01 00002c32: DUP2 00002c33: ADD 00002c34: SLOAD 00002c35: DUP1 00002c36: ISZERO 00002c37: ISZERO 00002c38: PUSH2 0x2c40 00002c3b: JUMPI 00002c3c: PUSH2 0x09a3 00002c3f: JUMP 00002c40: JUMPDEST 00002c41: PUSH1 0x00 00002c43: DUP1 00002c44: MLOAD 00002c45: PUSH1 0x20 00002c47: PUSH2 0x374d 00002c4a: DUP4 00002c4b: CODECOPY 00002c4c: DUP2 00002c4d: MLOAD 00002c4e: SWAP2 00002c4f: MSTORE 00002c50: DUP4 00002c51: DUP3 00002c52: PUSH1 0x00 00002c54: DUP6 00002c55: PUSH1 0x00 00002c57: ADD 00002c58: SLOAD 00002c59: DUP9 00002c5a: PUSH1 0x08 00002c5c: ADD 00002c5d: SLOAD 00002c5e: PUSH1 0x40 00002c60: MLOAD 00002c61: PUSH1 0x01 00002c63: PUSH1 0xa0 00002c65: PUSH1 0x02 00002c67: EXP 00002c68: SUB 00002c69: SWAP1 00002c6a: SWAP6 00002c6b: AND 00002c6c: DUP6 00002c6d: MSTORE 00002c6e: PUSH1 0x20 00002c70: DUP6 00002c71: ADD 00002c72: SWAP4 00002c73: SWAP1 00002c74: SWAP4 00002c75: MSTORE 00002c76: PUSH1 0x40 00002c78: DUP1 00002c79: DUP6 00002c7a: ADD 00002c7b: SWAP3 00002c7c: SWAP1 00002c7d: SWAP3 00002c7e: MSTORE 00002c7f: PUSH1 0x60 00002c81: DUP5 00002c82: ADD 00002c83: MSTORE 00002c84: PUSH1 0x80 00002c86: DUP4 00002c87: ADD 00002c88: SWAP2 00002c89: SWAP1 00002c8a: SWAP2 00002c8b: MSTORE 00002c8c: PUSH1 0xa0 00002c8e: SWAP1 00002c8f: SWAP2 00002c90: ADD 00002c91: SWAP1 00002c92: MLOAD 00002c93: DUP1 00002c94: SWAP2 00002c95: SUB 00002c96: SWAP1 00002c97: LOG1 00002c98: PUSH1 0x09 00002c9a: DUP5 00002c9b: ADD 00002c9c: DUP1 00002c9d: SLOAD 00002c9e: DUP3 00002c9f: SWAP1 00002ca0: SUB 00002ca1: SWAP1 00002ca2: SSTORE 00002ca3: PUSH1 0x00 00002ca5: PUSH1 0x01 00002ca7: DUP4 00002ca8: ADD 00002ca9: SSTORE 00002caa: PUSH1 0x01 00002cac: PUSH1 0xa0 00002cae: PUSH1 0x02 00002cb0: EXP 00002cb1: SUB 00002cb2: DUP4 00002cb3: AND 00002cb4: DUP2 00002cb5: ISZERO 00002cb6: PUSH2 0x08fc 00002cb9: MUL 00002cba: DUP3 00002cbb: PUSH1 0x40 00002cbd: MLOAD 00002cbe: PUSH1 0x00 00002cc0: PUSH1 0x40 00002cc2: MLOAD 00002cc3: DUP1 00002cc4: DUP4 00002cc5: SUB 00002cc6: DUP2 00002cc7: DUP6 00002cc8: DUP9 00002cc9: DUP9 00002cca: CALL 00002ccb: SWAP4 00002ccc: POP 00002ccd: POP 00002cce: POP 00002ccf: POP 00002cd0: ISZERO 00002cd1: ISZERO 00002cd2: PUSH2 0x09a3 00002cd5: JUMPI 00002cd6: PUSH1 0x00 00002cd8: DUP1 00002cd9: REVERT 00002cda: JUMPDEST 00002cdb: PUSH1 0x00 00002cdd: PUSH2 0x2ce5 00002ce0: DUP3 00002ce1: PUSH2 0x312b 00002ce4: JUMP 00002ce5: JUMPDEST 00002ce6: SWAP1 00002ce7: POP 00002ce8: PUSH1 0x00 00002cea: DUP2 00002ceb: GT 00002cec: ISZERO 00002ced: PUSH2 0x0667 00002cf0: JUMPI 00002cf1: PUSH32 0xedf65eaee3dbef3a7958f7552630d21d9acdcf3f7ba543fba28952a9109ba735 00002d12: PUSH1 0x40 00002d14: MLOAD 00002d15: PUSH1 0x40 00002d17: MLOAD 00002d18: DUP1 00002d19: SWAP2 00002d1a: SUB 00002d1b: SWAP1 00002d1c: LOG1 00002d1d: PUSH1 0x10 00002d1f: DUP3 00002d20: ADD 00002d21: SLOAD 00002d22: PUSH1 0x01 00002d24: PUSH1 0xa0 00002d26: PUSH1 0x02 00002d28: EXP 00002d29: SUB 00002d2a: AND 00002d2b: PUSH4 0x9413f25c 00002d30: ADDRESS 00002d31: PUSH1 0x40 00002d33: MLOAD 00002d34: PUSH1 0xe0 00002d36: PUSH1 0x02 00002d38: EXP 00002d39: PUSH4 0xffffffff 00002d3e: DUP5 00002d3f: AND 00002d40: MUL 00002d41: DUP2 00002d42: MSTORE 00002d43: PUSH1 0x01 00002d45: PUSH1 0xa0 00002d47: PUSH1 0x02 00002d49: EXP 00002d4a: SUB 00002d4b: SWAP1 00002d4c: SWAP2 00002d4d: AND 00002d4e: PUSH1 0x04 00002d50: DUP3 00002d51: ADD 00002d52: MSTORE 00002d53: PUSH1 0x24 00002d55: ADD 00002d56: PUSH1 0x00 00002d58: PUSH1 0x40 00002d5a: MLOAD 00002d5b: DUP1 00002d5c: DUP4 00002d5d: SUB 00002d5e: DUP2 00002d5f: PUSH1 0x00 00002d61: DUP8 00002d62: DUP1 00002d63: EXTCODESIZE 00002d64: ISZERO 00002d65: ISZERO 00002d66: PUSH2 0x2d6e 00002d69: JUMPI 00002d6a: PUSH1 0x00 00002d6c: DUP1 00002d6d: REVERT 00002d6e: JUMPDEST 00002d6f: GAS 00002d70: CALL 00002d71: ISZERO 00002d72: ISZERO 00002d73: PUSH2 0x0a77 00002d76: JUMPI 00002d77: PUSH1 0x00 00002d79: DUP1 00002d7a: REVERT 00002d7b: JUMPDEST 00002d7c: DUP2 00002d7d: SLOAD 00002d7e: PUSH32 0xfa441dfe95ea7994c16c2c9120482b6fe0888963d94853674dde4d7a7c105827 00002d9f: SWAP1 00002da0: PUSH1 0xff 00002da2: AND 00002da3: PUSH1 0x03 00002da5: DUP2 00002da6: GT 00002da7: ISZERO 00002da8: PUSH2 0x2dad 00002dab: JUMPI 00002dac: INVALID 00002dad: JUMPDEST 00002dae: DUP3 00002daf: PUSH1 0x03 00002db1: DUP2 00002db2: GT 00002db3: ISZERO 00002db4: PUSH2 0x2db9 00002db7: JUMPI 00002db8: INVALID 00002db9: JUMPDEST 00002dba: PUSH1 0x40 00002dbc: MLOAD 00002dbd: PUSH1 0xff 00002dbf: SWAP3 00002dc0: DUP4 00002dc1: AND 00002dc2: DUP2 00002dc3: MSTORE 00002dc4: SWAP2 00002dc5: AND 00002dc6: PUSH1 0x20 00002dc8: DUP3 00002dc9: ADD 00002dca: MSTORE 00002dcb: PUSH1 0x40 00002dcd: SWAP1 00002dce: DUP2 00002dcf: ADD 00002dd0: SWAP1 00002dd1: MLOAD 00002dd2: DUP1 00002dd3: SWAP2 00002dd4: SUB 00002dd5: SWAP1 00002dd6: LOG1 00002dd7: DUP2 00002dd8: SLOAD 00002dd9: DUP2 00002dda: SWAP1 00002ddb: DUP4 00002ddc: SWAP1 00002ddd: PUSH1 0xff 00002ddf: NOT 00002de0: AND 00002de1: PUSH1 0x01 00002de3: DUP4 00002de4: PUSH1 0x03 00002de6: DUP2 00002de7: GT 00002de8: ISZERO 00002de9: PUSH2 0x2dee 00002dec: JUMPI 00002ded: INVALID 00002dee: JUMPDEST 00002def: MUL 00002df0: OR 00002df1: SWAP1 00002df2: SSTORE 00002df3: POP 00002df4: POP 00002df5: POP 00002df6: JUMP 00002df7: JUMPDEST 00002df8: PUSH1 0x01 00002dfa: PUSH1 0xa0 00002dfc: PUSH1 0x02 00002dfe: EXP 00002dff: SUB 00002e00: DUP6 00002e01: AND 00002e02: PUSH1 0x00 00002e04: SWAP1 00002e05: DUP2 00002e06: MSTORE 00002e07: PUSH1 0x07 00002e09: DUP8 00002e0a: ADD 00002e0b: PUSH1 0x20 00002e0d: MSTORE 00002e0e: PUSH1 0x40 00002e10: DUP2 00002e11: KECCAK256 00002e12: PUSH1 0x01 00002e14: DUP2 00002e15: ADD 00002e16: SLOAD 00002e17: DUP2 00002e18: SLOAD 00002e19: SWAP2 00002e1a: SWAP3 00002e1b: SWAP1 00002e1c: SWAP2 00002e1d: PUSH2 0x2e30 00002e20: SWAP1 00002e21: PUSH1 0x0c 00002e23: DUP12 00002e24: ADD 00002e25: SWAP1 00002e26: DUP11 00002e27: SWAP1 00002e28: DUP11 00002e29: DUP11 00002e2a: DUP11 00002e2b: DUP11 00002e2c: PUSH2 0x2a90 00002e2f: JUMP 00002e30: JUMPDEST 00002e31: SWAP1 00002e32: POP 00002e33: DUP1 00002e34: ISZERO 00002e35: DUP1 00002e36: ISZERO 00002e37: PUSH2 0x2e3e 00002e3a: JUMPI 00002e3b: POP 00002e3c: DUP2 00002e3d: ISZERO 00002e3e: JUMPDEST 00002e3f: ISZERO 00002e40: PUSH2 0x2e48 00002e43: JUMPI 00002e44: PUSH2 0x2f34 00002e47: JUMP 00002e48: JUMPDEST 00002e49: PUSH1 0x00 00002e4b: DUP1 00002e4c: MLOAD 00002e4d: PUSH1 0x20 00002e4f: PUSH2 0x374d 00002e52: DUP4 00002e53: CODECOPY 00002e54: DUP2 00002e55: MLOAD 00002e56: SWAP2 00002e57: MSTORE 00002e58: DUP9 00002e59: DUP4 00002e5a: PUSH1 0x00 00002e5c: DUP7 00002e5d: PUSH1 0x00 00002e5f: ADD 00002e60: SLOAD 00002e61: DUP14 00002e62: PUSH1 0x08 00002e64: ADD 00002e65: SLOAD 00002e66: PUSH1 0x40 00002e68: MLOAD 00002e69: PUSH1 0x01 00002e6b: PUSH1 0xa0 00002e6d: PUSH1 0x02 00002e6f: EXP 00002e70: SUB 00002e71: SWAP1 00002e72: SWAP6 00002e73: AND 00002e74: DUP6 00002e75: MSTORE 00002e76: PUSH1 0x20 00002e78: DUP6 00002e79: ADD 00002e7a: SWAP4 00002e7b: SWAP1 00002e7c: SWAP4 00002e7d: MSTORE 00002e7e: PUSH1 0x40 00002e80: DUP1 00002e81: DUP6 00002e82: ADD 00002e83: SWAP3 00002e84: SWAP1 00002e85: SWAP3 00002e86: MSTORE 00002e87: PUSH1 0x60 00002e89: DUP5 00002e8a: ADD 00002e8b: MSTORE 00002e8c: PUSH1 0x80 00002e8e: DUP4 00002e8f: ADD 00002e90: SWAP2 00002e91: SWAP1 00002e92: SWAP2 00002e93: MSTORE 00002e94: PUSH1 0xa0 00002e96: SWAP1 00002e97: SWAP2 00002e98: ADD 00002e99: SWAP1 00002e9a: MLOAD 00002e9b: DUP1 00002e9c: SWAP2 00002e9d: SUB 00002e9e: SWAP1 00002e9f: LOG1 00002ea0: PUSH32 0x358fe4192934d3bf28ae181feda1f4bd08ca67f5e2fad55582cce5eb67304ae9 00002ec1: DUP9 00002ec2: DUP3 00002ec3: PUSH1 0x40 00002ec5: MLOAD 00002ec6: PUSH1 0x01 00002ec8: PUSH1 0xa0 00002eca: PUSH1 0x02 00002ecc: EXP 00002ecd: SUB 00002ece: SWAP1 00002ecf: SWAP3 00002ed0: AND 00002ed1: DUP3 00002ed2: MSTORE 00002ed3: PUSH1 0x20 00002ed5: DUP3 00002ed6: ADD 00002ed7: MSTORE 00002ed8: PUSH1 0x40 00002eda: SWAP1 00002edb: DUP2 00002edc: ADD 00002edd: SWAP1 00002ede: MLOAD 00002edf: DUP1 00002ee0: SWAP2 00002ee1: SUB 00002ee2: SWAP1 00002ee3: LOG1 00002ee4: PUSH1 0x00 00002ee6: DUP3 00002ee7: GT 00002ee8: ISZERO 00002ee9: PUSH2 0x2eff 00002eec: JUMPI 00002eed: PUSH1 0x09 00002eef: DUP10 00002ef0: ADD 00002ef1: DUP1 00002ef2: SLOAD 00002ef3: DUP4 00002ef4: SWAP1 00002ef5: SUB 00002ef6: SWAP1 00002ef7: SSTORE 00002ef8: PUSH1 0x00 00002efa: PUSH1 0x01 00002efc: DUP5 00002efd: ADD 00002efe: SSTORE 00002eff: JUMPDEST 00002f00: SWAP1 00002f01: DUP2 00002f02: ADD 00002f03: SWAP1 00002f04: PUSH1 0x01 00002f06: PUSH1 0xa0 00002f08: PUSH1 0x02 00002f0a: EXP 00002f0b: SUB 00002f0c: DUP9 00002f0d: AND 00002f0e: DUP3 00002f0f: ISZERO 00002f10: PUSH2 0x08fc 00002f13: MUL 00002f14: DUP4 00002f15: PUSH1 0x40 00002f17: MLOAD 00002f18: PUSH1 0x00 00002f1a: PUSH1 0x40 00002f1c: MLOAD 00002f1d: DUP1 00002f1e: DUP4 00002f1f: SUB 00002f20: DUP2 00002f21: DUP6 00002f22: DUP9 00002f23: DUP9 00002f24: CALL 00002f25: SWAP4 00002f26: POP 00002f27: POP 00002f28: POP 00002f29: POP 00002f2a: ISZERO 00002f2b: ISZERO 00002f2c: PUSH2 0x2f34 00002f2f: JUMPI 00002f30: PUSH1 0x00 00002f32: DUP1 00002f33: REVERT 00002f34: JUMPDEST 00002f35: POP 00002f36: POP 00002f37: POP 00002f38: POP 00002f39: POP 00002f3a: POP 00002f3b: POP 00002f3c: POP 00002f3d: POP 00002f3e: JUMP 00002f3f: JUMPDEST 00002f40: PUSH1 0x06 00002f42: DUP3 00002f43: ADD 00002f44: SLOAD 00002f45: PUSH1 0x00 00002f47: SWAP1 00002f48: PUSH1 0xff 00002f4a: AND 00002f4b: ISZERO 00002f4c: DUP1 00002f4d: PUSH2 0x2f5f 00002f50: JUMPI 00002f51: POP 00002f52: PUSH1 0x02 00002f54: DUP3 00002f55: ADD 00002f56: SLOAD 00002f57: PUSH2 0x0100 00002f5a: SWAP1 00002f5b: DIV 00002f5c: PUSH1 0xff 00002f5e: AND 00002f5f: JUMPDEST 00002f60: SWAP1 00002f61: POP 00002f62: JUMPDEST 00002f63: SWAP3 00002f64: SWAP2 00002f65: POP 00002f66: POP 00002f67: JUMP 00002f68: JUMPDEST 00002f69: DUP2 00002f6a: SLOAD 00002f6b: PUSH1 0x01 00002f6d: DUP4 00002f6e: ADD 00002f6f: SLOAD 00002f70: PUSH1 0x02 00002f72: DUP5 00002f73: ADD 00002f74: SLOAD 00002f75: PUSH1 0x00 00002f77: SWAP3 00002f78: DUP4 00002f79: SWAP3 00002f7a: ADD 00002f7b: DUP5 00002f7c: ADD 00002f7d: SWAP1 00002f7e: DUP2 00002f7f: SWAP1 00002f80: PUSH1 0xff 00002f82: AND 00002f83: ISZERO 00002f84: ISZERO 00002f85: PUSH2 0x2f95 00002f88: JUMPI 00002f89: PUSH2 0x2f92 00002f8c: DUP10 00002f8d: DUP3 00002f8e: PUSH2 0x329b 00002f91: JUMP 00002f92: JUMPDEST 00002f93: SWAP1 00002f94: POP 00002f95: JUMPDEST 00002f96: DUP6 00002f97: SLOAD 00002f98: PUSH2 0x2fa5 00002f9b: SWAP1 00002f9c: DUP9 00002f9d: DUP11 00002f9e: SUB 00002f9f: ADD 00002fa0: DUP3 00002fa1: PUSH2 0x329b 00002fa4: JUMP 00002fa5: JUMPDEST 00002fa6: SWAP1 00002fa7: POP 00002fa8: DUP10 00002fa9: DUP2 00002faa: LT 00002fab: ISZERO 00002fac: PUSH2 0x2fbd 00002faf: JUMPI 00002fb0: PUSH1 0x00 00002fb2: SWAP4 00002fb3: POP 00002fb4: SWAP1 00002fb5: SWAP2 00002fb6: POP 00002fb7: DUP2 00002fb8: SWAP1 00002fb9: PUSH2 0x2fc6 00002fbc: JUMP 00002fbd: JUMPDEST 00002fbe: DUP1 00002fbf: DUP2 00002fc0: DUP4 00002fc1: SUB 00002fc2: SWAP4 00002fc3: POP 00002fc4: SWAP4 00002fc5: POP 00002fc6: JUMPDEST 00002fc7: POP 00002fc8: POP 00002fc9: SWAP7 00002fca: POP 00002fcb: SWAP7 00002fcc: SWAP5 00002fcd: POP 00002fce: POP 00002fcf: POP 00002fd0: POP 00002fd1: POP 00002fd2: JUMP 00002fd3: JUMPDEST 00002fd4: PUSH1 0x00 00002fd6: PUSH1 0x0a 00002fd8: DUP3 00002fd9: PUSH1 0x11 00002fdb: ADD 00002fdc: SLOAD 00002fdd: GT 00002fde: ISZERO 00002fdf: DUP1 00002fe0: ISZERO 00002fe1: PUSH2 0x2ff2 00002fe4: JUMPI 00002fe5: POP 00002fe6: DUP2 00002fe7: PUSH1 0x03 00002fe9: ADD 00002fea: SLOAD 00002feb: DUP3 00002fec: PUSH1 0x02 00002fee: ADD 00002fef: SLOAD 00002ff0: GT 00002ff1: ISZERO 00002ff2: JUMPDEST 00002ff3: DUP1 00002ff4: ISZERO 00002ff5: PUSH2 0x3006 00002ff8: JUMPI 00002ff9: POP 00002ffa: DUP2 00002ffb: PUSH1 0x04 00002ffd: ADD 00002ffe: SLOAD 00002fff: DUP3 00003000: PUSH1 0x03 00003002: ADD 00003003: SLOAD 00003004: GT 00003005: ISZERO 00003006: JUMPDEST 00003007: DUP1 00003008: ISZERO 00003009: PUSH2 0x3022 0000300c: JUMPI 0000300d: POP 0000300e: PUSH12 0x033b2e3c9fd0803ce8000000 0000301b: DUP3 0000301c: PUSH1 0x04 0000301e: ADD 0000301f: SLOAD 00003020: GT 00003021: ISZERO 00003022: JUMPDEST 00003023: ISZERO 00003024: ISZERO 00003025: PUSH2 0x302d 00003028: JUMPI 00003029: PUSH1 0x00 0000302b: DUP1 0000302c: REVERT 0000302d: JUMPDEST 0000302e: PUSH2 0x3042 00003031: PUSH5 0x09502f9000 00003037: PUSH1 0x01 00003039: DUP5 0000303a: PUSH1 0x11 0000303c: ADD 0000303d: SLOAD 0000303e: PUSH2 0x293a 00003041: JUMP 00003042: JUMPDEST 00003043: SWAP1 00003044: POP 00003045: DUP1 00003046: PUSH1 0x02 00003048: MUL 00003049: DUP3 0000304a: PUSH1 0x02 0000304c: ADD 0000304d: SLOAD 0000304e: LT 0000304f: ISZERO 00003050: ISZERO 00003051: ISZERO 00003052: PUSH2 0x0667 00003055: JUMPI 00003056: PUSH1 0x00 00003058: DUP1 00003059: REVERT 0000305a: JUMPDEST 0000305b: PUSH1 0x00 0000305d: DUP1 0000305e: PUSH1 0x00 00003060: DUP1 00003061: PUSH2 0x3079 00003064: DUP9 00003065: PUSH1 0x01 00003067: ADD 00003068: SLOAD 00003069: DUP8 0000306a: ADD 0000306b: DUP7 0000306c: PUSH2 0x32b2 0000306f: SWAP1 00003070: SWAP2 00003071: SWAP1 00003072: PUSH4 0xffffffff 00003077: AND 00003078: JUMP 00003079: JUMPDEST 0000307a: PUSH1 0x01 0000307c: PUSH1 0xa0 0000307e: PUSH1 0x02 00003080: EXP 00003081: SUB 00003082: DUP9 00003083: AND 00003084: PUSH1 0x00 00003086: SWAP1 00003087: DUP2 00003088: MSTORE 00003089: PUSH1 0x20 0000308b: DUP11 0000308c: SWAP1 0000308d: MSTORE 0000308e: PUSH1 0x40 00003090: SWAP1 00003091: KECCAK256 00003092: SLOAD 00003093: SWAP1 00003094: SWAP4 00003095: POP 00003096: SWAP2 00003097: POP 00003098: DUP3 00003099: DUP3 0000309a: GT 0000309b: ISZERO 0000309c: PUSH2 0x30a1 0000309f: JUMPI 000030a0: INVALID 000030a1: JUMPDEST 000030a2: POP 000030a3: PUSH1 0x01 000030a5: PUSH1 0xa0 000030a7: PUSH1 0x02 000030a9: EXP 000030aa: SUB 000030ab: SWAP6 000030ac: SWAP1 000030ad: SWAP6 000030ae: AND 000030af: PUSH1 0x00 000030b1: SWAP1 000030b2: DUP2 000030b3: MSTORE 000030b4: PUSH1 0x20 000030b6: DUP8 000030b7: SWAP1 000030b8: MSTORE 000030b9: PUSH1 0x40 000030bb: SWAP1 000030bc: KECCAK256 000030bd: DUP1 000030be: SLOAD 000030bf: SWAP6 000030c0: SWAP1 000030c1: SWAP2 000030c2: SUB 000030c3: SWAP5 000030c4: DUP6 000030c5: ADD 000030c6: SWAP1 000030c7: SSTORE 000030c8: POP 000030c9: POP 000030ca: POP 000030cb: PUSH1 0x01 000030cd: SWAP1 000030ce: SWAP2 000030cf: ADD 000030d0: DUP1 000030d1: SLOAD 000030d2: DUP3 000030d3: ADD 000030d4: SWAP1 000030d5: SSTORE 000030d6: SWAP1 000030d7: JUMP 000030d8: JUMPDEST 000030d9: PUSH1 0x01 000030db: PUSH1 0xa0 000030dd: PUSH1 0x02 000030df: EXP 000030e0: SUB 000030e1: DUP3 000030e2: AND 000030e3: PUSH1 0x00 000030e5: SWAP1 000030e6: DUP2 000030e7: MSTORE 000030e8: PUSH1 0x20 000030ea: DUP5 000030eb: SWAP1 000030ec: MSTORE 000030ed: PUSH1 0x40 000030ef: DUP2 000030f0: KECCAK256 000030f1: SLOAD 000030f2: DUP3 000030f3: GT 000030f4: ISZERO 000030f5: PUSH2 0x30fa 000030f8: JUMPI 000030f9: INVALID 000030fa: JUMPDEST 000030fb: PUSH1 0x01 000030fd: PUSH1 0xa0 000030ff: PUSH1 0x02 00003101: EXP 00003102: SUB 00003103: SWAP1 00003104: SWAP3 00003105: AND 00003106: PUSH1 0x00 00003108: SWAP1 00003109: DUP2 0000310a: MSTORE 0000310b: PUSH1 0x20 0000310d: DUP5 0000310e: SWAP1 0000310f: MSTORE 00003110: PUSH1 0x40 00003112: SWAP1 00003113: KECCAK256 00003114: DUP1 00003115: SLOAD 00003116: DUP3 00003117: SWAP1 00003118: SUB 00003119: SWAP1 0000311a: SSTORE 0000311b: PUSH1 0x01 0000311d: SWAP1 0000311e: SWAP3 0000311f: ADD 00003120: DUP1 00003121: SLOAD 00003122: SWAP3 00003123: SWAP1 00003124: SWAP3 00003125: SUB 00003126: SWAP1 00003127: SWAP2 00003128: SSTORE 00003129: SWAP1 0000312a: JUMP 0000312b: JUMPDEST 0000312c: PUSH1 0x00 0000312e: DUP1 0000312f: PUSH2 0x3137 00003132: DUP4 00003133: PUSH2 0x2904 00003136: JUMP 00003137: JUMPDEST 00003138: PUSH1 0x10 0000313a: DUP4 0000313b: ADD 0000313c: SLOAD 0000313d: PUSH21 0x010000000000000000000000000000000000000000 00003153: SWAP1 00003154: DIV 00003155: PUSH1 0xff 00003157: AND 00003158: ISZERO 00003159: PUSH2 0x3161 0000315c: JUMPI 0000315d: PUSH1 0x00 0000315f: DUP1 00003160: REVERT 00003161: JUMPDEST 00003162: PUSH1 0x10 00003164: DUP4 00003165: ADD 00003166: DUP1 00003167: SLOAD 00003168: PUSH21 0xff0000000000000000000000000000000000000000 0000317e: NOT 0000317f: AND 00003180: PUSH21 0x010000000000000000000000000000000000000000 00003196: OR 00003197: SWAP1 00003198: DUP2 00003199: SWAP1 0000319a: SSTORE 0000319b: PUSH8 0x0de0b6b3a7640000 000031a4: SWAP1 000031a5: PUSH1 0x01 000031a7: PUSH1 0xa0 000031a9: PUSH1 0x02 000031ab: EXP 000031ac: SUB 000031ad: AND 000031ae: PUSH4 0x9592619c 000031b3: PUSH1 0x40 000031b5: MLOAD 000031b6: DUP2 000031b7: PUSH4 0xffffffff 000031bc: AND 000031bd: PUSH1 0xe0 000031bf: PUSH1 0x02 000031c1: EXP 000031c2: MUL 000031c3: DUP2 000031c4: MSTORE 000031c5: PUSH1 0x04 000031c7: ADD 000031c8: PUSH1 0x20 000031ca: PUSH1 0x40 000031cc: MLOAD 000031cd: DUP1 000031ce: DUP4 000031cf: SUB 000031d0: DUP2 000031d1: PUSH1 0x00 000031d3: DUP8 000031d4: DUP1 000031d5: EXTCODESIZE 000031d6: ISZERO 000031d7: ISZERO 000031d8: PUSH2 0x31e0 000031db: JUMPI 000031dc: PUSH1 0x00 000031de: DUP1 000031df: REVERT 000031e0: JUMPDEST 000031e1: GAS 000031e2: CALL 000031e3: ISZERO 000031e4: ISZERO 000031e5: PUSH2 0x31ed 000031e8: JUMPI 000031e9: PUSH1 0x00 000031eb: DUP1 000031ec: REVERT 000031ed: JUMPDEST 000031ee: POP 000031ef: POP 000031f0: POP 000031f1: PUSH1 0x40 000031f3: MLOAD 000031f4: DUP1 000031f5: MLOAD 000031f6: SWAP1 000031f7: POP 000031f8: DUP5 000031f9: PUSH1 0x08 000031fb: ADD 000031fc: SLOAD 000031fd: MUL 000031fe: DUP2 000031ff: ISZERO 00003200: ISZERO 00003201: PUSH2 0x3206 00003204: JUMPI 00003205: INVALID 00003206: JUMPDEST 00003207: DIV 00003208: SWAP1 00003209: POP 0000320a: PUSH32 0x7a845d9ff115a67119400d0d4fb3a54b18d744a32c3180ecb8e2f15d14af63ef 0000322b: DUP2 0000322c: PUSH1 0x40 0000322e: MLOAD 0000322f: SWAP1 00003230: DUP2 00003231: MSTORE 00003232: PUSH1 0x20 00003234: ADD 00003235: PUSH1 0x40 00003237: MLOAD 00003238: DUP1 00003239: SWAP2 0000323a: SUB 0000323b: SWAP1 0000323c: LOG1 0000323d: PUSH1 0x10 0000323f: DUP4 00003240: ADD 00003241: SLOAD 00003242: PUSH1 0x01 00003244: PUSH1 0xa0 00003246: PUSH1 0x02 00003248: EXP 00003249: SUB 0000324a: AND 0000324b: PUSH4 0xdff90b5b 00003250: DUP3 00003251: PUSH1 0x40 00003253: MLOAD 00003254: DUP3 00003255: PUSH4 0xffffffff 0000325a: AND 0000325b: PUSH1 0xe0 0000325d: PUSH1 0x02 0000325f: EXP 00003260: MUL 00003261: DUP2 00003262: MSTORE 00003263: PUSH1 0x04 00003265: ADD 00003266: PUSH1 0x20 00003268: PUSH1 0x40 0000326a: MLOAD 0000326b: DUP1 0000326c: DUP4 0000326d: SUB 0000326e: DUP2 0000326f: DUP6 00003270: DUP9 00003271: DUP1 00003272: EXTCODESIZE 00003273: ISZERO 00003274: ISZERO 00003275: PUSH2 0x327d 00003278: JUMPI 00003279: PUSH1 0x00 0000327b: DUP1 0000327c: REVERT 0000327d: JUMPDEST 0000327e: GAS 0000327f: CALL 00003280: ISZERO 00003281: ISZERO 00003282: PUSH2 0x328a 00003285: JUMPI 00003286: PUSH1 0x00 00003288: DUP1 00003289: REVERT 0000328a: JUMPDEST 0000328b: POP 0000328c: POP 0000328d: POP 0000328e: POP 0000328f: PUSH1 0x40 00003291: MLOAD 00003292: DUP1 00003293: MLOAD 00003294: SWAP5 00003295: SWAP4 00003296: POP 00003297: POP 00003298: POP 00003299: POP 0000329a: JUMP 0000329b: JUMPDEST 0000329c: PUSH1 0x00 0000329e: DUP2 0000329f: DUP4 000032a0: LT 000032a1: ISZERO 000032a2: PUSH2 0x32ac 000032a5: JUMPI 000032a6: POP 000032a7: DUP2 000032a8: PUSH2 0x2f62 000032ab: JUMP 000032ac: JUMPDEST 000032ad: POP 000032ae: SWAP2 000032af: SWAP1 000032b0: POP 000032b1: JUMP 000032b2: JUMPDEST 000032b3: PUSH1 0x00 000032b5: PUSH1 0x20 000032b7: DUP4 000032b8: ADD 000032b9: MLOAD 000032ba: DUP4 000032bb: MLOAD 000032bc: DUP4 000032bd: MUL 000032be: DUP2 000032bf: ISZERO 000032c0: ISZERO 000032c1: PUSH2 0x32c6 000032c4: JUMPI 000032c5: INVALID 000032c6: JUMPDEST 000032c7: DIV 000032c8: SWAP4 000032c9: SWAP3 000032ca: POP 000032cb: POP 000032cc: POP 000032cd: JUMP 000032ce: JUMPDEST 000032cf: PUSH1 0x20 000032d1: PUSH1 0x40 000032d3: MLOAD 000032d4: SWAP1 000032d5: DUP2 000032d6: ADD 000032d7: PUSH1 0x40 000032d9: MSTORE 000032da: PUSH1 0x00 000032dc: DUP2 000032dd: MSTORE 000032de: SWAP1 000032df: JUMP 000032e0: JUMPDEST 000032e1: DUP2 000032e2: SLOAD 000032e3: DUP2 000032e4: DUP4 000032e5: SSTORE 000032e6: DUP2 000032e7: DUP2 000032e8: ISZERO 000032e9: GT 000032ea: PUSH2 0x0644 000032ed: JUMPI 000032ee: PUSH1 0x00 000032f0: DUP4 000032f1: DUP2 000032f2: MSTORE 000032f3: PUSH1 0x20 000032f5: SWAP1 000032f6: KECCAK256 000032f7: PUSH2 0x0644 000032fa: SWAP2 000032fb: DUP2 000032fc: ADD 000032fd: SWAP1 000032fe: DUP4 000032ff: ADD 00003300: PUSH2 0x08d9 00003303: SWAP2 00003304: SWAP1 00003305: JUMPDEST 00003306: DUP1 00003307: DUP3 00003308: GT 00003309: ISZERO 0000330a: PUSH2 0x3319 0000330d: JUMPI 0000330e: PUSH1 0x00 00003310: DUP2 00003311: SSTORE 00003312: PUSH1 0x01 00003314: ADD 00003315: PUSH2 0x3305 00003318: JUMP 00003319: JUMPDEST 0000331a: POP 0000331b: SWAP1 0000331c: JUMP 0000331d: JUMPDEST 0000331e: PUSH1 0x10 00003320: DUP12 00003321: ADD 00003322: DUP1 00003323: SLOAD 00003324: PUSH1 0x01 00003326: PUSH1 0xa0 00003328: PUSH1 0x02 0000332a: EXP 0000332b: SUB 0000332c: NOT 0000332d: AND 0000332e: PUSH1 0x01 00003330: PUSH1 0xa0 00003332: PUSH1 0x02 00003334: EXP 00003335: SUB 00003336: DUP12 00003337: DUP2 00003338: AND 00003339: SWAP2 0000333a: SWAP1 0000333b: SWAP2 0000333c: OR 0000333d: SWAP2 0000333e: DUP3 0000333f: SWAP1 00003340: SSTORE 00003341: PUSH1 0x00 00003343: SWAP2 00003344: PUSH32 0x6130bfcaaf8b3b739938e61c16e58e88c5e6d262f2990a8979ce811a1bc001e3 00003365: SWAP2 00003366: AND 00003367: PUSH4 0xf01fe692 0000336c: DUP12 0000336d: DUP15 0000336e: PUSH1 0x40 00003370: MLOAD 00003371: PUSH1 0xe0 00003373: PUSH1 0x02 00003375: EXP 00003376: PUSH4 0xffffffff 0000337b: DUP6 0000337c: AND 0000337d: MUL 0000337e: DUP2 0000337f: MSTORE 00003380: PUSH1 0x04 00003382: DUP2 00003383: ADD 00003384: SWAP3 00003385: SWAP1 00003386: SWAP3 00003387: MSTORE 00003388: PUSH1 0x01 0000338a: PUSH1 0xa0 0000338c: PUSH1 0x02 0000338e: EXP 0000338f: SUB 00003390: AND 00003391: PUSH1 0x24 00003393: DUP3 00003394: ADD 00003395: MSTORE 00003396: PUSH1 0x44 00003398: ADD 00003399: PUSH1 0x20 0000339b: PUSH1 0x40 0000339d: MLOAD 0000339e: DUP1 0000339f: DUP4 000033a0: SUB 000033a1: DUP2 000033a2: PUSH1 0x00 000033a4: DUP8 000033a5: DUP1 000033a6: EXTCODESIZE 000033a7: ISZERO 000033a8: ISZERO 000033a9: PUSH2 0x33b1 000033ac: JUMPI 000033ad: PUSH1 0x00 000033af: DUP1 000033b0: REVERT 000033b1: JUMPDEST 000033b2: GAS 000033b3: CALL 000033b4: ISZERO 000033b5: ISZERO 000033b6: PUSH2 0x33be 000033b9: JUMPI 000033ba: PUSH1 0x00 000033bc: DUP1 000033bd: REVERT 000033be: JUMPDEST 000033bf: POP 000033c0: POP 000033c1: POP 000033c2: PUSH1 0x40 000033c4: MLOAD 000033c5: DUP1 000033c6: MLOAD 000033c7: SWAP1 000033c8: POP 000033c9: DUP11 000033ca: DUP13 000033cb: PUSH1 0x40 000033cd: MLOAD 000033ce: SWAP3 000033cf: DUP4 000033d0: MSTORE 000033d1: PUSH1 0x20 000033d3: DUP4 000033d4: ADD 000033d5: SWAP2 000033d6: SWAP1 000033d7: SWAP2 000033d8: MSTORE 000033d9: PUSH1 0x01 000033db: PUSH1 0xa0 000033dd: PUSH1 0x02 000033df: EXP 000033e0: SUB 000033e1: AND 000033e2: PUSH1 0x40 000033e4: DUP1 000033e5: DUP4 000033e6: ADD 000033e7: SWAP2 000033e8: SWAP1 000033e9: SWAP2 000033ea: MSTORE 000033eb: PUSH1 0x60 000033ed: SWAP1 000033ee: SWAP2 000033ef: ADD 000033f0: SWAP1 000033f1: MLOAD 000033f2: DUP1 000033f3: SWAP2 000033f4: SUB 000033f5: SWAP1 000033f6: LOG1 000033f7: DUP12 000033f8: SLOAD 000033f9: PUSH1 0xff 000033fb: NOT 000033fc: AND 000033fd: DUP13 000033fe: SSTORE 000033ff: PUSH1 0x11 00003401: DUP13 00003402: ADD 00003403: DUP4 00003404: SWAP1 00003405: SSTORE 00003406: PUSH1 0x12 00003408: DUP13 00003409: ADD 0000340a: DUP1 0000340b: SLOAD 0000340c: PUSH1 0x01 0000340e: PUSH1 0xa0 00003410: PUSH1 0x02 00003412: EXP 00003413: SUB 00003414: NOT 00003415: AND 00003416: PUSH1 0x01 00003418: PUSH1 0xa0 0000341a: PUSH1 0x02 0000341c: EXP 0000341d: SUB 0000341e: DUP5 0000341f: AND 00003420: OR 00003421: SWAP1 00003422: SSTORE 00003423: PUSH32 0x0f1caba0e437aee0eeb41d25343a768a6a1c8873b9db0b979723c4dbc6d568ec 00003444: PUSH5 0x09502f9000 0000344a: DUP5 0000344b: DUP5 0000344c: PUSH1 0x40 0000344e: MLOAD 0000344f: SWAP3 00003450: DUP4 00003451: MSTORE 00003452: PUSH1 0x20 00003454: DUP4 00003455: ADD 00003456: SWAP2 00003457: SWAP1 00003458: SWAP2 00003459: MSTORE 0000345a: PUSH1 0x01 0000345c: PUSH1 0xa0 0000345e: PUSH1 0x02 00003460: EXP 00003461: SUB 00003462: AND 00003463: PUSH1 0x40 00003465: DUP1 00003466: DUP4 00003467: ADD 00003468: SWAP2 00003469: SWAP1 0000346a: SWAP2 0000346b: MSTORE 0000346c: PUSH1 0x60 0000346e: SWAP1 0000346f: SWAP2 00003470: ADD 00003471: SWAP1 00003472: MLOAD 00003473: DUP1 00003474: SWAP2 00003475: SUB 00003476: SWAP1 00003477: LOG1 00003478: PUSH1 0x02 0000347a: DUP13 0000347b: ADD 0000347c: DUP9 0000347d: SWAP1 0000347e: SSTORE 0000347f: PUSH1 0x03 00003481: DUP13 00003482: ADD 00003483: DUP8 00003484: SWAP1 00003485: SSTORE 00003486: PUSH1 0x04 00003488: DUP13 00003489: ADD 0000348a: DUP7 0000348b: SWAP1 0000348c: SSTORE 0000348d: PUSH2 0x3495 00003490: DUP13 00003491: PUSH2 0x2fd3 00003494: JUMP 00003495: JUMPDEST 00003496: PUSH32 0x81ed9d12804616ac7f219b046f48081f6f704a4bab03d58f911cc5c37d285fd9 000034b7: DUP9 000034b8: DUP9 000034b9: DUP9 000034ba: PUSH1 0x40 000034bc: MLOAD 000034bd: DUP1 000034be: DUP5 000034bf: DUP2 000034c0: MSTORE 000034c1: PUSH1 0x20 000034c3: ADD 000034c4: DUP4 000034c5: DUP2 000034c6: MSTORE 000034c7: PUSH1 0x20 000034c9: ADD 000034ca: DUP3 000034cb: DUP2 000034cc: MSTORE 000034cd: PUSH1 0x20 000034cf: ADD 000034d0: SWAP4 000034d1: POP 000034d2: POP 000034d3: POP 000034d4: POP 000034d5: PUSH1 0x40 000034d7: MLOAD 000034d8: DUP1 000034d9: SWAP2 000034da: SUB 000034db: SWAP1 000034dc: LOG1 000034dd: DUP4 000034de: ISZERO 000034df: PUSH2 0x351e 000034e2: JUMPI 000034e3: PUSH1 0x06 000034e5: DUP13 000034e6: ADD 000034e7: DUP1 000034e8: SLOAD 000034e9: PUSH1 0xff 000034eb: NOT 000034ec: AND 000034ed: PUSH1 0x01 000034ef: OR 000034f0: SWAP1 000034f1: SSTORE 000034f2: PUSH32 0xe5e5846f783279948f6ec5faad38318cde86fe5be7ea845ede56d62f16c37434 00003513: PUSH1 0x40 00003515: MLOAD 00003516: PUSH1 0x40 00003518: MLOAD 00003519: DUP1 0000351a: SWAP2 0000351b: SUB 0000351c: SWAP1 0000351d: LOG1 0000351e: JUMPDEST 0000351f: POP 00003520: PUSH1 0x00 00003522: JUMPDEST 00003523: DUP5 00003524: MLOAD 00003525: DUP2 00003526: LT 00003527: ISZERO 00003528: PUSH2 0x35da 0000352b: JUMPI 0000352c: PUSH2 0x354d 0000352f: DUP13 00003530: PUSH1 0x01 00003532: ADD 00003533: DUP7 00003534: DUP4 00003535: DUP2 00003536: MLOAD 00003537: DUP2 00003538: LT 00003539: PUSH2 0x353e 0000353c: JUMPI 0000353d: INVALID 0000353e: JUMPDEST 0000353f: SWAP1 00003540: PUSH1 0x20 00003542: ADD 00003543: SWAP1 00003544: PUSH1 0x20 00003546: MUL 00003547: ADD 00003548: MLOAD 00003549: PUSH2 0x3632 0000354c: JUMP 0000354d: JUMPDEST 0000354e: ISZERO 0000354f: ISZERO 00003550: PUSH2 0x35d2 00003553: JUMPI 00003554: DUP12 00003555: PUSH1 0x01 00003557: ADD 00003558: DUP1 00003559: SLOAD 0000355a: DUP1 0000355b: PUSH1 0x01 0000355d: ADD 0000355e: DUP3 0000355f: DUP2 00003560: PUSH2 0x3569 00003563: SWAP2 00003564: SWAP1 00003565: PUSH2 0x32e0 00003568: JUMP 00003569: JUMPDEST 0000356a: SWAP2 0000356b: PUSH1 0x00 0000356d: MSTORE 0000356e: PUSH1 0x20 00003570: PUSH1 0x00 00003572: KECCAK256 00003573: SWAP1 00003574: ADD 00003575: PUSH1 0x00 00003577: DUP8 00003578: DUP5 00003579: DUP2 0000357a: MLOAD 0000357b: DUP2 0000357c: LT 0000357d: PUSH2 0x3582 00003580: JUMPI 00003581: INVALID 00003582: JUMPDEST 00003583: SWAP1 00003584: PUSH1 0x20 00003586: ADD 00003587: SWAP1 00003588: PUSH1 0x20 0000358a: MUL 0000358b: ADD 0000358c: MLOAD 0000358d: SWAP1 0000358e: SWAP2 0000358f: SWAP1 00003590: SWAP2 00003591: PUSH2 0x0100 00003594: EXP 00003595: DUP2 00003596: SLOAD 00003597: DUP2 00003598: PUSH1 0x01 0000359a: PUSH1 0xa0 0000359c: PUSH1 0x02 0000359e: EXP 0000359f: SUB 000035a0: MUL 000035a1: NOT 000035a2: AND 000035a3: SWAP1 000035a4: DUP4 000035a5: PUSH1 0x01 000035a7: PUSH1 0xa0 000035a9: PUSH1 0x02 000035ab: EXP 000035ac: SUB 000035ad: AND 000035ae: MUL 000035af: OR 000035b0: SWAP1 000035b1: SSTORE 000035b2: POP 000035b3: POP 000035b4: PUSH2 0x35d2 000035b7: DUP13 000035b8: DUP7 000035b9: DUP4 000035ba: DUP2 000035bb: MLOAD 000035bc: DUP2 000035bd: LT 000035be: PUSH2 0x35c3 000035c1: JUMPI 000035c2: INVALID 000035c3: JUMPDEST 000035c4: SWAP1 000035c5: PUSH1 0x20 000035c7: ADD 000035c8: SWAP1 000035c9: PUSH1 0x20 000035cb: MUL 000035cc: ADD 000035cd: MLOAD 000035ce: PUSH2 0x368f 000035d1: JUMP 000035d2: JUMPDEST 000035d3: PUSH1 0x01 000035d5: ADD 000035d6: PUSH2 0x3522 000035d9: JUMP 000035da: JUMPDEST 000035db: PUSH2 0x35e7 000035de: DUP13 000035df: PUSH1 0x01 000035e1: ADD 000035e2: DUP13 000035e3: PUSH2 0x3632 000035e6: JUMP 000035e7: JUMPDEST 000035e8: ISZERO 000035e9: ISZERO 000035ea: PUSH2 0x1152 000035ed: JUMPI 000035ee: DUP12 000035ef: PUSH1 0x01 000035f1: ADD 000035f2: DUP1 000035f3: SLOAD 000035f4: DUP1 000035f5: PUSH1 0x01 000035f7: ADD 000035f8: DUP3 000035f9: DUP2 000035fa: PUSH2 0x3603 000035fd: SWAP2 000035fe: SWAP1 000035ff: PUSH2 0x32e0 00003602: JUMP 00003603: JUMPDEST 00003604: POP 00003605: PUSH1 0x00 00003607: SWAP2 00003608: DUP3 00003609: MSTORE 0000360a: PUSH1 0x20 0000360c: SWAP1 0000360d: SWAP2 0000360e: KECCAK256 0000360f: ADD 00003610: DUP1 00003611: SLOAD 00003612: PUSH1 0x01 00003614: PUSH1 0xa0 00003616: PUSH1 0x02 00003618: EXP 00003619: SUB 0000361a: NOT 0000361b: AND 0000361c: PUSH1 0x01 0000361e: PUSH1 0xa0 00003620: PUSH1 0x02 00003622: EXP 00003623: SUB 00003624: DUP14 00003625: AND 00003626: OR 00003627: SWAP1 00003628: SSTORE 00003629: PUSH2 0x1152 0000362c: DUP13 0000362d: DUP13 0000362e: PUSH2 0x368f 00003631: JUMP 00003632: JUMPDEST 00003633: PUSH1 0x00 00003635: DUP1 00003636: JUMPDEST 00003637: DUP4 00003638: SLOAD 00003639: DUP2 0000363a: LT 0000363b: ISZERO 0000363c: PUSH2 0x3683 0000363f: JUMPI 00003640: DUP3 00003641: PUSH1 0x01 00003643: PUSH1 0xa0 00003645: PUSH1 0x02 00003647: EXP 00003648: SUB 00003649: AND 0000364a: DUP5 0000364b: DUP3 0000364c: DUP2 0000364d: SLOAD 0000364e: DUP2 0000364f: LT 00003650: ISZERO 00003651: ISZERO 00003652: PUSH2 0x3657 00003655: JUMPI 00003656: INVALID 00003657: JUMPDEST 00003658: PUSH1 0x00 0000365a: SWAP2 0000365b: DUP3 0000365c: MSTORE 0000365d: PUSH1 0x20 0000365f: SWAP1 00003660: SWAP2 00003661: KECCAK256 00003662: ADD 00003663: SLOAD 00003664: PUSH1 0x01 00003666: PUSH1 0xa0 00003668: PUSH1 0x02 0000366a: EXP 0000366b: SUB 0000366c: AND 0000366d: EQ 0000366e: ISZERO 0000366f: PUSH2 0x367b 00003672: JUMPI 00003673: PUSH1 0x01 00003675: SWAP2 00003676: POP 00003677: PUSH2 0x3688 0000367a: JUMP 0000367b: JUMPDEST 0000367c: PUSH1 0x01 0000367e: ADD 0000367f: PUSH2 0x3636 00003682: JUMP 00003683: JUMPDEST 00003684: PUSH1 0x00 00003686: SWAP2 00003687: POP 00003688: JUMPDEST 00003689: POP 0000368a: SWAP3 0000368b: SWAP2 0000368c: POP 0000368d: POP 0000368e: JUMP 0000368f: JUMPDEST 00003690: PUSH1 0x01 00003692: PUSH1 0xa0 00003694: PUSH1 0x02 00003696: EXP 00003697: SUB 00003698: DUP2 00003699: AND 0000369a: PUSH1 0x00 0000369c: SWAP1 0000369d: DUP2 0000369e: MSTORE 0000369f: PUSH1 0x07 000036a1: DUP4 000036a2: ADD 000036a3: PUSH1 0x20 000036a5: MSTORE 000036a6: PUSH1 0x40 000036a8: SWAP1 000036a9: KECCAK256 000036aa: PUSH1 0x02 000036ac: ADD 000036ad: DUP1 000036ae: SLOAD 000036af: PUSH3 0x010000 000036b3: PUSH1 0x01 000036b5: PUSH2 0x0100 000036b8: PUSH2 0xff00 000036bb: NOT 000036bc: SWAP1 000036bd: SWAP4 000036be: AND 000036bf: SWAP3 000036c0: SWAP1 000036c1: SWAP3 000036c2: OR 000036c3: PUSH1 0xff 000036c5: NOT 000036c6: AND 000036c7: DUP3 000036c8: OR 000036c9: PUSH3 0xff0000 000036cd: NOT 000036ce: AND 000036cf: OR 000036d0: SWAP1 000036d1: SWAP2 000036d2: SSTORE 000036d3: PUSH1 0x05 000036d5: DUP4 000036d6: ADD 000036d7: DUP1 000036d8: SLOAD 000036d9: SWAP1 000036da: SWAP2 000036db: DUP2 000036dc: ADD 000036dd: PUSH2 0x36e6 000036e0: DUP4 000036e1: DUP3 000036e2: PUSH2 0x32e0 000036e5: JUMP 000036e6: JUMPDEST 000036e7: POP 000036e8: PUSH1 0x00 000036ea: SWAP2 000036eb: DUP3 000036ec: MSTORE 000036ed: PUSH1 0x20 000036ef: SWAP1 000036f0: SWAP2 000036f1: KECCAK256 000036f2: ADD 000036f3: DUP1 000036f4: SLOAD 000036f5: PUSH1 0x01 000036f7: PUSH1 0xa0 000036f9: PUSH1 0x02 000036fb: EXP 000036fc: SUB 000036fd: NOT 000036fe: AND 000036ff: PUSH1 0x01 00003701: PUSH1 0xa0 00003703: PUSH1 0x02 00003705: EXP 00003706: SUB 00003707: DUP4 00003708: AND 00003709: OR 0000370a: SWAP1 0000370b: SSTORE 0000370c: PUSH32 0xad6de4452a631e641cb59902236607946ce9272b9b981f2f80e8d129cb9084ba 0000372d: DUP2 0000372e: PUSH1 0x40 00003730: MLOAD 00003731: PUSH1 0x01 00003733: PUSH1 0xa0 00003735: PUSH1 0x02 00003737: EXP 00003738: SUB 00003739: SWAP1 0000373a: SWAP2 0000373b: AND 0000373c: DUP2 0000373d: MSTORE 0000373e: PUSH1 0x20 00003740: ADD 00003741: PUSH1 0x40 00003743: MLOAD 00003744: DUP1 00003745: SWAP2 00003746: SUB 00003747: SWAP1 00003748: LOG1 00003749: POP 0000374a: POP 0000374b: JUMP 0000374c: STOP 0000374d: DUP9 0000374e: PUSH31 0x73c01568cecc3fe477a39c098f6599306a7592db9c8941dfc71ff9046d06b5 0000376e: UNKNOWN(0xB7) 0000376f: UNKNOWN(0xAF) 00003770: UNKNOWN(0xD1) 00003771: SWAP2 00003772: KECCAK256 00003773: UNKNOWN(0xE2) 00003774: REVERT 00003775: UNKNOWN(0xCC) 00003776: AND 00003777: CALLDATALOAD 00003778: SWAP8 00003779: UNKNOWN(0xA8) 0000377a: PUSH16 0xbe89ae50e622014b66e53de941c87eec 0000378b: ADDMOD 0000378c: UNKNOWN(0x22) 0000378d: LOG1 0000378e: PUSH6 0x627a7a723058 00003795: KECCAK256 00003796: DUP5 00003797: DUP6 00003798: LT 00003799: UNKNOWN(0xC1) 0000379a: UNKNOWN(0xCA) 0000379b: DUP6 0000379c: SGT 0000379d: UNKNOWN(0xE1) 0000379e: ADDMOD 0000379f: PUSH29
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94
call_targets:
0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x14614af9",
"selector": "0x14614af9",
"calldata_variants": [
"0x14614af9",
"0x14614af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f708fb",
"selector": "0x17f708fb",
"calldata_variants": [
"0x17f708fb",
"0x17f708fb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19f363bc",
"selector": "0x19f363bc",
"calldata_variants": [
"0x19f363bc",
"0x19f363bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2618e6e9",
"selector": "0x2618e6e9",
"calldata_variants": [
"0x2618e6e9",
"0x2618e6e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2b55b792",
"selector": "0x2b55b792",
"calldata_variants": [
"0x2b55b792",
"0x2b55b7920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2bc2b71a",
"selector": "0x2bc2b71a",
"calldata_variants": [
"0x2bc2b71a",
"0x2bc2b71a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2d923501",
"selector": "0x2d923501",
"calldata_variants": [
"0x2d923501",
"0x2d9235010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3271,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3474,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3955,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 28,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94
call_targets:
0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x14614af9",
"selector": "0x14614af9",
"calldata_variants": [
"0x14614af9",
"0x14614af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f708fb",
"selector": "0x17f708fb",
"calldata_variants": [
"0x17f708fb",
"0x17f708fb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19f363bc",
"selector": "0x19f363bc",
"calldata_variants": [
"0x19f363bc",
"0x19f363bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2618e6e9",
"selector": "0x2618e6e9",
"calldata_variants": [
"0x2618e6e9",
"0x2618e6e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2b55b792",
"selector": "0x2b55b792",
"calldata_variants": [
"0x2b55b792",
"0x2b55b7920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2bc2b71a",
"selector": "0x2bc2b71a",
"calldata_variants": [
"0x2bc2b71a",
"0x2bc2b71a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2d923501",
"selector": "0x2d923501",
"calldata_variants": [
"0x2d923501",
"0x2d9235010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3271,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3474,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3955,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 28,
"guards_detected": [],
"untrusted_call_count": 28
}
|
| medium | reentrancy | codex | External call occurs before storage update on at least one path | 75 | no | — |
viewevidence_json{
"evidence": "Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).",
"locations": [
"pc:11632",
"pc:11762"
],
"recommendation": "Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.",
"exploit_scenario": "If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path."
}
|
| medium | other | codex | Computed CALL targets and values enable arbitrary external calls if user-controlled | 75 | no | — |
viewevidence_json{
"evidence": "`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).",
"locations": [
"pc:3271",
"pc:3474",
"pc:3955",
"pc:4075",
"pc:4189"
],
"recommendation": "Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.",
"exploit_scenario": "Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability."
}
|
| low | other | codex | Return-data handling for external calls is unclear | 65 | no | — |
viewevidence_json{
"evidence": "`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.",
"locations": [
"pc:3271",
"pc:3474",
"pc:11101"
],
"recommendation": "Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.",
"exploit_scenario": "If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain."
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 28
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 24
}
|