Ethereum
0x35c31f688b45bca7f3692a5aa989fabd11a9ff43
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0x35c31f68…11a9ff431.8 KB7.2 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x35c31f688b45bca7f3692a5aa989fabd11a9ff43
358 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; { = (0xb2eafb2d020af198ae4888f3a4d6af35cead1634); (); (); (); (); (); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x0127d85a)) { // Route to Unknown_0127d85a(address,address,address,bytes,bytes,uint256,bytes,bytes,uint256) after replacing only msg.sig. ((0xde353787)); ; } ((.. >= 4) && (. == 0x533a03e6)) { // Route to Unknown_533a03e6(address,address,uint256) after replacing only msg.sig. ((0xa703a4a7)); ; } ((.. >= 4) && (. == 0xdb566128)) { // Route to Unknown_db566128(address,address,bytes,bytes,uint256) after replacing only msg.sig. ((0x9526dc52)); ; } (); } ( , , , , ) { (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (. == 0xb2eafb2d020af198ae4888f3a4d6af35cead1634, ()); ( == (0xb2eafb2d020af198ae4888f3a4d6af35cead1634), ()); ( == , ()); = 0; () { (!( < .)) { ; } (!(( < .))) (50); (.[( << 0x05) + ((0x04 + ) + 0x20)] != ((.[( << 0x05) + ((0x04 + ) + 0x20)]))) { (); ; } ; ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( , ) = .(.((0x23b872dd), , (.[( << 0x05) + ((0x04 + ) + 0x20)]), )); // call transferFrom = 0x60; ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } = 0; = 0; = !(); () { ((( + ) + 0x20) - ( + 0x20) >= 0x20); ( == (!(!()))); } { = ; = ; = ; } () { (); ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( , ) = (( << 0x05) + ( + 0x20)).(, (( << 0x05) + ( + 0x20)), ); // call = 0x60; ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (17); ; } = 0x01 + ; } } ( , , ) { (. == 0xb2eafb2d020af198ae4888f3a4d6af35cead1634, ()); = 0x44; ; ((( + 0x80) > 0xffffffffffffffff) | (( + 0x80) < )) (65); = + 0x80; ( , ) = .(.((0xa9059cbb), , )); // call transfer (. == 0) { (, ()); = 0x40; = 0x40; = !; () { ((((0x60 + ) + 0x20) - 0x80) >= 0x20); ( == ); } { = ; = 0x60; = ; } (!(), ()); } { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (, ()); = 0x40; = 0x40; = !(); (. != 0) { ((( + .) + 0x20) - ( + 0x20) >= 0x20); ( == (!(!()))); } { = .; = ; = .; } (!(), ()); } } ( , , , , , , , , ) { (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (. == 0xb2eafb2d020af198ae4888f3a4d6af35cead1634, ()); ( == (0xb2eafb2d020af198ae4888f3a4d6af35cead1634), ()); ( == , ()); ( == , ()); = 0; () { (!( < .)) { ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } ; ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( , ) = .(.((0x23b872dd), , (( << 0x05) + ( + 0x20)), )); // call transferFrom = 0x60; ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } = 0; = 0; = !(); () { ((( + ) + 0x20) - ( + 0x20) >= 0x20); ( == (!(!()))); } { = ; = ; = ; } () { (); ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( , ) = (( << 0x05) + ( + 0x20)).(, (( << 0x05) + ( + 0x20)), ); // call = 0x60; ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (17); ; } = 0x01 + ; } = 0; () { (!( < .)) { ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) == ((( << 0x05) + ( + 0x20)))); ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( , ) = .(.((0x23b872dd), , (( << 0x05) + ( + 0x20)), )); // call transferFrom = 0x60; ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } = 0; = 0; = !(); () { (!((( + ) + 0x20) - ( + 0x20) < 0x20)); ( == ); } { = ; = ; = ; } () { (); ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } (!( < .)) { (50); ; } (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) { (); ; } ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( , ) = (( << 0x05) + ( + 0x20)).(, (( << 0x05) + ( + 0x20)), ); // call = 0x60; ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (17); ; } = 0x01 + ; } } ( ) { { := (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. // 0x0127d85a => Unknown_0127d85a(address,address,address,bytes,bytes,uint256,bytes,bytes,uint256) // 0x533a03e6 => Unknown_533a03e6(address,address,uint256) // 0x8da5cb5b => owner() // 0xdb566128 => Unknown_db566128(address,address,bytes,bytes,uint256)}