Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled Diff
Created
4 years ago
Diff never expires
Clear
Export
Share
Explain
69 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
195 lines
Copy
80 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
197 lines
Copy
; Method Program:IndexOfNullByte(byref):int
; Method Program:IndexOfNullByte(byref):int
G_M000_IG01: ;; offset=0000H
G_M000_IG01: ;; offset=0000H
4883EC28 sub rsp, 40
4883EC28 sub rsp, 40
C5F877 vzeroupper
C5F877 vzeroupper
G_M000_IG02: ;; offset=0007H
G_M000_IG02: ;; offset=0007H
33C0 xor eax, eax
33C0 xor eax, eax
488BD1 mov rdx, rcx
488BD1 mov rdx, rcx
83E20F and edx, 15
83E20F and edx, 15
F7DA neg edx
F7DA neg edx
83C210 add edx, 16
83C210 add edx, 16
83E20F and edx, 15
83E20F and edx, 15
4883FA08 cmp rdx, 8
4883FA08 cmp rdx, 8
Copy
Copied
Copy
Copied
7275
jb
SHORT
G_M000_IG06
0F827D000000
jb
G_M000_IG06
G_M000_IG03: ;; offset=0021H
G_M000_IG03: ;; offset=0021H
Copy
Copied
Copy
Copied
EB0A
jmp SHORT G_M000_IG05
EB12
jmp SHORT G_M000_IG05
0F1F4000
align [
4
bytes for IG09]
0F1F40000F1F840000000000
align [
12
bytes for IG09]
Copy
Copied
Copy
Copied
G_M000_IG04: ;; offset=002
7
H
G_M000_IG04: ;; offset=002
F
H
4883FA08 cmp rdx, 8
4883FA08 cmp rdx, 8
Copy
Copied
Copy
Copied
726
5
jb SHORT G_M000_IG06
726
9
jb SHORT G_M000_IG06
Copy
Copied
Copy
Copied
G_M000_IG05: ;; offset=
002DH
G_M000_IG05: ;; offset=
0035H
4883C2F8 add rdx, -8
4883C2F8 add rdx, -8
Copy
Copied
Copy
Copied
803C0100
cmp byte ptr [
rcx+rax
], 0
4C8D0401 lea r8, bword ptr [rcx+rax]
0F847
6
010000 je G_M000_IG19
41803800
cmp byte ptr [
r8
], 0
807
C01
0100 cmp byte ptr [
rcx+rax
+01H], 0
0F847
A
010000 je G_M000_IG19
0F84
6D
010000 je G_M000_IG20
41
807
8
0100 cmp byte ptr [
r8
+01H], 0
807
C01
0200 cmp byte ptr [
rcx+rax
+02H], 0
0F84
71
010000 je G_M000_IG20
0F846
6
010000 je G_M000_IG21
41
807
8
0200 cmp byte ptr [
r8
+02H], 0
807
C01
0300 cmp byte ptr [
rcx+rax
+03H], 0
0F846
A
010000 je G_M000_IG21
0F846
0
010000 je G_M000_IG22
41
807
8
0300 cmp byte ptr [
r8
+03H], 0
807
C01
0400 cmp byte ptr [
rcx+rax
+04H], 0
0F846
4
010000 je G_M000_IG22
0F845
A
010000 je G_M000_IG23
41
807
8
0400 cmp byte ptr [
r8
+04H], 0
807
C01
0500 cmp byte ptr [
rcx+rax
+05H], 0
0F845
E
010000 je G_M000_IG23
0F845
4
010000 je G_M000_IG24
41
807
8
0500 cmp byte ptr [
r8
+05H], 0
807
C01
0600 cmp byte ptr [
rcx+rax
+06H], 0
0F845
8
010000 je G_M000_IG24
0F84
4E
010000 je G_M000_IG25
41
807
8
0600 cmp byte ptr [
r8
+06H], 0
807
C01
0700 cmp byte ptr [
rcx+rax
+07H], 0
0F84
52
010000 je G_M000_IG25
0F844
8
010000 je G_M000_IG26
41
807
8
0700 cmp byte ptr [
r8
+07H], 0
0F844
C
010000 je G_M000_IG26
4883C008 add rax, 8
4883C008 add rax, 8
4883FA08 cmp rdx, 8
4883FA08 cmp rdx, 8
Copy
Copied
Copy
Copied
739
B
jae SHORT G_M000_IG05
739
7
jae SHORT G_M000_IG05
Copy
Copied
Copy
Copied
G_M000_IG06: ;; offset=009
2
H
G_M000_IG06: ;; offset=009
E
H
4883FA04 cmp rdx, 4
4883FA04 cmp rdx, 4
Copy
Copied
Copy
Copied
723
3
jb SHORT G_M000_IG08
723
7
jb SHORT G_M000_IG08
Copy
Copied
Copy
Copied
G_M000_IG07: ;; offset=
0098H
G_M000_IG07: ;; offset=
00A4H
4883C2FC add rdx, -4
4883C2FC add rdx, -4
Copy
Copied
Copy
Copied
803C0100
cmp byte ptr [
rcx+rax
], 0
4C8D0401 lea r8, bword ptr [rcx+rax]
41803800
cmp byte ptr [
r8
], 0
0F840B010000 je G_M000_IG19
0F840B010000 je G_M000_IG19
Copy
Copied
Copy
Copied
807
C01
0100 cmp byte ptr [
rcx+rax
+01H], 0
41
807
8
0100 cmp byte ptr [
r8
+01H], 0
0F8402010000 je G_M000_IG20
0F8402010000 je G_M000_IG20
Copy
Copied
Copy
Copied
807
C01
0200 cmp byte ptr [
rcx+rax
+02H], 0
41
807
8
0200 cmp byte ptr [
r8
+02H], 0
0F84FB000000 je G_M000_IG21
0F84FB000000 je G_M000_IG21
Copy
Copied
Copy
Copied
807
C01
0300 cmp byte ptr [
rcx+rax
+03H], 0
41
807
8
0300 cmp byte ptr [
r8
+03H], 0
0F84F5000000 je G_M000_IG22
0F84F5000000 je G_M000_IG22
4883C004 add rax, 4
4883C004 add rax, 4
Copy
Copied
Copy
Copied
G_M000_IG08: ;; offset=00
C
BH
G_M000_IG08: ;; offset=00
D
BH
4885D2 test rdx, rdx
4885D2 test rdx, rdx
7415 je SHORT G_M000_IG10
7415 je SHORT G_M000_IG10
Copy
Copied
Copy
Copied
G_M000_IG09: ;; offset=00
D
0H
G_M000_IG09: ;; offset=00
E
0H
48FFCA dec rdx
48FFCA dec rdx
803C0100 cmp byte ptr [rcx+rax], 0
803C0100 cmp byte ptr [rcx+rax], 0
0F84D4000000 je G_M000_IG19
0F84D4000000 je G_M000_IG19
48FFC0 inc rax
48FFC0 inc rax
4885D2 test rdx, rdx
4885D2 test rdx, rdx
75EB jne SHORT G_M000_IG09
75EB jne SHORT G_M000_IG09
Copy
Copied
Copy
Copied
G_M000_IG10: ;; offset=00
E
5H
G_M000_IG10: ;; offset=00
F
5H
483DFFFFFF7F cmp rax, 0x7FFFFFFF
483DFFFFFF7F cmp rax, 0x7FFFFFFF
0F83F2000000 jae G_M000_IG29
0F83F2000000 jae G_M000_IG29
488BD1 mov rdx, rcx
488BD1 mov rdx, rcx
8BD2 mov edx, edx
8BD2 mov edx, edx
4803D0 add rdx, rax
4803D0 add rdx, rax
F6C21F test dl, 31
F6C21F test dl, 31
7430 je SHORT G_M000_IG13
7430 je SHORT G_M000_IG13
Copy
Copied
Copy
Copied
G_M000_IG11: ;; offset=0
0F
EH
G_M000_IG11: ;; offset=0
10
EH
C4E17857C0 vxorps xmm0, xmm0, xmm0
C4E17857C0 vxorps xmm0, xmm0, xmm0
C4E179740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax]
C4E179740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax]
C4E179D7D0 vpmovmskb edx, xmm0
C4E179D7D0 vpmovmskb edx, xmm0
85D2 test edx, edx
85D2 test edx, edx
7506 jne SHORT G_M000_IG12
7506 jne SHORT G_M000_IG12
4883C010 add rax, 16
4883C010 add rax, 16
EB16 jmp SHORT G_M000_IG13
EB16 jmp SHORT G_M000_IG13
Copy
Copied
Copy
Copied
G_M000_IG12: ;; offset=01
1
8H
G_M000_IG12: ;; offset=01
2
8H
33C9 xor ecx, ecx
33C9 xor ecx, ecx
F30FBCCA tzcnt ecx, edx
F30FBCCA tzcnt ecx, edx
8BD1 mov edx, ecx
8BD1 mov edx, ecx
03C2 add eax, edx
03C2 add eax, edx
E9AC000000 jmp G_M000_IG27
E9AC000000 jmp G_M000_IG27
0F1F8000000000 align [7 bytes for IG14]
0F1F8000000000 align [7 bytes for IG14]
Copy
Copied
Copy
Copied
G_M000_IG13: ;; offset=01
2
EH
G_M000_IG13: ;; offset=01
3
EH
8BD0 mov edx, eax
8BD0 mov edx, eax
F7DA neg edx
F7DA neg edx
81C2FFFFFF7F add edx, 0x7FFFFFFF
81C2FFFFFF7F add edx, 0x7FFFFFFF
83E2E0 and edx, -32
83E2E0 and edx, -32
483BD0 cmp rdx, rax
483BD0 cmp rdx, rax
761E jbe SHORT G_M000_IG15
761E jbe SHORT G_M000_IG15
Copy
Copied
Copy
Copied
G_M000_IG14: ;; offset=01
4
0H
G_M000_IG14: ;; offset=01
5
0H
C5FC57C0 vxorps ymm0, ymm0, ymm0
C5FC57C0 vxorps ymm0, ymm0, ymm0
C5FD740401 vpcmpeqb ymm0, ymm0, ymmword ptr[rcx+rax]
C5FD740401 vpcmpeqb ymm0, ymm0, ymmword ptr[rcx+rax]
C57DD7C0 vpmovmskb r8d, ymm0
C57DD7C0 vpmovmskb r8d, ymm0
4585C0 test r8d, r8d
4585C0 test r8d, r8d
7535 jne SHORT G_M000_IG17
7535 jne SHORT G_M000_IG17
4883C020 add rax, 32
4883C020 add rax, 32
483BD0 cmp rdx, rax
483BD0 cmp rdx, rax
77E5 ja SHORT G_M000_IG14
77E5 ja SHORT G_M000_IG14
Copy
Copied
Copy
Copied
G_M000_IG15: ;; offset=01
5
BH
G_M000_IG15: ;; offset=01
6
BH
8BD0 mov edx, eax
8BD0 mov edx, eax
F7DA neg edx
F7DA neg edx
81C2FFFFFF7F add edx, 0x7FFFFFFF
81C2FFFFFF7F add edx, 0x7FFFFFFF
83E2F0 and edx, -16
83E2F0 and edx, -16
483BD0 cmp rdx, rax
483BD0 cmp rdx, rax
7627 jbe SHORT G_M000_IG18
7627 jbe SHORT G_M000_IG18
Copy
Copied
Copy
Copied
G_M000_IG16: ;; offset=01
6
DH
G_M000_IG16: ;; offset=01
7
DH
C5F857C0 vxorps xmm0, xmm0, xmm0
C5F857C0 vxorps xmm0, xmm0, xmm0
C5F9740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax]
C5F9740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax]
C5F9D7D0 vpmovmskb edx, xmm0
C5F9D7D0 vpmovmskb edx, xmm0
85D2 test edx, edx
85D2 test edx, edx
7557 jne SHORT G_M000_IG28
7557 jne SHORT G_M000_IG28
4883C010 add rax, 16
4883C010 add rax, 16
EB0D jmp SHORT G_M000_IG18
EB0D jmp SHORT G_M000_IG18
Copy
Copied
Copy
Copied
G_M000_IG17: ;; offset=01
8
4H
G_M000_IG17: ;; offset=01
9
4H
33D2 xor edx, edx
33D2 xor edx, edx
F3410FBCD0 tzcnt edx, r8d
F3410FBCD0 tzcnt edx, r8d
8BCA mov ecx, edx
8BCA mov ecx, edx
03C1 add eax, ecx
03C1 add eax, ecx
EB3C jmp SHORT G_M000_IG27
EB3C jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG18: ;; offset=01
9
1H
G_M000_IG18: ;; offset=01
A
1H
483DFFFFFF7F cmp rax, 0x7FFFFFFF
483DFFFFFF7F cmp rax, 0x7FFFFFFF
7344 jae SHORT G_M000_IG29
7344 jae SHORT G_M000_IG29
488BD0 mov rdx, rax
488BD0 mov rdx, rax
48F7DA neg rdx
48F7DA neg rdx
4881C2FFFFFF7F add rdx, 0x7FFFFFFF
4881C2FFFFFF7F add rdx, 0x7FFFFFFF
Copy
Copied
Copy
Copied
E97
C
FEFFFF jmp G_M000_IG04
E97
4
FEFFFF jmp G_M000_IG04
Copy
Copied
Copy
Copied
G_M000_IG19: ;; offset=01
A
BH
G_M000_IG19: ;; offset=01
B
BH
EB20 jmp SHORT G_M000_IG27
EB20 jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG20: ;; offset=01
A
DH
G_M000_IG20: ;; offset=01
B
DH
FFC0 inc eax
FFC0 inc eax
EB1C jmp SHORT G_M000_IG27
EB1C jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG21: ;; offset=01
B
1H
G_M000_IG21: ;; offset=01
C
1H
83C002 add eax, 2
83C002 add eax, 2
EB17 jmp SHORT G_M000_IG27
EB17 jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG22: ;; offset=01
B
6H
G_M000_IG22: ;; offset=01
C
6H
83C003 add eax, 3
83C003 add eax, 3
EB12 jmp SHORT G_M000_IG27
EB12 jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG23: ;; offset=01
B
BH
G_M000_IG23: ;; offset=01
C
BH
83C004 add eax, 4
83C004 add eax, 4
EB0D jmp SHORT G_M000_IG27
EB0D jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG24: ;; offset=01
C
0H
G_M000_IG24: ;; offset=01
D
0H
83C005 add eax, 5
83C005 add eax, 5
EB08 jmp SHORT G_M000_IG27
EB08 jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG25: ;; offset=01
C
5H
G_M000_IG25: ;; offset=01
D
5H
83C006 add eax, 6
83C006 add eax, 6
EB03 jmp SHORT G_M000_IG27
EB03 jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG26: ;; offset=01
C
AH
G_M000_IG26: ;; offset=01
D
AH
83C007 add eax, 7
83C007 add eax, 7
Copy
Copied
Copy
Copied
G_M000_IG27: ;; offset=01
C
DH
G_M000_IG27: ;; offset=01
D
DH
C5F877 vzeroupper
C5F877 vzeroupper
4883C428 add rsp, 40
4883C428 add rsp, 40
C3 ret
C3 ret
Copy
Copied
Copy
Copied
G_M000_IG28: ;; offset=01
D
5H
G_M000_IG28: ;; offset=01
E
5H
F30FBCD2 tzcnt edx, edx
F30FBCD2 tzcnt edx, edx
03C2 add eax, edx
03C2 add eax, edx
EBF0 jmp SHORT G_M000_IG27
EBF0 jmp SHORT G_M000_IG27
Copy
Copied
Copy
Copied
G_M000_IG29: ;; offset=01
D
DH
G_M000_IG29: ;; offset=01
E
DH
FF15
A
5381300 call [Program:ThrowMustBeNullTerminatedString()]
FF15
9
5381300 call [Program:ThrowMustBeNullTerminatedString()]
CC int3
CC int3
Copy
Copied
Copy
Copied
; Total bytes of code:
484
; Total bytes of code:
500
Saved diffs
Original text
Open file
; Method Program:IndexOfNullByte(byref):int G_M000_IG01: ;; offset=0000H 4883EC28 sub rsp, 40 C5F877 vzeroupper G_M000_IG02: ;; offset=0007H 33C0 xor eax, eax 488BD1 mov rdx, rcx 83E20F and edx, 15 F7DA neg edx 83C210 add edx, 16 83E20F and edx, 15 4883FA08 cmp rdx, 8 7275 jb SHORT G_M000_IG06 G_M000_IG03: ;; offset=0021H EB0A jmp SHORT G_M000_IG05 0F1F4000 align [4 bytes for IG09] G_M000_IG04: ;; offset=0027H 4883FA08 cmp rdx, 8 7265 jb SHORT G_M000_IG06 G_M000_IG05: ;; offset=002DH 4883C2F8 add rdx, -8 803C0100 cmp byte ptr [rcx+rax], 0 0F8476010000 je G_M000_IG19 807C010100 cmp byte ptr [rcx+rax+01H], 0 0F846D010000 je G_M000_IG20 807C010200 cmp byte ptr [rcx+rax+02H], 0 0F8466010000 je G_M000_IG21 807C010300 cmp byte ptr [rcx+rax+03H], 0 0F8460010000 je G_M000_IG22 807C010400 cmp byte ptr [rcx+rax+04H], 0 0F845A010000 je G_M000_IG23 807C010500 cmp byte ptr [rcx+rax+05H], 0 0F8454010000 je G_M000_IG24 807C010600 cmp byte ptr [rcx+rax+06H], 0 0F844E010000 je G_M000_IG25 807C010700 cmp byte ptr [rcx+rax+07H], 0 0F8448010000 je G_M000_IG26 4883C008 add rax, 8 4883FA08 cmp rdx, 8 739B jae SHORT G_M000_IG05 G_M000_IG06: ;; offset=0092H 4883FA04 cmp rdx, 4 7233 jb SHORT G_M000_IG08 G_M000_IG07: ;; offset=0098H 4883C2FC add rdx, -4 803C0100 cmp byte ptr [rcx+rax], 0 0F840B010000 je G_M000_IG19 807C010100 cmp byte ptr [rcx+rax+01H], 0 0F8402010000 je G_M000_IG20 807C010200 cmp byte ptr [rcx+rax+02H], 0 0F84FB000000 je G_M000_IG21 807C010300 cmp byte ptr [rcx+rax+03H], 0 0F84F5000000 je G_M000_IG22 4883C004 add rax, 4 G_M000_IG08: ;; offset=00CBH 4885D2 test rdx, rdx 7415 je SHORT G_M000_IG10 G_M000_IG09: ;; offset=00D0H 48FFCA dec rdx 803C0100 cmp byte ptr [rcx+rax], 0 0F84D4000000 je G_M000_IG19 48FFC0 inc rax 4885D2 test rdx, rdx 75EB jne SHORT G_M000_IG09 G_M000_IG10: ;; offset=00E5H 483DFFFFFF7F cmp rax, 0x7FFFFFFF 0F83F2000000 jae G_M000_IG29 488BD1 mov rdx, rcx 8BD2 mov edx, edx 4803D0 add rdx, rax F6C21F test dl, 31 7430 je SHORT G_M000_IG13 G_M000_IG11: ;; offset=00FEH C4E17857C0 vxorps xmm0, xmm0, xmm0 C4E179740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax] C4E179D7D0 vpmovmskb edx, xmm0 85D2 test edx, edx 7506 jne SHORT G_M000_IG12 4883C010 add rax, 16 EB16 jmp SHORT G_M000_IG13 G_M000_IG12: ;; offset=0118H 33C9 xor ecx, ecx F30FBCCA tzcnt ecx, edx 8BD1 mov edx, ecx 03C2 add eax, edx E9AC000000 jmp G_M000_IG27 0F1F8000000000 align [7 bytes for IG14] G_M000_IG13: ;; offset=012EH 8BD0 mov edx, eax F7DA neg edx 81C2FFFFFF7F add edx, 0x7FFFFFFF 83E2E0 and edx, -32 483BD0 cmp rdx, rax 761E jbe SHORT G_M000_IG15 G_M000_IG14: ;; offset=0140H C5FC57C0 vxorps ymm0, ymm0, ymm0 C5FD740401 vpcmpeqb ymm0, ymm0, ymmword ptr[rcx+rax] C57DD7C0 vpmovmskb r8d, ymm0 4585C0 test r8d, r8d 7535 jne SHORT G_M000_IG17 4883C020 add rax, 32 483BD0 cmp rdx, rax 77E5 ja SHORT G_M000_IG14 G_M000_IG15: ;; offset=015BH 8BD0 mov edx, eax F7DA neg edx 81C2FFFFFF7F add edx, 0x7FFFFFFF 83E2F0 and edx, -16 483BD0 cmp rdx, rax 7627 jbe SHORT G_M000_IG18 G_M000_IG16: ;; offset=016DH C5F857C0 vxorps xmm0, xmm0, xmm0 C5F9740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax] C5F9D7D0 vpmovmskb edx, xmm0 85D2 test edx, edx 7557 jne SHORT G_M000_IG28 4883C010 add rax, 16 EB0D jmp SHORT G_M000_IG18 G_M000_IG17: ;; offset=0184H 33D2 xor edx, edx F3410FBCD0 tzcnt edx, r8d 8BCA mov ecx, edx 03C1 add eax, ecx EB3C jmp SHORT G_M000_IG27 G_M000_IG18: ;; offset=0191H 483DFFFFFF7F cmp rax, 0x7FFFFFFF 7344 jae SHORT G_M000_IG29 488BD0 mov rdx, rax 48F7DA neg rdx 4881C2FFFFFF7F add rdx, 0x7FFFFFFF E97CFEFFFF jmp G_M000_IG04 G_M000_IG19: ;; offset=01ABH EB20 jmp SHORT G_M000_IG27 G_M000_IG20: ;; offset=01ADH FFC0 inc eax EB1C jmp SHORT G_M000_IG27 G_M000_IG21: ;; offset=01B1H 83C002 add eax, 2 EB17 jmp SHORT G_M000_IG27 G_M000_IG22: ;; offset=01B6H 83C003 add eax, 3 EB12 jmp SHORT G_M000_IG27 G_M000_IG23: ;; offset=01BBH 83C004 add eax, 4 EB0D jmp SHORT G_M000_IG27 G_M000_IG24: ;; offset=01C0H 83C005 add eax, 5 EB08 jmp SHORT G_M000_IG27 G_M000_IG25: ;; offset=01C5H 83C006 add eax, 6 EB03 jmp SHORT G_M000_IG27 G_M000_IG26: ;; offset=01CAH 83C007 add eax, 7 G_M000_IG27: ;; offset=01CDH C5F877 vzeroupper 4883C428 add rsp, 40 C3 ret G_M000_IG28: ;; offset=01D5H F30FBCD2 tzcnt edx, edx 03C2 add eax, edx EBF0 jmp SHORT G_M000_IG27 G_M000_IG29: ;; offset=01DDH FF15A5381300 call [Program:ThrowMustBeNullTerminatedString()] CC int3 ; Total bytes of code: 484
Changed text
Open file
; Method Program:IndexOfNullByte(byref):int G_M000_IG01: ;; offset=0000H 4883EC28 sub rsp, 40 C5F877 vzeroupper G_M000_IG02: ;; offset=0007H 33C0 xor eax, eax 488BD1 mov rdx, rcx 83E20F and edx, 15 F7DA neg edx 83C210 add edx, 16 83E20F and edx, 15 4883FA08 cmp rdx, 8 0F827D000000 jb G_M000_IG06 G_M000_IG03: ;; offset=0021H EB12 jmp SHORT G_M000_IG05 0F1F40000F1F840000000000 align [12 bytes for IG09] G_M000_IG04: ;; offset=002FH 4883FA08 cmp rdx, 8 7269 jb SHORT G_M000_IG06 G_M000_IG05: ;; offset=0035H 4883C2F8 add rdx, -8 4C8D0401 lea r8, bword ptr [rcx+rax] 41803800 cmp byte ptr [r8], 0 0F847A010000 je G_M000_IG19 4180780100 cmp byte ptr [r8+01H], 0 0F8471010000 je G_M000_IG20 4180780200 cmp byte ptr [r8+02H], 0 0F846A010000 je G_M000_IG21 4180780300 cmp byte ptr [r8+03H], 0 0F8464010000 je G_M000_IG22 4180780400 cmp byte ptr [r8+04H], 0 0F845E010000 je G_M000_IG23 4180780500 cmp byte ptr [r8+05H], 0 0F8458010000 je G_M000_IG24 4180780600 cmp byte ptr [r8+06H], 0 0F8452010000 je G_M000_IG25 4180780700 cmp byte ptr [r8+07H], 0 0F844C010000 je G_M000_IG26 4883C008 add rax, 8 4883FA08 cmp rdx, 8 7397 jae SHORT G_M000_IG05 G_M000_IG06: ;; offset=009EH 4883FA04 cmp rdx, 4 7237 jb SHORT G_M000_IG08 G_M000_IG07: ;; offset=00A4H 4883C2FC add rdx, -4 4C8D0401 lea r8, bword ptr [rcx+rax] 41803800 cmp byte ptr [r8], 0 0F840B010000 je G_M000_IG19 4180780100 cmp byte ptr [r8+01H], 0 0F8402010000 je G_M000_IG20 4180780200 cmp byte ptr [r8+02H], 0 0F84FB000000 je G_M000_IG21 4180780300 cmp byte ptr [r8+03H], 0 0F84F5000000 je G_M000_IG22 4883C004 add rax, 4 G_M000_IG08: ;; offset=00DBH 4885D2 test rdx, rdx 7415 je SHORT G_M000_IG10 G_M000_IG09: ;; offset=00E0H 48FFCA dec rdx 803C0100 cmp byte ptr [rcx+rax], 0 0F84D4000000 je G_M000_IG19 48FFC0 inc rax 4885D2 test rdx, rdx 75EB jne SHORT G_M000_IG09 G_M000_IG10: ;; offset=00F5H 483DFFFFFF7F cmp rax, 0x7FFFFFFF 0F83F2000000 jae G_M000_IG29 488BD1 mov rdx, rcx 8BD2 mov edx, edx 4803D0 add rdx, rax F6C21F test dl, 31 7430 je SHORT G_M000_IG13 G_M000_IG11: ;; offset=010EH C4E17857C0 vxorps xmm0, xmm0, xmm0 C4E179740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax] C4E179D7D0 vpmovmskb edx, xmm0 85D2 test edx, edx 7506 jne SHORT G_M000_IG12 4883C010 add rax, 16 EB16 jmp SHORT G_M000_IG13 G_M000_IG12: ;; offset=0128H 33C9 xor ecx, ecx F30FBCCA tzcnt ecx, edx 8BD1 mov edx, ecx 03C2 add eax, edx E9AC000000 jmp G_M000_IG27 0F1F8000000000 align [7 bytes for IG14] G_M000_IG13: ;; offset=013EH 8BD0 mov edx, eax F7DA neg edx 81C2FFFFFF7F add edx, 0x7FFFFFFF 83E2E0 and edx, -32 483BD0 cmp rdx, rax 761E jbe SHORT G_M000_IG15 G_M000_IG14: ;; offset=0150H C5FC57C0 vxorps ymm0, ymm0, ymm0 C5FD740401 vpcmpeqb ymm0, ymm0, ymmword ptr[rcx+rax] C57DD7C0 vpmovmskb r8d, ymm0 4585C0 test r8d, r8d 7535 jne SHORT G_M000_IG17 4883C020 add rax, 32 483BD0 cmp rdx, rax 77E5 ja SHORT G_M000_IG14 G_M000_IG15: ;; offset=016BH 8BD0 mov edx, eax F7DA neg edx 81C2FFFFFF7F add edx, 0x7FFFFFFF 83E2F0 and edx, -16 483BD0 cmp rdx, rax 7627 jbe SHORT G_M000_IG18 G_M000_IG16: ;; offset=017DH C5F857C0 vxorps xmm0, xmm0, xmm0 C5F9740401 vpcmpeqb xmm0, xmm0, xmmword ptr [rcx+rax] C5F9D7D0 vpmovmskb edx, xmm0 85D2 test edx, edx 7557 jne SHORT G_M000_IG28 4883C010 add rax, 16 EB0D jmp SHORT G_M000_IG18 G_M000_IG17: ;; offset=0194H 33D2 xor edx, edx F3410FBCD0 tzcnt edx, r8d 8BCA mov ecx, edx 03C1 add eax, ecx EB3C jmp SHORT G_M000_IG27 G_M000_IG18: ;; offset=01A1H 483DFFFFFF7F cmp rax, 0x7FFFFFFF 7344 jae SHORT G_M000_IG29 488BD0 mov rdx, rax 48F7DA neg rdx 4881C2FFFFFF7F add rdx, 0x7FFFFFFF E974FEFFFF jmp G_M000_IG04 G_M000_IG19: ;; offset=01BBH EB20 jmp SHORT G_M000_IG27 G_M000_IG20: ;; offset=01BDH FFC0 inc eax EB1C jmp SHORT G_M000_IG27 G_M000_IG21: ;; offset=01C1H 83C002 add eax, 2 EB17 jmp SHORT G_M000_IG27 G_M000_IG22: ;; offset=01C6H 83C003 add eax, 3 EB12 jmp SHORT G_M000_IG27 G_M000_IG23: ;; offset=01CBH 83C004 add eax, 4 EB0D jmp SHORT G_M000_IG27 G_M000_IG24: ;; offset=01D0H 83C005 add eax, 5 EB08 jmp SHORT G_M000_IG27 G_M000_IG25: ;; offset=01D5H 83C006 add eax, 6 EB03 jmp SHORT G_M000_IG27 G_M000_IG26: ;; offset=01DAH 83C007 add eax, 7 G_M000_IG27: ;; offset=01DDH C5F877 vzeroupper 4883C428 add rsp, 40 C3 ret G_M000_IG28: ;; offset=01E5H F30FBCD2 tzcnt edx, edx 03C2 add eax, edx EBF0 jmp SHORT G_M000_IG27 G_M000_IG29: ;; offset=01EDH FF1595381300 call [Program:ThrowMustBeNullTerminatedString()] CC int3 ; Total bytes of code: 500
Find difference