.file 1 "filter.c" .section .mdebug.abi32 .previous #APP .macro _ssnop; sll $0, $0, 1; .endm .macro _ehb; sll $0, $0, 3; .endm .macro mtc0_tlbw_hazard; nop; nop; .endm .macro tlbw_use_hazard; nop; nop; nop; .endm .macro tlb_probe_hazard; nop; nop; nop; .endm .macro irq_enable_hazard; _ssnop; _ssnop; _ssnop;; .endm .macro irq_disable_hazard; nop; nop; nop; .endm .macro back_to_back_c0_hazard; _ssnop; _ssnop; _ssnop;; .endm .macro raw_local_irq_enable .set push .set reorder .set noat mfc0 $1,$12 ori $1,0x1f xori $1,0x1e mtc0 $1,$12 irq_enable_hazard .set pop .endm .macro raw_local_irq_disable .set push .set noat mfc0 $1,$12 ori $1,0x1f xori $1,0x1f .set noreorder mtc0 $1,$12 irq_disable_hazard .set pop .endm .macro raw_local_save_flags flags .set push .set reorder mfc0 \flags, $12 .set pop .endm .macro raw_local_irq_save result .set push .set reorder .set noat mfc0 \result, $12 ori $1, \result, 0x1f xori $1, 0x1f .set noreorder mtc0 $1, $12 irq_disable_hazard .set pop .endm .macro raw_local_irq_restore flags .set push .set noreorder .set noat mfc0 $1, $12 andi \flags, 1 ori $1, 0x1f xori $1, 0x1f or \flags, $1 mtc0 \flags, $12 irq_disable_hazard .set pop .endm #NO_APP .globl fast_path_cusRspTCPEndAck_func .data .align 2 .type fast_path_cusRspTCPEndAck_func, @object .size fast_path_cusRspTCPEndAck_func, 4 fast_path_cusRspTCPEndAck_func: .word 0 .globl fast_path_cusRspTCPFinAck_func .align 2 .type fast_path_cusRspTCPFinAck_func, @object .size fast_path_cusRspTCPFinAck_func, 4 fast_path_cusRspTCPFinAck_func: .word 0 .globl fast_path_cusRsp401_func .align 2 .type fast_path_cusRsp401_func, @object .size fast_path_cusRsp401_func, 4 fast_path_cusRsp401_func: .word 0 .globl filter_tlb .align 2 .type filter_tlb, @object .size filter_tlb, 40 filter_tlb: .word 0 .word 0 .word 1 .word rtl_ip_range_filter_fastpath .word 2 .word rtl_mac_filter_fastpath .word 3 .word rtl_url_filter_fastpath .word 4 .word rtl_schedule_filter_fastpath .align 2 .type res3, @object .size res3, 4 res3: .word 0 .section .dram-l34-fwd,"aw",@progbits .type url_count, @object .size url_count, 1 url_count: .byte 0 .align 2 .type none_dos_drop_pkt_cnt, @object .size none_dos_drop_pkt_cnt, 4 none_dos_drop_pkt_cnt: .word 0 .align 2 .type item, @object .size item, 4 item: .word 0 .data .align 2 .type item_backup, @object .size item_backup, 4 item_backup: .word 0 .align 2 .type block, @object .size block, 4 block: .word 0 .align 2 .type block_time, @object .size block_time, 4 block_time: .word 0 .align 2 .type block_count, @object .size block_count, 4 block_count: .word 0 .align 2 .type url_cache, @object .size url_cache, 20 url_cache: .half 0 .space 2 .word 0 .word 0 .half 0 .byte 0 .byte 0 .space 4 .align 2 .type block_message, @object .size block_message, 4 block_message: .word 0 .align 2 .type res12, @object .size res12, 4 res12: .word 0 .align 2 .type log_enable, @object .size log_enable, 4 log_enable: .word 0 .rdata .align 2 $LC0: .ascii "br0\000" .align 2 $LC1: .ascii "ppp0\000" .align 2 $LC2: .ascii "eth1\000" .align 2 $LC3: .ascii "wlan0\000" .section .text.need_filter,"ax",@progbits .align 2 .globl need_filter .ent need_filter .type need_filter, @function need_filter: .set nomips16 .frame $sp,48,$31 # vars= 16, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-48 sw $17,36($sp) lui $17,%hi(init_net) sw $16,32($sp) lui $16,%hi($LC0) sw $31,44($sp) addiu $5,$16,%lo($LC0) sw $18,40($sp) lw $18,152($4) .set noreorder .set nomacro jal __dev_get_by_name addiu $4,$17,%lo(init_net) .set macro .set reorder beq $2,$0,$L4 lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L4 sw $2,16($sp) .set macro .set reorder lw $5,12($2) $L62: .set noreorder .set nomacro beq $5,$0,$L4 addiu $2,$16,%lo($LC0) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L10 lw $5,0($5) j $L62 $L10: .set noreorder .set nomacro beq $5,$0,$L68 lui $16,%hi($LC1) .set macro .set reorder lw $3,20($5) lw $2,16($18) .set noreorder .set nomacro beq $2,$3,$L1 move $4,$0 .set macro .set reorder $L4: lui $16,%hi($LC1) $L68: addiu $4,$17,%lo(init_net) addiu $5,$16,%lo($LC1) .set noreorder .set nomacro jal __dev_get_by_name lui $17,%hi(init_net) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L17 addiu $4,$17,%lo(init_net) .set macro .set reorder lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L30 sw $2,20($sp) .set macro .set reorder lw $5,12($2) $L63: .set noreorder .set nomacro beq $5,$0,$L30 addiu $2,$16,%lo($LC1) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L23 lw $5,0($5) j $L63 $L23: .set noreorder .set nomacro beq $5,$0,$L30 move $4,$0 .set macro .set reorder lw $3,16($18) lw $2,16($5) j $L67 $L17: lui $16,%hi($LC2) .set noreorder .set nomacro jal __dev_get_by_name addiu $5,$16,%lo($LC2) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L31 addiu $4,$17,%lo(init_net) .set macro .set reorder lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L30 sw $2,24($sp) .set macro .set reorder lw $5,12($2) $L64: .set noreorder .set nomacro beq $5,$0,$L30 addiu $2,$16,%lo($LC2) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L51 lw $5,0($5) j $L64 $L31: lui $16,%hi($LC3) .set noreorder .set nomacro jal __dev_get_by_name addiu $5,$16,%lo($LC3) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L1 li $4,1 # 0x1 .set macro .set reorder lw $2,292($2) .set noreorder .set nomacro beq $2,$0,$L1 sw $2,28($sp) .set macro .set reorder lw $5,12($2) $L65: .set noreorder .set nomacro beq $5,$0,$L30 addiu $2,$16,%lo($LC3) .set macro .set reorder addiu $3,$5,35 #APP .set noreorder .set noat lbu $4,($2) 1: lbu $1,($3) addiu $2,1 bne $1,$4,2f addiu $3,1 bnez $4,1b lbu $4,($2) move $4,$1 2: subu $4,$1 3: .set at .set reorder #NO_APP beq $4,$0,$L51 lw $5,0($5) j $L65 $L51: .set noreorder .set nomacro beq $5,$0,$L30 move $4,$0 .set macro .set reorder lw $3,16($18) lw $2,20($5) $L67: beq $3,$2,$L1 $L30: li $4,1 # 0x1 $L1: lw $31,44($sp) move $2,$4 lw $18,40($sp) lw $17,36($sp) lw $16,32($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,48 .set macro .set reorder .end need_filter .section .text.str2hexnum,"ax",@progbits .align 2 .globl str2hexnum .ent str2hexnum .type str2hexnum, @function str2hexnum: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lbu $3,0($4) move $7,$0 $L82: beq $3,$0,$L81 andi $5,$3,0x00ff addiu $2,$5,-97 addiu $3,$5,-48 sltu $6,$2,6 sltu $2,$3,10 beq $2,$0,$L73 addiu $2,$5,-65 j $L72 move $5,$3 $L73: beq $6,$0,$L75 sltu $2,$2,6 j $L72 addiu $5,$5,-87 $L75: bne $2,$0,$L72 addiu $5,$5,-55 j $31 li $2,-1 # 0xffffffff $L72: addiu $4,$4,1 sll $2,$7,4 lbu $3,0($4) j $L82 addu $7,$2,$5 $L81: j $31 move $2,$7 .set macro .set reorder .end str2hexnum .section .text.find_pattern,"ax",@progbits .align 2 .ent find_pattern .type find_pattern, @function find_pattern: .set nomips16 .frame $sp,56,$31 # vars= 0, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $fp,48($sp) sw $21,36($sp) lw $fp,80($sp) lw $21,76($sp) sw $23,44($sp) move $23,$6 sw $22,40($sp) move $22,$5 sw $20,32($sp) sw $19,28($sp) move $19,$4 lb $20,75($sp) sw $18,24($sp) move $18,$7 sw $17,20($sp) move $17,$0 sw $16,16($sp) move $16,$0 sw $0,0($fp) sw $31,52($sp) sw $0,0($21) addu $4,$19,$17 $L110: li $2,13 # 0xd lb $5,0($4) bne $5,$2,$L87 andi $3,$16,0x1 beq $3,$0,$L90 addiu $16,$16,1 j $L106 move $16,$0 $L87: li $2,10 # 0xa bne $5,$2,$L91 addiu $16,$16,1 bne $3,$0,$L109 slt $2,$16,4 $L91: j $L106 move $16,$0 $L90: slt $2,$16,4 $L109: beq $2,$0,$L83 move $2,$0 $L106: move $5,$23 jal memcmp move $6,$18 bne $2,$0,$L86 subu $3,$22,$18 addu $2,$17,$18 move $5,$0 sw $2,0($21) move $3,$2 addu $2,$19,$2 lb $2,0($2) $L108: beq $2,$20,$L105 li $2,1 # 0x1 sltu $2,$22,$3 addiu $3,$3,1 addiu $5,$5,1 bne $2,$0,$L85 addu $4,$19,$3 lb $2,0($4) j $L108 nop $L105: j $L83 sw $5,0($fp) $L86: addiu $17,$17,1 sltu $2,$3,$17 beq $2,$0,$L110 addu $4,$19,$17 $L85: move $2,$0 $L83: lw $31,52($sp) lw $fp,48($sp) lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,56 .set macro .set reorder .end find_pattern .rdata .align 2 $LC4: .ascii "GET \000" .align 2 $LC5: .ascii "Host: \000" .align 2 $LC6: .ascii "%s\000" .section .text.rtl_url_filter_fastpath,"ax",@progbits .align 2 .globl rtl_url_filter_fastpath .ent rtl_url_filter_fastpath .type rtl_url_filter_fastpath, @function rtl_url_filter_fastpath: .set nomips16 .frame $sp,88,$31 # vars= 24, regs= 8/0, args= 32, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-88 sw $16,56($sp) move $16,$4 move $4,$5 sw $22,80($sp) move $22,$5 sw $31,84($sp) sw $21,76($sp) sw $20,72($sp) sw $19,68($sp) sw $18,64($sp) .set noreorder .set nomacro jal strlen sw $17,60($sp) .set macro .set reorder sltu $2,$2,2 .set noreorder .set nomacro bne $2,$0,$L111 move $4,$0 .set macro .set reorder lw $16,152($16) li $2,6 # 0x6 lbu $3,9($16) .set noreorder .set nomacro bne $3,$2,$L111 lui $3,%hi(malloc_sizes+68) .set macro .set reorder $L121: $L162: lbu $2,0($16) lw $4,%lo(malloc_sizes+68)($3) li $5,208 # 0xd0 andi $2,$2,0xf sll $2,$2,2 addu $2,$16,$2 lw $3,12($2) srl $3,$3,28 sll $3,$3,2 .set noreorder .set nomacro jal kmem_cache_alloc addu $18,$2,$3 .set macro .set reorder move $4,$0 .set noreorder .set nomacro beq $2,$0,$L111 move $17,$2 .set macro .set reorder lbu $2,0($16) lui $21,%hi($LC4) lhu $3,2($16) move $4,$18 andi $2,$2,0xf addiu $5,$21,%lo($LC4) sll $2,$2,3 li $6,4 # 0x4 .set noreorder .set nomacro jal memcmp subu $16,$3,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L171 lui $6,%hi($LC5) .set macro .set reorder li $20,13 # 0xd addiu $19,$sp,40 addiu $2,$sp,44 addiu $6,$6,%lo($LC5) move $4,$18 move $5,$16 li $7,6 # 0x6 sw $2,24($sp) sw $20,16($sp) .set noreorder .set nomacro jal find_pattern sw $19,20($sp) .set macro .set reorder beq $2,$0,$L171 lw $2,40($sp) lw $4,44($sp) .set noreorder .set nomacro beq $4,$0,$L169 addu $3,$18,$2 .set macro .set reorder move $2,$17 #APP .set noreorder .set noat 1: lbu $1,($3) subu $4,1 sb $1,($2) beqz $1,2f addiu $2,1 bnez $4,1b addiu $3,1 2: .set at .set reorder #NO_APP $L169: lw $2,44($sp) move $5,$16 addiu $6,$21,%lo($LC4) move $4,$18 addu $2,$17,$2 li $7,4 # 0x4 sb $0,0($2) addiu $2,$sp,48 sw $20,16($sp) sw $19,20($sp) .set noreorder .set nomacro jal find_pattern sw $2,24($sp) .set macro .set reorder beq $2,$0,$L171 lw $2,48($sp) addiu $5,$2,-9 .set noreorder .set nomacro bgtz $5,$L170 sw $5,48($sp) .set macro .set reorder $L171: .set noreorder .set nomacro jal kfree move $4,$17 .set macro .set reorder .set noreorder .set nomacro j $L111 move $4,$0 .set macro .set reorder $L170: lw $3,44($sp) lw $2,40($sp) addu $3,$17,$3 addu $2,$18,$2 #APP .set noreorder .set noat 1: lbu $1,($2) subu $5,1 sb $1,($3) beqz $1,2f addiu $3,1 bnez $5,1b addiu $2,1 2: .set at .set reorder #NO_APP lw $2,48($sp) move $4,$17 lw $3,44($sp) move $19,$0 addu $2,$17,$2 addu $2,$2,$3 .set noreorder .set nomacro jal strlen sb $0,0($2) .set macro .set reorder move $4,$22 .set noreorder .set nomacro jal strlen move $16,$2 .set macro .set reorder sltu $16,$16,$2 .set noreorder .set nomacro bne $16,$0,$L175 move $18,$2 .set macro .set reorder .set noreorder .set nomacro j $L174 addu $3,$17,$2 .set macro .set reorder $L185: .set noreorder .set nomacro j $L175 li $19,1 # 0x1 .set macro .set reorder $L174: lb $2,0($3) .set noreorder .set nomacro beq $2,$0,$L184 move $19,$0 .set macro .set reorder move $16,$3 $L181: addu $4,$17,$19 move $5,$22 move $6,$18 .set noreorder .set nomacro jal memcmp addiu $16,$16,1 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L185 addiu $19,$19,1 .set macro .set reorder lb $2,0($16) bne $2,$0,$L181 $L184: move $19,$0 $L175: lui $4,%hi(log_info) lui $5,%hi($LC6) addiu $4,$4,%lo(log_info) addiu $5,$5,%lo($LC6) .set noreorder .set nomacro jal sprintf move $6,$17 .set macro .set reorder .set noreorder .set nomacro jal kfree move $4,$17 .set macro .set reorder sltu $4,$0,$19 $L111: lw $31,84($sp) move $2,$4 lw $22,80($sp) lw $21,76($sp) lw $20,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,88 .set macro .set reorder .end rtl_url_filter_fastpath .section .text.rtl_mac_filter_fastpath,"ax",@progbits .align 2 .globl rtl_mac_filter_fastpath .ent rtl_mac_filter_fastpath .type rtl_mac_filter_fastpath, @function rtl_mac_filter_fastpath: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $7,156($4) move $6,$0 $L192: addu $2,$5,$6 addu $3,$7,$6 lbu $4,0($2) lbu $2,6($3) bne $4,$2,$L196 xori $2,$6,0x6 addiu $6,$6,1 slt $2,$6,6 bne $2,$0,$L192 xori $2,$6,0x6 $L196: j $31 sltu $2,$2,1 .set macro .set reorder .end rtl_mac_filter_fastpath .section .text.rtl_ip_range_filter_fastpath,"ax",@progbits .align 2 .ent rtl_ip_range_filter_fastpath .type rtl_ip_range_filter_fastpath, @function rtl_ip_range_filter_fastpath: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lw $3,152($4) move $4,$5 lw $2,0($5) lw $5,12($3) sltu $2,$5,$2 bne $2,$0,$L200 li $6,1 # 0x1 lw $2,4($4) sltu $2,$2,$5 beq $2,$0,$L197 nop $L200: move $6,$0 $L197: j $31 move $2,$6 .set macro .set reorder .end rtl_ip_range_filter_fastpath .section .text.rtl_schedule_filter_fastpath,"ax",@progbits .align 2 .ent rtl_schedule_filter_fastpath .type rtl_schedule_filter_fastpath, @function rtl_schedule_filter_fastpath: .set nomips16 .frame $sp,32,$31 # vars= 8, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 addiu $4,$sp,16 sw $16,24($sp) sw $31,28($sp) jal do_gettimeofday move $16,$5 li $6,-1851654144 # 0x91a20000 lw $2,16($sp) ori $6,$6,0xb3c5 li $7,-2004353024 # 0x88880000 li $5,-1037172736 # 0xc22e0000 mult $2,$6 ori $7,$7,0x8889 ori $5,$5,0x4507 sra $3,$2,31 li $4,715784192 # 0x2aaa0000 ori $4,$4,0xaaab mfhi $6 mult $2,$7 addu $6,$6,$2 sra $6,$6,11 subu $6,$6,$3 mfhi $8 mult $2,$5 addu $8,$8,$2 sra $8,$8,5 subu $8,$8,$3 mfhi $5 mult $6,$4 addu $5,$5,$2 sra $5,$5,16 subu $5,$5,$3 li $3,-1840709632 # 0x92490000 addiu $5,$5,4 ori $3,$3,0x2493 mfhi $4 sra $2,$6,31 mult $8,$7 sra $4,$4,2 subu $10,$4,$2 sll $2,$10,1 sra $4,$8,31 addu $2,$2,$10 mfhi $7 sll $2,$2,3 mult $5,$3 addu $7,$7,$8 sra $7,$7,5 subu $7,$7,$4 subu $10,$6,$2 sll $4,$7,4 sra $2,$5,31 mfhi $3 subu $4,$4,$7 addu $3,$3,$5 sll $4,$4,2 sra $3,$3,2 subu $7,$8,$4 subu $9,$3,$2 sll $2,$10,4 sll $3,$9,3 subu $2,$2,$10 lw $6,8($16) subu $3,$3,$9 sll $2,$2,2 subu $9,$5,$3 addu $7,$2,$7 li $2,1 # 0x1 sll $2,$2,$9 andi $4,$6,0x80 bne $4,$0,$L203 and $3,$6,$2 beq $3,$0,$L201 move $2,$0 $L203: lw $2,0($16) bne $2,$0,$L206 sltu $3,$7,$2 lw $2,4($16) beq $2,$0,$L205 nop j $L208 sltu $2,$2,$7 $L206: bne $3,$0,$L201 move $2,$0 lw $2,4($16) sltu $2,$2,$7 $L208: bne $2,$0,$L202 nop $L205: j $L201 li $2,1 # 0x1 $L202: move $2,$0 $L201: lw $31,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end rtl_schedule_filter_fastpath .section .text.filter_table_head_init,"ax",@progbits .align 2 .globl filter_table_head_init .ent filter_table_head_init .type filter_table_head_init, @function filter_table_head_init: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 move $5,$0 sw $16,16($sp) lui $16,%hi(table_list_head) addiu $4,$16,%lo(table_list_head) sw $31,20($sp) jal memset li $6,32 # 0x20 addiu $3,$16,%lo(table_list_head) li $4,1 # 0x1 lui $6,%hi(table_list_head+8) sw $4,24($3) addiu $5,$6,%lo(table_list_head+8) sw $3,%lo(table_list_head)($16) move $2,$0 lw $31,20($sp) lw $16,16($sp) addiu $sp,$sp,24 sw $5,4($5) sw $5,%lo(table_list_head+8)($6) sw $3,4($3) sw $0,16($3) sw $0,20($3) j $31 sw $0,28($3) .set macro .set reorder .end filter_table_head_init .section .text.filter_table_regist,"ax",@progbits .align 2 .globl filter_table_regist .ent filter_table_regist .type filter_table_regist, @function filter_table_regist: .set nomips16 .frame $sp,48,$31 # vars= 8, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-48 sw $17,28($sp) lui $17,%hi(table_list_head) sw $16,24($sp) addiu $16,$17,%lo(table_list_head) lw $2,24($16) sw $19,36($sp) move $19,$4 sw $18,32($sp) move $18,$5 bne $2,$0,$L213 sw $31,40($sp) jal filter_table_head_init nop $L213: $L218: $L259: lui $2,%hi(malloc_sizes+4) lw $4,%lo(malloc_sizes+4)($2) jal kmem_cache_alloc li $5,208 # 0xd0 li $3,1 # 0x1 move $4,$2 addiu $5,$2,8 sw $3,24($4) move $2,$0 sw $19,16($4) sw $18,28($4) sw $4,0($4) sw $0,20($4) sw $5,8($4) lw $3,%lo(table_list_head)($17) sw $5,4($5) sw $3,0($4) sw $4,4($3) sw $16,4($4) lw $3,24($16) lw $31,40($sp) addiu $3,$3,1 sw $4,%lo(table_list_head)($17) lw $19,36($sp) sw $3,24($16) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) j $31 addiu $sp,$sp,48 .set macro .set reorder .end filter_table_regist .section .text.Del_Pattern_ACL_For_ContentFilter,"ax",@progbits .align 2 .globl Del_Pattern_ACL_For_ContentFilter .ent Del_Pattern_ACL_For_ContentFilter .type Del_Pattern_ACL_For_ContentFilter, @function Del_Pattern_ACL_For_ContentFilter: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 move $2,$0 .set macro .set reorder .end Del_Pattern_ACL_For_ContentFilter .section .text.filter_table_flush,"ax",@progbits .align 2 .globl filter_table_flush .ent filter_table_flush .type filter_table_flush, @function filter_table_flush: .set nomips16 .frame $sp,40,$31 # vars= 0, regs= 6/0, args= 16, gp= 0 .mask 0x801f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 sw $19,28($sp) lui $19,%hi(table_list_head) sw $16,16($sp) addiu $2,$19,%lo(table_list_head) lw $16,%lo(table_list_head)($19) sw $31,36($sp) sw $20,32($sp) sw $18,24($sp) sw $17,20($sp) lw $20,0($16) beq $16,$2,$L286 li $3,1 # 0x1 $L280: lw $6,8($16) addiu $18,$16,8 $L285: lw $17,0($6) beq $6,$18,$L284 li $2,1048576 # 0x100000 lw $5,4($6) lw $3,0($6) ori $2,$2,0x100 move $4,$6 sw $3,0($5) sw $2,0($6) li $2,2097152 # 0x200000 ori $2,$2,0x200 sw $5,4($3) jal kfree sw $2,4($6) move $6,$17 lw $2,24($16) addiu $2,$2,-1 j $L285 sw $2,24($16) $L284: lw $3,0($16) lw $5,4($16) ori $2,$2,0x100 move $4,$16 sw $3,0($5) sw $2,0($16) li $2,2097152 # 0x200000 ori $2,$2,0x200 sw $5,4($3) sw $2,4($16) jal kfree move $16,$20 addiu $3,$19,%lo(table_list_head) lw $2,24($3) lw $20,0($20) addiu $2,$2,-1 bne $16,$3,$L280 sw $2,24($3) li $3,1 # 0x1 $L286: lui $4,%hi(filter_rule_num) lw $31,36($sp) move $2,$0 lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) addiu $sp,$sp,40 sw $3,%lo(filter_rule_num)($4) lui $3,%hi(log_enable) j $31 sw $0,%lo(log_enable)($3) .set macro .set reorder .end filter_table_flush .section .text.Add_Pattern_ACL_For_ContentFilter,"ax",@progbits .align 2 .globl Add_Pattern_ACL_For_ContentFilter .ent Add_Pattern_ACL_For_ContentFilter .type Add_Pattern_ACL_For_ContentFilter, @function Add_Pattern_ACL_For_ContentFilter: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro j $31 move $2,$0 .set macro .set reorder .end Add_Pattern_ACL_For_ContentFilter .section .text.filter_item_regist,"ax",@progbits .align 2 .globl filter_item_regist .ent filter_item_regist .type filter_item_regist, @function filter_item_regist: .set nomips16 .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi(table_list_head) lw $6,%lo(table_list_head)($2) addiu $2,$2,%lo(table_list_head) beq $6,$2,$L298 nop move $3,$2 $L296: lw $2,16($6) bne $2,$4,$L291 nop lw $2,8($6) addiu $3,$6,8 move $4,$0 sw $2,0($5) sw $5,4($2) sw $3,4($5) lw $2,24($6) sw $5,8($6) addiu $2,$2,1 j $L288 sw $2,24($6) $L291: lw $6,0($6) bne $6,$3,$L296 nop $L298: li $4,-1 # 0xffffffff $L288: j $31 move $2,$4 .set macro .set reorder .end filter_item_regist .rdata .align 2 $LC7: .ascii "type=%d num=%d\n\000" .align 2 $LC15: .ascii "unknow table type\n\000" .align 2 $LC8: .ascii "index=%d\t\000" .align 2 $LC9: .ascii "mac=%02x:%02x:%02x:%02x:%02x:%02x\n\000" .align 2 $LC10: .ascii "index=%d\t\t\000" .align 2 $LC11: .ascii "url=%s\n\000" .align 2 $LC12: .ascii "start=%x\t\000" .align 2 $LC13: .ascii "end=%x\t\000" .align 2 $LC14: .ascii "day=%x\n\000" .align 2 $LC16: .ascii "%s\n\000" .section .text.filter_table_read_proc,"ax",@progbits .align 2 .ent filter_table_read_proc .type filter_table_read_proc, @function filter_table_read_proc: .set nomips16 .frame $sp,88,$31 # vars= 16, regs= 10/0, args= 32, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro $L304: $L345: addiu $sp,$sp,-88 lui $2,%hi(malloc_sizes) sw $fp,80($sp) move $fp,$4 sw $23,76($sp) move $23,$7 sw $22,72($sp) move $22,$6 sw $19,60($sp) sw $16,48($sp) addiu $16,$2,%lo(malloc_sizes) sw $5,92($sp) sw $31,84($sp) sw $21,68($sp) sw $20,64($sp) sw $18,56($sp) sw $17,52($sp) lw $4,52($16) jal kmem_cache_alloc li $5,208 # 0xd0 move $19,$2 beq $19,$0,$L299 move $2,$0 $L353: $L394: lw $4,44($16) jal kmem_cache_alloc li $5,208 # 0xd0 bne $2,$0,$L397 move $17,$2 jal kfree move $4,$19 j $L299 move $2,$0 $L397: lui $21,%hi(table_list_head) lw $18,%lo(table_list_head)($21) addiu $2,$21,%lo(table_list_head) $L436: beq $18,$2,$L424 lui $5,%hi($LC7) lw $7,24($18) lw $6,16($18) addiu $5,$5,%lo($LC7) addiu $7,$7,-1 jal sprintf move $4,$19 li $2,3 # 0x3 lw $3,16($18) beq $3,$2,$L407 sltu $2,$3,4 beq $2,$0,$L418 li $2,4 # 0x4 li $2,2 # 0x2 beq $3,$2,$L402 lui $5,%hi($LC15) j $L437 move $4,$17 $L418: beq $3,$2,$L412 lui $5,%hi($LC15) j $L417 move $4,$17 $L402: lw $16,8($18) addiu $20,$18,8 $L432: beq $16,$20,$L400 lui $5,%hi($LC8) lw $6,20($16) addiu $5,$5,%lo($LC8) jal sprintf move $4,$17 move $4,$19 jal strcat move $5,$17 lui $5,%hi($LC9) lbu $2,30($16) addiu $5,$5,%lo($LC9) lbu $6,28($16) move $4,$17 lbu $7,29($16) sw $2,16($sp) lbu $2,31($16) sw $2,20($sp) lbu $2,32($16) sw $2,24($sp) lbu $2,33($16) jal sprintf sw $2,28($sp) move $4,$19 jal strcat move $5,$17 lw $16,0($16) j $L432 nop $L407: lw $16,8($18) addiu $20,$18,8 $L433: beq $16,$20,$L400 lui $5,%hi($LC10) lw $6,20($16) addiu $5,$5,%lo($LC10) jal sprintf move $4,$17 move $4,$19 jal strcat move $5,$17 lui $5,%hi($LC11) addiu $6,$16,28 move $4,$17 jal sprintf addiu $5,$5,%lo($LC11) move $4,$19 jal strcat move $5,$17 lw $16,0($16) j $L433 nop $L412: lw $16,8($18) addiu $20,$18,8 $L434: beq $16,$20,$L400 lui $5,%hi($LC8) lw $6,20($16) addiu $5,$5,%lo($LC8) jal sprintf move $4,$17 move $4,$19 jal strcat move $5,$17 lui $5,%hi($LC12) lw $6,28($16) move $4,$17 jal sprintf addiu $5,$5,%lo($LC12) move $4,$19 jal strcat move $5,$17 lui $5,%hi($LC13) lw $6,32($16) move $4,$17 jal sprintf addiu $5,$5,%lo($LC13) move $4,$19 jal strcat move $5,$17 lui $5,%hi($LC14) lw $6,36($16) move $4,$17 jal sprintf addiu $5,$5,%lo($LC14) move $4,$19 jal strcat move $5,$17 lw $16,0($16) j $L434 nop $L417: $L437: jal sprintf addiu $5,$5,%lo($LC15) move $4,$19 jal strcat move $5,$17 $L400: lw $18,0($18) j $L436 addiu $2,$21,%lo(table_list_head) $L424: lui $5,%hi($LC16) move $4,$fp addiu $5,$5,%lo($LC16) jal sprintf move $6,$19 move $16,$2 addu $2,$22,$23 slt $2,$2,$16 bne $2,$0,$L420 li $3,1 # 0x1 lw $2,104($sp) sw $3,0($2) $L420: subu $16,$16,$22 addu $3,$fp,$22 slt $2,$23,$16 move $4,$19 movn $16,$23,$2 #conditional move lw $2,92($sp) sw $3,0($2) slt $2,$16,0 jal kfree movn $16,$0,$2 #conditional move jal kfree move $4,$17 move $2,$16 $L299: lw $31,84($sp) lw $fp,80($sp) lw $23,76($sp) lw $22,72($sp) lw $21,68($sp) lw $20,64($sp) lw $19,60($sp) lw $18,56($sp) lw $17,52($sp) lw $16,48($sp) j $31 addiu $sp,$sp,88 .set macro .set reorder .end filter_table_read_proc .rdata .align 2 $LC17: .ascii "init\000" .align 2 $LC19: .ascii "flush\000" .align 2 $LC18: .ascii " \000" .align 2 $LC20: .ascii "enable_log\000" .align 2 $LC21: .ascii "add:\000" .align 2 $LC22: .ascii ":\000" .align 2 $LC23: .ascii ";\000" .align 2 $LC24: .ascii "#\000" .align 2 $LC26: .ascii "-\000" .section .text.filter_table_write_proc,"ax",@progbits .align 2 .ent filter_table_write_proc .type filter_table_write_proc, @function filter_table_write_proc: .set nomips16 .frame $sp,96,$31 # vars= 48, regs= 8/0, args= 16, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 $L443: $L484: addiu $sp,$sp,-96 lui $2,%hi(malloc_sizes+60) sw $20,80($sp) move $20,$6 sw $19,76($sp) sw $17,68($sp) move $17,$5 sw $31,92($sp) sw $22,88($sp) sw $21,84($sp) sw $18,72($sp) sw $16,64($sp) lw $4,%lo(malloc_sizes+60)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder move $19,$2 .set noreorder .set nomacro beq $19,$0,$L438 li $2,-14 # 0xfffffff2 .set macro .set reorder lui $16,%hi(get_info_from_usr_space) addiu $4,$16,%lo(get_info_from_usr_space) .set noreorder .set nomacro jal strlen sw $19,40($sp) .set macro .set reorder addiu $4,$16,%lo(get_info_from_usr_space) move $6,$2 .set noreorder .set nomacro jal memset move $5,$0 .set macro .set reorder .set noreorder .set nomacro beq $17,$0,$L752 addu $3,$17,$20 .set macro .set reorder addiu $7,$16,%lo(get_info_from_usr_space) or $3,$17,$3 lw $2,24($28) or $3,$3,$20 and $2,$2,$3 .set noreorder .set nomacro bne $2,$0,$L489 move $6,$20 .set macro .set reorder move $5,$17 move $4,$7 #APP .set noreorder jal __copy_user .set noat addu $1, $5, $6 .set at .set reorder #NO_APP $L489: bne $6,$0,$L752 .set noreorder .set nomacro beq $20,$0,$L758 move $4,$7 .set macro .set reorder move $4,$19 move $3,$7 move $2,$20 #APP .set noreorder .set noat 1: lbu $1,($3) subu $2,1 sb $1,($4) beqz $1,2f addiu $4,1 bnez $2,1b addiu $3,1 2: .set at .set reorder #NO_APP move $4,$7 $L758: .set noreorder .set nomacro jal strlen lui $16,%hi($LC17) .set macro .set reorder addiu $4,$16,%lo($LC17) addu $2,$19,$2 .set noreorder .set nomacro jal strlen sb $0,-1($2) .set macro .set reorder addiu $5,$16,%lo($LC17) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L498 lui $16,%hi($LC19) .set macro .set reorder lui $16,%hi($LC18) addiu $4,$sp,40 .set noreorder .set nomacro jal strsep addiu $5,$16,%lo($LC18) .set macro .set reorder sw $2,48($sp) addiu $5,$16,%lo($LC18) $L759: .set noreorder .set nomacro jal strsep addiu $4,$sp,40 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,48($sp) .set macro .set reorder lui $3,%hi(filter_tlb) sll $5,$2,3 addiu $3,$3,%lo(filter_tlb) addu $5,$5,$3 lw $5,4($5) .set noreorder .set nomacro jal filter_table_regist move $4,$2 .set macro .set reorder lw $2,40($sp) .set noreorder .set nomacro bne $2,$0,$L759 addiu $5,$16,%lo($LC18) .set macro .set reorder j $L756 $L498: .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC19) .set macro .set reorder addiu $5,$16,%lo($LC19) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L503 lui $16,%hi($LC20) .set macro .set reorder .set noreorder .set nomacro jal filter_table_flush move $4,$0 .set macro .set reorder j $L756 $L503: .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC20) .set macro .set reorder addiu $5,$16,%lo($LC20) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L505 li $3,1 # 0x1 .set macro .set reorder lui $2,%hi(log_enable) .set noreorder .set nomacro j $L756 sw $3,%lo(log_enable)($2) .set macro .set reorder $L505: lui $16,%hi($LC21) .set noreorder .set nomacro jal strlen addiu $4,$16,%lo($LC21) .set macro .set reorder addiu $5,$16,%lo($LC21) lw $4,40($sp) .set noreorder .set nomacro jal memcmp move $6,$2 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L756 lui $5,%hi($LC22) .set macro .set reorder addiu $4,$sp,40 .set noreorder .set nomacro jal strsep addiu $5,$5,%lo($LC22) .set macro .set reorder sw $2,44($sp) lui $5,%hi($LC23) $L766: addiu $4,$sp,40 .set noreorder .set nomacro jal strsep addiu $5,$5,%lo($LC23) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L756 sw $2,44($sp) .set macro .set reorder lui $5,%hi($LC18) move $4,$2 addiu $5,$5,%lo($LC18) .set noreorder .set nomacro jal memcmp li $6,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L760 lui $22,%hi($LC24) .set macro .set reorder lw $4,44($sp) jal strlen li $3,1 # 0x1 beq $2,$3,$L756 $L760: addiu $4,$sp,44 .set noreorder .set nomacro jal strsep addiu $5,$22,%lo($LC24) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,48($sp) .set macro .set reorder li $3,-1 # 0xffffffff beq $2,$3,$L756 addiu $4,$sp,44 $L765: addiu $5,$22,%lo($LC24) .set noreorder .set nomacro jal strsep lui $18,%hi($LC18) .set macro .set reorder addiu $5,$18,%lo($LC18) addiu $4,$sp,48 .set noreorder .set nomacro jal strsep sw $2,48($sp) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder addiu $4,$sp,48 addiu $5,$18,%lo($LC18) .set noreorder .set nomacro jal strsep move $16,$2 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder move $21,$2 li $2,2 # 0x2 .set noreorder .set nomacro beq $16,$2,$L574 slt $2,$16,3 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L751 li $2,3 # 0x3 .set macro .set reorder li $2,1 # 0x1 .set noreorder .set nomacro beq $16,$2,$L761 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L516 $L751: .set noreorder .set nomacro beq $16,$2,$L631 li $2,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro beq $16,$2,$L762 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L516 $L519: $L526: $L567: $L761: lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder addiu $5,$18,%lo($LC18) move $16,$2 addiu $4,$sp,48 .set noreorder .set nomacro beq $16,$0,$L756 addiu $2,$2,8 .set macro .set reorder sw $16,4($16) sw $2,8($16) sw $2,4($2) lui $2,%hi(filter_rule_num) sw $16,0($16) sw $0,24($16) lw $2,%lo(filter_rule_num)($2) sw $21,16($16) .set noreorder .set nomacro jal strsep sw $2,20($16) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder li $6,4 # 0x4 addiu $4,$16,28 addiu $5,$sp,52 .set noreorder .set nomacro jal memcpy sw $2,52($sp) .set macro .set reorder addiu $5,$18,%lo($LC18) .set noreorder .set nomacro jal strsep addiu $4,$sp,48 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder addiu $4,$16,32 addiu $5,$sp,52 li $6,4 # 0x4 .set noreorder .set nomacro jal memcpy sw $2,52($sp) .set macro .set reorder move $5,$16 .set noreorder .set nomacro jal filter_item_regist li $4,1 # 0x1 .set macro .set reorder lw $2,48($sp) .set noreorder .set nomacro bne $2,$0,$L519 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L516 $L574: $L579: $L620: lui $2,%hi(malloc_sizes+20) lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L756 move $17,$2 .set macro .set reorder addiu $2,$2,8 addiu $5,$18,%lo($LC18) sw $17,4($17) addiu $4,$sp,48 sw $2,4($2) move $18,$0 sw $2,8($17) lui $2,%hi(filter_rule_num) sw $17,0($17) sw $0,24($17) lw $2,%lo(filter_rule_num)($2) sw $21,16($17) .set noreorder .set nomacro jal strsep sw $2,20($17) .set macro .set reorder sw $2,56($sp) lui $5,%hi($LC26) $L763: addiu $4,$sp,56 addiu $5,$5,%lo($LC26) .set noreorder .set nomacro jal strsep addu $16,$18,$17 .set macro .set reorder addiu $18,$18,1 .set noreorder .set nomacro jal str2hexnum move $4,$2 .set macro .set reorder sb $2,28($16) lw $2,56($sp) .set noreorder .set nomacro bne $2,$0,$L763 lui $5,%hi($LC26) .set macro .set reorder move $5,$17 .set noreorder .set nomacro jal filter_item_regist li $4,2 # 0x2 .set macro .set reorder j $L516 $L631: $L638: $L679: lui $2,%hi(malloc_sizes+20) $L764: lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder addiu $5,$18,%lo($LC18) move $16,$2 .set noreorder .set nomacro beq $2,$0,$L756 addiu $4,$sp,48 .set macro .set reorder jal strsep sw $2,56($sp) lb $2,0($2) .set noreorder .set nomacro beq $2,$0,$L633 addiu $3,$16,8 .set macro .set reorder sw $16,4($16) lui $2,%hi(filter_rule_num) sw $3,4($3) sw $16,0($16) sw $3,8($16) sw $0,24($16) lw $2,%lo(filter_rule_num)($2) sw $21,16($16) sw $2,20($16) lw $4,56($sp) jal strlen sltu $2,$2,41 .set noreorder .set nomacro beq $2,$0,$L688 li $5,39 # 0x27 .set macro .set reorder lw $4,56($sp) jal strlen move $5,$2 $L688: lw $4,56($sp) .set noreorder .set nomacro beq $5,$0,$L690 addiu $3,$16,28 .set macro .set reorder move $2,$5 #APP .set noreorder .set noat 1: lbu $1,($4) subu $2,1 sb $1,($3) beqz $1,2f addiu $3,1 bnez $2,1b addiu $4,1 2: .set at .set reorder #NO_APP $L690: addu $2,$5,$16 li $4,3 # 0x3 move $5,$16 .set noreorder .set nomacro jal filter_item_regist sb $0,28($2) .set macro .set reorder $L633: lw $2,48($sp) .set noreorder .set nomacro bne $2,$0,$L764 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L516 $L692: $L699: $L740: $L762: li $5,208 # 0xd0 lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc lui $17,%hi($LC18) .set macro .set reorder addiu $5,$17,%lo($LC18) move $16,$2 addiu $4,$sp,48 .set noreorder .set nomacro beq $16,$0,$L756 addiu $2,$2,8 .set macro .set reorder sw $16,4($16) sw $2,8($16) sw $2,4($2) lui $2,%hi(filter_rule_num) sw $16,0($16) sw $0,24($16) lw $2,%lo(filter_rule_num)($2) sw $21,16($16) .set noreorder .set nomacro jal strsep sw $2,20($16) .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder li $6,4 # 0x4 addiu $4,$16,28 addiu $5,$sp,60 .set noreorder .set nomacro jal memcpy sw $2,60($sp) .set macro .set reorder addiu $4,$sp,48 .set noreorder .set nomacro jal strsep addiu $5,$17,%lo($LC18) .set macro .set reorder move $4,$2 sw $2,56($sp) lw $2,60($sp) bne $2,$0,$L747 jal str2hexnum .set noreorder .set nomacro beq $2,$0,$L757 li $2,1440 # 0x5a0 .set macro .set reorder $L747: lw $4,56($sp) jal str2hexnum $L757: li $6,4 # 0x4 addiu $4,$16,32 addiu $5,$sp,60 .set noreorder .set nomacro jal memcpy sw $2,60($sp) .set macro .set reorder addiu $5,$17,%lo($LC18) .set noreorder .set nomacro jal strsep addiu $4,$sp,48 .set macro .set reorder move $4,$2 .set noreorder .set nomacro jal str2hexnum sw $2,56($sp) .set macro .set reorder addiu $4,$16,36 addiu $5,$sp,60 li $6,4 # 0x4 .set noreorder .set nomacro bne $2,$0,$L749 sw $2,60($sp) .set macro .set reorder li $2,255 # 0xff sw $2,60($sp) $L749: jal memcpy move $5,$16 .set noreorder .set nomacro jal filter_item_regist li $4,4 # 0x4 .set macro .set reorder lw $2,48($sp) .set noreorder .set nomacro bne $2,$0,$L692 lui $2,%hi(malloc_sizes+20) .set macro .set reorder $L516: lw $2,44($sp) .set noreorder .set nomacro bne $2,$0,$L765 addiu $4,$sp,44 .set macro .set reorder lui $2,%hi(filter_rule_num) lw $3,%lo(filter_rule_num)($2) addiu $3,$3,1 sw $3,%lo(filter_rule_num)($2) lw $2,40($sp) .set noreorder .set nomacro bne $2,$0,$L766 lui $5,%hi($LC23) .set macro .set reorder $L756: .set noreorder .set nomacro jal kfree move $4,$19 .set macro .set reorder .set noreorder .set nomacro j $L438 move $2,$20 .set macro .set reorder $L752: .set noreorder .set nomacro jal kfree move $4,$19 .set macro .set reorder li $2,-14 # 0xfffffff2 $L438: lw $31,92($sp) lw $22,88($sp) lw $21,84($sp) lw $20,80($sp) lw $19,76($sp) lw $18,72($sp) lw $17,68($sp) lw $16,64($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,96 .set macro .set reorder .end filter_table_write_proc .section .text.scan_table,"ax",@progbits .align 2 .globl scan_table .ent scan_table .type scan_table, @function scan_table: .set nomips16 .frame $sp,56,$31 # vars= 0, regs= 9/0, args= 16, gp= 0 .mask 0x80ff0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-56 sw $23,44($sp) move $23,$5 sw $22,40($sp) li $5,-1 # 0xffffffff sw $20,32($sp) move $22,$7 sw $19,28($sp) move $20,$4 sw $18,24($sp) move $19,$6 sw $31,48($sp) sw $21,36($sp) sw $17,20($sp) sw $16,16($sp) lw $2,28($6) beq $2,$0,$L767 move $18,$0 lw $17,8($6) addiu $21,$6,8 $L798: beq $17,$21,$L797 nop lw $3,16($17) andi $2,$3,0x1 bne $2,$0,$L773 move $16,$17 lw $2,20($17) bne $23,$2,$L771 nop $L773: andi $2,$3,0x200 beq $2,$0,$L774 andi $2,$3,0x100 andi $2,$3,0x2 lw $6,0($22) beq $2,$0,$L775 move $4,$20 lw $5,20($16) jal scan_table move $7,$6 move $18,$2 $L775: beq $18,$0,$L771 nop j $L767 li $5,1 # 0x1 $L774: bne $2,$0,$L780 move $4,$20 lw $2,28($19) jal $2 addiu $5,$16,28 beq $2,$0,$L771 nop $L780: lw $3,16($16) andi $2,$3,0x2 bne $2,$0,$L781 move $4,$20 andi $2,$3,0x1 j $L800 li $5,1 # 0x1 $L781: lw $6,0($22) lw $5,20($16) jal scan_table move $7,$6 beq $2,$0,$L771 move $18,$2 lw $3,16($16) li $5,1 # 0x1 andi $2,$3,0x1 $L800: beq $2,$0,$L767 andi $2,$3,0x8 j $L767 sltu $5,$2,1 $L771: lw $17,0($17) j $L798 nop $L797: lw $3,16($16) andi $2,$3,0x1 beq $2,$0,$L767 move $5,$0 srl $2,$3,3 andi $5,$2,0x1 $L767: lw $31,48($sp) move $2,$5 lw $23,44($sp) lw $22,40($sp) lw $21,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,56 .set macro .set reorder .end scan_table .rdata .align 2 $LC27: .ascii "[ip_range_filter]%d.%d.%d.%d ===> %d.%d.%d.%d [Blocked]" .ascii "\n\000" .align 2 $LC30: .ascii "[schedule_filter]%d.%d.%d.%d ===> %d.%d.%d.%d [Blocked]" .ascii "\n\000" .align 2 $LC28: .ascii "[mac_filter]%d.%d.%d.%d(%02x:%02x:%02x:%02x:%02x:%02x) =" .ascii "==> %d.%d.%d.%d [Blocked]\n\000" .align 2 $LC29: .ascii "[url_key_filter]%d.%d.%d.%d ==> %d.%d.%d.%d(%s) [Blocke" .ascii "d]\n\000" .section .text.log_fastFilter,"ax",@progbits .align 2 .globl log_fastFilter .ent log_fastFilter .type log_fastFilter, @function log_fastFilter: .set nomips16 .frame $sp,88,$31 # vars= 8, regs= 3/0, args= 64, gp= 0 .mask 0x80030000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-88 sw $16,72($sp) move $16,$4 addiu $4,$sp,64 sw $17,76($sp) sw $31,80($sp) jal do_gettimeofday move $17,$5 li $2,2 # 0x2 lw $13,152($17) beq $16,$2,$L806 slt $2,$16,3 beq $2,$0,$L817 li $2,3 # 0x3 li $2,1 # 0x1 beq $16,$2,$L805 lui $4,%hi($LC27) j $L804 nop $L817: beq $16,$2,$L813 li $2,4 # 0x4 beq $16,$2,$L814 lui $4,%hi($LC30) j $L804 nop $L805: lw $5,12($13) j $L819 addiu $4,$4,%lo($LC27) $L806: lw $2,156($17) lui $4,%hi($LC28) lw $5,12($13) addiu $4,$4,%lo($LC28) lbu $12,11($2) lbu $11,6($2) andi $3,$5,0xff lbu $10,7($2) srl $6,$5,16 lbu $9,8($2) srl $7,$5,8 lbu $8,9($2) srl $5,$5,24 lbu $2,10($2) andi $6,$6,0x00ff sw $3,16($sp) andi $7,$7,0x00ff sw $11,20($sp) sw $10,24($sp) sw $9,28($sp) sw $8,32($sp) sw $2,36($sp) sw $12,40($sp) lbu $2,16($13) sw $2,44($sp) lbu $2,17($13) sw $2,48($sp) lbu $2,18($13) sw $2,52($sp) lbu $2,19($13) jal scrlog_printk sw $2,56($sp) j $L804 nop $L813: lw $5,12($13) lui $4,%hi($LC29) addiu $4,$4,%lo($LC29) andi $2,$5,0xff srl $6,$5,16 sw $2,16($sp) srl $7,$5,8 lbu $2,16($13) srl $5,$5,24 andi $6,$6,0x00ff andi $7,$7,0x00ff sw $2,20($sp) lbu $2,17($13) sw $2,24($sp) lbu $2,18($13) sw $2,28($sp) lui $2,%hi(log_info) lbu $3,19($13) addiu $2,$2,%lo(log_info) sw $2,36($sp) j $L818 sw $3,32($sp) $L814: lw $5,12($13) addiu $4,$4,%lo($LC30) $L819: andi $2,$5,0xff srl $6,$5,16 sw $2,16($sp) srl $7,$5,8 lbu $2,16($13) srl $5,$5,24 andi $6,$6,0x00ff andi $7,$7,0x00ff sw $2,20($sp) lbu $2,17($13) sw $2,24($sp) lbu $2,18($13) sw $2,28($sp) lbu $2,19($13) sw $2,32($sp) $L818: jal scrlog_printk nop $L804: lw $31,80($sp) move $2,$0 lw $17,76($sp) lw $16,72($sp) j $31 addiu $sp,$sp,88 .set macro .set reorder .end log_fastFilter .section .text.do_filter,"ax",@progbits .align 2 .globl do_filter .ent do_filter .type do_filter, @function do_filter: .set nomips16 .frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-32 sw $17,20($sp) lui $17,%hi(table_list_head) sw $16,16($sp) addiu $2,$17,%lo(table_list_head) lw $16,%lo(table_list_head)($17) sw $18,24($sp) move $18,$4 beq $16,$2,$L830 sw $31,28($sp) move $4,$18 $L831: move $6,$16 move $7,$16 jal scan_table move $5,$0 move $3,$2 li $2,-1 # 0xffffffff beq $3,$2,$L830 addiu $4,$17,%lo(table_list_head) li $2,1 # 0x1 bne $3,$2,$L823 lui $2,%hi(log_enable) lw $2,%lo(log_enable)($2) beq $2,$0,$L827 nop lw $4,16($16) jal log_fastFilter move $5,$18 $L827: j $L820 li $2,1 # 0x1 $L823: lw $16,0($16) bne $16,$4,$L831 move $4,$18 $L830: move $2,$0 $L820: lw $31,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,32 .set macro .set reorder .end do_filter .section .text.FilterWeb_v2,"ax",@progbits .align 2 .globl FilterWeb_v2 .ent FilterWeb_v2 .type FilterWeb_v2, @function FilterWeb_v2: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $16,16($sp) sw $31,20($sp) jal need_filter move $16,$4 beq $2,$0,$L836 move $4,$16 lw $31,20($sp) lw $16,16($sp) j do_filter addiu $sp,$sp,24 $L836: lw $31,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end FilterWeb_v2 .rdata .align 2 $LC32: .ascii "filter_table\000" .section .text.filter_table_init,"ax",@progbits .align 2 .globl filter_table_init .ent filter_table_init .type filter_table_init, @function filter_table_init: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 sw $31,16($sp) jal filter_table_head_init nop lui $4,%hi($LC32) addiu $4,$4,%lo($LC32) move $5,$0 jal create_proc_entry move $6,$0 lui $5,%hi(res12) move $4,$2 sw $2,%lo(res12)($5) beq $4,$0,$L838 move $2,$0 lui $3,%hi(filter_table_read_proc) addiu $3,$3,%lo(filter_table_read_proc) sw $3,64($4) lui $3,%hi(filter_table_write_proc) lw $4,%lo(res12)($5) addiu $3,$3,%lo(filter_table_write_proc) sw $3,68($4) $L838: lw $31,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_table_init .section .text.filter_init_fastpath,"ax",@progbits .align 2 .globl filter_init_fastpath .ent filter_init_fastpath .type filter_init_fastpath, @function filter_init_fastpath: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 li $3,1 # 0x1 lui $2,%hi(filter_rule_num) sw $31,16($sp) jal filter_table_init sw $3,%lo(filter_rule_num)($2) move $2,$0 lw $31,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_init_fastpath .section .text.filter_exit_fastpath,"ax",@progbits .align 2 .globl filter_exit_fastpath .ent filter_exit_fastpath .type filter_exit_fastpath, @function filter_exit_fastpath: .set nomips16 .frame $sp,24,$31 # vars= 0, regs= 2/0, args= 16, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-24 lui $4,%hi($LC32) sw $16,16($sp) lui $16,%hi(res12) lw $2,%lo(res12)($16) addiu $4,$4,%lo($LC32) sw $31,20($sp) beq $2,$0,$L841 move $5,$2 jal remove_proc_entry nop sw $0,%lo(res12)($16) $L841: lw $31,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end filter_exit_fastpath .rdata .align 2 $LC33: .ascii "dos_filter: alloc skb fail!\n\000" .section .text.GenerateTCPENDACK,"ax",@progbits .align 2 .ent GenerateTCPENDACK .type GenerateTCPENDACK, @function GenerateTCPENDACK: .set nomips16 .frame $sp,104,$31 # vars= 48, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-104 lui $5,%hi($LC0) sw $fp,96($sp) move $fp,$4 lui $4,%hi(init_net) addiu $5,$5,%lo($LC0) addiu $4,$4,%lo(init_net) sw $31,100($sp) sw $23,92($sp) sw $18,72($sp) sw $17,68($sp) sw $22,88($sp) sw $21,84($sp) sw $20,80($sp) sw $19,76($sp) .set noreorder .set nomacro jal __dev_get_by_name sw $16,64($sp) .set macro .set reorder lui $4,%hi(arp_tbl) lw $23,152($fp) move $6,$2 addiu $4,$4,%lo(arp_tbl) lbu $2,0($23) addiu $5,$23,12 andi $2,$2,0xf sll $2,$2,2 .set noreorder .set nomacro jal neigh_lookup addu $18,$23,$2 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L842 move $17,$2 .set macro .set reorder lw $2,68($2) .set noreorder .set nomacro beq $2,$0,$L842 move $4,$fp .set macro .set reorder li $5,32 # 0x20 move $6,$0 .set noreorder .set nomacro jal skb_copy_expand li $7,32 # 0x20 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L847 move $22,$2 .set macro .set reorder lui $4,%hi($LC33) .set noreorder .set nomacro jal scrlog_printk addiu $4,$4,%lo($LC33) .set macro .set reorder j $L842 $L847: lw $2,152($2) move $4,$22 lbu $5,0($2) andi $5,$5,0xf sll $5,$5,2 .set noreorder .set nomacro jal skb_trim addiu $5,$5,20 .set macro .set reorder move $4,$22 .set noreorder .set nomacro jal skb_put move $5,$0 .set macro .set reorder lw $16,68($17) jal local_bh_disable li $6,16 # 0x10 lw $4,172($22) addiu $5,$16,20 .set noreorder .set nomacro jal memcpy addiu $4,$4,-16 .set macro .set reorder jal local_bh_enable lhu $5,10($16) .set noreorder .set nomacro jal skb_push move $4,$22 .set macro .set reorder #APP 1: ll $3, 72($17) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($17) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L857 .set noreorder .set nomacro jal neigh_destroy move $4,$17 .set macro .set reorder $L857: sw $0,112($22) li $19,268369920 # 0xfff0000 lhu $2,2($18) ori $19,$19,0xffff lw $3,52($sp) addiu $20,$sp,40 sh $2,40($sp) li $2,1342177280 # 0x50000000 and $3,$3,$19 move $4,$20 or $3,$3,$2 lui $2,%hi(url_cache) lw $9,8($18) addiu $21,$2,%lo(url_cache) lhu $8,0($18) li $2,-327680 # 0xfffb0000 lw $5,4($18) ori $2,$2,0xffff sw $3,52($sp) move $6,$0 sb $0,53($sp) addiu $5,$5,1 lw $3,52($sp) lhu $7,12($21) and $3,$3,$2 li $2,1048576 # 0x100000 or $3,$3,$2 li $2,-131072 # 0xfffe0000 ori $2,$2,0xffff and $3,$3,$2 sw $3,52($sp) sh $8,42($sp) sh $7,54($sp) sw $9,44($sp) sw $5,48($sp) sh $0,58($sp) lw $17,84($22) sh $0,56($sp) addiu $17,$17,-34 move $5,$17 andi $17,$17,0xffff lw $18,12($23) lw $16,16($23) .set noreorder .set nomacro jal csum_partial addiu $17,$17,6 .set macro .set reorder move $5,$20 #APP .set push # csum_tcpudp_nofold .set noat addu $16, $18 sltu $1, $16, $18 addu $16, $1 addu $16, $17 sltu $1, $16, $17 addu $16, $1 addu $16, $2 sltu $1, $16, $2 addu $16, $1 .set pop .set push # csum_fold .set noat sll $1, $16, 16 addu $16, $1 sltu $1, $16, $1 srl $16, $16, 16 addu $16, $1 xori $16, 0xffff .set pop #NO_APP sh $16,56($sp) li $6,20 # 0x14 lw $4,172($22) .set noreorder .set nomacro jal memcpy addiu $4,$4,34 .set macro .set reorder li $2,1073741824 # 0x40000000 lw $3,16($sp) addiu $7,$sp,16 lbu $6,14($21) and $3,$3,$19 or $3,$3,$2 li $2,-251723776 # 0xf0ff0000 ori $2,$2,0xffff and $3,$3,$2 li $2,83886080 # 0x5000000 or $3,$3,$2 sw $3,16($sp) lw $2,12($23) lw $3,104($fp) sw $2,32($sp) li $2,-805371904 # 0xcfff0000 ori $2,$2,0xffff and $3,$3,$2 lw $5,16($23) sw $3,104($fp) lui $3,%hi(url_cache) lhu $2,%lo(url_cache)($3) li $3,40 sh $3,18($sp) addiu $2,$2,1 sh $2,20($sp) li $2,6 # 0x6 sh $0,22($sp) sb $0,17($sp) lw $3,16($sp) lw $4,20($sp) sb $2,25($sp) srl $2,$3,22 sb $6,24($sp) addu $6,$3,$4 sh $0,26($sp) sltu $4,$6,$4 lw $3,24($sp) addu $6,$6,$4 andi $2,$2,0x3c addu $6,$6,$3 addu $8,$7,$2 sltu $4,$6,$3 addiu $7,$sp,32 addu $6,$6,$4 addu $6,$6,$5 sltu $4,$6,$5 addu $6,$6,$4 sw $5,28($sp) $L861: lw $2,0($7) addiu $7,$7,4 addu $6,$6,$2 sltu $4,$6,$2 .set noreorder .set nomacro bne $7,$8,$L861 addu $6,$6,$4 .set macro .set reorder #APP .set push # csum_fold .set noat sll $1, $6, 16 addu $6, $1 sltu $1, $6, $1 srl $6, $6, 16 addu $6, $1 xori $6, 0xffff .set pop #NO_APP sh $6,26($sp) addiu $5,$sp,16 lw $4,172($22) li $6,20 # 0x14 .set noreorder .set nomacro jal memcpy addiu $4,$4,14 .set macro .set reorder lui $3,%hi(url_cache) addiu $2,$3,%lo(url_cache) move $4,$22 .set noreorder .set nomacro jal dev_queue_xmit sb $0,16($2) .set macro .set reorder $L842: lw $31,100($sp) move $2,$0 lw $fp,96($sp) lw $23,92($sp) lw $22,88($sp) lw $21,84($sp) lw $20,80($sp) lw $19,76($sp) lw $18,72($sp) lw $17,68($sp) lw $16,64($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,104 .set macro .set reorder .end GenerateTCPENDACK .section .text.GenerateTCPFINACK,"ax",@progbits .align 2 .ent GenerateTCPFINACK .type GenerateTCPFINACK, @function GenerateTCPFINACK: .set nomips16 .frame $sp,104,$31 # vars= 48, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-104 lui $5,%hi($LC0) sw $fp,96($sp) move $fp,$4 lui $4,%hi(init_net) addiu $5,$5,%lo($LC0) addiu $4,$4,%lo(init_net) sw $31,100($sp) sw $23,92($sp) sw $18,72($sp) sw $17,68($sp) sw $22,88($sp) sw $21,84($sp) sw $20,80($sp) sw $19,76($sp) .set noreorder .set nomacro jal __dev_get_by_name sw $16,64($sp) .set macro .set reorder lui $4,%hi(arp_tbl) lw $23,152($fp) move $6,$2 addiu $4,$4,%lo(arp_tbl) lbu $2,0($23) addiu $5,$23,12 andi $2,$2,0xf sll $2,$2,2 .set noreorder .set nomacro jal neigh_lookup addu $18,$23,$2 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L866 move $17,$2 .set macro .set reorder lw $2,68($2) .set noreorder .set nomacro beq $2,$0,$L866 move $4,$fp .set macro .set reorder li $5,32 # 0x20 move $6,$0 .set noreorder .set nomacro jal skb_copy_expand li $7,32 # 0x20 .set macro .set reorder .set noreorder .set nomacro bne $2,$0,$L871 move $22,$2 .set macro .set reorder lui $4,%hi($LC33) .set noreorder .set nomacro jal scrlog_printk addiu $4,$4,%lo($LC33) .set macro .set reorder j $L866 $L871: lw $2,152($2) move $4,$22 lbu $5,0($2) andi $5,$5,0xf sll $5,$5,2 .set noreorder .set nomacro jal skb_trim addiu $5,$5,20 .set macro .set reorder move $4,$22 .set noreorder .set nomacro jal skb_put move $5,$0 .set macro .set reorder lw $16,68($17) jal local_bh_disable li $6,16 # 0x10 lw $4,172($22) addiu $5,$16,20 .set noreorder .set nomacro jal memcpy addiu $4,$4,-16 .set macro .set reorder jal local_bh_enable lhu $5,10($16) .set noreorder .set nomacro jal skb_push move $4,$22 .set macro .set reorder #APP 1: ll $3, 72($17) # atomic_sub_return nop subu $2, $3, 1 sc $2, 72($17) beqz $2, 2f subu $2, $3, 1 .subsection 2 2: b 1b .previous #NO_APP bne $2,$0,$L881 .set noreorder .set nomacro jal neigh_destroy move $4,$17 .set macro .set reorder $L881: sw $0,112($22) li $19,268369920 # 0xfff0000 lhu $2,2($18) ori $19,$19,0xffff lw $3,52($sp) addiu $20,$sp,40 sh $2,40($sp) li $2,1342177280 # 0x50000000 and $3,$3,$19 move $4,$20 or $3,$3,$2 lui $2,%hi(url_cache) lw $8,8($18) addiu $21,$2,%lo(url_cache) lw $9,4($18) li $2,-327680 # 0xfffb0000 lhu $7,0($18) ori $2,$2,0xffff sw $3,52($sp) move $6,$0 sb $0,53($sp) lw $3,52($sp) lhu $5,12($21) and $3,$3,$2 li $2,1048576 # 0x100000 or $3,$3,$2 li $2,65536 # 0x10000 or $3,$3,$2 sw $3,52($sp) sh $7,42($sp) sw $8,44($sp) sw $9,48($sp) sh $5,54($sp) sh $0,58($sp) lw $17,84($22) sh $0,56($sp) addiu $17,$17,-34 move $5,$17 andi $17,$17,0xffff lw $18,12($23) lw $16,16($23) .set noreorder .set nomacro jal csum_partial addiu $17,$17,6 .set macro .set reorder move $5,$20 #APP .set push # csum_tcpudp_nofold .set noat addu $16, $18 sltu $1, $16, $18 addu $16, $1 addu $16, $17 sltu $1, $16, $17 addu $16, $1 addu $16, $2 sltu $1, $16, $2 addu $16, $1 .set pop .set push # csum_fold .set noat sll $1, $16, 16 addu $16, $1 sltu $1, $16, $1 srl $16, $16, 16 addu $16, $1 xori $16, 0xffff .set pop #NO_APP sh $16,56($sp) li $6,20 # 0x14 lw $4,172($22) .set noreorder .set nomacro jal memcpy addiu $4,$4,34 .set macro .set reorder li $2,1073741824 # 0x40000000 lw $3,16($sp) addiu $7,$sp,16 lbu $6,14($21) and $3,$3,$19 or $3,$3,$2 li $2,-251723776 # 0xf0ff0000 ori $2,$2,0xffff and $3,$3,$2 li $2,83886080 # 0x5000000 or $3,$3,$2 sw $3,16($sp) lw $2,12($23) lw $3,104($fp) sw $2,32($sp) li $2,-805371904 # 0xcfff0000 ori $2,$2,0xffff and $3,$3,$2 lw $5,16($23) sw $3,104($fp) lui $3,%hi(url_cache) lhu $2,%lo(url_cache)($3) li $3,40 sh $3,18($sp) addiu $2,$2,1 sh $2,20($sp) li $2,6 # 0x6 sh $0,22($sp) sb $0,17($sp) lw $3,16($sp) lw $4,20($sp) sb $2,25($sp) srl $2,$3,22 sb $6,24($sp) addu $6,$3,$4 sh $0,26($sp) sltu $4,$6,$4 lw $3,24($sp) addu $6,$6,$4 andi $2,$2,0x3c addu $6,$6,$3 addu $8,$7,$2 sltu $4,$6,$3 addiu $7,$sp,32 addu $6,$6,$4 addu $6,$6,$5 sltu $4,$6,$5 addu $6,$6,$4 sw $5,28($sp) $L885: lw $2,0($7) addiu $7,$7,4 addu $6,$6,$2 sltu $4,$6,$2 .set noreorder .set nomacro bne $7,$8,$L885 addu $6,$6,$4 .set macro .set reorder #APP .set push # csum_fold .set noat sll $1, $6, 16 addu $6, $1 sltu $1, $6, $1 srl $6, $6, 16 addu $6, $1 xori $6, 0xffff .set pop #NO_APP sh $6,26($sp) addiu $5,$sp,16 lw $4,172($22) li $6,20 # 0x14 .set noreorder .set nomacro jal memcpy addiu $4,$4,14 .set macro .set reorder lui $2,%hi(url_cache) addiu $3,$2,%lo(url_cache) li $2,1 move $4,$22 sb $2,16($3) .set noreorder .set nomacro jal dev_queue_xmit sb $0,15($3) .set macro .set reorder $L866: lw $31,100($sp) move $2,$0 lw $fp,96($sp) lw $23,92($sp) lw $22,88($sp) lw $21,84($sp) lw $20,80($sp) lw $19,76($sp) lw $18,72($sp) lw $17,68($sp) lw $16,64($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,104 .set macro .set reorder .end GenerateTCPFINACK .rdata .align 2 $LC34: .ascii "HTTP/1.1 401 The web site is blocked by administrator\r\n" .ascii "Server: Embedded HTTP Server 2.00\r\n" .ascii "Connection: close\r\n\r\n" .ascii "