Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled Diff
생성일
4년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
69 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
195 행
복사
80 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
197 행
복사
; 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
복사
복사됨
복사
복사됨
7275
jb
SHORT
G_M000_IG06
0F827D000000
jb
G_M000_IG06
G_M000_IG03: ;; offset=0021H
G_M000_IG03: ;; offset=0021H
복사
복사됨
복사
복사됨
EB0A
jmp SHORT G_M000_IG05
EB12
jmp SHORT G_M000_IG05
0F1F4000
align [
4
bytes for IG09]
0F1F40000F1F840000000000
align [
12
bytes for IG09]
복사
복사됨
복사
복사됨
G_M000_IG04: ;; offset=002
7
H
G_M000_IG04: ;; offset=002
F
H
4883FA08 cmp rdx, 8
4883FA08 cmp rdx, 8
복사
복사됨
복사
복사됨
726
5
jb SHORT G_M000_IG06
726
9
jb SHORT G_M000_IG06
복사
복사됨
복사
복사됨
G_M000_IG05: ;; offset=
002DH
G_M000_IG05: ;; offset=
0035H
4883C2F8 add rdx, -8
4883C2F8 add rdx, -8
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
739
B
jae SHORT G_M000_IG05
739
7
jae SHORT G_M000_IG05
복사
복사됨
복사
복사됨
G_M000_IG06: ;; offset=009
2
H
G_M000_IG06: ;; offset=009
E
H
4883FA04 cmp rdx, 4
4883FA04 cmp rdx, 4
복사
복사됨
복사
복사됨
723
3
jb SHORT G_M000_IG08
723
7
jb SHORT G_M000_IG08
복사
복사됨
복사
복사됨
G_M000_IG07: ;; offset=
0098H
G_M000_IG07: ;; offset=
00A4H
4883C2FC add rdx, -4
4883C2FC add rdx, -4
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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]
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
E97
C
FEFFFF jmp G_M000_IG04
E97
4
FEFFFF jmp G_M000_IG04
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
G_M000_IG26: ;; offset=01
C
AH
G_M000_IG26: ;; offset=01
D
AH
83C007 add eax, 7
83C007 add eax, 7
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
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
복사
복사됨
복사
복사됨
; Total bytes of code:
484
; Total bytes of code:
500
저장된 비교 결과
원본
파일 열기
; 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
수정본
파일 열기
; 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
비교하기