Skip to content

Instantly share code, notes, and snippets.

@vlj
Created July 3, 2015 18:43
Show Gist options
  • Save vlj/84cbc7d86e8de269ff86 to your computer and use it in GitHub Desktop.
Save vlj/84cbc7d86e8de269ff86 to your computer and use it in GitHub Desktop.
TRANSLATION UNIT @ 0x000f0
TO
L0: ; | ....
push rbx ; 53 |
push rbp ; 55 |
movaps oword ptr [rsp-24], xmm6 ; 0F297424E8 |
xor eax, eax ; 33C0 | xor pos, pos ....W
; [000000f0] 43 ff e8 08: ila $8, 0x3ffd0
movdqa xmm0, oword ptr [r8] ; 66410F6F00 | movdqa reg_0, [imm] ..r. w
movdqa oword ptr [rcx+544], xmm0 ; 660F7F8120020000 | movdqa [cpu+544], reg_0 r... r
; [000000f4] 12 7f f3 99: hbrr 0x6500, 0x90
; [000000f8] 42 81 01 8c: ila $12, 0x10203
movdqa xmm1, oword ptr [r8+16] ; 66410F6F4810 | movdqa reg_1, [imm+16] ..r. .w
movdqa oword ptr [rcx+608], xmm1 ; 660F7F8960020000 | movdqa [cpu+608], reg_1 r... .r
; [000000fc] 3f e0 03 50: shlqbyi $80, $6, 0x0
movdqa xmm2, oword ptr [rcx+512] ; 660F6F9100020000 | movdqa reg_2, [cpu+512] r... ..w
pslldq xmm2, 0 ; 660F73FA00 | pslldq reg_2, 0 .... ..x
movdqa oword ptr [rcx+1696], xmm2 ; 660F7F91A0060000 | movdqa [cpu+1696], reg_2 r... ..R
; [00000100] 1c 08 04 12: ai $18, $8, 0x20
movdqa xmm2, xmm0 ; 660F6FD0 | movdqa reg_3, reg_0 .... r. w
paddd xmm2, oword ptr [r8+32] ; 66410FFE5020 | paddd reg_3, [imm+32] ..r. .. x
movdqa oword ptr [rcx+704], xmm2 ; 660F7F91C0020000 | movdqa [cpu+704], reg_3 r... .. R
; [00000104] 32 87 80 09: fsmbi $9, 0xf00
movdqa xmm2, oword ptr [r9+61440] ; 66410F6F9100F00000 | movdqa reg_4, [g_imm+61440] ...R .. w
movdqa oword ptr [rcx+560], xmm2 ; 660F7F9130020000 | movdqa [cpu+560], reg_4 r.. .. r
; [00000108] 43 c7 d0 0f: ila $15, 0x38fa0
movdqa xmm3, oword ptr [r8+48] ; 66410F6F5830 | movdqa reg_5, [imm+48] ..r .. .w
movdqa oword ptr [rcx+656], xmm3 ; 660F7F9990020000 | movdqa [cpu+656], reg_5 r.. .. .r
; [0000010c] 3f e0 01 d3: shlqbyi $83, $3, 0x0
movdqa xmm4, oword ptr [rcx+464] ; 660F6FA1D0010000 | movdqa reg_6, [cpu+464] r.. .. ..w
pslldq xmm4, 0 ; 660F73FC00 | pslldq reg_6, 0 ... .. ..x
movdqa oword ptr [rcx+1744], xmm4 ; 660F7FA1D0060000 | movdqa [cpu+1744], reg_6 r.. .. ..R
; [00000110] 04 00 02 52: ori $82, $4, 0x0
movdqa xmm4, oword ptr [rcx+480] ; 660F6FA1E0010000 | movdqa reg_7, [cpu+480] r.. .. .. w
movdqa oword ptr [rcx+1728], xmm4 ; 660F7FA1C0060000 | movdqa [cpu+1728], reg_7 r.. .. .. R
; [00000114] 24 00 04 12: stqd $18, 0x0($8)
mov eax, dword ptr [rcx+556] ; 8B812C020000 | mov addr, [cpu+556] r.. .. .. w
and eax, 262128 ; 25F0FF0300 | and addr, 262128 ... .. .. x
mov rbx, qword ptr [rcx+704] ; 488B99C0020000 | mov qw0, [cpu+704] r.. .. .. .w
mov rbp, qword ptr [rcx+712] ; 488BA9C8020000 | mov qw1, [cpu+712] r.. .. .. ..w
bswap rbx ; 480FCB | bswap qw0 ... .. .. .x.
bswap rbp ; 480FCD | bswap qw1 ... .. .. ..x
mov qword ptr [rdx+rax], rbp ; 48892C02 | mov [ls+addr], qw1 .r. .. .. r.R
mov qword ptr [rdx+rax+8], rbx ; 48895C0208 | mov [ls+addr+8], qw0 .r. .. .. RR
; [00000118] 08 02 07 8a: sf $10, $15, $8
movdqa xmm4, xmm0 ; 660F6FE0 | movdqa reg_8, reg_0 ... R. .. w
psubd xmm4, xmm3 ; 660FFAE3 | psubd reg_8, reg_5 ... . .R x
movdqa oword ptr [rcx+576], xmm4 ; 660F7FA140020000 | movdqa [cpu+576], reg_8 r.. . . r
; [0000011c] 33 8c 5c 8e: lqr $14, 0x6400
mov rbx, qword ptr [rdx+25600] ; 488B9A00640000 | mov qw0, [ls+25600] .r. . . w .
mov rbp, qword ptr [rdx+25608] ; 488BAA08640000 | mov qw1, [ls+25608] .r. . . .w.
bswap rbx ; 480FCB | bswap qw0 ... . . x..
bswap rbp ; 480FCD | bswap qw1 ... . . .x.
mov qword ptr [rcx+640], rbp ; 4889A980020000 | mov [cpu+640], qw1 r.. . . .R.
mov qword ptr [rcx+648], rbx ; 48899988020000 | mov [cpu+648], qw0 r.. . . R .
; [00000120] 04 00 02 d1: ori $81, $5, 0x0
movdqa xmm0, oword ptr [rcx+496] ; 660F6F81F0010000 | movdqa reg_9, [cpu+496] r.. . . .w
movdqa oword ptr [rcx+1712], xmm0 ; 660F7F81B0060000 | movdqa [cpu+1712], reg_9 r.. . . .R
; [00000124] 32 80 00 10: fsmbi $16, 0x0
pxor xmm0, xmm0 ; 660FEFC0 | pxor reg_10, reg_10 ... . . . w
movdqa oword ptr [rcx+672], xmm0 ; 660F7F81A0020000 | movdqa [cpu+672], reg_10 r.. . . . R
; [00000128] 80 22 84 09: selb $SP, $8, $10, $9
movdqa xmm0, xmm4 ; 660F6FC4 | movdqa reg_11, reg_8 ... . . r w
movdqa xmm3, xmm2 ; 660F6FDA | movdqa reg_12, reg_4 ... . R . .w
pand xmm0, xmm3 ; 660FDBC3 | pand reg_11, reg_12 ... . . xr
pandn xmm3, oword ptr [rcx+544] ; 660FDF9920020000 | pandn reg_12, [cpu+544] r.. . . .x
por xmm0, xmm3 ; 660FEBC3 | por reg_11, reg_12 ... . . xR
movdqa oword ptr [rcx+432], xmm0 ; 660F7F81B0010000 | movdqa [cpu+432], reg_11 r.. . . r
; [0000012c] 1c 0c 00 8d: ai $13, $SP, 0x30
movdqa xmm3, xmm0 ; 660F6FD8 | movdqa reg_12, reg_11 ... . . Rw
paddd xmm3, oword ptr [r8+64] ; 66410FFE5840 | paddd reg_12, [imm+64] ..r . . x
movdqa oword ptr [rcx+624], xmm3 ; 660F7F9970020000 | movdqa [cpu+624], reg_12 r.. . . R
; [00000130] 23 ff d8 10: stqr $16, 0x3fff0
mov rbx, qword ptr [rcx+672] ; 488B99A0020000 | mov qw0, [cpu+672] r.. . w .
mov rbp, qword ptr [rcx+680] ; 488BA9A8020000 | mov qw1, [cpu+680] r.. . .w.
bswap rbx ; 480FCB | bswap qw0 ... . x..
bswap rbp ; 480FCD | bswap qw1 ... . .x.
mov qword ptr [rdx+262128], rbp ; 4889AAF0FF0300 | mov [ls+262128], qw1 .r. . .R.
mov qword ptr [rdx+262136], rbx ; 48899AF8FF0300 | mov [ls+262136], qw0 .r. . R .
; [00000134] 3f 81 07 0b: rotqbyi $11, $14, 0x4
movdqa xmm0, oword ptr [rcx+640] ; 660F6F8180020000 | movdqa reg_13, [cpu+640] r.. . . w
palignr xmm0, xmm0, 12 ; 660F3A0FC00C | palignr reg_13, reg_13, 12 ... . . x
movdqa oword ptr [rcx+592], xmm0 ; 660F7F8150020000 | movdqa [cpu+592], reg_13 r.. . . R
; [00000138] 23 8c 4d 0d: stqr $13, 0x63a0
mov rbx, qword ptr [rcx+624] ; 488B9970020000 | mov qw0, [cpu+624] r.. . w .
mov rbp, qword ptr [rcx+632] ; 488BA978020000 | mov qw1, [cpu+632] r.. . .w.
bswap rbx ; 480FCB | bswap qw0 ... . x..
bswap rbp ; 480FCD | bswap qw1 ... . .x.
mov qword ptr [rdx+25504], rbp ; 4889AAA0630000 | mov [ls+25504], qw1 .r. . .R.
mov qword ptr [rdx+25512], rbx ; 48899AA8630000 | mov [ls+25512], qw0 .R. . R .
; [0000013c] b0 c2 c5 8c: shufb $6, $11, $11, $12
movdqa xmm0, xmm1 ; 660F6FC1 | movdqa reg_14, reg_1 . . R . w
movdqa xmm1, xmm0 ; 660F6FC8 | movdqa reg_0, reg_14 . . w . r
movdqa xmm2, oword ptr [r8+80] ; 66410F6F5050 | movdqa reg_15, [imm+80] . r . . .w
movdqa xmm3, oword ptr [r8+96] ; 66410F6F5860 | movdqa reg_1, [imm+96] . r .w . ..
pand xmm1, xmm2 ; 660FDBCA | pand reg_0, reg_15 . . x. . .r
movdqa xmm5, xmm1 ; 660F6FE9 | movdqa reg_5, reg_0 . . r. w . ..
movdqa xmm6, oword ptr [r8+112] ; 66410F6F7070 | movdqa reg_4, [imm+112] . r .. w. . ..
pcmpeqb xmm5, xmm6 ; 660F74EE | pcmpeqb reg_5, reg_4 . . .. rx . ..
movdqa xmm6, xmm1 ; 660F6FF1 | movdqa reg_4, reg_0 . . r. w. . ..
pand xmm6, xmm3 ; 660FDBF3 | pand reg_4, reg_1 . . .r x. . ..
pcmpeqb xmm1, xmm2 ; 660F74CA | pcmpeqb reg_0, reg_15 . . x. .. . .r
pcmpeqb xmm6, xmm3 ; 660F74F3 | pcmpeqb reg_4, reg_1 . . .r x. . ..
pand xmm1, xmm3 ; 660FDBCB | pand reg_0, reg_1 . . xR .. . ..
por xmm5, xmm1 ; 660FEBE9 | por reg_5, reg_0 . . R .x . ..
pandn xmm2, xmm0 ; 660FDFD0 | pandn reg_15, reg_14 . . .. . Rx
movdqa xmm0, oword ptr [r8+128] ; 66410F6F8080000000 | movdqa reg_0, [imm+128] . r w .. . .
pxor xmm2, oword ptr [r8+144] ; 66410FEF9090000000 | pxor reg_15, [imm+144] . r . .. . x
psubb xmm0, xmm2 ; 660FF8C2 | psubb reg_0, reg_15 . . x .. . r
movdqa xmm2, oword ptr [rcx+592] ; 660F6F9150020000 | movdqa reg_15, [cpu+592] r . . .. . w
pshufb xmm2, xmm0 ; 660F3800D0 | pshufb reg_15, reg_0 . . r .. . x
pxor xmm0, oword ptr [r8+160] ; 66410FEF80A0000000 | pxor reg_0, [imm+160] . r x .. . .
movdqa xmm1, oword ptr [rcx+592] ; 660F6F8950020000 | movdqa reg_1, [cpu+592] r . .w .. . .
pshufb xmm1, xmm0 ; 660F3800C8 | pshufb reg_1, reg_0 . . Rx .. . .
por xmm2, xmm1 ; 660FEBD1 | por reg_15, reg_1 . . R .. . x
pandn xmm6, xmm2 ; 660FDFF2 | pandn reg_4, reg_15 . . x. . R
por xmm5, xmm6 ; 660FEBEE | por reg_5, reg_4 . . Rx .
movdqa oword ptr [rcx+512], xmm5 ; 660F7FA900020000 | movdqa [cpu+512], reg_5 r . r .
; [00000140] 1c f4 03 03: ai $3, $6, 0xffffffd0
movdqa xmm0, xmm5 ; 660F6FC5 | movdqa reg_0, reg_5 . . w R .
paddd xmm0, oword ptr [r8+176] ; 66410FFE80B0000000 | paddd reg_0, [imm+176] . r x .
movdqa oword ptr [rcx+464], xmm0 ; 660F7F81D0010000 | movdqa [cpu+464], reg_0 r . r .
; [00000144] 58 00 c5 05: clgt $5, $10, $3
movdqa xmm1, xmm4 ; 660F6FCC | movdqa reg_1, reg_8 . . .w R
movdqa xmm2, oword ptr [r8+192] ; 66410F6F90C0000000 | movdqa reg_4, [imm+192] . r .. w
pxor xmm1, xmm2 ; 660FEFCA | pxor reg_1, reg_4 . . .x r
pxor xmm2, xmm0 ; 660FEFD0 | pxor reg_4, reg_0 . . r. x
pcmpgtd xmm1, xmm2 ; 660F66CA | pcmpgtd reg_1, reg_4 . . .x R
movdqa oword ptr [rcx+496], xmm1 ; 660F7F89F0010000 | movdqa [cpu+496], reg_1 r . .r
; [00000148] 5c 00 01 84: clgti $4, $3, 0x0
movdqa xmm2, xmm0 ; 660F6FD0 | movdqa reg_4, reg_0 . . r. w
pxor xmm2, oword ptr [r8+192] ; 66410FEF90C0000000 | pxor reg_4, [imm+192] . r .. x
pcmpgtd xmm2, oword ptr [r8+192] ; 66410F6690C0000000 | pcmpgtd reg_4, [imm+192] . R .. x
movdqa oword ptr [rcx+480], xmm2 ; 660F7F91E0010000 | movdqa [cpu+480], reg_4 r .. r
; [0000014c] 18 21 02 82: and $2, $5, $4
movdqa xmm3, xmm2 ; 660F6FDA | movdqa reg_14, reg_4 . .. R w
pand xmm3, xmm1 ; 660FDBD9 | pand reg_14, reg_1 . .R x
movdqa oword ptr [rcx+448], xmm3 ; 660F7F99C0010000 | movdqa [cpu+448], reg_14 r . r
; [00000150] 80 e0 c5 02: selb $7, $10, $3, $2
movdqa xmm2, xmm0 ; 660F6FD0 | movdqa reg_15, reg_0 . r .w
movdqa xmm0, xmm3 ; 660F6FC3 | movdqa reg_0, reg_14 . w R.
pand xmm2, xmm0 ; 660FDBD0 | pand reg_15, reg_0 . r x
pandn xmm0, oword ptr [rcx+576] ; 660FDF8140020000 | pandn reg_0, [cpu+576] r x .
por xmm2, xmm0 ; 660FEBD0 | por reg_15, reg_0 . R x
movdqa oword ptr [rcx+528], xmm2 ; 660F7F9110020000 | movdqa [cpu+528], reg_15 r r
; [00000154] 80 21 c4 09: selb $SP, $8, $7, $9
movdqa xmm0, xmm2 ; 660F6FC2 | movdqa reg_0, reg_15 . w R
movdqa xmm4, oword ptr [rcx+560] ; 660F6FA130020000 | movdqa reg_8, [cpu+560] r . w
pand xmm0, xmm4 ; 660FDBC4 | pand reg_0, reg_8 . x r
pandn xmm4, oword ptr [rcx+544] ; 660FDFA120020000 | pandn reg_8, [cpu+544] r . x
por xmm0, xmm4 ; 660FEBC4 | por reg_0, reg_8 . x R
movdqa oword ptr [rcx+432], xmm0 ; 660F7F81B0010000 | movdqa [cpu+432], reg_0 r R
; [00000158] 33 7f e7 00: brsl $LR, 0x90
mov dword ptr [rcx+360], 344 ; C7816801000058010000| mov [cpu+360], 344 r
xor eax, eax ; 33C0 | xor addr, addr . w
mov dword ptr [rcx+416], eax ; 8981A0010000 | mov [cpu+416], addr r r
mov dword ptr [rcx+420], eax ; 8981A4010000 | mov [cpu+420], addr r r
mov dword ptr [rcx+424], eax ; 8981A8010000 | mov [cpu+424], addr r R
mov dword ptr [rcx+428], 348 ; C781AC0100005C010000| mov [cpu+428], 348 R
mov eax, 36 ; B824000000 | mov pos, 36 w
L1: ; |
movaps xmm6, oword ptr [rsp-24] ; 0F287424E8 |
pop rbp ; 5D |
pop rbx ; 5B |
ret ; C3 |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment