Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php class SubarrayPositionFromEnd extends Handler { use MultipleAddressMode, TernaryO..
Decoded Output download
<?php
class SubarrayPositionFromEnd extends Handler {
use MultipleAddressMode, TernaryOperator, NoUnsigned;
public function getOperandAddressMode($i) {
switch($i) {
case 1: return "ARR";
case 2: return "ARR";
case 3: return "SCA";
case 4: return "SCA";
}
}
public function getOperandType($i) {
switch($i) {
case 1: return $this->operandType;
case 2: return $this->operandType;
case 3: return "I32";
case 4: return "I32";
}
}
public function getOperandSize($i) {
switch($i) {
case 1: return "op1_count";
case 2: return "op2_count";
case 3: return 1;
case 4: return 1;
}
}
public function getActionOnUnitData() {
$type = $this->getOperandType(1);
$cType = $this->getOperandCType(1);
$lines = array();
$lines[] = "int32_t index = -1;";
$lines[] = "if(op2_count > 0) {";
$lines[] = "uint32_t i, j;";
$lines[] = "if(op3 < 0) {";
$lines[] = "for(i = op1_count + op3; (int32_t) i >= 0; i--) {";
$lines[] = "if(op1_ptr[i] == op2_ptr[0]) {";
$lines[] = "for(j = 1; j < op2_count; j++) {";
$lines[] = "if(op1_ptr[i + j] != op2_ptr[j]) {";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "if(j == op2_count) {";
$lines[] = "index = i;";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "} else {";
$lines[] = "for(i = op1_count - 1; (int32_t) i >= op3; i--) {";
$lines[] = "if(op1_ptr[i] == op2_ptr[0]) {";
$lines[] = "for(j = 1; j < op2_count; j++) {";
$lines[] = "if(op1_ptr[i + j] != op2_ptr[j]) {";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "if(j == op2_count) {";
$lines[] = "index = i;";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "res = index;";
return $lines;
}
}
?>
Did this file decode correctly?
Original Code
<?php
class SubarrayPositionFromEnd extends Handler {
use MultipleAddressMode, TernaryOperator, NoUnsigned;
public function getOperandAddressMode($i) {
switch($i) {
case 1: return "ARR";
case 2: return "ARR";
case 3: return "SCA";
case 4: return "SCA";
}
}
public function getOperandType($i) {
switch($i) {
case 1: return $this->operandType;
case 2: return $this->operandType;
case 3: return "I32";
case 4: return "I32";
}
}
public function getOperandSize($i) {
switch($i) {
case 1: return "op1_count";
case 2: return "op2_count";
case 3: return 1;
case 4: return 1;
}
}
public function getActionOnUnitData() {
$type = $this->getOperandType(1);
$cType = $this->getOperandCType(1);
$lines = array();
$lines[] = "int32_t index = -1;";
$lines[] = "if(op2_count > 0) {";
$lines[] = "uint32_t i, j;";
$lines[] = "if(op3 < 0) {";
$lines[] = "for(i = op1_count + op3; (int32_t) i >= 0; i--) {";
$lines[] = "if(op1_ptr[i] == op2_ptr[0]) {";
$lines[] = "for(j = 1; j < op2_count; j++) {";
$lines[] = "if(op1_ptr[i + j] != op2_ptr[j]) {";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "if(j == op2_count) {";
$lines[] = "index = i;";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "} else {";
$lines[] = "for(i = op1_count - 1; (int32_t) i >= op3; i--) {";
$lines[] = "if(op1_ptr[i] == op2_ptr[0]) {";
$lines[] = "for(j = 1; j < op2_count; j++) {";
$lines[] = "if(op1_ptr[i + j] != op2_ptr[j]) {";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "if(j == op2_count) {";
$lines[] = "index = i;";
$lines[] = "break;";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "}";
$lines[] = "res = index;";
return $lines;
}
}
?>
Function Calls
None |
Stats
MD5 | d807cc5033d592e31b07062f4e8e0edc |
Eval Count | 0 |
Decode Time | 110 ms |