Untitled Diff

Creado El diff nunca expira
69 eliminaciones
195 líneas
80 adiciones
197 líneas
; 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=0027H
G_M000_IG04: ;; offset=002FH
4883FA08 cmp rdx, 8
4883FA08 cmp rdx, 8
7265 jb SHORT G_M000_IG06
7269 jb SHORT G_M000_IG06


G_M000_IG05: ;; offset=002DH
G_M000_IG05: ;; offset=0035H
4883C2F8 add rdx, -8
4883C2F8 add rdx, -8
4C8D0401 lea r8, bword ptr [rcx+rax]
803C0100 cmp byte ptr [rcx+rax], 0
41803800 cmp byte ptr [r8], 0
0F8476010000 je G_M000_IG19
0F847A010000 je G_M000_IG19
807C010100 cmp byte ptr [rcx+rax+01H], 0
4180780100 cmp byte ptr [r8+01H], 0
0F846D010000 je G_M000_IG20
0F8471010000 je G_M000_IG20
807C010200 cmp byte ptr [rcx+rax+02H], 0
4180780200 cmp byte ptr [r8+02H], 0
0F8466010000 je G_M000_IG21
0F846A010000 je G_M000_IG21
807C010300 cmp byte ptr [rcx+rax+03H], 0
4180780300 cmp byte ptr [r8+03H], 0
0F8460010000 je G_M000_IG22
0F8464010000 je G_M000_IG22
807C010400 cmp byte ptr [rcx+rax+04H], 0
4180780400 cmp byte ptr [r8+04H], 0
0F845A010000 je G_M000_IG23
0F845E010000 je G_M000_IG23
807C010500 cmp byte ptr [rcx+rax+05H], 0
4180780500 cmp byte ptr [r8+05H], 0
0F8454010000 je G_M000_IG24
0F8458010000 je G_M000_IG24
807C010600 cmp byte ptr [rcx+rax+06H], 0
4180780600 cmp byte ptr [r8+06H], 0
0F844E010000 je G_M000_IG25
0F8452010000 je G_M000_IG25
807C010700 cmp byte ptr [rcx+rax+07H], 0
4180780700 cmp byte ptr [r8+07H], 0
0F8448010000 je G_M000_IG26
0F844C010000 je G_M000_IG26
4883C008 add rax, 8
4883C008 add rax, 8
4883FA08 cmp rdx, 8
4883FA08 cmp rdx, 8
739B jae SHORT G_M000_IG05
7397 jae SHORT G_M000_IG05


G_M000_IG06: ;; offset=0092H
G_M000_IG06: ;; offset=009EH
4883FA04 cmp rdx, 4
4883FA04 cmp rdx, 4
7233 jb SHORT G_M000_IG08
7237 jb SHORT G_M000_IG08


G_M000_IG07: ;; offset=0098H
G_M000_IG07: ;; offset=00A4H
4883C2FC add rdx, -4
4883C2FC add rdx, -4
4C8D0401 lea r8, bword ptr [rcx+rax]
803C0100 cmp byte ptr [rcx+rax], 0
41803800 cmp byte ptr [r8], 0
0F840B010000 je G_M000_IG19
0F840B010000 je G_M000_IG19
807C010100 cmp byte ptr [rcx+rax+01H], 0
4180780100 cmp byte ptr [r8+01H], 0
0F8402010000 je G_M000_IG20
0F8402010000 je G_M000_IG20
807C010200 cmp byte ptr [rcx+rax+02H], 0
4180780200 cmp byte ptr [r8+02H], 0
0F84FB000000 je G_M000_IG21
0F84FB000000 je G_M000_IG21
807C010300 cmp byte ptr [rcx+rax+03H], 0
4180780300 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=00CBH
G_M000_IG08: ;; offset=00DBH
4885D2 test rdx, rdx
4885D2 test rdx, rdx
7415 je SHORT G_M000_IG10
7415 je SHORT G_M000_IG10


G_M000_IG09: ;; offset=00D0H
G_M000_IG09: ;; offset=00E0H
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=00E5H
G_M000_IG10: ;; offset=00F5H
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=00FEH
G_M000_IG11: ;; offset=010EH
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=0118H
G_M000_IG12: ;; offset=0128H
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]