Skip to content

Instantly share code, notes, and snippets.

@GrabYourPitchforks
Created January 25, 2018 20:21
Show Gist options
  • Save GrabYourPitchforks/fcab58967165bb829d4b3f0033c44ac6 to your computer and use it in GitHub Desktop.
Save GrabYourPitchforks/fcab58967165bb829d4b3f0033c44ac6 to your computer and use it in GitHub Desktop.
; System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64):
00007ff8`2c697e30 4883ec28 sub rsp,28h
00007ff8`2c697e34 90 nop
00007ff8`2c697e35 488bc1 mov rax,rcx
00007ff8`2c697e38 482bc2 sub rax,rdx
00007ff8`2c697e3b 493bc0 cmp rax,r8
00007ff8`2c697e3e 0f8233010000 jb System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x147 (00007ff8`2c697f77)
00007ff8`2c697e44 488bc2 mov rax,rdx
00007ff8`2c697e47 482bc1 sub rax,rcx
00007ff8`2c697e4a 493bc0 cmp rax,r8
00007ff8`2c697e4d 0f8224010000 jb System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x147 (00007ff8`2c697f77)
00007ff8`2c697e53 498d0410 lea rax,[r8+rdx]
00007ff8`2c697e57 4d8d0c08 lea r9,[r8+rcx]
00007ff8`2c697e5b 4983f810 cmp r8,10h
00007ff8`2c697e5f 7657 jbe System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x88 (00007ff8`2c697eb8)
00007ff8`2c697e61 4983f840 cmp r8,40h
00007ff8`2c697e65 0f87a6000000 ja System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0xe1 (00007ff8`2c697f11)
00007ff8`2c697e6b f30f6f02 movdqu xmm0,xmmword ptr [rdx]
00007ff8`2c697e6f f30f7f01 movdqu xmmword ptr [rcx],xmm0
00007ff8`2c697e73 4983f820 cmp r8,20h
00007ff8`2c697e77 7629 jbe System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x72 (00007ff8`2c697ea2)
00007ff8`2c697e79 4c8d5110 lea r10,[rcx+10h]
00007ff8`2c697e7d 4c8d5a10 lea r11,[rdx+10h]
00007ff8`2c697e81 f3410f6f03 movdqu xmm0,xmmword ptr [r11]
00007ff8`2c697e86 f3410f7f02 movdqu xmmword ptr [r10],xmm0
00007ff8`2c697e8b 4983f830 cmp r8,30h
00007ff8`2c697e8f 7611 jbe System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x72 (00007ff8`2c697ea2)
00007ff8`2c697e91 4c8d4120 lea r8,[rcx+20h]
00007ff8`2c697e95 4883c220 add rdx,20h
00007ff8`2c697e99 f30f6f02 movdqu xmm0,xmmword ptr [rdx]
00007ff8`2c697e9d f3410f7f00 movdqu xmmword ptr [r8],xmm0
00007ff8`2c697ea2 498d49f0 lea rcx,[r9-10h]
00007ff8`2c697ea6 4c8d48f0 lea r9,[rax-10h]
00007ff8`2c697eaa f3410f6f01 movdqu xmm0,xmmword ptr [r9]
00007ff8`2c697eaf f30f7f01 movdqu xmmword ptr [rcx],xmm0
00007ff8`2c697eb3 e9c4000000 jmp System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697eb8 458bd0 mov r10d,r8d
00007ff8`2c697ebb 41f6c218 test r10b,18h
00007ff8`2c697ebf 7416 je System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0xa7 (00007ff8`2c697ed7)
00007ff8`2c697ec1 4c8b12 mov r10,qword ptr [rdx]
00007ff8`2c697ec4 4c8911 mov qword ptr [rcx],r10
00007ff8`2c697ec7 498d51f8 lea rdx,[r9-8]
00007ff8`2c697ecb 488b48f8 mov rcx,qword ptr [rax-8]
00007ff8`2c697ecf 48890a mov qword ptr [rdx],rcx
00007ff8`2c697ed2 e9a5000000 jmp System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697ed7 41f6c204 test r10b,4
00007ff8`2c697edb 7416 je System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0xc3 (00007ff8`2c697ef3)
00007ff8`2c697edd 448b02 mov r8d,dword ptr [rdx]
00007ff8`2c697ee0 448901 mov dword ptr [rcx],r8d
00007ff8`2c697ee3 4d8d51fc lea r10,[r9-4]
00007ff8`2c697ee7 448b48fc mov r9d,dword ptr [rax-4]
00007ff8`2c697eeb 45890a mov dword ptr [r10],r9d
00007ff8`2c697eee e989000000 jmp System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697ef3 4d85c0 test r8,r8
00007ff8`2c697ef6 0f8480000000 je System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697efc 41f6c202 test r10b,2
00007ff8`2c697f00 747a je System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697f02 4d8d41fe lea r8,[r9-2]
00007ff8`2c697f06 480fbf50fe movsx rdx,word ptr [rax-2]
00007ff8`2c697f0b 66418910 mov word ptr [r8],dx
00007ff8`2c697f0f eb6b jmp System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697f11 4981f800080000 cmp r8,800h
00007ff8`2c697f18 775d ja System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x147 (00007ff8`2c697f77)
00007ff8`2c697f1a 4d8bd0 mov r10,r8
00007ff8`2c697f1d 49c1ea06 shr r10,6
00007ff8`2c697f21 f30f6f02 movdqu xmm0,xmmword ptr [rdx]
00007ff8`2c697f25 f30f7f01 movdqu xmmword ptr [rcx],xmm0
00007ff8`2c697f29 f30f6f4210 movdqu xmm0,xmmword ptr [rdx+10h]
00007ff8`2c697f2e f30f7f4110 movdqu xmmword ptr [rcx+10h],xmm0
00007ff8`2c697f33 f30f6f4220 movdqu xmm0,xmmword ptr [rdx+20h]
00007ff8`2c697f38 f30f7f4120 movdqu xmmword ptr [rcx+20h],xmm0
00007ff8`2c697f3d f30f6f4230 movdqu xmm0,xmmword ptr [rdx+30h]
00007ff8`2c697f42 f30f7f4130 movdqu xmmword ptr [rcx+30h],xmm0
00007ff8`2c697f47 4883c140 add rcx,40h
00007ff8`2c697f4b 4883c240 add rdx,40h
00007ff8`2c697f4f 49ffca dec r10
00007ff8`2c697f52 4d85d2 test r10,r10
00007ff8`2c697f55 75ca jne System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0xf1 (00007ff8`2c697f21)
00007ff8`2c697f57 4983e03f and r8,3Fh
00007ff8`2c697f5b 4983f810 cmp r8,10h
00007ff8`2c697f5f 0f8706ffffff ja System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x3b (00007ff8`2c697e6b)
00007ff8`2c697f65 498d49f0 lea rcx,[r9-10h]
00007ff8`2c697f69 4883c0f0 add rax,0FFFFFFFFFFFFFFF0h
00007ff8`2c697f6d f30f6f00 movdqu xmm0,xmmword ptr [rax]
00007ff8`2c697f71 f30f7f01 movdqu xmmword ptr [rcx],xmm0
00007ff8`2c697f75 eb05 jmp System_Private_CoreLib!System.Buffer.Memmove(System.ByReference`1<Byte>, System.ByReference`1<Byte>, UInt64)+0x14c (00007ff8`2c697f7c)
00007ff8`2c697f77 e8c4000000 call System_Private_CoreLib!System.Buffer._Memmove(Byte ByRef, Byte ByRef, UInt64) (00007ff8`2c698040)
00007ff8`2c697f7c 90 nop
00007ff8`2c697f7d 4883c428 add rsp,28h
00007ff8`2c697f81 c3 ret
00007ff8`2c697f82 cc int 3
00007ff8`2c697f83 cc int 3
00007ff8`2c697f84 cc int 3
00007ff8`2c697f85 cc int 3
00007ff8`2c697f86 cc int 3
00007ff8`2c697f87 cc int 3
00007ff8`2c697f88 cc int 3
00007ff8`2c697f89 cc int 3
00007ff8`2c697f8a cc int 3
00007ff8`2c697f8b cc int 3
00007ff8`2c697f8c cc int 3
00007ff8`2c697f8d cc int 3
00007ff8`2c697f8e cc int 3
00007ff8`2c697f8f cc int 3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment