019c0ea9-0881-7272-8ad3-993262b19dcd
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 |
|---|---|---|---|---|
| 41844 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41845 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41846 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41847 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41848 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41849 | detector.run | complete | 1 / 3 | 2 months ago |
| 41850 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42342 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best‑effort and function context is unknown from bytecode alone.","findings":[{"severity":"medium","category":"other","title":"Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear)","exploit_scenario":"If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths.","recommendation":"Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.","evidence":"Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.","locations":["pc:5097"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-gts4u8u4
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f38-a765-77f1-b59e-0f2a3f6390ed
--------
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
exec
/bin/bash -lc ls in /tmp/codex-gts4u8u4 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 succeeded in 8ms:
{
"analysis_artifact": {
"address": "0x44664edd1785266e8c5c23492dc73836136866bc",
"artifact_hash": "0x328f0806459de1692818905a4b56e40bd5b063bb4deb9a4b2a440c1d32ecd408",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 10,
"hash": "0xdaaf7f03b4bc1e2628a224b9877f2a550687bbd69e1f4f355d3c48d3632d09ee",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"CALLDATASIZE",
"ISZERO",
"PUSH2",
"JUMPI"
exec
/bin/bash -lc 'rg -n "5097" BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 succeeded in 6ms:
1232: "hash": "0xb40b9d3c75088f06a41efa7c95f36f900fb5c8c205210f509791c5244763d97e",
6998: "pc": 5097,
16019: "to": "call:5097",
16023: "from": "call:5097",
16598: "hash": "0xb40b9d3c75088f06a41efa7c95f36f900fb5c8c205210f509791c5244763d97e",
18935: "id": "call:5097",
18937: "pc": 5097,
19085: "pc": 5097,
19123: "pc": 5097,
exec
/bin/bash -lc "sed -n '18780,19060p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 32ms:
{
"end_pc": 5537,
"hash": "0x015a5df4bb5be033dd7434207ef8fcc9ead61d87a26675fe01558fffd18de5cc",
"id": "bb:5524",
"start_pc": 5524,
"type": "basic_block"
},
{
"end_pc": 5559,
"hash": "0xd63474fdfa1dba1c94c0177384196a4e1a4c526e70c1bc2a115efbedcdf0077c",
"id": "bb:5538",
"start_pc": 5538,
"type": "basic_block"
},
{
"end_pc": 5560,
"hash": "0xf03d6c102acc781df11d731f2d916c1c004bab6b97877910e5d125663e7f6116",
"id": "bb:5560",
"start_pc": 5560,
"type": "basic_block"
exec
/bin/bash -lc "sed -n '15960,16120p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 18ms:
"type": "entry"
},
{
"from": "fn:0x9ace38c2",
"to": "bb:2699460139",
"type": "entry"
},
{
"from": "fn:0xa0e67e2b",
"to": "bb:2829837978",
"type": "entry"
},
{
"from": "fn:0xa8abe69a",
"to": "bb:3051110595",
"type": "entry"
},
{
"from": "fn:0xb5dc40c3",
"to": "bb:3078354432",
exec
/bin/bash -lc 'rg -n "start_pc": 5075 BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 exited 2 in 9ms:
rg: 5075: No such file or directory (os error 2)
exec
/bin/bash -lc "rg -n '\"start_pc\": 5075' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 6ms:
6260: "start_pc": 5075
18651: "start_pc": 5075,
exec
/bin/bash -lc "sed -n '6200,6325p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 10ms:
"OP_90",
"PUSH1",
"ADD",
"OP_90",
"PUSH1",
"ADD",
"OP_80",
"OP_83",
"GT",
"PUSH2",
"JUMPI"
],
"start_pc": 5046
},
{
"end_pc": 5074,
"hash": "0x585dc291c76c9b990f6142d2dd0d39e59fd6ff5259292d654f07a7bcabec7cfb",
"opcodes": [
"OP_82",
"OP_90",
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 succeeded in 9ms:
9292: "storage": {
9491: "storage": {
9690: "storage": {
9889: "storage": {
10088: "storage": {
10287: "storage": {
10486: "storage": {
10685: "storage": {
10884: "storage": {
11083: "storage": {
11282: "storage": {
11481: "storage": {
11680: "storage": {
11879: "storage": {
12078: "storage": {
12277: "storage": {
12476: "storage": {
12675: "storage": {
12874: "storage": {
13073: "storage": {
exec
/bin/bash -lc "sed -n '13470,13540p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 6ms:
"0x9ace38c2",
"0xa0e67e2b",
"0xa8abe69a",
"0xb5dc40c3",
"0xb77bf600",
"0xba51a6df",
"0xc01a8c84",
"0xc6427474",
"0xd74f8edd",
"0xdc8452cd",
"0xe20056e6",
"0xee22610b"
],
"sinks": {
"call": 1,
"create": 0,
"create2": 0,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 0,
exec
/bin/bash -lc "sed -n '13540,13680p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 7ms:
},
{
"op": "SLOAD",
"pc": 2002,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 2360,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
},
{
"op": "SLOAD",
"pc": 2562,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
},
{
"op": "SLOAD",
"pc": 2570,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
exec
/bin/bash -lc "sed -n '4960,5115p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 9ms:
"JUMPI"
],
"start_pc": 3899
},
{
"end_pc": 3930,
"hash": "0x536462a8a085fae195ebcae8517987db7fd33107e2c549a4247cb80db9a5ea5a",
"opcodes": [
"PUSH1",
"OP_80",
"REVERT"
],
"start_pc": 3927
},
{
"end_pc": 3944,
"hash": "0x010d8d1e10d95154cde49477ad0ae5c7be6668d7f4734d67f2f23dcfd21928fe",
"opcodes": [
"JUMPDEST",
"PUSH1",
exec
/bin/bash -lc "sed -n '6120,6220p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 8ms:
"SLOAD",
"PUSH1",
"OP_81",
"PUSH1",
"AND",
"ISZERO",
"PUSH2",
"MUL",
"SUB",
"AND",
"PUSH1",
"OP_90",
"DIV",
"OP_80",
"ISZERO",
"PUSH2",
"JUMPI"
],
"start_pc": 4919
},
exec
/bin/bash -lc "sed -n '18900,19060p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 10ms:
"end_pc": 5754,
"hash": "0x3940718c5d36b25c1ea86d89fb42ed5f9cdb42f3964e1aea42ef20a70574c091",
"id": "bb:5744",
"start_pc": 5744,
"type": "basic_block"
},
{
"end_pc": 5758,
"hash": "0xc7c0d613ab4b4eff6214cced075ba7954569fd720f8052a8ed25ca204db5ebca",
"id": "bb:5755",
"start_pc": 5755,
"type": "basic_block"
},
{
"end_pc": 5761,
"hash": "0x419dafc0563dc4cf0d9ae5320d9b1fd39bad4fc24c1d41045d8b8e55556d287a",
"id": "bb:5759",
"start_pc": 5759,
"type": "basic_block"
},
exec
/bin/bash -lc "sed -n '19060,19160p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 7ms:
"id": "fn:0xe20056e6",
"selector": "0xe20056e6",
"type": "function"
},
{
"entry_pc": null,
"id": "fn:0xee22610b",
"selector": "0xee22610b",
"type": "function"
}
],
"version": "capability_graph_v1"
},
"id": 1288,
"updated_at": "2026-01-30T11:29:54.000000Z",
"version": "capability_graph_v1"
},
"detector_findings": [
{
"confidence": 60,
codex
{"no_findings":false,"summary":"Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best‑effort and function context is unknown from bytecode alone.","findings":[{"severity":"medium","category":"other","title":"Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear)","exploit_scenario":"If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths.","recommendation":"Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.","evidence":"Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.","locations":["pc:5097"]}]}
tokens used
40,542
{
"codex": {
"ran_at": "2026-01-30T14:07:01.310140+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 11614,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best\u2011effort and function context is unknown from bytecode alone.",
"raw_final": {
"summary": "Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best\u2011effort and function context is unknown from bytecode alone.",
"findings": [
{
"title": "Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear)",
"category": "other",
"evidence": "Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.",
"severity": "medium",
"locations": [
"pc:5097"
],
"recommendation": "Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.",
"exploit_scenario": "If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: ISZERO 00000007: PUSH2 0x011a 0000000a: JUMPI 0000000b: PUSH4 0xffffffff 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: PUSH1 0x00 00000030: CALLDATALOAD 00000031: DIV 00000032: AND 00000033: PUSH4 0x025e7c27 00000038: DUP2 00000039: EQ 0000003a: PUSH2 0x0165 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0x173825d9 00000044: EQ 00000045: PUSH2 0x0197 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0x20ea8d86 0000004f: EQ 00000050: PUSH2 0x01b8 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0x2f54bf6e 0000005a: EQ 0000005b: PUSH2 0x01d0 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0x3411c81c 00000065: EQ 00000066: PUSH2 0x0203 00000069: JUMPI 0000006a: DUP1 0000006b: PUSH4 0x54741525 00000070: EQ 00000071: PUSH2 0x0239 00000074: JUMPI 00000075: DUP1 00000076: PUSH4 0x7065cb48 0000007b: EQ 0000007c: PUSH2 0x0268 0000007f: JUMPI 00000080: DUP1 00000081: PUSH4 0x784547a7 00000086: EQ 00000087: PUSH2 0x0289 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x8b51d13f 00000091: EQ 00000092: PUSH2 0x02b3 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x9ace38c2 0000009c: EQ 0000009d: PUSH2 0x02db 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xa0e67e2b 000000a7: EQ 000000a8: PUSH2 0x039a 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xa8abe69a 000000b2: EQ 000000b3: PUSH2 0x0401 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xb5dc40c3 000000bd: EQ 000000be: PUSH2 0x0478 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xb77bf600 000000c8: EQ 000000c9: PUSH2 0x04e2 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xba51a6df 000000d3: EQ 000000d4: PUSH2 0x0507 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0xc01a8c84 000000de: EQ 000000df: PUSH2 0x051f 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0xc6427474 000000e9: EQ 000000ea: PUSH2 0x0537 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0xd74f8edd 000000f4: EQ 000000f5: PUSH2 0x05ae 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0xdc8452cd 000000ff: EQ 00000100: PUSH2 0x05d3 00000103: JUMPI 00000104: DUP1 00000105: PUSH4 0xe20056e6 0000010a: EQ 0000010b: PUSH2 0x05f8 0000010e: JUMPI 0000010f: DUP1 00000110: PUSH4 0xee22610b 00000115: EQ 00000116: PUSH2 0x061f 00000119: JUMPI 0000011a: JUMPDEST 0000011b: JUMPDEST 0000011c: PUSH1 0x00 0000011e: CALLVALUE 0000011f: GT 00000120: ISZERO 00000121: PUSH2 0x0162 00000124: JUMPI 00000125: CALLER 00000126: PUSH1 0x01 00000128: PUSH1 0xa0 0000012a: PUSH1 0x02 0000012c: EXP 0000012d: SUB 0000012e: AND 0000012f: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 00000150: CALLVALUE 00000151: PUSH1 0x40 00000153: MLOAD 00000154: SWAP1 00000155: DUP2 00000156: MSTORE 00000157: PUSH1 0x20 00000159: ADD 0000015a: PUSH1 0x40 0000015c: MLOAD 0000015d: DUP1 0000015e: SWAP2 0000015f: SUB 00000160: SWAP1 00000161: LOG2 00000162: JUMPDEST 00000163: JUMPDEST 00000164: STOP 00000165: JUMPDEST 00000166: CALLVALUE 00000167: ISZERO 00000168: PUSH2 0x0170 0000016b: JUMPI 0000016c: PUSH1 0x00 0000016e: DUP1 0000016f: REVERT 00000170: JUMPDEST 00000171: PUSH2 0x017b 00000174: PUSH1 0x04 00000176: CALLDATALOAD 00000177: PUSH2 0x0637 0000017a: JUMP 0000017b: JUMPDEST 0000017c: PUSH1 0x40 0000017e: MLOAD 0000017f: PUSH1 0x01 00000181: PUSH1 0xa0 00000183: PUSH1 0x02 00000185: EXP 00000186: SUB 00000187: SWAP1 00000188: SWAP2 00000189: AND 0000018a: DUP2 0000018b: MSTORE 0000018c: PUSH1 0x20 0000018e: ADD 0000018f: PUSH1 0x40 00000191: MLOAD 00000192: DUP1 00000193: SWAP2 00000194: SUB 00000195: SWAP1 00000196: RETURN 00000197: JUMPDEST 00000198: CALLVALUE 00000199: ISZERO 0000019a: PUSH2 0x01a2 0000019d: JUMPI 0000019e: PUSH1 0x00 000001a0: DUP1 000001a1: REVERT 000001a2: JUMPDEST 000001a3: PUSH2 0x0162 000001a6: PUSH1 0x01 000001a8: PUSH1 0xa0 000001aa: PUSH1 0x02 000001ac: EXP 000001ad: SUB 000001ae: PUSH1 0x04 000001b0: CALLDATALOAD 000001b1: AND 000001b2: PUSH2 0x0669 000001b5: JUMP 000001b6: JUMPDEST 000001b7: STOP 000001b8: JUMPDEST 000001b9: CALLVALUE 000001ba: ISZERO 000001bb: PUSH2 0x01c3 000001be: JUMPI 000001bf: PUSH1 0x00 000001c1: DUP1 000001c2: REVERT 000001c3: JUMPDEST 000001c4: PUSH2 0x0162 000001c7: PUSH1 0x04 000001c9: CALLDATALOAD 000001ca: PUSH2 0x081a 000001cd: JUMP 000001ce: JUMPDEST 000001cf: STOP 000001d0: JUMPDEST 000001d1: CALLVALUE 000001d2: ISZERO 000001d3: PUSH2 0x01db 000001d6: JUMPI 000001d7: PUSH1 0x00 000001d9: DUP1 000001da: REVERT 000001db: JUMPDEST 000001dc: PUSH2 0x01ef 000001df: PUSH1 0x01 000001e1: PUSH1 0xa0 000001e3: PUSH1 0x02 000001e5: EXP 000001e6: SUB 000001e7: PUSH1 0x04 000001e9: CALLDATALOAD 000001ea: AND 000001eb: PUSH2 0x08fc 000001ee: JUMP 000001ef: JUMPDEST 000001f0: PUSH1 0x40 000001f2: MLOAD 000001f3: SWAP1 000001f4: ISZERO 000001f5: ISZERO 000001f6: DUP2 000001f7: MSTORE 000001f8: PUSH1 0x20 000001fa: ADD 000001fb: PUSH1 0x40 000001fd: MLOAD 000001fe: DUP1 000001ff: SWAP2 00000200: SUB 00000201: SWAP1 00000202: RETURN 00000203: JUMPDEST 00000204: CALLVALUE 00000205: ISZERO 00000206: PUSH2 0x020e 00000209: JUMPI 0000020a: PUSH1 0x00 0000020c: DUP1 0000020d: REVERT 0000020e: JUMPDEST 0000020f: PUSH2 0x01ef 00000212: PUSH1 0x04 00000214: CALLDATALOAD 00000215: PUSH1 0x01 00000217: PUSH1 0xa0 00000219: PUSH1 0x02 0000021b: EXP 0000021c: SUB 0000021d: PUSH1 0x24 0000021f: CALLDATALOAD 00000220: AND 00000221: PUSH2 0x0911 00000224: JUMP 00000225: JUMPDEST 00000226: PUSH1 0x40 00000228: MLOAD 00000229: SWAP1 0000022a: ISZERO 0000022b: ISZERO 0000022c: DUP2 0000022d: MSTORE 0000022e: PUSH1 0x20 00000230: ADD 00000231: PUSH1 0x40 00000233: MLOAD 00000234: DUP1 00000235: SWAP2 00000236: SUB 00000237: SWAP1 00000238: RETURN 00000239: JUMPDEST 0000023a: CALLVALUE 0000023b: ISZERO 0000023c: PUSH2 0x0244 0000023f: JUMPI 00000240: PUSH1 0x00 00000242: DUP1 00000243: REVERT 00000244: JUMPDEST 00000245: PUSH2 0x0256 00000248: PUSH1 0x04 0000024a: CALLDATALOAD 0000024b: ISZERO 0000024c: ISZERO 0000024d: PUSH1 0x24 0000024f: CALLDATALOAD 00000250: ISZERO 00000251: ISZERO 00000252: PUSH2 0x0931 00000255: JUMP 00000256: JUMPDEST 00000257: PUSH1 0x40 00000259: MLOAD 0000025a: SWAP1 0000025b: DUP2 0000025c: MSTORE 0000025d: PUSH1 0x20 0000025f: ADD 00000260: PUSH1 0x40 00000262: MLOAD 00000263: DUP1 00000264: SWAP2 00000265: SUB 00000266: SWAP1 00000267: RETURN 00000268: JUMPDEST 00000269: CALLVALUE 0000026a: ISZERO 0000026b: PUSH2 0x0273 0000026e: JUMPI 0000026f: PUSH1 0x00 00000271: DUP1 00000272: REVERT 00000273: JUMPDEST 00000274: PUSH2 0x0162 00000277: PUSH1 0x01 00000279: PUSH1 0xa0 0000027b: PUSH1 0x02 0000027d: EXP 0000027e: SUB 0000027f: PUSH1 0x04 00000281: CALLDATALOAD 00000282: AND 00000283: PUSH2 0x09a0 00000286: JUMP 00000287: JUMPDEST 00000288: STOP 00000289: JUMPDEST 0000028a: CALLVALUE 0000028b: ISZERO 0000028c: PUSH2 0x0294 0000028f: JUMPI 00000290: PUSH1 0x00 00000292: DUP1 00000293: REVERT 00000294: JUMPDEST 00000295: PUSH2 0x01ef 00000298: PUSH1 0x04 0000029a: CALLDATALOAD 0000029b: PUSH2 0x0ad5 0000029e: JUMP 0000029f: JUMPDEST 000002a0: PUSH1 0x40 000002a2: MLOAD 000002a3: SWAP1 000002a4: ISZERO 000002a5: ISZERO 000002a6: DUP2 000002a7: MSTORE 000002a8: PUSH1 0x20 000002aa: ADD 000002ab: PUSH1 0x40 000002ad: MLOAD 000002ae: DUP1 000002af: SWAP2 000002b0: SUB 000002b1: SWAP1 000002b2: RETURN 000002b3: JUMPDEST 000002b4: CALLVALUE 000002b5: ISZERO 000002b6: PUSH2 0x02be 000002b9: JUMPI 000002ba: PUSH1 0x00 000002bc: DUP1 000002bd: REVERT 000002be: JUMPDEST 000002bf: PUSH2 0x0256 000002c2: PUSH1 0x04 000002c4: CALLDATALOAD 000002c5: PUSH2 0x0b69 000002c8: JUMP 000002c9: JUMPDEST 000002ca: PUSH1 0x40 000002cc: MLOAD 000002cd: SWAP1 000002ce: DUP2 000002cf: MSTORE 000002d0: PUSH1 0x20 000002d2: ADD 000002d3: PUSH1 0x40 000002d5: MLOAD 000002d6: DUP1 000002d7: SWAP2 000002d8: SUB 000002d9: SWAP1 000002da: RETURN 000002db: JUMPDEST 000002dc: CALLVALUE 000002dd: ISZERO 000002de: PUSH2 0x02e6 000002e1: JUMPI 000002e2: PUSH1 0x00 000002e4: DUP1 000002e5: REVERT 000002e6: JUMPDEST 000002e7: PUSH2 0x02f1 000002ea: PUSH1 0x04 000002ec: CALLDATALOAD 000002ed: PUSH2 0x0be8 000002f0: JUMP 000002f1: JUMPDEST 000002f2: PUSH1 0x40 000002f4: MLOAD 000002f5: PUSH1 0x01 000002f7: PUSH1 0xa0 000002f9: PUSH1 0x02 000002fb: EXP 000002fc: SUB 000002fd: DUP6 000002fe: AND 000002ff: DUP2 00000300: MSTORE 00000301: PUSH1 0x20 00000303: DUP2 00000304: ADD 00000305: DUP5 00000306: SWAP1 00000307: MSTORE 00000308: DUP2 00000309: ISZERO 0000030a: ISZERO 0000030b: PUSH1 0x60 0000030d: DUP3 0000030e: ADD 0000030f: MSTORE 00000310: PUSH1 0x80 00000312: PUSH1 0x40 00000314: DUP3 00000315: ADD 00000316: DUP2 00000317: DUP2 00000318: MSTORE 00000319: DUP5 0000031a: SLOAD 0000031b: PUSH1 0x02 0000031d: PUSH1 0x00 0000031f: NOT 00000320: PUSH2 0x0100 00000323: PUSH1 0x01 00000325: DUP5 00000326: AND 00000327: ISZERO 00000328: MUL 00000329: ADD 0000032a: SWAP1 0000032b: SWAP2 0000032c: AND 0000032d: DIV 0000032e: SWAP2 0000032f: DUP4 00000330: ADD 00000331: DUP3 00000332: SWAP1 00000333: MSTORE 00000334: SWAP1 00000335: PUSH1 0xa0 00000337: DUP4 00000338: ADD 00000339: SWAP1 0000033a: DUP6 0000033b: SWAP1 0000033c: DUP1 0000033d: ISZERO 0000033e: PUSH2 0x0388 00000341: JUMPI 00000342: DUP1 00000343: PUSH1 0x1f 00000345: LT 00000346: PUSH2 0x035d 00000349: JUMPI 0000034a: PUSH2 0x0100 0000034d: DUP1 0000034e: DUP4 0000034f: SLOAD 00000350: DIV 00000351: MUL 00000352: DUP4 00000353: MSTORE 00000354: SWAP2 00000355: PUSH1 0x20 00000357: ADD 00000358: SWAP2 00000359: PUSH2 0x0388 0000035c: JUMP 0000035d: JUMPDEST 0000035e: DUP3 0000035f: ADD 00000360: SWAP2 00000361: SWAP1 00000362: PUSH1 0x00 00000364: MSTORE 00000365: PUSH1 0x20 00000367: PUSH1 0x00 00000369: KECCAK256 0000036a: SWAP1 0000036b: JUMPDEST 0000036c: DUP2 0000036d: SLOAD 0000036e: DUP2 0000036f: MSTORE 00000370: SWAP1 00000371: PUSH1 0x01 00000373: ADD 00000374: SWAP1 00000375: PUSH1 0x20 00000377: ADD 00000378: DUP1 00000379: DUP4 0000037a: GT 0000037b: PUSH2 0x036b 0000037e: JUMPI 0000037f: DUP3 00000380: SWAP1 00000381: SUB 00000382: PUSH1 0x1f 00000384: AND 00000385: DUP3 00000386: ADD 00000387: SWAP2 00000388: JUMPDEST 00000389: POP 0000038a: POP 0000038b: SWAP6 0000038c: POP 0000038d: POP 0000038e: POP 0000038f: POP 00000390: POP 00000391: POP 00000392: PUSH1 0x40 00000394: MLOAD 00000395: DUP1 00000396: SWAP2 00000397: SUB 00000398: SWAP1 00000399: RETURN 0000039a: JUMPDEST 0000039b: CALLVALUE 0000039c: ISZERO 0000039d: PUSH2 0x03a5 000003a0: JUMPI 000003a1: PUSH1 0x00 000003a3: DUP1 000003a4: REVERT 000003a5: JUMPDEST 000003a6: PUSH2 0x03ad 000003a9: PUSH2 0x0c1c 000003ac: JUMP 000003ad: JUMPDEST 000003ae: PUSH1 0x40 000003b0: MLOAD 000003b1: PUSH1 0x20 000003b3: DUP1 000003b4: DUP3 000003b5: MSTORE 000003b6: DUP2 000003b7: SWAP1 000003b8: DUP2 000003b9: ADD 000003ba: DUP4 000003bb: DUP2 000003bc: DUP2 000003bd: MLOAD 000003be: DUP2 000003bf: MSTORE 000003c0: PUSH1 0x20 000003c2: ADD 000003c3: SWAP2 000003c4: POP 000003c5: DUP1 000003c6: MLOAD 000003c7: SWAP1 000003c8: PUSH1 0x20 000003ca: ADD 000003cb: SWAP1 000003cc: PUSH1 0x20 000003ce: MUL 000003cf: DUP1 000003d0: DUP4 000003d1: DUP4 000003d2: PUSH1 0x00 000003d4: JUMPDEST 000003d5: DUP4 000003d6: DUP2 000003d7: LT 000003d8: ISZERO 000003d9: PUSH2 0x03ed 000003dc: JUMPI 000003dd: DUP1 000003de: DUP3 000003df: ADD 000003e0: MLOAD 000003e1: DUP2 000003e2: DUP5 000003e3: ADD 000003e4: MSTORE 000003e5: JUMPDEST 000003e6: PUSH1 0x20 000003e8: ADD 000003e9: PUSH2 0x03d4 000003ec: JUMP 000003ed: JUMPDEST 000003ee: POP 000003ef: POP 000003f0: POP 000003f1: POP 000003f2: SWAP1 000003f3: POP 000003f4: ADD 000003f5: SWAP3 000003f6: POP 000003f7: POP 000003f8: POP 000003f9: PUSH1 0x40 000003fb: MLOAD 000003fc: DUP1 000003fd: SWAP2 000003fe: SUB 000003ff: SWAP1 00000400: RETURN 00000401: JUMPDEST 00000402: CALLVALUE 00000403: ISZERO 00000404: PUSH2 0x040c 00000407: JUMPI 00000408: PUSH1 0x00 0000040a: DUP1 0000040b: REVERT 0000040c: JUMPDEST 0000040d: PUSH2 0x03ad 00000410: PUSH1 0x04 00000412: CALLDATALOAD 00000413: PUSH1 0x24 00000415: CALLDATALOAD 00000416: PUSH1 0x44 00000418: CALLDATALOAD 00000419: ISZERO 0000041a: ISZERO 0000041b: PUSH1 0x64 0000041d: CALLDATALOAD 0000041e: ISZERO 0000041f: ISZERO 00000420: PUSH2 0x0c85 00000423: JUMP 00000424: JUMPDEST 00000425: PUSH1 0x40 00000427: MLOAD 00000428: PUSH1 0x20 0000042a: DUP1 0000042b: DUP3 0000042c: MSTORE 0000042d: DUP2 0000042e: SWAP1 0000042f: DUP2 00000430: ADD 00000431: DUP4 00000432: DUP2 00000433: DUP2 00000434: MLOAD 00000435: DUP2 00000436: MSTORE 00000437: PUSH1 0x20 00000439: ADD 0000043a: SWAP2 0000043b: POP 0000043c: DUP1 0000043d: MLOAD 0000043e: SWAP1 0000043f: PUSH1 0x20 00000441: ADD 00000442: SWAP1 00000443: PUSH1 0x20 00000445: MUL 00000446: DUP1 00000447: DUP4 00000448: DUP4 00000449: PUSH1 0x00 0000044b: JUMPDEST 0000044c: DUP4 0000044d: DUP2 0000044e: LT 0000044f: ISZERO 00000450: PUSH2 0x03ed 00000453: JUMPI 00000454: DUP1 00000455: DUP3 00000456: ADD 00000457: MLOAD 00000458: DUP2 00000459: DUP5 0000045a: ADD 0000045b: MSTORE 0000045c: JUMPDEST 0000045d: PUSH1 0x20 0000045f: ADD 00000460: PUSH2 0x03d4 00000463: JUMP 00000464: JUMPDEST 00000465: POP 00000466: POP 00000467: POP 00000468: POP 00000469: SWAP1 0000046a: POP 0000046b: ADD 0000046c: SWAP3 0000046d: POP 0000046e: POP 0000046f: POP 00000470: PUSH1 0x40 00000472: MLOAD 00000473: DUP1 00000474: SWAP2 00000475: SUB 00000476: SWAP1 00000477: RETURN 00000478: JUMPDEST 00000479: CALLVALUE 0000047a: ISZERO 0000047b: PUSH2 0x0483 0000047e: JUMPI 0000047f: PUSH1 0x00 00000481: DUP1 00000482: REVERT 00000483: JUMPDEST 00000484: PUSH2 0x03ad 00000487: PUSH1 0x04 00000489: CALLDATALOAD 0000048a: PUSH2 0x0db3 0000048d: JUMP 0000048e: JUMPDEST 0000048f: PUSH1 0x40 00000491: MLOAD 00000492: PUSH1 0x20 00000494: DUP1 00000495: DUP3 00000496: MSTORE 00000497: DUP2 00000498: SWAP1 00000499: DUP2 0000049a: ADD 0000049b: DUP4 0000049c: DUP2 0000049d: DUP2 0000049e: MLOAD 0000049f: DUP2 000004a0: MSTORE 000004a1: PUSH1 0x20 000004a3: ADD 000004a4: SWAP2 000004a5: POP 000004a6: DUP1 000004a7: MLOAD 000004a8: SWAP1 000004a9: PUSH1 0x20 000004ab: ADD 000004ac: SWAP1 000004ad: PUSH1 0x20 000004af: MUL 000004b0: DUP1 000004b1: DUP4 000004b2: DUP4 000004b3: PUSH1 0x00 000004b5: JUMPDEST 000004b6: DUP4 000004b7: DUP2 000004b8: LT 000004b9: ISZERO 000004ba: PUSH2 0x03ed 000004bd: JUMPI 000004be: DUP1 000004bf: DUP3 000004c0: ADD 000004c1: MLOAD 000004c2: DUP2 000004c3: DUP5 000004c4: ADD 000004c5: MSTORE 000004c6: JUMPDEST 000004c7: PUSH1 0x20 000004c9: ADD 000004ca: PUSH2 0x03d4 000004cd: JUMP 000004ce: JUMPDEST 000004cf: POP 000004d0: POP 000004d1: POP 000004d2: POP 000004d3: SWAP1 000004d4: POP 000004d5: ADD 000004d6: SWAP3 000004d7: POP 000004d8: POP 000004d9: POP 000004da: PUSH1 0x40 000004dc: MLOAD 000004dd: DUP1 000004de: SWAP2 000004df: SUB 000004e0: SWAP1 000004e1: RETURN 000004e2: JUMPDEST 000004e3: CALLVALUE 000004e4: ISZERO 000004e5: PUSH2 0x04ed 000004e8: JUMPI 000004e9: PUSH1 0x00 000004eb: DUP1 000004ec: REVERT 000004ed: JUMPDEST 000004ee: PUSH2 0x0256 000004f1: PUSH2 0x0f35 000004f4: JUMP 000004f5: JUMPDEST 000004f6: PUSH1 0x40 000004f8: MLOAD 000004f9: SWAP1 000004fa: DUP2 000004fb: MSTORE 000004fc: PUSH1 0x20 000004fe: ADD 000004ff: PUSH1 0x40 00000501: MLOAD 00000502: DUP1 00000503: SWAP2 00000504: SUB 00000505: SWAP1 00000506: RETURN 00000507: JUMPDEST 00000508: CALLVALUE 00000509: ISZERO 0000050a: PUSH2 0x0512 0000050d: JUMPI 0000050e: PUSH1 0x00 00000510: DUP1 00000511: REVERT 00000512: JUMPDEST 00000513: PUSH2 0x0162 00000516: PUSH1 0x04 00000518: CALLDATALOAD 00000519: PUSH2 0x0f3b 0000051c: JUMP 0000051d: JUMPDEST 0000051e: STOP 0000051f: JUMPDEST 00000520: CALLVALUE 00000521: ISZERO 00000522: PUSH2 0x052a 00000525: JUMPI 00000526: PUSH1 0x00 00000528: DUP1 00000529: REVERT 0000052a: JUMPDEST 0000052b: PUSH2 0x0162 0000052e: PUSH1 0x04 00000530: CALLDATALOAD 00000531: PUSH2 0x0fc9 00000534: JUMP 00000535: JUMPDEST 00000536: STOP 00000537: JUMPDEST 00000538: CALLVALUE 00000539: ISZERO 0000053a: PUSH2 0x0542 0000053d: JUMPI 0000053e: PUSH1 0x00 00000540: DUP1 00000541: REVERT 00000542: JUMPDEST 00000543: PUSH2 0x0256 00000546: PUSH1 0x04 00000548: DUP1 00000549: CALLDATALOAD 0000054a: PUSH1 0x01 0000054c: PUSH1 0xa0 0000054e: PUSH1 0x02 00000550: EXP 00000551: SUB 00000552: AND 00000553: SWAP1 00000554: PUSH1 0x24 00000556: DUP1 00000557: CALLDATALOAD 00000558: SWAP2 00000559: SWAP1 0000055a: PUSH1 0x64 0000055c: SWAP1 0000055d: PUSH1 0x44 0000055f: CALLDATALOAD 00000560: SWAP1 00000561: DUP2 00000562: ADD 00000563: SWAP1 00000564: DUP4 00000565: ADD 00000566: CALLDATALOAD 00000567: DUP1 00000568: PUSH1 0x20 0000056a: PUSH1 0x1f 0000056c: DUP3 0000056d: ADD 0000056e: DUP2 0000056f: SWAP1 00000570: DIV 00000571: DUP2 00000572: MUL 00000573: ADD 00000574: PUSH1 0x40 00000576: MLOAD 00000577: SWAP1 00000578: DUP2 00000579: ADD 0000057a: PUSH1 0x40 0000057c: MSTORE 0000057d: DUP2 0000057e: DUP2 0000057f: MSTORE 00000580: SWAP3 00000581: SWAP2 00000582: SWAP1 00000583: PUSH1 0x20 00000585: DUP5 00000586: ADD 00000587: DUP4 00000588: DUP4 00000589: DUP1 0000058a: DUP3 0000058b: DUP5 0000058c: CALLDATACOPY 0000058d: POP 0000058e: SWAP5 0000058f: SWAP7 00000590: POP 00000591: PUSH2 0x10bb 00000594: SWAP6 00000595: POP 00000596: POP 00000597: POP 00000598: POP 00000599: POP 0000059a: POP 0000059b: JUMP 0000059c: JUMPDEST 0000059d: PUSH1 0x40 0000059f: MLOAD 000005a0: SWAP1 000005a1: DUP2 000005a2: MSTORE 000005a3: PUSH1 0x20 000005a5: ADD 000005a6: PUSH1 0x40 000005a8: MLOAD 000005a9: DUP1 000005aa: SWAP2 000005ab: SUB 000005ac: SWAP1 000005ad: RETURN 000005ae: JUMPDEST 000005af: CALLVALUE 000005b0: ISZERO 000005b1: PUSH2 0x05b9 000005b4: JUMPI 000005b5: PUSH1 0x00 000005b7: DUP1 000005b8: REVERT 000005b9: JUMPDEST 000005ba: PUSH2 0x0256 000005bd: PUSH2 0x10db 000005c0: JUMP 000005c1: JUMPDEST 000005c2: PUSH1 0x40 000005c4: MLOAD 000005c5: SWAP1 000005c6: DUP2 000005c7: MSTORE 000005c8: PUSH1 0x20 000005ca: ADD 000005cb: PUSH1 0x40 000005cd: MLOAD 000005ce: DUP1 000005cf: SWAP2 000005d0: SUB 000005d1: SWAP1 000005d2: RETURN 000005d3: JUMPDEST 000005d4: CALLVALUE 000005d5: ISZERO 000005d6: PUSH2 0x05de 000005d9: JUMPI 000005da: PUSH1 0x00 000005dc: DUP1 000005dd: REVERT 000005de: JUMPDEST 000005df: PUSH2 0x0256 000005e2: PUSH2 0x10e0 000005e5: JUMP 000005e6: JUMPDEST 000005e7: PUSH1 0x40 000005e9: MLOAD 000005ea: SWAP1 000005eb: DUP2 000005ec: MSTORE 000005ed: PUSH1 0x20 000005ef: ADD 000005f0: PUSH1 0x40 000005f2: MLOAD 000005f3: DUP1 000005f4: SWAP2 000005f5: SUB 000005f6: SWAP1 000005f7: RETURN 000005f8: JUMPDEST 000005f9: CALLVALUE 000005fa: ISZERO 000005fb: PUSH2 0x0603 000005fe: JUMPI 000005ff: PUSH1 0x00 00000601: DUP1 00000602: REVERT 00000603: JUMPDEST 00000604: PUSH2 0x0162 00000607: PUSH1 0x01 00000609: PUSH1 0xa0 0000060b: PUSH1 0x02 0000060d: EXP 0000060e: SUB 0000060f: PUSH1 0x04 00000611: CALLDATALOAD 00000612: DUP2 00000613: AND 00000614: SWAP1 00000615: PUSH1 0x24 00000617: CALLDATALOAD 00000618: AND 00000619: PUSH2 0x10e6 0000061c: JUMP 0000061d: JUMPDEST 0000061e: STOP 0000061f: JUMPDEST 00000620: CALLVALUE 00000621: ISZERO 00000622: PUSH2 0x062a 00000625: JUMPI 00000626: PUSH1 0x00 00000628: DUP1 00000629: REVERT 0000062a: JUMPDEST 0000062b: PUSH2 0x0162 0000062e: PUSH1 0x04 00000630: CALLDATALOAD 00000631: PUSH2 0x12a7 00000634: JUMP 00000635: JUMPDEST 00000636: STOP 00000637: JUMPDEST 00000638: PUSH1 0x03 0000063a: DUP1 0000063b: SLOAD 0000063c: DUP3 0000063d: SWAP1 0000063e: DUP2 0000063f: LT 00000640: PUSH2 0x0645 00000643: JUMPI 00000644: INVALID 00000645: JUMPDEST 00000646: SWAP1 00000647: PUSH1 0x00 00000649: MSTORE 0000064a: PUSH1 0x20 0000064c: PUSH1 0x00 0000064e: KECCAK256 0000064f: SWAP1 00000650: ADD 00000651: PUSH1 0x00 00000653: JUMPDEST 00000654: SWAP2 00000655: POP 00000656: SLOAD 00000657: SWAP1 00000658: PUSH2 0x0100 0000065b: EXP 0000065c: SWAP1 0000065d: DIV 0000065e: PUSH1 0x01 00000660: PUSH1 0xa0 00000662: PUSH1 0x02 00000664: EXP 00000665: SUB 00000666: AND 00000667: DUP2 00000668: JUMP 00000669: JUMPDEST 0000066a: PUSH1 0x00 0000066c: ADDRESS 0000066d: PUSH1 0x01 0000066f: PUSH1 0xa0 00000671: PUSH1 0x02 00000673: EXP 00000674: SUB 00000675: AND 00000676: CALLER 00000677: PUSH1 0x01 00000679: PUSH1 0xa0 0000067b: PUSH1 0x02 0000067d: EXP 0000067e: SUB 0000067f: AND 00000680: EQ 00000681: ISZERO 00000682: ISZERO 00000683: PUSH2 0x068b 00000686: JUMPI 00000687: PUSH1 0x00 00000689: DUP1 0000068a: REVERT 0000068b: JUMPDEST 0000068c: PUSH1 0x01 0000068e: PUSH1 0xa0 00000690: PUSH1 0x02 00000692: EXP 00000693: SUB 00000694: DUP3 00000695: AND 00000696: PUSH1 0x00 00000698: SWAP1 00000699: DUP2 0000069a: MSTORE 0000069b: PUSH1 0x02 0000069d: PUSH1 0x20 0000069f: MSTORE 000006a0: PUSH1 0x40 000006a2: SWAP1 000006a3: KECCAK256 000006a4: SLOAD 000006a5: DUP3 000006a6: SWAP1 000006a7: PUSH1 0xff 000006a9: AND 000006aa: ISZERO 000006ab: ISZERO 000006ac: PUSH2 0x06b4 000006af: JUMPI 000006b0: PUSH1 0x00 000006b2: DUP1 000006b3: REVERT 000006b4: JUMPDEST 000006b5: PUSH1 0x01 000006b7: PUSH1 0xa0 000006b9: PUSH1 0x02 000006bb: EXP 000006bc: SUB 000006bd: DUP4 000006be: AND 000006bf: PUSH1 0x00 000006c1: SWAP1 000006c2: DUP2 000006c3: MSTORE 000006c4: PUSH1 0x02 000006c6: PUSH1 0x20 000006c8: MSTORE 000006c9: PUSH1 0x40 000006cb: DUP2 000006cc: KECCAK256 000006cd: DUP1 000006ce: SLOAD 000006cf: PUSH1 0xff 000006d1: NOT 000006d2: AND 000006d3: SWAP1 000006d4: SSTORE 000006d5: SWAP2 000006d6: POP 000006d7: JUMPDEST 000006d8: PUSH1 0x03 000006da: SLOAD 000006db: PUSH1 0x00 000006dd: NOT 000006de: ADD 000006df: DUP3 000006e0: LT 000006e1: ISZERO 000006e2: PUSH2 0x07af 000006e5: JUMPI 000006e6: DUP3 000006e7: PUSH1 0x01 000006e9: PUSH1 0xa0 000006eb: PUSH1 0x02 000006ed: EXP 000006ee: SUB 000006ef: AND 000006f0: PUSH1 0x03 000006f2: DUP4 000006f3: DUP2 000006f4: SLOAD 000006f5: DUP2 000006f6: LT 000006f7: ISZERO 000006f8: ISZERO 000006f9: PUSH2 0x06fe 000006fc: JUMPI 000006fd: INVALID 000006fe: JUMPDEST 000006ff: SWAP1 00000700: PUSH1 0x00 00000702: MSTORE 00000703: PUSH1 0x20 00000705: PUSH1 0x00 00000707: KECCAK256 00000708: SWAP1 00000709: ADD 0000070a: PUSH1 0x00 0000070c: JUMPDEST 0000070d: SWAP1 0000070e: SLOAD 0000070f: SWAP1 00000710: PUSH2 0x0100 00000713: EXP 00000714: SWAP1 00000715: DIV 00000716: PUSH1 0x01 00000718: PUSH1 0xa0 0000071a: PUSH1 0x02 0000071c: EXP 0000071d: SUB 0000071e: AND 0000071f: PUSH1 0x01 00000721: PUSH1 0xa0 00000723: PUSH1 0x02 00000725: EXP 00000726: SUB 00000727: AND 00000728: EQ 00000729: ISZERO 0000072a: PUSH2 0x07a3 0000072d: JUMPI 0000072e: PUSH1 0x03 00000730: DUP1 00000731: SLOAD 00000732: PUSH1 0x00 00000734: NOT 00000735: DUP2 00000736: ADD 00000737: SWAP1 00000738: DUP2 00000739: LT 0000073a: PUSH2 0x073f 0000073d: JUMPI 0000073e: INVALID 0000073f: JUMPDEST 00000740: SWAP1 00000741: PUSH1 0x00 00000743: MSTORE 00000744: PUSH1 0x20 00000746: PUSH1 0x00 00000748: KECCAK256 00000749: SWAP1 0000074a: ADD 0000074b: PUSH1 0x00 0000074d: JUMPDEST 0000074e: SWAP1 0000074f: SLOAD 00000750: SWAP1 00000751: PUSH2 0x0100 00000754: EXP 00000755: SWAP1 00000756: DIV 00000757: PUSH1 0x01 00000759: PUSH1 0xa0 0000075b: PUSH1 0x02 0000075d: EXP 0000075e: SUB 0000075f: AND 00000760: PUSH1 0x03 00000762: DUP4 00000763: DUP2 00000764: SLOAD 00000765: DUP2 00000766: LT 00000767: ISZERO 00000768: ISZERO 00000769: PUSH2 0x076e 0000076c: JUMPI 0000076d: INVALID 0000076e: JUMPDEST 0000076f: SWAP1 00000770: PUSH1 0x00 00000772: MSTORE 00000773: PUSH1 0x20 00000775: PUSH1 0x00 00000777: KECCAK256 00000778: SWAP1 00000779: ADD 0000077a: PUSH1 0x00 0000077c: JUMPDEST 0000077d: PUSH2 0x0100 00000780: EXP 00000781: DUP2 00000782: SLOAD 00000783: DUP2 00000784: PUSH1 0x01 00000786: PUSH1 0xa0 00000788: PUSH1 0x02 0000078a: EXP 0000078b: SUB 0000078c: MUL 0000078d: NOT 0000078e: AND 0000078f: SWAP1 00000790: DUP4 00000791: PUSH1 0x01 00000793: PUSH1 0xa0 00000795: PUSH1 0x02 00000797: EXP 00000798: SUB 00000799: AND 0000079a: MUL 0000079b: OR 0000079c: SWAP1 0000079d: SSTORE 0000079e: POP 0000079f: PUSH2 0x07af 000007a2: JUMP 000007a3: JUMPDEST 000007a4: JUMPDEST 000007a5: PUSH1 0x01 000007a7: SWAP1 000007a8: SWAP2 000007a9: ADD 000007aa: SWAP1 000007ab: PUSH2 0x06d7 000007ae: JUMP 000007af: JUMPDEST 000007b0: PUSH1 0x03 000007b2: DUP1 000007b3: SLOAD 000007b4: PUSH1 0x00 000007b6: NOT 000007b7: ADD 000007b8: SWAP1 000007b9: PUSH2 0x07c2 000007bc: SWAP1 000007bd: DUP3 000007be: PUSH2 0x156a 000007c1: JUMP 000007c2: JUMPDEST 000007c3: POP 000007c4: PUSH1 0x03 000007c6: SLOAD 000007c7: PUSH1 0x04 000007c9: SLOAD 000007ca: GT 000007cb: ISZERO 000007cc: PUSH2 0x07db 000007cf: JUMPI 000007d0: PUSH1 0x03 000007d2: SLOAD 000007d3: PUSH2 0x07db 000007d6: SWAP1 000007d7: PUSH2 0x0f3b 000007da: JUMP 000007db: JUMPDEST 000007dc: JUMPDEST 000007dd: DUP3 000007de: PUSH1 0x01 000007e0: PUSH1 0xa0 000007e2: PUSH1 0x02 000007e4: EXP 000007e5: SUB 000007e6: AND 000007e7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00000808: PUSH1 0x40 0000080a: MLOAD 0000080b: PUSH1 0x40 0000080d: MLOAD 0000080e: DUP1 0000080f: SWAP2 00000810: SUB 00000811: SWAP1 00000812: LOG2 00000813: JUMPDEST 00000814: JUMPDEST 00000815: POP 00000816: JUMPDEST 00000817: POP 00000818: POP 00000819: JUMP 0000081a: JUMPDEST 0000081b: CALLER 0000081c: PUSH1 0x01 0000081e: PUSH1 0xa0 00000820: PUSH1 0x02 00000822: EXP 00000823: SUB 00000824: DUP2 00000825: AND 00000826: PUSH1 0x00 00000828: SWAP1 00000829: DUP2 0000082a: MSTORE 0000082b: PUSH1 0x02 0000082d: PUSH1 0x20 0000082f: MSTORE 00000830: PUSH1 0x40 00000832: SWAP1 00000833: KECCAK256 00000834: SLOAD 00000835: PUSH1 0xff 00000837: AND 00000838: ISZERO 00000839: ISZERO 0000083a: PUSH2 0x0842 0000083d: JUMPI 0000083e: PUSH1 0x00 00000840: DUP1 00000841: REVERT 00000842: JUMPDEST 00000843: PUSH1 0x00 00000845: DUP3 00000846: DUP2 00000847: MSTORE 00000848: PUSH1 0x01 0000084a: PUSH1 0x20 0000084c: SWAP1 0000084d: DUP2 0000084e: MSTORE 0000084f: PUSH1 0x40 00000851: DUP1 00000852: DUP4 00000853: KECCAK256 00000854: CALLER 00000855: PUSH1 0x01 00000857: PUSH1 0xa0 00000859: PUSH1 0x02 0000085b: EXP 0000085c: SUB 0000085d: DUP2 0000085e: AND 0000085f: DUP6 00000860: MSTORE 00000861: SWAP3 00000862: MSTORE 00000863: SWAP1 00000864: SWAP2 00000865: KECCAK256 00000866: SLOAD 00000867: DUP4 00000868: SWAP2 00000869: SWAP1 0000086a: PUSH1 0xff 0000086c: AND 0000086d: ISZERO 0000086e: ISZERO 0000086f: PUSH2 0x0877 00000872: JUMPI 00000873: PUSH1 0x00 00000875: DUP1 00000876: REVERT 00000877: JUMPDEST 00000878: PUSH1 0x00 0000087a: DUP5 0000087b: DUP2 0000087c: MSTORE 0000087d: PUSH1 0x20 0000087f: DUP2 00000880: SWAP1 00000881: MSTORE 00000882: PUSH1 0x40 00000884: SWAP1 00000885: KECCAK256 00000886: PUSH1 0x03 00000888: ADD 00000889: SLOAD 0000088a: DUP5 0000088b: SWAP1 0000088c: PUSH1 0xff 0000088e: AND 0000088f: ISZERO 00000890: PUSH2 0x0898 00000893: JUMPI 00000894: PUSH1 0x00 00000896: DUP1 00000897: REVERT 00000898: JUMPDEST 00000899: PUSH1 0x00 0000089b: DUP6 0000089c: DUP2 0000089d: MSTORE 0000089e: PUSH1 0x01 000008a0: PUSH1 0x20 000008a2: SWAP1 000008a3: DUP2 000008a4: MSTORE 000008a5: PUSH1 0x40 000008a7: DUP1 000008a8: DUP4 000008a9: KECCAK256 000008aa: PUSH1 0x01 000008ac: PUSH1 0xa0 000008ae: PUSH1 0x02 000008b0: EXP 000008b1: SUB 000008b2: CALLER 000008b3: AND 000008b4: DUP1 000008b5: DUP6 000008b6: MSTORE 000008b7: SWAP3 000008b8: MSTORE 000008b9: SWAP2 000008ba: DUP3 000008bb: SWAP1 000008bc: KECCAK256 000008bd: DUP1 000008be: SLOAD 000008bf: PUSH1 0xff 000008c1: NOT 000008c2: AND 000008c3: SWAP1 000008c4: SSTORE 000008c5: DUP7 000008c6: SWAP2 000008c7: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9 000008e8: SWAP1 000008e9: MLOAD 000008ea: PUSH1 0x40 000008ec: MLOAD 000008ed: DUP1 000008ee: SWAP2 000008ef: SUB 000008f0: SWAP1 000008f1: LOG3 000008f2: JUMPDEST 000008f3: JUMPDEST 000008f4: POP 000008f5: JUMPDEST 000008f6: POP 000008f7: POP 000008f8: JUMPDEST 000008f9: POP 000008fa: POP 000008fb: JUMP 000008fc: JUMPDEST 000008fd: PUSH1 0x02 000008ff: PUSH1 0x20 00000901: MSTORE 00000902: PUSH1 0x00 00000904: SWAP1 00000905: DUP2 00000906: MSTORE 00000907: PUSH1 0x40 00000909: SWAP1 0000090a: KECCAK256 0000090b: SLOAD 0000090c: PUSH1 0xff 0000090e: AND 0000090f: DUP2 00000910: JUMP 00000911: JUMPDEST 00000912: PUSH1 0x01 00000914: PUSH1 0x20 00000916: SWAP1 00000917: DUP2 00000918: MSTORE 00000919: PUSH1 0x00 0000091b: SWAP3 0000091c: DUP4 0000091d: MSTORE 0000091e: PUSH1 0x40 00000920: DUP1 00000921: DUP5 00000922: KECCAK256 00000923: SWAP1 00000924: SWAP2 00000925: MSTORE 00000926: SWAP1 00000927: DUP3 00000928: MSTORE 00000929: SWAP1 0000092a: KECCAK256 0000092b: SLOAD 0000092c: PUSH1 0xff 0000092e: AND 0000092f: DUP2 00000930: JUMP 00000931: JUMPDEST 00000932: PUSH1 0x00 00000934: DUP1 00000935: JUMPDEST 00000936: PUSH1 0x05 00000938: SLOAD 00000939: DUP2 0000093a: LT 0000093b: ISZERO 0000093c: PUSH2 0x0998 0000093f: JUMPI 00000940: DUP4 00000941: DUP1 00000942: ISZERO 00000943: PUSH2 0x095e 00000946: JUMPI 00000947: POP 00000948: PUSH1 0x00 0000094a: DUP2 0000094b: DUP2 0000094c: MSTORE 0000094d: PUSH1 0x20 0000094f: DUP2 00000950: SWAP1 00000951: MSTORE 00000952: PUSH1 0x40 00000954: SWAP1 00000955: KECCAK256 00000956: PUSH1 0x03 00000958: ADD 00000959: SLOAD 0000095a: PUSH1 0xff 0000095c: AND 0000095d: ISZERO 0000095e: JUMPDEST 0000095f: DUP1 00000960: PUSH2 0x0982 00000963: JUMPI 00000964: POP 00000965: DUP3 00000966: DUP1 00000967: ISZERO 00000968: PUSH2 0x0982 0000096b: JUMPI 0000096c: POP 0000096d: PUSH1 0x00 0000096f: DUP2 00000970: DUP2 00000971: MSTORE 00000972: PUSH1 0x20 00000974: DUP2 00000975: SWAP1 00000976: MSTORE 00000977: PUSH1 0x40 00000979: SWAP1 0000097a: KECCAK256 0000097b: PUSH1 0x03 0000097d: ADD 0000097e: SLOAD 0000097f: PUSH1 0xff 00000981: AND 00000982: JUMPDEST 00000983: JUMPDEST 00000984: ISZERO 00000985: PUSH2 0x098f 00000988: JUMPI 00000989: PUSH1 0x01 0000098b: DUP3 0000098c: ADD 0000098d: SWAP2 0000098e: POP 0000098f: JUMPDEST 00000990: JUMPDEST 00000991: PUSH1 0x01 00000993: ADD 00000994: PUSH2 0x0935 00000997: JUMP 00000998: JUMPDEST 00000999: JUMPDEST 0000099a: POP 0000099b: SWAP3 0000099c: SWAP2 0000099d: POP 0000099e: POP 0000099f: JUMP 000009a0: JUMPDEST 000009a1: ADDRESS 000009a2: PUSH1 0x01 000009a4: PUSH1 0xa0 000009a6: PUSH1 0x02 000009a8: EXP 000009a9: SUB 000009aa: AND 000009ab: CALLER 000009ac: PUSH1 0x01 000009ae: PUSH1 0xa0 000009b0: PUSH1 0x02 000009b2: EXP 000009b3: SUB 000009b4: AND 000009b5: EQ 000009b6: ISZERO 000009b7: ISZERO 000009b8: PUSH2 0x09c0 000009bb: JUMPI 000009bc: PUSH1 0x00 000009be: DUP1 000009bf: REVERT 000009c0: JUMPDEST 000009c1: PUSH1 0x01 000009c3: PUSH1 0xa0 000009c5: PUSH1 0x02 000009c7: EXP 000009c8: SUB 000009c9: DUP2 000009ca: AND 000009cb: PUSH1 0x00 000009cd: SWAP1 000009ce: DUP2 000009cf: MSTORE 000009d0: PUSH1 0x02 000009d2: PUSH1 0x20 000009d4: MSTORE 000009d5: PUSH1 0x40 000009d7: SWAP1 000009d8: KECCAK256 000009d9: SLOAD 000009da: DUP2 000009db: SWAP1 000009dc: PUSH1 0xff 000009de: AND 000009df: ISZERO 000009e0: PUSH2 0x09e8 000009e3: JUMPI 000009e4: PUSH1 0x00 000009e6: DUP1 000009e7: REVERT 000009e8: JUMPDEST 000009e9: DUP2 000009ea: PUSH1 0x01 000009ec: PUSH1 0xa0 000009ee: PUSH1 0x02 000009f0: EXP 000009f1: SUB 000009f2: DUP2 000009f3: AND 000009f4: ISZERO 000009f5: ISZERO 000009f6: PUSH2 0x09fe 000009f9: JUMPI 000009fa: PUSH1 0x00 000009fc: DUP1 000009fd: REVERT 000009fe: JUMPDEST 000009ff: PUSH1 0x03 00000a01: DUP1 00000a02: SLOAD 00000a03: SWAP1 00000a04: POP 00000a05: PUSH1 0x01 00000a07: ADD 00000a08: PUSH1 0x04 00000a0a: SLOAD 00000a0b: PUSH1 0x32 00000a0d: DUP3 00000a0e: GT 00000a0f: DUP1 00000a10: PUSH2 0x0a18 00000a13: JUMPI 00000a14: POP 00000a15: DUP2 00000a16: DUP2 00000a17: GT 00000a18: JUMPDEST 00000a19: DUP1 00000a1a: PUSH2 0x0a21 00000a1d: JUMPI 00000a1e: POP 00000a1f: DUP1 00000a20: ISZERO 00000a21: JUMPDEST 00000a22: DUP1 00000a23: PUSH2 0x0a2a 00000a26: JUMPI 00000a27: POP 00000a28: DUP2 00000a29: ISZERO 00000a2a: JUMPDEST 00000a2b: ISZERO 00000a2c: PUSH2 0x0a34 00000a2f: JUMPI 00000a30: PUSH1 0x00 00000a32: DUP1 00000a33: REVERT 00000a34: JUMPDEST 00000a35: PUSH1 0x01 00000a37: PUSH1 0xa0 00000a39: PUSH1 0x02 00000a3b: EXP 00000a3c: SUB 00000a3d: DUP6 00000a3e: AND 00000a3f: PUSH1 0x00 00000a41: SWAP1 00000a42: DUP2 00000a43: MSTORE 00000a44: PUSH1 0x02 00000a46: PUSH1 0x20 00000a48: MSTORE 00000a49: PUSH1 0x40 00000a4b: SWAP1 00000a4c: KECCAK256 00000a4d: DUP1 00000a4e: SLOAD 00000a4f: PUSH1 0xff 00000a51: NOT 00000a52: AND 00000a53: PUSH1 0x01 00000a55: SWAP1 00000a56: DUP2 00000a57: OR 00000a58: SWAP1 00000a59: SWAP2 00000a5a: SSTORE 00000a5b: PUSH1 0x03 00000a5d: DUP1 00000a5e: SLOAD 00000a5f: SWAP1 00000a60: SWAP2 00000a61: DUP2 00000a62: ADD 00000a63: PUSH2 0x0a6c 00000a66: DUP4 00000a67: DUP3 00000a68: PUSH2 0x156a 00000a6b: JUMP 00000a6c: JUMPDEST 00000a6d: SWAP2 00000a6e: PUSH1 0x00 00000a70: MSTORE 00000a71: PUSH1 0x20 00000a73: PUSH1 0x00 00000a75: KECCAK256 00000a76: SWAP1 00000a77: ADD 00000a78: PUSH1 0x00 00000a7a: JUMPDEST 00000a7b: DUP2 00000a7c: SLOAD 00000a7d: PUSH1 0x01 00000a7f: PUSH1 0xa0 00000a81: PUSH1 0x02 00000a83: EXP 00000a84: SUB 00000a85: DUP1 00000a86: DUP11 00000a87: AND 00000a88: PUSH2 0x0100 00000a8b: SWAP4 00000a8c: SWAP1 00000a8d: SWAP4 00000a8e: EXP 00000a8f: DUP4 00000a90: DUP2 00000a91: MUL 00000a92: SWAP2 00000a93: MUL 00000a94: NOT 00000a95: SWAP1 00000a96: SWAP2 00000a97: AND 00000a98: OR 00000a99: SWAP1 00000a9a: SWAP2 00000a9b: SSTORE 00000a9c: SWAP1 00000a9d: POP 00000a9e: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00000abf: PUSH1 0x40 00000ac1: MLOAD 00000ac2: PUSH1 0x40 00000ac4: MLOAD 00000ac5: DUP1 00000ac6: SWAP2 00000ac7: SUB 00000ac8: SWAP1 00000ac9: LOG2 00000aca: JUMPDEST 00000acb: JUMPDEST 00000acc: POP 00000acd: POP 00000ace: JUMPDEST 00000acf: POP 00000ad0: JUMPDEST 00000ad1: POP 00000ad2: JUMPDEST 00000ad3: POP 00000ad4: JUMP 00000ad5: JUMPDEST 00000ad6: PUSH1 0x00 00000ad8: DUP1 00000ad9: DUP1 00000ada: JUMPDEST 00000adb: PUSH1 0x03 00000add: SLOAD 00000ade: DUP2 00000adf: LT 00000ae0: ISZERO 00000ae1: PUSH2 0x0b61 00000ae4: JUMPI 00000ae5: PUSH1 0x00 00000ae7: DUP5 00000ae8: DUP2 00000ae9: MSTORE 00000aea: PUSH1 0x01 00000aec: PUSH1 0x20 00000aee: MSTORE 00000aef: PUSH1 0x40 00000af1: DUP2 00000af2: KECCAK256 00000af3: PUSH1 0x03 00000af5: DUP1 00000af6: SLOAD 00000af7: SWAP2 00000af8: SWAP3 00000af9: SWAP2 00000afa: DUP5 00000afb: SWAP1 00000afc: DUP2 00000afd: LT 00000afe: PUSH2 0x0b03 00000b01: JUMPI 00000b02: INVALID 00000b03: JUMPDEST 00000b04: SWAP1 00000b05: PUSH1 0x00 00000b07: MSTORE 00000b08: PUSH1 0x20 00000b0a: PUSH1 0x00 00000b0c: KECCAK256 00000b0d: SWAP1 00000b0e: ADD 00000b0f: PUSH1 0x00 00000b11: JUMPDEST 00000b12: SWAP1 00000b13: SLOAD 00000b14: PUSH1 0x01 00000b16: PUSH1 0xa0 00000b18: PUSH1 0x02 00000b1a: EXP 00000b1b: SUB 00000b1c: PUSH2 0x0100 00000b1f: SWAP3 00000b20: SWAP1 00000b21: SWAP3 00000b22: EXP 00000b23: SWAP1 00000b24: DIV 00000b25: AND 00000b26: DUP2 00000b27: MSTORE 00000b28: PUSH1 0x20 00000b2a: DUP2 00000b2b: ADD 00000b2c: SWAP2 00000b2d: SWAP1 00000b2e: SWAP2 00000b2f: MSTORE 00000b30: PUSH1 0x40 00000b32: ADD 00000b33: PUSH1 0x00 00000b35: KECCAK256 00000b36: SLOAD 00000b37: PUSH1 0xff 00000b39: AND 00000b3a: ISZERO 00000b3b: PUSH2 0x0b45 00000b3e: JUMPI 00000b3f: PUSH1 0x01 00000b41: DUP3 00000b42: ADD 00000b43: SWAP2 00000b44: POP 00000b45: JUMPDEST 00000b46: PUSH1 0x04 00000b48: SLOAD 00000b49: DUP3 00000b4a: EQ 00000b4b: ISZERO 00000b4c: PUSH2 0x0b58 00000b4f: JUMPI 00000b50: PUSH1 0x01 00000b52: SWAP3 00000b53: POP 00000b54: PUSH2 0x0b61 00000b57: JUMP 00000b58: JUMPDEST 00000b59: JUMPDEST 00000b5a: PUSH1 0x01 00000b5c: ADD 00000b5d: PUSH2 0x0ada 00000b60: JUMP 00000b61: JUMPDEST 00000b62: JUMPDEST 00000b63: POP 00000b64: POP 00000b65: SWAP2 00000b66: SWAP1 00000b67: POP 00000b68: JUMP 00000b69: JUMPDEST 00000b6a: PUSH1 0x00 00000b6c: DUP1 00000b6d: JUMPDEST 00000b6e: PUSH1 0x03 00000b70: SLOAD 00000b71: DUP2 00000b72: LT 00000b73: ISZERO 00000b74: PUSH2 0x0be1 00000b77: JUMPI 00000b78: PUSH1 0x00 00000b7a: DUP4 00000b7b: DUP2 00000b7c: MSTORE 00000b7d: PUSH1 0x01 00000b7f: PUSH1 0x20 00000b81: MSTORE 00000b82: PUSH1 0x40 00000b84: DUP2 00000b85: KECCAK256 00000b86: PUSH1 0x03 00000b88: DUP1 00000b89: SLOAD 00000b8a: SWAP2 00000b8b: SWAP3 00000b8c: SWAP2 00000b8d: DUP5 00000b8e: SWAP1 00000b8f: DUP2 00000b90: LT 00000b91: PUSH2 0x0b96 00000b94: JUMPI 00000b95: INVALID 00000b96: JUMPDEST 00000b97: SWAP1 00000b98: PUSH1 0x00 00000b9a: MSTORE 00000b9b: PUSH1 0x20 00000b9d: PUSH1 0x00 00000b9f: KECCAK256 00000ba0: SWAP1 00000ba1: ADD 00000ba2: PUSH1 0x00 00000ba4: JUMPDEST 00000ba5: SWAP1 00000ba6: SLOAD 00000ba7: PUSH1 0x01 00000ba9: PUSH1 0xa0 00000bab: PUSH1 0x02 00000bad: EXP 00000bae: SUB 00000baf: PUSH2 0x0100 00000bb2: SWAP3 00000bb3: SWAP1 00000bb4: SWAP3 00000bb5: EXP 00000bb6: SWAP1 00000bb7: DIV 00000bb8: AND 00000bb9: DUP2 00000bba: MSTORE 00000bbb: PUSH1 0x20 00000bbd: DUP2 00000bbe: ADD 00000bbf: SWAP2 00000bc0: SWAP1 00000bc1: SWAP2 00000bc2: MSTORE 00000bc3: PUSH1 0x40 00000bc5: ADD 00000bc6: PUSH1 0x00 00000bc8: KECCAK256 00000bc9: SLOAD 00000bca: PUSH1 0xff 00000bcc: AND 00000bcd: ISZERO 00000bce: PUSH2 0x0bd8 00000bd1: JUMPI 00000bd2: PUSH1 0x01 00000bd4: DUP3 00000bd5: ADD 00000bd6: SWAP2 00000bd7: POP 00000bd8: JUMPDEST 00000bd9: JUMPDEST 00000bda: PUSH1 0x01 00000bdc: ADD 00000bdd: PUSH2 0x0b6d 00000be0: JUMP 00000be1: JUMPDEST 00000be2: JUMPDEST 00000be3: POP 00000be4: SWAP2 00000be5: SWAP1 00000be6: POP 00000be7: JUMP 00000be8: JUMPDEST 00000be9: PUSH1 0x00 00000beb: PUSH1 0x20 00000bed: DUP2 00000bee: SWAP1 00000bef: MSTORE 00000bf0: SWAP1 00000bf1: DUP2 00000bf2: MSTORE 00000bf3: PUSH1 0x40 00000bf5: SWAP1 00000bf6: KECCAK256 00000bf7: DUP1 00000bf8: SLOAD 00000bf9: PUSH1 0x01 00000bfb: DUP3 00000bfc: ADD 00000bfd: SLOAD 00000bfe: PUSH1 0x03 00000c00: DUP4 00000c01: ADD 00000c02: SLOAD 00000c03: PUSH1 0x01 00000c05: PUSH1 0xa0 00000c07: PUSH1 0x02 00000c09: EXP 00000c0a: SUB 00000c0b: SWAP1 00000c0c: SWAP3 00000c0d: AND 00000c0e: SWAP3 00000c0f: SWAP1 00000c10: SWAP2 00000c11: PUSH1 0x02 00000c13: SWAP1 00000c14: SWAP2 00000c15: ADD 00000c16: SWAP1 00000c17: PUSH1 0xff 00000c19: AND 00000c1a: DUP5 00000c1b: JUMP 00000c1c: JUMPDEST 00000c1d: PUSH2 0x0c24 00000c20: PUSH2 0x15be 00000c23: JUMP 00000c24: JUMPDEST 00000c25: PUSH1 0x03 00000c27: DUP1 00000c28: SLOAD 00000c29: DUP1 00000c2a: PUSH1 0x20 00000c2c: MUL 00000c2d: PUSH1 0x20 00000c2f: ADD 00000c30: PUSH1 0x40 00000c32: MLOAD 00000c33: SWAP1 00000c34: DUP2 00000c35: ADD 00000c36: PUSH1 0x40 00000c38: MSTORE 00000c39: DUP1 00000c3a: SWAP3 00000c3b: SWAP2 00000c3c: SWAP1 00000c3d: DUP2 00000c3e: DUP2 00000c3f: MSTORE 00000c40: PUSH1 0x20 00000c42: ADD 00000c43: DUP3 00000c44: DUP1 00000c45: SLOAD 00000c46: DUP1 00000c47: ISZERO 00000c48: PUSH2 0x0c7a 00000c4b: JUMPI 00000c4c: PUSH1 0x20 00000c4e: MUL 00000c4f: DUP3 00000c50: ADD 00000c51: SWAP2 00000c52: SWAP1 00000c53: PUSH1 0x00 00000c55: MSTORE 00000c56: PUSH1 0x20 00000c58: PUSH1 0x00 00000c5a: KECCAK256 00000c5b: SWAP1 00000c5c: JUMPDEST 00000c5d: DUP2 00000c5e: SLOAD 00000c5f: PUSH1 0x01 00000c61: PUSH1 0xa0 00000c63: PUSH1 0x02 00000c65: EXP 00000c66: SUB 00000c67: AND 00000c68: DUP2 00000c69: MSTORE 00000c6a: PUSH1 0x01 00000c6c: SWAP1 00000c6d: SWAP2 00000c6e: ADD 00000c6f: SWAP1 00000c70: PUSH1 0x20 00000c72: ADD 00000c73: DUP1 00000c74: DUP4 00000c75: GT 00000c76: PUSH2 0x0c5c 00000c79: JUMPI 00000c7a: JUMPDEST 00000c7b: POP 00000c7c: POP 00000c7d: POP 00000c7e: POP 00000c7f: POP 00000c80: SWAP1 00000c81: POP 00000c82: JUMPDEST 00000c83: SWAP1 00000c84: JUMP 00000c85: JUMPDEST 00000c86: PUSH2 0x0c8d 00000c89: PUSH2 0x15be 00000c8c: JUMP 00000c8d: JUMPDEST 00000c8e: PUSH2 0x0c95 00000c91: PUSH2 0x15be 00000c94: JUMP 00000c95: JUMPDEST 00000c96: PUSH1 0x00 00000c98: DUP1 00000c99: PUSH1 0x05 00000c9b: SLOAD 00000c9c: PUSH1 0x40 00000c9e: MLOAD 00000c9f: DUP1 00000ca0: MSIZE 00000ca1: LT 00000ca2: PUSH2 0x0ca8 00000ca5: JUMPI 00000ca6: POP 00000ca7: MSIZE 00000ca8: JUMPDEST 00000ca9: SWAP1 00000caa: DUP1 00000cab: DUP3 00000cac: MSTORE 00000cad: DUP1 00000cae: PUSH1 0x20 00000cb0: MUL 00000cb1: PUSH1 0x20 00000cb3: ADD 00000cb4: DUP3 00000cb5: ADD 00000cb6: PUSH1 0x40 00000cb8: MSTORE 00000cb9: JUMPDEST 00000cba: POP 00000cbb: SWAP3 00000cbc: POP 00000cbd: PUSH1 0x00 00000cbf: SWAP2 00000cc0: POP 00000cc1: PUSH1 0x00 00000cc3: SWAP1 00000cc4: POP 00000cc5: JUMPDEST 00000cc6: PUSH1 0x05 00000cc8: SLOAD 00000cc9: DUP2 00000cca: LT 00000ccb: ISZERO 00000ccc: PUSH2 0x0d40 00000ccf: JUMPI 00000cd0: DUP6 00000cd1: DUP1 00000cd2: ISZERO 00000cd3: PUSH2 0x0cee 00000cd6: JUMPI 00000cd7: POP 00000cd8: PUSH1 0x00 00000cda: DUP2 00000cdb: DUP2 00000cdc: MSTORE 00000cdd: PUSH1 0x20 00000cdf: DUP2 00000ce0: SWAP1 00000ce1: MSTORE 00000ce2: PUSH1 0x40 00000ce4: SWAP1 00000ce5: KECCAK256 00000ce6: PUSH1 0x03 00000ce8: ADD 00000ce9: SLOAD 00000cea: PUSH1 0xff 00000cec: AND 00000ced: ISZERO 00000cee: JUMPDEST 00000cef: DUP1 00000cf0: PUSH2 0x0d12 00000cf3: JUMPI 00000cf4: POP 00000cf5: DUP5 00000cf6: DUP1 00000cf7: ISZERO 00000cf8: PUSH2 0x0d12 00000cfb: JUMPI 00000cfc: POP 00000cfd: PUSH1 0x00 00000cff: DUP2 00000d00: DUP2 00000d01: MSTORE 00000d02: PUSH1 0x20 00000d04: DUP2 00000d05: SWAP1 00000d06: MSTORE 00000d07: PUSH1 0x40 00000d09: SWAP1 00000d0a: KECCAK256 00000d0b: PUSH1 0x03 00000d0d: ADD 00000d0e: SLOAD 00000d0f: PUSH1 0xff 00000d11: AND 00000d12: JUMPDEST 00000d13: JUMPDEST 00000d14: ISZERO 00000d15: PUSH2 0x0d37 00000d18: JUMPI 00000d19: DUP1 00000d1a: DUP4 00000d1b: DUP4 00000d1c: DUP2 00000d1d: MLOAD 00000d1e: DUP2 00000d1f: LT 00000d20: PUSH2 0x0d25 00000d23: JUMPI 00000d24: INVALID 00000d25: JUMPDEST 00000d26: PUSH1 0x20 00000d28: SWAP1 00000d29: DUP2 00000d2a: MUL 00000d2b: SWAP1 00000d2c: SWAP2 00000d2d: ADD 00000d2e: ADD 00000d2f: MSTORE 00000d30: PUSH1 0x01 00000d32: SWAP2 00000d33: SWAP1 00000d34: SWAP2 00000d35: ADD 00000d36: SWAP1 00000d37: JUMPDEST 00000d38: JUMPDEST 00000d39: PUSH1 0x01 00000d3b: ADD 00000d3c: PUSH2 0x0cc5 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: DUP8 00000d42: DUP8 00000d43: SUB 00000d44: PUSH1 0x40 00000d46: MLOAD 00000d47: DUP1 00000d48: MSIZE 00000d49: LT 00000d4a: PUSH2 0x0d50 00000d4d: JUMPI 00000d4e: POP 00000d4f: MSIZE 00000d50: JUMPDEST 00000d51: SWAP1 00000d52: DUP1 00000d53: DUP3 00000d54: MSTORE 00000d55: DUP1 00000d56: PUSH1 0x20 00000d58: MUL 00000d59: PUSH1 0x20 00000d5b: ADD 00000d5c: DUP3 00000d5d: ADD 00000d5e: PUSH1 0x40 00000d60: MSTORE 00000d61: JUMPDEST 00000d62: POP 00000d63: SWAP4 00000d64: POP 00000d65: DUP8 00000d66: SWAP1 00000d67: POP 00000d68: JUMPDEST 00000d69: DUP7 00000d6a: DUP2 00000d6b: LT 00000d6c: ISZERO 00000d6d: PUSH2 0x0da7 00000d70: JUMPI 00000d71: DUP3 00000d72: DUP2 00000d73: DUP2 00000d74: MLOAD 00000d75: DUP2 00000d76: LT 00000d77: PUSH2 0x0d7c 00000d7a: JUMPI 00000d7b: INVALID 00000d7c: JUMPDEST 00000d7d: SWAP1 00000d7e: PUSH1 0x20 00000d80: ADD 00000d81: SWAP1 00000d82: PUSH1 0x20 00000d84: MUL 00000d85: ADD 00000d86: MLOAD 00000d87: DUP5 00000d88: DUP10 00000d89: DUP4 00000d8a: SUB 00000d8b: DUP2 00000d8c: MLOAD 00000d8d: DUP2 00000d8e: LT 00000d8f: PUSH2 0x0d94 00000d92: JUMPI 00000d93: INVALID 00000d94: JUMPDEST 00000d95: PUSH1 0x20 00000d97: SWAP1 00000d98: DUP2 00000d99: MUL 00000d9a: SWAP1 00000d9b: SWAP2 00000d9c: ADD 00000d9d: ADD 00000d9e: MSTORE 00000d9f: JUMPDEST 00000da0: PUSH1 0x01 00000da2: ADD 00000da3: PUSH2 0x0d68 00000da6: JUMP 00000da7: JUMPDEST 00000da8: JUMPDEST 00000da9: POP 00000daa: POP 00000dab: POP 00000dac: SWAP5 00000dad: SWAP4 00000dae: POP 00000daf: POP 00000db0: POP 00000db1: POP 00000db2: JUMP 00000db3: JUMPDEST 00000db4: PUSH2 0x0dbb 00000db7: PUSH2 0x15be 00000dba: JUMP 00000dbb: JUMPDEST 00000dbc: PUSH2 0x0dc3 00000dbf: PUSH2 0x15be 00000dc2: JUMP 00000dc3: JUMPDEST 00000dc4: PUSH1 0x03 00000dc6: SLOAD 00000dc7: PUSH1 0x00 00000dc9: SWAP1 00000dca: DUP2 00000dcb: SWAP1 00000dcc: PUSH1 0x40 00000dce: MLOAD 00000dcf: DUP1 00000dd0: MSIZE 00000dd1: LT 00000dd2: PUSH2 0x0dd8 00000dd5: JUMPI 00000dd6: POP 00000dd7: MSIZE 00000dd8: JUMPDEST 00000dd9: SWAP1 00000dda: DUP1 00000ddb: DUP3 00000ddc: MSTORE 00000ddd: DUP1 00000dde: PUSH1 0x20 00000de0: MUL 00000de1: PUSH1 0x20 00000de3: ADD 00000de4: DUP3 00000de5: ADD 00000de6: PUSH1 0x40 00000de8: MSTORE 00000de9: JUMPDEST 00000dea: POP 00000deb: SWAP3 00000dec: POP 00000ded: PUSH1 0x00 00000def: SWAP2 00000df0: POP 00000df1: PUSH1 0x00 00000df3: SWAP1 00000df4: POP 00000df5: JUMPDEST 00000df6: PUSH1 0x03 00000df8: SLOAD 00000df9: DUP2 00000dfa: LT 00000dfb: ISZERO 00000dfc: PUSH2 0x0ebb 00000dff: JUMPI 00000e00: PUSH1 0x00 00000e02: DUP6 00000e03: DUP2 00000e04: MSTORE 00000e05: PUSH1 0x01 00000e07: PUSH1 0x20 00000e09: MSTORE 00000e0a: PUSH1 0x40 00000e0c: DUP2 00000e0d: KECCAK256 00000e0e: PUSH1 0x03 00000e10: DUP1 00000e11: SLOAD 00000e12: SWAP2 00000e13: SWAP3 00000e14: SWAP2 00000e15: DUP5 00000e16: SWAP1 00000e17: DUP2 00000e18: LT 00000e19: PUSH2 0x0e1e 00000e1c: JUMPI 00000e1d: INVALID 00000e1e: JUMPDEST 00000e1f: SWAP1 00000e20: PUSH1 0x00 00000e22: MSTORE 00000e23: PUSH1 0x20 00000e25: PUSH1 0x00 00000e27: KECCAK256 00000e28: SWAP1 00000e29: ADD 00000e2a: PUSH1 0x00 00000e2c: JUMPDEST 00000e2d: SWAP1 00000e2e: SLOAD 00000e2f: PUSH1 0x01 00000e31: PUSH1 0xa0 00000e33: PUSH1 0x02 00000e35: EXP 00000e36: SUB 00000e37: PUSH2 0x0100 00000e3a: SWAP3 00000e3b: SWAP1 00000e3c: SWAP3 00000e3d: EXP 00000e3e: SWAP1 00000e3f: DIV 00000e40: AND 00000e41: DUP2 00000e42: MSTORE 00000e43: PUSH1 0x20 00000e45: DUP2 00000e46: ADD 00000e47: SWAP2 00000e48: SWAP1 00000e49: SWAP2 00000e4a: MSTORE 00000e4b: PUSH1 0x40 00000e4d: ADD 00000e4e: PUSH1 0x00 00000e50: KECCAK256 00000e51: SLOAD 00000e52: PUSH1 0xff 00000e54: AND 00000e55: ISZERO 00000e56: PUSH2 0x0eb2 00000e59: JUMPI 00000e5a: PUSH1 0x03 00000e5c: DUP1 00000e5d: SLOAD 00000e5e: DUP3 00000e5f: SWAP1 00000e60: DUP2 00000e61: LT 00000e62: PUSH2 0x0e67 00000e65: JUMPI 00000e66: INVALID 00000e67: JUMPDEST 00000e68: SWAP1 00000e69: PUSH1 0x00 00000e6b: MSTORE 00000e6c: PUSH1 0x20 00000e6e: PUSH1 0x00 00000e70: KECCAK256 00000e71: SWAP1 00000e72: ADD 00000e73: PUSH1 0x00 00000e75: JUMPDEST 00000e76: SWAP1 00000e77: SLOAD 00000e78: SWAP1 00000e79: PUSH2 0x0100 00000e7c: EXP 00000e7d: SWAP1 00000e7e: DIV 00000e7f: PUSH1 0x01 00000e81: PUSH1 0xa0 00000e83: PUSH1 0x02 00000e85: EXP 00000e86: SUB 00000e87: AND 00000e88: DUP4 00000e89: DUP4 00000e8a: DUP2 00000e8b: MLOAD 00000e8c: DUP2 00000e8d: LT 00000e8e: PUSH2 0x0e93 00000e91: JUMPI 00000e92: INVALID 00000e93: JUMPDEST 00000e94: PUSH1 0x01 00000e96: PUSH1 0xa0 00000e98: PUSH1 0x02 00000e9a: EXP 00000e9b: SUB 00000e9c: SWAP1 00000e9d: SWAP3 00000e9e: AND 00000e9f: PUSH1 0x20 00000ea1: SWAP3 00000ea2: DUP4 00000ea3: MUL 00000ea4: SWAP1 00000ea5: SWAP2 00000ea6: ADD 00000ea7: SWAP1 00000ea8: SWAP2 00000ea9: ADD 00000eaa: MSTORE 00000eab: PUSH1 0x01 00000ead: SWAP2 00000eae: SWAP1 00000eaf: SWAP2 00000eb0: ADD 00000eb1: SWAP1 00000eb2: JUMPDEST 00000eb3: JUMPDEST 00000eb4: PUSH1 0x01 00000eb6: ADD 00000eb7: PUSH2 0x0df5 00000eba: JUMP 00000ebb: JUMPDEST 00000ebc: DUP2 00000ebd: PUSH1 0x40 00000ebf: MLOAD 00000ec0: DUP1 00000ec1: MSIZE 00000ec2: LT 00000ec3: PUSH2 0x0ec9 00000ec6: JUMPI 00000ec7: POP 00000ec8: MSIZE 00000ec9: JUMPDEST 00000eca: SWAP1 00000ecb: DUP1 00000ecc: DUP3 00000ecd: MSTORE 00000ece: DUP1 00000ecf: PUSH1 0x20 00000ed1: MUL 00000ed2: PUSH1 0x20 00000ed4: ADD 00000ed5: DUP3 00000ed6: ADD 00000ed7: PUSH1 0x40 00000ed9: MSTORE 00000eda: JUMPDEST 00000edb: POP 00000edc: SWAP4 00000edd: POP 00000ede: PUSH1 0x00 00000ee0: SWAP1 00000ee1: POP 00000ee2: JUMPDEST 00000ee3: DUP2 00000ee4: DUP2 00000ee5: LT 00000ee6: ISZERO 00000ee7: PUSH2 0x0f2c 00000eea: JUMPI 00000eeb: DUP3 00000eec: DUP2 00000eed: DUP2 00000eee: MLOAD 00000eef: DUP2 00000ef0: LT 00000ef1: PUSH2 0x0ef6 00000ef4: JUMPI 00000ef5: INVALID 00000ef6: JUMPDEST 00000ef7: SWAP1 00000ef8: PUSH1 0x20 00000efa: ADD 00000efb: SWAP1 00000efc: PUSH1 0x20 00000efe: MUL 00000eff: ADD 00000f00: MLOAD 00000f01: DUP5 00000f02: DUP3 00000f03: DUP2 00000f04: MLOAD 00000f05: DUP2 00000f06: LT 00000f07: PUSH2 0x0f0c 00000f0a: JUMPI 00000f0b: INVALID 00000f0c: JUMPDEST 00000f0d: PUSH1 0x01 00000f0f: PUSH1 0xa0 00000f11: PUSH1 0x02 00000f13: EXP 00000f14: SUB 00000f15: SWAP1 00000f16: SWAP3 00000f17: AND 00000f18: PUSH1 0x20 00000f1a: SWAP3 00000f1b: DUP4 00000f1c: MUL 00000f1d: SWAP1 00000f1e: SWAP2 00000f1f: ADD 00000f20: SWAP1 00000f21: SWAP2 00000f22: ADD 00000f23: MSTORE 00000f24: JUMPDEST 00000f25: PUSH1 0x01 00000f27: ADD 00000f28: PUSH2 0x0ee2 00000f2b: JUMP 00000f2c: JUMPDEST 00000f2d: JUMPDEST 00000f2e: POP 00000f2f: POP 00000f30: POP 00000f31: SWAP2 00000f32: SWAP1 00000f33: POP 00000f34: JUMP 00000f35: JUMPDEST 00000f36: PUSH1 0x05 00000f38: SLOAD 00000f39: DUP2 00000f3a: JUMP 00000f3b: JUMPDEST 00000f3c: ADDRESS 00000f3d: PUSH1 0x01 00000f3f: PUSH1 0xa0 00000f41: PUSH1 0x02 00000f43: EXP 00000f44: SUB 00000f45: AND 00000f46: CALLER 00000f47: PUSH1 0x01 00000f49: PUSH1 0xa0 00000f4b: PUSH1 0x02 00000f4d: EXP 00000f4e: SUB 00000f4f: AND 00000f50: EQ 00000f51: ISZERO 00000f52: ISZERO 00000f53: PUSH2 0x0f5b 00000f56: JUMPI 00000f57: PUSH1 0x00 00000f59: DUP1 00000f5a: REVERT 00000f5b: JUMPDEST 00000f5c: PUSH1 0x03 00000f5e: SLOAD 00000f5f: DUP2 00000f60: PUSH1 0x32 00000f62: DUP3 00000f63: GT 00000f64: DUP1 00000f65: PUSH2 0x0f6d 00000f68: JUMPI 00000f69: POP 00000f6a: DUP2 00000f6b: DUP2 00000f6c: GT 00000f6d: JUMPDEST 00000f6e: DUP1 00000f6f: PUSH2 0x0f76 00000f72: JUMPI 00000f73: POP 00000f74: DUP1 00000f75: ISZERO 00000f76: JUMPDEST 00000f77: DUP1 00000f78: PUSH2 0x0f7f 00000f7b: JUMPI 00000f7c: POP 00000f7d: DUP2 00000f7e: ISZERO 00000f7f: JUMPDEST 00000f80: ISZERO 00000f81: PUSH2 0x0f89 00000f84: JUMPI 00000f85: PUSH1 0x00 00000f87: DUP1 00000f88: REVERT 00000f89: JUMPDEST 00000f8a: PUSH1 0x04 00000f8c: DUP4 00000f8d: SWAP1 00000f8e: SSTORE 00000f8f: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a 00000fb0: DUP4 00000fb1: PUSH1 0x40 00000fb3: MLOAD 00000fb4: SWAP1 00000fb5: DUP2 00000fb6: MSTORE 00000fb7: PUSH1 0x20 00000fb9: ADD 00000fba: PUSH1 0x40 00000fbc: MLOAD 00000fbd: DUP1 00000fbe: SWAP2 00000fbf: SUB 00000fc0: SWAP1 00000fc1: LOG1 00000fc2: JUMPDEST 00000fc3: JUMPDEST 00000fc4: POP 00000fc5: POP 00000fc6: JUMPDEST 00000fc7: POP 00000fc8: JUMP 00000fc9: JUMPDEST 00000fca: CALLER 00000fcb: PUSH1 0x01 00000fcd: PUSH1 0xa0 00000fcf: PUSH1 0x02 00000fd1: EXP 00000fd2: SUB 00000fd3: DUP2 00000fd4: AND 00000fd5: PUSH1 0x00 00000fd7: SWAP1 00000fd8: DUP2 00000fd9: MSTORE 00000fda: PUSH1 0x02 00000fdc: PUSH1 0x20 00000fde: MSTORE 00000fdf: PUSH1 0x40 00000fe1: SWAP1 00000fe2: KECCAK256 00000fe3: SLOAD 00000fe4: PUSH1 0xff 00000fe6: AND 00000fe7: ISZERO 00000fe8: ISZERO 00000fe9: PUSH2 0x0ff1 00000fec: JUMPI 00000fed: PUSH1 0x00 00000fef: DUP1 00000ff0: REVERT 00000ff1: JUMPDEST 00000ff2: PUSH1 0x00 00000ff4: DUP3 00000ff5: DUP2 00000ff6: MSTORE 00000ff7: PUSH1 0x20 00000ff9: DUP2 00000ffa: SWAP1 00000ffb: MSTORE 00000ffc: PUSH1 0x40 00000ffe: SWAP1 00000fff: KECCAK256 00001000: SLOAD 00001001: DUP3 00001002: SWAP1 00001003: PUSH1 0x01 00001005: PUSH1 0xa0 00001007: PUSH1 0x02 00001009: EXP 0000100a: SUB 0000100b: AND 0000100c: ISZERO 0000100d: ISZERO 0000100e: PUSH2 0x1016 00001011: JUMPI 00001012: PUSH1 0x00 00001014: DUP1 00001015: REVERT 00001016: JUMPDEST 00001017: PUSH1 0x00 00001019: DUP4 0000101a: DUP2 0000101b: MSTORE 0000101c: PUSH1 0x01 0000101e: PUSH1 0x20 00001020: SWAP1 00001021: DUP2 00001022: MSTORE 00001023: PUSH1 0x40 00001025: DUP1 00001026: DUP4 00001027: KECCAK256 00001028: CALLER 00001029: PUSH1 0x01 0000102b: PUSH1 0xa0 0000102d: PUSH1 0x02 0000102f: EXP 00001030: SUB 00001031: DUP2 00001032: AND 00001033: DUP6 00001034: MSTORE 00001035: SWAP3 00001036: MSTORE 00001037: SWAP1 00001038: SWAP2 00001039: KECCAK256 0000103a: SLOAD 0000103b: DUP5 0000103c: SWAP2 0000103d: SWAP1 0000103e: PUSH1 0xff 00001040: AND 00001041: ISZERO 00001042: PUSH2 0x104a 00001045: JUMPI 00001046: PUSH1 0x00 00001048: DUP1 00001049: REVERT 0000104a: JUMPDEST 0000104b: PUSH1 0x00 0000104d: DUP6 0000104e: DUP2 0000104f: MSTORE 00001050: PUSH1 0x01 00001052: PUSH1 0x20 00001054: DUP2 00001055: DUP2 00001056: MSTORE 00001057: PUSH1 0x40 00001059: DUP1 0000105a: DUP5 0000105b: KECCAK256 0000105c: PUSH1 0x01 0000105e: PUSH1 0xa0 00001060: PUSH1 0x02 00001062: EXP 00001063: SUB 00001064: CALLER 00001065: AND 00001066: DUP1 00001067: DUP7 00001068: MSTORE 00001069: SWAP3 0000106a: MSTORE 0000106b: SWAP3 0000106c: DUP4 0000106d: SWAP1 0000106e: KECCAK256 0000106f: DUP1 00001070: SLOAD 00001071: PUSH1 0xff 00001073: NOT 00001074: AND 00001075: SWAP1 00001076: SWAP3 00001077: OR 00001078: SWAP1 00001079: SWAP2 0000107a: SSTORE 0000107b: DUP7 0000107c: SWAP2 0000107d: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef 0000109e: SWAP1 0000109f: MLOAD 000010a0: PUSH1 0x40 000010a2: MLOAD 000010a3: DUP1 000010a4: SWAP2 000010a5: SUB 000010a6: SWAP1 000010a7: LOG3 000010a8: PUSH2 0x08f2 000010ab: DUP6 000010ac: PUSH2 0x12a7 000010af: JUMP 000010b0: JUMPDEST 000010b1: JUMPDEST 000010b2: JUMPDEST 000010b3: POP 000010b4: POP 000010b5: JUMPDEST 000010b6: POP 000010b7: JUMPDEST 000010b8: POP 000010b9: POP 000010ba: JUMP 000010bb: JUMPDEST 000010bc: PUSH1 0x00 000010be: PUSH2 0x10c8 000010c1: DUP5 000010c2: DUP5 000010c3: DUP5 000010c4: PUSH2 0x146b 000010c7: JUMP 000010c8: JUMPDEST 000010c9: SWAP1 000010ca: POP 000010cb: PUSH2 0x10d3 000010ce: DUP2 000010cf: PUSH2 0x0fc9 000010d2: JUMP 000010d3: JUMPDEST 000010d4: JUMPDEST 000010d5: SWAP4 000010d6: SWAP3 000010d7: POP 000010d8: POP 000010d9: POP 000010da: JUMP 000010db: JUMPDEST 000010dc: PUSH1 0x32 000010de: DUP2 000010df: JUMP 000010e0: JUMPDEST 000010e1: PUSH1 0x04 000010e3: SLOAD 000010e4: DUP2 000010e5: JUMP 000010e6: JUMPDEST 000010e7: PUSH1 0x00 000010e9: ADDRESS 000010ea: PUSH1 0x01 000010ec: PUSH1 0xa0 000010ee: PUSH1 0x02 000010f0: EXP 000010f1: SUB 000010f2: AND 000010f3: CALLER 000010f4: PUSH1 0x01 000010f6: PUSH1 0xa0 000010f8: PUSH1 0x02 000010fa: EXP 000010fb: SUB 000010fc: AND 000010fd: EQ 000010fe: ISZERO 000010ff: ISZERO 00001100: PUSH2 0x1108 00001103: JUMPI 00001104: PUSH1 0x00 00001106: DUP1 00001107: REVERT 00001108: JUMPDEST 00001109: PUSH1 0x01 0000110b: PUSH1 0xa0 0000110d: PUSH1 0x02 0000110f: EXP 00001110: SUB 00001111: DUP4 00001112: AND 00001113: PUSH1 0x00 00001115: SWAP1 00001116: DUP2 00001117: MSTORE 00001118: PUSH1 0x02 0000111a: PUSH1 0x20 0000111c: MSTORE 0000111d: PUSH1 0x40 0000111f: SWAP1 00001120: KECCAK256 00001121: SLOAD 00001122: DUP4 00001123: SWAP1 00001124: PUSH1 0xff 00001126: AND 00001127: ISZERO 00001128: ISZERO 00001129: PUSH2 0x1131 0000112c: JUMPI 0000112d: PUSH1 0x00 0000112f: DUP1 00001130: REVERT 00001131: JUMPDEST 00001132: PUSH1 0x01 00001134: PUSH1 0xa0 00001136: PUSH1 0x02 00001138: EXP 00001139: SUB 0000113a: DUP4 0000113b: AND 0000113c: PUSH1 0x00 0000113e: SWAP1 0000113f: DUP2 00001140: MSTORE 00001141: PUSH1 0x02 00001143: PUSH1 0x20 00001145: MSTORE 00001146: PUSH1 0x40 00001148: SWAP1 00001149: KECCAK256 0000114a: SLOAD 0000114b: DUP4 0000114c: SWAP1 0000114d: PUSH1 0xff 0000114f: AND 00001150: ISZERO 00001151: PUSH2 0x1159 00001154: JUMPI 00001155: PUSH1 0x00 00001157: DUP1 00001158: REVERT 00001159: JUMPDEST 0000115a: PUSH1 0x00 0000115c: SWAP3 0000115d: POP 0000115e: JUMPDEST 0000115f: PUSH1 0x03 00001161: SLOAD 00001162: DUP4 00001163: LT 00001164: ISZERO 00001165: PUSH2 0x1201 00001168: JUMPI 00001169: DUP5 0000116a: PUSH1 0x01 0000116c: PUSH1 0xa0 0000116e: PUSH1 0x02 00001170: EXP 00001171: SUB 00001172: AND 00001173: PUSH1 0x03 00001175: DUP5 00001176: DUP2 00001177: SLOAD 00001178: DUP2 00001179: LT 0000117a: ISZERO 0000117b: ISZERO 0000117c: PUSH2 0x1181 0000117f: JUMPI 00001180: INVALID 00001181: JUMPDEST 00001182: SWAP1 00001183: PUSH1 0x00 00001185: MSTORE 00001186: PUSH1 0x20 00001188: PUSH1 0x00 0000118a: KECCAK256 0000118b: SWAP1 0000118c: ADD 0000118d: PUSH1 0x00 0000118f: JUMPDEST 00001190: SWAP1 00001191: SLOAD 00001192: SWAP1 00001193: PUSH2 0x0100 00001196: EXP 00001197: SWAP1 00001198: DIV 00001199: PUSH1 0x01 0000119b: PUSH1 0xa0 0000119d: PUSH1 0x02 0000119f: EXP 000011a0: SUB 000011a1: AND 000011a2: PUSH1 0x01 000011a4: PUSH1 0xa0 000011a6: PUSH1 0x02 000011a8: EXP 000011a9: SUB 000011aa: AND 000011ab: EQ 000011ac: ISZERO 000011ad: PUSH2 0x11f5 000011b0: JUMPI 000011b1: DUP4 000011b2: PUSH1 0x03 000011b4: DUP5 000011b5: DUP2 000011b6: SLOAD 000011b7: DUP2 000011b8: LT 000011b9: ISZERO 000011ba: ISZERO 000011bb: PUSH2 0x11c0 000011be: JUMPI 000011bf: INVALID 000011c0: JUMPDEST 000011c1: SWAP1 000011c2: PUSH1 0x00 000011c4: MSTORE 000011c5: PUSH1 0x20 000011c7: PUSH1 0x00 000011c9: KECCAK256 000011ca: SWAP1 000011cb: ADD 000011cc: PUSH1 0x00 000011ce: JUMPDEST 000011cf: PUSH2 0x0100 000011d2: EXP 000011d3: DUP2 000011d4: SLOAD 000011d5: DUP2 000011d6: PUSH1 0x01 000011d8: PUSH1 0xa0 000011da: PUSH1 0x02 000011dc: EXP 000011dd: SUB 000011de: MUL 000011df: NOT 000011e0: AND 000011e1: SWAP1 000011e2: DUP4 000011e3: PUSH1 0x01 000011e5: PUSH1 0xa0 000011e7: PUSH1 0x02 000011e9: EXP 000011ea: SUB 000011eb: AND 000011ec: MUL 000011ed: OR 000011ee: SWAP1 000011ef: SSTORE 000011f0: POP 000011f1: PUSH2 0x1201 000011f4: JUMP 000011f5: JUMPDEST 000011f6: JUMPDEST 000011f7: PUSH1 0x01 000011f9: SWAP1 000011fa: SWAP3 000011fb: ADD 000011fc: SWAP2 000011fd: PUSH2 0x115e 00001200: JUMP 00001201: JUMPDEST 00001202: PUSH1 0x01 00001204: PUSH1 0xa0 00001206: PUSH1 0x02 00001208: EXP 00001209: SUB 0000120a: DUP1 0000120b: DUP7 0000120c: AND 0000120d: PUSH1 0x00 0000120f: DUP2 00001210: DUP2 00001211: MSTORE 00001212: PUSH1 0x02 00001214: PUSH1 0x20 00001216: MSTORE 00001217: PUSH1 0x40 00001219: DUP1 0000121a: DUP3 0000121b: KECCAK256 0000121c: DUP1 0000121d: SLOAD 0000121e: PUSH1 0xff 00001220: NOT 00001221: SWAP1 00001222: DUP2 00001223: AND 00001224: SWAP1 00001225: SWAP2 00001226: SSTORE 00001227: SWAP4 00001228: DUP9 00001229: AND 0000122a: DUP3 0000122b: MSTORE 0000122c: SWAP1 0000122d: DUP2 0000122e: SWAP1 0000122f: KECCAK256 00001230: DUP1 00001231: SLOAD 00001232: SWAP1 00001233: SWAP4 00001234: AND 00001235: PUSH1 0x01 00001237: OR 00001238: SWAP1 00001239: SWAP3 0000123a: SSTORE 0000123b: SWAP1 0000123c: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 0000125d: SWAP1 0000125e: MLOAD 0000125f: PUSH1 0x40 00001261: MLOAD 00001262: DUP1 00001263: SWAP2 00001264: SUB 00001265: SWAP1 00001266: LOG2 00001267: DUP4 00001268: PUSH1 0x01 0000126a: PUSH1 0xa0 0000126c: PUSH1 0x02 0000126e: EXP 0000126f: SUB 00001270: AND 00001271: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00001292: PUSH1 0x40 00001294: MLOAD 00001295: PUSH1 0x40 00001297: MLOAD 00001298: DUP1 00001299: SWAP2 0000129a: SUB 0000129b: SWAP1 0000129c: LOG2 0000129d: JUMPDEST 0000129e: JUMPDEST 0000129f: POP 000012a0: JUMPDEST 000012a1: POP 000012a2: JUMPDEST 000012a3: POP 000012a4: POP 000012a5: POP 000012a6: JUMP 000012a7: JUMPDEST 000012a8: CALLER 000012a9: PUSH1 0x01 000012ab: PUSH1 0xa0 000012ad: PUSH1 0x02 000012af: EXP 000012b0: SUB 000012b1: DUP2 000012b2: AND 000012b3: PUSH1 0x00 000012b5: SWAP1 000012b6: DUP2 000012b7: MSTORE 000012b8: PUSH1 0x02 000012ba: PUSH1 0x20 000012bc: MSTORE 000012bd: PUSH1 0x40 000012bf: DUP2 000012c0: KECCAK256 000012c1: SLOAD 000012c2: SWAP1 000012c3: SWAP2 000012c4: SWAP1 000012c5: PUSH1 0xff 000012c7: AND 000012c8: ISZERO 000012c9: ISZERO 000012ca: PUSH2 0x12d2 000012cd: JUMPI 000012ce: PUSH1 0x00 000012d0: DUP1 000012d1: REVERT 000012d2: JUMPDEST 000012d3: PUSH1 0x00 000012d5: DUP4 000012d6: DUP2 000012d7: MSTORE 000012d8: PUSH1 0x01 000012da: PUSH1 0x20 000012dc: SWAP1 000012dd: DUP2 000012de: MSTORE 000012df: PUSH1 0x40 000012e1: DUP1 000012e2: DUP4 000012e3: KECCAK256 000012e4: CALLER 000012e5: PUSH1 0x01 000012e7: PUSH1 0xa0 000012e9: PUSH1 0x02 000012eb: EXP 000012ec: SUB 000012ed: DUP2 000012ee: AND 000012ef: DUP6 000012f0: MSTORE 000012f1: SWAP3 000012f2: MSTORE 000012f3: SWAP1 000012f4: SWAP2 000012f5: KECCAK256 000012f6: SLOAD 000012f7: DUP5 000012f8: SWAP2 000012f9: SWAP1 000012fa: PUSH1 0xff 000012fc: AND 000012fd: ISZERO 000012fe: ISZERO 000012ff: PUSH2 0x1307 00001302: JUMPI 00001303: PUSH1 0x00 00001305: DUP1 00001306: REVERT 00001307: JUMPDEST 00001308: PUSH1 0x00 0000130a: DUP6 0000130b: DUP2 0000130c: MSTORE 0000130d: PUSH1 0x20 0000130f: DUP2 00001310: SWAP1 00001311: MSTORE 00001312: PUSH1 0x40 00001314: SWAP1 00001315: KECCAK256 00001316: PUSH1 0x03 00001318: ADD 00001319: SLOAD 0000131a: DUP6 0000131b: SWAP1 0000131c: PUSH1 0xff 0000131e: AND 0000131f: ISZERO 00001320: PUSH2 0x1328 00001323: JUMPI 00001324: PUSH1 0x00 00001326: DUP1 00001327: REVERT 00001328: JUMPDEST 00001329: PUSH2 0x1331 0000132c: DUP7 0000132d: PUSH2 0x0ad5 00001330: JUMP 00001331: JUMPDEST 00001332: ISZERO 00001333: PUSH2 0x145e 00001336: JUMPI 00001337: PUSH1 0x00 00001339: DUP7 0000133a: DUP2 0000133b: MSTORE 0000133c: PUSH1 0x20 0000133e: DUP2 0000133f: SWAP1 00001340: MSTORE 00001341: PUSH1 0x40 00001343: SWAP1 00001344: DUP2 00001345: SWAP1 00001346: KECCAK256 00001347: PUSH1 0x03 00001349: DUP2 0000134a: ADD 0000134b: DUP1 0000134c: SLOAD 0000134d: PUSH1 0xff 0000134f: NOT 00001350: AND 00001351: PUSH1 0x01 00001353: SWAP1 00001354: DUP2 00001355: OR 00001356: SWAP1 00001357: SWAP2 00001358: SSTORE 00001359: DUP2 0000135a: SLOAD 0000135b: SWAP1 0000135c: DUP3 0000135d: ADD 0000135e: SLOAD 0000135f: SWAP2 00001360: SWAP8 00001361: POP 00001362: PUSH1 0x01 00001364: PUSH1 0xa0 00001366: PUSH1 0x02 00001368: EXP 00001369: SUB 0000136a: AND 0000136b: SWAP2 0000136c: PUSH1 0x02 0000136e: DUP9 0000136f: ADD 00001370: SWAP1 00001371: MLOAD 00001372: DUP1 00001373: DUP3 00001374: DUP1 00001375: SLOAD 00001376: PUSH1 0x01 00001378: DUP2 00001379: PUSH1 0x01 0000137b: AND 0000137c: ISZERO 0000137d: PUSH2 0x0100 00001380: MUL 00001381: SUB 00001382: AND 00001383: PUSH1 0x02 00001385: SWAP1 00001386: DIV 00001387: DUP1 00001388: ISZERO 00001389: PUSH2 0x13d3 0000138c: JUMPI 0000138d: DUP1 0000138e: PUSH1 0x1f 00001390: LT 00001391: PUSH2 0x13a8 00001394: JUMPI 00001395: PUSH2 0x0100 00001398: DUP1 00001399: DUP4 0000139a: SLOAD 0000139b: DIV 0000139c: MUL 0000139d: DUP4 0000139e: MSTORE 0000139f: SWAP2 000013a0: PUSH1 0x20 000013a2: ADD 000013a3: SWAP2 000013a4: PUSH2 0x13d3 000013a7: JUMP 000013a8: JUMPDEST 000013a9: DUP3 000013aa: ADD 000013ab: SWAP2 000013ac: SWAP1 000013ad: PUSH1 0x00 000013af: MSTORE 000013b0: PUSH1 0x20 000013b2: PUSH1 0x00 000013b4: KECCAK256 000013b5: SWAP1 000013b6: JUMPDEST 000013b7: DUP2 000013b8: SLOAD 000013b9: DUP2 000013ba: MSTORE 000013bb: SWAP1 000013bc: PUSH1 0x01 000013be: ADD 000013bf: SWAP1 000013c0: PUSH1 0x20 000013c2: ADD 000013c3: DUP1 000013c4: DUP4 000013c5: GT 000013c6: PUSH2 0x13b6 000013c9: JUMPI 000013ca: DUP3 000013cb: SWAP1 000013cc: SUB 000013cd: PUSH1 0x1f 000013cf: AND 000013d0: DUP3 000013d1: ADD 000013d2: SWAP2 000013d3: JUMPDEST 000013d4: POP 000013d5: POP 000013d6: SWAP2 000013d7: POP 000013d8: POP 000013d9: PUSH1 0x00 000013db: PUSH1 0x40 000013dd: MLOAD 000013de: DUP1 000013df: DUP4 000013e0: SUB 000013e1: DUP2 000013e2: DUP6 000013e3: DUP8 000013e4: PUSH2 0x8796 000013e7: GAS 000013e8: SUB 000013e9: CALL 000013ea: SWAP3 000013eb: POP 000013ec: POP 000013ed: POP 000013ee: ISZERO 000013ef: PUSH2 0x1424 000013f2: JUMPI 000013f3: DUP6 000013f4: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75 00001415: PUSH1 0x40 00001417: MLOAD 00001418: PUSH1 0x40 0000141a: MLOAD 0000141b: DUP1 0000141c: SWAP2 0000141d: SUB 0000141e: SWAP1 0000141f: LOG2 00001420: PUSH2 0x145e 00001423: JUMP 00001424: JUMPDEST 00001425: DUP6 00001426: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236 00001447: PUSH1 0x40 00001449: MLOAD 0000144a: PUSH1 0x40 0000144c: MLOAD 0000144d: DUP1 0000144e: SWAP2 0000144f: SUB 00001450: SWAP1 00001451: LOG2 00001452: PUSH1 0x03 00001454: DUP6 00001455: ADD 00001456: DUP1 00001457: SLOAD 00001458: PUSH1 0xff 0000145a: NOT 0000145b: AND 0000145c: SWAP1 0000145d: SSTORE 0000145e: JUMPDEST 0000145f: JUMPDEST 00001460: JUMPDEST 00001461: JUMPDEST 00001462: POP 00001463: JUMPDEST 00001464: POP 00001465: POP 00001466: JUMPDEST 00001467: POP 00001468: POP 00001469: POP 0000146a: JUMP 0000146b: JUMPDEST 0000146c: PUSH1 0x00 0000146e: DUP4 0000146f: PUSH1 0x01 00001471: PUSH1 0xa0 00001473: PUSH1 0x02 00001475: EXP 00001476: SUB 00001477: DUP2 00001478: AND 00001479: ISZERO 0000147a: ISZERO 0000147b: PUSH2 0x1483 0000147e: JUMPI 0000147f: PUSH1 0x00 00001481: DUP1 00001482: REVERT 00001483: JUMPDEST 00001484: PUSH1 0x05 00001486: SLOAD 00001487: SWAP2 00001488: POP 00001489: PUSH1 0x80 0000148b: PUSH1 0x40 0000148d: MLOAD 0000148e: SWAP1 0000148f: DUP2 00001490: ADD 00001491: PUSH1 0x40 00001493: SWAP1 00001494: DUP2 00001495: MSTORE 00001496: PUSH1 0x01 00001498: PUSH1 0xa0 0000149a: PUSH1 0x02 0000149c: EXP 0000149d: SUB 0000149e: DUP8 0000149f: AND 000014a0: DUP3 000014a1: MSTORE 000014a2: PUSH1 0x20 000014a4: DUP1 000014a5: DUP4 000014a6: ADD 000014a7: DUP8 000014a8: SWAP1 000014a9: MSTORE 000014aa: DUP2 000014ab: DUP4 000014ac: ADD 000014ad: DUP7 000014ae: SWAP1 000014af: MSTORE 000014b0: PUSH1 0x00 000014b2: PUSH1 0x60 000014b4: DUP5 000014b5: ADD 000014b6: DUP2 000014b7: SWAP1 000014b8: MSTORE 000014b9: DUP6 000014ba: DUP2 000014bb: MSTORE 000014bc: SWAP1 000014bd: DUP2 000014be: SWAP1 000014bf: MSTORE 000014c0: KECCAK256 000014c1: DUP2 000014c2: MLOAD 000014c3: DUP2 000014c4: SLOAD 000014c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014da: NOT 000014db: AND 000014dc: PUSH1 0x01 000014de: PUSH1 0xa0 000014e0: PUSH1 0x02 000014e2: EXP 000014e3: SUB 000014e4: SWAP2 000014e5: SWAP1 000014e6: SWAP2 000014e7: AND 000014e8: OR 000014e9: DUP2 000014ea: SSTORE 000014eb: PUSH1 0x20 000014ed: DUP3 000014ee: ADD 000014ef: MLOAD 000014f0: DUP2 000014f1: PUSH1 0x01 000014f3: ADD 000014f4: SSTORE 000014f5: PUSH1 0x40 000014f7: DUP3 000014f8: ADD 000014f9: MLOAD 000014fa: DUP2 000014fb: PUSH1 0x02 000014fd: ADD 000014fe: SWAP1 000014ff: DUP1 00001500: MLOAD 00001501: PUSH2 0x150e 00001504: SWAP3 00001505: SWAP2 00001506: PUSH1 0x20 00001508: ADD 00001509: SWAP1 0000150a: PUSH2 0x15e2 0000150d: JUMP 0000150e: JUMPDEST 0000150f: POP 00001510: PUSH1 0x60 00001512: DUP3 00001513: ADD 00001514: MLOAD 00001515: PUSH1 0x03 00001517: SWAP2 00001518: SWAP1 00001519: SWAP2 0000151a: ADD 0000151b: DUP1 0000151c: SLOAD 0000151d: PUSH1 0xff 0000151f: NOT 00001520: AND 00001521: SWAP2 00001522: ISZERO 00001523: ISZERO 00001524: SWAP2 00001525: SWAP1 00001526: SWAP2 00001527: OR 00001528: SWAP1 00001529: SSTORE 0000152a: POP 0000152b: PUSH1 0x05 0000152d: DUP1 0000152e: SLOAD 0000152f: PUSH1 0x01 00001531: ADD 00001532: SWAP1 00001533: SSTORE 00001534: DUP2 00001535: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51 00001556: PUSH1 0x40 00001558: MLOAD 00001559: PUSH1 0x40 0000155b: MLOAD 0000155c: DUP1 0000155d: SWAP2 0000155e: SUB 0000155f: SWAP1 00001560: LOG2 00001561: JUMPDEST 00001562: JUMPDEST 00001563: POP 00001564: SWAP4 00001565: SWAP3 00001566: POP 00001567: POP 00001568: POP 00001569: JUMP 0000156a: JUMPDEST 0000156b: DUP2 0000156c: SLOAD 0000156d: DUP2 0000156e: DUP4 0000156f: SSTORE 00001570: DUP2 00001571: DUP2 00001572: ISZERO 00001573: GT 00001574: PUSH2 0x0813 00001577: JUMPI 00001578: PUSH1 0x00 0000157a: DUP4 0000157b: DUP2 0000157c: MSTORE 0000157d: PUSH1 0x20 0000157f: SWAP1 00001580: KECCAK256 00001581: PUSH2 0x0813 00001584: SWAP2 00001585: DUP2 00001586: ADD 00001587: SWAP1 00001588: DUP4 00001589: ADD 0000158a: PUSH2 0x1661 0000158d: JUMP 0000158e: JUMPDEST 0000158f: JUMPDEST 00001590: POP 00001591: POP 00001592: POP 00001593: JUMP 00001594: JUMPDEST 00001595: DUP2 00001596: SLOAD 00001597: DUP2 00001598: DUP4 00001599: SSTORE 0000159a: DUP2 0000159b: DUP2 0000159c: ISZERO 0000159d: GT 0000159e: PUSH2 0x0813 000015a1: JUMPI 000015a2: PUSH1 0x00 000015a4: DUP4 000015a5: DUP2 000015a6: MSTORE 000015a7: PUSH1 0x20 000015a9: SWAP1 000015aa: KECCAK256 000015ab: PUSH2 0x0813 000015ae: SWAP2 000015af: DUP2 000015b0: ADD 000015b1: SWAP1 000015b2: DUP4 000015b3: ADD 000015b4: PUSH2 0x1661 000015b7: JUMP 000015b8: JUMPDEST 000015b9: JUMPDEST 000015ba: POP 000015bb: POP 000015bc: POP 000015bd: JUMP 000015be: JUMPDEST 000015bf: PUSH1 0x20 000015c1: PUSH1 0x40 000015c3: MLOAD 000015c4: SWAP1 000015c5: DUP2 000015c6: ADD 000015c7: PUSH1 0x40 000015c9: MSTORE 000015ca: PUSH1 0x00 000015cc: DUP2 000015cd: MSTORE 000015ce: SWAP1 000015cf: JUMP 000015d0: JUMPDEST 000015d1: PUSH1 0x20 000015d3: PUSH1 0x40 000015d5: MLOAD 000015d6: SWAP1 000015d7: DUP2 000015d8: ADD 000015d9: PUSH1 0x40 000015db: MSTORE 000015dc: PUSH1 0x00 000015de: DUP2 000015df: MSTORE 000015e0: SWAP1 000015e1: JUMP 000015e2: JUMPDEST 000015e3: DUP3 000015e4: DUP1 000015e5: SLOAD 000015e6: PUSH1 0x01 000015e8: DUP2 000015e9: PUSH1 0x01 000015eb: AND 000015ec: ISZERO 000015ed: PUSH2 0x0100 000015f0: MUL 000015f1: SUB 000015f2: AND 000015f3: PUSH1 0x02 000015f5: SWAP1 000015f6: DIV 000015f7: SWAP1 000015f8: PUSH1 0x00 000015fa: MSTORE 000015fb: PUSH1 0x20 000015fd: PUSH1 0x00 000015ff: KECCAK256 00001600: SWAP1 00001601: PUSH1 0x1f 00001603: ADD 00001604: PUSH1 0x20 00001606: SWAP1 00001607: DIV 00001608: DUP2 00001609: ADD 0000160a: SWAP3 0000160b: DUP3 0000160c: PUSH1 0x1f 0000160e: LT 0000160f: PUSH2 0x1623 00001612: JUMPI 00001613: DUP1 00001614: MLOAD 00001615: PUSH1 0xff 00001617: NOT 00001618: AND 00001619: DUP4 0000161a: DUP1 0000161b: ADD 0000161c: OR 0000161d: DUP6 0000161e: SSTORE 0000161f: PUSH2 0x1650 00001622: JUMP 00001623: JUMPDEST 00001624: DUP3 00001625: DUP1 00001626: ADD 00001627: PUSH1 0x01 00001629: ADD 0000162a: DUP6 0000162b: SSTORE 0000162c: DUP3 0000162d: ISZERO 0000162e: PUSH2 0x1650 00001631: JUMPI 00001632: SWAP2 00001633: DUP3 00001634: ADD 00001635: JUMPDEST 00001636: DUP3 00001637: DUP2 00001638: GT 00001639: ISZERO 0000163a: PUSH2 0x1650 0000163d: JUMPI 0000163e: DUP3 0000163f: MLOAD 00001640: DUP3 00001641: SSTORE 00001642: SWAP2 00001643: PUSH1 0x20 00001645: ADD 00001646: SWAP2 00001647: SWAP1 00001648: PUSH1 0x01 0000164a: ADD 0000164b: SWAP1 0000164c: PUSH2 0x1635 0000164f: JUMP 00001650: JUMPDEST 00001651: JUMPDEST 00001652: POP 00001653: PUSH2 0x165d 00001656: SWAP3 00001657: SWAP2 00001658: POP 00001659: PUSH2 0x1661 0000165c: JUMP 0000165d: JUMPDEST 0000165e: POP 0000165f: SWAP1 00001660: JUMP 00001661: JUMPDEST 00001662: PUSH2 0x0c82 00001665: SWAP2 00001666: SWAP1 00001667: JUMPDEST 00001668: DUP1 00001669: DUP3 0000166a: GT 0000166b: ISZERO 0000166c: PUSH2 0x165d 0000166f: JUMPI 00001670: PUSH1 0x00 00001672: DUP2 00001673: SSTORE 00001674: PUSH1 0x01 00001676: ADD 00001677: PUSH2 0x1667 0000167a: JUMP 0000167b: JUMPDEST 0000167c: POP 0000167d: SWAP1 0000167e: JUMP 0000167f: JUMPDEST 00001680: SWAP1 00001681: JUMP 00001682: STOP 00001683: LOG1 00001684: PUSH6 0x627a7a723058 0000168b: KECCAK256 0000168c: PUSH5 0xa93bd78a48 00001692: UNKNOWN(0xA8) 00001693: UNKNOWN(0xD6) 00001694: SWAP9 00001695: BLOBHASH 00001696: DUP12 00001697: SDIV 00001698: CHAINID 00001699: UNKNOWN(0xAD) 0000169a: LOG4 0000169b: UNKNOWN(0xB8) 0000169c: KECCAK256 0000169d: UNKNOWN(0x4F) 0000169e: PUSH26
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140
call_targets:
0x44664edd1785266e8c5c23492dc73836136866bc
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x44664edd1785266e8c5c23492dc73836136866bc"
],
"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": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x784547a7",
"selector": "0x784547a7",
"calldata_variants": [
"0x784547a7",
"0x784547a70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5097,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [],
"untrusted_call_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140
call_targets:
0x44664edd1785266e8c5c23492dc73836136866bc
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x44664edd1785266e8c5c23492dc73836136866bc"
],
"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": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x784547a7",
"selector": "0x784547a7",
"calldata_variants": [
"0x784547a7",
"0x784547a70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5097,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": []
}
|
| medium | other | codex | Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear) | 75 | no | — |
viewevidence_json{
"evidence": "Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.",
"locations": [
"pc:5097"
],
"recommendation": "Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.",
"exploit_scenario": "If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths."
}
|