BNB Chain
0x5e6d1f40be466dd2facc94a26818948ecd3b1ca2
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x5e6d1f40…cd3b1ca210.7 KB6.8 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x5e6d1f40be466dd2facc94a26818948ecd3b1ca2
421 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; { ( ) ( );} { ; // STORAGE[0x0] [] ; // STORAGE[0x1] ; // STORAGE[0x2] ; // STORAGE[0x3] ; // STORAGE[0x4] ; // STORAGE[0x5] ; // STORAGE[0x6] ; ; ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { } () { } ( , ) { (. == (0xfd929b0f270dfea6c4827262b4e2bf6ea50fe9b6)); = ; = ; = ; = ().(0x8f73b65b4caaf64fba2af91cc5d4a2a1318e5d8c); ((0x8f73b65b4caaf64fba2af91cc5d4a2a1318e5d8c).. != 0x0); ( , ) = (0x8f73b65b4caaf64fba2af91cc5d4a2a1318e5d8c).((), , 0x60); // call (); = ; = ().(()); (().. != 0x0); ( , ) = .(.((0xa9059cbb), ., )); // call transfer (); } ( , ) { (. > 0xffffffffffffffff) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) > ..)); (. == (0xfd929b0f270dfea6c4827262b4e2bf6ea50fe9b6)); (0x0 != ) { ( , ) = (0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c).(()); // staticcall (); = .(, ()); ((0x6bca74586218db34cdb402295796b79663d816e9).. != 0x0); ( , ) = (0x6bca74586218db34cdb402295796b79663d816e9).(( * 0x0b1a2bc2ec500000) / 0x0de0b6b3a7640000); // call (); = ; = ().(0xfd5840cd36d94d7229439859c0112a4185bc0255); ((0xfd5840cd36d94d7229439859c0112a4185bc0255).. != 0x0); ( , ) = (0xfd5840cd36d94d7229439859c0112a4185bc0255).(( * 0x0de05bc096e9c000) / 0x0de0b6b3a7640000); // call (); ((0x238a358808379702088667322f80ac48bad5e6c4).. != 0x0); ( , ) = (0x238a358808379702088667322f80ac48bad5e6c4).(0x20); // call (); ((0xfd5840cd36d94d7229439859c0112a4185bc0255).. != 0x0); ( , ) = (0xfd5840cd36d94d7229439859c0112a4185bc0255).(( * 0x0de05bc096e9c000) / 0x0de0b6b3a7640000); // call (); ((0x6bca74586218db34cdb402295796b79663d816e9).. != 0x0); (0x6bca74586218db34cdb402295796b79663d816e9).(( * 0x0b1a2bc2ec500000) / 0x0de0b6b3a7640000); // call } { = 0x01 + ; ( , ) = (0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c).(0x8f73b65b4caaf64fba2af91cc5d4a2a1318e5d8c); // staticcall (); = .(, ()); ((0x8f73b65b4caaf64fba2af91cc5d4a2a1318e5d8c).. != 0x0); (0x8f73b65b4caaf64fba2af91cc5d4a2a1318e5d8c).(0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c, , 0x60); // call } (); } ( ) { ((0xfd929b0f270dfea6c4827262b4e2bf6ea50fe9b6) == .); = ().(()); (.. != 0x0); ( , ) = .(.((0xa9059cbb), ., )); // call transfer (); } ( , , , ) { (. > 0xffffffffffffffff) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) > ..)); = 0x01 + ; ( != .) { = ; = ().(()); ; ( - != 0) { (!( < .)) (50); = ; = ().(([])); = - 0x01; (!(( + ) > )) { } { = - ; } = ; ( , ) = ([]).(); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); ((.) - (()) != 0) { = 0x40 + ; } { = 0x40 + ; } } { (. == (0xfd929b0f270dfea6c4827262b4e2bf6ea50fe9b6)); = ; (().. != 0x0); ( , ) = .(.((0x095ea7b3), 0x10ed43c718714eb63d5aa57b78b54704e256024e, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); // call approve (); = + 0x60; = 0x02; (0x02 != 0) { = 0x40 + (0x20 + ); } = ; (!(0 < .)) (50); (!(0x01 < .)) (50); = ; = ().(()); = 0; = (0x04 + ) + 0xc0; = + 0x20; () { (!( < )) { ; } = 0x01 + ; = 0x20 + ; = 0x20 + ; } ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(, 0, 0xa0, (0x038757581a0814565f7f3d7ad223097f8410de), .); // call (); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f)); (( + .) - >= 0x20); (!( > 0xffffffffffffffff)); ((( + ) + 0x1f) < ( + .)); ( > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((( << 0x05) + 0x20) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((( << 0x05) + 0x20) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((( << 0x05) + 0x20) + 0x1f)); (!((0x20 + (( + ) + ( << 0x05))) > ( + .))); = + 0x20; = 0x20 + ( + ); () { = ; = ; (!( < (0x20 + (( + ) + ( << 0x05))))) { ; } (!((0x20 + ) < (0x20 + (( + ) + ( << 0x05))))) { ; } = 0x20 + (0x20 + ); = 0x20 + (0x20 + ); = 0x20 + ; = 0x20 + ; } (!(0 < )) { ( , ) = (0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).(()); // staticcall (); = .(, ()); ( , ) = (0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).(0x840e19dcca541ee0b55a3c67e900a39d523b12b8); // staticcall (); = .(, ()); = ; = ().(0x840e19dcca541ee0b55a3c67e900a39d523b12b8); ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(, , ); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ((0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).. != 0x0); ( , ) = (0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).(0x840e19dcca541ee0b55a3c67e900a39d523b12b8, ); // call (); ((0x840e19dcca541ee0b55a3c67e900a39d523b12b8).. != 0x0); ( , ) = (0x840e19dcca541ee0b55a3c67e900a39d523b12b8).((( * 0x0de0375f5d1f4000) / 0x0de0b6b3a7640000), 0, (), 0x80); // call (); } { = 0x40 + ; } = ; (().. != 0x0); ( , ) = .(.((0xa9059cbb), ., (((( + ) * 0x19) / 0x26f7) + ( + )) + 0x01)); // call transfer (); } } { (. == (0xfd929b0f270dfea6c4827262b4e2bf6ea50fe9b6)); = ; (().. != 0x0); ( , ) = .(.((0x095ea7b3), 0x10ed43c718714eb63d5aa57b78b54704e256024e, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)); // call approve (); = + (0x20 + (0x20 * 0x02)); = 0x02; = (0x02 * 0x20) + (0x20 + ); = ; (!(0 < .)) (50); (!(0x01 < .)) (50); = ; ().(()); = 0; = (0x04 + ) + 0xc0; = + 0x20; () { (!( < )) { ; } = 0x01 + ; = 0x20 + ; = 0x20 + ; } ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(, 0, 0xa0, (0x038757581a0814565f7f3d7ad223097f8410de), ., ); // call (); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f)); (( + .) - >= 0x20); (!( > 0xffffffffffffffff)); ((( + ) + 0x1f) < ( + .)); ( > 0xffffffffffffffff) (65); ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((( << 0x05) + 0x20) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((( << 0x05) + 0x20) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((( << 0x05) + 0x20) + 0x1f)); (!((0x20 + (( + ) + ( << 0x05))) > ( + .))); = + 0x20; = 0x20 + ( + ); () { (!( < (0x20 + (( + ) + ( << 0x05))))) { ; } = 0x20 + ; = 0x20 + ; (!(0 < )) { ( , ) = (0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).(()); // staticcall (); = .(, ()); ( , ) = (0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).(0x840e19dcca541ee0b55a3c67e900a39d523b12b8); // staticcall (); = .(, ()); = ; = ().(0x840e19dcca541ee0b55a3c67e900a39d523b12b8); ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(, , ); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ((0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).. != 0x0); ( , ) = (0x9cf0e3ad4efa7ab602d7b5a38c55795cfa777777).(0x840e19dcca541ee0b55a3c67e900a39d523b12b8, ); // call (); ((0x840e19dcca541ee0b55a3c67e900a39d523b12b8).. != 0x0); ( , ) = (0x840e19dcca541ee0b55a3c67e900a39d523b12b8).((. * 0x0de0375f5d1f4000) / 0x0de0b6b3a7640000, 0, (), 0x80); // call (); = ; (().. != 0x0); ( , ) = .(.((0xa9059cbb), ., (((( + ) * 0x19) / 0x26f7) + ( + )) + 0x01)); // call transfer (); } { = 0x40 + ; } } } } ( ) { (. > 0xffffffffffffffff) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) > ..)); = ; = ().(0x28e2ea090877bf75740558f6bfb36a5ffee9e9df); = ; ((0x28e2ea090877bf75740558f6bfb36a5ffee9e9df).. != 0x0); ( , ) = (0x28e2ea090877bf75740558f6bfb36a5ffee9e9df).(, (), ); // call (); ((0x6807dc923806fe8fd134338eabca509979a7e0cb).. != 0x0); ( , ) = (0x6807dc923806fe8fd134338eabca509979a7e0cb).(0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c, 0x06c6b935b8bbd4000000, (), 0); // call (); = ; = ().(0xa9251ca9de909cb71783723713b21e4233fbf1b1); = ; ((0x6807dc923806fe8fd134338eabca509979a7e0cb).. != 0x0); ( , ) = (0x6807dc923806fe8fd134338eabca509979a7e0cb).(, ( * 0x0773cea7a4628000) / 0x0de0b6b3a7640000, 0x02, 0, ()); // call (); (!(0 < )) (50); = 0; ().(); (!(0 < )) (50); = 0x20 + (0x20 + ); } ( , , ) { (. > 0xffffffffffffffff) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) > ..)); = 0x01 + ; ( != ) { (!( < )) (50); = ; ().(); = ; ( , ) = .(); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); ((.) - (()) != 0) { = 0x20 + (0x20 + ); } { = 0x20 + (0x20 + ); } } { = ; = ().(0x6fe9e9de56356f7edbfcbb29fab7cd69471a4869); = 0; () { = 0x20 + (0x20 + ); (!( < )) { ; } = 0x20 + ; } ((0x6fe9e9de56356f7edbfcbb29fab7cd69471a4869).. != 0x0); ( , ) = (0x6fe9e9de56356f7edbfcbb29fab7cd69471a4869).((), , 0, 0x80); // call (); = ; ( , ) = (.).(); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); = ; ((.) != ()) { = ; } (!(((0x20 + ) + ) - (0x20 + ) < 0x20)); (().. != 0x0); ( , ) = .(.((0xa9059cbb), ., + )); // call transfer (); } } ( ) { (. > 0xffffffffffffffff) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) > ..)); = ; ().(0x238a358808379702088667322f80ac48bad5e6c4); = ; = ().(0x238a358808379702088667322f80ac48bad5e6c4); ((0x238a358808379702088667322f80ac48bad5e6c4).. != 0x0); ( , ) = (0x238a358808379702088667322f80ac48bad5e6c4).((), (), ); // call (); = 0x40 + ; } ( , , ) { (. > 0xffffffffffffffff) (65); ; ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f))) > 0xffffffffffffffff)) (65); = + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f)); (!(((0x04 + ) + + 0x20) > ..)); (!(0 < .)) (50); (!(. != 0x0)) (50); = 0x01; = ().(([0])); = 0x40 + ; = 0; () { = ; (!( < )) { ; } (!((0x20 + ) < )) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } (([0]).. != 0x0); ( , ) = ([0]).(( - 0x01), 0, (), 0x80); // call (); = ; (!(((0x20 + ) + ) - (0x20 + ) < 0x20)); (().. != 0x0); ( , ) = .(.((0xa9059cbb), ., + )); // call transfer (); } // 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. // 0x05d546ef => Approve(uint256,uint256) // 0x13a1a562 => onMoolahFlashLoan(uint256,bytes) // 0x51cff8d9 => withdraw(address) // 0x84800812 => pancakeCall(address,uint256,uint256,bytes) // 0x91dd7346 => unlockCallback(bytes) // 0xa1d48336 => pancakeV3FlashCallback(uint256,uint256,bytes) // 0xab6291fe => lockAcquired(bytes) // 0xe9cbafb0 => uniswapV3FlashCallback(uint256,uint256,bytes)}