[*] Binary protection state of php-cli
Full RELRO No Canary found NX enabled No PIE No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of php-cli
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x41738c */
| #include <stdint.h>
|
; (fcn) fcn.0041738c () | void fcn_0041738c () {
0x0041738c lui gp, 0x2f |
0x00417390 addiu gp, gp, 0x6e74 |
0x00417394 addu gp, gp, t9 | gp += t9;
0x00417398 addiu sp, sp, -0x30 |
0x0041739c lw t9, -0x7718(gp) | t9 = *(gp);
0x004173a0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004173a4 sw s2, 0x28(sp) | *(var_28h) = s2;
0x004173a8 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x004173ac sw s1, 0x24(sp) | *(var_24h) = s1;
0x004173b0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x004173b4 move s2, a0 | s2 = a0;
0x004173b8 bal 0x417a10 | fcn_00417a10 ();
0x004173bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x004173c0 beqz v0, 0x417480 | goto label_1;
| }
0x004173c4 lw t9, -0x6194(gp) | t9 = sym.imp.strlen;
0x004173c8 move a0, s2 | a0 = s2;
0x004173cc move s1, v0 | s1 = v0;
0x004173d0 jalr t9 | t9 ();
0x004173d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x004173d8 move a0, s1 | a0 = s1;
0x004173dc lw t9, -0x6194(gp) | t9 = sym.imp.strlen;
0x004173e0 move s0, v0 | s0 = v0;
0x004173e4 jalr t9 | t9 ();
0x004173e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x004173ec addu v0, s0, v0 | v0 = s0 + v0;
0x004173f0 lw t9, -0x7f5c(gp) | t9 = sym._emalloc;
0x004173f4 addiu a0, v0, 0x80 | a0 = v0 + 0x80;
0x004173f8 jalr t9 | t9 ();
0x004173fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00417400 lw t9, -0x7714(gp) | t9 = *(gp);
0x00417404 move s0, v0 | s0 = v0;
0x00417408 bal 0x4179f8 | fcn_004179f8 ();
0x0041740c lw gp, 0x18(sp) | gp = *(var_18h);
0x00417410 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00417414 move a3, s1 | a3 = s1;
0x00417418 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x0041741c lw t9, -0x5efc(gp) | t9 = sym.imp.sprintf;
0x00417420 move a2, s2 | a2 = s2;
| /* str._s_in__s_on_line__d_n */
0x00417424 addiu a1, a1, 0xbf0 | a1 += 0xbf0;
0x00417428 move a0, s0 | a0 = s0;
0x0041742c jalr t9 | t9 ();
0x00417430 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x00417434 lw v0, -0x7c58(gp) | v0 = *(gp);
0x00417438 lbu v0, 0x5c(v0) | v0 = *((v0 + 92));
0x0041743c move a2, s0 | a2 = s0;
| if (v0 == 0) {
0x00417440 beqz v0, 0x41749c | goto label_2;
| }
0x00417444 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x00417448 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x0041744c lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x00417450 lw a0, (v0) | a0 = *(v0);
| /* str.PHP:___s */
0x00417454 addiu a1, a1, 0xc2c | a1 += 0xc2c;
0x00417458 jalr t9 | t9 ();
0x0041745c lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x00417460 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00417464 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00417468 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0041746c move a0, s0 | a0 = s0;
0x00417470 lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x00417474 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00417478 addiu sp, sp, 0x30 |
0x0041747c jr t9 | t9 ();
| label_1:
0x00417480 lw a0, -0x7fc0(gp) | a0 = *((gp - 8176));
0x00417484 lw t9, -0x7f6c(gp) | t9 = sym._estrdup;
| /* str.Invalid_configuration_directive_n */
0x00417488 addiu a0, a0, 0xc08 | a0 += 0xc08;
0x0041748c jalr t9 | t9 ();
0x00417490 move s0, v0 | s0 = v0;
0x00417494 lw gp, 0x18(sp) | gp = *(var_18h);
0x00417498 b 0x417434 |
| } while (1);
| label_2:
0x0041749c lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x004174a0 lw t9, -0x7f18(gp) | t9 = sym.zend_error;
| /* esilref: '&s' */
0x004174a4 addiu a1, a1, -0x40cc | a1 += -0x40cc;
0x004174a8 addiu a0, zero, 2 | a0 = 2;
0x004174ac bal 0x417dd4 | sym_zend_error ();
0x004174b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x004174b4 b 0x417460 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x417b20 */
| #include <stdint.h>
|
; (fcn) fcn.00417b20 () | void fcn_00417b20 () {
0x00417b20 lui gp, 0x2f |
0x00417b24 addiu gp, gp, 0x66e0 |
0x00417b28 addu gp, gp, t9 | gp += t9;
0x00417b2c lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x00417b30 addiu sp, sp, -0x20 |
0x00417b34 lw a2, -0x7fc0(gp) | a2 = *((gp - 8176));
0x00417b38 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x00417b3c lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x00417b40 lw a0, (v0) | a0 = *(v0);
| /* str.zend_mm_heap_corrupted */
0x00417b44 addiu a2, a2, 0x1b98 | a2 += 0x1b98;
0x00417b48 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00417b4c sw ra, 0x1c(sp) | *(var_1ch) = ra;
| /* esilref: '&s
' */
0x00417b50 addiu a1, a1, 0x705c | a1 += 0x705c;
0x00417b54 jalr t9 | t9 ();
0x00417b58 lw gp, 0x10(sp) | gp = *(var_10h);
0x00417b5c lw t9, -0x63c8(gp) | t9 = sym.imp.exit;
0x00417b60 addiu a0, zero, 1 | a0 = 1;
0x00417b64 jalr t9 | t9 ();
0x00417b68 lui gp, 0x2f |
0x00417b6c addiu gp, gp, 0x6698 |
0x00417b70 addu gp, gp, t9 | gp += t9;
0x00417b74 addiu sp, sp, -0x830 |
0x00417b78 lw t9, -0x764c(gp) | t9 = sym.zend_is_compiling;
0x00417b7c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00417b80 sw ra, 0x82c(sp) | *(var_82ch) = ra;
0x00417b84 sw s0, 0x828(sp) | *(var_828h) = s0;
0x00417b88 jalr t9 | t9 ();
0x00417b8c nop |
0x00417b90 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00417b94 beqz v0, 0x417c30 | goto label_2;
| }
0x00417b98 lw t9, -0x7614(gp) | t9 = sym.zend_get_compiled_filename;
0x00417b9c jalr t9 | t9 ();
0x00417ba0 nop |
0x00417ba4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00417ba8 lw t9, -0x7610(gp) | t9 = sym.zend_get_compiled_lineno;
0x00417bac addiu s0, v0, 0x10 | s0 = v0 + 0x10;
0x00417bb0 jalr t9 | t9 ();
0x00417bb4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00417bb8 bnez s0, 0x417bc4 |
| while (1) {
0x00417bbc lw s0, -0x7fd0(gp) | s0 = *((gp - 8180));
| /* str.Unknown */
0x00417bc0 addiu s0, s0, -0x45a4 | s0 += -0x45a4;
| label_1:
0x00417bc4 lw v1, -0x7ec8(gp) | v1 = *(gp);
0x00417bc8 lw a2, -0x7fc0(gp) | a2 = *((gp - 8176));
0x00417bcc lw t9, -0x6390(gp) | t9 = sym.imp.snprintf;
0x00417bd0 lw a3, 0x1f8(v1) | a3 = *((v1 + 126));
0x00417bd4 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00417bd8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00417bdc lw v0, 0x140(v1) | v0 = *((v1 + 80));
0x00417be0 addiu s0, sp, 0x28 | s0 = sp + 0x28;
0x00417be4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* str._nFatal_error:_Maximum_execution_time_of__d_d_seconds_exceeded__terminated__in__s_on_line__d_n */
0x00417be8 addiu a2, a2, 0x3fb0 | a2 += 0x3fb0;
0x00417bec addiu a1, zero, 0x800 | a1 = 0x800;
0x00417bf0 move a0, s0 | a0 = s0;
0x00417bf4 jalr t9 | t9 ();
0x00417bf8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 > 0) {
0x00417bfc blez v0, 0x417c24 |
0x00417c00 sltiu a2, v0, 0x801 | a2 = (v0 < 0x801) ? 1 : 0;
0x00417c04 addiu v1, zero, 0x800 | v1 = 0x800;
0x00417c08 lw t9, -0x5ffc(gp) | t9 = sym.imp.write;
| if (a2 == 0) {
0x00417c0c movn v1, v0, a2 | v1 = v0;
| }
0x00417c10 move a2, v1 | a2 = v1;
0x00417c14 move a1, s0 | a1 = s0;
0x00417c18 addiu a0, zero, 2 | a0 = 2;
0x00417c1c jalr t9 | t9 ();
0x00417c20 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00417c24 lw t9, -0x6058(gp) | t9 = sym.imp._exit;
0x00417c28 addiu a0, zero, 0x7c | a0 = 0x7c;
0x00417c2c jalr t9 | t9 ();
| label_2:
0x00417c30 lw t9, -0x7684(gp) | t9 = sym.zend_is_executing;
0x00417c34 jalr t9 | t9 ();
0x00417c38 nop |
0x00417c3c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00417c40 bnez v0, 0x417c4c | goto label_3;
| }
| label_0:
0x00417c44 move v0, zero | v0 = 0;
0x00417c48 b 0x417bbc |
| }
| label_3:
0x00417c4c lw t9, -0x760c(gp) | t9 = sym.zend_get_executed_filename;
0x00417c50 jalr t9 | t9 ();
0x00417c54 nop |
0x00417c58 lb v1, (v0) | v1 = *(v0);
0x00417c5c move s0, v0 | s0 = v0;
0x00417c60 addiu v0, zero, 0x5b | v0 = 0x5b;
0x00417c64 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == v0) {
0x00417c68 beq v1, v0, 0x417c44 | goto label_0;
| }
0x00417c6c lw t9, -0x7608(gp) | t9 = sym.zend_get_executed_lineno;
0x00417c70 jalr t9 | t9 ();
0x00417c74 nop |
0x00417c78 lw gp, 0x20(sp) | gp = *(var_20h);
0x00417c7c b 0x417bc4 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x53f710 */
| #include <stdint.h>
|
; (fcn) fcn.0053f710 () | void fcn_0053f710 () {
0x0053f710 lui gp, 0x1d |
0x0053f714 addiu gp, gp, -0x1510 |
0x0053f718 addu gp, gp, t9 | gp += t9;
0x0053f71c addiu sp, sp, -0x30 |
0x0053f720 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x0053f724 sw s4, 0x28(sp) | *(var_28h) = s4;
0x0053f728 lw s4, -0x617c(gp) | s4 = *((gp - 6239));
0x0053f72c sw s3, 0x24(sp) | *(var_24h) = s3;
0x0053f730 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0053f734 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0053f738 move s1, a2 | s1 = a2;
0x0053f73c move s0, a1 | s0 = a1;
0x0053f740 move s3, a3 | s3 = a3;
0x0053f744 addiu a3, a2, 1 | a3 = a2 + 1;
0x0053f748 move a2, a1 | a2 = a1;
0x0053f74c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0053f750 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0053f754 move s2, a0 | s2 = a0;
0x0053f758 lw a0, (s4) | a0 = *(s4);
0x0053f75c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0053f760 sw ra, 0x2c(sp) | *(var_2ch) = ra;
| /* str.Error_in_argument__d__char__d:_ */
0x0053f764 addiu a1, a1, 0x3dc0 | a1 += 0x3dc0;
0x0053f768 jalr t9 | t9 ();
0x0053f76c addiu v0, zero, 2 | v0 = 2;
0x0053f770 lw gp, 0x10(sp) | gp = *(var_10h);
0x0053f774 lw a0, (s4) | a0 = *(s4);
| if (s3 != v0) {
0x0053f778 beq s3, v0, 0x53f7b8 |
0x0053f77c addiu v0, zero, 3 | v0 = 3;
0x0053f780 sll s0, s0, 2 | s0 <<= 2;
| if (s3 == v0) {
0x0053f784 beq s3, v0, 0x53f7f8 | goto label_0;
| }
0x0053f788 move a1, a0 | a1 = a0;
0x0053f78c lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x0053f790 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0053f794 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0053f798 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0053f79c lw s2, 0x20(sp) | s2 = *(var_20h);
0x0053f7a0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0053f7a4 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0053f7a8 lw t9, -0x5edc(gp) | t9 = sym.imp.fputs;
| /* str.:_in_flags_n */
0x0053f7ac addiu a0, a0, 0x3de0 | a0 += 0x3de0;
0x0053f7b0 addiu sp, sp, 0x30 |
0x0053f7b4 jr t9 | t9 ();
| }
0x0053f7b8 sll v0, s0, 2 | v0 = s0 << 2;
0x0053f7bc addu s0, s2, v0 | s0 = s2 + v0;
0x0053f7c0 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0053f7c4 lw a2, (s0) | a2 = *(s0);
| /* str.option_not_found__c_n */
0x0053f7c8 addiu a1, a1, 0x3dec | a1 += 0x3dec;
0x0053f7cc addu a2, a2, s1 | a2 += s1;
0x0053f7d0 lb a2, (a2) | a2 = *(a2);
| do {
0x0053f7d4 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0053f7d8 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0053f7dc lw s3, 0x24(sp) | s3 = *(var_24h);
0x0053f7e0 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0053f7e4 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0053f7e8 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0053f7ec lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x0053f7f0 addiu sp, sp, 0x30 |
0x0053f7f4 jr t9 | t9 ();
| label_0:
0x0053f7f8 addu s0, s2, s0 | s0 = s2 + s0;
0x0053f7fc lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x0053f800 lw a2, (s0) | a2 = *(s0);
| /* str.no_argument_for_option__c_n */
0x0053f804 addiu a1, a1, 0x3e04 | a1 += 0x3e04;
0x0053f808 addu a2, a2, s1 | a2 += s1;
0x0053f80c lb a2, (a2) | a2 = *(a2);
0x0053f810 b 0x53f7d4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x565420 */
| #include <stdint.h>
|
; (fcn) fcn.00565420 () | void fcn_00565420 () {
0x00565420 lui gp, 0x1b |
0x00565424 addiu gp, gp, -0x7220 |
0x00565428 addu gp, gp, t9 | gp += t9;
0x0056542c lw v0, -0x76ec(gp) | v0 = *((gp - 7611));
0x00565430 addiu sp, sp, -0x30 |
0x00565434 lw v0, (v0) | v0 = *(v0);
0x00565438 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0056543c sw s0, 0x24(sp) | *(var_24h) = s0;
0x00565440 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00565444 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00565448 move s0, a0 | s0 = a0;
| if (v0 != 0) {
0x0056544c bnez v0, 0x5654c8 | goto label_1;
| }
| label_0:
0x00565450 lw t9, -0x5f18(gp) | t9 = sym.imp.mmap;
| do {
0x00565454 addiu s1, zero, -1 | s1 = -1;
0x00565458 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0056545c sw s1, 0x10(sp) | *(var_10h) = s1;
0x00565460 addiu a3, zero, 0x802 | a3 = 0x802;
0x00565464 addiu a2, zero, 3 | a2 = 3;
0x00565468 move a1, s0 | a1 = s0;
0x0056546c move a0, zero | a0 = 0;
0x00565470 jalr t9 | t9 ();
0x00565474 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != s1) {
0x00565478 bne v0, s1, 0x565500 | goto label_2;
| }
0x0056547c lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x00565480 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x00565484 lw s1, (v0) | s1 = *(v0);
0x00565488 jalr t9 | t9 ();
0x0056548c lw gp, 0x18(sp) | gp = *(var_18h);
0x00565490 lw s0, (v0) | s0 = *(v0);
0x00565494 lw t9, -0x5f38(gp) | t9 = sym.imp.strerror;
0x00565498 move a0, s0 | a0 = s0;
0x0056549c jalr t9 | t9 ();
0x005654a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x005654a4 move a3, v0 | a3 = v0;
0x005654a8 move a2, s0 | a2 = s0;
0x005654ac lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005654b0 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
| /* str._nmmap___failed:___d___s_n */
0x005654b4 addiu a1, a1, 0x1b5c | a1 += 0x1b5c;
0x005654b8 move a0, s1 | a0 = s1;
0x005654bc jalr t9 | t9 ();
0x005654c0 move v0, zero | v0 = 0;
0x005654c4 b 0x565500 | goto label_2;
| label_1:
0x005654c8 lui v0, 0x20 | v0 = 0x200000;
0x005654cc lw t9, -0x5f18(gp) | t9 = sym.imp.mmap;
0x005654d0 bne a0, v0, 0x565454 |
| } while (a0 != v0);
0x005654d4 addiu s1, zero, -1 | s1 = -1;
0x005654d8 lui a3, 8 | a3 = 0x80000;
0x005654dc sw zero, 0x14(sp) | *(var_14h) = 0;
0x005654e0 sw s1, 0x10(sp) | *(var_10h) = s1;
0x005654e4 addiu a3, a3, 0x802 | a3 += 0x802;
0x005654e8 addiu a2, zero, 3 | a2 = 3;
0x005654ec lui a1, 0x20 | a1 = 0x200000;
0x005654f0 move a0, zero | a0 = 0;
0x005654f4 jalr t9 | t9 ();
0x005654f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s1) {
0x005654fc beq v0, s1, 0x565450 | goto label_0;
| }
| label_2:
0x00565500 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00565504 lw s1, 0x28(sp) | s1 = *(var_28h);
0x00565508 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0056550c addiu sp, sp, 0x30 |
0x00565510 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x565878 */
| #include <stdint.h>
|
; (fcn) fcn.00565878 () | void fcn_00565878 () {
0x00565878 lui gp, 0x1b |
0x0056587c addiu gp, gp, -0x7678 |
0x00565880 addu gp, gp, t9 | gp += t9;
0x00565884 addiu sp, sp, -0x28 |
0x00565888 lw t9, -0x773c(gp) | t9 = *((gp - 7631));
0x0056588c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00565890 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00565894 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00565898 sw s0, 0x1c(sp) | *(var_1ch) = s0;
| /* fcn.005656f0 */
0x0056589c addiu t9, t9, 0x56f0 | t9 += 0x56f0;
0x005658a0 lui a0, 0x20 | a0 = 0x200000;
0x005658a4 bal 0x5656f0 | fcn_005656f0 ();
0x005658a8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x005658ac bnez v0, 0x565910 | goto label_0;
| }
0x005658b0 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x005658b4 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x005658b8 lw s1, (v0) | s1 = *(v0);
0x005658bc jalr t9 | t9 ();
0x005658c0 lw gp, 0x10(sp) | gp = *(var_10h);
0x005658c4 lw s0, (v0) | s0 = *(v0);
0x005658c8 lw t9, -0x5f38(gp) | t9 = sym.imp.strerror;
0x005658cc move a0, s0 | a0 = s0;
0x005658d0 jalr t9 | t9 ();
0x005658d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x005658d8 move a0, s1 | a0 = s1;
0x005658dc move a3, v0 | a3 = v0;
0x005658e0 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005658e4 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005658e8 move a2, s0 | a2 = s0;
| /* str._nCant_initialize_heap:___d___s_n */
0x005658ec addiu a1, a1, 0x1bb0 | a1 += 0x1bb0;
0x005658f0 jalr t9 | t9 ();
0x005658f4 move a0, zero | a0 = 0;
| do {
0x005658f8 lw ra, 0x24(sp) | ra = *(var_24h);
0x005658fc lw s1, 0x20(sp) | s1 = *(var_20h);
0x00565900 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00565904 move v0, a0 | v0 = a0;
0x00565908 addiu sp, sp, 0x28 |
0x0056590c jr ra | return v1;
| label_0:
0x00565910 addiu v1, zero, 0x1ff | v1 = 0x1ff;
0x00565914 sw v1, 0xc(v0) | *((v0 + 3)) = v1;
0x00565918 addiu v1, zero, 1 | v1 = 1;
0x0056591c sw v1, 0x10(v0) | *((v0 + 4)) = v1;
0x00565920 sw v1, 0x110(v0) | *((v0 + 68)) = v1;
0x00565924 sw v1, 0xe4(v0) | *((v0 + 57)) = v1;
0x00565928 sw v1, 0xe8(v0) | *((v0 + 58)) = v1;
0x0056592c lw v1, -0x7fd0(gp) | v1 = *((gp - 8180));
0x00565930 lui a1, 0x4000 | a1 = 0x40000000;
0x00565934 addiu a0, v0, 0x40 | a0 = v0 + 0x40;
0x00565938 lw a2, -0x3940(v1) | a2 = *((v1 - 3664));
0x0056593c lw a3, -0x393c(v1) | a3 = *((v1 - 3663));
0x00565940 lui v1, 0x20 | v1 = 0x200000;
0x00565944 sw v1, 0xc8(v0) | *((v0 + 50)) = v1;
0x00565948 sw v1, 0xcc(v0) | *((v0 + 51)) = v1;
0x0056594c lui v1, 0x7fff | v1 = 0x7fff0000;
0x00565950 addiu a1, a1, 1 | a1++;
0x00565954 ori v1, v1, 0xffff | v1 |= 0xffff;
0x00565958 sw a0, (v0) | *(v0) = a0;
0x0056595c sw v0, 4(v0) | *((v0 + 1)) = v0;
0x00565960 sw v0, 8(v0) | *((v0 + 2)) = v0;
0x00565964 sw zero, 0x14(v0) | *((v0 + 5)) = 0;
0x00565968 sw a1, 0x150(v0) | *((v0 + 84)) = a1;
0x0056596c sw v0, 0xdc(v0) | *((v0 + 55)) = v0;
0x00565970 sw zero, 0xe0(v0) | *((v0 + 56)) = 0;
0x00565974 sw zero, 0xec(v0) | *((v0 + 59)) = 0;
0x00565978 sw a2, 0xf0(v0) | *((v0 + 60)) = a2;
0x0056597c sw a3, 0xf4(v0) | *((v0 + 61)) = a3;
0x00565980 sw zero, 0xf8(v0) | *((v0 + 62)) = 0;
0x00565984 sw zero, 0xfc(v0) | *((v0 + 63)) = 0;
0x00565988 sw zero, 0x48(v0) | *((v0 + 18)) = 0;
0x0056598c sw zero, 0x4c(v0) | *((v0 + 19)) = 0;
0x00565990 sw v1, 0xd0(v0) | *((v0 + 52)) = v1;
0x00565994 sw zero, 0xd4(v0) | *((v0 + 53)) = 0;
0x00565998 sw zero, 0x40(v0) | *((v0 + 16)) = 0;
0x0056599c sw zero, 0x44(v0) | *((v0 + 17)) = 0;
0x005659a0 sw zero, 0xd8(v0) | *((v0 + 54)) = 0;
0x005659a4 b 0x5658f8 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x6684a0 */
| #include <stdint.h>
|
; (fcn) fcn.006684a0 () | void fcn_006684a0 () {
0x006684a0 lui gp, 0xa |
0x006684a4 addiu gp, gp, 0x5d60 |
0x006684a8 addu gp, gp, t9 | gp += t9;
0x006684ac addiu sp, sp, -0x1110 |
0x006684b0 addiu v0, zero, 1 | v0 = 1;
0x006684b4 sw s5, 0x10fc(sp) | *(var_10fch) = s5;
0x006684b8 sw v0, 0x10c8(sp) | *(var_10c8h) = v0;
0x006684bc lw s5, -0x7214(gp) | s5 = *((gp - 7301));
0x006684c0 addiu v0, sp, 0x10cc | v0 = sp + 0x10cc;
0x006684c4 sw fp, 0x1108(sp) | *(var_1108h) = fp;
0x006684c8 sw s7, 0x1104(sp) | *(var_1104h) = s7;
0x006684cc sw s6, 0x1100(sp) | *(var_1100h) = s6;
0x006684d0 sw s4, 0x10f8(sp) | *(var_10f8h) = s4;
0x006684d4 sw s3, 0x10f4(sp) | *(var_10f4h) = s3;
0x006684d8 sw s2, 0x10f0(sp) | *(var_10f0h) = s2;
0x006684dc sw s1, 0x10ec(sp) | *(var_10ech) = s1;
0x006684e0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x006684e4 sw ra, 0x110c(sp) | *(var_110ch) = ra;
0x006684e8 sw s0, 0x10e8(sp) | *(var_10e8h) = s0;
0x006684ec move s3, a0 | s3 = a0;
0x006684f0 move s1, a1 | s1 = a1;
0x006684f4 sw zero, 0x10cc(sp) | *(var_10cch) = 0;
0x006684f8 move s2, zero | s2 = 0;
0x006684fc move s7, zero | s7 = 0;
0x00668500 sw v0, 0x10d0(sp) | *(var_10d0h) = v0;
0x00668504 addiu fp, zero, 2 | fp = 2;
0x00668508 addiu s6, sp, 0x10c8 | s6 = sp + 0x10c8;
0x0066850c addiu s4, zero, -1 | s4 = -1;
| label_1:
0x00668510 lw t9, -0x7210(gp) | t9 = sym.php_getopt;
| do {
| label_0:
0x00668514 lw a3, 0x10d0(sp) | a3 = *(var_10d0h);
0x00668518 sw fp, 0x18(sp) | *(var_18h) = fp;
0x0066851c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00668520 sw s6, 0x10(sp) | *(var_10h) = s6;
0x00668524 move a2, s5 | a2 = s5;
0x00668528 move a1, s1 | a1 = s1;
0x0066852c move a0, s3 | a0 = s3;
0x00668530 jalr t9 | t9 ();
0x00668534 move s0, v0 | s0 = v0;
0x00668538 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == s4) {
0x0066853c bne v0, s4, 0x6685b0 |
0x00668540 lw t9, -0x786c(gp) | t9 = *(gp);
| if (s2 == 0) {
0x00668544 beqz s2, 0x668678 | goto label_25;
| }
0x00668548 addiu a1, sp, 0x1028 | a1 = sp + 0x1028;
0x0066854c move a0, s2 | a0 = s2;
0x00668550 bal 0x6697a0 | fcn_006697a0 ();
0x00668554 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00668558 beqz v0, 0x6685d4 | goto label_26;
| }
0x0066855c lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00668560 move a2, s2 | a2 = s2;
| /* str.Directory__s_does_not_exist._n */
0x00668564 addiu a1, a1, -0x2b74 | a1 += -0x2b74;
| label_2:
0x00668568 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x0066856c lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x00668570 lw a0, (v0) | a0 = *(v0);
0x00668574 jalr t9 | t9 ();
| label_3:
0x00668578 addiu s4, zero, 1 | s4 = 1;
| label_23:
0x0066857c lw ra, 0x110c(sp) | ra = *(var_110ch);
| label_24:
0x00668580 move v0, s4 | v0 = s4;
0x00668584 lw fp, 0x1108(sp) | fp = *(var_1108h);
0x00668588 lw s7, 0x1104(sp) | s7 = *(var_1104h);
0x0066858c lw s6, 0x1100(sp) | s6 = *(var_1100h);
0x00668590 lw s5, 0x10fc(sp) | s5 = *(var_10fch);
0x00668594 lw s4, 0x10f8(sp) | s4 = *(var_10f8h);
0x00668598 lw s3, 0x10f4(sp) | s3 = *(var_10f4h);
0x0066859c lw s2, 0x10f0(sp) | s2 = *(var_10f0h);
0x006685a0 lw s1, 0x10ec(sp) | s1 = *(var_10ech);
0x006685a4 lw s0, 0x10e8(sp) | s0 = *(var_10e8h);
0x006685a8 addiu sp, sp, 0x1110 |
0x006685ac jr ra | return v0;
| }
0x006685b0 addiu v0, zero, 0x53 | v0 = 0x53;
0x006685b4 addiu v0, zero, 0x74 | v0 = 0x74;
| if (s0 == v0) {
0x006685b8 beq s0, v0, 0x6685cc | goto label_27;
| }
0x006685bc lw t9, -0x7210(gp) | t9 = sym.php_getopt;
0x006685c0 bne s0, v0, 0x668514 |
| } while (s0 != v0);
0x006685c4 lw s2, 0x10cc(sp) | s2 = *(var_10cch);
0x006685c8 b 0x668514 | goto label_0;
| label_27:
0x006685cc lw s7, 0x10cc(sp) | s7 = *(var_10cch);
0x006685d0 b 0x668510 | goto label_1;
| label_26:
0x006685d4 lw v0, 0x103c(sp) | v0 = *(var_103ch);
0x006685d8 addiu v1, zero, 0x4000 | v1 = 0x4000;
0x006685dc andi v0, v0, 0xf000 | v0 &= 0xf000;
0x006685e0 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
| if (v0 != v1) {
0x006685e4 beq v0, v1, 0x6685f4 |
0x006685e8 move a2, s2 | a2 = s2;
| /* str._s_is_not_a_directory._n */
0x006685ec addiu a1, a1, -0x2b54 | a1 += -0x2b54;
0x006685f0 b 0x668568 | goto label_2;
| }
0x006685f4 lw t9, -0x7a04(gp) | t9 = sym.tsrm_realpath;
0x006685f8 addiu s4, sp, 0x28 | s4 = sp + 0x28;
0x006685fc move a0, s2 | a0 = s2;
0x00668600 move a1, s4 | a1 = s4;
0x00668604 jalr t9 | t9 ();
0x00668608 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0066860c movn s2, s4, v0 | s2 = s4;
| }
| label_4:
0x00668610 lw v0, 0x10c8(sp) | v0 = *(var_10c8h);
0x00668614 slt s3, v0, s3 | s3 = (v0 < s3) ? 1 : 0;
0x00668618 sll v0, v0, 2 | v0 <<= 2;
| if (s3 == 0) {
0x0066861c beqz s3, 0x6686a0 | goto label_28;
| }
0x00668620 addu s1, s1, v0 | s1 += v0;
0x00668624 lw v0, (s1) | v0 = *(s1);
0x00668628 sw v0, 0x10d0(sp) | *(var_10d0h) = v0;
| label_5:
0x0066862c sw zero, 0x10c4(sp) | *(var_10c4h) = 0;
0x00668630 sw zero, 0x10c0(sp) | *(var_10c0h) = 0;
0x00668634 lb v1, (s7) | v1 = *(s7);
0x00668638 addiu v0, zero, 0x5b | v0 = 0x5b;
0x0066863c lw t9, -0x63a8(gp) | t9 = sym.imp.strdup;
| if (v1 != v0) {
0x00668640 bne v1, v0, 0x66876c | goto label_29;
| }
0x00668644 addiu a0, s7, 1 | a0 = s7 + 1;
0x00668648 jalr t9 | t9 ();
0x0066864c move s5, v0 | s5 = v0;
0x00668650 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00668654 beqz v0, 0x668578 | goto label_3;
| }
0x00668658 lw t9, -0x5fd0(gp) | t9 = sym.imp.strchr;
0x0066865c addiu a1, zero, 0x5d | a1 = 0x5d;
0x00668660 move a0, v0 | a0 = v0;
0x00668664 jalr t9 | t9 ();
0x00668668 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0066866c bnez v0, 0x6686a8 | goto label_30;
| }
| label_6:
0x00668670 sw zero, 0x10c0(sp) | *(var_10c0h) = 0;
0x00668674 b 0x668764 | goto label_31;
| label_25:
0x00668678 lw t9, -0x62f4(gp) | t9 = sym.imp.getcwd;
0x0066867c addiu s2, sp, 0x28 | s2 = sp + 0x28;
0x00668680 addiu a1, zero, 0x1000 | a1 = 0x1000;
0x00668684 move a0, s2 | a0 = s2;
0x00668688 jalr t9 | t9 ();
0x0066868c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00668690 bnez v0, 0x668610 | goto label_4;
| }
0x00668694 lw s2, -0x7fc0(gp) | s2 = *((gp - 8176));
0x00668698 addiu s2, s2, 0x4330 | s2 += 0x4330;
0x0066869c b 0x668610 | goto label_4;
| label_28:
0x006686a0 sw zero, 0x10d0(sp) | *(var_10d0h) = 0;
0x006686a4 b 0x66862c | goto label_5;
| label_30:
0x006686a8 addiu v1, v0, 1 | v1 = v0 + 1;
0x006686ac sw v1, 0x10c0(sp) | *(var_10c0h) = v1;
0x006686b0 lb v1, 1(v0) | v1 = *((v0 + 1));
0x006686b4 addiu a0, zero, 0x3a | a0 = 0x3a;
0x006686b8 sb zero, (v0) | *(v0) = 0;
| if (v1 != a0) {
0x006686bc bne v1, a0, 0x66875c | goto label_32;
| }
0x006686c0 addiu a2, zero, 0xa | a2 = 0xa;
0x006686c4 addiu a1, sp, 0x10c0 | a1 = sp + 0x10c0;
0x006686c8 addiu a0, v0, 2 | a0 = v0 + 2;
| label_8:
0x006686cc lw t9, -0x60c4(gp) | t9 = *((gp - 6193));
0x006686d0 jalr t9 | t9 ();
0x006686d4 nop |
0x006686d8 move s1, v0 | s1 = v0;
0x006686dc ori v1, zero, 0xffff | v1 = 0xffff;
0x006686e0 addiu v0, v0, -1 | v0 += -1;
0x006686e4 sltu v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x006686e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x006686ec bnez v0, 0x6686f4 |
0x006686f0 sw zero, 0x10c0(sp) | *(var_10c0h) = 0;
| }
| label_7:
0x006686f4 lw s6, 0x10c0(sp) | s6 = *(var_10c0h);
0x006686f8 addiu v0, sp, 0x10b8 | v0 = sp + 0x10b8;
| if (s6 != 0) {
0x006686fc bnez s6, 0x6687b0 | goto label_33;
| }
0x00668700 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x00668704 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00668708 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x0066870c lw a0, (v0) | a0 = *(v0);
0x00668710 move a2, s7 | a2 = s7;
| /* str.Invalid_address:__s_n */
0x00668714 addiu a1, a1, -0x2b3c | a1 += -0x2b3c;
0x00668718 jalr t9 | t9 ();
0x0066871c lw gp, 0x20(sp) | gp = *(var_20h);
| label_9:
0x00668720 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
0x00668724 move a0, s5 | a0 = s5;
0x00668728 jalr t9 | t9 ();
0x0066872c lw gp, 0x20(sp) | gp = *(var_20h);
| if (s6 != 0) {
0x00668730 beqz s6, 0x668744 |
0x00668734 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
0x00668738 move a0, s6 | a0 = s6;
0x0066873c jalr t9 | t9 ();
0x00668740 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668744 lw t9, -0x623c(gp) | t9 = sym.imp.close;
| if (s0 < 0) {
0x00668748 bltz s0, 0x668578 | goto label_3;
| }
0x0066874c move a0, s0 | a0 = s0;
0x00668750 jalr t9 | t9 ();
0x00668754 b 0x668578 | goto label_3;
0x00668758 nop |
| if (v1 != 0) {
| label_32:
0x0066875c bnez v1, 0x668670 | goto label_6;
| }
0x00668760 nop |
| label_31:
0x00668764 addiu s1, zero, 0xbb8 | s1 = 0xbb8;
0x00668768 b 0x6686f4 | goto label_7;
| label_29:
0x0066876c move a0, s7 | a0 = s7;
0x00668770 jalr t9 | t9 ();
0x00668774 move s5, v0 | s5 = v0;
0x00668778 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0066877c beqz v0, 0x668578 | goto label_3;
| }
0x00668780 lw t9, -0x5fd0(gp) | t9 = sym.imp.strchr;
0x00668784 addiu a1, zero, 0x3a | a1 = 0x3a;
0x00668788 move a0, v0 | a0 = v0;
0x0066878c jalr t9 | t9 ();
0x00668790 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00668794 beqz v0, 0x668670 | goto label_6;
| }
0x00668798 addiu a0, v0, 1 | a0 = v0 + 1;
0x0066879c sw a0, 0x10c0(sp) | *(var_10c0h) = a0;
0x006687a0 sb zero, (v0) | *(v0) = 0;
0x006687a4 addiu a2, zero, 0xa | a2 = 0xa;
0x006687a8 addiu a1, sp, 0x10c0 | a1 = sp + 0x10c0;
0x006687ac b 0x6686cc | goto label_8;
| label_33:
0x006687b0 lw t9, -0x6928(gp) | t9 = sym.php_network_getaddresses;
0x006687b4 sw v0, 0x10d8(sp) | *(var_10d8h) = v0;
0x006687b8 addiu a3, sp, 0x10c4 | a3 = sp + 0x10c4;
0x006687bc move a2, v0 | a2 = v0;
0x006687c0 addiu a1, zero, 2 | a1 = 2;
0x006687c4 move a0, s5 | a0 = s5;
0x006687c8 jalr t9 | t9 ();
0x006687cc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x006687d0 beqz v0, 0x668864 | goto label_16;
| }
0x006687d4 wsbh v0, s1 | __asm ("wsbh v0, s1");
0x006687d8 andi v0, v0, 0xffff | v0 &= 0xffff;
0x006687dc sw v0, 0x10d4(sp) | *(var_10d4h) = v0;
0x006687e0 lw v0, -0x793c(gp) | v0 = *((gp - 7759));
0x006687e4 lw s6, 0x10b8(sp) | s6 = *(var_10b8h);
0x006687e8 addiu fp, v0, -0x446c | fp = v0 + -0x446c;
0x006687ec addiu v0, sp, 0x1028 | v0 = sp + 0x1028;
0x006687f0 move s3, zero | s3 = 0;
0x006687f4 move s4, zero | s4 = 0;
0x006687f8 sw v0, 0x10dc(sp) | *(var_10dch) = v0;
| do {
0x006687fc lw v0, (s6) | v0 = *(s6);
0x00668800 addiu v0, zero, -1 | v0 = -1;
| if (v0 == 0) {
0x00668804 bnez v0, 0x6688e4 |
| label_13:
0x00668808 lw t9, -0x6014(gp) | t9 = sym.imp.listen;
| if (s0 != v0) {
0x0066880c bne s0, v0, 0x668adc | goto label_34;
| }
| label_14:
0x00668810 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| if (s3 != 0) {
0x00668814 bnez s3, 0x668aa4 | goto label_35;
| }
| label_12:
0x00668818 lw a0, 0x10b8(sp) | a0 = *(var_10b8h);
0x0066881c lw t9, -0x6924(gp) | t9 = sym.php_network_freeaddresses;
| if (a0 != 0) {
0x00668820 beqz a0, 0x668830 |
0x00668824 jalr t9 | t9 ();
0x00668828 nop |
0x0066882c lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668830 addiu v0, zero, -1 | v0 = -1;
| if (s4 == 0) {
0x00668834 beqz s4, 0x668b10 | goto label_36;
| }
0x00668838 lw t9, -0x691c(gp) | t9 = sym.php_socket_error_str;
| if (s0 >= 0) {
0x0066883c bltz s0, 0x668854 |
0x00668840 lw t9, -0x623c(gp) | t9 = sym.imp.close;
0x00668844 move a0, s0 | a0 = s0;
0x00668848 jalr t9 | t9 ();
0x0066884c lw gp, 0x20(sp) | gp = *(var_20h);
0x00668850 lw t9, -0x691c(gp) | t9 = sym.php_socket_error_str;
| }
0x00668854 move a0, s4 | a0 = s4;
0x00668858 jalr t9 | t9 ();
0x0066885c lw gp, 0x20(sp) | gp = *(var_20h);
0x00668860 sw v0, 0x10c4(sp) | *(var_10c4h) = v0;
| label_16:
0x00668864 lw a3, 0x10c4(sp) | a3 = *(var_10c4h);
| if (a3 == 0) {
0x00668868 beqz a3, 0x668e50 | goto label_37;
| }
0x0066886c nop |
0x00668870 addiu a3, a3, 0x10 | a3 += 0x10;
| label_18:
0x00668874 lw a0, -0x7fc4(gp) | a0 = *((gp - 8177));
0x00668878 lw t9, -0x7240(gp) | t9 = *(gp);
| /* str.Failed_to_listen_on__s:_d__reason:__s_ */
0x0066887c addiu a0, a0, -0x2b24 | a0 += -0x2b24;
0x00668880 move a2, s1 | a2 = s1;
| /* fcn.006650c0 */
0x00668884 addiu t9, t9, 0x50c0 | t9 += 0x50c0;
0x00668888 move a1, s5 | a1 = s5;
0x0066888c bal 0x6650c0 | fcn_006650c0 ();
0x00668890 lw a0, 0x10c4(sp) | a0 = *(var_10c4h);
0x00668894 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 != 0) {
0x00668898 beqz a0, 0x6688d8 |
0x0066889c lbu v0, 5(a0) | v0 = *((a0 + 5));
0x006688a0 andi v1, v0, 2 | v1 = v0 & 2;
| if (v1 != 0) {
0x006688a4 bnez v1, 0x6688d8 | goto label_19;
| }
0x006688a8 nop |
0x006688ac lw v1, (a0) | v1 = *(a0);
0x006688b0 addiu v1, v1, -1 | v1 += -1;
0x006688b4 sw v1, (a0) | *(a0) = v1;
| if (v1 != 0) {
0x006688b8 bnez v1, 0x6688d8 | goto label_19;
| }
0x006688bc andi v0, v0, 1 | v0 &= 1;
0x006688c0 lw t9, -0x7fe4(gp) | t9 = sym._efree;
| if (v0 == 0) {
0x006688c4 beqz v0, 0x668e5c | goto label_38;
| }
0x006688c8 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
0x006688cc jalr t9 | t9 ();
0x006688d0 nop |
0x006688d4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_19:
0x006688d8 addiu s0, zero, -1 | s0 = -1;
0x006688dc move s6, zero | s6 = 0;
0x006688e0 b 0x668720 | goto label_9;
| }
0x006688e4 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| if (s3 != 0) {
0x006688e8 beqz s3, 0x6688f8 |
0x006688ec move a0, s3 | a0 = s3;
0x006688f0 jalr t9 | t9 ();
0x006688f4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x006688f8 lw v0, (s6) | v0 = *(s6);
0x006688fc lw t9, -0x612c(gp) | t9 = sym.imp.socket;
0x00668900 move a2, zero | a2 = 0;
0x00668904 lhu a0, (v0) | a0 = *(v0);
0x00668908 addiu a1, zero, 2 | a1 = 2;
0x0066890c jalr t9 | t9 ();
0x00668910 move s0, v0 | s0 = v0;
0x00668914 addiu v0, zero, -1 | v0 = -1;
0x00668918 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == v0) {
0x0066891c beq s0, v0, 0x668a54 | goto label_39;
| }
0x00668920 lw v0, (s6) | v0 = *(s6);
0x00668924 addiu v1, zero, 2 | v1 = 2;
0x00668928 lhu v0, (v0) | v0 = *(v0);
0x0066892c addiu v1, zero, 0xa | v1 = 0xa;
| if (v0 == v1) {
0x00668930 beq v0, v1, 0x668a08 | goto label_40;
| }
0x00668934 lw t9, -0x623c(gp) | t9 = sym.imp.close;
| if (v0 != v1) {
0x00668938 bne v0, v1, 0x668a44 | goto label_41;
| }
0x0066893c lw t9, -0x7e7c(gp) | t9 = sym.__zend_malloc;
0x00668940 addiu a0, zero, 0x1c | a0 = 0x1c;
0x00668944 jalr t9 | t9 ();
0x00668948 lw gp, 0x20(sp) | gp = *(var_20h);
0x0066894c lw a1, (s6) | a1 = *(s6);
0x00668950 addiu a2, zero, 0x1c | a2 = 0x1c;
0x00668954 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00668958 move a0, v0 | a0 = v0;
0x0066895c move s3, v0 | s3 = v0;
0x00668960 jalr t9 | t9 ();
0x00668964 lw v0, 0x10d4(sp) | v0 = *(var_10d4h);
0x00668968 lw gp, 0x20(sp) | gp = *(var_20h);
0x0066896c sh v0, 2(s3) | *((s3 + 1)) = v0;
0x00668970 addiu v0, zero, 0x1c | v0 = 0x1c;
| label_10:
0x00668974 sw v0, 0x228(fp) | *(arg_228h) = v0;
0x00668978 addiu v0, zero, 1 | v0 = 1;
0x0066897c lw t9, -0x6310(gp) | t9 = sym.imp.setsockopt;
0x00668980 sw v0, 0x1028(sp) | *(var_1028h) = v0;
0x00668984 lw a3, 0x10dc(sp) | a3 = *(var_10dch);
0x00668988 addiu v0, zero, 4 | v0 = 4;
0x0066898c addiu a2, zero, 4 | a2 = 4;
0x00668990 ori a1, zero, 0xffff | a1 = 0xffff;
0x00668994 move a0, s0 | a0 = s0;
0x00668998 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0066899c jalr t9 | t9 ();
0x006689a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x006689a4 lw a2, 0x228(fp) | a2 = *(arg_228h);
0x006689a8 move a1, s3 | a1 = s3;
0x006689ac lw t9, -0x61f8(gp) | t9 = sym.imp.bind;
0x006689b0 move a0, s0 | a0 = s0;
0x006689b4 jalr t9 | t9 ();
0x006689b8 addiu v1, zero, -1 | v1 = -1;
0x006689bc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != v1) {
0x006689c0 bne v0, v1, 0x668a5c | goto label_42;
| }
0x006689c4 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x006689c8 jalr t9 | t9 ();
0x006689cc nop |
0x006689d0 lw s4, (v0) | s4 = *(v0);
0x006689d4 addiu v0, zero, 0x16 | v0 = 0x16;
0x006689d8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s4 == v0) {
0x006689dc beq s4, v0, 0x668aa0 | goto label_43;
| }
0x006689e0 addiu v0, zero, 0x7d | v0 = 0x7d;
0x006689e4 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| if (s4 == v0) {
0x006689e8 beq s4, v0, 0x668aa4 | goto label_35;
| }
0x006689ec lw t9, -0x623c(gp) | t9 = sym.imp.close;
0x006689f0 move a0, s0 | a0 = s0;
0x006689f4 jalr t9 | t9 ();
0x006689f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x006689fc addiu s0, zero, -1 | s0 = -1;
| label_11:
0x00668a00 addiu s6, s6, 4 | s6 += 4;
0x00668a04 b 0x6687fc |
| } while (1);
| label_40:
0x00668a08 lw t9, -0x7e7c(gp) | t9 = sym.__zend_malloc;
0x00668a0c addiu a0, zero, 0x10 | a0 = 0x10;
0x00668a10 jalr t9 | t9 ();
0x00668a14 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668a18 lw a1, (s6) | a1 = *(s6);
0x00668a1c addiu a2, zero, 0x10 | a2 = 0x10;
0x00668a20 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00668a24 move a0, v0 | a0 = v0;
0x00668a28 move s3, v0 | s3 = v0;
0x00668a2c jalr t9 | t9 ();
0x00668a30 lw v0, 0x10d4(sp) | v0 = *(var_10d4h);
0x00668a34 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668a38 sh v0, 2(s3) | *((s3 + 1)) = v0;
0x00668a3c addiu v0, zero, 0x10 | v0 = 0x10;
0x00668a40 b 0x668974 | goto label_10;
| label_41:
0x00668a44 sw zero, 0x228(fp) | *(arg_228h) = 0;
0x00668a48 move a0, s0 | a0 = s0;
0x00668a4c jalr t9 | t9 ();
0x00668a50 lw gp, 0x20(sp) | gp = *(var_20h);
| label_39:
0x00668a54 move s3, zero | s3 = 0;
0x00668a58 b 0x668a00 | goto label_11;
| label_42:
0x00668a5c lhu v0, (s3) | v0 = *(s3);
0x00668a60 sw v0, 0x214(fp) | *(arg_214h) = v0;
| if (s1 != 0) {
0x00668a64 bnez s1, 0x668b08 | goto label_44;
| }
0x00668a68 lw a2, -0x793c(gp) | a2 = *((gp - 7759));
0x00668a6c lw t9, -0x5f3c(gp) | t9 = sym.imp.getsockname;
0x00668a70 addiu a2, a2, -0x4244 | a2 += -0x4244;
0x00668a74 move a1, s3 | a1 = s3;
0x00668a78 move a0, s0 | a0 = s0;
0x00668a7c jalr t9 | t9 ();
0x00668a80 move s4, v0 | s4 = v0;
0x00668a84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00668a88 beqz v0, 0x668ab4 |
0x00668a8c lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x00668a90 jalr t9 | t9 ();
0x00668a94 nop |
0x00668a98 lw s4, (v0) | s4 = *(v0);
0x00668a9c lw gp, 0x20(sp) | gp = *(var_20h);
| label_43:
0x00668aa0 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| label_35:
0x00668aa4 move a0, s3 | a0 = s3;
0x00668aa8 jalr t9 | t9 ();
0x00668aac lw gp, 0x20(sp) | gp = *(var_20h);
0x00668ab0 b 0x668818 | goto label_12;
| }
0x00668ab4 lhu v0, (s3) | v0 = *(s3);
0x00668ab8 addiu v1, zero, 2 | v1 = 2;
0x00668abc addiu v1, zero, 0xa | v1 = 0xa;
| if (v0 == v1) {
0x00668ac0 beq v0, v1, 0x668acc | goto label_45;
| }
0x00668ac4 addiu v0, zero, -1 | v0 = -1;
| if (v0 != v1) {
0x00668ac8 bne v0, v1, 0x668808 | goto label_13;
| }
| label_45:
0x00668acc lhu s1, 2(s3) | s1 = *((s3 + 1));
0x00668ad0 wsbh s1, s1 | __asm ("wsbh s1, s1");
0x00668ad4 andi s1, s1, 0xffff | s1 &= 0xffff;
| label_15:
0x00668ad8 lw t9, -0x6014(gp) | t9 = sym.imp.listen;
| label_34:
0x00668adc addiu a1, zero, 0x80 | a1 = 0x80;
0x00668ae0 move a0, s0 | a0 = s0;
0x00668ae4 jalr t9 | t9 ();
0x00668ae8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00668aec beqz v0, 0x668810 | goto label_14;
| }
0x00668af0 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x00668af4 jalr t9 | t9 ();
0x00668af8 nop |
0x00668afc lw s4, (v0) | s4 = *(v0);
0x00668b00 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668b04 b 0x668810 | goto label_14;
| label_44:
0x00668b08 move s4, zero | s4 = 0;
0x00668b0c b 0x668ad8 | goto label_15;
| label_36:
0x00668b10 lw v1, -0x793c(gp) | v1 = *((gp - 7759));
| if (s0 == v0) {
0x00668b14 beq s0, v0, 0x668864 | goto label_16;
| }
0x00668b18 move v0, zero | v0 = 0;
0x00668b1c sw v1, 0x10d4(sp) | *(var_10d4h) = v1;
0x00668b20 sw s0, -0x446c(v1) | *((v1 - 4379)) = s0;
0x00668b24 addiu s3, v1, -0x446c | s3 = v1 + -0x446c;
0x00668b28 addiu v1, zero, 0x80 | v1 = 0x80;
| do {
0x00668b2c addu a0, s3, v0 | a0 = s3 + v0;
0x00668b30 addiu v0, v0, 4 | v0 += 4;
0x00668b34 sw zero, 4(a0) | *((a0 + 1)) = 0;
0x00668b38 bne v0, v1, 0x668b2c |
| } while (v0 != v1);
0x00668b3c move v0, zero | v0 = 0;
0x00668b40 addiu v1, zero, 0x80 | v1 = 0x80;
| do {
0x00668b44 addu a0, s3, v0 | a0 = s3 + v0;
0x00668b48 addiu v0, v0, 4 | v0 += 4;
0x00668b4c sw zero, 0x84(a0) | *((a0 + 33)) = 0;
0x00668b50 bne v0, v1, 0x668b44 |
| } while (v0 != v1);
0x00668b54 addiu v0, zero, -1 | v0 = -1;
0x00668b58 lw t9, -0x7240(gp) | t9 = *(gp);
0x00668b5c sw v0, 0x204(s3) | *((s3 + 129)) = v0;
0x00668b60 lw v0, -0x793c(gp) | v0 = *((gp - 7759));
0x00668b64 move a2, s0 | a2 = s0;
0x00668b68 addiu a0, v0, -0x4468 | a0 = v0 + -0x4468;
0x00668b6c addiu a1, zero, 1 | a1 = 1;
| /* fcn.00664fd0 */
0x00668b70 addiu t9, t9, 0x4fd0 | t9 += 0x4fd0;
0x00668b74 move fp, v0 | fp = v0;
0x00668b78 bal 0x664fd0 | fcn_00664fd0 ();
0x00668b7c lw gp, 0x20(sp) | gp = *(var_20h);
0x00668b80 addiu a3, zero, 1 | a3 = 1;
0x00668b84 move a1, zero | a1 = 0;
0x00668b88 lw v0, -0x793c(gp) | v0 = *((gp - 7759));
0x00668b8c lw a2, -0x7240(gp) | a2 = *(gp);
0x00668b90 lw t9, -0x7df0(gp) | t9 = sym._zend_hash_init;
0x00668b94 addiu a2, a2, 0x60ac | a2 += 0x60ac;
0x00668b98 addiu a0, v0, -0x4240 | a0 = v0 + -0x4240;
0x00668b9c sw s1, 0x210(s3) | *((s3 + 132)) = s1;
0x00668ba0 sw s5, 0x20c(s3) | *((s3 + 131)) = s5;
0x00668ba4 jalr t9 | t9 ();
0x00668ba8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668bac lw t9, -0x6194(gp) | t9 = sym.imp.strlen;
0x00668bb0 move a0, s2 | a0 = s2;
0x00668bb4 jalr t9 | t9 ();
0x00668bb8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668bbc move a1, v0 | a1 = v0;
0x00668bc0 move a0, s2 | a0 = s2;
0x00668bc4 lw t9, -0x770c(gp) | t9 = sym.zend_strndup;
0x00668bc8 move s1, v0 | s1 = v0;
0x00668bcc jalr t9 | t9 ();
0x00668bd0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668bd4 move s6, v0 | s6 = v0;
0x00668bd8 sw fp, 0x10dc(sp) | *(var_10dch) = fp;
0x00668bdc lw v1, -0x793c(gp) | v1 = *((gp - 7759));
0x00668be0 sw v1, 0x10e0(sp) | *(var_10e0h) = v1;
| if (v0 == 0) {
0x00668be4 beqz v0, 0x668720 | goto label_9;
| }
0x00668be8 sw v0, 0x218(s3) | *((s3 + 134)) = v0;
0x00668bec lw v0, 0x10d0(sp) | v0 = *(var_10d0h);
0x00668bf0 sw s1, 0x21c(s3) | *((s3 + 135)) = s1;
| if (v0 == 0) {
0x00668bf4 beqz v0, 0x668e6c | goto label_46;
| }
0x00668bf8 lw t9, -0x6194(gp) | t9 = sym.imp.strlen;
0x00668bfc move a0, v0 | a0 = v0;
0x00668c00 jalr t9 | t9 ();
0x00668c04 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668c08 lw a0, 0x10d0(sp) | a0 = *(var_10d0h);
0x00668c0c move a1, v0 | a1 = v0;
0x00668c10 lw t9, -0x770c(gp) | t9 = sym.zend_strndup;
0x00668c14 move s1, v0 | s1 = v0;
0x00668c18 jalr t9 | t9 ();
0x00668c1c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00668c20 beqz v0, 0x668720 | goto label_9;
| }
0x00668c24 sw v0, 0x220(s3) | *((s3 + 136)) = v0;
0x00668c28 sw s1, 0x224(s3) | *((s3 + 137)) = s1;
| label_20:
0x00668c2c lw s5, -0x793c(gp) | s5 = *((gp - 7759));
0x00668c30 lw t9, -0x7df0(gp) | t9 = sym._zend_hash_init;
0x00668c34 addiu a3, zero, 1 | a3 = 1;
0x00668c38 move a2, zero | a2 = 0;
0x00668c3c move a1, zero | a1 = 0;
0x00668c40 addiu a0, s5, -0x4214 | a0 = s5 + -0x4214;
0x00668c44 jalr t9 | t9 ();
0x00668c48 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668c4c addiu s0, sp, 0x1028 | s0 = sp + 0x1028;
0x00668c50 addiu fp, s5, -0x4214 | fp = s5 + -0x4214;
0x00668c54 lw s1, -0x7e30(gp) | s1 = *((gp - 8076));
| /* esilref: 'ez' */
0x00668c58 addiu s1, s1, 0x4128 | s1 += 0x4128;
| label_21:
0x00668c5c lw s6, (s1) | s6 = *(s1);
0x00668c60 lw t9, -0x6194(gp) | t9 = sym.imp.strlen;
| if (s6 != 0) {
0x00668c64 bnez s6, 0x668e78 | goto label_47;
| }
0x00668c68 addiu v0, zero, 1 | v0 = 1;
0x00668c6c sw v0, 0x208(s3) | *((s3 + 130)) = v0;
0x00668c70 lw v0, -0x7940(gp) | v0 = *(gp);
0x00668c74 lw t9, -0x642c(gp) | t9 = *(gp);
0x00668c78 move a0, s0 | a0 = s0;
0x00668c7c sw zero, 0x80(v0) | *((v0 + 32)) = 0;
0x00668c80 bal 0x668354 | fcn_00668354 ();
0x00668c84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00668c88 beqz v0, 0x668ca8 |
0x00668c8c lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x00668c90 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00668c94 addiu a2, zero, 0x1f | a2 = 0x1f;
| /* str.unknown_time__cant_be_fetched */
0x00668c98 addiu a1, a1, -0x2ba0 | a1 += -0x2ba0;
0x00668c9c move a0, s0 | a0 = s0;
0x00668ca0 jalr t9 | t9 ();
0x00668ca4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668ca8 lw a1, -0x7fd0(gp) | a1 = *((gp - 8180));
0x00668cac lw a0, -0x7fc4(gp) | a0 = *((gp - 8177));
0x00668cb0 lw t9, -0x61e8(gp) | t9 = sym.imp.printf;
0x00668cb4 move a3, s7 | a3 = s7;
0x00668cb8 move a2, s0 | a2 = s0;
0x00668cbc sw s2, 0x10(sp) | *(var_10h) = s2;
| /* str.7.2.16 */
0x00668cc0 addiu a1, a1, -0x4234 | a1 += -0x4234;
| /* str.PHP__s_Development_Server_started_at__sListening_on_http:___s_nDocument_root_is__s_nPress_Ctrl_C_to_quit._n */
0x00668cc4 addiu a0, a0, -0x2afc | a0 += -0x2afc;
0x00668cc8 jalr t9 | t9 ();
0x00668ccc lw gp, 0x20(sp) | gp = *(var_20h);
0x00668cd0 addiu a0, zero, 2 | a0 = 2;
0x00668cd4 lw a1, -0x7240(gp) | a1 = *(gp);
0x00668cd8 lw t9, -0x5f84(gp) | t9 = sym.imp.signal;
0x00668cdc addiu a1, a1, 0x3a28 | a1 += 0x3a28;
0x00668ce0 jalr t9 | t9 ();
0x00668ce4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668ce8 lw t9, -0x6480(gp) | t9 = *((gp - 6432));
0x00668cec jalr t9 | t9 ();
0x00668cf0 nop |
0x00668cf4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668cf8 lw v0, -0x7240(gp) | v0 = *(gp);
0x00668cfc lw s2, -0x793c(gp) | s2 = *((gp - 7759));
0x00668d00 addiu v0, v0, 0x7ff8 | v0 += 0x7ff8;
0x00668d04 addiu s2, s2, -0x4368 | s2 += -0x4368;
0x00668d08 sw v0, 0x10d0(sp) | *(var_10d0h) = v0;
| do {
| label_22:
0x00668d0c lw v0, 0x208(s3) | v0 = *((s3 + 130));
0x00668d10 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x00668d14 beqz v0, 0x668f1c | goto label_48;
| }
0x00668d18 sw v0, 0x10b8(sp) | *(var_10b8h) = v0;
0x00668d1c lw v0, 0x10dc(sp) | v0 = *(var_10dch);
0x00668d20 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00668d24 addiu a2, zero, 0x80 | a2 = 0x80;
0x00668d28 addiu a1, v0, -0x4468 | a1 = v0 + -0x4468;
0x00668d2c move a0, s2 | a0 = s2;
0x00668d30 sw zero, 0x10bc(sp) | *(var_10bch) = 0;
0x00668d34 jalr t9 | t9 ();
0x00668d38 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668d3c addiu a2, zero, 0x80 | a2 = 0x80;
0x00668d40 lw s1, -0x793c(gp) | s1 = *((gp - 7759));
0x00668d44 lw a1, -0x793c(gp) | a1 = *((gp - 7759));
0x00668d48 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00668d4c addiu s1, s1, -0x42e8 | s1 += -0x42e8;
0x00668d50 addiu a1, a1, -0x43e8 | a1 += -0x43e8;
0x00668d54 move a0, s1 | a0 = s1;
0x00668d58 jalr t9 | t9 ();
0x00668d5c lw gp, 0x20(sp) | gp = *(var_20h);
0x00668d60 lw a0, 0x204(s3) | a0 = *((s3 + 129));
0x00668d64 lw v0, 0x10d8(sp) | v0 = *(var_10d8h);
0x00668d68 lw t9, -0x6230(gp) | t9 = sym.imp.select;
0x00668d6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00668d70 move a3, zero | a3 = 0;
0x00668d74 move a2, s1 | a2 = s1;
0x00668d78 move a1, s2 | a1 = s2;
0x00668d7c addiu a0, a0, 1 | a0++;
0x00668d80 jalr t9 | t9 ();
0x00668d84 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 <= 0) {
0x00668d88 blez v0, 0x668eb8 | goto label_49;
| }
0x00668d8c lw v0, -0x7240(gp) | v0 = *(gp);
0x00668d90 lw fp, 0x204(s3) | fp = *((s3 + 129));
| /* fcn.00667744 */
0x00668d94 addiu v0, v0, 0x7744 | v0 += 0x7744;
0x00668d98 sw v0, 0x102c(sp) | *(var_102ch) = v0;
0x00668d9c lw v0, -0x7240(gp) | v0 = *(gp);
0x00668da0 sw s3, 0x1028(sp) | *(var_1028h) = s3;
0x00668da4 addiu v0, v0, 0x62e8 | v0 += 0x62e8;
0x00668da8 sw v0, 0x1030(sp) | *(var_1030h) = v0;
0x00668dac move s1, zero | s1 = 0;
0x00668db0 addiu s7, zero, 1 | s7 = 1;
| label_17:
0x00668db4 slt v0, fp, s1 | v0 = (fp < s1) ? 1 : 0;
0x00668db8 slti v0, s1, 0x400 | v0 = (s1 < 0x400) ? 1 : 0;
0x00668dbc bnez v0, 0x668d0c |
| } while (v0 != 0);
0x00668dc0 lw t9, -0x63e8(gp) | t9 = sym.imp.__fdelt_chk;
| if (v0 != 0) {
0x00668dc4 beqz v0, 0x668e48 |
0x00668dc8 move a0, s1 | a0 = s1;
0x00668dcc jalr t9 | t9 ();
0x00668dd0 addiu v0, v0, 0x40 | v0 += 0x40;
0x00668dd4 sll v0, v0, 2 | v0 <<= 2;
0x00668dd8 addu v0, s3, v0 | v0 = s3 + v0;
0x00668ddc sllv s6, s7, s1 | s6 = s7 << s1;
0x00668de0 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00668de4 and v0, s6, v0 | v0 = s6 & v0;
0x00668de8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00668dec beqz v0, 0x668e08 |
0x00668df0 lw t9, 0x10d0(sp) | t9 = *(var_10d0h);
0x00668df4 addiu a2, zero, 1 | a2 = 1;
0x00668df8 move a1, s1 | a1 = s1;
0x00668dfc move a0, s0 | a0 = s0;
0x00668e00 jalr t9 | t9 ();
0x00668e04 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668e08 lw t9, -0x63e8(gp) | t9 = sym.imp.__fdelt_chk;
0x00668e0c move a0, s1 | a0 = s1;
0x00668e10 jalr t9 | t9 ();
0x00668e14 addiu v0, v0, 0x60 | v0 += 0x60;
0x00668e18 sll v0, v0, 2 | v0 <<= 2;
0x00668e1c addu v0, s3, v0 | v0 = s3 + v0;
0x00668e20 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00668e24 and s6, s6, v0 | s6 &= v0;
0x00668e28 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s6 == 0) {
0x00668e2c beqz s6, 0x668e48 | goto label_50;
| }
0x00668e30 lw t9, 0x10d0(sp) | t9 = *(var_10d0h);
0x00668e34 addiu a2, zero, 4 | a2 = 4;
0x00668e38 move a1, s1 | a1 = s1;
0x00668e3c move a0, s0 | a0 = s0;
0x00668e40 jalr t9 | t9 ();
0x00668e44 lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_50:
0x00668e48 addiu s1, s1, 1 | s1++;
0x00668e4c b 0x668db4 | goto label_17;
| label_37:
0x00668e50 lw a3, -0x7fc4(gp) | a3 = *((gp - 8177));
0x00668e54 addiu a3, a3, -0x2c50 | a3 += -0x2c50;
0x00668e58 b 0x668874 | goto label_18;
| label_38:
0x00668e5c jalr t9 | t9 ();
0x00668e60 nop |
0x00668e64 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668e68 b 0x6688d8 | goto label_19;
| label_46:
0x00668e6c sw zero, 0x220(s3) | *((s3 + 136)) = 0;
0x00668e70 sw zero, 0x224(s3) | *((s3 + 137)) = 0;
0x00668e74 b 0x668c2c | goto label_20;
| label_47:
0x00668e78 move a0, s6 | a0 = s6;
0x00668e7c jalr t9 | t9 ();
0x00668e80 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668e84 lw v1, 4(s1) | v1 = *((s1 + 1));
0x00668e88 move a3, s0 | a3 = s0;
0x00668e8c lw t9, -0x7de8(gp) | t9 = sym._zend_hash_str_add;
0x00668e90 sw v1, 0x1028(sp) | *(var_1028h) = v1;
0x00668e94 addiu v1, zero, 0x11 | v1 = 0x11;
0x00668e98 sw v1, 0x1030(sp) | *(var_1030h) = v1;
0x00668e9c move a2, v0 | a2 = v0;
0x00668ea0 move a1, s6 | a1 = s6;
0x00668ea4 move a0, fp | a0 = fp;
0x00668ea8 jalr t9 | t9 ();
0x00668eac addiu s1, s1, 8 | s1 += 8;
0x00668eb0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668eb4 b 0x668c5c | goto label_21;
| label_49:
0x00668eb8 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
| if (v0 == 0) {
0x00668ebc beqz v0, 0x668d0c | goto label_22;
| }
0x00668ec0 jalr t9 | t9 ();
0x00668ec4 nop |
0x00668ec8 lw a0, (v0) | a0 = *(v0);
0x00668ecc addiu v0, zero, 4 | v0 = 4;
0x00668ed0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 == v0) {
0x00668ed4 beq a0, v0, 0x668d0c | goto label_22;
| }
0x00668ed8 lw t9, -0x69fc(gp) | t9 = sym.php_socket_strerror;
0x00668edc move a2, zero | a2 = 0;
0x00668ee0 move a1, zero | a1 = 0;
0x00668ee4 jalr t9 | t9 ();
0x00668ee8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668eec move a1, v0 | a1 = v0;
0x00668ef0 move s0, v0 | s0 = v0;
0x00668ef4 lw a0, -0x7fc4(gp) | a0 = *((gp - 8177));
0x00668ef8 lw t9, -0x7240(gp) | t9 = *(gp);
| /* fcn.006650c0 */
0x00668efc addiu t9, t9, 0x50c0 | t9 += 0x50c0;
| /* esilref: '&s' */
0x00668f00 addiu a0, a0, -0x40cc | a0 += -0x40cc;
0x00668f04 bal 0x6650c0 | fcn_006650c0 ();
0x00668f08 lw gp, 0x20(sp) | gp = *(var_20h);
0x00668f0c lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x00668f10 move a0, s0 | a0 = s0;
0x00668f14 jalr t9 | t9 ();
0x00668f18 lw gp, 0x20(sp) | gp = *(var_20h);
| label_48:
0x00668f1c lw v0, 0x10e0(sp) | v0 = *(var_10e0h);
0x00668f20 lw t9, -0x7fe0(gp) | t9 = sym.zend_hash_destroy;
0x00668f24 addiu a0, v0, -0x4240 | a0 = v0 + -0x4240;
0x00668f28 jalr t9 | t9 ();
0x00668f2c lw gp, 0x20(sp) | gp = *(var_20h);
0x00668f30 lw t9, -0x7fe0(gp) | t9 = sym.zend_hash_destroy;
0x00668f34 addiu a0, s5, -0x4214 | a0 = s5 + -0x4214;
0x00668f38 jalr t9 | t9 ();
0x00668f3c lw v0, 0x10d4(sp) | v0 = *(var_10d4h);
0x00668f40 lw a0, -0x446c(v0) | a0 = *((v0 - 4379));
0x00668f44 lw gp, 0x20(sp) | gp = *(var_20h);
| if (a0 >= 0) {
0x00668f48 bltz a0, 0x668f5c |
0x00668f4c lw t9, -0x623c(gp) | t9 = sym.imp.close;
0x00668f50 jalr t9 | t9 ();
0x00668f54 nop |
0x00668f58 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668f5c lw a0, 0x20c(s3) | a0 = *((s3 + 131));
0x00668f60 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| if (a0 != 0) {
0x00668f64 beqz a0, 0x668f74 |
0x00668f68 jalr t9 | t9 ();
0x00668f6c nop |
0x00668f70 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668f74 lw a0, 0x218(s3) | a0 = *((s3 + 134));
0x00668f78 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| if (a0 != 0) {
0x00668f7c beqz a0, 0x668f8c |
0x00668f80 jalr t9 | t9 ();
0x00668f84 nop |
0x00668f88 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00668f8c lw a0, 0x220(s3) | a0 = *((s3 + 136));
0x00668f90 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
| if (a0 == 0) {
0x00668f94 beqz a0, 0x66857c | goto label_23;
| }
0x00668f98 jalr t9 | t9 ();
0x00668f9c nop |
0x00668fa0 lw ra, 0x110c(sp) | ra = *(var_110ch);
0x00668fa4 b 0x668580 | goto label_24;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x4e1a04 */
| #include <stdint.h>
|
; (fcn) sym.php_mail_build_headers () | void php_mail_build_headers () {
0x004e1a04 lui gp, 0x23 |
0x004e1a08 addiu gp, gp, -0x3804 |
0x004e1a0c addu gp, gp, t9 | gp += t9;
0x004e1a10 lw v0, (a0) | v0 = *(a0);
0x004e1a14 addiu sp, sp, -0x50 |
0x004e1a18 sw s2, 0x30(sp) | *(var_30h) = s2;
0x004e1a1c lw s2, 0x10(v0) | s2 = *((v0 + 4));
0x004e1a20 lw v0, 0x14(v0) | v0 = *((v0 + 5));
0x004e1a24 sw s6, 0x40(sp) | *(var_40h) = s6;
0x004e1a28 addiu s6, zero, 0x18 | s6 = 0x18;
0x004e1a2c mul v1, s6, v0 | __asm ("mul v1, s6, v0");
0x004e1a30 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x004e1a34 sw s3, 0x34(sp) | *(var_34h) = s3;
0x004e1a38 lw s5, -0x6c28(gp) | s5 = *(gp);
0x004e1a3c lw s3, -0x6c28(gp) | s3 = *(gp);
0x004e1a40 sw s4, 0x38(sp) | *(var_38h) = s4;
0x004e1a44 lw s4, -0x7fbc(gp) | s4 = *((gp - 8175));
0x004e1a48 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004e1a4c sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x004e1a50 sw fp, 0x48(sp) | *(var_48h) = fp;
0x004e1a54 sw s7, 0x44(sp) | *(var_44h) = s7;
0x004e1a58 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x004e1a5c sw s0, 0x28(sp) | *(var_28h) = s0;
0x004e1a60 sw zero, 0x20(sp) | *(var_20h) = 0;
0x004e1a64 sw zero, 0x24(sp) | *(var_24h) = 0;
0x004e1a68 addu s6, v1, s2 | s6 = v1 + s2;
0x004e1a6c addiu s5, s5, 0x17a4 | s5 += 0x17a4;
| /* fcn.004e1480 */
0x004e1a70 addiu s3, s3, 0x1480 | s3 += 0x1480;
0x004e1a74 lw v0, 0x20(sp) | v0 = *(var_20h);
| if (s2 == s6) {
0x004e1a78 bne s2, s6, 0x4e1ac8 |
0x004e1a7c lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (v0 != 0) {
0x004e1a80 beqz v0, 0x4e1a9c |
0x004e1a84 lw v1, 0xc(v0) | v1 = *((v0 + 3));
0x004e1a88 addiu v1, v1, -2 | v1 += -2;
0x004e1a8c sw v1, 0xc(v0) | *((v0 + 3)) = v1;
0x004e1a90 addu v1, v0, v1 | v1 = v0 + v1;
0x004e1a94 sb zero, 0x10(v1) | *((v1 + 16)) = 0;
0x004e1a98 lw ra, 0x4c(sp) | ra = *(var_4ch);
| }
0x004e1a9c lw fp, 0x48(sp) | fp = *(var_48h);
0x004e1aa0 lw s7, 0x44(sp) | s7 = *(var_44h);
0x004e1aa4 lw s6, 0x40(sp) | s6 = *(var_40h);
0x004e1aa8 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x004e1aac lw s4, 0x38(sp) | s4 = *(var_38h);
0x004e1ab0 lw s3, 0x34(sp) | s3 = *(var_34h);
0x004e1ab4 lw s2, 0x30(sp) | s2 = *(var_30h);
0x004e1ab8 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x004e1abc lw s0, 0x28(sp) | s0 = *(var_28h);
0x004e1ac0 addiu sp, sp, 0x50 |
0x004e1ac4 jr ra | return v0;
| }
0x004e1ac8 lbu s1, 8(s2) | s1 = *((s2 + 8));
| if (s1 == 0) {
0x004e1acc beqz s1, 0x4e1ba0 | void (*0x4e1ba0)() ();
| }
0x004e1ad0 nop |
0x004e1ad4 lw s0, 0x14(s2) | s0 = *((s2 + 5));
0x004e1ad8 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
| if (s0 == 0) {
0x004e1adc bnez s0, 0x4e1af8 |
0x004e1ae0 lw a3, 0x10(s2) | a3 = *((s2 + 4));
| /* str.Found_numeric_header___d_ */
0x004e1ae4 addiu a2, a2, -0x500c | a2 += -0x500c;
0x004e1ae8 addiu a1, zero, 2 | a1 = 2;
0x004e1aec move a0, zero | a0 = 0;
0x004e1af0 lw t9, -0x7ef4(gp) | t9 = sym.php_error_docref0;
0x004e1af4 b 0x4e1d78 | void (*0x4e1d78)() ();
| }
0x004e1af8 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x004e1afc addiu v0, v0, -2 | v0 += -2;
0x004e1b00 sltiu v1, v0, 0xa | v1 = (v0 < 0xa) ? 1 : 0;
0x004e1b04 lw v1, -0x7fbc(gp) | v1 = *((gp - 8175));
| if (v1 == 0) {
0x004e1b08 beqz v1, 0x4e1e88 | void (*0x4e1e88)() ();
| }
0x004e1b0c sll v0, v0, 2 | v0 <<= 2;
0x004e1b10 addiu v1, v1, -0x4cf0 | v1 += -0x4cf0;
0x004e1b14 addu v0, v1, v0 | v0 = v1 + v0;
0x004e1b18 lw v0, (v0) | v0 = *(v0);
0x004e1b1c addu v0, v0, gp | v0 += gp;
0x004e1b20 jr v0 | v0 ();
0x004e1b24 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x4e1fd0 */
| #include <stdint.h>
|
; (fcn) sym.php_mail () | void php_mail () {
0x004e1fd0 lui gp, 0x23 |
0x004e1fd4 addiu gp, gp, -0x3dd0 |
0x004e1fd8 addu gp, gp, t9 | gp += t9;
0x004e1fdc addiu sp, sp, -0x68 |
0x004e1fe0 lw t9, -0x7840(gp) | t9 = sym.zend_ini_string_ex;
0x004e1fe4 sw s4, 0x50(sp) | *(var_50h) = s4;
0x004e1fe8 move s4, a0 | s4 = a0;
0x004e1fec lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x004e1ff0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x004e1ff4 sw ra, 0x64(sp) | *(var_64h) = ra;
0x004e1ff8 sw s5, 0x54(sp) | *(var_54h) = s5;
0x004e1ffc sw s3, 0x4c(sp) | *(var_4ch) = s3;
0x004e2000 sw s2, 0x48(sp) | *(var_48h) = s2;
0x004e2004 sw s1, 0x44(sp) | *(var_44h) = s1;
0x004e2008 sw s0, 0x40(sp) | *(var_40h) = s0;
| /* str.sendmail_path */
0x004e200c addiu a0, a0, -0x4ed8 | a0 += -0x4ed8;
0x004e2010 move s0, a3 | s0 = a3;
0x004e2014 sw fp, 0x60(sp) | *(var_60h) = fp;
0x004e2018 move a3, zero | a3 = 0;
0x004e201c sw s7, 0x5c(sp) | *(var_5ch) = s7;
0x004e2020 sw s6, 0x58(sp) | *(var_58h) = s6;
0x004e2024 move s3, a1 | s3 = a1;
0x004e2028 move s5, a2 | s5 = a2;
0x004e202c addiu a1, zero, 0xd | a1 = 0xd;
0x004e2030 move a2, zero | a2 = 0;
0x004e2034 lw s2, 0x78(sp) | s2 = *(arg_78h);
0x004e2038 jalr t9 | t9 ();
0x004e203c lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2040 sw zero, 0x38(sp) | *(var_38h) = 0;
0x004e2044 move a3, zero | a3 = 0;
0x004e2048 lw a0, -0x7fb8(gp) | a0 = *((gp - 8174));
0x004e204c lw t9, -0x7840(gp) | t9 = sym.zend_ini_string_ex;
0x004e2050 move a2, zero | a2 = 0;
0x004e2054 addiu a1, zero, 8 | a1 = 8;
| /* str.mail.log */
0x004e2058 addiu a0, a0, -0x6920 | a0 += -0x6920;
0x004e205c move s1, v0 | s1 = v0;
0x004e2060 jalr t9 | t9 ();
0x004e2064 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2068 sw s0, 0x34(sp) | *(var_34h) = s0;
| if (v0 == 0) {
0x004e206c beqz v0, 0x4e2134 | goto label_8;
| }
0x004e2070 move s6, v0 | s6 = v0;
0x004e2074 lb v0, (v0) | v0 = *(v0);
0x004e2078 lw v0, -0x79a8(gp) | v0 = *(gp);
| if (v0 == 0) {
0x004e207c beqz v0, 0x4e2138 | goto label_9;
| }
0x004e2080 lw t9, -0x760c(gp) | t9 = sym.zend_get_executed_filename;
0x004e2084 jalr t9 | t9 ();
0x004e2088 nop |
0x004e208c lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2090 lw t9, -0x7608(gp) | t9 = sym.zend_get_executed_lineno;
0x004e2094 move s7, v0 | s7 = v0;
0x004e2098 jalr t9 | t9 ();
0x004e209c lw v1, 0x34(sp) | v1 = *(var_34h);
0x004e20a0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == 0) {
0x004e20a4 bnez v1, 0x4e20b0 |
0x004e20a8 lw v1, -0x7fc4(gp) | v1 = *((gp - 8177));
0x004e20ac addiu v1, v1, -0x3700 | v1 += -0x3700;
| }
0x004e20b0 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x004e20b4 lw t9, -0x7a0c(gp) | t9 = sym.zend_spprintf;
0x004e20b8 sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x004e20bc sw v1, 0x18(sp) | *(var_18h) = v1;
0x004e20c0 sw s4, 0x14(sp) | *(var_14h) = s4;
0x004e20c4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x004e20c8 move a3, s7 | a3 = s7;
| /* str.mail___on___s:_d_:_To:__s____Headers:__s____Subject:__s */
0x004e20cc addiu a2, a2, -0x4ec8 | a2 += -0x4ec8;
0x004e20d0 move a1, zero | a1 = 0;
0x004e20d4 addiu a0, sp, 0x30 | a0 = sp + 0x30;
0x004e20d8 jalr t9 | t9 ();
0x004e20dc lw v0, 0x34(sp) | v0 = *(var_34h);
0x004e20e0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x004e20e4 beqz v0, 0x4e20f8 |
0x004e20e8 lw t9, -0x6b94(gp) | t9 = *(gp);
0x004e20ec lw a0, 0x30(sp) | a0 = *(var_30h);
0x004e20f0 bal 0x4e1ea4 | fcn_004e1ea4 ();
0x004e20f4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x004e20f8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x004e20fc lw t9, -0x63c0(gp) | t9 = sym.imp.strcmp;
| /* str.syslog */
0x004e2100 addiu a1, a1, -0x6c7c | a1 += -0x6c7c;
0x004e2104 move a0, s6 | a0 = s6;
0x004e2108 jalr t9 | t9 ();
0x004e210c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x004e2110 bnez v0, 0x4e22a8 | goto label_10;
| }
0x004e2114 lw t9, -0x6b90(gp) | t9 = *(gp);
0x004e2118 lw a0, 0x30(sp) | a0 = *(var_30h);
0x004e211c bal 0x4e1f04 | fcn_004e1f04 ();
0x004e2120 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x004e2124 lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x004e2128 lw a0, 0x30(sp) | a0 = *(var_30h);
0x004e212c jalr t9 | t9 ();
0x004e2130 lw gp, 0x20(sp) | gp = *(var_20h);
| label_8:
0x004e2134 lw v0, -0x79a8(gp) | v0 = *(gp);
| label_9:
0x004e2138 lbu v0, 0x18c(v0) | v0 = *((v0 + 396));
0x004e213c lw a0, 0x34(sp) | a0 = *(var_34h);
| if (v0 != 0) {
0x004e2140 beqz v0, 0x4e2214 |
0x004e2144 lw t9, -0x760c(gp) | t9 = sym.zend_get_executed_filename;
0x004e2148 addiu s7, sp, 0x34 | s7 = sp + 0x34;
0x004e214c jalr t9 | t9 ();
0x004e2150 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2154 move a0, v0 | a0 = v0;
0x004e2158 lw t9, -0x6194(gp) | t9 = sym.imp.strlen;
0x004e215c move s6, v0 | s6 = v0;
0x004e2160 jalr t9 | t9 ();
0x004e2164 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2168 move a0, s6 | a0 = s6;
0x004e216c move a3, zero | a3 = 0;
0x004e2170 lw t9, -0x7a84(gp) | t9 = sym.php_basename;
0x004e2174 move a2, zero | a2 = 0;
0x004e2178 move a1, v0 | a1 = v0;
0x004e217c bal 0x4f4dd8 | sym_php_basename ();
0x004e2180 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2184 move s6, v0 | s6 = v0;
0x004e2188 addiu fp, v0, 0x10 | fp = v0 + 0x10;
0x004e218c lw t9, -0x6b8c(gp) | t9 = *(gp);
| if (s0 == 0) {
0x004e2190 beqz s0, 0x4e2378 | goto label_11;
| }
0x004e2194 lb v0, (s0) | v0 = *(s0);
| if (v0 == 0) {
0x004e2198 beqz v0, 0x4e2378 | goto label_11;
| }
0x004e219c nop |
0x004e21a0 bal 0x4ec674 | fcn_004ec674 ();
0x004e21a4 nop |
0x004e21a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e21ac sw s0, 0x14(sp) | *(var_14h) = s0;
0x004e21b0 sw fp, 0x10(sp) | *(var_10h) = fp;
0x004e21b4 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x004e21b8 lw t9, -0x7a0c(gp) | t9 = sym.zend_spprintf;
0x004e21bc move a3, v0 | a3 = v0;
| /* str.X_PHP_Originating_Script:__d:_s_n_s */
0x004e21c0 addiu a2, a2, -0x4e74 | a2 += -0x4e74;
0x004e21c4 move a1, zero | a1 = 0;
0x004e21c8 move a0, s7 | a0 = s7;
0x004e21cc jalr t9 | t9 ();
0x004e21d0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x004e21d4 lbu v0, 5(s6) | v0 = *((s6 + 5));
0x004e21d8 andi v1, v0, 2 | v1 = v0 & 2;
| if (v1 == 0) {
0x004e21dc bnez v1, 0x4e2210 |
0x004e21e0 nop |
0x004e21e4 lw v1, (s6) | v1 = *(s6);
0x004e21e8 addiu v1, v1, -1 | v1 += -1;
0x004e21ec sw v1, (s6) | *(s6) = v1;
| if (v1 != 0) {
0x004e21f0 bnez v1, 0x4e2210 | goto label_2;
| }
0x004e21f4 andi v0, v0, 1 | v0 &= 1;
0x004e21f8 move a0, s6 | a0 = s6;
| if (v0 == 0) {
0x004e21fc beqz v0, 0x4e23ac | goto label_12;
| }
0x004e2200 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
0x004e2204 jalr t9 | t9 ();
0x004e2208 nop |
0x004e220c lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_2:
0x004e2210 lw a0, 0x34(sp) | a0 = *(var_34h);
| }
| if (a0 != 0) {
0x004e2214 beqz a0, 0x4e225c |
0x004e2218 nop |
0x004e221c lb v1, (a0) | v1 = *(a0);
0x004e2220 addiu v0, v1, -0x21 | v0 = v1 + -0x21;
| if (v1 == 0) {
0x004e2224 beqz v1, 0x4e225c | goto label_13;
| }
0x004e2228 andi v0, v0, 0xff | v0 &= 0xff;
0x004e222c sltiu v0, v0, 0x5e | v0 = (v0 < 0x5e) ? 1 : 0;
0x004e2230 addiu v0, zero, 0x3a | v0 = 0x3a;
| if (v0 == 0) {
0x004e2234 beqz v0, 0x4e2414 | goto label_14;
| }
0x004e2238 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
| if (v1 == v0) {
0x004e223c beq v1, v0, 0x4e2418 | goto label_15;
| }
0x004e2240 move v1, a0 | v1 = a0;
0x004e2244 addiu a2, zero, 0xd | a2 = 0xd;
0x004e2248 addiu a3, zero, 0xa | a3 = 0xa;
0x004e224c addiu t0, zero, 0x2401 | t0 = 0x2401;
| label_3:
0x004e2250 lb a1, (v1) | a1 = *(v1);
| if (a1 != 0) {
0x004e2254 bnez a1, 0x4e23c0 | goto label_16;
| }
0x004e2258 nop |
| }
| if (s1 != 0) {
| label_13:
0x004e225c bnez s1, 0x4e2438 | goto label_17;
| }
0x004e2260 nop |
| label_4:
0x004e2264 lw t9, -0x7fe4(gp) | t9 = sym._efree;
| if (a0 != s0) {
0x004e2268 beq a0, s0, 0x4e2274 |
0x004e226c jalr t9 | t9 ();
0x004e2270 nop |
| }
0x004e2274 move v0, zero | v0 = 0;
| label_6:
0x004e2278 lw ra, 0x64(sp) | ra = *(var_64h);
0x004e227c lw fp, 0x60(sp) | fp = *(var_60h);
0x004e2280 lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x004e2284 lw s6, 0x58(sp) | s6 = *(var_58h);
0x004e2288 lw s5, 0x54(sp) | s5 = *(var_54h);
0x004e228c lw s4, 0x50(sp) | s4 = *(var_50h);
0x004e2290 lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x004e2294 lw s2, 0x48(sp) | s2 = *(var_48h);
0x004e2298 lw s1, 0x44(sp) | s1 = *(var_44h);
0x004e229c lw s0, 0x40(sp) | s0 = *(var_40h);
0x004e22a0 addiu sp, sp, 0x68 |
0x004e22a4 jr ra | return v0;
| label_10:
0x004e22a8 lw t9, -0x625c(gp) | t9 = sym.imp.time;
0x004e22ac addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x004e22b0 jalr t9 | t9 ();
0x004e22b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e22b8 lw a2, 0x28(sp) | a2 = *(var_28h);
0x004e22bc addiu a3, zero, 1 | a3 = 1;
0x004e22c0 lw a0, -0x7fbc(gp) | a0 = *((gp - 8175));
0x004e22c4 lw t9, -0x7d6c(gp) | t9 = sym.php_format_date;
0x004e22c8 addiu a1, zero, 0xd | a1 = 0xd;
| /* str.d_M_Y_H:i:s_e */
0x004e22cc addiu a0, a0, -0x4e90 | a0 += -0x4e90;
0x004e22d0 jalr t9 | t9 ();
0x004e22d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e22d8 move s7, v0 | s7 = v0;
0x004e22dc addiu a3, s7, 0x10 | a3 = s7 + 0x10;
0x004e22e0 lw v0, -0x7fc0(gp) | v0 = *((gp - 8176));
0x004e22e4 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x004e22e8 addiu v0, v0, 0x6f08 | v0 += 0x6f08;
0x004e22ec sw v0, 0x14(sp) | *(var_14h) = v0;
0x004e22f0 lw v0, 0x30(sp) | v0 = *(var_30h);
0x004e22f4 lw t9, -0x7a0c(gp) | t9 = sym.zend_spprintf;
| /* str.__s___s_s */
0x004e22f8 addiu a2, a2, -0x4e80 | a2 += -0x4e80;
0x004e22fc move a1, zero | a1 = 0;
0x004e2300 addiu a0, sp, 0x2c | a0 = sp + 0x2c;
0x004e2304 sw v0, 0x10(sp) | *(var_10h) = v0;
0x004e2308 jalr t9 | t9 ();
0x004e230c lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2310 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x004e2314 move a2, v0 | a2 = v0;
0x004e2318 lw t9, -0x6b88(gp) | t9 = *(gp);
0x004e231c move a0, s6 | a0 = s6;
0x004e2320 bal 0x4e1f28 | fcn_004e1f28 ();
0x004e2324 lbu v0, 5(s7) | v0 = *((s7 + 5));
0x004e2328 andi v1, v0, 2 | v1 = v0 & 2;
0x004e232c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == 0) {
0x004e2330 bnez v1, 0x4e2350 |
0x004e2334 andi v0, v0, 1 | v0 &= 1;
0x004e2338 move a0, s7 | a0 = s7;
| if (v0 == 0) {
0x004e233c beqz v0, 0x4e2364 | goto label_18;
| }
0x004e2340 lw t9, -0x60d4(gp) | t9 = *((gp - 6197));
0x004e2344 jalr t9 | t9 ();
0x004e2348 nop |
0x004e234c lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_0:
0x004e2350 lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x004e2354 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x004e2358 jalr t9 | t9 ();
0x004e235c lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2360 b 0x4e2124 |
| } while (1);
| label_18:
0x004e2364 lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x004e2368 jalr t9 | t9 ();
0x004e236c nop |
0x004e2370 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2374 b 0x4e2350 | goto label_0;
| label_11:
0x004e2378 bal 0x4ec674 | fcn_004ec674 ();
0x004e237c nop |
0x004e2380 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2384 sw fp, 0x10(sp) | *(var_10h) = fp;
0x004e2388 move a3, v0 | a3 = v0;
0x004e238c lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x004e2390 lw t9, -0x7a0c(gp) | t9 = sym.zend_spprintf;
| /* str.X_PHP_Originating_Script:__d:_s */
0x004e2394 addiu a2, a2, -0x4e50 | a2 += -0x4e50;
0x004e2398 move a1, zero | a1 = 0;
0x004e239c move a0, s7 | a0 = s7;
0x004e23a0 jalr t9 | t9 ();
0x004e23a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e23a8 b 0x4e21d4 | goto label_1;
| label_12:
0x004e23ac lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x004e23b0 jalr t9 | t9 ();
0x004e23b4 nop |
0x004e23b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e23bc b 0x4e2210 | goto label_2;
| label_16:
0x004e23c0 lb v0, 1(v1) | v0 = *((v1 + 1));
| if (a1 != a2) {
0x004e23c4 bne a1, a2, 0x4e2404 | goto label_19;
| }
| if (v0 == 0) {
0x004e23c8 beqz v0, 0x4e2414 | goto label_14;
| }
0x004e23cc nop |
| if (v0 == a2) {
0x004e23d0 beq v0, a2, 0x4e2414 | goto label_14;
| }
0x004e23d4 nop |
0x004e23d8 lb a1, 2(v1) | a1 = *((v1 + 2));
| if (v0 != a3) {
0x004e23dc bne v0, a3, 0x4e23fc | goto label_20;
| }
0x004e23e0 andi v0, a1, 0xff | v0 = a1 & 0xff;
| do {
0x004e23e4 sltiu a1, v0, 0xe | a1 = (v0 < 0xe) ? 1 : 0;
0x004e23e8 srlv v0, t0, v0 | v0 = t0 >> v0;
| if (a1 != 0) {
0x004e23ec beqz a1, 0x4e23fc |
0x004e23f0 ext v0, v0, 0, 1 | __asm ("ext v0, v0, 0, 1");
| if (v0 != 0) {
0x004e23f4 bnez v0, 0x4e2414 | goto label_14;
| }
0x004e23f8 nop |
| }
| label_20:
0x004e23fc addiu v1, v1, 2 | v1 += 2;
0x004e2400 b 0x4e2250 | goto label_3;
| label_19:
0x004e2404 andi v0, v0, 0xff | v0 &= 0xff;
0x004e2408 beq a1, a3, 0x4e23e4 |
| } while (a1 == a3);
0x004e240c addiu v1, v1, 1 | v1++;
0x004e2410 b 0x4e2250 | goto label_3;
| label_14:
0x004e2414 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
| label_15:
0x004e2418 lw t9, -0x7ef4(gp) | t9 = sym.php_error_docref0;
| /* str.Multiple_or_malformed_newlines_found_in_additional_header */
0x004e241c addiu a2, a2, -0x4e30 | a2 += -0x4e30;
0x004e2420 addiu a1, zero, 2 | a1 = 2;
0x004e2424 move a0, zero | a0 = 0;
0x004e2428 jalr t9 | t9 ();
0x004e242c lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_7:
0x004e2430 lw a0, 0x34(sp) | a0 = *(var_34h);
0x004e2434 b 0x4e2264 | goto label_4;
| label_17:
0x004e2438 lw a2, -0x7fd0(gp) | a2 = *((gp - 8180));
| if (s2 == 0) {
0x004e243c beqz s2, 0x4e24f0 | goto label_21;
| }
0x004e2440 lw t9, -0x7a0c(gp) | t9 = sym.zend_spprintf;
0x004e2444 sw s2, 0x10(sp) | *(var_10h) = s2;
0x004e2448 move a3, s1 | a3 = s1;
| /* esilref: '&s &s' */
0x004e244c addiu a2, a2, -0x4424 | a2 += -0x4424;
0x004e2450 move a1, zero | a1 = 0;
0x004e2454 addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x004e2458 jalr t9 | t9 ();
0x004e245c lw gp, 0x20(sp) | gp = *(var_20h);
| label_5:
0x004e2460 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x004e2464 jalr t9 | t9 ();
0x004e2468 nop |
0x004e246c lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2470 lw a0, 0x38(sp) | a0 = *(var_38h);
0x004e2474 sw zero, (v0) | *(v0) = 0;
0x004e2478 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x004e247c lw t9, -0x6068(gp) | t9 = sym.imp.popen;
0x004e2480 addiu a1, a1, 0x121c | a1 += 0x121c;
0x004e2484 move s7, v0 | s7 = v0;
0x004e2488 jalr t9 | t9 ();
0x004e248c move s6, v0 | s6 = v0;
0x004e2490 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 != 0) {
0x004e2494 beqz s2, 0x4e24a8 |
0x004e2498 lw t9, -0x7fe4(gp) | t9 = sym._efree;
0x004e249c lw a0, 0x38(sp) | a0 = *(var_38h);
0x004e24a0 jalr t9 | t9 ();
0x004e24a4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x004e24a8 addiu v0, zero, 0xd | v0 = 0xd;
| if (s6 == 0) {
0x004e24ac beqz s6, 0x4e25a4 | goto label_22;
| }
0x004e24b0 lw v1, (s7) | v1 = *(s7);
0x004e24b4 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
| if (v1 != v0) {
0x004e24b8 bne v1, v0, 0x4e24f8 | goto label_23;
| }
0x004e24bc lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x004e24c0 lw t9, -0x7ef4(gp) | t9 = sym.php_error_docref0;
0x004e24c4 move a3, s1 | a3 = s1;
| /* str.Permission_denied:_unable_to_execute_shell_to_run_mail_delivery_binary__s */
0x004e24c8 addiu a2, a2, -0x4df4 | a2 += -0x4df4;
0x004e24cc addiu a1, zero, 2 | a1 = 2;
0x004e24d0 move a0, zero | a0 = 0;
0x004e24d4 jalr t9 | t9 ();
0x004e24d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e24dc lw t9, -0x6280(gp) | t9 = sym.imp.pclose;
0x004e24e0 move a0, s6 | a0 = s6;
0x004e24e4 jalr t9 | t9 ();
0x004e24e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e24ec b 0x4e2430 |
| } while (1);
| label_21:
0x004e24f0 sw s1, 0x38(sp) | *(var_38h) = s1;
0x004e24f4 b 0x4e2460 | goto label_5;
| label_23:
0x004e24f8 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x004e24fc move a2, s4 | a2 = s4;
| /* str.To:__s_n */
0x004e2500 addiu a1, a1, -0x4da8 | a1 += -0x4da8;
0x004e2504 move a0, s6 | a0 = s6;
0x004e2508 jalr t9 | t9 ();
0x004e250c lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2510 move a2, s3 | a2 = s3;
0x004e2514 move a0, s6 | a0 = s6;
0x004e2518 lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x004e251c lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
| /* str.Subject:__s_n */
0x004e2520 addiu a1, a1, -0x4da0 | a1 += -0x4da0;
0x004e2524 jalr t9 | t9 ();
0x004e2528 lw a2, 0x34(sp) | a2 = *(var_34h);
0x004e252c lw gp, 0x20(sp) | gp = *(var_20h);
| if (a2 != 0) {
0x004e2530 beqz a2, 0x4e254c |
0x004e2534 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x004e2538 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
| /* esilref: '&s
' */
0x004e253c addiu a1, a1, 0x705c | a1 += 0x705c;
0x004e2540 move a0, s6 | a0 = s6;
0x004e2544 jalr t9 | t9 ();
0x004e2548 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x004e254c lw a1, -0x7fbc(gp) | a1 = *((gp - 8175));
0x004e2550 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x004e2554 move a2, s5 | a2 = s5;
| /* str._n_s_n */
0x004e2558 addiu a1, a1, -0x4d90 | a1 += -0x4d90;
0x004e255c move a0, s6 | a0 = s6;
0x004e2560 jalr t9 | t9 ();
0x004e2564 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2568 lw t9, -0x6280(gp) | t9 = sym.imp.pclose;
0x004e256c move a0, s6 | a0 = s6;
0x004e2570 jalr t9 | t9 ();
0x004e2574 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e2578 lw a0, 0x34(sp) | a0 = *(var_34h);
| if (v0 == 0) {
0x004e257c beqz v0, 0x4e258c | goto label_24;
| }
0x004e2580 addiu v1, zero, 0x4b | v1 = 0x4b;
| if (v0 != v1) {
0x004e2584 bne v0, v1, 0x4e2264 | goto label_4;
| }
0x004e2588 nop |
| label_24:
0x004e258c lw t9, -0x7fe4(gp) | t9 = sym._efree;
| if (a0 != s0) {
0x004e2590 beq a0, s0, 0x4e259c |
0x004e2594 jalr t9 | t9 ();
0x004e2598 nop |
| }
0x004e259c addiu v0, zero, 1 | v0 = 1;
0x004e25a0 b 0x4e2278 | goto label_6;
| label_22:
0x004e25a4 lw a2, -0x7fbc(gp) | a2 = *((gp - 8175));
0x004e25a8 lw t9, -0x7ef4(gp) | t9 = sym.php_error_docref0;
0x004e25ac move a3, s1 | a3 = s1;
| /* str.Could_not_execute_mail_delivery_program__s */
0x004e25b0 addiu a2, a2, -0x4d88 | a2 += -0x4d88;
0x004e25b4 addiu a1, zero, 2 | a1 = 2;
0x004e25b8 move a0, zero | a0 = 0;
0x004e25bc jalr t9 | t9 ();
0x004e25c0 lw gp, 0x20(sp) | gp = *(var_20h);
0x004e25c4 b 0x4e2430 | goto label_7;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x5a1e34 */
| #include <stdint.h>
|
; (fcn) sym.zend_load_extension_handle () | void zend_load_extension_handle () {
0x005a1e34 lui gp, 0x17 |
0x005a1e38 addiu gp, gp, -0x3c34 |
0x005a1e3c addu gp, gp, t9 | gp += t9;
0x005a1e40 addiu sp, sp, -0x40 |
0x005a1e44 lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
0x005a1e48 sw s3, 0x38(sp) | *(var_38h) = s3;
0x005a1e4c move s3, a1 | s3 = a1;
0x005a1e50 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1e54 sw gp, 0x20(sp) | *(var_20h) = gp;
0x005a1e58 sw s1, 0x30(sp) | *(var_30h) = s1;
0x005a1e5c sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x005a1e60 sw s2, 0x34(sp) | *(var_34h) = s2;
0x005a1e64 sw s0, 0x2c(sp) | *(var_2ch) = s0;
| /* str.extension_version_info */
0x005a1e68 addiu a1, a1, 0x6e40 | a1 += 0x6e40;
0x005a1e6c move s1, a0 | s1 = a0;
0x005a1e70 jalr t9 | t9 ();
0x005a1e74 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x005a1e78 bnez v0, 0x5a1e94 |
0x005a1e7c lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1e80 lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
| /* str._extension_version_info */
0x005a1e84 addiu a1, a1, 0x6e58 | a1 += 0x6e58;
0x005a1e88 move a0, s1 | a0 = s1;
0x005a1e8c jalr t9 | t9 ();
0x005a1e90 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x005a1e94 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x005a1e98 lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
| /* str.zend_extension_entry */
0x005a1e9c addiu a1, a1, -0x303c | a1 += -0x303c;
0x005a1ea0 move a0, s1 | a0 = s1;
0x005a1ea4 move s2, v0 | s2 = v0;
0x005a1ea8 jalr t9 | t9 ();
0x005a1eac move s0, v0 | s0 = v0;
0x005a1eb0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x005a1eb4 bnez v0, 0x5a20b4 | goto label_4;
| }
0x005a1eb8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x005a1ebc lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
| /* str._zend_extension_entry */
0x005a1ec0 addiu a1, a1, -0x2fc0 | a1 += -0x2fc0;
0x005a1ec4 move a0, s1 | a0 = s1;
0x005a1ec8 jalr t9 | t9 ();
0x005a1ecc move s0, v0 | s0 = v0;
0x005a1ed0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 != 0) {
0x005a1ed4 bnez s2, 0x5a1efc | goto label_5;
| }
0x005a1ed8 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
| do {
| label_3:
0x005a1edc move a2, s3 | a2 = s3;
| /* str._s_doesnt_appear_to_be_a_valid_Zend_extension_n */
0x005a1ee0 addiu a1, a1, 0x6e70 | a1 += 0x6e70;
| label_1:
0x005a1ee4 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x005a1ee8 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a1eec lw a0, (v0) | a0 = *(v0);
0x005a1ef0 jalr t9 | t9 ();
0x005a1ef4 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a1ef8 b 0x5a2004 | goto label_6;
| label_5:
0x005a1efc lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1f00 beqz v0, 0x5a1edc |
| } while (v0 == 0);
0x005a1f04 lui a0, 0x1315 | a0 = 0x13150000;
| label_2:
0x005a1f08 lw v0, (s2) | v0 = *(s2);
0x005a1f0c addiu a0, a0, 0x6ade | a0 += 0x6ade;
| if (v0 == a0) {
0x005a1f10 beq v0, a0, 0x5a1f78 | goto label_7;
| }
0x005a1f14 nop |
0x005a1f18 lw t9, 0x40(s0) | t9 = *((s0 + 16));
| if (t9 != 0) {
0x005a1f1c bnez t9, 0x5a1f68 | goto label_8;
| }
0x005a1f20 nop |
| do {
0x005a1f24 lui v0, 0x1315 | v0 = 0x13150000;
0x005a1f28 lw a3, (s2) | a3 = *(s2);
0x005a1f2c addiu v1, v0, 0x6adf | v1 = v0 + 0x6adf;
0x005a1f30 slt v1, a3, v1 | v1 = (a3 < v1) ? 1 : 0;
0x005a1f34 addiu v0, v0, 0x6ade | v0 += 0x6ade;
| if (v1 != 0) {
0x005a1f38 bnez v1, 0x5a1fc4 | goto label_9;
| }
0x005a1f3c lw v1, -0x617c(gp) | v1 = *((gp - 6239));
0x005a1f40 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1f44 lw a2, (s0) | a2 = *(s0);
0x005a1f48 lw a0, (v1) | a0 = *(v1);
| /* str._s_requires_Zend_Engine_API_version__d._nThe_Zend_Engine_API_version__d_which_is_installed__is_outdated._n_n */
0x005a1f4c addiu a1, a1, 0x6ea0 | a1 += 0x6ea0;
0x005a1f50 sw v0, 0x10(sp) | *(var_60h) = v0;
| label_0:
0x005a1f54 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a1f58 jalr t9 | t9 ();
0x005a1f5c nop |
0x005a1f60 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a1f64 b 0x5a2004 | goto label_6;
| label_8:
0x005a1f68 jalr t9 | t9 ();
0x005a1f6c nop |
0x005a1f70 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a1f74 bnez v0, 0x5a1f24 |
| } while (v0 != 0);
| label_7:
0x005a1f78 lw s3, -0x7fbc(gp) | s3 = *((gp - 8175));
0x005a1f7c lw t9, -0x63c0(gp) | t9 = sym.imp.strcmp;
0x005a1f80 lw a1, 4(s2) | a1 = *((s2 + 1));
| /* str.API320170718_NTS */
0x005a1f84 addiu a0, s3, -0x70d8 | a0 = s3 + -0x70d8;
0x005a1f88 jalr t9 | t9 ();
0x005a1f8c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x005a1f90 beqz v0, 0x5a2040 | goto label_10;
| }
0x005a1f94 lw t9, 0x44(s0) | t9 = *((s0 + 17));
| if (t9 != 0) {
0x005a1f98 bnez t9, 0x5a2030 | goto label_11;
| }
0x005a1f9c nop |
| do {
0x005a1fa0 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x005a1fa4 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
| /* str.API320170718_NTS */
0x005a1fa8 addiu s3, s3, -0x70d8 | s3 += -0x70d8;
0x005a1fac lw a3, 4(s2) | a3 = *((s2 + 1));
0x005a1fb0 lw a2, (s0) | a2 = *(s0);
0x005a1fb4 lw a0, (v0) | a0 = *(v0);
| /* str.Cannot_load__s___it_was_built_with_configuration__s__whereas_running_engine_is__s_n */
0x005a1fb8 addiu a1, a1, 0x6fa0 | a1 += 0x6fa0;
0x005a1fbc sw s3, 0x10(sp) | *(var_60h) = s3;
0x005a1fc0 b 0x5a1f54 | goto label_0;
| label_9:
0x005a1fc4 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (a3 == v0) {
0x005a1fc8 beq a3, v0, 0x5a2090 | goto label_12;
| }
0x005a1fcc lw v1, -0x617c(gp) | v1 = *((gp - 6239));
0x005a1fd0 lw a2, (s0) | a2 = *(s0);
0x005a1fd4 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1fd8 lw a0, (v1) | a0 = *(v1);
0x005a1fdc sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x005a1fe0 lw v1, 0xc(s0) | v1 = *((s0 + 3));
0x005a1fe4 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a1fe8 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x005a1fec lw v1, 8(s0) | v1 = *((s0 + 2));
| /* str._s_requires_Zend_Engine_API_version__d._nThe_Zend_Engine_API_version__d_which_is_installed__is_newer._nContact__s_at__s_for_a_later_version_of__s._n_n */
0x005a1ff0 addiu a1, a1, 0x6f0c | a1 += 0x6f0c;
0x005a1ff4 sw v1, 0x14(sp) | *(var_64h) = v1;
0x005a1ff8 sw v0, 0x10(sp) | *(var_60h) = v0;
0x005a1ffc jalr t9 | t9 ();
0x005a2000 lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x005a2004 lw t9, -0x6018(gp) | t9 = sym.imp.dlclose;
0x005a2008 move a0, s1 | a0 = s1;
0x005a200c jalr t9 | t9 ();
0x005a2010 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x005a2014 lw s3, 0x38(sp) | s3 = *(var_38h);
0x005a2018 lw s2, 0x34(sp) | s2 = *(var_34h);
0x005a201c lw s1, 0x30(sp) | s1 = *(var_30h);
0x005a2020 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x005a2024 addiu v0, zero, -1 | v0 = -1;
0x005a2028 addiu sp, sp, 0x40 |
0x005a202c jr ra | return v0;
| /* str.API320170718_NTS */
| label_11:
0x005a2030 addiu a0, s3, -0x70d8 | a0 = s3 + -0x70d8;
0x005a2034 jalr t9 | t9 ();
0x005a2038 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a203c bnez v0, 0x5a1fa0 |
| } while (v0 != 0);
| label_10:
0x005a2040 lw t9, -0x7c1c(gp) | t9 = sym.zend_get_extension;
0x005a2044 lw a0, (s0) | a0 = *(s0);
0x005a2048 bal 0x5a1dc4 | sym_zend_get_extension ();
0x005a204c lw gp, 0x20(sp) | gp = *(var_20h);
0x005a2050 lw a0, (s0) | a0 = *(s0);
| if (v0 != 0) {
0x005a2054 beqz v0, 0x5a2068 |
0x005a2058 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a205c move a2, a0 | a2 = a0;
| /* str.Cannot_load__s___it_was_already_loaded_n */
0x005a2060 addiu a1, a1, 0x6ff4 | a1 += 0x6ff4;
0x005a2064 b 0x5a1ee4 | goto label_1;
| }
0x005a2068 lw t9, -0x7c1c(gp) | t9 = sym.zend_get_extension;
0x005a206c bal 0x5a1dc4 | sym_zend_get_extension ();
0x005a2070 nop |
0x005a2074 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x005a2078 beqz v0, 0x5a208c |
0x005a207c lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a2080 lw a2, (s0) | a2 = *(s0);
| /* str.Cannot_load__s___extension_already_loaded_n */
0x005a2084 addiu a1, a1, 0x701c | a1 += 0x701c;
0x005a2088 b 0x5a1ee4 | goto label_1;
| }
0x005a208c lw ra, 0x3c(sp) | ra = *(var_3ch);
| label_12:
0x005a2090 lw s3, 0x38(sp) | s3 = *(var_38h);
0x005a2094 lw s2, 0x34(sp) | s2 = *(var_34h);
0x005a2098 move a1, s1 | a1 = s1;
0x005a209c move a0, s0 | a0 = s0;
0x005a20a0 lw s1, 0x30(sp) | s1 = *(var_30h);
0x005a20a4 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x005a20a8 lw t9, -0x6510(gp) | t9 = sym.zend_register_extension;
0x005a20ac addiu sp, sp, 0x40 |
0x005a20b0 b 0x5a1c8c | void (*0x5a1c8c)() ();
| label_4:
0x005a20b4 lui a0, 0x1315 | a0 = 0x13150000;
| if (s2 != 0) {
0x005a20b8 bnez s2, 0x5a1f08 | goto label_2;
| }
0x005a20bc lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a20c0 b 0x5a1edc | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x5a20c4 */
| #include <stdint.h>
|
; (fcn) sym.zend_load_extension () | void zend_load_extension () {
0x005a20c4 lui gp, 0x17 |
0x005a20c8 addiu gp, gp, -0x3ec4 |
0x005a20cc addu gp, gp, t9 | gp += t9;
0x005a20d0 addiu sp, sp, -0x28 |
0x005a20d4 lw t9, -0x6208(gp) | t9 = sym.imp.dlopen;
0x005a20d8 addiu a1, zero, 0x15 | a1 = 0x15;
0x005a20dc sw gp, 0x10(sp) | *(var_10h) = gp;
0x005a20e0 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x005a20e4 sw ra, 0x24(sp) | *(var_24h) = ra;
0x005a20e8 sw s1, 0x20(sp) | *(var_20h) = s1;
0x005a20ec move s0, a0 | s0 = a0;
0x005a20f0 jalr t9 | t9 ();
0x005a20f4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x005a20f8 beqz v0, 0x5a211c |
0x005a20fc lw ra, 0x24(sp) | ra = *(var_24h);
0x005a2100 lw s1, 0x20(sp) | s1 = *(var_20h);
0x005a2104 move a1, s0 | a1 = s0;
0x005a2108 lw t9, -0x69a0(gp) | t9 = sym.zend_load_extension_handle;
0x005a210c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x005a2110 move a0, v0 | a0 = v0;
0x005a2114 addiu sp, sp, 0x28 |
0x005a2118 b 0x5a1e34 | void (*0x5a1e34)() ();
| }
0x005a211c lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x005a2120 lw t9, -0x62a0(gp) | t9 = sym.imp.dlerror;
0x005a2124 lw s1, (v0) | s1 = *(v0);
0x005a2128 jalr t9 | t9 ();
0x005a212c lw gp, 0x10(sp) | gp = *(var_10h);
0x005a2130 move a2, s0 | a2 = s0;
0x005a2134 move a0, s1 | a0 = s1;
0x005a2138 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a213c lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a2140 move a3, v0 | a3 = v0;
| /* str.Failed_loading__s:___s_n */
0x005a2144 addiu a1, a1, 0x7048 | a1 += 0x7048;
0x005a2148 jalr t9 | t9 ();
0x005a214c lw ra, 0x24(sp) | ra = *(var_24h);
0x005a2150 lw s1, 0x20(sp) | s1 = *(var_20h);
0x005a2154 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x005a2158 addiu v0, zero, -1 | v0 = -1;
0x005a215c addiu sp, sp, 0x28 |
0x005a2160 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x5a1e34 */
| #include <stdint.h>
|
; (fcn) sym.zend_load_extension_handle () | void zend_load_extension_handle () {
0x005a1e34 lui gp, 0x17 |
0x005a1e38 addiu gp, gp, -0x3c34 |
0x005a1e3c addu gp, gp, t9 | gp += t9;
0x005a1e40 addiu sp, sp, -0x40 |
0x005a1e44 lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
0x005a1e48 sw s3, 0x38(sp) | *(var_38h) = s3;
0x005a1e4c move s3, a1 | s3 = a1;
0x005a1e50 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1e54 sw gp, 0x20(sp) | *(var_20h) = gp;
0x005a1e58 sw s1, 0x30(sp) | *(var_30h) = s1;
0x005a1e5c sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x005a1e60 sw s2, 0x34(sp) | *(var_34h) = s2;
0x005a1e64 sw s0, 0x2c(sp) | *(var_2ch) = s0;
| /* str.extension_version_info */
0x005a1e68 addiu a1, a1, 0x6e40 | a1 += 0x6e40;
0x005a1e6c move s1, a0 | s1 = a0;
0x005a1e70 jalr t9 | t9 ();
0x005a1e74 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x005a1e78 bnez v0, 0x5a1e94 |
0x005a1e7c lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1e80 lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
| /* str._extension_version_info */
0x005a1e84 addiu a1, a1, 0x6e58 | a1 += 0x6e58;
0x005a1e88 move a0, s1 | a0 = s1;
0x005a1e8c jalr t9 | t9 ();
0x005a1e90 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x005a1e94 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x005a1e98 lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
| /* str.zend_extension_entry */
0x005a1e9c addiu a1, a1, -0x303c | a1 += -0x303c;
0x005a1ea0 move a0, s1 | a0 = s1;
0x005a1ea4 move s2, v0 | s2 = v0;
0x005a1ea8 jalr t9 | t9 ();
0x005a1eac move s0, v0 | s0 = v0;
0x005a1eb0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x005a1eb4 bnez v0, 0x5a20b4 | goto label_4;
| }
0x005a1eb8 lw a1, -0x7fb8(gp) | a1 = *((gp - 8174));
0x005a1ebc lw t9, -0x6100(gp) | t9 = sym.imp.dlsym;
| /* str._zend_extension_entry */
0x005a1ec0 addiu a1, a1, -0x2fc0 | a1 += -0x2fc0;
0x005a1ec4 move a0, s1 | a0 = s1;
0x005a1ec8 jalr t9 | t9 ();
0x005a1ecc move s0, v0 | s0 = v0;
0x005a1ed0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 != 0) {
0x005a1ed4 bnez s2, 0x5a1efc | goto label_5;
| }
0x005a1ed8 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
| do {
| label_3:
0x005a1edc move a2, s3 | a2 = s3;
| /* str._s_doesnt_appear_to_be_a_valid_Zend_extension_n */
0x005a1ee0 addiu a1, a1, 0x6e70 | a1 += 0x6e70;
| label_1:
0x005a1ee4 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x005a1ee8 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a1eec lw a0, (v0) | a0 = *(v0);
0x005a1ef0 jalr t9 | t9 ();
0x005a1ef4 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a1ef8 b 0x5a2004 | goto label_6;
| label_5:
0x005a1efc lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1f00 beqz v0, 0x5a1edc |
| } while (v0 == 0);
0x005a1f04 lui a0, 0x1315 | a0 = 0x13150000;
| label_2:
0x005a1f08 lw v0, (s2) | v0 = *(s2);
0x005a1f0c addiu a0, a0, 0x6ade | a0 += 0x6ade;
| if (v0 == a0) {
0x005a1f10 beq v0, a0, 0x5a1f78 | goto label_7;
| }
0x005a1f14 nop |
0x005a1f18 lw t9, 0x40(s0) | t9 = *((s0 + 16));
| if (t9 != 0) {
0x005a1f1c bnez t9, 0x5a1f68 | goto label_8;
| }
0x005a1f20 nop |
| do {
0x005a1f24 lui v0, 0x1315 | v0 = 0x13150000;
0x005a1f28 lw a3, (s2) | a3 = *(s2);
0x005a1f2c addiu v1, v0, 0x6adf | v1 = v0 + 0x6adf;
0x005a1f30 slt v1, a3, v1 | v1 = (a3 < v1) ? 1 : 0;
0x005a1f34 addiu v0, v0, 0x6ade | v0 += 0x6ade;
| if (v1 != 0) {
0x005a1f38 bnez v1, 0x5a1fc4 | goto label_9;
| }
0x005a1f3c lw v1, -0x617c(gp) | v1 = *((gp - 6239));
0x005a1f40 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1f44 lw a2, (s0) | a2 = *(s0);
0x005a1f48 lw a0, (v1) | a0 = *(v1);
| /* str._s_requires_Zend_Engine_API_version__d._nThe_Zend_Engine_API_version__d_which_is_installed__is_outdated._n_n */
0x005a1f4c addiu a1, a1, 0x6ea0 | a1 += 0x6ea0;
0x005a1f50 sw v0, 0x10(sp) | *(var_60h) = v0;
| label_0:
0x005a1f54 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a1f58 jalr t9 | t9 ();
0x005a1f5c nop |
0x005a1f60 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a1f64 b 0x5a2004 | goto label_6;
| label_8:
0x005a1f68 jalr t9 | t9 ();
0x005a1f6c nop |
0x005a1f70 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a1f74 bnez v0, 0x5a1f24 |
| } while (v0 != 0);
| label_7:
0x005a1f78 lw s3, -0x7fbc(gp) | s3 = *((gp - 8175));
0x005a1f7c lw t9, -0x63c0(gp) | t9 = sym.imp.strcmp;
0x005a1f80 lw a1, 4(s2) | a1 = *((s2 + 1));
| /* str.API320170718_NTS */
0x005a1f84 addiu a0, s3, -0x70d8 | a0 = s3 + -0x70d8;
0x005a1f88 jalr t9 | t9 ();
0x005a1f8c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x005a1f90 beqz v0, 0x5a2040 | goto label_10;
| }
0x005a1f94 lw t9, 0x44(s0) | t9 = *((s0 + 17));
| if (t9 != 0) {
0x005a1f98 bnez t9, 0x5a2030 | goto label_11;
| }
0x005a1f9c nop |
| do {
0x005a1fa0 lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x005a1fa4 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
| /* str.API320170718_NTS */
0x005a1fa8 addiu s3, s3, -0x70d8 | s3 += -0x70d8;
0x005a1fac lw a3, 4(s2) | a3 = *((s2 + 1));
0x005a1fb0 lw a2, (s0) | a2 = *(s0);
0x005a1fb4 lw a0, (v0) | a0 = *(v0);
| /* str.Cannot_load__s___it_was_built_with_configuration__s__whereas_running_engine_is__s_n */
0x005a1fb8 addiu a1, a1, 0x6fa0 | a1 += 0x6fa0;
0x005a1fbc sw s3, 0x10(sp) | *(var_60h) = s3;
0x005a1fc0 b 0x5a1f54 | goto label_0;
| label_9:
0x005a1fc4 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (a3 == v0) {
0x005a1fc8 beq a3, v0, 0x5a2090 | goto label_12;
| }
0x005a1fcc lw v1, -0x617c(gp) | v1 = *((gp - 6239));
0x005a1fd0 lw a2, (s0) | a2 = *(s0);
0x005a1fd4 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a1fd8 lw a0, (v1) | a0 = *(v1);
0x005a1fdc sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x005a1fe0 lw v1, 0xc(s0) | v1 = *((s0 + 3));
0x005a1fe4 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x005a1fe8 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x005a1fec lw v1, 8(s0) | v1 = *((s0 + 2));
| /* str._s_requires_Zend_Engine_API_version__d._nThe_Zend_Engine_API_version__d_which_is_installed__is_newer._nContact__s_at__s_for_a_later_version_of__s._n_n */
0x005a1ff0 addiu a1, a1, 0x6f0c | a1 += 0x6f0c;
0x005a1ff4 sw v1, 0x14(sp) | *(var_64h) = v1;
0x005a1ff8 sw v0, 0x10(sp) | *(var_60h) = v0;
0x005a1ffc jalr t9 | t9 ();
0x005a2000 lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x005a2004 lw t9, -0x6018(gp) | t9 = sym.imp.dlclose;
0x005a2008 move a0, s1 | a0 = s1;
0x005a200c jalr t9 | t9 ();
0x005a2010 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x005a2014 lw s3, 0x38(sp) | s3 = *(var_38h);
0x005a2018 lw s2, 0x34(sp) | s2 = *(var_34h);
0x005a201c lw s1, 0x30(sp) | s1 = *(var_30h);
0x005a2020 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x005a2024 addiu v0, zero, -1 | v0 = -1;
0x005a2028 addiu sp, sp, 0x40 |
0x005a202c jr ra | return v0;
| /* str.API320170718_NTS */
| label_11:
0x005a2030 addiu a0, s3, -0x70d8 | a0 = s3 + -0x70d8;
0x005a2034 jalr t9 | t9 ();
0x005a2038 lw gp, 0x20(sp) | gp = *(var_20h);
0x005a203c bnez v0, 0x5a1fa0 |
| } while (v0 != 0);
| label_10:
0x005a2040 lw t9, -0x7c1c(gp) | t9 = sym.zend_get_extension;
0x005a2044 lw a0, (s0) | a0 = *(s0);
0x005a2048 bal 0x5a1dc4 | sym_zend_get_extension ();
0x005a204c lw gp, 0x20(sp) | gp = *(var_20h);
0x005a2050 lw a0, (s0) | a0 = *(s0);
| if (v0 != 0) {
0x005a2054 beqz v0, 0x5a2068 |
0x005a2058 lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a205c move a2, a0 | a2 = a0;
| /* str.Cannot_load__s___it_was_already_loaded_n */
0x005a2060 addiu a1, a1, 0x6ff4 | a1 += 0x6ff4;
0x005a2064 b 0x5a1ee4 | goto label_1;
| }
0x005a2068 lw t9, -0x7c1c(gp) | t9 = sym.zend_get_extension;
0x005a206c bal 0x5a1dc4 | sym_zend_get_extension ();
0x005a2070 nop |
0x005a2074 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x005a2078 beqz v0, 0x5a208c |
0x005a207c lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a2080 lw a2, (s0) | a2 = *(s0);
| /* str.Cannot_load__s___extension_already_loaded_n */
0x005a2084 addiu a1, a1, 0x701c | a1 += 0x701c;
0x005a2088 b 0x5a1ee4 | goto label_1;
| }
0x005a208c lw ra, 0x3c(sp) | ra = *(var_3ch);
| label_12:
0x005a2090 lw s3, 0x38(sp) | s3 = *(var_38h);
0x005a2094 lw s2, 0x34(sp) | s2 = *(var_34h);
0x005a2098 move a1, s1 | a1 = s1;
0x005a209c move a0, s0 | a0 = s0;
0x005a20a0 lw s1, 0x30(sp) | s1 = *(var_30h);
0x005a20a4 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x005a20a8 lw t9, -0x6510(gp) | t9 = sym.zend_register_extension;
0x005a20ac addiu sp, sp, 0x40 |
0x005a20b0 b 0x5a1c8c | void (*0x5a1c8c)() ();
| label_4:
0x005a20b4 lui a0, 0x1315 | a0 = 0x13150000;
| if (s2 != 0) {
0x005a20b8 bnez s2, 0x5a1f08 | goto label_2;
| }
0x005a20bc lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x005a20c0 b 0x5a1edc | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/usr/bin/php-cli @ 0x569c94 */
| #include <stdint.h>
|
; (fcn) sym.zend_mm_startup_ex () | void zend_mm_startup_ex () {
0x00569c94 lui gp, 0x1a |
0x00569c98 addiu gp, gp, 0x456c |
0x00569c9c addu gp, gp, t9 | gp += t9;
0x00569ca0 addiu sp, sp, -0x50 |
0x00569ca4 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00569ca8 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00569cac sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00569cb0 move s5, a0 | s5 = a0;
0x00569cb4 addiu s3, sp, 0x18 | s3 = sp + 0x18;
0x00569cb8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00569cbc sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00569cc0 sw s6, 0x48(sp) | *(var_48h) = s6;
0x00569cc4 sw s4, 0x40(sp) | *(var_40h) = s4;
0x00569cc8 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00569ccc move s4, a1 | s4 = a1;
0x00569cd0 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00569cd4 move a1, a0 | a1 = a0;
0x00569cd8 sw s0, 0x30(sp) | *(var_30h) = s0;
0x00569cdc move a0, s3 | a0 = s3;
0x00569ce0 move s6, a2 | s6 = a2;
0x00569ce4 addiu a2, zero, 0x10 | a2 = 0x10;
0x00569ce8 jalr t9 | t9 ();
0x00569cec lw t9, (s5) | t9 = *(s5);
0x00569cf0 sw s4, 0x28(sp) | *(var_28h) = s4;
0x00569cf4 lui a2, 0x20 | a2 = 0x200000;
0x00569cf8 lui a1, 0x20 | a1 = 0x200000;
0x00569cfc move a0, s3 | a0 = s3;
0x00569d00 jalr t9 | t9 ();
0x00569d04 lw gp, 0x10(sp) | gp = *(var_10h);
0x00569d08 bnez v0, 0x569d80 |
| while (1) {
0x00569d0c lw v0, -0x617c(gp) | v0 = *((gp - 6239));
0x00569d10 lw t9, -0x5ee4(gp) | t9 = sym.imp.__errno_location;
0x00569d14 lw s1, (v0) | s1 = *(v0);
0x00569d18 jalr t9 | t9 ();
0x00569d1c lw gp, 0x10(sp) | gp = *(var_10h);
0x00569d20 lw s0, (v0) | s0 = *(v0);
0x00569d24 lw t9, -0x5f38(gp) | t9 = sym.imp.strerror;
0x00569d28 move a0, s0 | a0 = s0;
0x00569d2c jalr t9 | t9 ();
0x00569d30 lw gp, 0x10(sp) | gp = *(var_10h);
0x00569d34 move a0, s1 | a0 = s1;
0x00569d38 move a3, v0 | a3 = v0;
0x00569d3c lw a1, -0x7fc0(gp) | a1 = *((gp - 8176));
0x00569d40 lw t9, -0x6254(gp) | t9 = sym.imp.fprintf
0x00569d44 move a2, s0 | a2 = s0;
| /* str._nCant_initialize_heap:___d___s_n */
0x00569d48 addiu a1, a1, 0x1bb0 | a1 += 0x1bb0;
0x00569d4c move s1, zero | s1 = 0;
0x00569d50 jalr t9 | t9 ();
| label_0:
0x00569d54 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x00569d58 move v0, s1 | v0 = s1;
0x00569d5c lw s6, 0x48(sp) | s6 = *(var_48h);
0x00569d60 lw s5, 0x44(sp) | s5 = *(var_44h);
0x00569d64 lw s4, 0x40(sp) | s4 = *(var_40h);
0x00569d68 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00569d6c lw s2, 0x38(sp) | s2 = *(var_38h);
0x00569d70 lw s1, 0x34(sp) | s1 = *(var_34h);
0x00569d74 lw s0, 0x30(sp) | s0 = *(var_30h);
0x00569d78 addiu sp, sp, 0x50 |
0x00569d7c jr ra | return v0;
0x00569d80 move s0, v0 | s0 = v0;
0x00569d84 addiu s1, v0, 0x40 | s1 = v0 + 0x40;
0x00569d88 sw s1, (v0) | *(v0) = s1;
0x00569d8c sw v0, 4(s0) | *((s0 + 1)) = v0;
0x00569d90 sw v0, 8(s0) | *((s0 + 2)) = v0;
0x00569d94 addiu v0, zero, 0x1ff | v0 = 0x1ff;
0x00569d98 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
0x00569d9c addiu v0, zero, 1 | v0 = 1;
0x00569da0 sw v0, 0x10(s0) | *((s0 + 4)) = v0;
0x00569da4 sw v0, 0x110(s0) | *((s0 + 68)) = v0;
0x00569da8 sw v0, 0xe4(s0) | *((s0 + 57)) = v0;
0x00569dac sw v0, 0xe8(s0) | *((s0 + 58)) = v0;
0x00569db0 lw v0, -0x7fd0(gp) | v0 = *((gp - 8180));
0x00569db4 lui v1, 0x4000 | v1 = 0x40000001;
0x00569db8 addiu v1, v1, 1 |
0x00569dbc sw v1, 0x150(s0) | *((s0 + 84)) = v1;
0x00569dc0 lw v1, -0x393c(v0) | v1 = *((v0 - 3663));
0x00569dc4 lw v0, -0x3940(v0) | v0 = *((v0 - 3664));
0x00569dc8 lw t9, -0x602c(gp) | t9 = sym.imp.memset;
0x00569dcc sw v0, 0xf0(s0) | *((s0 + 60)) = v0;
0x00569dd0 lui v0, 0x20 | v0 = 0x200000;
0x00569dd4 sw v0, 0xc8(s0) | *((s0 + 50)) = v0;
0x00569dd8 sw v0, 0xcc(s0) | *((s0 + 51)) = v0;
0x00569ddc addiu v0, zero, -1 | v0 = -1;
0x00569de0 sw v1, 0xf4(s0) | *((s0 + 61)) = v1;
0x00569de4 addiu a2, zero, 0x78 | a2 = 0x78;
0x00569de8 move a1, zero | a1 = 0;
0x00569dec addiu a0, s0, 0x50 | a0 = s0 + 0x50;
0x00569df0 sw zero, 0x14(s0) | *((s0 + 5)) = 0;
0x00569df4 sw s0, 0xdc(s0) | *((s0 + 55)) = s0;
0x00569df8 sw zero, 0xe0(s0) | *((s0 + 56)) = 0;
0x00569dfc sw zero, 0xec(s0) | *((s0 + 59)) = 0;
0x00569e00 sw zero, 0xf8(s0) | *((s0 + 62)) = 0;
0x00569e04 sw zero, 0xfc(s0) | *((s0 + 63)) = 0;
0x00569e08 sw zero, 0x48(s0) | *((s0 + 18)) = 0;
0x00569e0c sw zero, 0x4c(s0) | *((s0 + 19)) = 0;
0x00569e10 sw v0, 0xd0(s0) | *((s0 + 52)) = v0;
0x00569e14 sw zero, 0xd4(s0) | *((s0 + 53)) = 0;
0x00569e18 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
0x00569e1c sw s3, 0x44(s0) | *((s0 + 17)) = s3;
0x00569e20 sw zero, 0xd8(s0) | *((s0 + 54)) = 0;
0x00569e24 jalr t9 | t9 ();
0x00569e28 lw gp, 0x10(sp) | gp = *(var_10h);
0x00569e2c addiu a1, s6, 0x14 | a1 = s6 + 0x14;
0x00569e30 lw t9, -0x76dc(gp) | t9 = sym._zend_mm_alloc;
0x00569e34 move a0, s1 | a0 = s1;
0x00569e38 bal 0x56732c | sym_zend_mm_alloc ();
0x00569e3c move s2, v0 | s2 = v0;
0x00569e40 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00569e44 bnez v0, 0x569e64 | goto label_1;
| }
0x00569e48 lw t9, 4(s5) | t9 = *((s5 + 1));
0x00569e4c lui a2, 0x20 | a2 = 0x200000;
0x00569e50 move a1, s0 | a1 = s0;
0x00569e54 move a0, s3 | a0 = s3;
0x00569e58 jalr t9 | t9 ();
0x00569e5c lw gp, 0x10(sp) | gp = *(var_10h);
0x00569e60 b 0x569d0c |
| }
| label_1:
0x00569e64 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00569e68 addiu a2, zero, 0x14 | a2 = 0x14;
0x00569e6c move a1, s3 | a1 = s3;
0x00569e70 move a0, v0 | a0 = v0;
0x00569e74 jalr t9 | t9 ();
0x00569e78 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 != 0) {
0x00569e7c beqz s4, 0x569e98 |
0x00569e80 addiu a0, s2, 0x14 | a0 = s2 + 0x14;
0x00569e84 lw t9, -0x6188(gp) | t9 = sym.imp.memcpy;
0x00569e88 sw a0, 0x10(s2) | *((s2 + 4)) = a0;
0x00569e8c move a2, s6 | a2 = s6;
0x00569e90 move a1, s4 | a1 = s4;
0x00569e94 jalr t9 | t9 ();
| }
0x00569e98 sw s2, 0x44(s0) | *((s0 + 17)) = s2;
0x00569e9c b 0x569d54 | goto label_0;
| }
[*] Function fprintf used 21 times php-cli