.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) sw $16,32($sp) sw $31,44($sp) sw $18,40($sp) lui $17,%hi(init_net) lui $16,%hi($LC0) lw $18,152($4) addiu $5,$16,%lo($LC0) .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) #nop .set noreorder .set nomacro beq $2,$0,$L4 sw $2,16($sp) .set macro .set reorder lw $5,12($2) #nop $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) nop 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,$L69 lui $16,%hi($LC1) .set macro .set reorder lw $3,20($5) lw $2,16($18) #nop .set noreorder .set nomacro beq $2,$3,$L1 move $4,$0 .set macro .set reorder $L4: lui $16,%hi($LC1) $L69: addiu $4,$17,%lo(init_net) .set noreorder .set nomacro jal __dev_get_by_name addiu $5,$16,%lo($LC1) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L17 lui $17,%hi(init_net) .set macro .set reorder lw $2,292($2) #nop .set noreorder .set nomacro beq $2,$0,$L30 sw $2,20($sp) .set macro .set reorder lw $5,12($2) #nop $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) nop 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 $L68 $L17: lui $16,%hi($LC2) addiu $4,$17,%lo(init_net) .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) #nop .set noreorder .set nomacro beq $2,$0,$L30 sw $2,24($sp) .set macro .set reorder lw $5,12($2) #nop $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) nop 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) #nop .set noreorder .set nomacro beq $2,$0,$L1 sw $2,28($sp) .set macro .set reorder lw $5,12($2) #nop $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) nop 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) #nop $L68: beq $3,$2,$L1 $L30: li $4,1 # 0x1 $L1: lw $31,44($sp) lw $18,40($sp) lw $17,36($sp) lw $16,32($sp) move $2,$4 .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 $L83: beq $3,$0,$L82 andi $5,$3,0x00ff addiu $2,$5,-97 addiu $3,$5,-48 sltu $6,$2,6 sltu $2,$3,10 beq $2,$0,$L74 addiu $2,$5,-65 j $L73 move $5,$3 $L74: beq $6,$0,$L76 sltu $2,$2,6 j $L73 addiu $5,$5,-87 $L76: bne $2,$0,$L73 addiu $5,$5,-55 j $31 li $2,-1 # 0xffffffffffffffff $L73: addiu $4,$4,1 lbu $3,0($4) sll $2,$7,4 j $L83 addu $7,$2,$5 $L82: 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) sw $22,40($sp) sw $20,32($sp) sw $19,28($sp) lb $20,75($sp) sw $18,24($sp) sw $17,20($sp) sw $16,16($sp) sw $0,0($fp) sw $31,52($sp) move $19,$4 move $22,$5 move $23,$6 move $18,$7 sw $0,0($21) move $16,$0 move $17,$0 addu $4,$19,$17 $L110: lb $5,0($4) li $2,13 # 0xd bne $5,$2,$L88 andi $3,$16,0x1 beq $3,$0,$L91 addiu $16,$16,1 j $L107 move $16,$0 $L88: li $2,10 # 0xa bne $5,$2,$L92 nop bne $3,$0,$L91 addiu $16,$16,1 $L92: j $L107 move $16,$0 $L91: slt $2,$16,4 beq $2,$0,$L84 move $2,$0 $L107: move $5,$23 jal memcmp move $6,$18 bne $2,$0,$L87 subu $3,$22,$18 addu $2,$17,$18 sw $2,0($21) move $3,$2 addu $2,$19,$2 lb $2,0($2) move $5,$0 $L109: beq $2,$20,$L106 li $2,1 # 0x1 sltu $2,$22,$3 addiu $3,$3,1 addiu $5,$5,1 bne $2,$0,$L86 addu $4,$19,$3 lb $2,0($4) j $L109 nop $L106: j $L84 sw $5,0($fp) $L87: addiu $17,$17,1 sltu $2,$3,$17 beq $2,$0,$L110 addu $4,$19,$17 $L86: move $2,$0 $L84: 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) sw $31,84($sp) sw $21,76($sp) sw $20,72($sp) sw $19,68($sp) sw $18,64($sp) sw $17,60($sp) .set noreorder .set nomacro jal strlen move $22,$5 .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) #nop .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) andi $2,$2,0xf sll $2,$2,2 addu $2,$16,$2 lw $3,12($2) li $5,208 # 0xd0 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 $17,$2 .set noreorder .set nomacro beq $2,$0,$L111 move $4,$0 .set macro .set reorder lbu $2,0($16) lhu $3,2($16) lui $21,%hi($LC4) andi $2,$2,0xf sll $2,$2,3 move $4,$18 addiu $5,$21,%lo($LC4) 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 $19,13 # 0xd addiu $20,$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 $19,16($sp) .set noreorder .set nomacro jal find_pattern sw $20,20($sp) .set macro .set reorder beq $2,$0,$L171 lw $2,40($sp) lw $4,44($sp) #nop .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) addu $2,$17,$2 sb $0,0($2) move $4,$18 addiu $2,$sp,48 li $7,4 # 0x4 sw $19,16($sp) sw $20,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) #nop 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) lw $3,44($sp) move $4,$17 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 move $18,$2 .set noreorder .set nomacro bne $16,$0,$L175 move $19,$0 .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) #nop .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 .set noreorder .set nomacro jal memcmp move $6,$18 .set macro .set reorder addiu $16,$16,1 .set noreorder .set nomacro beq $2,$0,$L185 addiu $19,$19,1 .set macro .set reorder lb $2,0($16) #nop 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) 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) move $2,$4 .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) nop 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) lw $2,0($5) move $4,$5 lw $5,12($3) nop sltu $2,$5,$2 bne $2,$0,$L200 li $3,1 # 0x1 lw $2,4($4) nop sltu $2,$2,$5 beq $2,$0,$L197 nop $L200: move $3,$0 $L197: j $31 move $2,$3 .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 lw $5,16($sp) li $3,-1851654144 # 0xffffffff91a20000 ori $3,$3,0xb3c5 mult $5,$3 li $7,-2004353024 # 0xffffffff88880000 ori $7,$7,0x8889 li $4,-1037172736 # 0xffffffffc22e0000 ori $4,$4,0x4507 sra $8,$5,31 li $2,715784192 # 0x2aaa0000 ori $2,$2,0xaaab lw $11,8($16) nop andi $12,$11,0x80 mfhi $3 addu $3,$3,$5 sra $3,$3,11 mult $5,$7 subu $3,$3,$8 sra $9,$3,31 mfhi $6 addu $6,$6,$5 sra $6,$6,5 mult $5,$4 subu $6,$6,$8 sra $10,$6,31 mfhi $4 addu $4,$4,$5 sra $4,$4,16 mult $3,$2 subu $4,$4,$8 addiu $4,$4,4 sra $8,$4,31 mfhi $2 sra $2,$2,2 subu $9,$2,$9 mult $6,$7 sll $2,$9,1 addu $2,$2,$9 sll $2,$2,3 subu $9,$3,$2 li $3,-1840709632 # 0xffffffff92490000 ori $3,$3,0x2493 sll $5,$9,4 subu $5,$5,$9 sll $5,$5,2 mfhi $7 addu $7,$7,$6 sra $7,$7,5 mult $4,$3 subu $7,$7,$10 sll $2,$7,4 subu $2,$2,$7 sll $2,$2,2 subu $7,$6,$2 addu $5,$5,$7 mfhi $3 addu $3,$3,$4 sra $3,$3,2 subu $3,$3,$8 sll $2,$3,3 subu $2,$2,$3 subu $3,$4,$2 li $2,1 # 0x1 sll $2,$2,$3 bne $12,$0,$L203 and $2,$11,$2 beq $2,$0,$L201 move $2,$0 $L203: lw $2,0($16) nop bne $2,$0,$L206 sltu $3,$5,$2 lw $2,4($16) nop beq $2,$0,$L205 nop j $L208 sltu $2,$2,$5 $L206: bne $3,$0,$L201 move $2,$0 lw $2,4($16) nop sltu $2,$2,$5 $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 sw $16,16($sp) lui $16,%hi(table_list_head) addiu $4,$16,%lo(table_list_head) move $5,$0 sw $31,20($sp) jal memset li $6,32 # 0x20 addiu $2,$16,%lo(table_list_head) li $3,1 # 0x1 sw $3,24($2) lui $5,%hi(table_list_head+8) sw $2,%lo(table_list_head)($16) lw $31,20($sp) lw $16,16($sp) addiu $4,$5,%lo(table_list_head+8) sw $4,4($4) sw $4,%lo(table_list_head+8)($5) sw $2,4($2) sw $0,16($2) sw $0,20($2) sw $0,28($2) addiu $sp,$sp,24 j $31 move $2,$0 .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) sw $18,32($sp) sw $31,40($sp) move $18,$4 bne $2,$0,$L213 move $19,$5 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 move $4,$2 addiu $3,$2,8 li $2,1 # 0x1 sw $2,24($4) sw $18,16($4) sw $19,28($4) sw $4,0($4) sw $0,20($4) sw $3,8($4) lw $5,%lo(table_list_head)($17) sw $3,4($3) lw $31,40($sp) sw $5,0($4) sw $4,4($5) sw $16,4($4) lw $3,24($16) lw $19,36($sp) sw $4,%lo(table_list_head)($17) addiu $3,$3,1 sw $3,24($16) lw $18,32($sp) lw $17,28($sp) lw $16,24($sp) move $2,$0 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) lw $16,%lo(table_list_head)($19) sw $31,36($sp) sw $20,32($sp) sw $18,24($sp) sw $17,20($sp) addiu $2,$19,%lo(table_list_head) lw $20,0($16) beq $16,$2,$L286 li $2,1 # 0x1 $L280: lw $5,8($16) addiu $18,$16,8 $L285: lw $17,0($5) beq $5,$18,$L284 li $2,1048576 # 0x100000 lw $4,4($5) lw $3,0($5) ori $2,$2,0x100 sw $3,0($4) sw $2,0($5) li $2,2097152 # 0x200000 ori $2,$2,0x200 sw $4,4($3) sw $2,4($5) jal kfree move $4,$5 lw $2,24($16) move $5,$17 addiu $2,$2,-1 j $L285 sw $2,24($16) $L284: lw $4,4($16) lw $3,0($16) ori $2,$2,0x100 sw $3,0($4) sw $2,0($16) li $2,2097152 # 0x200000 ori $2,$2,0x200 sw $4,4($3) sw $2,4($16) jal kfree move $4,$16 addiu $3,$19,%lo(table_list_head) lw $2,24($3) move $16,$20 lw $20,0($20) addiu $2,$2,-1 bne $16,$3,$L280 sw $2,24($3) li $2,1 # 0x1 $L286: lui $3,%hi(filter_rule_num) lw $31,36($sp) lw $20,32($sp) lw $19,28($sp) lw $18,24($sp) lw $17,20($sp) lw $16,16($sp) sw $2,%lo(filter_rule_num)($3) lui $2,%hi(log_enable) sw $0,%lo(log_enable)($2) addiu $sp,$sp,40 j $31 move $2,$0 .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) nop 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) nop bne $6,$3,$L296 nop $L298: li $4,-1 # 0xffffffffffffffff $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) sw $23,76($sp) sw $22,72($sp) sw $19,60($sp) sw $16,48($sp) sw $31,84($sp) sw $21,68($sp) sw $20,64($sp) sw $18,56($sp) sw $17,52($sp) addiu $16,$2,%lo(malloc_sizes) move $fp,$4 lw $4,52($16) sw $5,92($sp) li $5,208 # 0xd0 move $23,$6 jal kmem_cache_alloc move $22,$7 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 lw $3,16($18) li $2,3 # 0x3 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 addiu $5,$5,%lo($LC15) $L418: beq $3,$2,$L412 lui $5,%hi($LC15) j $L417 addiu $5,$5,%lo($LC15) $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 lbu $2,30($16) lbu $6,28($16) lbu $7,29($16) sw $2,16($sp) lbu $2,31($16) lui $5,%hi($LC9) addiu $5,$5,%lo($LC9) sw $2,20($sp) lbu $2,32($16) move $4,$17 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 lw $6,28($16) lui $5,%hi($LC12) move $4,$17 jal sprintf addiu $5,$5,%lo($LC12) move $4,$19 jal strcat move $5,$17 lw $6,32($16) lui $5,%hi($LC13) move $4,$17 jal sprintf addiu $5,$5,%lo($LC13) move $4,$19 jal strcat move $5,$17 lw $6,36($16) lui $5,%hi($LC14) 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 move $4,$17 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) addiu $5,$5,%lo($LC16) move $4,$fp jal sprintf move $6,$19 move $16,$2 addu $2,$23,$22 slt $2,$2,$16 bne $2,$0,$L420 li $3,1 # 0x1 lw $2,104($sp) nop sw $3,0($2) $L420: lw $3,92($sp) subu $16,$16,$23 slt $2,$22,$16 movn $16,$22,$2 #RLX4181/RLX4281:conditional move addu $2,$fp,$23 sw $2,0($3) move $4,$19 slt $2,$16,0 jal kfree movn $16,$0,$2 #RLX4181/RLX4281: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= 7/0, args= 16, gp= 0 .mask 0x803f0000,-8 .fmask 0x00000000,0 $L443: $L484: addiu $sp,$sp,-96 sw $19,76($sp) sw $18,72($sp) sw $17,68($sp) sw $31,88($sp) sw $21,84($sp) sw $20,80($sp) sw $16,64($sp) lui $2,%hi(malloc_sizes+60) lw $4,%lo(malloc_sizes+60)($2) move $17,$5 li $5,208 # 0xd0 .set noreorder .set nomacro jal kmem_cache_alloc move $19,$6 .set macro .set reorder move $18,$2 .set noreorder .set nomacro beq $18,$0,$L438 li $2,-14 # 0xfffffffffffffff2 .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 $18,40($sp) .set macro .set reorder move $6,$2 addiu $4,$16,%lo(get_info_from_usr_space) .set noreorder .set nomacro jal memset move $5,$0 .set macro .set reorder .set noreorder .set nomacro beq $17,$0,$L752 addu $2,$17,$19 .set macro .set reorder lw $3,24($28) or $2,$17,$2 or $2,$2,$19 and $3,$3,$2 addiu $7,$16,%lo(get_info_from_usr_space) .set noreorder .set nomacro bne $3,$0,$L489 move $6,$19 .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 $19,$0,$L497 move $4,$18 .set macro .set reorder move $3,$7 move $2,$19 #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 $L497: .set noreorder .set nomacro jal strlen move $4,$7 .set macro .set reorder addu $2,$18,$2 lui $16,%hi($LC17) addiu $4,$16,%lo($LC17) .set noreorder .set nomacro jal strlen sb $0,-1($2) .set macro .set reorder lw $4,40($sp) addiu $5,$16,%lo($LC17) .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) $L758: .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 $4,$2,3 addiu $3,$3,%lo(filter_tlb) addu $4,$4,$3 lw $5,4($4) .set noreorder .set nomacro jal filter_table_regist move $4,$2 .set macro .set reorder lw $2,40($sp) #nop .set noreorder .set nomacro bne $2,$0,$L758 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 lw $4,40($sp) addiu $5,$16,%lo($LC19) .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 lw $4,40($sp) addiu $5,$16,%lo($LC20) .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 lw $4,40($sp) addiu $5,$16,%lo($LC21) .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 $5,$5,%lo($LC22) .set noreorder .set nomacro jal strsep addiu $4,$sp,40 .set macro .set reorder sw $2,44($sp) lui $5,%hi($LC23) $L764: addiu $5,$5,%lo($LC23) .set noreorder .set nomacro jal strsep addiu $4,$sp,40 .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,$L759 lui $21,%hi($LC24) .set macro .set reorder lw $4,44($sp) jal strlen li $3,1 # 0x1 beq $2,$3,$L756 $L759: addiu $4,$sp,44 .set noreorder .set nomacro jal strsep addiu $5,$21,%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 # 0xffffffffffffffff beq $2,$3,$L756 addiu $4,$sp,44 $L763: addiu $5,$21,%lo($LC24) .set noreorder .set nomacro jal strsep lui $17,%hi($LC18) .set macro .set reorder addiu $5,$17,%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,$17,%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 $20,$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,$L760 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,$L761 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L516 $L519: $L526: $L567: $L760: lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder move $16,$2 addiu $5,$17,%lo($LC18) addiu $2,$2,8 .set noreorder .set nomacro beq $16,$0,$L756 addiu $4,$sp,48 .set macro .set reorder sw $16,4($16) sw $2,8($16) sw $2,4($2) sw $16,0($16) sw $0,24($16) lui $2,%hi(filter_rule_num) lw $2,%lo(filter_rule_num)($2) sw $20,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,$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,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) #nop .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 $16,$2 .set macro .set reorder addiu $2,$2,8 sw $16,4($16) sw $2,8($16) sw $2,4($2) sw $16,0($16) sw $0,24($16) lui $2,%hi(filter_rule_num) lw $2,%lo(filter_rule_num)($2) addiu $5,$17,%lo($LC18) sw $20,16($16) sw $2,20($16) .set noreorder .set nomacro jal strsep addiu $4,$sp,48 .set macro .set reorder sw $2,56($sp) move $17,$0 $L627: lui $5,%hi($LC26) addiu $5,$5,%lo($LC26) .set noreorder .set nomacro jal strsep addiu $4,$sp,56 .set macro .set reorder .set noreorder .set nomacro jal str2hexnum move $4,$2 .set macro .set reorder addu $3,$17,$16 sb $2,28($3) lw $2,56($sp) #nop .set noreorder .set nomacro bne $2,$0,$L627 addiu $17,$17,1 .set macro .set reorder move $5,$16 .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) $L762: lw $4,%lo(malloc_sizes+20)($2) .set noreorder .set nomacro jal kmem_cache_alloc li $5,208 # 0xd0 .set macro .set reorder move $16,$2 addiu $5,$17,%lo($LC18) .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) #nop .set noreorder .set nomacro beq $2,$0,$L633 addiu $3,$16,8 .set macro .set reorder sw $16,4($16) sw $16,0($16) sw $3,4($3) sw $3,8($16) sw $0,24($16) lui $2,%hi(filter_rule_num) lw $2,%lo(filter_rule_num)($2) sw $20,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 sb $0,28($2) move $5,$16 .set noreorder .set nomacro jal filter_item_regist li $4,3 # 0x3 .set macro .set reorder $L633: lw $2,48($sp) #nop .set noreorder .set nomacro bne $2,$0,$L762 lui $2,%hi(malloc_sizes+20) .set macro .set reorder j $L516 $L692: $L699: $L740: $L761: lw $4,%lo(malloc_sizes+20)($2) li $5,208 # 0xd0 .set noreorder .set nomacro jal kmem_cache_alloc lui $17,%hi($LC18) .set macro .set reorder move $16,$2 addiu $5,$17,%lo($LC18) addiu $2,$2,8 .set noreorder .set nomacro beq $16,$0,$L756 addiu $4,$sp,48 .set macro .set reorder sw $16,4($16) sw $2,8($16) sw $2,4($2) sw $16,0($16) sw $0,24($16) lui $2,%hi(filter_rule_num) lw $2,%lo(filter_rule_num)($2) sw $20,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) #nop 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 sw $2,60($sp) addiu $4,$16,36 addiu $5,$sp,60 .set noreorder .set nomacro bne $2,$0,$L749 li $6,4 # 0x4 .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) #nop .set noreorder .set nomacro bne $2,$0,$L692 lui $2,%hi(malloc_sizes+20) .set macro .set reorder $L516: lw $2,44($sp) #nop .set noreorder .set nomacro bne $2,$0,$L763 addiu $4,$sp,44 .set macro .set reorder lui $2,%hi(filter_rule_num) lw $3,%lo(filter_rule_num)($2) #nop addiu $3,$3,1 sw $3,%lo(filter_rule_num)($2) lw $2,40($sp) #nop .set noreorder .set nomacro bne $2,$0,$L764 lui $5,%hi($LC23) .set macro .set reorder $L756: .set noreorder .set nomacro jal kfree move $4,$18 .set macro .set reorder .set noreorder .set nomacro j $L438 move $2,$19 .set macro .set reorder $L752: .set noreorder .set nomacro jal kfree move $4,$18 .set macro .set reorder li $2,-14 # 0xfffffffffffffff2 $L438: lw $31,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) sw $22,40($sp) sw $20,32($sp) sw $19,28($sp) sw $18,24($sp) sw $31,48($sp) sw $21,36($sp) sw $17,20($sp) sw $16,16($sp) lw $2,28($6) move $23,$5 move $19,$6 move $20,$4 move $22,$7 move $18,$0 beq $2,$0,$L765 li $5,-1 # 0xffffffffffffffff lw $17,8($6) addiu $21,$6,8 $L796: beq $17,$21,$L795 nop lw $3,16($17) nop andi $2,$3,0x1 bne $2,$0,$L771 move $16,$17 lw $2,20($17) nop bne $23,$2,$L769 nop $L771: andi $2,$3,0x200 beq $2,$0,$L772 andi $2,$3,0x100 andi $2,$3,0x2 lw $6,0($22) beq $2,$0,$L773 move $4,$20 lw $5,20($16) jal scan_table move $7,$6 move $18,$2 $L773: beq $18,$0,$L769 nop j $L765 li $5,1 # 0x1 $L772: bne $2,$0,$L778 move $4,$20 lw $2,28($19) nop jal $2 addiu $5,$16,28 beq $2,$0,$L769 nop $L778: lw $3,16($16) nop andi $2,$3,0x2 bne $2,$0,$L779 move $4,$20 andi $2,$3,0x1 j $L798 li $5,1 # 0x1 $L779: lw $6,0($22) lw $5,20($16) jal scan_table move $7,$6 beq $2,$0,$L769 move $18,$2 lw $3,16($16) li $5,1 # 0x1 andi $2,$3,0x1 $L798: beq $2,$0,$L765 andi $2,$3,0x8 j $L765 sltu $5,$2,1 $L769: lw $17,0($17) j $L796 nop $L795: lw $3,16($16) nop andi $2,$3,0x1 beq $2,$0,$L765 move $5,$0 srl $2,$3,3 andi $5,$2,0x1 $L765: lw $31,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) move $2,$5 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 $10,152($17) beq $16,$2,$L804 slt $2,$16,3 beq $2,$0,$L815 li $2,3 # 0x3 li $2,1 # 0x1 beq $16,$2,$L803 lui $4,%hi($LC27) j $L802 nop $L815: beq $16,$2,$L811 li $2,4 # 0x4 beq $16,$2,$L812 lui $4,%hi($LC30) j $L802 nop $L803: lw $5,12($10) j $L817 addiu $4,$4,%lo($LC27) $L804: lw $2,156($17) lw $5,12($10) lbu $9,11($2) lbu $3,6($2) lbu $4,7($2) lbu $6,8($2) lbu $7,9($2) lbu $8,10($2) andi $2,$5,0xff sw $4,24($sp) sw $6,28($sp) sw $7,32($sp) sw $2,16($sp) sw $3,20($sp) sw $8,36($sp) sw $9,40($sp) lbu $2,16($10) srl $6,$5,16 srl $7,$5,8 sw $2,44($sp) lbu $2,17($10) lui $4,%hi($LC28) addiu $4,$4,%lo($LC28) sw $2,48($sp) lbu $2,18($10) srl $5,$5,24 andi $6,$6,0x00ff sw $2,52($sp) lbu $2,19($10) andi $7,$7,0x00ff jal scrlog_printk sw $2,56($sp) j $L802 nop $L811: lw $5,12($10) lui $4,%hi($LC29) addiu $4,$4,%lo($LC29) andi $2,$5,0xff sw $2,16($sp) lbu $2,16($10) srl $6,$5,16 srl $7,$5,8 sw $2,20($sp) lbu $2,17($10) srl $5,$5,24 andi $6,$6,0x00ff sw $2,24($sp) lbu $2,18($10) andi $7,$7,0x00ff sw $2,28($sp) lbu $3,19($10) lui $2,%hi(log_info) addiu $2,$2,%lo(log_info) sw $2,36($sp) j $L816 sw $3,32($sp) $L812: lw $5,12($10) addiu $4,$4,%lo($LC30) $L817: andi $2,$5,0xff sw $2,16($sp) lbu $2,16($10) srl $6,$5,16 srl $7,$5,8 sw $2,20($sp) lbu $2,17($10) srl $5,$5,24 andi $6,$6,0x00ff sw $2,24($sp) lbu $2,18($10) andi $7,$7,0x00ff sw $2,28($sp) lbu $2,19($10) nop sw $2,32($sp) $L816: jal scrlog_printk nop $L802: lw $31,80($sp) lw $17,76($sp) lw $16,72($sp) move $2,$0 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) lw $16,%lo(table_list_head)($17) addiu $2,$17,%lo(table_list_head) sw $18,24($sp) sw $31,28($sp) beq $16,$2,$L828 move $18,$4 move $4,$18 $L829: move $6,$16 move $7,$16 jal scan_table move $5,$0 move $3,$2 li $2,-1 # 0xffffffffffffffff beq $3,$2,$L828 addiu $4,$17,%lo(table_list_head) li $2,1 # 0x1 bne $3,$2,$L821 lui $2,%hi(log_enable) lw $2,%lo(log_enable)($2) nop beq $2,$0,$L825 nop lw $4,16($16) jal log_fastFilter move $5,$18 $L825: j $L818 li $2,1 # 0x1 $L821: lw $16,0($16) nop bne $16,$4,$L829 move $4,$18 $L828: move $2,$0 $L818: 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,$L834 move $4,$16 lw $31,20($sp) lw $16,16($sp) j do_filter addiu $sp,$sp,24 $L834: 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 $4,%hi(res12) move $3,$2 beq $2,$0,$L836 sw $2,%lo(res12)($4) lui $2,%hi(filter_table_read_proc) addiu $2,$2,%lo(filter_table_read_proc) sw $2,64($3) lw $3,%lo(res12)($4) lui $2,%hi(filter_table_write_proc) addiu $2,$2,%lo(filter_table_write_proc) sw $2,68($3) $L836: lw $31,16($sp) move $2,$0 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) lw $31,16($sp) move $2,$0 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 sw $16,16($sp) lui $16,%hi(res12) lw $2,%lo(res12)($16) lui $4,%hi($LC32) sw $31,20($sp) addiu $4,$4,%lo($LC32) beq $2,$0,$L839 move $5,$2 jal remove_proc_entry nop sw $0,%lo(res12)($16) $L839: 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 sw $4,104($sp) lui $5,%hi($LC0) 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 $fp,96($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 lw $3,104($sp) lui $4,%hi(arp_tbl) addiu $4,$4,%lo(arp_tbl) lw $23,152($3) move $6,$2 lbu $3,0($23) addiu $5,$23,12 andi $3,$3,0xf sll $3,$3,2 .set noreorder .set nomacro jal neigh_lookup addu $18,$23,$3 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L840 move $17,$2 .set macro .set reorder lw $2,68($2) #nop .set noreorder .set nomacro beq $2,$0,$L840 li $5,32 # 0x20 .set macro .set reorder lw $4,104($sp) 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,$L845 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 $L840 $L845: lw $2,152($2) move $4,$22 lbu $5,0($2) #nop 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 lw $4,172($22) addiu $5,$16,20 li $6,16 # 0x10 .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 raw_local_irq_save $3 #NO_APP lw $2,72($17) #nop addiu $2,$2,-1 sw $2,72($17) #APP raw_local_irq_restore $3 #NO_APP bne $2,$0,$L856 .set noreorder .set nomacro jal neigh_destroy move $4,$17 .set macro .set reorder $L856: sw $0,112($22) lhu $2,2($18) lw $3,52($sp) li $20,268369920 # 0xfff0000 ori $20,$20,0xffff sh $2,40($sp) and $3,$3,$20 li $2,1342177280 # 0x50000000 or $3,$3,$2 lw $7,8($18) lw $4,4($18) lhu $6,0($18) sw $3,52($sp) sb $0,53($sp) lw $3,52($sp) li $2,-327680 # 0xfffffffffffb0000 lui $fp,%hi(url_cache) ori $2,$2,0xffff addiu $21,$fp,%lo(url_cache) and $3,$3,$2 li $2,1048576 # 0x100000 lhu $5,12($21) or $3,$3,$2 li $2,-131072 # 0xfffffffffffe0000 ori $2,$2,0xffff and $3,$3,$2 addiu $4,$4,1 sw $3,52($sp) sw $7,44($sp) sh $6,42($sp) sw $4,48($sp) sh $5,54($sp) sh $0,58($sp) lw $17,84($22) addiu $19,$sp,40 sh $0,56($sp) addiu $17,$17,-34 move $5,$17 move $4,$19 move $6,$0 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 #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) lw $4,172($22) move $5,$19 li $6,20 # 0x14 .set noreorder .set nomacro jal memcpy addiu $4,$4,34 .set macro .set reorder lw $3,16($sp) li $2,1073741824 # 0x40000000 lw $4,104($sp) and $3,$3,$20 or $3,$3,$2 li $2,-251723776 # 0xfffffffff0ff0000 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($4) lbu $6,14($21) sw $2,32($sp) li $2,-805371904 # 0xffffffffcfff0000 ori $2,$2,0xffff and $3,$3,$2 lw $5,16($23) sw $3,104($4) lhu $2,%lo(url_cache)($fp) li $3,40 sh $3,18($sp) addiu $2,$2,1 sh $2,20($sp) sh $0,22($sp) sb $0,17($sp) lw $3,16($sp) lw $4,20($sp) li $2,6 # 0x6 sb $6,24($sp) sb $2,25($sp) sh $0,26($sp) addu $6,$3,$4 lw $2,24($sp) sltu $4,$6,$4 addu $6,$6,$4 addu $6,$6,$2 sltu $4,$6,$2 addu $6,$6,$4 addu $6,$6,$5 srl $3,$3,22 addiu $7,$sp,16 andi $3,$3,0x3c sltu $4,$6,$5 addu $3,$7,$3 addu $6,$6,$4 sw $5,28($sp) addiu $7,$sp,32 $L860: lw $2,0($7) addiu $7,$7,4 addu $6,$6,$2 sltu $4,$6,$2 .set noreorder .set nomacro bne $7,$3,$L860 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) lw $4,172($22) addiu $5,$sp,16 li $6,20 # 0x14 .set noreorder .set nomacro jal memcpy addiu $4,$4,14 .set macro .set reorder addiu $2,$fp,%lo(url_cache) move $4,$22 .set noreorder .set nomacro jal dev_queue_xmit sb $0,16($2) .set macro .set reorder $L840: lw $31,100($sp) 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) move $2,$0 .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 sw $4,104($sp) lui $5,%hi($LC0) 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 $fp,96($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 lw $3,104($sp) lui $4,%hi(arp_tbl) addiu $4,$4,%lo(arp_tbl) lw $23,152($3) move $6,$2 lbu $3,0($23) addiu $5,$23,12 andi $3,$3,0xf sll $3,$3,2 .set noreorder .set nomacro jal neigh_lookup addu $18,$23,$3 .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L865 move $17,$2 .set macro .set reorder lw $2,68($2) #nop .set noreorder .set nomacro beq $2,$0,$L865 li $5,32 # 0x20 .set macro .set reorder lw $4,104($sp) 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,$L870 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 $L865 $L870: lw $2,152($2) move $4,$22 lbu $5,0($2) #nop 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 lw $4,172($22) addiu $5,$16,20 li $6,16 # 0x10 .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 raw_local_irq_save $3 #NO_APP lw $2,72($17) #nop addiu $2,$2,-1 sw $2,72($17) #APP raw_local_irq_restore $3 #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) lhu $2,2($18) lw $3,52($sp) li $19,268369920 # 0xfff0000 ori $19,$19,0xffff sh $2,40($sp) and $3,$3,$19 li $2,1342177280 # 0x50000000 or $3,$3,$2 lw $7,4($18) lw $6,8($18) lhu $5,0($18) sw $3,52($sp) sb $0,53($sp) lw $3,52($sp) lui $fp,%hi(url_cache) li $2,-327680 # 0xfffffffffffb0000 addiu $21,$fp,%lo(url_cache) ori $2,$2,0xffff lhu $4,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) sw $7,48($sp) sh $5,42($sp) sw $6,44($sp) sh $4,54($sp) sh $0,58($sp) lw $17,84($22) addiu $20,$sp,40 sh $0,56($sp) addiu $17,$17,-34 move $5,$17 move $4,$20 move $6,$0 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 #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) lw $4,172($22) move $5,$20 li $6,20 # 0x14 .set noreorder .set nomacro jal memcpy addiu $4,$4,34 .set macro .set reorder lw $3,16($sp) li $2,1073741824 # 0x40000000 lw $4,104($sp) and $3,$3,$19 or $3,$3,$2 li $2,-251723776 # 0xfffffffff0ff0000 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($4) lbu $6,14($21) sw $2,32($sp) li $2,-805371904 # 0xffffffffcfff0000 ori $2,$2,0xffff and $3,$3,$2 lw $5,16($23) sw $3,104($4) lhu $2,%lo(url_cache)($fp) li $3,40 sh $3,18($sp) addiu $2,$2,1 sh $2,20($sp) sh $0,22($sp) sb $0,17($sp) lw $3,16($sp) lw $4,20($sp) li $2,6 # 0x6 sb $6,24($sp) sb $2,25($sp) sh $0,26($sp) addu $6,$3,$4 lw $2,24($sp) sltu $4,$6,$4 addu $6,$6,$4 addu $6,$6,$2 sltu $4,$6,$2 addu $6,$6,$4 addu $6,$6,$5 srl $3,$3,22 addiu $7,$sp,16 andi $3,$3,0x3c sltu $4,$6,$5 addu $3,$7,$3 addu $6,$6,$4 sw $5,28($sp) addiu $7,$sp,32 $L885: lw $2,0($7) addiu $7,$7,4 addu $6,$6,$2 sltu $4,$6,$2 .set noreorder .set nomacro bne $7,$3,$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) lw $4,172($22) addiu $5,$sp,16 li $6,20 # 0x14 .set noreorder .set nomacro jal memcpy addiu $4,$4,14 .set macro .set reorder addiu $3,$fp,%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 $L865: lw $31,100($sp) 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) move $2,$0 .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 "