Untitled
unknown
sh
a year ago
2.2 kB
4
Indexable
Never
function sub_45() public payable { uint256 v0 = sub_9C(); v0 = sub_1BA(*0x40, v0); return(*0x40, v0 - *0x40); } function sub_9C() private view returns (uint256) { address v0; uint256 v1, v2, v3, v4; v0 = v9; *(address*)0x0 = v0; *0x20 = 0x0; v0 = keccak256(0x0, 0x40); v0 = storage[v0]; if(!(v0 & 0xFF)) { revert(0x0, 0x0); } v1 = storage[0x1]; v1 = sub_208(v1); uint256 result = *0x40; *0x40 = (v1 + 0x1F) / 0x20 * 0x20 + result + 0x20; *(uint256*)result = v1; v2 = storage[0x1]; v2 = sub_208(v2); if(v2 != 0x0 && v2 <= 0x1F) { v3 = storage[0x1]; *(uint256*)(result + 0x20) = v3 / 0x100 * 0x100; } else if(v2 != 0x0) { uint256 v5 = result + v2 + 0x20; *0x0 = 0x1; v2 = keccak256(0x0, 0x20); uint256 v6 = v2; v2 = result + 0x20; uint256 v7 = v6; do { v4 = storage[v7]; *(uint256*)v2 = v4; ++v7; v2 += 0x20; } while(v5 > v2); } uint256 v8 = 0x0; while(*(uint256*)result > v8) { if(*(uint256*)result > v8) { v1 = ((*(int256*)(v8 + result + 0x20) >>> 0xF8) << 0xF8) ^ 0xAB00000000000000000000000000000000000000000000000000000000000000; if(*(uint256*)result > v8) { *(char*)(v8 + result + 0x20) = (unsigned char)((v1 & 0xFF00000000000000000000000000000000000000000000000000000000000000) >>> 0xF8); v8 = sub_252(v8); continue; } } *0x0 = 0x4E487B7100000000000000000000000000000000000000000000000000000000; *0x4 = 0x32; revert(0x0, 0x24); } return result; } function sub_1BA(uint256* param0, int256* param1) private pure returns (uint256) { *param1 = 0x20; uint256 max = *param0; *(uint256*)(param1 + 1) = *param0; for(uint256 i = 0x0; i < max; i += 0x20) { *((int256*)((int256)param1 + i) + &loc_2) = *((int256*)((int256)param0 + i) + 1); } *((int256*)((int256)param1 + max) + &loc_2) = 0x0; return (uint256)((int256*)(((max + 0x1F) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0) + (int256)param1) + &loc_2); }