[*] Binary protection state of igmpproxy

  	RELRO          CANARY            NX           PIE          RPATH        RUNPATH      SYMBOLS      
  	No RELRO       No Canary found   NX disabled  No PIE       No RPATH     No RUNPATH   No Symbols


[*] Function strcpy tear down of igmpproxy

sw ra, 0x1c(sp)
sw gp, 0x10(sp)
lw t9, -sym.verbose(gp)
lui a0, 0x41
lui a1, 0x41
addiu a0, a0, -0x5754
jalr t9
addiu a1, a1, -0x5664
lw gp, 0x10(sp)
lw ra, 0x1c(sp)
j 0x401da4
addiu sp, sp, 0x20
lui gp, 0x42
addiu sp, sp, -0x90
addiu gp, gp, 0x35d0
sw ra, 0x8c(sp)
sw s1, 0x88(sp)
sw s0, 0x84(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
sw a0, 0x18(sp)
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x20
lw gp, 0x10(sp)
addiu s0, sp, 0x40
lw t9, -sym.imp.memset(gp)
move a0, s0
move a1, zero
jalr t9
addiu a2, zero, 0x40
lw gp, 0x10(sp)
lui a1, 0x41
lw t9, -sym.imp.memcpy(gp)
addiu a2, zero, 0x10
move a0, s0
jalr t9
addiu a1, a1, -0x5700
lui v0, 0x41
lw gp, 0x10(sp)
addiu v1, v0, -0x56e0
--
sw s1, 0x47c(sp)
sw s0, 0x478(sp)
sw gp, 0x18(sp)
addiu v0, zero, 0x10
sw v0, 0x20(sp)
addiu v0, sp, 0x24
lw t9, -sym.imp.recvfrom(gp)
sw v0, 0x10(sp)
addiu s3, sp, 0x74
addiu v0, sp, 0x20
sw v0, 0x14(sp)
move a1, s3
addiu a2, zero, 0x400
jalr t9
move a3, zero
lw gp, 0x18(sp)
blez v0, 0x402838
move s0, v0
lw s4, 0xc(s3)
lw t9, -sym.imp.inet_ntoa(gp)
lw s6, 0x10(s3)
jalr t9
move a0, s4
lw gp, 0x18(sp)
addiu s7, sp, 0x34
lw t9, -sym.imp.strcpy(gp)
move a1, v0
jalr t9
move a0, s7
lw gp, 0x18(sp)
lw a0, 0x10(s3)
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s5, sp, 0x54
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s5
lbu v0, 9(s3)
lw gp, 0x18(sp)
bnez v0, 0x4025b0
nop
lw t9, -sym.vifs_is_upstream(gp)
lbu a0, 0xa(s3)
jalr t9
nop
lw gp, 0x18(sp)
beqz v0, 0x402838
nop
lbu a2, 0xa(s3)
lw t9, -sym.mrt_activate_route(gp)
lw a0, 0xc(s3)
lw a1, 0x10(s3)
b 0x40275c
nop
--
sw s4, 0x28(sp)
sw s3, 0x24(sp)
sw s2, 0x20(sp)
sw s1, 0x1c(sp)
sw s0, 0x18(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.socket(gp)
move s3, a0
move s4, a1
move s2, a2
addiu a0, zero, 2
addiu a1, zero, 1
jalr t9
move a2, zero
lw gp, 0x10(sp)
move s1, v0
bltz v0, 0x402b08
addiu s0, zero, -1
lw t9, -sym.imp.memset(gp)
addiu a2, zero, 0x20
move a0, s2
jalr t9
move a1, zero
lw gp, 0x10(sp)
move a1, s3
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s2
lw gp, 0x10(sp)
move a1, s4
lw t9, -sym.imp.ioctl(gp)
move a2, s2
jalr t9
move a0, s1
lw gp, 0x10(sp)
move a0, s1
lw t9, -sym.imp.close(gp)
nop
jalr t9
move s0, v0
lw gp, 0x10(sp)
lw ra, 0x2c(sp)
move v0, s0
lw s4, 0x28(sp)
lw s3, 0x24(sp)
--
sw s1, 0x5c(sp)
sw s0, 0x58(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.puts(gp)
lui a0, 0x41
jalr t9
addiu a0, a0, -0x5650
lui v0, 0x42
addiu s1, v0, -0x47b8
lui v0, 0x41
addiu fp, v0, -0x55b0
lui v0, 0x41
lw gp, 0x10(sp)
addiu s7, v0, -0x559c
move s2, zero
lui s6, 0x42
addiu s5, zero, 0x2c
addiu s4, sp, 0x18
b 0x403378
addiu s3, sp, 0x38
lw a0, 0x10(s0)
jalr t9
nop
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s4
lw gp, 0x10(sp)
lw a0, 0x14(s0)
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
nop
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s3
lw gp, 0x10(sp)
lui a0, 0x41
lw t9, -sym.imp.printf(gp)
move a2, s0
move a1, s2
jalr t9
addiu a0, a0, -0x5610
lw gp, 0x10(sp)
lui a0, 0x41
lw t9, -sym.imp.printf(gp)
addiu a0, a0, -0x55f8
jalr t9
move a1, s4
lw gp, 0x10(sp)
lui a0, 0x41
lw t9, -sym.imp.printf(gp)
addiu a0, a0, -0x55e8
--
addiu v0, zero, 0x22
lui a2, 0x40
move a0, zero
sw v0, 0x28(s0)
sb s3, 0x18(s0)
sw s4, 0x1c(s0)
addiu a2, a2, 0x364c
move a1, zero
jalr t9
move a3, s2
lw a0, 0x10(s0)
lw gp, 0x10(sp)
sw v0, 0x20(s0)
beqz a0, 0x403b54
sw s5, 0x24(s0)
lw v0, 0x14(s0)
nop
beqz v0, 0x403b54
nop
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
nop
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x18
lw gp, 0x10(sp)
lw a0, 0x14(s0)
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
nop
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x38
lw v0, 0x20(s0)
lw gp, 0x10(sp)
beqz v0, 0x403b54
move a1, s3
lw t9, -sym.mrtapi_add_vif(gp)
lw a3, 0x10(s0)
move a2, s4
jalr t9
andi a0, s2, 0xffff
lw gp, 0x10(sp)
beqz v0, 0x403a10
nop
lw a0, 0x20(s0)
lw t9, -sym.sloop_cancel_timeout(gp)
nop
jalr t9
addiu s1, zero, -1
--
move s0, zero
b 0x403acc
addiu s1, zero, -1
lui gp, 0x42
addiu sp, sp, -0x328
addiu gp, gp, 0x35d0
sw ra, 0x324(sp)
sw s7, 0x320(sp)
sw s6, 0x31c(sp)
sw s5, 0x318(sp)
sw s4, 0x314(sp)
sw s3, 0x310(sp)
sw s2, 0x30c(sp)
sw s1, 0x308(sp)
sw s0, 0x304(sp)
sw gp, 0x18(sp)
lw t9, -sym.imp.inet_ntoa(gp)
move s5, a2
move s7, a3
move s4, a1
lw s3, 0x338(sp)
jalr t9
move s6, a0
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x38
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
move a0, s4
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x58
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
move a0, s3
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x78
lw gp, 0x18(sp)
addiu a0, sp, 0xf8
lw t9, -sym.imp.memset(gp)
move a1, zero
jalr t9
addiu a2, zero, 0x204
lw gp, 0x18(sp)
bnez s3, 0x403c60
addiu v0, zero, 0x494
sw v0, 0x24(sp)
addiu v0, sp, 0x24
sw v0, 0x20(sp)
b 0x403c78
addiu s1, zero, 4
lw t9, -sym.find_ip_opt(gp)
move a0, s3
jalr t9
addiu a1, sp, 0x20
lw gp, 0x18(sp)
andi s1, v0, 0xffff
lw t9, -sym.verbose(gp)
lui a1, 0x41
lui a0, 0x41
move a2, s1
move a3, s3
addiu a1, a1, -0x53e0
jalr t9
addiu a0, a0, -0x54d0
lw gp, 0x18(sp)
move a0, s6
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s0, s1, 0x14
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x98
lw gp, 0x18(sp)
move a0, s4
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s2, sp, 0xf8
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0xb8
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
move a0, s3
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0xd8
lw v0, 0xf8(sp)
addiu v1, zero, -0xf1
and v0, v0, v1
addiu a0, zero, -0x10
ori v0, v0, 0x40
srl v1, s0, 2
and v0, v0, a0
andi v1, v1, 0xf
or v0, v0, v1
sw v0, 0xf8(sp)
lw gp, 0x18(sp)
addiu v0, zero, 2
lw a1, 0x20(sp)
sb v0, 9(s2)
addiu v0, zero, -0x40
lw t9, -sym.imp.memcpy(gp)
sb v0, 1(s2)
--
lw s0, 0x18(sp)
jr ra
addiu sp, sp, 0x20
lui gp, 0x42
addiu sp, sp, -0x2d0
addiu gp, gp, 0x35d0
sw ra, 0x2cc(sp)
sw s7, 0x2c8(sp)
sw s6, 0x2c4(sp)
sw s5, 0x2c0(sp)
sw s4, 0x2bc(sp)
sw s3, 0x2b8(sp)
sw s2, 0x2b4(sp)
sw s1, 0x2b0(sp)
sw s0, 0x2ac(sp)
sw gp, 0x20(sp)
lw t9, -sym.imp.inet_ntoa(gp)
move s5, a2
move s6, a3
move s4, a1
lw s3, 0x2e0(sp)
jalr t9
move s7, a0
lw gp, 0x20(sp)
addiu s2, sp, 0x40
lw t9, -sym.imp.strcpy(gp)
move a1, v0
jalr t9
move a0, s2
lw gp, 0x20(sp)
move a0, s4
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s1, sp, 0x60
lw gp, 0x20(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s1
lw gp, 0x20(sp)
move a0, s3
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s0, sp, 0x80
lw gp, 0x20(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s0
jal sym.igmp_type
move a0, s5
lw gp, 0x20(sp)
lui a0, 0x41
lw t9, -sym.verbose(gp)
lui a1, 0x41
move a2, v0
addiu a0, a0, -0x5428
addiu a1, a1, -0x53d0
move a3, s2
sw s1, 0x10(sp)
sw s0, 0x14(sp)
jalr t9
sw s6, 0x18(sp)
lw gp, 0x20(sp)
addiu a0, sp, 0xa0
lw t9, -sym.imp.memset(gp)
--
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
addiu a0, a0, -0x5318
jr t9
addiu sp, sp, 0x40
lui gp, 0x42
addiu sp, sp, -0x138
addiu gp, gp, 0x35d0
sw ra, 0x134(sp)
sw s5, 0x130(sp)
sw s4, 0x12c(sp)
sw s3, 0x128(sp)
sw s2, 0x124(sp)
sw s1, 0x120(sp)
sw s0, 0x11c(sp)
sw gp, 0x50(sp)
lw v0, 8(a0)
lw t9, -sym.imp.inet_ntoa(gp)
lw v0, 0x10(v0)
move s2, a0
lw a0, 8(v0)
jalr t9
addiu s5, sp, 0x58
lw gp, 0x50(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s5
lw gp, 0x50(sp)
lw a0, 0xc(s2)
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s4, sp, 0x78
lw gp, 0x50(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s4
lw gp, 0x50(sp)
lw a1, 8(s2)
lw v0, -obj.o_helperscript(gp)
lw v1, 0x10(a1)
lw s3, (v0)
lw a0, 8(v1)
beqz s3, 0x4048c8
srl v0, a0, 0x18
sll s0, a0, 0x18
srl v1, a0, 8
andi v1, v1, 0xff00
or s0, s0, v0
andi v0, a0, 0xff00
or s0, s0, v1
sll v0, v0, 8
lw t9, -sym.vifs_get_name(gp)
lhu a0, 0x14(a1)
--
sw s3, 0x94(sp)
sw s2, 0x90(sp)
sw s1, 0x8c(sp)
sw s0, 0x88(sp)
sw gp, 0x20(sp)
lui v0, 0x41
addiu s7, v0, -0x5264
lui v0, 0x41
move s1, a0
addiu s6, v0, -0x5060
addiu s2, a0, 0xc
addiu s5, sp, 0x48
addiu s4, sp, 0x68
b 0x404bb0
addiu s3, sp, 0x28
lw v1, 4(s0)
lw v0, (s0)
lw a0, 8(s0)
sw v0, (v1)
sw v1, 4(v0)
sw zero, (s0)
jalr t9
sw zero, 4(s0)
lw gp, 0x20(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s5
lw gp, 0x20(sp)
lw a0, 8(s1)
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
nop
lw gp, 0x20(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s4
lw gp, 0x20(sp)
lhu a0, 0xc(s0)
lw t9, -sym.vifs_get_name(gp)
nop
jalr t9
nop
lw gp, 0x20(sp)
sw v0, 0x10(sp)
lhu v0, 0xc(s0)
lw t9, -sym.verbose(gp)
move a3, s4
sw v0, 0x14(sp)
move a0, s7
move a1, s6
jalr t9
move a2, s5
lw gp, 0x20(sp)
--
lw s7, 0x44(sp)
lw s6, 0x40(sp)
lw s5, 0x3c(sp)
lw s4, 0x38(sp)
lw s3, 0x34(sp)
lw s2, 0x30(sp)
lw s1, 0x2c(sp)
lw s0, 0x28(sp)
jr ra
addiu sp, sp, 0x50
lui gp, 0x42
addiu sp, sp, -0x90
addiu gp, gp, 0x35d0
sw ra, 0x8c(sp)
sw s3, 0x88(sp)
sw s2, 0x84(sp)
sw s1, 0x80(sp)
sw s0, 0x7c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.inet_ntoa(gp)
move s1, a2
jalr t9
move s0, a1
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x18
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
lui s2, 0x42
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x38
lw gp, 0x10(sp)
move a0, s1
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
move s0, zero
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x58
lw gp, 0x10(sp)
b 0x405058
addiu s3, s2, -0x4640
lw a0, 8(s0)
beqz s1, 0x40504c
move a1, a0
bne s1, a0, 0x405058
move a0, s1
move a1, s1
jal 0x404dfc
nop
lw gp, 0x10(sp)
beqz s0, 0x40506c
nop
lw s0, (s0)
b 0x405074
nop
--
lw s1, 0x80(sp)
lw s0, 0x7c(sp)
jr ra
addiu sp, sp, 0x90
lui gp, 0x42
addiu sp, sp, -0xb0
addiu gp, gp, 0x35d0
sw ra, 0xac(sp)
sw fp, 0xa8(sp)
sw s7, 0xa4(sp)
sw s6, 0xa0(sp)
sw s5, 0x9c(sp)
sw s4, 0x98(sp)
sw s3, 0x94(sp)
sw s2, 0x90(sp)
sw s1, 0x8c(sp)
sw s0, 0x88(sp)
sw gp, 0x18(sp)
lw t9, -sym.imp.inet_ntoa(gp)
move s3, a0
lw a0, 8(a0)
jalr t9
addiu s0, sp, 0x60
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s0
lui v0, 0x41
lw gp, 0x18(sp)
sw s0, 0x80(sp)
addiu fp, v0, -0x5040
addiu s6, s3, 0xc
addiu s5, s3, 0x14
move s2, zero
addiu s4, sp, 0x20
b 0x40521c
addiu s7, sp, 0x40
lw t9, -sym.imp.memset(gp)
move a1, zero
jalr t9
addiu a2, zero, 0x20
lw gp, 0x18(sp)
b 0x405164
move s1, zero
lhu s0, 0x14(s1)
jalr t9
move a0, s0
addu s0, s4, s0
lw gp, 0x18(sp)
sb v0, (s0)
beqz s1, 0x405178
nop
lw s1, (s1)
b 0x40517c
nop
lw s1, 0x14(s3)
lw t9, -sym.vifs_get_threshold(gp)
beq s1, s5, 0x405190
nop
bnez s1, 0x40514c
nop
lw t9, -sym.imp.inet_ntoa(gp)
lw a0, 8(s2)
jalr t9
nop
lw gp, 0x18(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s7
lw gp, 0x18(sp)
lhu a0, 0xc(s2)
lw t9, -sym.vifs_get_name(gp)
nop
jalr t9
nop
lw gp, 0x18(sp)
sw v0, 0x10(sp)
lhu v0, 0xc(s2)
lw t9, -sym.verbose(gp)
lw a3, 0x80(sp)
lui a0, 0x41
sw v0, 0x14(sp)
addiu a0, a0, -0x5238
move a1, fp
jalr t9
move a2, s7
--
lw s2, 0x90(sp)
lw s1, 0x8c(sp)
lw s0, 0x88(sp)
jr ra
addiu sp, sp, 0xb0
lui gp, 0x42
addiu sp, sp, -0xa0
addiu gp, gp, 0x35d0
sw ra, 0x9c(sp)
sw s7, 0x98(sp)
sw s6, 0x94(sp)
sw s5, 0x90(sp)
sw s4, 0x8c(sp)
sw s3, 0x88(sp)
sw s2, 0x84(sp)
sw s1, 0x80(sp)
sw s0, 0x7c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.inet_ntoa(gp)
andi s4, a2, 0xffff
move s0, a1
jalr t9
move s7, a0
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x18
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
move s2, zero
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0x38
lui v0, 0x42
addiu v1, v0, -0x4640
lw gp, 0x10(sp)
lw v0, -0x4640(v0)
b 0x405334
nop
lw s6, 8(s2)
nop
beq s6, s0, 0x405364
nop
bnez s2, 0x405344
nop
b 0x40534c
move s2, v0
lw s2, (s2)
nop
beq s2, v1, 0x405484
--
lw s0, 0x1c(sp)
addiu a0, a0, -0x520c
addiu a1, a1, -0x5018
jr t9
addiu sp, sp, 0x28
lui gp, 0x42
addiu sp, sp, -0x80
addiu gp, gp, 0x35d0
sw ra, 0x7c(sp)
sw s7, 0x78(sp)
sw s6, 0x74(sp)
sw s5, 0x70(sp)
sw s4, 0x6c(sp)
sw s3, 0x68(sp)
sw s2, 0x64(sp)
sw s1, 0x60(sp)
sw s0, 0x5c(sp)
sw gp, 0x10(sp)
lw t9, -sym.imp.inet_ntoa(gp)
move s0, a2
move s7, a3
jalr t9
move s3, a0
lw gp, 0x10(sp)
addiu s4, sp, 0x38
lw t9, -sym.imp.strcpy(gp)
move a1, v0
jalr t9
move a0, s4
lw gp, 0x10(sp)
move a0, s0
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s1, sp, 0x18
lw gp, 0x10(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s1
lw gp, 0x10(sp)
move a0, s3
lw t9, -sym.vifs_find_by_ip(gp)
addiu a1, zero, 1
jalr t9
addiu a2, zero, 1
move s2, v0
lw gp, 0x10(sp)
bltz s2, 0x405aac
addiu v0, zero, -1
lui a0, 0xff
and a3, s3, a0
srl v1, s0, 0x18
srl v0, s3, 0x18
and a0, s0, a0
sll a2, s0, 0x18
sll a1, s3, 0x18
--
addiu v0, zero, 0x3500
sh v0, 0x22(sp)
sw zero, 0x24(sp)
sw zero, 0x28(sp)
sw zero, 0x2c(sp)
jalr t9
move s2, a0
lw gp, 0x18(sp)
sw v0, 0x24(sp)
lw t9, -sym.imp.socket(gp)
addiu a0, zero, 2
addiu a1, zero, 1
jalr t9
move a2, zero
move s1, v0
addiu v0, zero, -1
lw gp, 0x18(sp)
bne s1, v0, 0x405b68
addiu s0, sp, 0x30
lw t9, -sym.imp.puts(gp)
lui a0, 0x41
jalr t9
addiu a0, a0, -0x51e8
b 0x405bf0
nop
lw t9, -sym.imp.strcpy(gp)
lui a1, 0x41
addiu a1, a1, -0x51cc
jalr t9
move a0, s0
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.strlen(gp)
nop
jalr t9
move a0, s0
lw gp, 0x18(sp)
addiu v1, sp, 0x20
lw t9, -sym.imp.sendto(gp)
sw v1, 0x10(sp)
addiu v1, zero, 0x10
move a1, s0
sw v1, 0x14(sp)
move a2, v0
move a3, zero
jalr t9
--
lw s2, 0x20(sp)
lw s1, 0x1c(sp)
lw s0, 0x18(sp)
jr ra
addiu sp, sp, 0x28
lui gp, 0x42
addiu sp, sp, -0x1f8
addiu gp, gp, 0x35d0
sw ra, 0x1f4(sp)
sw s6, 0x1f0(sp)
sw s5, 0x1ec(sp)
sw s4, 0x1e8(sp)
sw s3, 0x1e4(sp)
sw s2, 0x1e0(sp)
sw s1, 0x1dc(sp)
sw s0, 0x1d8(sp)
sw gp, 0x50(sp)
lw t9, -sym.imp.inet_ntoa(gp)
move s1, a2
andi s2, a3, 0xff
move s0, a1
jalr t9
move s6, a0
lw gp, 0x50(sp)
addiu s4, sp, 0x58
lw t9, -sym.imp.strcpy(gp)
move a1, v0
jalr t9
move a0, s4
lw gp, 0x50(sp)
move a0, s0
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s3, sp, 0x78
lw gp, 0x50(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s3
lw gp, 0x50(sp)
move a0, s1
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
addiu s0, sp, 0x98
lw gp, 0x50(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a0, s0
lw gp, 0x50(sp)
move a0, s6
lw t9, -sym.vifs_find_by_ip(gp)
addiu a1, zero, 1
jalr t9
addiu a2, zero, 1
lw gp, 0x50(sp)
bltz v0, 0x4064a8
andi s5, v0, 0xffff
lw t9, -sym.vifs_is_upstream(gp)
nop
jalr t9
move a0, s5
lw gp, 0x50(sp)
bnez v0, 0x4064ac
addiu v0, zero, -1
lw t9, -sym.igmp_type(gp)
--
lui a2, 0x41
lw t9, -sym.imp.snprintf(gp)
addiu a2, a2, -0x5108
move a3, s4
move a0, s1
addiu a1, zero, 0x7f
sw s0, 0x10(sp)
jalr t9
sw v0, 0x14(sp)
lw gp, 0x50(sp)
nop
lw t9, -sym.imp.system(gp)
nop
jalr t9
move a0, s1
jal 0x4050a4
move a0, s2
lw gp, 0x50(sp)
nop
lw t9, -sym.imp.inet_ntoa(gp)
nop
jalr t9
move a0, s6
lw gp, 0x50(sp)
move a1, v0
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
addiu a0, sp, 0xb8
lw gp, 0x50(sp)
addiu s0, s3, 8
b 0x40628c
move v1, zero
lw v0, 0xc(v1)
nop
beq s6, v0, 0x406450
nop
beqz v1, 0x4062a0
nop
lw v1, (v1)
b 0x4062a8
nop
lw v1, 8(s3)
nop
beq v1, s0, 0x4062b8
nop
--
move s7, a0
move fp, a1
lui a0, 0x41
lui a1, 0x41
addiu a0, a0, -0x51ac
jalr t9
addiu a1, a1, -0x5840
move s0, v0
lw gp, 0x18(sp)
bnez s0, 0x406e4c
addiu v0, zero, -1
b 0x406eb0
nop
sw s5, 0x10(sp)
jalr t9
sw s3, 0x14(sp)
lw gp, 0x18(sp)
move a0, s7
lw t9, -sym.imp.strcmp(gp)
nop
jalr t9
move a1, s1
lw gp, 0x18(sp)
bnez v0, 0x406e68
move a0, fp
lw t9, -sym.imp.strcpy(gp)
nop
jalr t9
move a1, s3
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.fclose(gp)
nop
jalr t9
move a0, s0
lw gp, 0x18(sp)
b 0x406eb0
move v0, zero
lui v0, 0x41
addiu s6, v0, -0x5188
addiu s2, sp, 0x70
addiu s1, sp, 0x30
addiu s5, sp, 0x28
addiu s3, sp, 0x50
addiu s4, sp, 0x20
lw t9, -sym.imp.fgets(gp)
--
move s0, v0
addiu v0, zero, -1
lw gp, 0x18(sp)
bne s0, v0, 0x40701c
addiu v1, sp, 0x51
addiu v0, zero, 2
lw t9, -sym.imp.inet_addr(gp)
sh v0, 0x20(sp)
addiu v0, zero, 0x3500
move a0, s2
sh v0, 0x22(sp)
sw zero, 0x24(sp)
sw zero, 0x28(sp)
jalr t9
sw zero, 0x2c(sp)
lw gp, 0x18(sp)
sw v0, 0x24(sp)
lw t9, -sym.imp.socket(gp)
addiu a0, zero, 2
addiu a1, zero, 1
jalr t9
move a2, zero
lw gp, 0x18(sp)
beq v0, s0, 0x406fec
move s1, v0
lw t9, -sym.imp.strcpy(gp)
addiu s0, sp, 0x30
lui a1, 0x41
addiu a1, a1, -0x51cc
jalr t9
move a0, s0
lw gp, 0x18(sp)
nop
lw t9, -sym.imp.strlen(gp)
nop
jalr t9
move a0, s0
lw gp, 0x18(sp)
addiu v1, sp, 0x20
lw t9, -sym.imp.sendto(gp)
sw v1, 0x10(sp)
addiu v1, zero, 0x10
sw v1, 0x14(sp)
move a1, s0
move a2, v0
move a0, s1

[*] Function strcpy used 37 times igmpproxy