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