Ethereum
0x16bb8b912da187870c23ec6756bb3fad061283d8
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0x16bb8b91…061283d86.9 KB8.4 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x16bb8b912da187870c23ec6756bb3fad061283d8
529 lines · Click a variable or keyword to highlight its references · Click a line number to copy its link; Shift-click to copy a block link
//decompiled by exvvul decompiler tool contact@exvul.com https://x.com/exvulsec// SPDX-License-Identifier: MIT >=0.8.0; { ( ) ( ); ( , ) ( );} { ; ; (); (, ); (); (); (, ); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x7d1eba36)) { // Route to Unknown_7d1eba36(uint256) after replacing only msg.sig. ((0xa251966c)); ; } ((.. >= 4) && (. == 0xa10acfd6)) { // Route to Unknown_a10acfd6(uint256) after replacing only msg.sig. ((0xf07caeab)); ; } (); } ( , , , , ) () { (!(((0x04 + ) + + 0x20) > ..)); (() == , ()); ; = + (0x20 + (((0x1f + .) / 0x20) * 0x20)); = + 0x0180; (((0x20 + ) + .) - (0x20 + ) >= 0x20); (!( > 0xffffffffffffffff)); (!(((0x20 + ) + .) - ((0x20 + ) + ) < 0x0180)); ((( + 0x0180) < ) | (( + 0x0180) > 0xffffffffffffffff)) (65); = + 0x0180; ( < 0x2); ( < 0x3); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); (!( > 0xffffffffffffffff)); (((0x20 + ) + ) + + 0x1f < ((0x20 + ) + .)); ( > 0xffffffffffffffff) (65); ((( + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < ) | (( + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff)) (65); = + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!(((0x20 + ) + .) < (0x20 + ( + (((0x20 + ) + ) + ))))); ( == ( & 0xff)); (. == (()), ()); (!( < 0x2)) (33); (!( < 0x3)) (33); = ((0x20 + ) + 0x01c0) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20; ((.((), 0x40, , , (()), (()), (()), (()), (), (()), 0x0180, (), (()), (), )) == , ()); = 0; ( > 0x01) (33); ( != 0x0) { ().((), ); ( , ) = ().((), , 0x02, ); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); = 0x40 + ; ( , ) = ().((), 0, 0x80, (0)); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( != 0x0)); ( != 0x0, ()); ().(, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); ( , ) = ().(""); // call = 0x60; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (); ().(, 0); ( == ); = ().(()); (!( < ), ()); = ().(()); ( < ( + )) { (); } } { ().(, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); ( , ) = ().(""); // call = 0x60; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (); ().(, 0); ( == ); = ().(()); (!( < ), ()); ().((), ); (().. != 0x0); ( , ) = ().((), , , 0); // call (); } ().(., + ); ; } ( , ) { (!(((0x04 + ) + + 0x20) > ..)); ; = + (0x20 + (((0x1f + .) / 0x20) * 0x20)); = + 0x0180; (((0x20 + ) + ) - (0x20 + ) >= 0x20); (!( > 0xffffffffffffffff)); (!(((0x20 + ) + ) - ((0x20 + ) + ) < 0x0180)); ((( + 0x0180) < ) | (( + 0x0180) > 0xffffffffffffffff)) (65); = + 0x0180; ( < 0x2); ( < 0x3); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); (!( > 0xffffffffffffffff)); (((0x20 + ) + ) + + 0x1f < ((0x20 + ) + )); ( > 0xffffffffffffffff) (65); ((( + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < ) | (( + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff)) (65); = + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!(((0x20 + ) + ) < (0x20 + ( + (((0x20 + ) + ) + ))))); ( == ( & 0xff)); (. == (()), ()); (!( < 0x2)) (33); (!( < 0x3)) (33); = (((0x20 + ) + 0x01c0) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) + 0x20; ((.((), 0x40, , , (()), (()), (()), (()), (), (()), 0x0180, (), (()), (), )) == , ()); = 0; ( > 0x01) (33); ( != 0x0) { ().((), ); ( , ) = ().((), , 0x02, ); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); = 0x40 + ; ( , ) = ().((), , 0x80, ()); // call (); ( - >= 0x20); ( == ( != 0x0)); ( != 0x0, ()); ( , ) = .(.((0x095ea7b3), , 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); // call approve (); ( - >= 0x20); .(, ()); ( , ) = ().(""); // call = 0x60; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (); ( , ) = .(.((0x095ea7b3), , 0)); // call approve (); ( - >= 0x20); ( == ); ( , ) = .(.((0x70a08231), ())); // staticcall balanceOf (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( - >= 0x20); = .(, ()); (!( < ), ()); = ().(()); ( < (0 + )) { (); } } { ( , ) = .(.((0x095ea7b3), , 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); // call approve (); ( - >= 0x20); .(, ()); ( , ) = ().(""); // call = 0x60; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (); ( , ) = .(.((0x095ea7b3), , 0)); // call approve (); ( - >= 0x20); ( == ); ( , ) = .(.((0x70a08231), ())); // staticcall balanceOf (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( - >= 0x20); = .(, ()); (!( < ), ()); ().((), ); (().. != 0x0); ( , ) = ().((), , , 0); // call (); } ().(., ); } ( ) { ( <= 0xffffffffffffffff); (!((.. - (0x04 + )) < 0x0180)); ( , ) = (.).(()); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( != 0x0)); ( != 0x0, ()); = .; (.[0x04 + ] < 0x2); (!(.[0x04 + ] < 0x2)) (33); (.[(0x04 + ) + 0x20] < 0x3); (!((.[(0x04 + ) + 0x20]) < 0x3)) (33); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x0100] < ((.. - (0x04 + )) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1)); (!(.[(0x04 + ) + .[(0x04 + ) + 0x0100]] > 0xffffffffffffffff)); (!(((0x04 + ) + .[(0x04 + ) + 0x0100] + 0x20) > (.. - (.[(0x04 + ) + .[(0x04 + ) + 0x0100]])))); (.[(0x04 + ) + 0x0140] == (.[(0x04 + ) + 0x0140] & 0xff)); = (((0x20 + ) + 0x40) + 0x0180) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (.[(0x04 + ) + (.[(0x04 + ) + 0x0100])] + 0x1f)) + 0x20; = (.(., 0x40, .[0x04 + ], (.[(0x04 + ) + 0x20]), ((.[(0x04 + ) + 0x40])), ((.[(0x04 + ) + 0x60])), ((.[(0x04 + ) + 0x80])), ((.[(0x04 + ) + 0xa0])), (.[0xc0 + (0x04 + )]), ((.[(0x04 + ) + 0xe0])), 0x0180, (.[0x0120 + (0x04 + )]), ((.[(0x04 + ) + 0x0140])), (.[0x0160 + (0x04 + )]), (.[(0x04 + ) + (.[(0x04 + ) + 0x0100])]))); (.[0x04 + ] < 0x2); (!(.[0x04 + ] < 0x2)) (33); (.[(0x04 + ) + 0x20] < 0x3); (!((.[(0x04 + ) + 0x20]) < 0x3)) (33); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x60] == (.[(0x04 + ) + 0x60] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x80] == (.[(0x04 + ) + 0x80] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0xe0] == (.[(0x04 + ) + 0xe0] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x0100] < ((.. - (0x04 + )) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1)); (!(.[(0x04 + ) + .[(0x04 + ) + 0x0100]] > 0xffffffffffffffff)); (!(((0x04 + ) + .[(0x04 + ) + 0x0100] + 0x20) > (.. - (.[(0x04 + ) + .[(0x04 + ) + 0x0100]])))); (.[(0x04 + ) + 0x0140] == (.[(0x04 + ) + 0x0140] & 0xff)); = (((0x20 + ) + 0x20) + 0x0180) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (.[(0x04 + ) + (.[(0x04 + ) + 0x0100])] + 0x1f)) + 0x20; (((0x04 + ) + 0x40) - ((0x04 + ) + 0x20) >= 0x20); (.[(0x04 + ) + 0x20] < 0x3); (.[(0x04 + ) + 0x20] > 0x02) (33); (.[(0x04 + ) + 0x20] != 0) { (((0x04 + ) + 0x40) - ((0x04 + ) + 0x20) >= 0x20); (.[(0x04 + ) + 0x20] < 0x3); (.[(0x04 + ) + 0x20] > 0x02) (33); (.[(0x04 + ) + 0x20] != 0x01) { (((0x04 + ) + 0x60) - ((0x04 + ) + 0x40) >= 0x20); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); ((.[(0x04 + ) + 0x40]).. != 0x0); ( , ) = (.[(0x04 + ) + 0x40]).((), (.[(0x04 + ) + 0xa0]), (.[0xc0 + (0x04 + )]), 0xa0, (0)); // call (); } { = 0x40 + ; (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); (!(0 < .)) (50); (!(0 < .)) (50); (((0x04 + ) + 0x60) - ((0x04 + ) + 0x40) >= 0x20); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); } } { (((0x04 + ) + 0x60) - ((0x04 + ) + 0x40) >= 0x20); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); ((.[(0x04 + ) + 0x40]).. != 0x0); ( , ) = (.[(0x04 + ) + 0x40]).((.[(0x04 + ) + 0xa0]), (.[0xc0 + (0x04 + )]), 0x60); // call (); } (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (.[(0x04 + ) + 0xa0]).(()); // staticcall (); = .(, ()); ( != 0x0) { ( , ) = (.[(0x04 + ) + 0xa0]).(, ); // call (); .(, ()); } (((0x04 + ) + 0xa0) - ((0x04 + ) + 0x80) >= 0x20); (.[(0x04 + ) + 0x80] == (.[(0x04 + ) + 0x80] & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (.[(0x04 + ) + 0x80]).(()); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); (. != 0) { ( , ) = (.[(0x04 + ) + 0x80]).(, .); // call (); .(, ()); } } ( ) { ( <= 0xffffffffffffffff); (!((.. - (0x04 + )) < 0x0180)); ( , ) = (.).(()); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( != 0x0)); ( != 0x0, ()); = .; (.[0x04 + ] < 0x2); (!(.[0x04 + ] < 0x2)) (33); (.[(0x04 + ) + 0x20] < 0x3); (!((.[(0x04 + ) + 0x20]) < 0x3)) (33); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x0100] < ((.. - (0x04 + )) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1)); (!(.[(0x04 + ) + .[(0x04 + ) + 0x0100]] > 0xffffffffffffffff)); (!(((0x04 + ) + .[(0x04 + ) + 0x0100] + 0x20) > (.. - (.[(0x04 + ) + .[(0x04 + ) + 0x0100]])))); (.[(0x04 + ) + 0x0140] == (.[(0x04 + ) + 0x0140] & 0xff)); = (((0x20 + ) + 0x40) + 0x0180) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (.[(0x04 + ) + (.[(0x04 + ) + 0x0100])] + 0x1f)) + 0x20; = (.(., 0x40, .[0x04 + ], (.[(0x04 + ) + 0x20]), ((.[(0x04 + ) + 0x40])), ((.[(0x04 + ) + 0x60])), ((.[(0x04 + ) + 0x80])), ((.[(0x04 + ) + 0xa0])), (.[0xc0 + (0x04 + )]), ((.[(0x04 + ) + 0xe0])), 0x0180, (.[0x0120 + (0x04 + )]), ((.[(0x04 + ) + 0x0140])), (.[0x0160 + (0x04 + )]), (.[(0x04 + ) + (.[(0x04 + ) + 0x0100])]))); (.[0x04 + ] < 0x2); (!(.[0x04 + ] < 0x2)) (33); (.[(0x04 + ) + 0x20] < 0x3); (!((.[(0x04 + ) + 0x20]) < 0x3)) (33); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x60] == (.[(0x04 + ) + 0x60] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x80] == (.[(0x04 + ) + 0x80] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0xe0] == (.[(0x04 + ) + 0xe0] & 0xffffffffffffffffffffffffffffffffffffffff)); (.[(0x04 + ) + 0x0100] < ((.. - (0x04 + )) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1)); (!(.[(0x04 + ) + .[(0x04 + ) + 0x0100]] > 0xffffffffffffffff)); (!(((0x04 + ) + .[(0x04 + ) + 0x0100] + 0x20) > (.. - (.[(0x04 + ) + .[(0x04 + ) + 0x0100]])))); (.[(0x04 + ) + 0x0140] == (.[(0x04 + ) + 0x0140] & 0xff)); = (((0x20 + ) + 0x20) + 0x0180) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (.[(0x04 + ) + (.[(0x04 + ) + 0x0100])] + 0x1f)) + 0x20; (((0x04 + ) + 0x40) - ((0x04 + ) + 0x20) >= 0x20); (.[(0x04 + ) + 0x20] < 0x3); (.[(0x04 + ) + 0x20] > 0x02) (33); (.[(0x04 + ) + 0x20] != 0) { (((0x04 + ) + 0x40) - ((0x04 + ) + 0x20) >= 0x20); (.[(0x04 + ) + 0x20] < 0x3); (.[(0x04 + ) + 0x20] > 0x02) (33); (.[(0x04 + ) + 0x20] != 0x01) { (((0x04 + ) + 0x60) - ((0x04 + ) + 0x40) >= 0x20); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); ((.[(0x04 + ) + 0x40]).. != 0x0); ( , ) = (.[(0x04 + ) + 0x40]).((), (.[(0x04 + ) + 0xa0]), (.[0xc0 + (0x04 + )]), 0xa0, (0)); // call (); } { = 0x40 + ; (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); (!(0 < .)) (50); (!(0 < .)) (50); (((0x04 + ) + 0x60) - ((0x04 + ) + 0x40) >= 0x20); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); } } { (((0x04 + ) + 0x60) - ((0x04 + ) + 0x40) >= 0x20); (.[(0x04 + ) + 0x40] == (.[(0x04 + ) + 0x40] & 0xffffffffffffffffffffffffffffffffffffffff)); (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); ((.[(0x04 + ) + 0x40]).. != 0x0); ( , ) = (.[(0x04 + ) + 0x40]).((.[(0x04 + ) + 0xa0]), (.[0xc0 + (0x04 + )]), 0x60); // call (); } (((0x04 + ) + 0xc0) - ((0x04 + ) + 0xa0) >= 0x20); (.[(0x04 + ) + 0xa0] == (.[(0x04 + ) + 0xa0] & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (.[(0x04 + ) + 0xa0]).(()); // staticcall (); = .(, ()); ( != 0x0) { ( , ) = (.[(0x04 + ) + 0xa0]).(, ); // call (); .(, ()); } (((0x04 + ) + 0xa0) - ((0x04 + ) + 0x80) >= 0x20); (.[(0x04 + ) + 0x80] == (.[(0x04 + ) + 0x80] & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (.[(0x04 + ) + 0x80]).(()); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); (. != 0) { ( , ) = (.[(0x04 + ) + 0x80]).(, .); // call (); .(, ()); } } ([] , [] , [] , ) { (!(((0x04 + ) + (. << 0x05) + 0x20) > ..)); (!(((0x04 + ) + (. << 0x05) + 0x20) > ..)); (!(((0x04 + ) + (. << 0x05) + 0x20) > ..)); (!(((0x04 + ) + + 0x20) > ..)); ; = + (0x20 + (((0x1f + .) / 0x20) * 0x20)); = + 0x0180; (((0x20 + ) + .) - (0x20 + ) >= 0x20); (!( > 0xffffffffffffffff)); (!(((0x20 + ) + .) - ((0x20 + ) + ) < 0x0180)); ((( + 0x0180) < ) | (( + 0x0180) > 0xffffffffffffffff)) (65); = + 0x0180; ( < 0x2); ( < 0x3); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); (!( > 0xffffffffffffffff)); (((0x20 + ) + ) + + 0x1f < ((0x20 + ) + .)); ( > 0xffffffffffffffff) (65); ((( + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < ) | (( + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff)) (65); = + ((0x3f + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ( + 0x1f))) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!(((0x20 + ) + .) < (0x20 + ( + (((0x20 + ) + ) + ))))); ( == ( & 0xff)); (. == (()), ()); (!( < 0x2)) (33); (!( < 0x3)) (33); = ((0x20 + ) + 0x01c0) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20; ((.((), 0x40, , , (()), (()), (()), (()), (), (()), 0x0180, (), (()), (), )) == , ()); = 0; (!(0x0 < .)) (50); (!(0x0 < .)) (50); ( > 0x01) (33); ( != 0x0) { ().((), [0]); ( , ) = ().((), [0], 0x02, ); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); = 0x40 + ; ( , ) = ().((), 0, 0x80, (0)); // call (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( != 0x0)); ( != 0x0, ()); ().(, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); ( , ) = ().(""); // call = 0x60; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (); ().(, 0); ( == ); = ().(()); (!( < ), ()); = ().(()); ( < ([0] + [0])) { (); } } { ().(, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); ( , ) = ().(""); // call = 0x60; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (); ().(, 0); ( == ); = ().(()); (!( < ), ()); ().((), ); (().. != 0x0); ( , ) = ().((), , , 0); // call (); } (!(0x0 < .)) (50); ([0] == ([0] & 0xffffffffffffffffffffffffffffffffffffffff)); (!(0x0 < .)) (50); (!(0x0 < .)) (50); ( , ) = ([0]).(., [0] + [0]); // call (); .(, ()); } ( ) { { := (0x40) (, 0, ()) (, (((), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), (224, (, 0xffffffff)))) := ((), (), , (), 0, 0) := () (, 0, ) 0 { (, ) } { (, ) } } } // Note: This selector table is synthetic and is not part of the original Solidity source. // It records the recovered selector-to-signature mapping without executable behavior. // 0x1b11d0ff => executeOperation(address,uint256,uint256,address,bytes) // 0x31f57072 => onMorphoFlashLoan(uint256,bytes) // 0x7d1eba36 => Unknown_7d1eba36(uint256) // 0xa10acfd6 => Unknown_a10acfd6(uint256) // 0xf04f2707 => receiveFlashLoan(address[],uint256[],uint256[],bytes)}