Index: third_party/boringssl/win-x86_64/crypto/rc4/rc4-md5-x86_64.asm |
diff --git a/third_party/boringssl/win-x86_64/crypto/rc4/rc4-md5-x86_64.asm b/third_party/boringssl/win-x86_64/crypto/rc4/rc4-md5-x86_64.asm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7df64b7fa941c52b950d097f3b87091368c0501a |
--- /dev/null |
+++ b/third_party/boringssl/win-x86_64/crypto/rc4/rc4-md5-x86_64.asm |
@@ -0,0 +1,1374 @@ |
+OPTION DOTNAME |
+.text$ SEGMENT ALIGN(64) 'CODE' |
+ALIGN 16 |
+ |
+PUBLIC rc4_md5_enc |
+ |
+rc4_md5_enc PROC PUBLIC |
+ mov QWORD PTR[8+rsp],rdi ;WIN64 prologue |
+ mov QWORD PTR[16+rsp],rsi |
+ mov rax,rsp |
+$L$SEH_begin_rc4_md5_enc:: |
+ mov rdi,rcx |
+ mov rsi,rdx |
+ mov rdx,r8 |
+ mov rcx,r9 |
+ mov r8,QWORD PTR[40+rsp] |
+ mov r9,QWORD PTR[48+rsp] |
+ |
+ |
+ cmp r9,0 |
+ je $L$abort |
+ push rbx |
+ push rbp |
+ push r12 |
+ push r13 |
+ push r14 |
+ push r15 |
+ sub rsp,40 |
+$L$body:: |
+ mov r11,rcx |
+ mov r12,r9 |
+ mov r13,rsi |
+ mov r14,rdx |
+ mov r15,r8 |
+ xor rbp,rbp |
+ xor rcx,rcx |
+ |
+ lea rdi,QWORD PTR[8+rdi] |
+ mov bpl,BYTE PTR[((-8))+rdi] |
+ mov cl,BYTE PTR[((-4))+rdi] |
+ |
+ inc bpl |
+ sub r14,r13 |
+ mov eax,DWORD PTR[rbp*4+rdi] |
+ add cl,al |
+ lea rsi,QWORD PTR[rbp*4+rdi] |
+ shl r12,6 |
+ add r12,r15 |
+ mov QWORD PTR[16+rsp],r12 |
+ |
+ mov QWORD PTR[24+rsp],r11 |
+ mov r8d,DWORD PTR[r11] |
+ mov r9d,DWORD PTR[4+r11] |
+ mov r10d,DWORD PTR[8+r11] |
+ mov r11d,DWORD PTR[12+r11] |
+ jmp $L$oop |
+ |
+ALIGN 16 |
+$L$oop:: |
+ mov DWORD PTR[rsp],r8d |
+ mov DWORD PTR[4+rsp],r9d |
+ mov DWORD PTR[8+rsp],r10d |
+ mov r12d,r11d |
+ mov DWORD PTR[12+rsp],r11d |
+ pxor xmm0,xmm0 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r8d,DWORD PTR[r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[4+rsi] |
+ add r8d,3614090360 |
+ xor r12d,r11d |
+ movzx eax,al |
+ mov DWORD PTR[rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,7 |
+ mov r12d,r10d |
+ movd xmm0,DWORD PTR[rax*4+rdi] |
+ |
+ add r8d,r9d |
+ pxor xmm1,xmm1 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r11d,DWORD PTR[4+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[8+rsi] |
+ add r11d,3905402710 |
+ xor r12d,r10d |
+ movzx ebx,bl |
+ mov DWORD PTR[4+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,12 |
+ mov r12d,r9d |
+ movd xmm1,DWORD PTR[rbx*4+rdi] |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r10d,DWORD PTR[8+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[12+rsi] |
+ add r10d,606105819 |
+ xor r12d,r9d |
+ movzx eax,al |
+ mov DWORD PTR[8+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,17 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],1 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r9d,DWORD PTR[12+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[16+rsi] |
+ add r9d,3250441966 |
+ xor r12d,r8d |
+ movzx ebx,bl |
+ mov DWORD PTR[12+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,22 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],1 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r8d,DWORD PTR[16+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[20+rsi] |
+ add r8d,4118548399 |
+ xor r12d,r11d |
+ movzx eax,al |
+ mov DWORD PTR[16+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,7 |
+ mov r12d,r10d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],2 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r11d,DWORD PTR[20+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[24+rsi] |
+ add r11d,1200080426 |
+ xor r12d,r10d |
+ movzx ebx,bl |
+ mov DWORD PTR[20+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,12 |
+ mov r12d,r9d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],2 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r10d,DWORD PTR[24+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[28+rsi] |
+ add r10d,2821735955 |
+ xor r12d,r9d |
+ movzx eax,al |
+ mov DWORD PTR[24+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,17 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],3 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r9d,DWORD PTR[28+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[32+rsi] |
+ add r9d,4249261313 |
+ xor r12d,r8d |
+ movzx ebx,bl |
+ mov DWORD PTR[28+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,22 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],3 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r8d,DWORD PTR[32+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[36+rsi] |
+ add r8d,1770035416 |
+ xor r12d,r11d |
+ movzx eax,al |
+ mov DWORD PTR[32+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,7 |
+ mov r12d,r10d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],4 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r11d,DWORD PTR[36+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[40+rsi] |
+ add r11d,2336552879 |
+ xor r12d,r10d |
+ movzx ebx,bl |
+ mov DWORD PTR[36+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,12 |
+ mov r12d,r9d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],4 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r10d,DWORD PTR[40+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[44+rsi] |
+ add r10d,4294925233 |
+ xor r12d,r9d |
+ movzx eax,al |
+ mov DWORD PTR[40+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,17 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],5 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r9d,DWORD PTR[44+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[48+rsi] |
+ add r9d,2304563134 |
+ xor r12d,r8d |
+ movzx ebx,bl |
+ mov DWORD PTR[44+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,22 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],5 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r8d,DWORD PTR[48+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[52+rsi] |
+ add r8d,1804603682 |
+ xor r12d,r11d |
+ movzx eax,al |
+ mov DWORD PTR[48+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,7 |
+ mov r12d,r10d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],6 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r11d,DWORD PTR[52+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[56+rsi] |
+ add r11d,4254626195 |
+ xor r12d,r10d |
+ movzx ebx,bl |
+ mov DWORD PTR[52+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,12 |
+ mov r12d,r9d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],6 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r10d,DWORD PTR[56+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[60+rsi] |
+ add r10d,2792965006 |
+ xor r12d,r9d |
+ movzx eax,al |
+ mov DWORD PTR[56+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,17 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],7 |
+ |
+ add r10d,r11d |
+ movdqu xmm2,XMMWORD PTR[r13] |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r9d,DWORD PTR[60+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[64+rsi] |
+ add r9d,1236535329 |
+ xor r12d,r8d |
+ movzx ebx,bl |
+ mov DWORD PTR[60+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,22 |
+ mov r12d,r10d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],7 |
+ |
+ add r9d,r10d |
+ psllq xmm1,8 |
+ pxor xmm2,xmm0 |
+ pxor xmm2,xmm1 |
+ pxor xmm0,xmm0 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r8d,DWORD PTR[4+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[68+rsi] |
+ add r8d,4129170786 |
+ xor r12d,r10d |
+ movzx eax,al |
+ mov DWORD PTR[64+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,5 |
+ mov r12d,r9d |
+ movd xmm0,DWORD PTR[rax*4+rdi] |
+ |
+ add r8d,r9d |
+ pxor xmm1,xmm1 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r11d,DWORD PTR[24+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[72+rsi] |
+ add r11d,3225465664 |
+ xor r12d,r9d |
+ movzx ebx,bl |
+ mov DWORD PTR[68+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,9 |
+ mov r12d,r8d |
+ movd xmm1,DWORD PTR[rbx*4+rdi] |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r10d,DWORD PTR[44+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[76+rsi] |
+ add r10d,643717713 |
+ xor r12d,r8d |
+ movzx eax,al |
+ mov DWORD PTR[72+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,14 |
+ mov r12d,r11d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],1 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r9d,DWORD PTR[r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[80+rsi] |
+ add r9d,3921069994 |
+ xor r12d,r11d |
+ movzx ebx,bl |
+ mov DWORD PTR[76+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,20 |
+ mov r12d,r10d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],1 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r8d,DWORD PTR[20+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[84+rsi] |
+ add r8d,3593408605 |
+ xor r12d,r10d |
+ movzx eax,al |
+ mov DWORD PTR[80+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,5 |
+ mov r12d,r9d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],2 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r11d,DWORD PTR[40+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[88+rsi] |
+ add r11d,38016083 |
+ xor r12d,r9d |
+ movzx ebx,bl |
+ mov DWORD PTR[84+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,9 |
+ mov r12d,r8d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],2 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r10d,DWORD PTR[60+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[92+rsi] |
+ add r10d,3634488961 |
+ xor r12d,r8d |
+ movzx eax,al |
+ mov DWORD PTR[88+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,14 |
+ mov r12d,r11d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],3 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r9d,DWORD PTR[16+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[96+rsi] |
+ add r9d,3889429448 |
+ xor r12d,r11d |
+ movzx ebx,bl |
+ mov DWORD PTR[92+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,20 |
+ mov r12d,r10d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],3 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r8d,DWORD PTR[36+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[100+rsi] |
+ add r8d,568446438 |
+ xor r12d,r10d |
+ movzx eax,al |
+ mov DWORD PTR[96+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,5 |
+ mov r12d,r9d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],4 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r11d,DWORD PTR[56+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[104+rsi] |
+ add r11d,3275163606 |
+ xor r12d,r9d |
+ movzx ebx,bl |
+ mov DWORD PTR[100+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,9 |
+ mov r12d,r8d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],4 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r10d,DWORD PTR[12+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[108+rsi] |
+ add r10d,4107603335 |
+ xor r12d,r8d |
+ movzx eax,al |
+ mov DWORD PTR[104+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,14 |
+ mov r12d,r11d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],5 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r9d,DWORD PTR[32+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[112+rsi] |
+ add r9d,1163531501 |
+ xor r12d,r11d |
+ movzx ebx,bl |
+ mov DWORD PTR[108+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,20 |
+ mov r12d,r10d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],5 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r11d |
+ add r8d,DWORD PTR[52+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[116+rsi] |
+ add r8d,2850285829 |
+ xor r12d,r10d |
+ movzx eax,al |
+ mov DWORD PTR[112+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,5 |
+ mov r12d,r9d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],6 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r10d |
+ add r11d,DWORD PTR[8+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[120+rsi] |
+ add r11d,4243563512 |
+ xor r12d,r9d |
+ movzx ebx,bl |
+ mov DWORD PTR[116+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,9 |
+ mov r12d,r8d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],6 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ and r12d,r9d |
+ add r10d,DWORD PTR[28+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[124+rsi] |
+ add r10d,1735328473 |
+ xor r12d,r8d |
+ movzx eax,al |
+ mov DWORD PTR[120+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,14 |
+ mov r12d,r11d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],7 |
+ |
+ add r10d,r11d |
+ movdqu xmm3,XMMWORD PTR[16+r13] |
+ add bpl,32 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ and r12d,r8d |
+ add r9d,DWORD PTR[48+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[rbp*4+rdi] |
+ add r9d,2368359562 |
+ xor r12d,r11d |
+ movzx ebx,bl |
+ mov DWORD PTR[124+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,20 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],7 |
+ |
+ add r9d,r10d |
+ mov rsi,rcx |
+ xor rcx,rcx |
+ mov cl,sil |
+ lea rsi,QWORD PTR[rbp*4+rdi] |
+ psllq xmm1,8 |
+ pxor xmm3,xmm0 |
+ pxor xmm3,xmm1 |
+ pxor xmm0,xmm0 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r9d |
+ add r8d,DWORD PTR[20+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[4+rsi] |
+ add r8d,4294588738 |
+ movzx eax,al |
+ add r8d,r12d |
+ mov DWORD PTR[rsi],edx |
+ add cl,bl |
+ rol r8d,4 |
+ mov r12d,r10d |
+ movd xmm0,DWORD PTR[rax*4+rdi] |
+ |
+ add r8d,r9d |
+ pxor xmm1,xmm1 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r8d |
+ add r11d,DWORD PTR[32+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[8+rsi] |
+ add r11d,2272392833 |
+ movzx ebx,bl |
+ add r11d,r12d |
+ mov DWORD PTR[4+rsi],edx |
+ add cl,al |
+ rol r11d,11 |
+ mov r12d,r9d |
+ movd xmm1,DWORD PTR[rbx*4+rdi] |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r11d |
+ add r10d,DWORD PTR[44+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[12+rsi] |
+ add r10d,1839030562 |
+ movzx eax,al |
+ add r10d,r12d |
+ mov DWORD PTR[8+rsi],edx |
+ add cl,bl |
+ rol r10d,16 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],1 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r10d |
+ add r9d,DWORD PTR[56+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[16+rsi] |
+ add r9d,4259657740 |
+ movzx ebx,bl |
+ add r9d,r12d |
+ mov DWORD PTR[12+rsi],edx |
+ add cl,al |
+ rol r9d,23 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],1 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r9d |
+ add r8d,DWORD PTR[4+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[20+rsi] |
+ add r8d,2763975236 |
+ movzx eax,al |
+ add r8d,r12d |
+ mov DWORD PTR[16+rsi],edx |
+ add cl,bl |
+ rol r8d,4 |
+ mov r12d,r10d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],2 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r8d |
+ add r11d,DWORD PTR[16+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[24+rsi] |
+ add r11d,1272893353 |
+ movzx ebx,bl |
+ add r11d,r12d |
+ mov DWORD PTR[20+rsi],edx |
+ add cl,al |
+ rol r11d,11 |
+ mov r12d,r9d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],2 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r11d |
+ add r10d,DWORD PTR[28+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[28+rsi] |
+ add r10d,4139469664 |
+ movzx eax,al |
+ add r10d,r12d |
+ mov DWORD PTR[24+rsi],edx |
+ add cl,bl |
+ rol r10d,16 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],3 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r10d |
+ add r9d,DWORD PTR[40+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[32+rsi] |
+ add r9d,3200236656 |
+ movzx ebx,bl |
+ add r9d,r12d |
+ mov DWORD PTR[28+rsi],edx |
+ add cl,al |
+ rol r9d,23 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],3 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r9d |
+ add r8d,DWORD PTR[52+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[36+rsi] |
+ add r8d,681279174 |
+ movzx eax,al |
+ add r8d,r12d |
+ mov DWORD PTR[32+rsi],edx |
+ add cl,bl |
+ rol r8d,4 |
+ mov r12d,r10d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],4 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r8d |
+ add r11d,DWORD PTR[r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[40+rsi] |
+ add r11d,3936430074 |
+ movzx ebx,bl |
+ add r11d,r12d |
+ mov DWORD PTR[36+rsi],edx |
+ add cl,al |
+ rol r11d,11 |
+ mov r12d,r9d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],4 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r11d |
+ add r10d,DWORD PTR[12+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[44+rsi] |
+ add r10d,3572445317 |
+ movzx eax,al |
+ add r10d,r12d |
+ mov DWORD PTR[40+rsi],edx |
+ add cl,bl |
+ rol r10d,16 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],5 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r10d |
+ add r9d,DWORD PTR[24+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[48+rsi] |
+ add r9d,76029189 |
+ movzx ebx,bl |
+ add r9d,r12d |
+ mov DWORD PTR[44+rsi],edx |
+ add cl,al |
+ rol r9d,23 |
+ mov r12d,r11d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],5 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r9d |
+ add r8d,DWORD PTR[36+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[52+rsi] |
+ add r8d,3654602809 |
+ movzx eax,al |
+ add r8d,r12d |
+ mov DWORD PTR[48+rsi],edx |
+ add cl,bl |
+ rol r8d,4 |
+ mov r12d,r10d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],6 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r8d |
+ add r11d,DWORD PTR[48+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[56+rsi] |
+ add r11d,3873151461 |
+ movzx ebx,bl |
+ add r11d,r12d |
+ mov DWORD PTR[52+rsi],edx |
+ add cl,al |
+ rol r11d,11 |
+ mov r12d,r9d |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],6 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ xor r12d,r11d |
+ add r10d,DWORD PTR[60+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[60+rsi] |
+ add r10d,530742520 |
+ movzx eax,al |
+ add r10d,r12d |
+ mov DWORD PTR[56+rsi],edx |
+ add cl,bl |
+ rol r10d,16 |
+ mov r12d,r8d |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],7 |
+ |
+ add r10d,r11d |
+ movdqu xmm4,XMMWORD PTR[32+r13] |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ xor r12d,r10d |
+ add r9d,DWORD PTR[8+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[64+rsi] |
+ add r9d,3299628645 |
+ movzx ebx,bl |
+ add r9d,r12d |
+ mov DWORD PTR[60+rsi],edx |
+ add cl,al |
+ rol r9d,23 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],7 |
+ |
+ add r9d,r10d |
+ psllq xmm1,8 |
+ pxor xmm4,xmm0 |
+ pxor xmm4,xmm1 |
+ pxor xmm0,xmm0 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r9d |
+ add r8d,DWORD PTR[r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[68+rsi] |
+ add r8d,4096336452 |
+ movzx eax,al |
+ xor r12d,r10d |
+ mov DWORD PTR[64+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,6 |
+ mov r12d,-1 |
+ movd xmm0,DWORD PTR[rax*4+rdi] |
+ |
+ add r8d,r9d |
+ pxor xmm1,xmm1 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r8d |
+ add r11d,DWORD PTR[28+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[72+rsi] |
+ add r11d,1126891415 |
+ movzx ebx,bl |
+ xor r12d,r9d |
+ mov DWORD PTR[68+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,10 |
+ mov r12d,-1 |
+ movd xmm1,DWORD PTR[rbx*4+rdi] |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r11d |
+ add r10d,DWORD PTR[56+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[76+rsi] |
+ add r10d,2878612391 |
+ movzx eax,al |
+ xor r12d,r8d |
+ mov DWORD PTR[72+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,15 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],1 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r10d |
+ add r9d,DWORD PTR[20+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[80+rsi] |
+ add r9d,4237533241 |
+ movzx ebx,bl |
+ xor r12d,r11d |
+ mov DWORD PTR[76+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,21 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],1 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r9d |
+ add r8d,DWORD PTR[48+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[84+rsi] |
+ add r8d,1700485571 |
+ movzx eax,al |
+ xor r12d,r10d |
+ mov DWORD PTR[80+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,6 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],2 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r8d |
+ add r11d,DWORD PTR[12+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[88+rsi] |
+ add r11d,2399980690 |
+ movzx ebx,bl |
+ xor r12d,r9d |
+ mov DWORD PTR[84+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,10 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],2 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r11d |
+ add r10d,DWORD PTR[40+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[92+rsi] |
+ add r10d,4293915773 |
+ movzx eax,al |
+ xor r12d,r8d |
+ mov DWORD PTR[88+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,15 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],3 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r10d |
+ add r9d,DWORD PTR[4+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[96+rsi] |
+ add r9d,2240044497 |
+ movzx ebx,bl |
+ xor r12d,r11d |
+ mov DWORD PTR[92+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,21 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],3 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r9d |
+ add r8d,DWORD PTR[32+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[100+rsi] |
+ add r8d,1873313359 |
+ movzx eax,al |
+ xor r12d,r10d |
+ mov DWORD PTR[96+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,6 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],4 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r8d |
+ add r11d,DWORD PTR[60+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[104+rsi] |
+ add r11d,4264355552 |
+ movzx ebx,bl |
+ xor r12d,r9d |
+ mov DWORD PTR[100+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,10 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],4 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r11d |
+ add r10d,DWORD PTR[24+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[108+rsi] |
+ add r10d,2734768916 |
+ movzx eax,al |
+ xor r12d,r8d |
+ mov DWORD PTR[104+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,15 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],5 |
+ |
+ add r10d,r11d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r10d |
+ add r9d,DWORD PTR[52+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[112+rsi] |
+ add r9d,1309151649 |
+ movzx ebx,bl |
+ xor r12d,r11d |
+ mov DWORD PTR[108+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,21 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],5 |
+ |
+ add r9d,r10d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r11d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r9d |
+ add r8d,DWORD PTR[16+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[116+rsi] |
+ add r8d,4149444226 |
+ movzx eax,al |
+ xor r12d,r10d |
+ mov DWORD PTR[112+rsi],edx |
+ add r8d,r12d |
+ add cl,bl |
+ rol r8d,6 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],6 |
+ |
+ add r8d,r9d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r10d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r8d |
+ add r11d,DWORD PTR[44+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[120+rsi] |
+ add r11d,3174756917 |
+ movzx ebx,bl |
+ xor r12d,r9d |
+ mov DWORD PTR[116+rsi],edx |
+ add r11d,r12d |
+ add cl,al |
+ rol r11d,10 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],6 |
+ |
+ add r11d,r8d |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r9d |
+ mov DWORD PTR[rcx*4+rdi],eax |
+ or r12d,r11d |
+ add r10d,DWORD PTR[8+r15] |
+ add al,dl |
+ mov ebx,DWORD PTR[124+rsi] |
+ add r10d,718787259 |
+ movzx eax,al |
+ xor r12d,r8d |
+ mov DWORD PTR[120+rsi],edx |
+ add r10d,r12d |
+ add cl,bl |
+ rol r10d,15 |
+ mov r12d,-1 |
+ pinsrw xmm0,WORD PTR[rax*4+rdi],7 |
+ |
+ add r10d,r11d |
+ movdqu xmm5,XMMWORD PTR[48+r13] |
+ add bpl,32 |
+ mov edx,DWORD PTR[rcx*4+rdi] |
+ xor r12d,r8d |
+ mov DWORD PTR[rcx*4+rdi],ebx |
+ or r12d,r10d |
+ add r9d,DWORD PTR[36+r15] |
+ add bl,dl |
+ mov eax,DWORD PTR[rbp*4+rdi] |
+ add r9d,3951481745 |
+ movzx ebx,bl |
+ xor r12d,r11d |
+ mov DWORD PTR[124+rsi],edx |
+ add r9d,r12d |
+ add cl,al |
+ rol r9d,21 |
+ mov r12d,-1 |
+ pinsrw xmm1,WORD PTR[rbx*4+rdi],7 |
+ |
+ add r9d,r10d |
+ mov rsi,rbp |
+ xor rbp,rbp |
+ mov bpl,sil |
+ mov rsi,rcx |
+ xor rcx,rcx |
+ mov cl,sil |
+ lea rsi,QWORD PTR[rbp*4+rdi] |
+ psllq xmm1,8 |
+ pxor xmm5,xmm0 |
+ pxor xmm5,xmm1 |
+ add r8d,DWORD PTR[rsp] |
+ add r9d,DWORD PTR[4+rsp] |
+ add r10d,DWORD PTR[8+rsp] |
+ add r11d,DWORD PTR[12+rsp] |
+ |
+ movdqu XMMWORD PTR[r13*1+r14],xmm2 |
+ movdqu XMMWORD PTR[16+r13*1+r14],xmm3 |
+ movdqu XMMWORD PTR[32+r13*1+r14],xmm4 |
+ movdqu XMMWORD PTR[48+r13*1+r14],xmm5 |
+ lea r15,QWORD PTR[64+r15] |
+ lea r13,QWORD PTR[64+r13] |
+ cmp r15,QWORD PTR[16+rsp] |
+ jb $L$oop |
+ |
+ mov r12,QWORD PTR[24+rsp] |
+ sub cl,al |
+ mov DWORD PTR[r12],r8d |
+ mov DWORD PTR[4+r12],r9d |
+ mov DWORD PTR[8+r12],r10d |
+ mov DWORD PTR[12+r12],r11d |
+ sub bpl,1 |
+ mov DWORD PTR[((-8))+rdi],ebp |
+ mov DWORD PTR[((-4))+rdi],ecx |
+ |
+ mov r15,QWORD PTR[40+rsp] |
+ mov r14,QWORD PTR[48+rsp] |
+ mov r13,QWORD PTR[56+rsp] |
+ mov r12,QWORD PTR[64+rsp] |
+ mov rbp,QWORD PTR[72+rsp] |
+ mov rbx,QWORD PTR[80+rsp] |
+ lea rsp,QWORD PTR[88+rsp] |
+$L$epilogue:: |
+$L$abort:: |
+ mov rdi,QWORD PTR[8+rsp] ;WIN64 epilogue |
+ mov rsi,QWORD PTR[16+rsp] |
+ DB 0F3h,0C3h ;repret |
+$L$SEH_end_rc4_md5_enc:: |
+rc4_md5_enc ENDP |
+EXTERN __imp_RtlVirtualUnwind:NEAR |
+ |
+ALIGN 16 |
+se_handler PROC PRIVATE |
+ push rsi |
+ push rdi |
+ push rbx |
+ push rbp |
+ push r12 |
+ push r13 |
+ push r14 |
+ push r15 |
+ pushfq |
+ sub rsp,64 |
+ |
+ mov rax,QWORD PTR[120+r8] |
+ mov rbx,QWORD PTR[248+r8] |
+ |
+ lea r10,QWORD PTR[$L$body] |
+ cmp rbx,r10 |
+ jb $L$in_prologue |
+ |
+ mov rax,QWORD PTR[152+r8] |
+ |
+ lea r10,QWORD PTR[$L$epilogue] |
+ cmp rbx,r10 |
+ jae $L$in_prologue |
+ |
+ mov r15,QWORD PTR[40+rax] |
+ mov r14,QWORD PTR[48+rax] |
+ mov r13,QWORD PTR[56+rax] |
+ mov r12,QWORD PTR[64+rax] |
+ mov rbp,QWORD PTR[72+rax] |
+ mov rbx,QWORD PTR[80+rax] |
+ lea rax,QWORD PTR[88+rax] |
+ |
+ mov QWORD PTR[144+r8],rbx |
+ mov QWORD PTR[160+r8],rbp |
+ mov QWORD PTR[216+r8],r12 |
+ mov QWORD PTR[224+r8],r13 |
+ mov QWORD PTR[232+r8],r14 |
+ mov QWORD PTR[240+r8],r15 |
+ |
+$L$in_prologue:: |
+ mov rdi,QWORD PTR[8+rax] |
+ mov rsi,QWORD PTR[16+rax] |
+ mov QWORD PTR[152+r8],rax |
+ mov QWORD PTR[168+r8],rsi |
+ mov QWORD PTR[176+r8],rdi |
+ |
+ mov rdi,QWORD PTR[40+r9] |
+ mov rsi,r8 |
+ mov ecx,154 |
+ DD 0a548f3fch |
+ |
+ mov rsi,r9 |
+ xor rcx,rcx |
+ mov rdx,QWORD PTR[8+rsi] |
+ mov r8,QWORD PTR[rsi] |
+ mov r9,QWORD PTR[16+rsi] |
+ mov r10,QWORD PTR[40+rsi] |
+ lea r11,QWORD PTR[56+rsi] |
+ lea r12,QWORD PTR[24+rsi] |
+ mov QWORD PTR[32+rsp],r10 |
+ mov QWORD PTR[40+rsp],r11 |
+ mov QWORD PTR[48+rsp],r12 |
+ mov QWORD PTR[56+rsp],rcx |
+ call QWORD PTR[__imp_RtlVirtualUnwind] |
+ |
+ mov eax,1 |
+ add rsp,64 |
+ popfq |
+ pop r15 |
+ pop r14 |
+ pop r13 |
+ pop r12 |
+ pop rbp |
+ pop rbx |
+ pop rdi |
+ pop rsi |
+ DB 0F3h,0C3h ;repret |
+se_handler ENDP |
+ |
+.text$ ENDS |
+.pdata SEGMENT READONLY ALIGN(4) |
+ALIGN 4 |
+ DD imagerel $L$SEH_begin_rc4_md5_enc |
+ DD imagerel $L$SEH_end_rc4_md5_enc |
+ DD imagerel $L$SEH_info_rc4_md5_enc |
+ |
+.pdata ENDS |
+.xdata SEGMENT READONLY ALIGN(8) |
+ALIGN 8 |
+$L$SEH_info_rc4_md5_enc:: |
+DB 9,0,0,0 |
+ DD imagerel se_handler |
+ |
+.xdata ENDS |
+END |