[*] Binary protection state of ptzcoordcalc.cgi
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of ptzcoordcalc.cgi
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/ptzcoordcalc.cgi @ 0x2400 */
| #include <stdint.h>
|
; (fcn) fcn.00002400 () | void fcn_00002400 () {
0x00002400 lui gp, 2 |
0x00002404 addiu gp, gp, -0x33f0 |
0x00002408 addu gp, gp, t9 | gp += t9;
0x0000240c addiu sp, sp, -0x30 |
0x00002410 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00002414 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00002418 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0000241c sw s2, 0x28(sp) | *(var_28h) = s2;
0x00002420 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00002424 move s1, a0 | s1 = a0;
| if (a1 != 0) {
0x00002428 beqz a1, 0x2488 |
0x0000242c move s0, a3 | s0 = a3;
0x00002430 move s2, a2 | s2 = a2;
0x00002434 move a3, a2 | a3 = a2;
0x00002438 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000243c lw t9, -0x7e9c(gp) | t9 = sym.imp.__fprintf_chk
0x00002440 addiu a2, a2, 0x5c44 | a2 += str.Status:__s_r_nCache_Control:_no_cache_r_nPragma:_no_cache_r_nExpires:_Thu__01_Dec_1994_16:00:00_GMT_r_nContent_Type:_text_plain_r_n_r_n;
0x00002444 addiu a1, zero, 1 | a1 = 1;
0x00002448 jalr t9 | t9 ();
0x0000244c lw gp, 0x18(sp) | gp = *(var_18h);
0x00002450 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00002454 move a3, s2 | a3 = s2;
0x00002458 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000245c lw t9, -0x7e9c(gp) | t9 = sym.imp.__fprintf_chk
0x00002460 move a0, s1 | a0 = s1;
0x00002464 addiu a2, a2, 0x5cc0 | a2 += str._s_r_n_r_n_s_r_n;
0x00002468 addiu a1, zero, 1 | a1 = 1;
0x0000246c jalr t9 | t9 ();
0x00002470 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00002474 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00002478 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000247c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00002480 addiu sp, sp, 0x30 |
0x00002484 jr ra | return;
| }
0x00002488 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0000248c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00002490 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00002494 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00002498 lw t9, -0x7e90(gp) | t9 = sym.imp.fputs;
0x0000249c move a1, a0 | a1 = a0;
0x000024a0 move a0, a3 | a0 = a3;
0x000024a4 addiu sp, sp, 0x30 |
0x000024a8 jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/ptzcoordcalc.cgi @ 0x12f0 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 17904 named .text */
0x000012f0 lui gp, 2 |
0x000012f4 addiu gp, gp, -0x22e0 |
0x000012f8 addu gp, gp, t9 | gp += t9;
0x000012fc lw v0, -0x7f04(gp) | v0 = *((gp - 8129));
0x00001300 addiu sp, sp, -0xd8 |
0x00001304 lw t9, -0x7ea8(gp) | t9 = sym.imp.g_key_file_new;
0x00001308 sw s0, 0xb0(sp) | *(var_b0h) = s0;
0x0000130c sw v0, 0x50(sp) | *(var_50h) = v0;
0x00001310 lw s0, -0x7f3c(gp) | s0 = *((gp - 8143));
0x00001314 lw v0, (v0) | v0 = *(v0);
0x00001318 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0000131c sw ra, 0xd4(sp) | *(var_d4h) = ra;
0x00001320 sw s4, 0xc0(sp) | *(var_c0h) = s4;
0x00001324 sw s2, 0xb8(sp) | *(var_b8h) = s2;
0x00001328 sw s1, 0xb4(sp) | *(var_b4h) = s1;
0x0000132c sw fp, 0xd0(sp) | *(var_d0h) = fp;
0x00001330 sw s7, 0xcc(sp) | *(var_cch) = s7;
0x00001334 sw s6, 0xc8(sp) | *(var_c8h) = s6;
0x00001338 sw s5, 0xc4(sp) | *(var_c4h) = s5;
0x0000133c sw s3, 0xbc(sp) | *(var_bch) = s3;
0x00001340 sw v0, 0xac(sp) | *(var_ach) = v0;
0x00001344 sw zero, 0x80(sp) | *(var_80h) = 0;
0x00001348 lw s2, (s0) | s2 = *(s0);
0x0000134c jalr t9 | t9 ();
0x00001350 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001354 addiu s4, sp, 0x80 | s4 = sp + 0x80;
0x00001358 move a3, s4 | a3 = s4;
0x0000135c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001360 lw t9, -0x7f20(gp) | t9 = sym.imp.g_key_file_load_from_file;
0x00001364 move a2, zero | a2 = 0;
0x00001368 addiu a1, a1, 0x5d4c | a1 += str._etc_ptzcoordcalc_ptzcoordcalc.conf;
0x0000136c move a0, v0 | a0 = v0;
0x00001370 move s1, v0 | s1 = v0;
0x00001374 jalr t9 | t9 ();
0x00001378 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0000137c beqz v0, 0x21ac | goto label_26;
| }
0x00001380 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x00001384 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001388 lw t9, -0x7f00(gp) | t9 = sym.imp.g_key_file_get_boolean;
0x0000138c addiu a1, s3, 0x5da4 | a1 = s3 + str.Config;
0x00001390 move a0, s1 | a0 = s1;
0x00001394 move a3, zero | a3 = 0;
0x00001398 addiu a2, a2, 0x5d94 | a2 += str.OnlyUpdateZoom;
0x0000139c jalr t9 | t9 ();
0x000013a0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000013a4 addiu a1, s3, 0x5da4 | a1 = s3 + str.Config;
0x000013a8 move a0, s1 | a0 = s1;
0x000013ac lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000013b0 lw t9, -0x7f00(gp) | t9 = sym.imp.g_key_file_get_boolean;
0x000013b4 move a3, zero | a3 = 0;
0x000013b8 addiu a2, a2, 0x5dac | a2 += str.CameraIsRemote;
0x000013bc move s2, v0 | s2 = v0;
0x000013c0 jalr t9 | t9 ();
0x000013c4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000013c8 addiu a1, s3, 0x5da4 | a1 = s3 + str.Config;
0x000013cc move a3, zero | a3 = 0;
0x000013d0 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x000013d4 lw t9, -0x7ee4(gp) | t9 = sym.imp.g_key_file_get_integer;
0x000013d8 addiu a2, a2, 0x5dbc | a2 += str.NumCameras;
0x000013dc move a0, s1 | a0 = s1;
0x000013e0 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x000013e4 jalr t9 | t9 ();
0x000013e8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000013ec move a0, s1 | a0 = s1;
0x000013f0 sw v0, 0x48(sp) | *(var_48h) = v0;
0x000013f4 lw t9, -0x7f50(gp) | t9 = sym.imp.g_key_file_free;
0x000013f8 addiu s5, zero, 1 | s5 = 1;
0x000013fc jalr t9 | t9 ();
0x00001400 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001404 sb s5, 0x8c(sp) | *(var_8ch) = s5;
0x00001408 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x0000140c lw t9, -0x7eb4(gp) | t9 = sym.imp.CGI_save_env;
0x00001410 sw zero, 0xa0(sp) | *(var_a0h) = 0;
0x00001414 lw s3, (s0) | s3 = *(s0);
0x00001418 jalr t9 | t9 ();
0x0000141c move s1, v0 | s1 = v0;
0x00001420 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001424 bnez v0, 0x21f8 | goto label_27;
| }
0x00001428 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000142c lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x00001430 addiu a0, a0, 0x5e04 | a0 += str.generate_header;
0x00001434 jalr t9 | t9 ();
0x00001438 move s6, v0 | s6 = v0;
0x0000143c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001440 beqz v0, 0x1488 |
0x00001444 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001448 lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x0000144c addiu a2, zero, 3 | a2 = 3;
0x00001450 addiu a1, a1, 0x5e14 | a1 += 0x5e14;
0x00001454 move a0, v0 | a0 = v0;
0x00001458 jalr t9 | t9 ();
0x0000145c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001460 beqz v0, 0x15f4 | goto label_28;
| }
0x00001464 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001468 lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x0000146c addiu a2, zero, 2 | a2 = 2;
0x00001470 addiu a1, a1, 0x5e18 | a1 += 0x5e18;
0x00001474 move a0, s6 | a0 = s6;
0x00001478 jalr t9 | t9 ();
0x0000147c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001480 bnez v0, 0x17f4 | goto label_29;
| }
0x00001484 sb zero, 0x8c(sp) | *(var_8ch) = 0;
| }
| label_0:
0x00001488 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000148c lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x00001490 addiu a0, a0, 0x5e54 | a0 += str.responseformat;
0x00001494 jalr t9 | t9 ();
0x00001498 move s5, v0 | s5 = v0;
0x0000149c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000014a0 beqz v0, 0x17e4 | goto label_30;
| }
0x000014a4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000014a8 lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x000014ac addiu a2, zero, 5 | a2 = 5;
0x000014b0 addiu a1, a1, 0x5e84 | a1 += str.plain;
0x000014b4 move a0, v0 | a0 = v0;
0x000014b8 jalr t9 | t9 ();
0x000014bc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000014c0 beqz v0, 0x15ec | goto label_31;
| }
0x000014c4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000014c8 lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x000014cc addiu a2, zero, 3 | a2 = 3;
0x000014d0 addiu a1, a1, 0x5e8c | a1 += 0x5e8c;
0x000014d4 move a0, s5 | a0 = s5;
0x000014d8 jalr t9 | t9 ();
0x000014dc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000014e0 bnez v0, 0x1804 | goto label_32;
| }
0x000014e4 addiu v0, zero, 1 | v0 = 1;
0x000014e8 sw v0, 0x88(sp) | *(var_88h) = v0;
| do {
0x000014ec lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000014f0 lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x000014f4 addiu a0, a0, 0x5eac | a0 += str.action;
0x000014f8 jalr t9 | t9 ();
0x000014fc move s5, v0 | s5 = v0;
0x00001500 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001504 beqz v0, 0x1ff0 | goto label_33;
| }
0x00001508 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000150c lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x00001510 addiu a2, zero, 8 | a2 = 8;
0x00001514 addiu a1, a1, 0x5ecc | a1 += str.getpixel;
0x00001518 move a0, v0 | a0 = v0;
0x0000151c jalr t9 | t9 ();
0x00001520 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001524 bnez v0, 0x15fc | goto label_34;
| }
0x00001528 sw zero, 0x84(sp) | *(var_84h) = 0;
| label_1:
0x0000152c lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001530 lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x00001534 addiu a0, a0, 0x5f00 | a0 += str.imageresolution;
0x00001538 jalr t9 | t9 ();
0x0000153c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001540 beqz v0, 0x17b0 | goto label_35;
| }
0x00001544 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001548 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000154c addiu a3, sp, 0x94 | a3 = sp + 0x94;
0x00001550 addiu a2, sp, 0x90 | a2 = sp + 0x90;
0x00001554 addiu a1, a1, 0x5f30 | a1 += str._dx_d;
0x00001558 move a0, v0 | a0 = v0;
0x0000155c jalr t9 | t9 ();
0x00001560 addiu v1, zero, 2 | v1 = 2;
0x00001564 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x00001568 beq v0, v1, 0x1628 | goto label_36;
| }
0x0000156c lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001570 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00001574 addiu a3, a3, 0x5f38 | a3 += str.Error_parsing_image_resolution.;
| label_2:
0x00001578 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x0000157c lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x00001580 addiu a2, a2, 0x5e44 | a2 += str.400_Bad_Request;
0x00001584 addiu t9, t9, 0x2400 | t9 += fcn.00002400;
0x00001588 move a0, s3 | a0 = s3;
0x0000158c bal 0x2400 | fcn_00002400 ();
0x00001590 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001594 addiu v0, zero, 1 | v0 = 1;
0x00001598 lw t9, -0x7f1c(gp) | t9 = sym.imp.CGI_cleanup;
0x0000159c sw v0, 0x54(sp) | *(var_54h) = v0;
0x000015a0 jalr t9 | t9 ();
0x000015a4 lw gp, 0x28(sp) | gp = *(var_28h);
| label_14:
0x000015a8 lw v0, 0x50(sp) | v0 = *(var_50h);
0x000015ac lw a0, 0xac(sp) | a0 = *(var_ach);
0x000015b0 lw v1, (v0) | v1 = *(v0);
0x000015b4 lw v0, 0x54(sp) | v0 = *(var_54h);
| if (a0 != v1) {
0x000015b8 bne a0, v1, 0x2284 | goto label_37;
| }
0x000015bc lw ra, 0xd4(sp) | ra = *(var_d4h);
0x000015c0 lw fp, 0xd0(sp) | fp = *(var_d0h);
0x000015c4 lw s7, 0xcc(sp) | s7 = *(var_cch);
0x000015c8 lw s6, 0xc8(sp) | s6 = *(var_c8h);
0x000015cc lw s5, 0xc4(sp) | s5 = *(var_c4h);
0x000015d0 lw s4, 0xc0(sp) | s4 = *(var_c0h);
0x000015d4 lw s3, 0xbc(sp) | s3 = *(var_bch);
0x000015d8 lw s2, 0xb8(sp) | s2 = *(var_b8h);
0x000015dc lw s1, 0xb4(sp) | s1 = *(var_b4h);
0x000015e0 lw s0, 0xb0(sp) | s0 = *(var_b0h);
0x000015e4 addiu sp, sp, 0xd8 |
0x000015e8 jr ra | return v0;
| label_31:
0x000015ec sw zero, 0x88(sp) | *(var_88h) = 0;
0x000015f0 b 0x14ec |
| } while (1);
| label_28:
0x000015f4 sb s5, 0x8c(sp) | *(var_8ch) = s5;
0x000015f8 b 0x1488 | goto label_0;
| label_34:
0x000015fc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001600 lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x00001604 addiu a2, zero, 0xa | a2 = 0xa;
0x00001608 addiu a1, a1, 0x5ed8 | a1 += str.getpantilt;
0x0000160c move a0, s5 | a0 = s5;
0x00001610 jalr t9 | t9 ();
0x00001614 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001618 bnez v0, 0x1fe0 | goto label_38;
| }
0x0000161c addiu v0, zero, 1 | v0 = 1;
0x00001620 sw v0, 0x84(sp) | *(var_84h) = v0;
0x00001624 b 0x152c | goto label_1;
| label_36:
0x00001628 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000162c lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x00001630 addiu a0, a0, 0x5f58 | a0 += str.imagerotation;
0x00001634 jalr t9 | t9 ();
0x00001638 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0000163c beqz v0, 0x1698 |
0x00001640 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001644 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00001648 addiu a2, sp, 0x98 | a2 = sp + 0x98;
0x0000164c addiu a1, a1, 0x5f68 | a1 += 0x5f68;
0x00001650 move a0, v0 | a0 = v0;
0x00001654 jalr t9 | t9 ();
0x00001658 addiu v1, zero, 1 | v1 = 1;
0x0000165c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != v1) {
0x00001660 bne v0, v1, 0x17c8 | goto label_39;
| }
0x00001664 lw v0, 0x98(sp) | v0 = *(var_98h);
| if (v0 != 0) {
0x00001668 beql v0, zero, 0x1690 |
0x0000166c addiu v0, zero, 1 | v0 = 1;
0x00001670 addiu v1, zero, 0x5a | v1 = 0x5a;
0x00001674 addiu v1, zero, 0xb4 | v1 = 0xb4;
| if (v0 != v1) {
0x00001678 beq v0, v1, 0x168c |
0x0000167c addiu v1, zero, 0x10e | v1 = 0x10e;
| if (v0 == v1) {
0x00001680 beq v0, v1, 0x168c | goto label_40;
| }
0x00001684 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| if (v0 != v1) {
0x00001688 bne v0, v1, 0x2268 | goto label_41;
| }
| }
| label_40:
0x0000168c addiu v0, zero, 1 | v0 = 1;
| }
0x00001690 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00001694 b 0x16a0 |
| } else {
0x00001698 sw zero, 0x98(sp) | *(var_98h) = 0;
0x0000169c sw zero, 0x4c(sp) | *(var_4ch) = 0;
| }
0x000016a0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000016a4 lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x000016a8 addiu a0, a0, 0x5fb0 | a0 += str.camera;
0x000016ac jalr t9 | t9 ();
0x000016b0 move s5, v0 | s5 = v0;
0x000016b4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000016b8 beqz v0, 0x2014 | goto label_42;
| }
0x000016bc lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x000016c0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (v0 != 0) {
0x000016c4 beqz v0, 0x16fc |
0x000016c8 lw t9, -0x7f08(gp) | t9 = sym.imp.strcasecmp;
0x000016cc addiu a1, a1, 0x5fb8 | a1 += str.quad;
0x000016d0 move a0, s5 | a0 = s5;
0x000016d4 jalr t9 | t9 ();
0x000016d8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000016dc beqz v0, 0x17d8 | goto label_43;
| }
0x000016e0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016e4 lw t9, -0x7f08(gp) | t9 = sym.imp.strcasecmp;
0x000016e8 addiu a1, a1, 0x5fc0 | a1 += 0x5fc0;
0x000016ec move a0, s5 | a0 = s5;
0x000016f0 jalr t9 | t9 ();
0x000016f4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000016f8 beqz v0, 0x17d8 | goto label_43;
| }
| }
0x000016fc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001700 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00001704 move a2, s4 | a2 = s4;
0x00001708 addiu a1, a1, 0x5f68 | a1 += 0x5f68;
0x0000170c move a0, s5 | a0 = s5;
0x00001710 jalr t9 | t9 ();
0x00001714 addiu v1, zero, 1 | v1 = 1;
0x00001718 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != v1) {
0x0000171c bne v0, v1, 0x2030 | goto label_44;
| }
0x00001720 lw v0, 0x80(sp) | v0 = *(var_80h);
0x00001724 lw v1, 0x3c(sp) | v1 = *(var_3ch);
| if (v0 <= 0) {
0x00001728 blez v0, 0x2030 | goto label_44;
| }
| if (v1 != 0) {
0x0000172c beql v1, zero, 0x1748 |
0x00001730 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001734 lw v1, 0x48(sp) | v1 = *(var_48h);
0x00001738 slt v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x0000173c lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| if (v0 != 0) {
0x00001740 bnez v0, 0x2034 | goto label_45;
| }
| label_4:
0x00001744 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| }
0x00001748 lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x0000174c addiu a0, a0, 0x5fe4 | a0 += str.coordinates;
0x00001750 jalr t9 | t9 ();
0x00001754 move fp, v0 | fp = v0;
0x00001758 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000175c lw v0, 0x84(sp) | v0 = *(var_84h);
| if (fp == 0) {
0x00001760 beqz fp, 0x2020 | goto label_46;
| }
0x00001764 addiu a0, zero, 1 | a0 = 1;
| if (v0 == 0) {
0x00001768 beqz v0, 0x2060 | goto label_47;
| }
0x0000176c lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| if (v0 != a0) {
0x00001770 bne v0, a0, 0x2274 | goto label_48;
| }
0x00001774 lw t9, -0x7ef4(gp) | t9 = sym.imp.strlen;
0x00001778 move a0, fp | a0 = fp;
0x0000177c jalr t9 | t9 ();
0x00001780 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001784 move a0, zero | a0 = 0;
0x00001788 addiu a3, zero, 1 | a3 = 1;
0x0000178c addiu a2, zero, 0x3a | a2 = 0x3a;
| do {
| label_3:
0x00001790 slt a1, a0, v0 | a1 = (a0 < v0) ? 1 : 0;
0x00001794 addu a1, fp, a0 | a1 = fp + a0;
| if (a1 == 0) {
0x00001798 beqz a1, 0x1814 | goto label_49;
| }
0x0000179c lb a1, (a1) | a1 = *(a1);
| if (a1 == a2) {
0x000017a0 beql a1, a2, 0x17c0 | goto label_50;
| }
0x000017a4 addiu a3, a3, 1 | a3++;
0x000017a8 addiu a0, a0, 1 | a0++;
0x000017ac b 0x1790 |
| } while (1);
| label_35:
0x000017b0 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000017b4 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x000017b8 addiu a3, a3, 0x5f10 | a3 += str.No_image_resolution_specified.;
0x000017bc b 0x1578 | goto label_2;
| label_50:
0x000017c0 addiu a0, a0, 1 | a0++;
0x000017c4 b 0x1790 | goto label_3;
| label_39:
0x000017c8 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000017cc lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x000017d0 addiu a3, a3, 0x5f6c | a3 += str.Error_parsing_image_rotation.;
0x000017d4 b 0x1578 | goto label_2;
| label_43:
0x000017d8 addiu v0, zero, -1 | v0 = -1;
0x000017dc sw v0, 0x80(sp) | *(var_80h) = v0;
0x000017e0 b 0x1744 | goto label_4;
| label_30:
0x000017e4 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000017e8 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x000017ec addiu a3, a3, 0x5e64 | a3 += str.No_response_format_specified.;
0x000017f0 b 0x1578 | goto label_2;
| label_29:
0x000017f4 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000017f8 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x000017fc addiu a3, a3, 0x5e1c | a3 += str.generate_header_set_to_illegal_value.;
0x00001800 b 0x1578 | goto label_2;
| label_32:
0x00001804 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001808 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x0000180c addiu a3, a3, 0x5e90 | a3 += str.Illegal_response_format.;
0x00001810 b 0x1578 | goto label_2;
| label_49:
0x00001814 move s5, zero | s5 = 0;
0x00001818 move a0, zero | a0 = 0;
0x0000181c addiu a2, zero, 0x2c | a2 = 0x2c;
| do {
| label_5:
0x00001820 slt a1, a0, v0 | a1 = (a0 < v0) ? 1 : 0;
0x00001824 addu a1, fp, a0 | a1 = fp + a0;
| if (a1 == 0) {
0x00001828 beqz a1, 0x1848 | goto label_51;
| }
0x0000182c lb a1, (a1) | a1 = *(a1);
| if (a1 == a2) {
0x00001830 beql a1, a2, 0x1840 | goto label_52;
| }
0x00001834 addiu s5, s5, 1 | s5++;
0x00001838 addiu a0, a0, 1 | a0++;
0x0000183c b 0x1820 |
| } while (1);
| label_52:
0x00001840 addiu a0, a0, 1 | a0++;
0x00001844 b 0x1820 | goto label_5;
| label_51:
0x00001848 lw t9, -0x7f18(gp) | t9 = sym.imp.malloc;
| if (s5 != a3) {
0x0000184c bne s5, a3, 0x2050 | goto label_53;
| }
0x00001850 sll v0, s5, 1 | v0 = s5 << 1;
0x00001854 sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x00001858 sll a0, s5, 3 | a0 = s5 << 3;
0x0000185c jalr t9 | t9 ();
0x00001860 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001864 sw v0, 0xa4(sp) | *(var_a4h) = v0;
0x00001868 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000186c addiu s6, a1, 0x5f68 | s6 = a1 + 0x5f68;
| do {
0x00001870 lw a2, 0xa4(sp) | a2 = *(var_a4h);
0x00001874 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00001878 sll s4, s1, 3 | s4 = s1 << 3;
0x0000187c addu a2, a2, s4 | a2 += s4;
0x00001880 move a1, s6 | a1 = s6;
0x00001884 move a0, fp | a0 = fp;
0x00001888 jalr t9 | t9 ();
0x0000188c addiu v1, zero, 1 | v1 = 1;
0x00001890 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != v1) {
0x00001894 bne v0, v1, 0x2040 | goto label_54;
| }
0x00001898 lw t9, -0x7eb0(gp) | t9 = sym.imp.strchr;
0x0000189c addiu a1, zero, 0x2c | a1 = 0x2c;
0x000018a0 move a0, fp | a0 = fp;
0x000018a4 jalr t9 | t9 ();
0x000018a8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000018ac lw a2, 0xa4(sp) | a2 = *(var_a4h);
0x000018b0 addiu s7, v0, 1 | s7 = v0 + 1;
0x000018b4 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000018b8 addiu s4, s4, 4 | s4 += 4;
0x000018bc addu a2, a2, s4 | a2 += s4;
0x000018c0 move a1, s6 | a1 = s6;
0x000018c4 move a0, s7 | a0 = s7;
0x000018c8 jalr t9 | t9 ();
0x000018cc addiu v1, zero, 1 | v1 = 1;
0x000018d0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != v1) {
0x000018d4 bne v0, v1, 0x2040 | goto label_54;
| }
0x000018d8 lw t9, -0x7eb0(gp) | t9 = sym.imp.strchr;
0x000018dc move a0, s7 | a0 = s7;
0x000018e0 addiu a1, zero, 0x3a | a1 = 0x3a;
0x000018e4 addiu s1, s1, 1 | s1++;
0x000018e8 jalr t9 | t9 ();
0x000018ec slt a0, s1, s5 | a0 = (s1 < s5) ? 1 : 0;
0x000018f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000018f4 addiu fp, v0, 1 | fp = v0 + 1;
0x000018f8 bnez a0, 0x1870 |
| } while (a0 != 0);
| label_20:
0x000018fc lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| label_23:
0x00001900 lw t9, -0x7f28(gp) | t9 = sym.imp.CGI_get_value;
0x00001904 addiu a0, a0, 0x6058 | a0 += str.mode;
0x00001908 jalr t9 | t9 ();
0x0000190c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001910 beqz v0, 0x2194 | goto label_55;
| }
0x00001914 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001918 lw t9, -0x7f58(gp) | t9 = sym.imp.strncmp;
0x0000191c addiu a2, zero, 8 | a2 = 8;
0x00001920 addiu a1, a1, 0x6060 | a1 += str.overview;
0x00001924 move a0, v0 | a0 = v0;
0x00001928 jalr t9 | t9 ();
0x0000192c sltiu v0, v0, 1 | v0 = (v0 < 1) ? 1 : 0;
0x00001930 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001934 sw v0, 0xa8(sp) | *(var_a8h) = v0;
| label_24:
0x00001938 lw t9, -0x7f1c(gp) | t9 = sym.imp.CGI_cleanup;
0x0000193c jalr t9 | t9 ();
0x00001940 nop |
0x00001944 lw a0, 0x80(sp) | a0 = *(var_80h);
0x00001948 addiu v0, zero, -1 | v0 = -1;
0x0000194c lw gp, 0x28(sp) | gp = *(var_28h);
| if (a0 == v0) {
0x00001950 bne a0, v0, 0x1958 |
0x00001954 addiu a0, zero, 1 | a0 = 1;
| }
0x00001958 move v1, zero | v1 = 0;
| if (s2 != 0) {
0x0000195c beqz s2, 0x1968 |
0x00001960 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001964 sltiu v1, v0, 1 | v1 = (v0 < 1) ? 1 : 0;
| }
0x00001968 lw v0, (s0) | v0 = *(s0);
0x0000196c lw t9, -0x7fc0(gp) | t9 = sym.get_cur_ptz_pos;
0x00001970 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00001974 addiu v0, sp, 0x6c | v0 = sp + 0x6c;
0x00001978 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x0000197c addiu s3, sp, 0x60 | s3 = sp + 0x60;
0x00001980 addiu v0, sp, 0x68 | v0 = sp + 0x68;
0x00001984 addiu s4, sp, 0x5c | s4 = sp + 0x5c;
0x00001988 sw v1, 0x18(sp) | *(var_18h_2) = v1;
0x0000198c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001990 addiu a3, sp, 0x64 | a3 = sp + 0x64;
0x00001994 move a2, s3 | a2 = s3;
0x00001998 move a1, s4 | a1 = s4;
0x0000199c bal 0x27c0 | sym_get_cur_ptz_pos ();
0x000019a0 sw v0, 0x54(sp) | *(var_54h) = v0;
0x000019a4 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x000019a8 bnez v0, 0x1f44 | goto label_56;
| }
0x000019ac lw v1, 0xa8(sp) | v1 = *(var_a8h);
0x000019b0 addiu v0, zero, 1 | v0 = 1;
0x000019b4 lw t9, -0x7fbc(gp) | t9 = sym.get_cur_imagesource_orientation;
| if (v1 == v0) {
0x000019b8 beq v1, v0, 0x1f80 | goto label_57;
| }
0x000019bc addiu s5, zero, -0x5a | s5 = -0x5a;
| label_17:
0x000019c0 lw t9, -0x7ebc(gp) | t9 = sym.imp.ptzmath_context_create;
0x000019c4 jalr t9 | t9 ();
0x000019c8 nop |
0x000019cc move s1, v0 | s1 = v0;
0x000019d0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x000019d4 beqz v0, 0x2000 | goto label_58;
| }
0x000019d8 lw t9, -0x7fb8(gp) | t9 = sym.compensate_ptz_pos;
| if (s2 != 0) {
0x000019dc bnez s2, 0x1f28 | goto label_59;
| }
| label_16:
0x000019e0 lw t9, -0x7fb4(gp) | t9 = sym.compensate_ptz_pos_orientation;
0x000019e4 move a3, s5 | a3 = s5;
0x000019e8 move a2, s3 | a2 = s3;
0x000019ec move a1, s4 | a1 = s4;
0x000019f0 move a0, s1 | a0 = s1;
0x000019f4 bal 0x318c | sym_compensate_ptz_pos_orientation ();
0x000019f8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000019fc lw a2, 0x94(sp) | a2 = *(var_94h);
0x00001a00 lw a1, 0x90(sp) | a1 = *(var_90h);
0x00001a04 lw t9, -0x7e94(gp) | t9 = sym.imp.ptzmath_set_pic_dim;
0x00001a08 move a0, s1 | a0 = s1;
0x00001a0c jalr t9 | t9 ();
0x00001a10 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001a14 lw a2, 0x60(sp) | a2 = *(var_60h);
0x00001a18 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00001a1c lw t9, -0x7f48(gp) | t9 = sym.imp.ptzmath_set_pantilt_f;
0x00001a20 move a0, s1 | a0 = s1;
0x00001a24 jalr t9 | t9 ();
0x00001a28 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001a2c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001a30 beqz v0, 0x1e94 | goto label_60;
| }
0x00001a34 lw t9, -0x7ecc(gp) | t9 = sym.imp.ptzmath_get_remote_fov;
0x00001a38 move a0, s1 | a0 = s1;
0x00001a3c jalr t9 | t9 ();
0x00001a40 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001a44 lw a1, 0x98(sp) | a1 = *(var_98h);
0x00001a48 lw t9, -0x7f14(gp) | t9 = sym.imp.ptzmath_set_pic_rot;
0x00001a4c move a0, s1 | a0 = s1;
0x00001a50 jalr t9 | t9 ();
0x00001a54 lbu v0, 0x8c(sp) | v0 = *(var_8ch);
0x00001a58 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001a5c bnez v0, 0x1f94 | goto label_61;
| }
| label_18:
0x00001a60 lw s2, 0x80(sp) | s2 = *(var_80h);
0x00001a64 addiu v0, zero, -1 | v0 = -1;
0x00001a68 lw v0, 0x48(sp) | v0 = *(var_48h);
| if (s2 == v0) {
0x00001a6c beq s2, v0, 0x1cb4 | goto label_62;
| }
| label_15:
0x00001a70 sw s2, 0x48(sp) | *(var_48h) = s2;
| label_10:
0x00001a74 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001a78 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x00001a7c lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x00001a80 lw s5, -0x7fdc(gp) | s5 = *((gp - 8183));
0x00001a84 sltu s4, zero, v0 | s4 = (0 < v0) ? 1 : 0;
0x00001a88 addiu v0, s3, 0x24ac | v0 = s3 + 0x24ac;
0x00001a8c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00001a90 addiu s6, s6, 0x61d8 | s6 += 0x61d8;
0x00001a94 addiu s5, s5, 0x5ccc | s5 += 0x5ccc;
0x00001a98 b 0x1ac8 |
| while (v0 == 0) {
0x00001a9c lw v0, 0x60(sp) | v0 = *(var_60h);
| if (v0 == 0) {
0x00001aa0 beqz v0, 0x1e24 | goto label_63;
| }
| label_6:
0x00001aa4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| label_7:
0x00001aa8 lw t9, -0x7f40(gp) | t9 = sym.imp.puts;
0x00001aac addiu a0, a0, 0x60b4 | a0 += 0x60b4;
0x00001ab0 jalr t9 | t9 ();
0x00001ab4 lw v0, 0x48(sp) | v0 = *(var_48h);
0x00001ab8 addiu s2, s2, 1 | s2++;
0x00001abc slt v0, v0, s2 | v0 = (v0 < s2) ? 1 : 0;
0x00001ac0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00001ac4 bnez v0, 0x1e5c | goto label_64;
| }
0x00001ac8 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001acc lw v0, 0x9c(sp) | v0 = *(var_9ch);
| if (v0 != 0) {
0x00001ad0 beqz v0, 0x1af8 |
0x00001ad4 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x00001ad8 lw t9, -0x7fc8(gp) | t9 = sym.get_cur_image_rotation;
| if (v0 == 0) {
0x00001adc beqz v0, 0x1e00 | goto label_65;
| }
0x00001ae0 lw t9, -0x7f14(gp) | t9 = sym.imp.ptzmath_set_pic_rot;
0x00001ae4 lw a1, 0x98(sp) | a1 = *(var_98h);
0x00001ae8 move a0, s1 | a0 = s1;
0x00001aec jalr t9 | t9 ();
0x00001af0 lw gp, 0x28(sp) | gp = *(var_28h);
| label_12:
0x00001af4 lw v0, 0x9c(sp) | v0 = *(var_9ch);
| }
0x00001af8 beql v0, zero, 0x1a9c |
| }
0x00001afc lw v0, 0x84(sp) | v0 = *(var_84h);
| label_13:
0x00001b00 move fp, zero | fp = 0;
| if (v0 <= 0) {
0x00001b04 blez v0, 0x1aa4 | goto label_6;
| }
0x00001b08 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001b0c sw v0, 0x40(sp) | *(var_40h) = v0;
0x00001b10 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001b14 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00001b18 b 0x1b70 | goto label_66;
| label_8:
0x00001b1c lw v1, 0xa0(sp) | v1 = *(var_a0h);
0x00001b20 sll v0, fp, 2 | v0 = fp << 2;
0x00001b24 addu v0, v1, v0 | v0 = v1 + v0;
0x00001b28 sw fp, 0x1c(sp) | *(var_1ch) = fp;
0x00001b2c sw s2, 0x18(sp) | *(var_18h_2) = s2;
0x00001b30 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00001b34 lw a1, 0xa8(sp) | a1 = *(var_a8h);
0x00001b38 sw v1, 0x14(sp) | *(var_14h_2) = v1;
0x00001b3c lw v0, (v0) | v0 = *(v0);
0x00001b40 lw t9, 0x38(sp) | t9 = *(var_38h);
0x00001b44 move a3, s4 | a3 = s4;
0x00001b48 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001b4c move a2, s1 | a2 = s1;
0x00001b50 addiu a0, sp, 0x88 | a0 = sp + 0x88;
0x00001b54 jalr t9 | t9 ();
0x00001b58 lw gp, 0x28(sp) | gp = *(var_28h);
| label_9:
0x00001b5c lw v0, 0x9c(sp) | v0 = *(var_9ch);
0x00001b60 addiu fp, fp, 2 | fp += 2;
0x00001b64 slt v0, fp, v0 | v0 = (fp < v0) ? 1 : 0;
| if (v0 == 0) {
0x00001b68 beql v0, zero, 0x1aa8 | goto label_7;
| }
0x00001b6c lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| label_66:
0x00001b70 lw v0, 0x84(sp) | v0 = *(var_84h);
0x00001b74 addiu v1, zero, 1 | v1 = 1;
| if (v0 == 0) {
0x00001b78 beqz v0, 0x1b1c | goto label_8;
| }
0x00001b7c sll v1, fp, 2 | v1 = fp << 2;
| if (v0 != v1) {
0x00001b80 bne v0, v1, 0x1fbc | goto label_67;
| }
0x00001b84 lw a0, 0xa4(sp) | a0 = *(var_a4h);
0x00001b88 addu v1, a0, v1 | v1 = a0 + v1;
0x00001b8c lw a0, 0xa8(sp) | a0 = *(var_a8h);
0x00001b90 lw s3, (v1) | s3 = *(v1);
0x00001b94 lw s7, 4(v1) | s7 = *((v1 + 1));
| if (a0 != 0) {
0x00001b98 bnez a0, 0x1cc4 | goto label_68;
| }
0x00001b9c lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00001ba0 lw t9, -0x7ee0(gp) | t9 = sym.imp.ptzmath_to_ptz_f;
| if (v0 == 0) {
0x00001ba4 beqz v0, 0x1ddc | goto label_69;
| }
0x00001ba8 lw t9, -0x7efc(gp) | t9 = sym.imp.ptzmath_get_remote_center;
0x00001bac move a1, s2 | a1 = s2;
0x00001bb0 move a0, s1 | a0 = s1;
0x00001bb4 jalr t9 | t9 ();
0x00001bb8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001bbc move a3, s3 | a3 = s3;
0x00001bc0 addiu a2, sp, 0x7c | a2 = sp + 0x7c;
0x00001bc4 lw t9, -0x7f68(gp) | t9 = sym.imp.ptzmath_to_remote_ptz;
0x00001bc8 addiu a1, sp, 0x78 | a1 = sp + 0x78;
0x00001bcc move a0, s1 | a0 = s1;
0x00001bd0 sw s7, 0x10(sp) | *(var_10h_2) = s7;
0x00001bd4 jalr t9 | t9 ();
0x00001bd8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001bdc lw a0, 0x78(sp) | a0 = *(var_78h);
0x00001be0 lw v0, -0x7f2c(gp) | v0 = *((gp - 8139));
0x00001be4 lw t9, -0x7fb0(gp) | t9 = *(gp);
0x00001be8 lw s0, 0x40(v0) | s0 = *((v0 + 16));
0x00001bec bal 0x3d30 | fcn_00003d30 ();
0x00001bf0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001bf4 move a1, s0 | a1 = s0;
0x00001bf8 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x00001bfc move a0, v0 | a0 = v0;
0x00001c00 bal 0x3990 | fcn_00003990 ();
0x00001c04 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001c08 lw a0, 0x7c(sp) | a0 = *(var_7ch);
0x00001c0c sw v0, 0x70(sp) | *(var_70h) = v0;
0x00001c10 lw t9, -0x7fb0(gp) | t9 = *(gp);
0x00001c14 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00001c18 bal 0x3d30 | fcn_00003d30 ();
0x00001c1c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001c20 move a1, s0 | a1 = s0;
0x00001c24 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x00001c28 move a0, v0 | a0 = v0;
0x00001c2c bal 0x3990 | fcn_00003990 ();
0x00001c30 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001c34 lw v1, 0x30(sp) | v1 = *(var_30h);
0x00001c38 sw v0, 0x74(sp) | *(var_74h) = v0;
| label_11:
0x00001c3c lw t9, -0x7fac(gp) | t9 = *(gp);
0x00001c40 move a0, v1 | a0 = v1;
0x00001c44 bal 0x54d0 | fcn_000054d0 ();
0x00001c48 lw a0, 0x88(sp) | a0 = *(var_88h);
0x00001c4c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001c50 move t2, v0 | t2 = v0;
| if (a0 != 0) {
0x00001c54 bnez a0, 0x1d7c | goto label_70;
| }
| do {
0x00001c58 lw t9, -0x7fac(gp) | t9 = *(gp);
0x00001c5c lw a0, 0x74(sp) | a0 = *(var_74h);
0x00001c60 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00001c64 sw v1, 0x34(sp) | *(var_34h) = v1;
0x00001c68 bal 0x54d0 | fcn_000054d0 ();
0x00001c6c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001c70 lw t2, 0x30(sp) | t2 = *(var_30h);
0x00001c74 lw t3, 0x34(sp) | t3 = *(var_34h);
0x00001c78 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001c7c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00001c80 lw t9, -0x7eac(gp) | t9 = sym.imp.__printf_chk;
0x00001c84 addiu v0, zero, 0x2c | v0 = 0x2c;
0x00001c88 move a2, s5 | a2 = s5;
0x00001c8c sw v1, 0x24(sp) | *(var_24h) = v1;
0x00001c90 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00001c94 sw t2, 0x10(sp) | *(var_10h_2) = t2;
0x00001c98 sw t3, 0x14(sp) | *(var_14h_2) = t3;
| if (fp != 0) {
0x00001c9c movz a2, s6, fp | a2 = s6;
| }
0x00001ca0 addiu a1, a1, 0x60b8 | a1 += str._s_f_c_f;
0x00001ca4 addiu a0, zero, 1 | a0 = 1;
0x00001ca8 jalr t9 | t9 ();
0x00001cac lw gp, 0x28(sp) | gp = *(var_28h);
0x00001cb0 b 0x1b5c | goto label_9;
| label_62:
0x00001cb4 lw t9, -0x7ec8(gp) | t9 = sym.imp.ptzmath_context_delete;
| if (v0 <= 0) {
0x00001cb8 blez v0, 0x1e60 | goto label_71;
| }
0x00001cbc addiu s2, zero, 1 | s2 = 1;
0x00001cc0 b 0x1a74 | goto label_10;
| label_68:
0x00001cc4 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| if (a0 != v0) {
0x00001cc8 bne a0, v0, 0x222c | goto label_72;
| }
0x00001ccc lw t9, -0x7f0c(gp) | t9 = sym.imp.ptzmath_panops_context_create;
0x00001cd0 jalr t9 | t9 ();
0x00001cd4 nop |
0x00001cd8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001cdc addiu a0, zero, 1 | a0 = 1;
0x00001ce0 lw t9, -0x7fc8(gp) | t9 = sym.get_cur_image_rotation;
0x00001ce4 move s0, v0 | s0 = v0;
0x00001ce8 bal 0x2c90 | sym_get_cur_image_rotation ();
0x00001cec lw gp, 0x28(sp) | gp = *(var_28h);
0x00001cf0 move a1, v0 | a1 = v0;
0x00001cf4 lw t9, -0x7ec0(gp) | t9 = sym.imp.ptz_set_panops_rotation;
0x00001cf8 move a0, s0 | a0 = s0;
0x00001cfc jalr t9 | t9 ();
0x00001d00 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d04 lw t9, -0x7fc4(gp) | t9 = sym.get_cur_image_mirror;
0x00001d08 addiu a0, zero, 1 | a0 = 1;
0x00001d0c bal 0x2d08 | sym_get_cur_image_mirror ();
0x00001d10 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d14 move a1, v0 | a1 = v0;
0x00001d18 lw t9, -0x7eec(gp) | t9 = sym.imp.ptz_set_panops_mirror;
0x00001d1c move a0, s0 | a0 = s0;
0x00001d20 jalr t9 | t9 ();
0x00001d24 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d28 addiu a3, sp, 0x74 | a3 = sp + 0x74;
0x00001d2c addiu a2, sp, 0x70 | a2 = sp + 0x70;
0x00001d30 lw t9, -0x7eb8(gp) | t9 = sym.imp.ptzmath_panops_to_ptz_f;
0x00001d34 move a1, s1 | a1 = s1;
0x00001d38 move a0, s0 | a0 = s0;
0x00001d3c sw s7, 0x14(sp) | *(var_14h_2) = s7;
0x00001d40 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00001d44 jalr t9 | t9 ();
0x00001d48 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d4c lw t9, -0x7f70(gp) | t9 = sym.imp.ptzmath_panops_context_delete;
0x00001d50 move a0, s0 | a0 = s0;
0x00001d54 jalr t9 | t9 ();
0x00001d58 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d5c lw v1, 0x70(sp) | v1 = *(var_70h);
0x00001d60 lw t9, -0x7fac(gp) | t9 = *(gp);
0x00001d64 move a0, v1 | a0 = v1;
0x00001d68 bal 0x54d0 | fcn_000054d0 ();
0x00001d6c lw a0, 0x88(sp) | a0 = *(var_88h);
0x00001d70 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001d74 move t2, v0 | t2 = v0;
0x00001d78 beqz a0, 0x1c58 |
| } while (a0 == 0);
| label_70:
0x00001d7c lw v0, 0x40(sp) | v0 = *(var_40h);
0x00001d80 lw t9, -0x7eac(gp) | t9 = sym.imp.__printf_chk;
0x00001d84 sra s0, fp, 1 | s0 = fp >> 1;
0x00001d88 move a2, s0 | a2 = s0;
0x00001d8c addiu a1, v0, 0x60c4 | a1 = v0 + str.____set_var_ptzcoord_pan_d__val__f_____;
0x00001d90 sw t2, 0x10(sp) | *(var_10h_2) = t2;
0x00001d94 addiu a0, zero, 1 | a0 = 1;
0x00001d98 sw v1, 0x14(sp) | *(var_14h_2) = v1;
0x00001d9c jalr t9 | t9 ();
0x00001da0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001da4 lw t9, -0x7fac(gp) | t9 = *(gp);
0x00001da8 lw a0, 0x74(sp) | a0 = *(var_74h);
0x00001dac bal 0x54d0 | fcn_000054d0 ();
0x00001db0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001db4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001db8 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00001dbc lw t9, -0x7eac(gp) | t9 = sym.imp.__printf_chk;
0x00001dc0 sw v1, 0x14(sp) | *(var_14h_2) = v1;
0x00001dc4 move a2, s0 | a2 = s0;
0x00001dc8 addiu a1, v0, 0x60f0 | a1 = v0 + str.____set_var_ptzcoord_tilt_d__val__f_____;
0x00001dcc addiu a0, zero, 1 | a0 = 1;
0x00001dd0 jalr t9 | t9 ();
0x00001dd4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001dd8 b 0x1b5c | goto label_9;
| label_69:
0x00001ddc sw s7, 0x10(sp) | *(var_10h_2) = s7;
0x00001de0 move a3, s3 | a3 = s3;
0x00001de4 addiu a2, sp, 0x74 | a2 = sp + 0x74;
0x00001de8 addiu a1, sp, 0x70 | a1 = sp + 0x70;
0x00001dec move a0, s1 | a0 = s1;
0x00001df0 jalr t9 | t9 ();
0x00001df4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001df8 lw v1, 0x70(sp) | v1 = *(var_70h);
0x00001dfc b 0x1c3c | goto label_11;
| label_65:
0x00001e00 move a0, s2 | a0 = s2;
0x00001e04 bal 0x2c90 | sym_get_cur_image_rotation ();
0x00001e08 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001e0c move a1, v0 | a1 = v0;
0x00001e10 lw t9, -0x7f14(gp) | t9 = sym.imp.ptzmath_set_pic_rot;
0x00001e14 move a0, s1 | a0 = s1;
0x00001e18 jalr t9 | t9 ();
0x00001e1c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001e20 b 0x1af4 | goto label_12;
| label_63:
0x00001e24 lw a1, 0xa8(sp) | a1 = *(var_a8h);
0x00001e28 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00001e2c lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00001e30 lw t9, 0x38(sp) | t9 = *(var_38h);
0x00001e34 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00001e38 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x00001e3c sw s2, 0x18(sp) | *(var_18h_2) = s2;
0x00001e40 move a3, s4 | a3 = s4;
0x00001e44 move a2, s1 | a2 = s1;
0x00001e48 addiu a0, sp, 0x88 | a0 = sp + 0x88;
0x00001e4c jalr t9 | t9 ();
0x00001e50 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001e54 lw v0, 0x9c(sp) | v0 = *(var_9ch);
0x00001e58 b 0x1b00 | goto label_13;
| label_64:
0x00001e5c lw t9, -0x7ec8(gp) | t9 = sym.imp.ptzmath_context_delete;
| label_71:
0x00001e60 move a0, s1 | a0 = s1;
0x00001e64 jalr t9 | t9 ();
0x00001e68 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001e6c lw a0, 0xa0(sp) | a0 = *(var_a0h);
0x00001e70 lw t9, -0x7ed8(gp) | t9 = sym.imp.free;
| do {
0x00001e74 jalr t9 | t9 ();
0x00001e78 nop |
0x00001e7c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001e80 lw t9, -0x7ed8(gp) | t9 = sym.imp.free;
0x00001e84 lw a0, 0xa4(sp) | a0 = *(var_a4h);
0x00001e88 jalr t9 | t9 ();
0x00001e8c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001e90 b 0x15a8 | goto label_14;
| label_60:
0x00001e94 lw t9, -0x7f6c(gp) | t9 = sym.imp.ptzmath_set_horiz_fov_f;
0x00001e98 lw a1, 0x64(sp) | a1 = *(var_64h);
0x00001e9c move a0, s1 | a0 = s1;
0x00001ea0 jalr t9 | t9 ();
0x00001ea4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001ea8 lw s2, 0x68(sp) | s2 = *(var_68h);
0x00001eac move a1, zero | a1 = 0;
0x00001eb0 lw t9, -0x7fd4(gp) | t9 = *(gp);
0x00001eb4 move a0, s2 | a0 = s2;
0x00001eb8 bal 0x3870 | fcn_00003870 ();
0x00001ebc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 > 0) {
0x00001ec0 blez v0, 0x1ed8 |
0x00001ec4 lw t9, -0x7f4c(gp) | t9 = sym.imp.ptzmath_set_vert_fov_f;
0x00001ec8 move a1, s2 | a1 = s2;
0x00001ecc move a0, s1 | a0 = s1;
0x00001ed0 jalr t9 | t9 ();
0x00001ed4 lw gp, 0x28(sp) | gp = *(var_28h);
| }
0x00001ed8 lw t9, -0x7f14(gp) | t9 = sym.imp.ptzmath_set_pic_rot;
0x00001edc lw a1, 0x98(sp) | a1 = *(var_98h);
0x00001ee0 move a0, s1 | a0 = s1;
0x00001ee4 jalr t9 | t9 ();
0x00001ee8 lbu v0, 0x8c(sp) | v0 = *(var_8ch);
0x00001eec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00001ef0 bnez v0, 0x1efc |
0x00001ef4 lw s2, 0x80(sp) | s2 = *(var_80h);
0x00001ef8 b 0x1a70 | goto label_15;
| }
0x00001efc lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001f00 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001f04 lw t9, -0x7e9c(gp) | t9 = sym.imp.__fprintf_chk
0x00001f08 lw a0, (s0) | a0 = *(s0);
0x00001f0c addiu a3, a3, 0x611c | a3 += str.200_OK;
0x00001f10 addiu a2, a2, 0x5c44 | a2 += str.Status:__s_r_nCache_Control:_no_cache_r_nPragma:_no_cache_r_nExpires:_Thu__01_Dec_1994_16:00:00_GMT_r_nContent_Type:_text_plain_r_n_r_n;
0x00001f14 addiu a1, zero, 1 | a1 = 1;
0x00001f18 jalr t9 | t9 ();
0x00001f1c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001f20 lw s2, 0x80(sp) | s2 = *(var_80h);
0x00001f24 b 0x1a70 | goto label_15;
| label_59:
0x00001f28 lw a3, 0x6c(sp) | a3 = *(var_6ch);
0x00001f2c move a2, s3 | a2 = s3;
0x00001f30 move a1, s4 | a1 = s4;
0x00001f34 move a0, v0 | a0 = v0;
0x00001f38 bal 0x2f24 | sym_compensate_ptz_pos ();
0x00001f3c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001f40 b 0x19e0 | goto label_16;
| label_56:
0x00001f44 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001f48 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00001f4c lw a0, (s0) | a0 = *(s0);
0x00001f50 addiu a3, a3, 0x606c | a3 += str.Could_not_fetch_current_ptz_position.;
| label_19:
0x00001f54 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001f58 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x00001f5c addiu t9, t9, 0x2400 | t9 += fcn.00002400;
0x00001f60 addiu a2, a2, 0x5de8 | a2 += str.500_Internal_Server_Error;
0x00001f64 bal 0x2400 | fcn_00002400 ();
0x00001f68 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001f6c addiu v0, zero, 1 | v0 = 1;
0x00001f70 lw a0, 0xa0(sp) | a0 = *(var_a0h);
0x00001f74 lw t9, -0x7ed8(gp) | t9 = sym.imp.free;
0x00001f78 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00001f7c b 0x1e74 |
| } while (1);
| label_57:
0x00001f80 bal 0x2c1c | sym_get_cur_imagesource_orientation ();
0x00001f84 nop |
0x00001f88 move s5, v0 | s5 = v0;
0x00001f8c lw gp, 0x28(sp) | gp = *(var_28h);
0x00001f90 b 0x19c0 | goto label_17;
| label_61:
0x00001f94 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001f98 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00001f9c lw t9, -0x7e9c(gp) | t9 = sym.imp.__fprintf_chk
0x00001fa0 lw a0, (s0) | a0 = *(s0);
0x00001fa4 addiu a3, a3, 0x611c | a3 += str.200_OK;
0x00001fa8 addiu a2, a2, 0x5c44 | a2 += str.Status:__s_r_nCache_Control:_no_cache_r_nPragma:_no_cache_r_nExpires:_Thu__01_Dec_1994_16:00:00_GMT_r_nContent_Type:_text_plain_r_n_r_n;
0x00001fac addiu a1, zero, 1 | a1 = 1;
0x00001fb0 jalr t9 | t9 ();
0x00001fb4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00001fb8 b 0x1a60 | goto label_18;
| label_67:
0x00001fbc lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001fc0 lw t9, -0x7ed0(gp) | t9 = sym.imp.__assert_fail;
0x00001fc4 addiu a3, a3, 0x6170 | a3 += str.main;
0x00001fc8 addiu a2, zero, 0x30b | a2 = 0x30b;
| label_25:
0x00001fcc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001fd0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001fd4 addiu a1, a1, 0x5cd0 | a1 += str.ptzcoordcalc.c;
0x00001fd8 addiu a0, a0, 0x5ce0 | a0 += str.false;
0x00001fdc jalr t9 | t9 ();
| label_38:
0x00001fe0 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001fe4 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00001fe8 addiu a3, a3, 0x5ee4 | a3 += str.Illegal_action_specified.;
0x00001fec b 0x1578 | goto label_2;
| label_33:
0x00001ff0 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001ff4 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00001ff8 addiu a3, a3, 0x5eb4 | a3 += str.No_action_specified.;
0x00001ffc b 0x1578 | goto label_2;
| label_58:
0x00002000 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00002004 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00002008 lw a0, (s0) | a0 = *(s0);
0x0000200c addiu a3, a3, 0x6094 | a3 += str.Could_not_initialize_ptzmath.;
0x00002010 b 0x1f54 | goto label_19;
| label_42:
0x00002014 addiu v0, zero, 1 | v0 = 1;
0x00002018 sw v0, 0x80(sp) | *(var_80h) = v0;
0x0000201c b 0x1744 | goto label_4;
| label_46:
0x00002020 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| if (v0 != 0) {
0x00002024 bnez v0, 0x223c | goto label_73;
| }
0x00002028 sw zero, 0x9c(sp) | *(var_9ch) = 0;
0x0000202c b 0x18fc | goto label_20;
| label_44:
0x00002030 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
| label_45:
0x00002034 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00002038 addiu a3, a3, 0x5fc4 | a3 += str.Error_parsing_camera_number.;
0x0000203c b 0x1578 | goto label_2;
| label_54:
0x00002040 lw t9, -0x7ed8(gp) | t9 = sym.imp.free;
0x00002044 lw a0, 0xa4(sp) | a0 = *(var_a4h);
0x00002048 jalr t9 | t9 ();
0x0000204c lw gp, 0x28(sp) | gp = *(var_28h);
| label_53:
0x00002050 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00002054 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00002058 addiu a3, a3, 0x6034 | a3 += str.Error_parsing_pixel_coordinates.;
0x0000205c b 0x1578 | goto label_2;
| label_47:
0x00002060 lw t9, -0x7ef4(gp) | t9 = sym.imp.strlen;
0x00002064 move a0, fp | a0 = fp;
0x00002068 jalr t9 | t9 ();
0x0000206c lw gp, 0x28(sp) | gp = *(var_28h);
0x00002070 move a0, zero | a0 = 0;
0x00002074 addiu a1, zero, 1 | a1 = 1;
0x00002078 addiu a2, zero, 0x3a | a2 = 0x3a;
| do {
| label_21:
0x0000207c slt a3, a0, v0 | a3 = (a0 < v0) ? 1 : 0;
0x00002080 addu a3, fp, a0 | a3 = fp + a0;
| if (a3 == 0) {
0x00002084 beqz a3, 0x20a4 | goto label_74;
| }
0x00002088 lb a3, (a3) | a3 = *(a3);
| if (a3 == a2) {
0x0000208c beql a3, a2, 0x209c | goto label_75;
| }
0x00002090 addiu a1, a1, 1 | a1++;
0x00002094 addiu a0, a0, 1 | a0++;
0x00002098 b 0x207c |
| } while (1);
| label_75:
0x0000209c addiu a0, a0, 1 | a0++;
0x000020a0 b 0x207c | goto label_21;
| label_74:
0x000020a4 move s4, zero | s4 = 0;
0x000020a8 move a0, zero | a0 = 0;
0x000020ac addiu a2, zero, 0x2c | a2 = 0x2c;
| do {
| label_22:
0x000020b0 slt a3, a0, v0 | a3 = (a0 < v0) ? 1 : 0;
0x000020b4 addu a3, fp, a0 | a3 = fp + a0;
| if (a3 == 0) {
0x000020b8 beqz a3, 0x20d8 | goto label_76;
| }
0x000020bc lb a3, (a3) | a3 = *(a3);
| if (a3 == a2) {
0x000020c0 beql a3, a2, 0x20d0 | goto label_77;
| }
0x000020c4 addiu s4, s4, 1 | s4++;
0x000020c8 addiu a0, a0, 1 | a0++;
0x000020cc b 0x20b0 |
| } while (1);
| label_77:
0x000020d0 addiu a0, a0, 1 | a0++;
0x000020d4 b 0x20b0 | goto label_22;
| label_76:
0x000020d8 lw t9, -0x7f18(gp) | t9 = sym.imp.malloc;
| if (s4 != a1) {
0x000020dc bne s4, a1, 0x2258 | goto label_78;
| }
0x000020e0 sll v0, s4, 1 | v0 = s4 << 1;
0x000020e4 sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x000020e8 sll a0, s4, 3 | a0 = s4 << 3;
0x000020ec jalr t9 | t9 ();
0x000020f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000020f4 sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x000020f8 lw s6, -0x7fdc(gp) | s6 = *((gp - 8183));
0x000020fc addiu s6, s6, 0x600c | s6 += 0x600c;
| do {
0x00002100 lw a2, 0xa0(sp) | a2 = *(var_a0h);
0x00002104 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00002108 sll s5, s1, 3 | s5 = s1 << 3;
0x0000210c addu a2, a2, s5 | a2 += s5;
0x00002110 move a1, s6 | a1 = s6;
0x00002114 move a0, fp | a0 = fp;
0x00002118 jalr t9 | t9 ();
0x0000211c addiu v1, zero, 1 | v1 = 1;
0x00002120 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != v1) {
0x00002124 bne v0, v1, 0x2248 | goto label_79;
| }
0x00002128 lw t9, -0x7eb0(gp) | t9 = sym.imp.strchr;
0x0000212c addiu a1, zero, 0x2c | a1 = 0x2c;
0x00002130 move a0, fp | a0 = fp;
0x00002134 jalr t9 | t9 ();
0x00002138 lw gp, 0x28(sp) | gp = *(var_28h);
0x0000213c lw a2, 0xa0(sp) | a2 = *(var_a0h);
0x00002140 addiu s7, v0, 1 | s7 = v0 + 1;
0x00002144 lw t9, -0x7ea4(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00002148 addiu s5, s5, 4 | s5 += 4;
0x0000214c addu a2, a2, s5 | a2 += s5;
0x00002150 move a1, s6 | a1 = s6;
0x00002154 move a0, s7 | a0 = s7;
0x00002158 jalr t9 | t9 ();
0x0000215c addiu v1, zero, 1 | v1 = 1;
0x00002160 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != v1) {
0x00002164 bne v0, v1, 0x2248 | goto label_79;
| }
0x00002168 lw t9, -0x7eb0(gp) | t9 = sym.imp.strchr;
0x0000216c move a0, s7 | a0 = s7;
0x00002170 addiu a1, zero, 0x3a | a1 = 0x3a;
0x00002174 addiu s1, s1, 1 | s1++;
0x00002178 jalr t9 | t9 ();
0x0000217c slt a0, s1, s4 | a0 = (s1 < s4) ? 1 : 0;
0x00002180 lw gp, 0x28(sp) | gp = *(var_28h);
0x00002184 addiu fp, v0, 1 | fp = v0 + 1;
0x00002188 bnez a0, 0x2100 |
| } while (a0 != 0);
0x0000218c lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00002190 b 0x1900 | goto label_23;
| label_55:
0x00002194 lw t9, -0x7fa8(gp) | t9 = sym.get_cur_ptz_mode;
0x00002198 bal 0x2e7c | sym_get_cur_ptz_mode ();
0x0000219c nop |
0x000021a0 sw v0, 0xa8(sp) | *(var_a8h) = v0;
0x000021a4 lw gp, 0x28(sp) | gp = *(var_28h);
0x000021a8 b 0x1938 | goto label_24;
| label_26:
0x000021ac lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000021b0 lw t9, -0x7f10(gp) | t9 = sym.imp.fwrite;
0x000021b4 move a3, s2 | a3 = s2;
0x000021b8 addiu a2, zero, 0x23 | a2 = 0x23;
0x000021bc addiu a1, zero, 1 | a1 = 1;
0x000021c0 addiu a0, a0, 0x5d70 | a0 += str.Error_parsing_configuration_file._r_n;
0x000021c4 jalr t9 | t9 ();
0x000021c8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000021cc lw t9, -0x7f50(gp) | t9 = sym.imp.g_key_file_free;
0x000021d0 move a0, s1 | a0 = s1;
0x000021d4 jalr t9 | t9 ();
0x000021d8 lw gp, 0x28(sp) | gp = *(var_28h);
0x000021dc addiu v0, zero, 1 | v0 = 1;
0x000021e0 lw a0, 0x80(sp) | a0 = *(var_80h);
0x000021e4 lw t9, -0x7f5c(gp) | t9 = sym.imp.g_error_free;
0x000021e8 sw v0, 0x54(sp) | *(var_54h) = v0;
0x000021ec jalr t9 | t9 ();
0x000021f0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000021f4 b 0x15a8 | goto label_14;
| label_27:
0x000021f8 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000021fc lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00002200 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x00002204 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00002208 addiu a3, a3, 0x5dc8 | a3 += str.Error_parsing_request_string.;
0x0000220c addiu a2, a2, 0x5de8 | a2 += str.500_Internal_Server_Error;
0x00002210 addiu t9, t9, 0x2400 | t9 += fcn.00002400;
0x00002214 move a0, s3 | a0 = s3;
0x00002218 bal 0x2400 | fcn_00002400 ();
0x0000221c addiu v0, zero, 1 | v0 = 1;
0x00002220 lw gp, 0x28(sp) | gp = *(var_28h);
0x00002224 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00002228 b 0x15a8 | goto label_14;
| label_72:
0x0000222c lw t9, -0x7ed0(gp) | t9 = sym.imp.__assert_fail;
0x00002230 addiu a3, a3, 0x6130 | a3 += str.calculate_getpantilt;
0x00002234 addiu a2, zero, 0x285 | a2 = 0x285;
0x00002238 b 0x1fcc | goto label_25;
| label_73:
0x0000223c lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00002240 addiu a3, a3, 0x5ff0 | a3 += str.No_coordinates_specified.;
0x00002244 b 0x1578 | goto label_2;
| label_79:
0x00002248 lw t9, -0x7ed8(gp) | t9 = sym.imp.free;
0x0000224c lw a0, 0xa0(sp) | a0 = *(var_a0h);
0x00002250 jalr t9 | t9 ();
0x00002254 lw gp, 0x28(sp) | gp = *(var_28h);
| label_78:
0x00002258 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x0000225c lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x00002260 addiu a3, a3, 0x6010 | a3 += str.Error_parsing_pan_tilt_coordinates.;
0x00002264 b 0x1578 | goto label_2;
| label_41:
0x00002268 lbu a1, 0x8c(sp) | a1 = *(var_8ch);
0x0000226c addiu a3, a3, 0x5f8c | a3 += str.Illegal_image_rotation_specified.;
0x00002270 b 0x1578 | goto label_2;
| label_48:
0x00002274 lw t9, -0x7ed0(gp) | t9 = sym.imp.__assert_fail;
0x00002278 addiu a3, a3, 0x615c | a3 += str.get_req_parameters;
0x0000227c addiu a2, zero, 0x15f | a2 = 0x15f;
0x00002280 b 0x1fcc | goto label_25;
| label_37:
0x00002284 lw t9, -0x7f24(gp) | t9 = sym.imp.__stack_chk_fail;
0x00002288 jalr t9 | t9 ();
0x0000228c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/ptzcoordcalc.cgi @ 0x27c0 */
| #include <stdint.h>
|
; (fcn) sym.get_cur_ptz_pos () | void get_cur_ptz_pos () {
0x000027c0 lui gp, 2 |
0x000027c4 addiu gp, gp, -0x37b0 |
0x000027c8 addu gp, gp, t9 | gp += t9;
0x000027cc addiu sp, sp, -0xe8 |
0x000027d0 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x000027d4 sw s0, 0xc0(sp) | *(var_c0h) = s0;
0x000027d8 lw s0, -0x7f04(gp) | s0 = *((gp - 8129));
0x000027dc addiu v0, v1, 0x627c | v0 = v1 + str.PTZ_POSITION_ISXX;
0x000027e0 lw t0, 0x104(sp) | t0 = *(arg_104h);
0x000027e4 lw t5, 0x627c(v1) | t5 = *(v1);
0x000027e8 lw t4, 4(v0) | t4 = *((v0 + 1));
0x000027ec lhu v1, 0x10(v0) | v1 = *((v0 + 8));
0x000027f0 lw t6, (s0) | t6 = *(s0);
0x000027f4 lw t3, 8(v0) | t3 = *((v0 + 2));
0x000027f8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000027fc sw t0, 0x24(sp) | *(var_24h) = t0;
0x00002800 move t0, zero | t0 = 0;
0x00002804 lw t2, 0xc(v0) | t2 = *((v0 + 3));
0x00002808 sw s7, 0xdc(sp) | *(var_dch) = s7;
0x0000280c sw s5, 0xd4(sp) | *(var_d4h) = s5;
0x00002810 sw s4, 0xd0(sp) | *(var_d0h) = s4;
0x00002814 sw s3, 0xcc(sp) | *(var_cch) = s3;
0x00002818 sw ra, 0xe4(sp) | *(var_e4h) = ra;
0x0000281c sw fp, 0xe0(sp) | *(var_e0h) = fp;
0x00002820 sw s6, 0xd8(sp) | *(var_d8h) = s6;
0x00002824 sw s2, 0xc8(sp) | *(var_c8h) = s2;
0x00002828 sw s1, 0xc4(sp) | *(var_c4h) = s1;
0x0000282c lw s5, 0xf8(sp) | s5 = *(arg_f8h);
0x00002830 lw s4, 0xfc(sp) | s4 = *(arg_fch);
0x00002834 lbu s3, 0x100(sp) | s3 = *(arg_100h);
0x00002838 sw t6, 0xbc(sp) | *(var_bch) = t6;
0x0000283c sw t0, 0x28(sp) | *(var_28h) = t0;
0x00002840 sw t0, 0x2c(sp) | *(var_2ch) = t0;
0x00002844 sw t0, 0x30(sp) | *(var_30h) = t0;
0x00002848 sw t0, 0x34(sp) | *(var_34h) = t0;
0x0000284c sw t0, 0x38(sp) | *(var_38h) = t0;
0x00002850 sw t5, 0xa8(sp) | *(var_a8h) = t5;
0x00002854 sw t4, 0xac(sp) | *(var_ach) = t4;
0x00002858 sw t3, 0xb0(sp) | *(var_b0h) = t3;
0x0000285c sh v1, 0xb8(sp) | *(var_b8h) = v1;
0x00002860 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00002864 addiu v0, zero, 4 | v0 = 4;
0x00002868 addiu v1, v1, 0x618c | v1 += 0x618c;
0x0000286c sw v1, 0x40(sp) | *(var_40h) = v1;
0x00002870 addiu v1, sp, 0x28 | v1 = sp + 0x28;
0x00002874 sw v1, 0x48(sp) | *(var_48h) = v1;
0x00002878 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x0000287c sw v0, 0x44(sp) | *(var_44h) = v0;
0x00002880 addiu v1, v1, 0x6194 | v1 += str.TILT_DEG;
0x00002884 sw v1, 0x50(sp) | *(var_50h) = v1;
0x00002888 addiu v1, sp, 0x2c | v1 = sp + 0x2c;
0x0000288c sw v1, 0x58(sp) | *(var_58h) = v1;
0x00002890 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x00002894 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00002898 addiu v1, v1, 0x61a0 | v1 += str.ZOOM_MAG;
0x0000289c sw v1, 0x60(sp) | *(var_60h) = v1;
0x000028a0 addiu v1, sp, 0x30 | v1 = sp + 0x30;
0x000028a4 sw v1, 0x68(sp) | *(var_68h) = v1;
0x000028a8 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x000028ac sw v0, 0x64(sp) | *(var_64h) = v0;
0x000028b0 sw v0, 0x74(sp) | *(var_74h) = v0;
0x000028b4 sw v0, 0x84(sp) | *(var_84h) = v0;
0x000028b8 addiu v0, sp, 0x38 | v0 = sp + 0x38;
0x000028bc addiu v1, v1, 0x61ac | v1 += str.ZOOM_HFOV;
0x000028c0 sw v0, 0x88(sp) | *(var_88h) = v0;
0x000028c4 addiu v0, sp, 0x40 | v0 = sp + 0x40;
0x000028c8 sw v1, 0x70(sp) | *(var_70h) = v1;
0x000028cc sw v0, 0x90(sp) | *(var_90h) = v0;
0x000028d0 addiu v1, sp, 0x34 | v1 = sp + 0x34;
0x000028d4 addiu v0, sp, 0x50 | v0 = sp + 0x50;
0x000028d8 sw v1, 0x78(sp) | *(var_78h) = v1;
0x000028dc sw v0, 0x94(sp) | *(var_94h) = v0;
0x000028e0 lw v1, -0x7fdc(gp) | v1 = *((gp - 8183));
0x000028e4 addiu v0, sp, 0x70 | v0 = sp + 0x70;
0x000028e8 move s7, a0 | s7 = a0;
0x000028ec sw v0, 0x98(sp) | *(var_98h) = v0;
0x000028f0 addiu a0, a0, -1 | a0 += -1;
0x000028f4 addiu v0, sp, 0x80 | v0 = sp + 0x80;
0x000028f8 addiu v1, v1, 0x61b8 | v1 += str.ZOOM_VFOV;
0x000028fc sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x00002900 sltiu t1, a0, 0x63 | t1 = (a0 < 0x63) ? 1 : 0;
0x00002904 addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x00002908 sw t2, 0xb4(sp) | *(var_b4h) = t2;
0x0000290c sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00002910 sw zero, 0x5c(sp) | *(var_5ch) = 0;
0x00002914 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00002918 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x0000291c sw zero, 0x8c(sp) | *(var_8ch) = 0;
0x00002920 sw v1, 0x80(sp) | *(var_80h) = v1;
0x00002924 sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x00002928 sw zero, 0xa4(sp) | *(var_a4h) = 0;
| if (t1 == 0) {
0x0000292c beqz t1, 0x2b98 | goto label_4;
| }
0x00002930 move s2, a1 | s2 = a1;
0x00002934 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00002938 lw t9, -0x7f34(gp) | t9 = sym.imp.ptz_parhand_get_bool;
0x0000293c move s1, a2 | s1 = a2;
0x00002940 addiu a1, a1, 0x61dc | a1 += str.root.Properties.PTZ.DigitalPTZ;
0x00002944 move a2, a0 | a2 = a0;
0x00002948 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x0000294c addiu a0, sp, 0x3c | a0 = sp + 0x3c;
0x00002950 move s6, a3 | s6 = a3;
0x00002954 jalr t9 | t9 ();
0x00002958 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0000295c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00002960 bnez v0, 0x2a64 | goto label_5;
| }
0x00002964 move fp, zero | fp = 0;
| do {
0x00002968 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x0000296c lw t9, -0x7f54(gp) | t9 = sym.imp.__sprintf_chk;
0x00002970 addiu a3, a3, 0x5f68 | a3 += 0x5f68;
0x00002974 addiu a2, zero, 3 | a2 = 3;
0x00002978 addiu a1, zero, 1 | a1 = 1;
0x0000297c addiu a0, sp, 0xb7 | a0 = sp + 0xb7;
0x00002980 sw s7, 0x10(sp) | *(var_10h_2) = s7;
0x00002984 jalr t9 | t9 ();
0x00002988 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000298c move a2, zero | a2 = 0;
0x00002990 addiu a1, sp, 0x90 | a1 = sp + 0x90;
0x00002994 lw t9, -0x7f64(gp) | t9 = sym.imp.sc_get_group;
0x00002998 addiu a0, sp, 0xa8 | a0 = sp + 0xa8;
0x0000299c jalr t9 | t9 ();
0x000029a0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000029a4 bltz v0, 0x2be8 | goto label_6;
| }
0x000029a8 lw a0, 0x64(sp) | a0 = *(var_64h);
| if (s3 == 0) {
0x000029ac beqz s3, 0x2a84 | goto label_7;
| }
0x000029b0 lw a0, 0x44(sp) | a0 = *(var_44h);
0x000029b4 addiu v1, zero, -1 | v1 = -1;
0x000029b8 addiu v0, v0, -1 | v0 += -1;
| if (a0 != v1) {
0x000029bc bnel a0, v1, 0x29c0 |
| }
0x000029c0 lw a0, 0x54(sp) | a0 = *(var_54h);
0x000029c4 addiu v1, zero, -1 | v1 = -1;
0x000029c8 addiu v0, v0, -1 | v0 += -1;
| if (a0 != v1) {
0x000029cc bnel a0, v1, 0x29d0 |
| }
0x000029d0 addiu v1, zero, 1 | v1 = 1;
0x000029d4 addiu v1, zero, 3 | v1 = 3;
| if (v0 == v1) {
0x000029d8 beq v0, v1, 0x2b00 | goto label_8;
| }
0x000029dc lw v1, 0x74(sp) | v1 = *(var_74h);
| if (v0 != v1) {
0x000029e0 bne v0, v1, 0x2bc0 | goto label_9;
| }
0x000029e4 addiu v0, zero, -1 | v0 = -1;
0x000029e8 lw v1, 0x84(sp) | v1 = *(var_84h);
| if (v1 == v0) {
0x000029ec beq v1, v0, 0x2b70 | goto label_10;
| }
0x000029f0 lw v1, 0x64(sp) | v1 = *(var_64h);
| if (v1 == v0) {
0x000029f4 beq v1, v0, 0x2b70 | goto label_10;
| }
0x000029f8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| if (v1 == v0) {
0x000029fc beq v1, v0, 0x2b74 | goto label_11;
| }
0x00002a00 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00002a04 sw v0, (s6) | *(s6) = v0;
0x00002a08 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00002a0c sw v0, (s5) | *(s5) = v0;
0x00002a10 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00002a14 sw v0, (s4) | *(s4) = v0;
| label_2:
0x00002a18 move v1, zero | v1 = 0;
| label_0:
0x00002a1c sw v1, (s2) | *(s2) = v1;
0x00002a20 move v0, zero | v0 = 0;
0x00002a24 sw v1, (s1) | *(s1) = v1;
| label_1:
0x00002a28 lw a0, 0xbc(sp) | a0 = *(var_bch);
0x00002a2c lw v1, (s0) | v1 = *(s0);
0x00002a30 lw ra, 0xe4(sp) | ra = *(var_e4h);
| if (a0 != v1) {
0x00002a34 bne a0, v1, 0x2c10 | goto label_12;
| }
0x00002a38 lw fp, 0xe0(sp) | fp = *(var_e0h);
0x00002a3c lw s7, 0xdc(sp) | s7 = *(var_dch);
0x00002a40 lw s6, 0xd8(sp) | s6 = *(var_d8h);
0x00002a44 lw s5, 0xd4(sp) | s5 = *(var_d4h);
0x00002a48 lw s4, 0xd0(sp) | s4 = *(var_d0h);
0x00002a4c lw s3, 0xcc(sp) | s3 = *(var_cch);
0x00002a50 lw s2, 0xc8(sp) | s2 = *(var_c8h);
0x00002a54 lw s1, 0xc4(sp) | s1 = *(var_c4h);
0x00002a58 lw s0, 0xc0(sp) | s0 = *(var_c0h);
0x00002a5c addiu sp, sp, 0xe8 |
0x00002a60 jr ra | return v0;
| label_5:
0x00002a64 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002a68 addiu fp, zero, 1 | fp = 1;
0x00002a6c addiu v0, v0, 0x61fc | v0 += str.ZOOM_MASK_HFOV;
0x00002a70 sw v0, 0x70(sp) | *(var_70h) = v0;
0x00002a74 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00002a78 addiu v0, v0, 0x620c | v0 += str.ZOOM_MASK_VFOV;
0x00002a7c sw v0, 0x80(sp) | *(var_80h) = v0;
0x00002a80 b 0x2968 |
| } while (1);
| label_7:
0x00002a84 addiu v1, zero, -1 | v1 = -1;
0x00002a88 addiu v0, v0, -1 | v0 += -1;
| if (a0 != v1) {
0x00002a8c bnel a0, v1, 0x2a90 |
| }
0x00002a90 addiu v1, zero, 3 | v1 = 3;
0x00002a94 addiu v1, zero, 4 | v1 = 4;
| if (v0 == v1) {
0x00002a98 beq v0, v1, 0x2b28 | goto label_13;
| }
0x00002a9c lw v1, 0x44(sp) | v1 = *(var_44h);
| if (v0 != v1) {
0x00002aa0 bne v0, v1, 0x2bc0 | goto label_9;
| }
0x00002aa4 addiu v0, zero, -1 | v0 = -1;
0x00002aa8 lw v1, 0x54(sp) | v1 = *(var_54h);
| if (v1 == v0) {
0x00002aac beq v1, v0, 0x2b70 | goto label_10;
| }
0x00002ab0 lw v1, 0x74(sp) | v1 = *(var_74h);
| if (v1 == v0) {
0x00002ab4 beq v1, v0, 0x2b70 | goto label_10;
| }
0x00002ab8 lw v1, 0x84(sp) | v1 = *(var_84h);
| if (v1 == v0) {
0x00002abc beq v1, v0, 0x2b70 | goto label_10;
| }
0x00002ac0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| if (v1 == v0) {
0x00002ac4 beq v1, v0, 0x2b74 | goto label_11;
| }
0x00002ac8 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00002acc sw v0, (s2) | *(s2) = v0;
0x00002ad0 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00002ad4 sw v0, (s1) | *(s1) = v0;
0x00002ad8 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00002adc sw v0, (s6) | *(s6) = v0;
0x00002ae0 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00002ae4 sw v0, (s5) | *(s5) = v0;
0x00002ae8 move v0, zero | v0 = 0;
0x00002aec sw v0, (s4) | *(s4) = v0;
| label_3:
0x00002af0 move v1, zero | v1 = 0;
| if (fp != 0) {
0x00002af4 bnez fp, 0x2a1c | goto label_0;
| }
0x00002af8 move v0, zero | v0 = 0;
0x00002afc b 0x2a28 | goto label_1;
| label_8:
0x00002b00 lw v1, 0x74(sp) | v1 = *(var_74h);
0x00002b04 addiu v0, zero, -1 | v0 = -1;
0x00002b08 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| if (v1 != v0) {
0x00002b0c beq v1, v0, 0x2b74 |
0x00002b10 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00002b14 sw v0, (s6) | *(s6) = v0;
0x00002b18 move v0, zero | v0 = 0;
0x00002b1c sw v0, (s5) | *(s5) = v0;
0x00002b20 sw v0, (s4) | *(s4) = v0;
0x00002b24 b 0x2a18 | goto label_2;
| label_13:
0x00002b28 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00002b2c addiu v0, zero, -1 | v0 = -1;
0x00002b30 lw v1, 0x54(sp) | v1 = *(var_54h);
| if (v1 != v0) {
0x00002b34 beq v1, v0, 0x2b70 |
0x00002b38 lw v1, 0x74(sp) | v1 = *(var_74h);
| if (v1 == v0) {
0x00002b3c beq v1, v0, 0x2b70 | goto label_10;
| }
0x00002b40 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| if (v1 == v0) {
0x00002b44 beq v1, v0, 0x2b74 | goto label_11;
| }
0x00002b48 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00002b4c sw v0, (s2) | *(s2) = v0;
0x00002b50 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00002b54 sw v0, (s1) | *(s1) = v0;
0x00002b58 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00002b5c sw v0, (s6) | *(s6) = v0;
0x00002b60 move v0, zero | v0 = 0;
0x00002b64 sw v0, (s5) | *(s5) = v0;
0x00002b68 sw v0, (s4) | *(s4) = v0;
0x00002b6c b 0x2af0 | goto label_3;
| }
| label_10:
0x00002b70 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| }
| label_11:
0x00002b74 lw t9, -0x7f10(gp) | t9 = sym.imp.fwrite;
0x00002b78 lw a3, 0x24(sp) | a3 = *(var_24h);
0x00002b7c addiu a2, zero, 0x20 | a2 = 0x20;
0x00002b80 addiu a1, zero, 1 | a1 = 1;
0x00002b84 addiu a0, a0, 0x6234 | a0 += str.Error_getting_data_from_cache._r_n;
0x00002b88 jalr t9 | t9 ();
0x00002b8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00002b90 addiu v0, zero, -1 | v0 = -1;
0x00002b94 b 0x2a28 | goto label_1;
| label_4:
0x00002b98 lw a2, -0x7fdc(gp) | a2 = *((gp - 8183));
0x00002b9c lw t9, -0x7e9c(gp) | t9 = sym.imp.__fprintf_chk
0x00002ba0 lw a0, 0x24(sp) | a0 = *(var_24h);
0x00002ba4 move a3, s7 | a3 = s7;
0x00002ba8 addiu a2, a2, 0x61c4 | a2 += str.Invalid_camera__d._r_n;
0x00002bac addiu a1, zero, 1 | a1 = 1;
0x00002bb0 jalr t9 | t9 ();
0x00002bb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002bb8 addiu v0, zero, -1 | v0 = -1;
0x00002bbc b 0x2a28 | goto label_1;
| label_9:
0x00002bc0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00002bc4 lw t9, -0x7f10(gp) | t9 = sym.imp.fwrite;
0x00002bc8 lw a3, 0x24(sp) | a3 = *(var_24h);
0x00002bcc addiu a2, zero, 0x22 | a2 = 0x22;
0x00002bd0 addiu a1, zero, 1 | a1 = 1;
0x00002bd4 addiu a0, a0, 0x6258 | a0 += str.Wrong_amount_of_data_from_cache._r_n;
0x00002bd8 jalr t9 | t9 ();
0x00002bdc lw gp, 0x18(sp) | gp = *(var_18h);
0x00002be0 addiu v0, zero, -1 | v0 = -1;
0x00002be4 b 0x2a28 | goto label_1;
| label_6:
0x00002be8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00002bec lw t9, -0x7f10(gp) | t9 = sym.imp.fwrite;
0x00002bf0 lw a3, 0x24(sp) | a3 = *(var_24h);
0x00002bf4 addiu a2, zero, 0x15 | a2 = 0x15;
0x00002bf8 addiu a1, zero, 1 | a1 = 1;
0x00002bfc addiu a0, a0, 0x621c | a0 += str.No_data_from_cache._r_n;
0x00002c00 jalr t9 | t9 ();
0x00002c04 lw gp, 0x18(sp) | gp = *(var_18h);
0x00002c08 addiu v0, zero, -1 | v0 = -1;
0x00002c0c b 0x2a28 | goto label_1;
| label_12:
0x00002c10 lw t9, -0x7f24(gp) | t9 = sym.imp.__stack_chk_fail;
0x00002c14 jalr t9 | t9 ();
0x00002c18 nop |
| }
[*] Function fprintf used 6 times ptzcoordcalc.cgi