diff --git a/src/stub/src/arch/i386/nrv2b_d32_2.ash b/src/stub/src/arch/i386/nrv2b_d32_2.ash index 24a2252d..88f64063 100644 --- a/src/stub/src/arch/i386/nrv2b_d32_2.ash +++ b/src/stub/src/arch/i386/nrv2b_d32_2.ash @@ -48,7 +48,7 @@ jnz 1f .endif mov ebx, [esi] - sub esi, byte -4 + sub esi, -4 adc ebx, ebx 1: .endm @@ -57,20 +57,19 @@ #define getbit getbit_n2b -section N2BSMA10 +section N2BSMA10 jmps dcl1_n2b decompr_literals_n2b: movsb -section N2BFAS10 +section N2BFAS10 jmps dcl1_n2b - .balign 8 -section N2BFAS11 +section N2BFAS11 decompr_literalb_n2b: mov al, [esi] inc esi mov [edi], al inc edi -section N2BDEC10 +section N2BDEC10 decompr_loop_n2b: @@ -79,31 +78,31 @@ decompr_loop_n2b: dcl1_n2b: getbit 32 dcl2_n2b: -section N2BSMA20 - jc decompr_literals_n2b +section N2BSMA20 + jcs decompr_literals_n2b xor eax, eax inc eax -section N2BFAS20 +section N2BFAS20 #ifndef UPX102 mov al, [edi] // force data cache allocate (PentiumPlain or MMX) #endif - jc decompr_literalb_n2b + jcs decompr_literalb_n2b mov eax, 1 -section N2BDEC20 +section N2BDEC20 loop1_n2b: getbit 1 adc eax, eax -section N2BSMA30 +section N2BSMA30 getbit 1 - jnc loop1_n2b -section N2BFAS30 + jncs loop1_n2b +section N2BFAS30 add ebx, ebx - jnc loop1_n2b + jncs loop1_n2b jnz loopend1_n2b getbit 32 - jnc loop1_n2b + jncs loop1_n2b loopend1_n2b: -section N2BDEC30 +section N2BDEC30 xor ecx, ecx sub eax, 3 jb decompr_ebpeax_n2b @@ -111,39 +110,38 @@ section N2BDEC30 mov al, [esi] inc esi xor eax, -1 - jz decompr_end_n2b + jzs decompr_end_n2b mov ebp, eax decompr_ebpeax_n2b: getbit 1 adc ecx, ecx getbit 1 adc ecx, ecx - jnz decompr_got_mlen_n2b + jnzs decompr_got_mlen_n2b inc ecx loop2_n2b: getbit 1 adc ecx, ecx -section N2BSMA40 +section N2BSMA40 getbit 1 - jnc loop2_n2b -section N2BFAS40 + jncs loop2_n2b +section N2BFAS40 add ebx, ebx - jnc loop2_n2b + jncs loop2_n2b jnz loopend2_n2b getbit 32 - jnc loop2_n2b + jncs loop2_n2b loopend2_n2b: -section N2BDUMM1 -section N2BSMA50 +section N2BSMA50 inc ecx inc ecx -section N2BFAS50 +section N2BFAS50 add ecx, 2 -section N2BDEC50 +section N2BDEC50 decompr_got_mlen_n2b: cmp ebp, -0xd00 adc ecx, 1 -section N2BSMA60 +section N2BSMA60 #ifndef UPX102 push esi #else @@ -158,13 +156,13 @@ section N2BSMA60 mov esi, edx #endif jmp decompr_loop_n2b -section N2BFAS60 +section N2BFAS60 lea edx, [edi+ebp] cmp ebp, -4 #ifndef UPX102 mov al, [edi+ecx] // force data cache allocate (PentiumPlain or MMX) #endif - jbe decompr_copy4_n2b + jbes decompr_copy4_n2b loop3_n2b: mov al, [edx] inc edx @@ -172,9 +170,8 @@ loop3_n2b: inc edi dec ecx jnz loop3_n2b - jmp decompr_loop_n2b -section N2BFAS61 - .balign 4 + jmp decompr_loop_n2b +section N2BFAS61 decompr_copy4_n2b: mov eax, [edx] add edx, 4 @@ -183,10 +180,9 @@ decompr_copy4_n2b: sub ecx, 4 ja decompr_copy4_n2b add edi, ecx - jmp decompr_loop_n2b -section N2BDEC60 + jmp decompr_loop_n2b +section N2BDEC60 decompr_end_n2b: -section NRV2BEND // vi:ts=8:et diff --git a/src/stub/src/arch/i386/nrv2d_d32_2.ash b/src/stub/src/arch/i386/nrv2d_d32_2.ash index b930c3f0..701bf155 100644 --- a/src/stub/src/arch/i386/nrv2d_d32_2.ash +++ b/src/stub/src/arch/i386/nrv2d_d32_2.ash @@ -58,53 +58,51 @@ #define getbit getbit_n2d -section N2DSMA10 +section N2DSMA10 jmps dcl1_n2d decompr_literals_n2d: movsb -section N2DFAS10 +section N2DFAS10 jmps dcl1_n2d - .balign 8 -section N2DFAS11 +section N2DFAS11 decompr_literalb_n2d: mov al, [esi] inc esi mov [edi], al inc edi -section N2DDEC10 - +section N2DDEC10 decompr_loop_n2d: add ebx, ebx jnz dcl2_n2d dcl1_n2d: getbit 32 dcl2_n2d: -section N2DSMA20 - jc decompr_literals_n2d +section N2DSMA20 + jcs decompr_literals_n2d xor eax, eax inc eax -section N2DFAS20 +section N2DFAS20 #ifndef UPX102 mov al, [edi] // force data cache allocate (PentiumPlain or MMX) #endif - jc decompr_literalb_n2d + jcs decompr_literalb_n2d mov eax, 1 -section N2DDEC20 +section N2DDEC20 loop1_n2d: getbit 1 adc eax, eax -section N2DSMA30 +section N2DSMA30 getbit 1 - jc loopend1_n2d -section N2DFAS30 + jcs loopend1_n2d +section N2DFAS30 add ebx, ebx jnc loopcontinue1_n2d - jnz loopend1_n2d + jnzs loopend1_n2d getbit 32 - jc loopend1_n2d + jcs loopend1_n2d loopcontinue1_n2d: -section N2DDEC30 +section N2DDEC30 dec eax getbit 1 adc eax, eax @@ -117,7 +115,7 @@ loopend1_n2d: mov al, [esi] inc esi xor eax, -1 - jz decompr_end_n2d + jzs decompr_end_n2d sar eax, 1 // shift low-bit into carry mov ebp, eax jmps decompr_ebpeax_n2d @@ -127,32 +125,31 @@ decompr_ebpeax_n2d: adc ecx, ecx getbit 1 adc ecx, ecx - jnz decompr_got_mlen_n2d + jnzs decompr_got_mlen_n2d inc ecx loop2_n2d: getbit 1 adc ecx, ecx -section N2DSMA40 +section N2DSMA40 getbit 1 - jnc loop2_n2d -section N2DFAS40 + jncs loop2_n2d +section N2DFAS40 add ebx, ebx - jnc loop2_n2d + jncs loop2_n2d jnz loopend2_n2d getbit 32 - jnc loop2_n2d + jncs loop2_n2d loopend2_n2d: -section N2DDUMM1 -section N2DSMA50 +section N2DSMA50 inc ecx inc ecx -section N2DFAS50 +section N2DFAS50 add ecx, 2 -section N2DDEC50 +section N2DDEC50 decompr_got_mlen_n2d: cmp ebp, -0x500 adc ecx, 1 -section N2DSMA60 +section N2DSMA60 #ifndef UPX102 push esi #else @@ -166,14 +163,14 @@ section N2DSMA60 #else mov esi, edx #endif - jmp decompr_loop_n2d -section N2DFAS60 + jmp decompr_loop_n2d +section N2DFAS60 lea edx, [edi+ebp] cmp ebp, -4 #ifndef UPX102 mov al, [edi+ecx] // force data cache allocate (PentiumPlain or MMX) #endif - jbe decompr_copy4_n2d + jbes decompr_copy4_n2d loop3_n2d: mov al, [edx] inc edx @@ -181,9 +178,8 @@ loop3_n2d: inc edi dec ecx jnz loop3_n2d - jmp decompr_loop_n2d -section N2DFAS61 - .balign 4 + jmp decompr_loop_n2d +section N2DFAS61 decompr_copy4_n2d: mov eax, [edx] add edx, 4 @@ -192,10 +188,9 @@ decompr_copy4_n2d: sub ecx, 4 ja decompr_copy4_n2d add edi, ecx - jmp decompr_loop_n2d -section N2DDEC60 + jmp decompr_loop_n2d +section N2DDEC60 decompr_end_n2d: -section NRV2DEND // vi:ts=8:et