📄 x64dll.asm
字号:
include ksamd64.incEXTERNDEF ?Te@rdtable@CryptoPP@@3PA_KA:FAREXTERNDEF ?g_cacheLineSize@CryptoPP@@3IA:FAREXTERNDEF ?SHA256_K@CryptoPP@@3QBIB:FAR.CODE ALIGN 8Baseline_Add PROC lea rdx, [rdx+8*rcx] lea r8, [r8+8*rcx] lea r9, [r9+8*rcx] neg rcx ; rcx is negative index jz $1@Baseline_Add mov rax,[r8+8*rcx] add rax,[r9+8*rcx] mov [rdx+8*rcx],rax$0@Baseline_Add: mov rax,[r8+8*rcx+8] adc rax,[r9+8*rcx+8] mov [rdx+8*rcx+8],rax lea rcx,[rcx+2] ; advance index, avoid inc which causes slowdown on Intel Core 2 jrcxz $1@Baseline_Add ; loop until rcx overflows and becomes zero mov rax,[r8+8*rcx] adc rax,[r9+8*rcx] mov [rdx+8*rcx],rax jmp $0@Baseline_Add$1@Baseline_Add: mov rax, 0 adc rax, rax ; store carry into rax (return result register) retBaseline_Add ENDP ALIGN 8Baseline_Sub PROC lea rdx, [rdx+8*rcx] lea r8, [r8+8*rcx] lea r9, [r9+8*rcx] neg rcx ; rcx is negative index jz $1@Baseline_Sub mov rax,[r8+8*rcx] sub rax,[r9+8*rcx] mov [rdx+8*rcx],rax$0@Baseline_Sub: mov rax,[r8+8*rcx+8] sbb rax,[r9+8*rcx+8] mov [rdx+8*rcx+8],rax lea rcx,[rcx+2] ; advance index, avoid inc which causes slowdown on Intel Core 2 jrcxz $1@Baseline_Sub ; loop until rcx overflows and becomes zero mov rax,[r8+8*rcx] sbb rax,[r9+8*rcx] mov [rdx+8*rcx],rax jmp $0@Baseline_Sub$1@Baseline_Sub: mov rax, 0 adc rax, rax ; store carry into rax (return result register) retBaseline_Sub ENDPALIGN 8Rijndael_Enc_AdvancedProcessBlocks PROC FRAMErex_push_reg rsipush_reg rdipush_reg rbxpush_reg r12.endprologmov r8, rcxmov r11, ?Te@rdtable@CryptoPP@@3PA_KAmov rdi, QWORD PTR [?g_cacheLineSize@CryptoPP@@3IA]mov rsi, [(r8+16*19)]mov rax, 16and rax, rsimovdqa xmm3, XMMWORD PTR [rdx+16+rax]movdqa [(r8+16*12)], xmm3lea rax, [rdx+rax+2*16]sub rax, rsilabel0:movdqa xmm0, [rax+rsi]movdqa XMMWORD PTR [(r8+0)+rsi], xmm0add rsi, 16cmp rsi, 16*12jl label0movdqa xmm4, [rax+rsi]movdqa xmm1, [rdx]mov r12d, [rdx+4*4]mov ebx, [rdx+5*4]mov ecx, [rdx+6*4]mov edx, [rdx+7*4]xor rax, raxlabel9:mov esi, [r11+rax]add rax, rdimov esi, [r11+rax]add rax, rdimov esi, [r11+rax]add rax, rdimov esi, [r11+rax]add rax, rdicmp rax, 2048jl label9lfencetest DWORD PTR [(r8+16*18+8)], 1jz label8mov rsi, [(r8+16*14)]movdqu xmm2, [rsi]pxor xmm2, xmm1psrldq xmm1, 14movd eax, xmm1mov al, BYTE PTR [rsi+15]mov r10d, eaxmovd eax, xmm2psrldq xmm2, 4movd edi, xmm2psrldq xmm2, 4movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2psrldq xmm2, 4movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor r12d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]psrldq xmm2, 3mov eax, [(r8+16*12)+0*4]mov edi, [(r8+16*12)+2*4]mov r9d, [(r8+16*12)+3*4]movzx esi, clxor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, blxor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, bhxor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ebx, 16movzx esi, blxor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, bhmov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]xor ebx, [(r8+16*12)+1*4]movzx esi, chxor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ecx, 16movzx esi, dlxor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16movzx esi, chxor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dlxor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dhxor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movd ecx, xmm2mov edx, r12dmov [(r8+0)+3*4], r9dmov [(r8+0)+0*4], eaxmov [(r8+0)+1*4], ebxmov [(r8+0)+2*4], edijmp label5label3:mov r12d, [(r8+16*12)+0*4]mov ebx, [(r8+16*12)+1*4]mov ecx, [(r8+16*12)+2*4]mov edx, [(r8+16*12)+3*4]label8:mov rax, [(r8+16*14)]movdqu xmm2, [rax]mov rsi, [(r8+16*14)+8]movdqu xmm5, [rsi]pxor xmm2, xmm1pxor xmm2, xmm5movd eax, xmm2psrldq xmm2, 4movd edi, xmm2psrldq xmm2, 4movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2psrldq xmm2, 4movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor r12d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovd edi, xmm2movzx esi, alxor ecx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor r12d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor edx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, edimovzx esi, alxor edx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, ahxor ecx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]shr eax, 16movzx esi, alxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, ahxor r12d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov eax, r12dadd r8, [(r8+16*19)]add r8, 4*16jmp label2label1:mov ecx, r10dmov edx, r12dmov eax, [(r8+0)+0*4]mov ebx, [(r8+0)+1*4]xor cl, chand rcx, 255label5:add r10d, 1xor edx, DWORD PTR [r11+rcx*8+3]movzx esi, dlxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhmov ecx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16xor ecx, [(r8+0)+2*4]movzx esi, dhxor eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, dlmov edx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]xor edx, [(r8+0)+3*4]add r8, [(r8+16*19)]add r8, 3*16jmp label4label2:mov r9d, [(r8+0)-4*16+3*4]mov edi, [(r8+0)-4*16+2*4]movzx esi, clxor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov cl, almovzx esi, ahxor edi, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr eax, 16movzx esi, blxor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, bhxor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ebx, 16movzx esi, alxor r9d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, ahmov eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, blxor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, bhmov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, chxor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]shr ecx, 16movzx esi, dlxor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16movzx esi, chxor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dlxor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dhxor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]mov ecx, edixor eax, [(r8+0)-4*16+0*4]xor ebx, [(r8+0)-4*16+1*4]mov edx, r9dlabel4:mov r9d, [(r8+0)-4*16+7*4]mov edi, [(r8+0)-4*16+6*4]movzx esi, clxor r9d, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]mov cl, almovzx esi, ahxor edi, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr eax, 16movzx esi, blxor edi, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, bhxor r9d, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr ebx, 16movzx esi, alxor r9d, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, ahmov eax, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, blxor eax, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, bhmov ebx, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, chxor eax, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]shr ecx, 16movzx esi, dlxor eax, DWORD PTR [r11+8*rsi+(((3+3) MOD (4))+1)]movzx esi, dhxor ebx, DWORD PTR [r11+8*rsi+(((2+3) MOD (4))+1)]shr edx, 16movzx esi, chxor edi, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]movzx esi, clxor ebx, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dlxor edi, DWORD PTR [r11+8*rsi+(((1+3) MOD (4))+1)]movzx esi, dhxor r9d, DWORD PTR [r11+8*rsi+(((0+3) MOD (4))+1)]mov ecx, edixor eax, [(r8+0)-4*16+4*4]xor ebx, [(r8+0)-4*16+5*4]mov edx, r9dadd r8, 32test r8, 255jnz label2sub r8, 16*16movzx esi, chmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, dlxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+2], dimovzx esi, dhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, alxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+6], dishr edx, 16movzx esi, ahmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, blxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+10], dishr eax, 16movzx esi, bhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, clxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+14], dishr ebx, 16movzx esi, dhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, alxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+12], dishr ecx, 16movzx esi, ahmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, blxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+0], dimovzx esi, bhmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, clxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+4], dimovzx esi, chmovzx edi, BYTE PTR [r11+rsi*8+1]movzx esi, dlxor edi, DWORD PTR [r11+rsi*8+0]mov WORD PTR [(r8+16*13)+8], dimov rax, [(r8+16*14)+16]mov rbx, [(r8+16*14)+24]mov rcx, [(r8+16*18+8)]sub rcx, 16movdqu xmm2, [rax]pxor xmm2, xmm4movdqa xmm0, [(r8+16*16)+16]paddq xmm0, [(r8+16*14)+16]movdqa [(r8+16*14)+16], xmm0pxor xmm2, [(r8+16*13)]movdqu [rbx], xmm2jle label7mov [(r8+16*18+8)], rcxtest rcx, 1jnz label1movdqa xmm0, [(r8+16*16)]paddq xmm0, [(r8+16*14)]movdqa [(r8+16*14)], xmm0jmp label3label7:xorps xmm0, xmm0lea rax, [(r8+0)+7*16]movaps [rax-7*16], xmm0movaps [rax-6*16], xmm0movaps [rax-5*16], xmm0movaps [rax-4*16], xmm0movaps [rax-3*16], xmm0movaps [rax-2*16], xmm0movaps [rax-1*16], xmm0movaps [rax+0*16], xmm0movaps [rax+1*16], xmm0movaps [rax+2*16], xmm0movaps [rax+3*16], xmm0movaps [rax+4*16], xmm0movaps [rax+5*16], xmm0movaps [rax+6*16], xmm0pop r12pop rbxpop rdipop rsiretRijndael_Enc_AdvancedProcessBlocks ENDPALIGN 8GCM_AuthenticateBlocks_2K PROC FRAMErex_push_reg rsipush_reg rdipush_reg rbx.endprologmov rsi, r8mov r11, r9movdqa xmm0, [rsi]label0:movdqu xmm4, [rcx]pxor xmm0, xmm4movd ebx, xmm0mov eax, 0f0f0f0f0hand eax, ebxshl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahmovdqa xmm5, XMMWORD PTR [rsi + 32 + 1024 + rdi]movzx edi, almovdqa xmm4, XMMWORD PTR [rsi + 32 + 1024 + rdi]shr eax, 16movzx edi, ahmovdqa xmm3, XMMWORD PTR [rsi + 32 + 1024 + rdi]movzx edi, almovdqa xmm2, XMMWORD PTR [rsi + 32 + 1024 + rdi]psrldq xmm0, 4movd eax, xmm0and eax, 0f0f0f0f0hmovzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + (1-1)*256 + rdi]movd ebx, xmm0shl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahpxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]movzx edi, alpxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]shr eax, 16movzx edi, ahpxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]movzx edi, alpxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 1*256 + rdi]psrldq xmm0, 4movd eax, xmm0and eax, 0f0f0f0f0hmovzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + (2-1)*256 + rdi]movd ebx, xmm0shl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahpxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]movzx edi, alpxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]shr eax, 16movzx edi, ahpxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]movzx edi, alpxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 2*256 + rdi]psrldq xmm0, 4movd eax, xmm0and eax, 0f0f0f0f0hmovzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + (3-1)*256 + rdi]movd ebx, xmm0shl ebx, 4and ebx, 0f0f0f0f0hmovzx edi, ahpxor xmm5, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]movzx edi, alpxor xmm4, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]shr eax, 16movzx edi, ahpxor xmm3, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]movzx edi, alpxor xmm2, XMMWORD PTR [rsi + 32 + 1024 + 3*256 + rdi]movzx edi, bhpxor xmm5, XMMWORD PTR [rsi + 32 + 3*256 + rdi]movzx edi, blpxor xmm4, XMMWORD PTR [rsi + 32 + 3*256 + rdi]shr ebx, 16movzx edi, bhpxor xmm3, XMMWORD PTR [rsi + 32 + 3*256 + rdi]movzx edi, blpxor xmm2, XMMWORD PTR [rsi + 32 + 3*256 + rdi]movdqa xmm0, xmm3pslldq xmm3, 1pxor xmm2, xmm3movdqa xmm1, xmm2pslldq xmm2, 1pxor xmm5, xmm2psrldq xmm0, 15movd rdi, xmm0movzx eax, WORD PTR [r11 + rdi*2]shl eax, 8movdqa xmm0, xmm5pslldq xmm5, 1pxor xmm4, xmm5psrldq xmm1, 15movd rdi, xmm1xor ax, WORD PTR [r11 + rdi*2]shl eax, 8psrldq xmm0, 15movd rdi, xmm0xor ax, WORD PTR [r11 + rdi*2]movd xmm0, eaxpxor xmm0, xmm4add rcx, 16sub rdx, 1jnz label0movdqa [rsi], xmm0pop rbxpop rdipop rsiretGCM_AuthenticateBlocks_2K ENDPALIGN 8GCM_AuthenticateBlocks_64K PROC FRAMErex_push_reg rsipush_reg rdi.endprologmov rsi, r8movdqa xmm0, [rsi]label1:movdqu xmm1, [rcx]pxor xmm1, xmm0pxor xmm0, xmm0movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (0*4+0)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (0*4+1)*256*16 + rdi*8]shr eax, 16movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (0*4+2)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (0*4+3)*256*16 + rdi*8]movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (1*4+0)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (1*4+1)*256*16 + rdi*8]shr eax, 16movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (1*4+2)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (1*4+3)*256*16 + rdi*8]movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (2*4+0)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (2*4+1)*256*16 + rdi*8]shr eax, 16movzx edi, aladd rdi, rdipxor xmm0, [rsi + 32 + (2*4+2)*256*16 + rdi*8]movzx edi, ahadd rdi, rdipxor xmm0, [rsi + 32 + (2*4+3)*256*16 + rdi*8]movd eax, xmm1psrldq xmm1, 4movzx edi, aladd rdi, rdi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -