Function at 0x3a98c6410
Capabilities:
Encode data using add xor sub operations

Disassembly:
sub rsp, 0x48
movups xmmword [rsp], xmm6
movups xmmword [rsp + 0x10], xmm7
movups xmmword [rsp + 0x20], xmm8
movups xmmword [rsp + 0x30], xmm9
movdqu xmm5, xmmword [0x3a996c210]
movdqu xmm6, xmmword [rcx]
pshufd xmm4, xmm6, 0x1b
pxor xmm6, xmm6
pinsrd xmm6, dword [rcx + 0x10], 3
nop dword [rax]
movdqu xmm1, xmmword [rdx]
movdqu xmm0, xmm6
movdqu xmm2, xmm4
movdqu xmm3, xmm4
add rdx, 0x40
pshufb xmm1, xmm5
paddd xmm0, xmm1
sha1rnds4 xmm2, xmm0, 0
movdqu xmm0, xmmword [rdx - 0x30]
movdqu xmm8, xmm2
pshufb xmm0, xmm5
sha1nexte xmm3, xmm0
sha1msg1 xmm1, xmm0
sha1rnds4 xmm8, xmm3, 0
movdqu xmm3, xmmword [rdx - 0x20]
movdqu xmm7, xmm8
movdqu xmm9, xmm8
pshufb xmm3, xmm5
sha1nexte xmm2, xmm3
pxor xmm1, xmm3
sha1msg1 xmm0, xmm3
sha1rnds4 xmm7, xmm2, 0
movdqu xmm2, xmmword [rdx - 0x10]
movdqu xmm8, xmm7
pshufb xmm2, xmm5
sha1msg2 xmm1, xmm2
sha1nexte xmm9, xmm2
sha1msg1 xmm3, xmm2
sha1rnds4 xmm8, xmm9, 0
sha1nexte xmm7, xmm1
pxor xmm0, xmm2
movdqu xmm9, xmm7
movdqu xmm7, xmm8
sha1msg2 xmm0, xmm1
sha1rnds4 xmm7, xmm9, 0
pxor xmm3, xmm1
movdqu xmm9, xmm8
sha1msg2 xmm3, xmm0
sha1nexte xmm9, xmm0
movdqu xmm8, xmm7
sha1rnds4 xmm8, xmm9, 1
sha1nexte xmm7, xmm3
sha1msg1 xmm2, xmm1
movdqu xmm9, xmm7
sha1msg1 xmm1, xmm0
pxor xmm2, xmm0
movdqu xmm7, xmm8
sha1msg2 xmm2, xmm3
pxor xmm1, xmm3
sha1rnds4 xmm7, xmm9, 1
movdqu xmm9, xmm8
sha1msg2 xmm1, xmm2
sha1nexte xmm9, xmm2
movdqu xmm8, xmm7
sha1msg1 xmm0, xmm3
sha1rnds4 xmm8, xmm9, 1
sha1nexte xmm7, xmm1
sha1msg1 xmm3, xmm2
movdqu xmm9, xmm7
pxor xmm0, xmm2
movdqu xmm7, xmm8
sha1msg2 xmm0, xmm1
sha1rnds4 xmm7, xmm9, 1
pxor xmm3, xmm1
movdqu xmm9, xmm8
sha1msg2 xmm3, xmm0
movdqu xmm8, xmm7
sha1nexte xmm9, xmm0
sha1nexte xmm7, xmm3
sha1msg1 xmm2, xmm1
sha1rnds4 xmm8, xmm9, 1
sha1msg1 xmm1, xmm0
movdqu xmm9, xmm7
pxor xmm2, xmm0
movdqu xmm7, xmm8
pxor xmm1, xmm3
sha1msg2 xmm2, xmm3
sha1rnds4 xmm7, xmm9, 2
movdqu xmm9, xmm8
sha1msg2 xmm1, xmm2
sha1nexte xmm9, xmm2
movdqu xmm8, xmm7
sha1rnds4 xmm8, xmm9, 2
sha1nexte xmm7, xmm1
sha1msg1 xmm0, xmm3
movdqu xmm9, xmm7
sha1msg1 xmm3, xmm2
pxor xmm0, xmm2
movdqu xmm7, xmm8
sha1msg2 xmm0, xmm1
pxor xmm3, xmm1
sha1rnds4 xmm7, xmm9, 2
movdqu xmm9, xmm8
sha1msg2 xmm3, xmm0
sha1nexte xmm9, xmm0
movdqu xmm8, xmm7
sha1msg1 xmm2, xmm1
sha1rnds4 xmm8, xmm9, 2
sha1nexte xmm7, xmm3
sha1msg1 xmm1, xmm0
movdqu xmm9, xmm7
pxor xmm2, xmm0
movdqu xmm7, xmm8
sha1msg2 xmm2, xmm3
sha1rnds4 xmm7, xmm9, 2
pxor xmm1, xmm3
movdqu xmm9, xmm8
sha1msg2 xmm1, xmm2
movdqu xmm8, xmm7
sha1nexte xmm9, xmm2
sha1nexte xmm7, xmm1
sha1msg1 xmm0, xmm3
sha1rnds4 xmm8, xmm9, 3
pxor xmm0, xmm2
movdqu xmm9, xmm7
movdqu xmm7, xmm8
sha1msg2 xmm0, xmm1
sha1msg1 xmm3, xmm2
sha1rnds4 xmm7, xmm9, 3
sha1msg1 xmm2, xmm1
sha1nexte xmm8, xmm0
pxor xmm1, xmm3
movdqu xmm3, xmm7
sha1msg2 xmm1, xmm0
sha1rnds4 xmm3, xmm8, 3
pxor xmm0, xmm2
sha1msg2 xmm0, xmm1
sha1nexte xmm7, xmm1
movdqu xmm1, xmm3
sha1rnds4 xmm1, xmm7, 3
sha1nexte xmm3, xmm0
movdqu xmm0, xmm1
sha1nexte xmm1, xmm6
sha1rnds4 xmm0, xmm3, 3
movdqu xmm6, xmm1
paddd xmm0, xmm4
movdqu xmm4, xmm0
sub r8, 1
jne 0x3a98c6448
movups xmm6, xmmword [rsp]
movups xmm7, xmmword [rsp + 0x10]
pshufd xmm0, xmm0, 0x1b
pextrd dword [rcx + 0x10], xmm1, 3
movups xmm8, xmmword [rsp + 0x20]
movups xmm9, xmmword [rsp + 0x30]
movups xmmword [rcx], xmm0
add rsp, 0x48
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
movups xmmword [rsp + 0x50], xmm6
movups xmmword [rsp + 0x60], xmm7
movups xmmword [rsp + 0x70], xmm8
movups xmmword [rsp + 0x80], xmm9
movups xmmword [rsp + 0x90], xmm10
movups xmmword [rsp + 0xa0], xmm11
movups xmmword [rsp + 0xb0], xmm12
movups xmmword [rsp + 0xc0], xmm13
movups xmmword [rsp + 0xd0], xmm14
movups xmmword [rsp + 0xe0], xmm15
movdqu xmm9, xmmword [0x3a996c230]
movdqu xmm11, xmmword [0x3a996c240]
movdqu xmm10, xmmword [0x3a996c250]
movdqu xmm15, xmmword [0x3a996c260]
movdqu xmm6, xmmword [rdx]
movdqu xmm5, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
movdqu xmm0, xmmword [rdx + 0x30]
pshufb xmm6, xmmword [0x3a996c220]
mov ebp, dword [rcx + 0xc]
mov edi, dword [rcx + 8]
pshufb xmm5, xmmword [0x3a996c220]
mov esi, dword [rcx + 4]
mov r13d, dword [rcx]
movdqu xmm1, xmm6
movdqu xmm3, xmm5
mov ebx, dword [rcx + 0x10]
paddd xmm6, xmm9
paddd xmm5, xmm9
mov r10, rdx
mov r11, rcx
movups xmmword [rsp + 0x10], xmm6
mov r12d, ebp
mov r9d, edi
movups xmmword [rsp + 0x20], xmm5
mov r14d, esi
mov edx, r13d
mov r15d, ebx
pshufb xmm4, xmmword [0x3a996c220]
pshufb xmm0, xmmword [0x3a996c220]
movdqu xmm2, xmm4
movdqu xmm8, xmm0
paddd xmm4, xmm9
paddd xmm0, xmm9
movups xmmword [rsp + 0x30], xmm4
movups xmmword [rsp + 0x40], xmm0
jmp 0x3a98c6822
mov ebp, dword [r11 + 0xc]
mov edi, dword [r11 + 8]
mov ebx, r15d
mov esi, dword [r11 + 4]
mov r13d, dword [r11]
movdqu xmm13, xmm3
movdqu xmm12, xmm2
movdqu xmm7, xmm8
pxor xmm13, xmm1
pxor xmm12, xmm3
pxor xmm7, xmm2
mov ecx, r12d
movdqu xmm0, xmm3
movdqu xmm4, xmm8
mov eax, edx
xor ecx, r9d
rol eax, 5
add eax, dword [rsp + 0x10]
palignr xmm0, xmm1, 8
psrldq xmm4, 4
and ecx, r14d
ror r14d, 2
xor ecx, r12d
add ecx, eax
lea eax, [rcx + r15]
mov ecx, r14d
pxor xmm1, xmm2
pxor xmm0, xmm4
add r12d, dword [rsp + 0x14]
xor ecx, r9d
pxor xmm0, xmm1
and ecx, edx
movdqu xmm4, xmm0
ror edx, 2
xor ecx, r9d
pslldq xmm4, 0xc
add ecx, r12d
mov r12d, eax
rol r12d, 5
add ecx, r12d
mov r12d, r14d
movdqu xmm5, xmm4
movdqu xmm1, xmm0
add r9d, dword [rsp + 0x18]
pslld xmm5, 2
pslld xmm1, 1
xor r12d, edx
psrld xmm0, 0x1f
psrld xmm4, 0x1e
and r12d, eax
ror eax, 2
xor r12d, r14d
add r12d, r9d
mov r9d, ecx
rol r9d, 5
add r12d, r9d
mov r9d, eax
pxor xmm4, xmm0
pxor xmm1, xmm5
add r14d, dword [rsp + 0x1c]
xor r9d, edx
pxor xmm1, xmm4
movdqu xmm0, xmm9
and r9d, ecx
paddd xmm0, xmm1
ror ecx, 2
xor r9d, edx
movups xmmword [rsp + 0x10], xmm0
add r9d, r14d
mov r14d, r12d
rol r14d, 5
add r9d, r14d
mov r14d, eax
movdqu xmm0, xmm2
movdqu xmm4, xmm1
add edx, dword [rsp + 0x20]
palignr xmm0, xmm3, 8
psrldq xmm4, 4
xor r14d, ecx
and r14d, r12d
xor r14d, eax
add r14d, edx
mov edx, r9d
rol edx, 5
add r14d, edx
mov edx, r12d
ror edx, 2
mov r12d, edx
pxor xmm0, xmm4
pxor xmm3, xmm8
add eax, dword [rsp + 0x24]
xor r12d, ecx
pxor xmm3, xmm0
and r12d, r9d
movdqu xmm4, xmm3
xor r12d, ecx
pslldq xmm4, 0xc
add r12d, eax
mov eax, r14d
rol eax, 5
add r12d, eax
mov eax, r9d
ror eax, 2
mov r9d, edx
movdqu xmm5, xmm4
movdqu xmm0, xmm3
add ecx, dword [rsp + 0x28]
pslld xmm5, 2
pslld xmm0, 1
xor r9d, eax
psrld xmm3, 0x1f
psrld xmm4, 0x1e
and r9d, r14d
ror r14d, 2
xor r9d, edx
add r9d, ecx
mov ecx, r12d
rol ecx, 5
add r9d, ecx
mov ecx, r14d
pxor xmm4, xmm3
pxor xmm0, xmm5
add edx, dword [rsp + 0x2c]
xor ecx, eax
pxor xmm0, xmm4
movdqu xmm3, xmm11
and ecx, r12d
movdqu xmm6, xmm0
paddd xmm3, xmm0
ror r12d, 2
xor ecx, eax
pxor xmm6, xmm1
movups xmmword [rsp + 0x20], xmm3
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r14d
movdqu xmm3, xmm8
movdqu xmm4, xmm0
add eax, dword [rsp + 0x30]
palignr xmm3, xmm2, 8
psrldq xmm4, 4
xor edx, r12d
and edx, r9d
ror r9d, 2
xor edx, r14d
add edx, eax
mov eax, ecx
rol eax, 5
add edx, eax
mov eax, r9d
pxor xmm3, xmm2
movdqu xmm2, xmm4
add r14d, dword [rsp + 0x34]
xor eax, r12d
pxor xmm2, xmm1
and eax, ecx
pxor xmm3, xmm2
ror ecx, 2
xor eax, r12d
movdqu xmm4, xmm3
add eax, r14d
pslldq xmm4, 0xc
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r14d, r9d
movdqu xmm5, xmm4
movdqu xmm2, xmm3
add r12d, dword [rsp + 0x38]
pslld xmm5, 2
pslld xmm2, 1
xor r14d, ecx
psrld xmm3, 0x1f
psrld xmm4, 0x1e
and r14d, edx
ror edx, 2
xor r14d, r9d
add r14d, r12d
mov r12d, eax
rol r12d, 5
add r14d, r12d
mov r12d, edx
pxor xmm4, xmm3
pxor xmm2, xmm5
add r9d, dword [rsp + 0x3c]
xor r12d, ecx
pxor xmm2, xmm4
movdqu xmm3, xmm11
and r12d, eax
movdqu xmm5, xmm2
paddd xmm3, xmm2
ror eax, 2
xor r12d, ecx
pxor xmm5, xmm0
movups xmmword [rsp + 0x30], xmm3
add r12d, r9d
mov r9d, r14d
movups xmmword [rsp], xmm5
rol r9d, 5
add r12d, r9d
mov r9d, edx
movdqu xmm4, xmm1
movdqu xmm3, xmm2
add ecx, dword [rsp + 0x40]
palignr xmm4, xmm8, 8
psrldq xmm3, 4
xor r9d, eax
and r9d, r14d
ror r14d, 2
xor r9d, edx
add r9d, ecx
mov ecx, r12d
rol ecx, 5
add r9d, ecx
mov ecx, r14d
pxor xmm4, xmm8
pxor xmm3, xmm0
add edx, dword [rsp + 0x44]
xor ecx, eax
pxor xmm4, xmm3
and ecx, r12d
movdqu xmm5, xmm4
ror r12d, 2
xor ecx, eax
pslldq xmm5, 0xc
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r14d
movdqu xmm3, xmm5
movdqu xmm14, xmm4
add eax, dword [rsp + 0x48]
pslld xmm3, 2
pslld xmm14, 1
xor edx, r12d
psrld xmm4, 0x1f
psrld xmm5, 0x1e
and edx, r9d
ror r9d, 2
xor edx, r14d
add edx, eax
mov eax, ecx
rol eax, 5
add edx, eax
mov eax, r9d
add r14d, dword [rsp + 0x4c]
pxor xmm5, xmm4
xor eax, r12d
pxor xmm3, xmm14
movdqu xmm4, xmm11
and eax, ecx
pxor xmm3, xmm5
ror ecx, 2
xor eax, r12d
movdqu xmm14, xmm3
paddd xmm4, xmm3
add eax, r14d
mov r14d, edx
pxor xmm14, xmm2
movups xmmword [rsp + 0x40], xmm4
rol r14d, 5
add eax, r14d
mov r14d, r9d
add r12d, dword [rsp + 0x10]
movdqu xmm4, xmm3
xor r14d, ecx
palignr xmm4, xmm2, 8
and r14d, edx
ror edx, 2
xor r14d, r9d
add r12d, r14d
mov r14d, eax
rol r14d, 5
add r12d, r14d
mov r14d, edx
add r9d, dword [rsp + 0x14]
xor r14d, ecx
and r14d, eax
ror eax, 2
xor r14d, ecx
add r9d, r14d
mov r14d, r12d
rol r14d, 5
add r9d, r14d
mov r14d, edx
pxor xmm4, xmm1
add ecx, dword [rsp + 0x18]
xor r14d, eax
pxor xmm4, xmm13
and r14d, r12d
movdqu xmm5, xmm4
ror r12d, 2
pslld xmm5, 2
psrld xmm4, 0x1e
xor r14d, edx
add ecx, r14d
mov r14d, r9d
pxor xmm4, xmm5
rol r14d, 5
add ecx, r14d
mov r14d, r12d
add edx, dword [rsp + 0x1c]
movdqu xmm5, xmm11
xor r14d, eax
paddd xmm5, xmm4
and r14d, r9d
movups xmmword [rsp + 0x10], xmm5
ror r9d, 2
xor r14d, eax
add edx, r14d
mov r14d, ecx
rol r14d, 5
add edx, r14d
mov r14d, r12d
add eax, dword [rsp + 0x20]
movdqu xmm5, xmm4
xor r14d, r9d
palignr xmm5, xmm3, 8
xor r14d, ecx
ror ecx, 2
add r14d, eax
mov eax, edx
rol eax, 5
add r14d, eax
mov eax, ecx
add r12d, dword [rsp + 0x24]
xor eax, r9d
xor eax, edx
ror edx, 2
add r12d, eax
mov eax, r14d
rol eax, 5
add r12d, eax
pxor xmm0, xmm5
mov eax, ecx
add r9d, dword [rsp + 0x28]
pxor xmm0, xmm12
xor eax, edx
movdqu xmm5, xmm0
psrld xmm0, 0x1e
xor eax, r14d
ror r14d, 2
pslld xmm5, 2
add r9d, eax
mov eax, r12d
pxor xmm0, xmm5
rol eax, 5
movdqu xmm5, xmm0
add r9d, eax
pxor xmm5, xmm4
mov eax, r14d
add ecx, dword [rsp + 0x2c]
movdqu xmm12, xmm11
xor eax, edx
paddd xmm12, xmm0
xor eax, r12d
movups xmmword [rsp + 0x20], xmm12
ror r12d, 2
add ecx, eax
mov eax, r9d
rol eax, 5
add ecx, eax
mov eax, r14d
add edx, dword [rsp + 0x30]
movdqu xmm12, xmm0
xor eax, r12d
palignr xmm12, xmm4, 8
xor eax, r9d
ror r9d, 2
add edx, eax
mov eax, ecx
rol eax, 5
add edx, eax
mov eax, r9d
add r14d, dword [rsp + 0x34]
xor eax, r12d
xor eax, ecx
ror ecx, 2
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
pxor xmm2, xmm12
mov r14d, r9d
add r12d, dword [rsp + 0x38]
pxor xmm2, xmm7
xor r14d, ecx
movdqu xmm7, xmm2
psrld xmm2, 0x1e
xor r14d, edx
ror edx, 2
pslld xmm7, 2
add r14d, r12d
mov r12d, eax
pxor xmm2, xmm7
rol r12d, 5
movdqu xmm7, xmm2
add r14d, r12d
pxor xmm7, xmm0
mov r12d, edx
add r9d, dword [rsp + 0x3c]
movdqu xmm12, xmm10
xor r12d, ecx
paddd xmm12, xmm2
xor r12d, eax
movups xmmword [rsp + 0x30], xmm12
ror eax, 2
add r12d, r9d
mov r9d, r14d
rol r9d, 5
add r12d, r9d
mov r9d, edx
add ecx, dword [rsp + 0x40]
movdqu xmm12, xmm2
xor r9d, eax
palignr xmm12, xmm0, 8
xor r9d, r14d
pxor xmm8, xmm12
ror r14d, 2
add r9d, ecx
mov ecx, r12d
rol ecx, 5
add r9d, ecx
mov ecx, r14d
add edx, dword [rsp + 0x44]
xor ecx, eax
xor ecx, r12d
ror r12d, 2
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
pxor xmm1, xmm3
mov edx, r14d
add eax, dword [rsp + 0x48]
pxor xmm1, xmm8
xor edx, r12d
movdqu xmm8, xmm1
psrld xmm1, 0x1e
xor edx, r9d
ror r9d, 2
pslld xmm8, 2
add edx, eax
mov eax, ecx
pxor xmm1, xmm8
rol eax, 5
movdqu xmm12, xmm1
add edx, eax
pxor xmm12, xmm2
mov eax, r9d
add r14d, dword [rsp + 0x4c]
movdqu xmm8, xmm10
xor eax, r12d
paddd xmm8, xmm1
xor eax, ecx
movups xmmword [rsp + 0x40], xmm8
ror ecx, 2
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r14d, r9d
add r12d, dword [rsp + 0x10]
movdqu xmm8, xmm1
xor r14d, ecx
palignr xmm8, xmm2, 8
xor r14d, edx
ror edx, 2
add r14d, r12d
mov r12d, eax
rol r12d, 5
add r14d, r12d
mov r12d, edx
add r9d, dword [rsp + 0x14]
xor r12d, ecx
xor r12d, eax
ror eax, 2
add r12d, r9d
mov r9d, r14d
rol r9d, 5
add r12d, r9d
pxor xmm8, xmm4
mov r9d, edx
add ecx, dword [rsp + 0x18]
pxor xmm6, xmm8
xor r9d, eax
movdqu xmm8, xmm6
psrld xmm6, 0x1e
xor r9d, r14d
ror r14d, 2
pslld xmm8, 2
add r9d, ecx
mov ecx, r12d
pxor xmm6, xmm8
rol ecx, 5
movdqu xmm8, xmm6
add r9d, ecx
pxor xmm8, xmm1
mov ecx, r14d
add edx, dword [rsp + 0x1c]
movdqu xmm13, xmm10
xor ecx, eax
paddd xmm13, xmm6
xor ecx, r12d
movups xmmword [rsp + 0x10], xmm13
ror r12d, 2
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r14d
add eax, dword [rsp + 0x20]
movdqu xmm13, xmm6
xor edx, r12d
palignr xmm13, xmm1, 8
xor edx, r9d
ror r9d, 2
add edx, eax
mov eax, ecx
rol eax, 5
add edx, eax
mov eax, r9d
add r14d, dword [rsp + 0x24]
xor eax, r12d
xor eax, ecx
ror ecx, 2
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r14d, r9d
pxor xmm0, xmm13
pxor xmm0, xmmword [rsp]
add r12d, dword [rsp + 0x28]
xor r14d, ecx
xor r14d, edx
movdqu xmm13, xmm0
ror edx, 2
pslld xmm13, 2
psrld xmm0, 0x1e
add r14d, r12d
mov r12d, eax
rol r12d, 5
pxor xmm0, xmm13
add r14d, r12d
mov r12d, edx
add r9d, dword [rsp + 0x2c]
movdqu xmm13, xmm10
xor r12d, ecx
paddd xmm13, xmm0
xor r12d, eax
movups xmmword [rsp + 0x20], xmm13
ror eax, 2
add r12d, r9d
mov r9d, r14d
rol r9d, 5
add r12d, r9d
mov r9d, edx
mov r15d, edx
movdqu xmm13, xmm0
add ecx, dword [rsp + 0x30]
xor r9d, eax
palignr xmm13, xmm6, 8
and r15d, eax
and r9d, r14d
ror r14d, 2
xor r9d, r15d
add r9d, ecx
mov ecx, r12d
rol ecx, 5
add r9d, ecx
mov ecx, r14d
mov r15d, r14d
add edx, dword [rsp + 0x34]
xor ecx, eax
and r15d, eax
and ecx, r12d
ror r12d, 2
xor ecx, r15d
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r14d
mov r15d, r14d
pxor xmm2, xmm13
add eax, dword [rsp + 0x38]
xor edx, r12d
and r15d, r12d
pxor xmm2, xmm14
and edx, r9d
movdqu xmm13, xmm2
ror r9d, 2
pslld xmm13, 2
psrld xmm2, 0x1e
xor edx, r15d
add edx, eax
mov eax, ecx
pxor xmm2, xmm13
rol eax, 5
add edx, eax
mov eax, r9d
mov r15d, r9d
movdqu xmm13, xmm10
add r14d, dword [rsp + 0x3c]
xor eax, r12d
and r15d, r12d
paddd xmm13, xmm2
and eax, ecx
movups xmmword [rsp + 0x30], xmm13
ror ecx, 2
xor eax, r15d
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r14d, r9d
mov r15d, r9d
movdqu xmm13, xmm2
add r12d, dword [rsp + 0x40]
xor r14d, ecx
palignr xmm13, xmm0, 8
and r15d, ecx
and r14d, edx
pxor xmm3, xmm13
ror edx, 2
xor r14d, r15d
add r14d, r12d
mov r12d, eax
rol r12d, 5
add r14d, r12d
mov r12d, edx
mov r15d, edx
add r9d, dword [rsp + 0x44]
xor r12d, ecx
and r15d, ecx
and r12d, eax
ror eax, 2
xor r12d, r15d
add r12d, r9d
mov r9d, r14d
rol r9d, 5
add r12d, r9d
mov r9d, edx
mov r15d, edx
pxor xmm1, xmm4
add ecx, dword [rsp + 0x48]
xor r9d, eax
and r15d, eax
pxor xmm1, xmm3
and r9d, r14d
movdqu xmm3, xmm1
ror r14d, 2
pslld xmm3, 2
psrld xmm1, 0x1e
xor r9d, r15d
add r9d, ecx
mov ecx, r12d
pxor xmm1, xmm3
rol ecx, 5
add r9d, ecx
mov ecx, r14d
mov r15d, r14d
movdqu xmm3, xmm15
add edx, dword [rsp + 0x4c]
xor ecx, eax
and r15d, eax
paddd xmm3, xmm1
and ecx, r12d
movups xmmword [rsp + 0x40], xmm3
ror r12d, 2
xor ecx, r15d
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r14d
mov r15d, r14d
movdqu xmm3, xmm1
add eax, dword [rsp + 0x10]
xor edx, r12d
palignr xmm3, xmm2, 8
and r15d, r12d
and edx, r9d
ror r9d, 2
xor edx, r15d
add edx, eax
mov eax, ecx
rol eax, 5
add edx, eax
mov eax, r9d
mov r15d, r9d
add r14d, dword [rsp + 0x14]
xor eax, r12d
and r15d, r12d
and eax, ecx
ror ecx, 2
xor eax, r15d
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r14d, r9d
mov r15d, r9d
pxor xmm6, xmm3
add r12d, dword [rsp + 0x18]
xor r14d, ecx
and r15d, ecx
pxor xmm6, xmm5
and r14d, edx
movdqu xmm3, xmm6
ror edx, 2
pslld xmm3, 2
psrld xmm6, 0x1e
xor r14d, r15d
add r14d, r12d
mov r12d, eax
pxor xmm6, xmm3
rol r12d, 5
add r14d, r12d
mov r12d, edx
mov r15d, edx
movdqu xmm3, xmm15
add r9d, dword [rsp + 0x1c]
xor r12d, ecx
and r15d, ecx
paddd xmm3, xmm6
and r12d, eax
movups xmmword [rsp + 0x10], xmm3
ror eax, 2
xor r12d, r15d
add r12d, r9d
mov r9d, r14d
rol r9d, 5
add r12d, r9d
mov r9d, edx
mov r15d, edx
movdqu xmm3, xmm6
add ecx, dword [rsp + 0x20]
xor r9d, eax
palignr xmm3, xmm1, 8
and r15d, eax
and r9d, r14d
ror r14d, 2
xor r9d, r15d
add r9d, ecx
mov ecx, r12d
rol ecx, 5
add r9d, ecx
mov ecx, r14d
mov r15d, r14d
add edx, dword [rsp + 0x24]
xor ecx, eax
and r15d, eax
and ecx, r12d
ror r12d, 2
xor ecx, r15d
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r14d
mov r15d, r14d
pxor xmm0, xmm3
add eax, dword [rsp + 0x28]
xor edx, r12d
and r15d, r12d
pxor xmm0, xmm7
and edx, r9d
movdqu xmm3, xmm0
ror r9d, 2
pslld xmm3, 2
psrld xmm0, 0x1e
xor edx, r15d
add edx, eax
mov eax, ecx
pxor xmm0, xmm3
rol eax, 5
add edx, eax
mov eax, r9d
mov r15d, r9d
movdqu xmm3, xmm15
add r14d, dword [rsp + 0x2c]
xor eax, r12d
and r15d, r12d
paddd xmm3, xmm0
and eax, ecx
movups xmmword [rsp + 0x20], xmm3
ror ecx, 2
xor eax, r15d
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r14d, r9d
mov r15d, r9d
movdqu xmm3, xmm0
add r12d, dword [rsp + 0x30]
xor r14d, ecx
palignr xmm3, xmm6, 8
and r15d, ecx
and r14d, edx
ror edx, 2
xor r14d, r15d
add r12d, r14d
mov r14d, eax
rol r14d, 5
add r12d, r14d
mov r14d, edx
mov r15d, edx
add r9d, dword [rsp + 0x34]
xor r14d, ecx
and r15d, ecx
and r14d, eax
ror eax, 2
xor r14d, r15d
add r9d, r14d
mov r14d, r12d
rol r14d, 5
add r9d, r14d
mov r14d, edx
mov r15d, edx
pxor xmm2, xmm3
add ecx, dword [rsp + 0x38]
xor r14d, eax
and r15d, eax
pxor xmm2, xmm12
and r14d, r12d
movdqu xmm3, xmm2
ror r12d, 2
pslld xmm3, 2
psrld xmm2, 0x1e
xor r14d, r15d
add ecx, r14d
mov r14d, r9d
pxor xmm2, xmm3
rol r14d, 5
add ecx, r14d
mov r14d, r12d
mov r15d, r12d
movdqu xmm3, xmm15
add edx, dword [rsp + 0x3c]
xor r14d, eax
and r15d, eax
paddd xmm3, xmm2
and r14d, r9d
movups xmmword [rsp + 0x30], xmm3
ror r9d, 2
xor r14d, r15d
add edx, r14d
mov r14d, ecx
rol r14d, 5
add edx, r14d
mov r14d, r12d
palignr xmm2, xmm0, 8
add eax, dword [rsp + 0x40]
xor r14d, r9d
xor r14d, ecx
ror ecx, 2
add eax, r14d
mov r14d, edx
rol r14d, 5
add eax, r14d
mov r15d, ecx
add r12d, dword [rsp + 0x44]
xor r15d, r9d
xor r15d, edx
ror edx, 2
add r15d, r12d
mov r12d, eax
rol r12d, 5
add r15d, r12d
mov r14d, ecx
add r9d, dword [rsp + 0x48]
pxor xmm1, xmm2
xor r14d, edx
pxor xmm1, xmm8
xor r14d, eax
movdqu xmm0, xmm1
ror eax, 2
pslld xmm0, 2
psrld xmm1, 0x1e
add r14d, r9d
mov r9d, r15d
rol r9d, 5
add r14d, r9d
mov r9d, eax
xor eax, edx
add ecx, dword [rsp + 0x4c]
pxor xmm0, xmm1
xor eax, r15d
paddd xmm0, xmm15
ror r15d, 2
add eax, ecx
mov ecx, r14d
movups xmmword [rsp + 0x40], xmm0
rol ecx, 5
add eax, ecx
mov r12d, r9d
add edx, dword [rsp + 0x10]
xor r12d, r15d
xor r12d, r14d
ror r14d, 2
add r12d, edx
mov edx, eax
rol edx, 5
add r12d, edx
lea rdx, [r10 + 0x40]
sub r8, 1
cmovne r10, rdx
mov edx, r14d
movdqu xmm0, xmmword [r10]
add r9d, dword [rsp + 0x14]
xor edx, r15d
pshufb xmm0, xmmword [0x3a996c220]
xor edx, eax
ror eax, 2
add r9d, edx
mov edx, r12d
movdqu xmm1, xmm0
rol edx, 5
add r9d, edx
mov ecx, r14d
add r15d, dword [rsp + 0x18]
mov edx, r9d
xor ecx, eax
rol edx, 5
xor ecx, r12d
ror r12d, 2
add ecx, r15d
add ecx, edx
mov edx, r12d
add r14d, dword [rsp + 0x1c]
paddd xmm0, xmm9
xor edx, eax
movups xmmword [rsp + 0x10], xmm0
xor edx, r9d
ror r9d, 2
add edx, r14d
mov r14d, ecx
rol r14d, 5
add edx, r14d
mov r14d, r12d
add eax, dword [rsp + 0x20]
xor r14d, r9d
xor r14d, ecx
ror ecx, 2
add r14d, eax
mov eax, edx
rol eax, 5
add r14d, eax
mov eax, ecx
add r12d, dword [rsp + 0x24]
movdqu xmm0, xmmword [r10 + 0x10]
xor eax, r9d
pshufb xmm0, xmmword [0x3a996c220]
xor eax, edx
ror edx, 2
add eax, r12d
mov r12d, r14d
movdqu xmm3, xmm0
rol r12d, 5
add eax, r12d
mov r12d, ecx
add r9d, dword [rsp + 0x28]
xor r12d, edx
xor r12d, r14d
ror r14d, 2
add r12d, r9d
mov r9d, eax
rol r9d, 5
add r12d, r9d
mov r9d, r14d
add ecx, dword [rsp + 0x2c]
paddd xmm0, xmm9
xor r9d, edx
movups xmmword [rsp + 0x20], xmm0
xor r9d, eax
ror eax, 2
add r9d, ecx
mov ecx, r12d
rol ecx, 5
add r9d, ecx
mov ecx, r14d
add edx, dword [rsp + 0x30]
xor ecx, eax
xor ecx, r12d
ror r12d, 2
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, r12d
add r14d, dword [rsp + 0x34]
movdqu xmm0, xmmword [r10 + 0x20]
xor edx, eax
pshufb xmm0, xmmword [0x3a996c220]
xor edx, r9d
ror r9d, 2
add edx, r14d
mov r14d, ecx
movdqu xmm2, xmm0
rol r14d, 5
add edx, r14d
mov r14d, r12d
add eax, dword [rsp + 0x38]
xor r14d, r9d
xor r14d, ecx
ror ecx, 2
add r14d, eax
mov eax, edx
rol eax, 5
add r14d, eax
mov eax, ecx
add r12d, dword [rsp + 0x3c]
paddd xmm0, xmm9
xor eax, r9d
movups xmmword [rsp + 0x30], xmm0
xor eax, edx
ror edx, 2
add eax, r12d
mov r12d, r14d
rol r12d, 5
add eax, r12d
mov r12d, ecx
add r9d, dword [rsp + 0x40]
xor r12d, edx
xor r12d, r14d
ror r14d, 2
add r12d, r9d
mov r9d, eax
rol r9d, 5
add r12d, r9d
mov r9d, r14d
add ecx, dword [rsp + 0x44]
movdqu xmm0, xmmword [r10 + 0x30]
xor r9d, edx
pshufb xmm0, xmmword [0x3a996c220]
xor r9d, eax
ror eax, 2
add r9d, ecx
mov ecx, r12d
movdqu xmm8, xmm0
rol ecx, 5
add r9d, ecx
mov ecx, r14d
add edx, dword [rsp + 0x48]
xor ecx, eax
xor ecx, r12d
ror r12d, 2
add ecx, edx
mov edx, r9d
rol edx, 5
add ecx, edx
mov edx, dword [rsp + 0x4c]
paddd xmm0, xmm9
lea r15d, [rax + rbx]
movups xmmword [rsp + 0x40], xmm0
add edx, r13d
mov r13d, r12d
add r12d, ebp
mov dword [r11 + 0x10], r15d
xor r13d, eax
add edx, r14d
movd xmm7, r12d
xor r13d, r9d
ror r9d, 2
lea r14d, [rcx + rsi]
add edx, r13d
mov r13d, ecx
add r9d, edi
rol r13d, 5
movd xmm4, r9d
add edx, r13d
punpckldq xmm4, xmm7
movd xmm7, r14d
movd xmm0, edx
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm4
movups xmmword [r11], xmm0
test r8, r8
jne 0x3a98c6810
movups xmm6, xmmword [rsp + 0x50]
movups xmm7, xmmword [rsp + 0x60]
movups xmm9, xmmword [rsp + 0x80]
movups xmm8, xmmword [rsp + 0x70]
movups xmm10, xmmword [rsp + 0x90]
movups xmm11, xmmword [rsp + 0xa0]
movups xmm12, xmmword [rsp + 0xb0]
movups xmm13, xmmword [rsp + 0xc0]
movups xmm14, xmmword [rsp + 0xd0]
movups xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
vmovups xmmword [rsp + 0x50], xmm6
vmovups xmmword [rsp + 0x60], xmm7
vmovups xmmword [rsp + 0x70], xmm8
vmovups xmmword [rsp + 0x80], xmm9
vmovups xmmword [rsp + 0x90], xmm10
vmovups xmmword [rsp + 0xa0], xmm11
vmovups xmmword [rsp + 0xb0], xmm12
vmovups xmmword [rsp + 0xc0], xmm13
vmovups xmmword [rsp + 0xd0], xmm14
vmovups xmmword [rsp + 0xe0], xmm15
mov eax, 0x5a827999
vmovdqu xmm6, xmmword [rdx]
vmovdqu xmm7, xmmword [rdx + 0x10]
mov r12d, dword [rcx + 0xc]
mov ebp, dword [rcx + 8]
vpshufb xmm8, xmm6, xmmword [0x3a996c220]
vmovdqu xmm6, xmmword [rdx + 0x20]
mov edi, dword [rcx + 4]
vpshufb xmm7, xmm7, xmmword [0x3a996c220]
vmovdqu xmm1, xmm8
vmovdqu xmm5, xmm7
mov esi, dword [rcx]
mov r14d, r12d
vpshufb xmm4, xmm6, xmmword [0x3a996c220]
vmovdqu xmm6, xmmword [rdx + 0x30]
mov r11, rcx
mov r10, rdx
vmovdqu xmm2, xmm4
mov ebx, dword [r11 + 0x10]
mov r9d, ebp
mov edx, edi
vpshufb xmm0, xmm6, xmmword [0x3a996c220]
vmovd xmm6, eax
mov ecx, esi
mov eax, 0x6ed9eba1
vpshufd xmm6, xmm6, 0
vmovdqu xmm3, xmm0
mov r15d, ebx
vpaddd xmm8, xmm8, xmm6
vpaddd xmm7, xmm7, xmm6
vmovdqu xmmword [rsp + 0x10], xmm8
vmovd xmm8, eax
vpaddd xmm4, xmm4, xmm6
vpaddd xmm0, xmm0, xmm6
mov eax, 0x8f1bbcdc
vmovdqu xmmword [rsp + 0x20], xmm7
vpshufd xmm8, xmm8, 0
vmovd xmm7, eax
mov eax, 0xca62c1d6
vmovdqu xmmword [rsp + 0x30], xmm4
vmovd xmm4, eax
vmovdqu xmmword [rsp + 0x40], xmm0
vpshufd xmm7, xmm7, 0
vpshufd xmm4, xmm4, 0
vmovdqu xmmword [rsp], xmm4
jmp 0x3a98c78e2
mov r12d, dword [r11 + 0xc]
mov ebp, dword [r11 + 8]
mov ebx, r15d
mov edi, dword [r11 + 4]
mov esi, dword [r11]
vpxor xmm12, xmm5, xmm1
vpxor xmm11, xmm2, xmm5
vpxor xmm10, xmm3, xmm2
mov r13d, r14d
rorx eax, ecx, 0x1b
add eax, dword [rsp + 0x10]
vpalignr xmm0, xmm5, xmm1, 8
vpsrldq xmm4, xmm3, 4
xor r13d, r9d
and r13d, edx
rorx edx, edx, 2
xor r13d, r14d
add r13d, eax
lea eax, [r13 + r15]
mov r13d, edx
vpxor xmm1, xmm2, xmm1
vpxor xmm0, xmm0, xmm4
add r14d, dword [rsp + 0x14]
xor r13d, r9d
vpxor xmm0, xmm0, xmm1
and r13d, ecx
vpslldq xmm1, xmm0, 0xc
rorx ecx, ecx, 2
xor r13d, r9d
add r13d, r14d
rorx r14d, eax, 0x1b
add r13d, r14d
mov r14d, edx
vpslld xmm9, xmm1, 2
add r9d, dword [rsp + 0x18]
vpslld xmm4, xmm0, 1
vpsrld xmm1, xmm1, 0x1e
xor r14d, ecx
and r14d, eax
vpsrld xmm0, xmm0, 0x1f
rorx eax, eax, 2
xor r14d, edx
add r9d, r14d
rorx r14d, r13d, 0x1b
add r9d, r14d
mov r14d, eax
vpxor xmm1, xmm1, xmm0
vpxor xmm0, xmm4, xmm9
add edx, dword [rsp + 0x1c]
xor r14d, ecx
vpxor xmm1, xmm1, xmm0
and r14d, r13d
vpaddd xmm0, xmm6, xmm1
rorx r13d, r13d, 2
xor r14d, ecx
vmovdqu xmmword [rsp + 0x10], xmm0
add edx, r14d
rorx r14d, r9d, 0x1b
add edx, r14d
mov r14d, eax
vpalignr xmm4, xmm2, xmm5, 8
add ecx, dword [rsp + 0x20]
xor r14d, r13d
vpsrldq xmm0, xmm1, 4
and r14d, r9d
xor r14d, eax
add ecx, r14d
rorx r14d, edx, 0x1b
add ecx, r14d
rorx r14d, r9d, 2
mov r9d, r14d
vpxor xmm4, xmm4, xmm0
vpxor xmm5, xmm3, xmm5
add eax, dword [rsp + 0x24]
xor r9d, r13d
vpxor xmm4, xmm4, xmm5
and r9d, edx
vpslldq xmm0, xmm4, 0xc
rorx edx, edx, 2
xor r9d, r13d
add eax, r9d
rorx r9d, ecx, 0x1b
add eax, r9d
mov r9d, r14d
vpslld xmm9, xmm0, 2
add r13d, dword [rsp + 0x28]
vpslld xmm5, xmm4, 1
vpsrld xmm0, xmm0, 0x1e
xor r9d, edx
and r9d, ecx
vpsrld xmm4, xmm4, 0x1f
xor r9d, r14d
add r9d, r13d
rorx r13d, eax, 0x1b
add r9d, r13d
rorx r13d, ecx, 2
mov ecx, r13d
vpxor xmm0, xmm0, xmm4
vpxor xmm4, xmm5, xmm9
add r14d, dword [rsp + 0x2c]
xor ecx, edx
vpxor xmm0, xmm0, xmm4
and ecx, eax
vpaddd xmm4, xmm0, xmm8
vpxor xmm9, xmm0, xmm1
rorx eax, eax, 2
xor ecx, edx
vmovdqu xmmword [rsp + 0x20], xmm4
add ecx, r14d
rorx r14d, r9d, 0x1b
add ecx, r14d
mov r14d, r13d
vpalignr xmm5, xmm3, xmm2, 8
add edx, dword [rsp + 0x30]
xor r14d, eax
vpsrldq xmm4, xmm0, 4
and r14d, r9d
xor r14d, r13d
add edx, r14d
rorx r14d, ecx, 0x1b
add edx, r14d
rorx r14d, r9d, 2
mov r9d, r14d
vpxor xmm2, xmm2, xmm5
vpxor xmm4, xmm1, xmm4
add r13d, dword [rsp + 0x34]
xor r9d, eax
vpxor xmm4, xmm4, xmm2
and r9d, ecx
vpslldq xmm2, xmm4, 0xc
xor r9d, eax
add r9d, r13d
rorx r13d, edx, 0x1b
add r9d, r13d
rorx r13d, ecx, 2
mov ecx, r14d
add eax, dword [rsp + 0x38]
rorx r15d, edx, 2
vpslld xmm13, xmm2, 2
vpslld xmm5, xmm4, 1
xor ecx, r13d
vpsrld xmm4, xmm4, 0x1f
vpsrld xmm2, xmm2, 0x1e
and ecx, edx
xor ecx, r14d
add ecx, eax
rorx eax, r9d, 0x1b
add ecx, eax
mov edx, r15d
vpxor xmm2, xmm2, xmm4
vpxor xmm5, xmm5, xmm13
add r14d, dword [rsp + 0x3c]
xor edx, r13d
vpxor xmm2, xmm2, xmm5
rorx eax, ecx, 0x1b
and edx, r9d
vpaddd xmm4, xmm2, xmm8
vpxor xmm14, xmm2, xmm0
rorx r9d, r9d, 2
xor edx, r13d
vmovdqu xmmword [rsp + 0x30], xmm4
add edx, r14d
add edx, eax
mov eax, r15d
vpalignr xmm4, xmm1, xmm3, 8
add r13d, dword [rsp + 0x40]
xor eax, r9d
vpsrldq xmm5, xmm2, 4
and eax, ecx
xor eax, r15d
add eax, r13d
rorx r13d, edx, 0x1b
add eax, r13d
rorx r13d, ecx, 2
mov ecx, r13d
vpxor xmm4, xmm3, xmm4
vpxor xmm5, xmm0, xmm5
rorx r14d, eax, 0x1b
xor ecx, r9d
add r15d, dword [rsp + 0x44]
vpxor xmm5, xmm5, xmm4
and ecx, edx
vpslldq xmm4, xmm5, 0xc
xor ecx, r9d
add ecx, r15d
add ecx, r14d
rorx r14d, edx, 2
mov edx, r13d
add r9d, dword [rsp + 0x48]
rorx r15d, eax, 2
vpslld xmm15, xmm4, 2
vpslld xmm13, xmm5, 1
xor edx, r14d
vpsrld xmm5, xmm5, 0x1f
vpsrld xmm4, xmm4, 0x1e
and edx, eax
xor edx, r13d
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
mov eax, r15d
vpxor xmm13, xmm13, xmm15
vpxor xmm4, xmm4, xmm5
add r13d, dword [rsp + 0x4c]
xor eax, r14d
vpxor xmm4, xmm4, xmm13
rorx r9d, edx, 0x1b
and eax, ecx
vpaddd xmm5, xmm4, xmm8
vpxor xmm13, xmm4, xmm2
rorx ecx, ecx, 2
xor eax, r14d
vmovdqu xmmword [rsp + 0x40], xmm5
add eax, r13d
add eax, r9d
mov r13d, r15d
add r14d, dword [rsp + 0x10]
rorx r9d, eax, 0x1b
xor r13d, ecx
vpalignr xmm5, xmm4, xmm2, 8
and r13d, edx
rorx edx, edx, 2
xor r13d, r15d
add r13d, r14d
add r13d, r9d
mov r9d, edx
add r15d, dword [rsp + 0x14]
rorx r14d, r13d, 0x1b
xor r9d, ecx
and r9d, eax
rorx eax, eax, 2
xor r9d, ecx
add r9d, r15d
add r9d, r14d
mov r14d, edx
vpxor xmm5, xmm1, xmm5
add ecx, dword [rsp + 0x18]
xor r14d, eax
vpxor xmm5, xmm5, xmm12
and r14d, r13d
vpslld xmm12, xmm5, 2
rorx r13d, r13d, 2
xor r14d, edx
vpsrld xmm5, xmm5, 0x1e
add ecx, r14d
vpxor xmm5, xmm5, xmm12
rorx r14d, r9d, 0x1b
add ecx, r14d
mov r14d, r13d
add edx, dword [rsp + 0x1c]
vpaddd xmm12, xmm5, xmm8
xor r14d, eax
vmovdqu xmmword [rsp + 0x10], xmm12
and r14d, r9d
rorx r9d, r9d, 2
xor r14d, eax
add edx, r14d
rorx r14d, ecx, 0x1b
add edx, r14d
mov r14d, r13d
vpalignr xmm12, xmm5, xmm4, 8
add eax, dword [rsp + 0x20]
xor r14d, r9d
xor r14d, ecx
rorx ecx, ecx, 2
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
mov r14d, ecx
add r13d, dword [rsp + 0x24]
xor r14d, r9d
xor r14d, edx
rorx edx, edx, 2
add r13d, r14d
rorx r14d, eax, 0x1b
add r13d, r14d
mov r14d, ecx
vpxor xmm0, xmm0, xmm12
add r9d, dword [rsp + 0x28]
xor r14d, edx
vpxor xmm0, xmm0, xmm11
xor r14d, eax
vpslld xmm11, xmm0, 2
rorx eax, eax, 2
vpsrld xmm0, xmm0, 0x1e
add r9d, r14d
rorx r14d, r13d, 0x1b
vpxor xmm0, xmm0, xmm11
add r9d, r14d
vpxor xmm12, xmm0, xmm5
mov r14d, eax
add ecx, dword [rsp + 0x2c]
vpaddd xmm11, xmm0, xmm8
xor r14d, edx
vmovdqu xmmword [rsp + 0x20], xmm11
xor r14d, r13d
rorx r13d, r13d, 2
add ecx, r14d
rorx r14d, r9d, 0x1b
add ecx, r14d
mov r14d, eax
vpalignr xmm11, xmm0, xmm5, 8
add edx, dword [rsp + 0x30]
xor r14d, r13d
xor r14d, r9d
rorx r9d, r9d, 2
add edx, r14d
rorx r14d, ecx, 0x1b
add edx, r14d
mov r14d, r9d
add eax, dword [rsp + 0x34]
xor r14d, r13d
xor r14d, ecx
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r9d
vpxor xmm2, xmm2, xmm11
add r13d, dword [rsp + 0x38]
xor ecx, r14d
vpxor xmm2, xmm2, xmm10
vpslld xmm10, xmm2, 2
vpsrld xmm2, xmm2, 0x1e
xor ecx, edx
add ecx, r13d
vpxor xmm2, xmm2, xmm10
rorx r13d, eax, 0x1b
vpxor xmm11, xmm2, xmm0
add ecx, r13d
rorx r13d, edx, 2
mov edx, r13d
add r9d, dword [rsp + 0x3c]
vpaddd xmm10, xmm2, xmm7
xor edx, r14d
vmovdqu xmmword [rsp + 0x30], xmm10
xor edx, eax
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r13d
vpalignr xmm10, xmm2, xmm0, 8
add r14d, dword [rsp + 0x40]
xor eax, r9d
vpxor xmm3, xmm3, xmm10
xor eax, ecx
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r14d
add r13d, dword [rsp + 0x44]
xor ecx, r9d
xor ecx, edx
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r14d
vpxor xmm1, xmm4, xmm1
add r9d, dword [rsp + 0x48]
xor edx, r13d
vpxor xmm1, xmm1, xmm3
vpslld xmm3, xmm1, 2
vpsrld xmm1, xmm1, 0x1e
xor edx, eax
add edx, r9d
vpxor xmm1, xmm1, xmm3
rorx r9d, ecx, 0x1b
vpxor xmm10, xmm1, xmm2
add edx, r9d
rorx r9d, eax, 2
mov eax, r9d
add r14d, dword [rsp + 0x4c]
vpaddd xmm3, xmm1, xmm7
xor eax, r13d
vmovdqu xmmword [rsp + 0x40], xmm3
xor eax, ecx
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r9d
vpalignr xmm3, xmm1, xmm2, 8
add r13d, dword [rsp + 0x10]
xor ecx, r14d
xor ecx, edx
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r13d
add r9d, dword [rsp + 0x14]
xor edx, r14d
xor edx, eax
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r13d
vpxor xmm3, xmm5, xmm3
add r14d, dword [rsp + 0x18]
xor eax, r9d
vpxor xmm3, xmm3, xmm9
vpslld xmm9, xmm3, 2
vpsrld xmm3, xmm3, 0x1e
xor eax, ecx
add eax, r14d
vpxor xmm3, xmm3, xmm9
rorx r14d, edx, 0x1b
vpxor xmm9, xmm3, xmm1
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r14d
add r13d, dword [rsp + 0x1c]
vpaddd xmm15, xmm3, xmm7
xor ecx, r9d
vmovdqu xmmword [rsp + 0x10], xmm15
xor ecx, edx
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r14d
vpalignr xmm15, xmm3, xmm1, 8
add r9d, dword [rsp + 0x20]
xor edx, r13d
xor edx, eax
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r9d
add r14d, dword [rsp + 0x24]
xor eax, r13d
xor eax, ecx
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r9d
vpxor xmm0, xmm0, xmm15
add r13d, dword [rsp + 0x28]
xor ecx, r14d
vpxor xmm0, xmm0, xmm14
xor ecx, edx
vpslld xmm14, xmm0, 2
add ecx, r13d
vpsrld xmm0, xmm0, 0x1e
rorx r13d, eax, 0x1b
vpxor xmm0, xmm0, xmm14
add ecx, r13d
rorx r13d, edx, 2
mov edx, r13d
add r9d, dword [rsp + 0x2c]
vpaddd xmm14, xmm0, xmm7
xor edx, r14d
vmovdqu xmmword [rsp + 0x20], xmm14
xor edx, eax
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r13d
mov r15d, r13d
add r14d, dword [rsp + 0x30]
xor eax, r9d
vpalignr xmm14, xmm0, xmm3, 8
and r15d, r9d
and eax, ecx
xor eax, r15d
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r14d
mov r15d, r14d
add r13d, dword [rsp + 0x34]
xor ecx, r9d
and r15d, r9d
and ecx, edx
xor ecx, r15d
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r14d
mov r15d, r14d
vpxor xmm2, xmm2, xmm14
add r9d, dword [rsp + 0x38]
xor edx, r13d
and r15d, r13d
vpxor xmm2, xmm2, xmm13
and edx, eax
vpslld xmm13, xmm2, 2
xor edx, r15d
vpsrld xmm2, xmm2, 0x1e
add edx, r9d
vpxor xmm2, xmm2, xmm13
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r9d
mov r15d, r9d
vpaddd xmm13, xmm2, xmm7
add r14d, dword [rsp + 0x3c]
xor eax, r13d
and r15d, r13d
vmovdqu xmmword [rsp + 0x30], xmm13
and eax, ecx
xor eax, r15d
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r9d
mov r15d, r9d
add r13d, dword [rsp + 0x40]
xor ecx, r14d
vpalignr xmm13, xmm2, xmm0, 8
and r15d, r14d
and ecx, edx
vpxor xmm4, xmm4, xmm13
xor ecx, r15d
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r13d
mov r15d, r13d
add r9d, dword [rsp + 0x44]
xor edx, r14d
and r15d, r14d
and edx, eax
xor edx, r15d
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r13d
mov r15d, r13d
vpxor xmm1, xmm1, xmm5
add r14d, dword [rsp + 0x48]
xor eax, r9d
and r15d, r9d
vpxor xmm1, xmm1, xmm4
and eax, ecx
vpslld xmm4, xmm1, 2
xor eax, r15d
vpsrld xmm1, xmm1, 0x1e
add eax, r14d
vpxor xmm1, xmm1, xmm4
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r14d
mov r15d, r14d
vmovdqu xmm5, xmmword [rsp]
add r13d, dword [rsp + 0x4c]
xor ecx, r9d
and r15d, r9d
and ecx, edx
vpaddd xmm4, xmm1, xmm5
xor ecx, r15d
vmovdqu xmmword [rsp + 0x40], xmm4
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r14d
mov r15d, r14d
add r9d, dword [rsp + 0x10]
xor edx, r13d
vpalignr xmm4, xmm1, xmm2, 8
and r15d, r13d
and edx, eax
xor edx, r15d
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r9d
mov r15d, r9d
add r14d, dword [rsp + 0x14]
xor eax, r13d
and r15d, r13d
and eax, ecx
xor eax, r15d
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r9d
mov r15d, r9d
vpxor xmm3, xmm3, xmm4
add r13d, dword [rsp + 0x18]
xor ecx, r14d
and r15d, r14d
vpxor xmm3, xmm3, xmm12
and ecx, edx
vpslld xmm4, xmm3, 2
xor ecx, r15d
vpsrld xmm3, xmm3, 0x1e
add ecx, r13d
vpxor xmm3, xmm3, xmm4
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r13d
mov r15d, r13d
vpaddd xmm4, xmm3, xmm5
add r9d, dword [rsp + 0x1c]
xor edx, r14d
and r15d, r14d
vmovdqu xmmword [rsp + 0x10], xmm4
and edx, eax
xor edx, r15d
add edx, r9d
rorx r9d, ecx, 0x1b
add edx, r9d
rorx r9d, eax, 2
mov eax, r13d
mov r15d, r13d
add r14d, dword [rsp + 0x20]
xor eax, r9d
vpalignr xmm4, xmm3, xmm1, 8
and r15d, r9d
and eax, ecx
xor eax, r15d
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
rorx r14d, ecx, 2
mov ecx, r14d
mov r15d, r14d
add r13d, dword [rsp + 0x24]
xor ecx, r9d
and r15d, r9d
and ecx, edx
xor ecx, r15d
add ecx, r13d
rorx r13d, eax, 0x1b
add ecx, r13d
rorx r13d, edx, 2
mov edx, r14d
mov r15d, r14d
vpxor xmm0, xmm0, xmm4
add r9d, dword [rsp + 0x28]
xor edx, r13d
and r15d, r13d
vpxor xmm0, xmm0, xmm11
and edx, eax
vpslld xmm4, xmm0, 2
xor edx, r15d
vpsrld xmm0, xmm0, 0x1e
rorx r15d, eax, 2
add edx, r9d
vpxor xmm0, xmm0, xmm4
rorx r9d, ecx, 0x1b
add edx, r9d
mov eax, r15d
mov r9d, r15d
vpaddd xmm4, xmm0, xmm5
add r14d, dword [rsp + 0x2c]
xor eax, r13d
and r9d, r13d
vmovdqu xmmword [rsp + 0x20], xmm4
and eax, ecx
rorx ecx, ecx, 2
xor eax, r9d
rorx r9d, edx, 0x1b
add eax, r14d
add eax, r9d
mov r9d, r15d
mov r14d, r15d
add r13d, dword [rsp + 0x30]
xor r9d, ecx
vpalignr xmm3, xmm0, xmm3, 8
and r14d, ecx
and r9d, edx
rorx edx, edx, 2
xor r9d, r14d
add r9d, r13d
rorx r13d, eax, 0x1b
add r9d, r13d
mov r13d, edx
mov r14d, edx
add r15d, dword [rsp + 0x34]
xor r13d, ecx
and r14d, ecx
and r13d, eax
rorx eax, eax, 2
xor r13d, r14d
rorx r14d, r9d, 0x1b
add r13d, r15d
add r13d, r14d
mov r14d, edx
mov r15d, edx
vpxor xmm2, xmm2, xmm3
add ecx, dword [rsp + 0x38]
xor r14d, eax
and r15d, eax
vpxor xmm2, xmm2, xmm10
and r14d, r9d
vpslld xmm3, xmm2, 2
rorx r9d, r9d, 2
xor r14d, r15d
vpsrld xmm2, xmm2, 0x1e
add ecx, r14d
vpxor xmm2, xmm3, xmm2
rorx r14d, r13d, 0x1b
add ecx, r14d
mov r14d, r9d
mov r15d, r9d
vpaddd xmm3, xmm2, xmm5
add edx, dword [rsp + 0x3c]
xor r14d, eax
and r15d, eax
vmovdqu xmmword [rsp + 0x30], xmm3
and r14d, r13d
rorx r13d, r13d, 2
xor r14d, r15d
add edx, r14d
rorx r14d, ecx, 0x1b
add edx, r14d
mov r14d, r9d
vpalignr xmm2, xmm2, xmm0, 8
add eax, dword [rsp + 0x40]
xor r14d, r13d
xor r14d, ecx
rorx ecx, ecx, 2
add eax, r14d
rorx r14d, edx, 0x1b
add eax, r14d
mov r14d, ecx
add r9d, dword [rsp + 0x44]
xor r14d, r13d
xor r14d, edx
rorx edx, edx, 2
add r9d, r14d
rorx r14d, eax, 0x1b
add r9d, r14d
mov r14d, ecx
add r13d, dword [rsp + 0x48]
vpxor xmm1, xmm1, xmm2
xor r14d, edx
vpxor xmm1, xmm1, xmm9
xor r14d, eax
vpslld xmm0, xmm1, 2
rorx eax, eax, 2
add r13d, r14d
vpsrld xmm1, xmm1, 0x1e
rorx r14d, r9d, 0x1b
add r13d, r14d
mov r14d, eax
add ecx, dword [rsp + 0x4c]
vpxor xmm0, xmm0, xmm1
xor r14d, edx
vpaddd xmm0, xmm0, xmm5
xor r14d, r9d
vmovdqu xmmword [rsp + 0x40], xmm0
rorx r9d, r9d, 2
add ecx, r14d
rorx r14d, r13d, 0x1b
add ecx, r14d
mov r14d, eax
add edx, dword [rsp + 0x10]
xor r14d, r9d
xor r14d, r13d
add edx, r14d
rorx r14d, ecx, 0x1b
add edx, r14d
sub r8, 1
rorx r14d, r13d, 2
lea r13, [r10 + 0x40]
cmovne r10, r13
mov r13d, r14d
vmovdqu xmm3, xmmword [r10]
add eax, dword [rsp + 0x14]
xor r13d, r9d
vpshufb xmm0, xmm3, xmmword [0x3a996c220]
xor r13d, ecx
rorx ecx, ecx, 2
add r13d, eax
vmovdqu xmm1, xmm0
rorx eax, edx, 0x1b
add r13d, eax
mov eax, r14d
add r9d, dword [rsp + 0x18]
xor eax, ecx
xor eax, edx
rorx edx, edx, 2
add r9d, eax
rorx eax, r13d, 0x1b
add r9d, eax
mov eax, edx
add r14d, dword [rsp + 0x1c]
vpaddd xmm0, xmm6, xmm0
xor eax, ecx
vmovdqu xmmword [rsp + 0x10], xmm0
xor eax, r13d
rorx r13d, r13d, 2
add eax, r14d
rorx r14d, r9d, 0x1b
add eax, r14d
mov r14d, edx
add ecx, dword [rsp + 0x20]
xor r14d, r13d
xor r14d, r9d
rorx r9d, r9d, 2
add ecx, r14d
rorx r14d, eax, 0x1b
add ecx, r14d
mov r14d, r9d
vmovdqu xmm3, xmmword [r10 + 0x10]
add edx, dword [rsp + 0x24]
xor r14d, r13d
vpshufb xmm0, xmm3, xmmword [0x3a996c220]
xor r14d, eax
add edx, r14d
vmovdqu xmm5, xmm0
rorx r14d, ecx, 0x1b
add edx, r14d
rorx r14d, eax, 2
mov eax, r9d
add r13d, dword [rsp + 0x28]
xor eax, r14d
xor eax, ecx
add eax, r13d
rorx r13d, edx, 0x1b
add eax, r13d
rorx r13d, ecx, 2
mov ecx, r13d
add r9d, dword [rsp + 0x2c]
vpaddd xmm0, xmm6, xmm0
rorx r15d, edx, 2
xor ecx, r14d
vmovdqu xmmword [rsp + 0x20], xmm0
xor ecx, edx
add r9d, ecx
rorx ecx, eax, 0x1b
add r9d, ecx
mov ecx, r13d
add r14d, dword [rsp + 0x30]
rorx edx, r9d, 0x1b
xor ecx, r15d
xor ecx, eax
add ecx, r14d
rorx r14d, eax, 2
add ecx, edx
mov edx, r14d
vmovdqu xmm3, xmmword [r10 + 0x20]
add r13d, dword [rsp + 0x34]
rorx eax, ecx, 0x1b
xor edx, r15d
vpshufb xmm0, xmm3, xmmword [0x3a996c220]
xor edx, r9d
rorx r9d, r9d, 2
add edx, r13d
vmovdqu xmm2, xmm0
add edx, eax
mov r13d, r14d
add r15d, dword [rsp + 0x38]
rorx eax, edx, 0x1b
xor r13d, r9d
xor r13d, ecx
rorx ecx, ecx, 2
add r13d, r15d
add r13d, eax
mov eax, ecx
vpaddd xmm0, xmm6, xmm0
xor eax, r9d
xor eax, edx
rorx edx, edx, 2
mov r15d, eax
mov eax, dword [rsp + 0x3c]
vmovdqu xmmword [rsp + 0x30], xmm0
add eax, r14d
rorx r14d, r13d, 0x1b
add eax, r15d
add eax, r14d
mov r14d, ecx
add r9d, dword [rsp + 0x40]
xor r14d, edx
xor r14d, r13d
rorx r13d, r13d, 2
add r14d, r9d
rorx r9d, eax, 0x1b
add r14d, r9d
mov r9d, r13d
vmovdqu xmm3, xmmword [r10 + 0x30]
add ecx, dword [rsp + 0x44]
xor r9d, edx
vpshufb xmm0, xmm3, xmmword [0x3a996c220]
xor r9d, eax
rorx eax, eax, 2
add r9d, ecx
vmovdqu xmm3, xmm0
rorx ecx, r14d, 0x1b
add r9d, ecx
mov ecx, r13d
add edx, dword [rsp + 0x48]
xor ecx, eax
xor ecx, r14d
rorx r14d, r14d, 2
add edx, ecx
rorx ecx, r9d, 0x1b
add edx, ecx
mov ecx, dword [rsp + 0x4c]
vpaddd xmm0, xmm6, xmm0
lea r15d, [rax + rbx]
vmovdqu xmmword [rsp + 0x40], xmm0
add ecx, esi
mov esi, r14d
add r14d, r12d
mov dword [r11 + 0x10], r15d
xor esi, eax
add ecx, r13d
xor esi, r9d
rorx r9d, r9d, 2
add r9d, ebp
add ecx, esi
rorx esi, edx, 0x1b
vmovd xmm4, r9d
add edx, edi
add ecx, esi
vpinsrd xmm4, xmm4, r14d, 1
vmovd xmm0, ecx
vpinsrd xmm0, xmm0, edx, 1
vpunpcklqdq xmm0, xmm0, xmm4
vmovdqu xmmword [r11], xmm0
test r8, r8
jne 0x3a98c78d0
vmovups xmm6, xmmword [rsp + 0x50]
vmovups xmm7, xmmword [rsp + 0x60]
vmovups xmm9, xmmword [rsp + 0x80]
vmovups xmm8, xmmword [rsp + 0x70]
vmovups xmm10, xmmword [rsp + 0x90]
vmovups xmm11, xmmword [rsp + 0xa0]
vmovups xmm12, xmmword [rsp + 0xb0]
vmovups xmm13, xmmword [rsp + 0xc0]
vmovups xmm14, xmmword [rsp + 0xd0]
vmovups xmm15, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [0x3a9979ac0]
mov eax, dword [rax]
mov r11, rcx
mov ecx, eax
and ecx, 0x22
cmp ecx, 0x22
je 0x3a98c9ba0
mov ecx, eax
and ecx, 0x18
cmp ecx, 0x18
je 0x3a98c9bc0
test al, 1
jne 0x3a98c9b88
mov ebp, dword [r11]
mov edi, dword [r11 + 4]
mov esi, dword [r11 + 8]
mov ebx, dword [r11 + 0xc]
mov eax, dword [r11 + 0x10]
mov r12d, ebp
mov r10d, edi
mov r9d, esi
mov ecx, ebx
mov dword [rsp + 0xc], eax
jmp 0x3a98c885b
mov ebp, dword [r11]
mov edi, dword [r11 + 4]
mov dword [rsp + 0xc], eax
mov esi, dword [r11 + 8]
mov ebx, dword [r11 + 0xc]
mov r13d, r9d
mov r14d, dword [rdx]
mov r15d, r12d
xor r13d, ecx
rol r15d, 5
and r13d, r10d
bswap r14d
mov dword [rsp + 0x10], r14d
ror r10d, 2
xor r13d, ecx
lea r14d, [r14 + r15 + 0x5a827999]
add r13d, r14d
add eax, r13d
mov r13d, dword [rdx + 4]
bswap r13d
lea r14d, [r13 + rcx + 0x5a827999]
mov ecx, eax
mov dword [rsp + 0x14], r13d
rol ecx, 5
add r14d, ecx
mov ecx, r10d
xor ecx, r9d
and ecx, r12d
ror r12d, 2
xor ecx, r9d
add r14d, ecx
mov ecx, r10d
mov r13d, dword [rdx + 8]
xor ecx, r12d
and ecx, eax
bswap r13d
lea r9d, [r13 + r9 + 0x5a827999]
mov dword [rsp + 0x18], r13d
xor ecx, r10d
ror eax, 2
add ecx, r9d
mov r9d, r14d
rol r9d, 5
add ecx, r9d
mov r13d, r12d
mov r9d, dword [rdx + 0xc]
xor r13d, eax
and r13d, r14d
bswap r9d
mov dword [rsp + 0x1c], r9d
lea r9d, [r10 + r9 + 0x5a827999]
xor r13d, r12d
mov r10d, r14d
add r13d, r9d
mov r9d, ecx
ror r10d, 2
rol r9d, 5
add r13d, r9d
mov r9d, eax
mov r14d, dword [rdx + 0x10]
xor r9d, r10d
and r9d, ecx
bswap r14d
ror ecx, 2
mov dword [rsp + 0x20], r14d
lea r12d, [r12 + r14 + 0x5a827999]
xor r9d, eax
mov r14d, ecx
add r9d, r12d
mov r12d, r13d
rol r12d, 5
add r9d, r12d
mov r12d, r10d
mov ecx, dword [rdx + 0x14]
xor r12d, r14d
and r12d, r13d
bswap ecx
lea eax, [rax + rcx + 0x5a827999]
mov dword [rsp + 0x24], ecx
xor r12d, r10d
ror r13d, 2
add r12d, eax
mov eax, r9d
rol eax, 5
add r12d, eax
mov ecx, r14d
mov eax, dword [rdx + 0x18]
xor ecx, r13d
and ecx, r9d
bswap eax
mov dword [rsp + 0x28], eax
ror r9d, 2
lea eax, [r10 + rax + 0x5a827999]
xor ecx, r14d
add ecx, eax
mov eax, r12d
rol eax, 5
add ecx, eax
mov r10d, r13d
mov eax, dword [rdx + 0x1c]
xor r10d, r9d
and r10d, r12d
bswap eax
mov dword [rsp + 0x2c], eax
ror r12d, 2
lea eax, [r14 + rax + 0x5a827999]
xor r10d, r13d
add r10d, eax
mov eax, ecx
rol eax, 5
add r10d, eax
mov eax, r9d
mov r14d, dword [rdx + 0x20]
xor eax, r12d
and eax, ecx
bswap r14d
lea r13d, [r13 + r14 + 0x5a827999]
ror ecx, 2
xor eax, r9d
mov dword [rsp + 0x30], r14d
add eax, r13d
mov r13d, r10d
rol r13d, 5
add eax, r13d
mov r13d, ecx
mov ecx, r12d
mov r14d, dword [rdx + 0x24]
xor ecx, r13d
and ecx, r10d
bswap r14d
ror r10d, 2
mov dword [rsp + 0x34], r14d
xor ecx, r12d
lea r9d, [r9 + r14 + 0x5a827999]
add r9d, ecx
mov ecx, eax
rol ecx, 5
add r9d, ecx
mov ecx, r13d
mov r14d, dword [rdx + 0x28]
xor ecx, r10d
and ecx, eax
bswap r14d
lea r12d, [r12 + r14 + 0x5a827999]
ror eax, 2
xor ecx, r13d
mov dword [rsp + 0x38], r14d
mov r14d, eax
add ecx, r12d
mov r12d, r9d
rol r12d, 5
add ecx, r12d
mov r12d, r10d
mov eax, dword [rdx + 0x2c]
xor r12d, r14d
and r12d, r9d
bswap eax
mov dword [rsp + 0x3c], eax
ror r9d, 2
lea eax, [r13 + rax + 0x5a827999]
xor r12d, r10d
add r12d, eax
mov eax, ecx
rol eax, 5
add r12d, eax
mov eax, r14d
mov r13d, dword [rdx + 0x30]
xor eax, r9d
and eax, ecx
bswap r13d
lea r10d, [r10 + r13 + 0x5a827999]
ror ecx, 2
xor eax, r14d
mov dword [rsp + 0x40], r13d
mov r13d, ecx
add eax, r10d
mov r10d, r12d
rol r10d, 5
add eax, r10d
mov r10d, r9d
mov ecx, dword [rdx + 0x34]
xor r10d, r13d
and r10d, r12d
bswap ecx
mov dword [rsp + 0x44], ecx
ror r12d, 2
lea ecx, [r14 + rcx + 0x5a827999]
xor r10d, r9d
add r10d, ecx
mov ecx, eax
rol ecx, 5
add r10d, ecx
mov ecx, r13d
mov r14d, dword [rdx + 0x38]
xor ecx, r12d
and ecx, eax
bswap r14d
lea r9d, [r9 + r14 + 0x5a827999]
ror eax, 2
xor ecx, r13d
mov dword [rsp + 0x48], r14d
mov r14d, eax
add ecx, r9d
mov r9d, r10d
rol r9d, 5
add ecx, r9d
mov r9d, r12d
mov eax, dword [rdx + 0x3c]
xor r9d, r14d
and r9d, r10d
bswap eax
mov dword [rsp + 0x4c], eax
ror r10d, 2
lea eax, [r13 + rax + 0x5a827999]
xor r9d, r12d
add r9d, eax
mov eax, ecx
rol eax, 5
add r9d, eax
mov eax, r14d
mov r13d, dword [rsp + 0x10]
xor r13d, dword [rsp + 0x18]
xor eax, r10d
xor r13d, dword [rsp + 0x30]
xor r13d, dword [rsp + 0x44]
rol r13d, 1
and eax, ecx
ror ecx, 2
lea r12d, [r12 + r13 + 0x5a827999]
xor eax, r14d
mov dword [rsp + 0x10], r13d
mov r13d, ecx
add eax, r12d
mov r12d, r9d
rol r12d, 5
add eax, r12d
mov ecx, r10d
mov r12d, dword [rsp + 0x14]
xor r12d, dword [rsp + 0x1c]
xor ecx, r13d
xor r12d, dword [rsp + 0x34]
xor r12d, dword [rsp + 0x48]
rol r12d, 1
and ecx, r9d
ror r9d, 2
mov dword [rsp + 0x14], r12d
xor ecx, r10d
lea r12d, [r14 + r12 + 0x5a827999]
add ecx, r12d
mov r12d, eax
rol r12d, 5
add ecx, r12d
mov r12d, r13d
mov r14d, dword [rsp + 0x18]
xor r14d, dword [rsp + 0x20]
xor r12d, r9d
xor r14d, dword [rsp + 0x38]
xor r14d, dword [rsp + 0x4c]
rol r14d, 1
and r12d, eax
ror eax, 2
lea r10d, [r10 + r14 + 0x5a827999]
xor r12d, r13d
mov dword [rsp + 0x18], r14d
mov r14d, eax
add r12d, r10d
mov r10d, ecx
rol r10d, 5
add r12d, r10d
mov eax, r9d
mov r10d, dword [rsp + 0x1c]
xor r10d, dword [rsp + 0x24]
xor eax, r14d
xor r10d, dword [rsp + 0x3c]
xor r10d, dword [rsp + 0x10]
rol r10d, 1
and eax, ecx
ror ecx, 2
mov dword [rsp + 0x1c], r10d
xor eax, r9d
lea r10d, [r13 + r10 + 0x5a827999]
mov r15d, ecx
add eax, r10d
mov r10d, r12d
rol r10d, 5
add eax, r10d
mov ecx, dword [rsp + 0x20]
mov r10d, r14d
xor ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x14]
xor r10d, r15d
rol ecx, 1
xor r10d, r12d
ror r12d, 2
mov dword [rsp + 0x20], ecx
lea ecx, [r9 + rcx + 0x6ed9eba1]
add r10d, ecx
mov ecx, eax
rol ecx, 5
add r10d, ecx
mov r9d, dword [rsp + 0x24]
mov ecx, r15d
xor r9d, dword [rsp + 0x2c]
xor r9d, dword [rsp + 0x44]
xor r9d, dword [rsp + 0x18]
xor ecx, r12d
rol r9d, 1
xor ecx, eax
ror eax, 2
mov dword [rsp + 0x24], r9d
lea r9d, [r14 + r9 + 0x6ed9eba1]
add ecx, r9d
mov r9d, r10d
rol r9d, 5
add ecx, r9d
mov r9d, dword [rsp + 0x28]
mov r13d, r12d
xor r9d, dword [rsp + 0x30]
xor r9d, dword [rsp + 0x48]
xor r9d, dword [rsp + 0x1c]
xor r13d, eax
rol r9d, 1
xor r13d, r10d
ror r10d, 2
mov dword [rsp + 0x28], r9d
lea r9d, [r15 + r9 + 0x6ed9eba1]
add r13d, r9d
mov r9d, ecx
rol r9d, 5
add r13d, r9d
mov r14d, dword [rsp + 0x2c]
mov r9d, eax
xor r14d, dword [rsp + 0x34]
xor r14d, dword [rsp + 0x4c]
xor r14d, dword [rsp + 0x20]
xor r9d, r10d
rol r14d, 1
xor r9d, ecx
ror ecx, 2
lea r12d, [r12 + r14 + 0x6ed9eba1]
mov dword [rsp + 0x2c], r14d
mov r14d, ecx
add r9d, r12d
mov r12d, r13d
rol r12d, 5
add r9d, r12d
mov ecx, dword [rsp + 0x30]
mov r12d, r10d
xor ecx, dword [rsp + 0x38]
xor ecx, dword [rsp + 0x10]
xor ecx, dword [rsp + 0x24]
xor r12d, r14d
rol ecx, 1
xor r12d, r13d
ror r13d, 2
lea eax, [rax + rcx + 0x6ed9eba1]
mov dword [rsp + 0x30], ecx
add r12d, eax
mov eax, r9d
rol eax, 5
add r12d, eax
mov eax, dword [rsp + 0x34]
mov ecx, r14d
xor eax, dword [rsp + 0x3c]
xor eax, dword [rsp + 0x14]
xor eax, dword [rsp + 0x28]
xor ecx, r13d
rol eax, 1
xor ecx, r9d
ror r9d, 2
mov dword [rsp + 0x34], eax
lea eax, [r10 + rax + 0x6ed9eba1]
add ecx, eax
mov eax, r12d
rol eax, 5
add ecx, eax
mov eax, dword [rsp + 0x38]
mov r10d, r13d
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x18]
xor eax, dword [rsp + 0x2c]
xor r10d, r9d
rol eax, 1
xor r10d, r12d
ror r12d, 2
mov dword [rsp + 0x38], eax
lea eax, [r14 + rax + 0x6ed9eba1]
add r10d, eax
mov eax, ecx
rol eax, 5
add r10d, eax
mov r14d, dword [rsp + 0x3c]
mov eax, r9d
xor r14d, dword [rsp + 0x44]
xor r14d, dword [rsp + 0x1c]
xor r14d, dword [rsp + 0x30]
xor eax, r12d
rol r14d, 1
xor eax, ecx
ror ecx, 2
lea r13d, [r13 + r14 + 0x6ed9eba1]
mov dword [rsp + 0x3c], r14d
add eax, r13d
mov r13d, r10d
rol r13d, 5
add eax, r13d
mov r13d, ecx
mov ecx, dword [rsp + 0x40]
mov r14d, r12d
xor ecx, dword [rsp + 0x48]
xor ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x34]
xor r14d, r13d
rol ecx, 1
xor r14d, r10d
ror r10d, 2
mov dword [rsp + 0x40], ecx
lea ecx, [r9 + rcx + 0x6ed9eba1]
lea r9d, [r14 + rcx]
mov ecx, eax
rol ecx, 5
add r9d, ecx
mov r14d, dword [rsp + 0x44]
mov ecx, r13d
xor r14d, dword [rsp + 0x4c]
xor r14d, dword [rsp + 0x24]
xor r14d, dword [rsp + 0x38]
xor ecx, r10d
rol r14d, 1
xor ecx, eax
ror eax, 2
lea r12d, [r12 + r14 + 0x6ed9eba1]
mov dword [rsp + 0x44], r14d
mov r14d, eax
add ecx, r12d
mov r12d, r9d
rol r12d, 5
add ecx, r12d
mov eax, dword [rsp + 0x48]
mov r12d, r10d
xor eax, dword [rsp + 0x10]
xor eax, dword [rsp + 0x28]
xor eax, dword [rsp + 0x3c]
xor r12d, r14d
rol eax, 1
xor r12d, r9d
ror r9d, 2
mov dword [rsp + 0x48], eax
lea eax, [r13 + rax + 0x6ed9eba1]
add r12d, eax
mov eax, ecx
rol eax, 5
add r12d, eax
mov r13d, dword [rsp + 0x4c]
mov eax, r14d
xor r13d, dword [rsp + 0x14]
xor r13d, dword [rsp + 0x2c]
xor r13d, dword [rsp + 0x40]
xor eax, r9d
rol r13d, 1
xor eax, ecx
ror ecx, 2
lea r10d, [r10 + r13 + 0x6ed9eba1]
mov dword [rsp + 0x4c], r13d
mov r13d, ecx
add eax, r10d
mov r10d, r12d
rol r10d, 5
add eax, r10d
mov ecx, dword [rsp + 0x10]
mov r10d, r9d
xor ecx, dword [rsp + 0x18]
xor ecx, dword [rsp + 0x30]
xor ecx, dword [rsp + 0x44]
xor r10d, r13d
rol ecx, 1
xor r10d, r12d
ror r12d, 2
mov dword [rsp + 0x10], ecx
lea ecx, [r14 + rcx + 0x6ed9eba1]
add r10d, ecx
mov ecx, eax
rol ecx, 5
add r10d, ecx
mov r14d, dword [rsp + 0x14]
mov ecx, r13d
xor r14d, dword [rsp + 0x1c]
xor r14d, dword [rsp + 0x34]
xor r14d, dword [rsp + 0x48]
xor ecx, r12d
rol r14d, 1
xor ecx, eax
ror eax, 2
lea r9d, [r9 + r14 + 0x6ed9eba1]
mov dword [rsp + 0x14], r14d
mov r14d, eax
add ecx, r9d
mov r9d, r10d
rol r9d, 5
add ecx, r9d
mov eax, dword [rsp + 0x18]
mov r9d, r12d
xor eax, dword [rsp + 0x20]
xor eax, dword [rsp + 0x38]
xor eax, dword [rsp + 0x4c]
xor r9d, r14d
rol eax, 1
xor r9d, r10d
ror r10d, 2
mov dword [rsp + 0x18], eax
lea eax, [r13 + rax + 0x6ed9eba1]
add r9d, eax
mov eax, ecx
rol eax, 5
add r9d, eax
mov r13d, dword [rsp + 0x1c]
mov eax, r14d
xor r13d, dword [rsp + 0x24]
xor r13d, dword [rsp + 0x3c]
xor r13d, dword [rsp + 0x10]
xor eax, r10d
rol r13d, 1
xor eax, ecx
ror ecx, 2
lea r12d, [r12 + r13 + 0x6ed9eba1]
mov dword [rsp + 0x1c], r13d
mov r13d, ecx
add eax, r12d
mov r12d, r9d
rol r12d, 5
add eax, r12d
mov ecx, dword [rsp + 0x20]
mov r12d, r10d
xor ecx, dword [rsp + 0x28]
xor ecx, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x14]
xor r12d, r13d
rol ecx, 1
xor r12d, r9d
ror r9d, 2
mov dword [rsp + 0x20], ecx
lea ecx, [r14 + rcx + 0x6ed9eba1]
add r12d, ecx
mov ecx, eax
rol ecx, 5
add r12d, ecx
mov r14d, dword [rsp + 0x24]
mov ecx, r13d
xor r14d, dword [rsp + 0x2c]
xor r14d, dword [rsp + 0x44]
xor r14d, dword [rsp + 0x18]
xor ecx, r9d
rol r14d, 1
xor ecx, eax
ror eax, 2
lea r10d, [r10 + r14 + 0x6ed9eba1]
mov dword [rsp + 0x24], r14d
mov r14d, eax
add ecx, r10d
mov r10d, r12d
rol r10d, 5
add ecx, r10d
mov eax, dword [rsp + 0x28]
mov r10d, r9d
xor eax, dword [rsp + 0x30]
xor eax, dword [rsp + 0x48]
xor eax, dword [rsp + 0x1c]
xor r10d, r14d
rol eax, 1
xor r10d, r12d
ror r12d, 2
mov dword [rsp + 0x28], eax
lea eax, [r13 + rax + 0x6ed9eba1]
add r10d, eax
mov eax, ecx
rol eax, 5
add r10d, eax
mov r13d, dword [rsp + 0x2c]
mov eax, r14d
xor r13d, dword [rsp + 0x34]
xor r13d, dword [rsp + 0x4c]
xor r13d, dword [rsp + 0x20]
xor eax, r12d
rol r13d, 1
xor eax, ecx
ror ecx, 2
lea r9d, [r9 + r13 + 0x6ed9eba1]
mov dword [rsp + 0x2c], r13d
mov r13d, ecx
add eax, r9d
mov r9d, r10d
rol r9d, 5
add eax, r9d
mov r15d, r12d
mov ecx, dword [rsp + 0x30]
mov r9d, r12d
xor ecx, dword [rsp + 0x38]
xor r15d, r13d
xor ecx, dword [rsp + 0x10]
xor ecx, dword [rsp + 0x24]
and r9d, r13d
rol ecx, 1
and r15d, r10d
ror r10d, 2
mov dword [rsp + 0x30], ecx
xor r9d, r15d
lea ecx, [r14 + rcx - 0x70e44324]
add r9d, ecx
mov ecx, eax
rol ecx, 5
add r9d, ecx
mov r15d, r13d
mov r14d, dword [rsp + 0x34]
mov ecx, r13d
xor r14d, dword [rsp + 0x3c]
xor r15d, r10d
xor r14d, dword [rsp + 0x14]
xor r14d, dword [rsp + 0x28]
and ecx, r10d
rol r14d, 1
and r15d, eax
ror eax, 2
lea r12d, [r12 + r14 - 0x70e44324]
xor ecx, r15d
mov dword [rsp + 0x34], r14d
mov r14d, eax
add ecx, r12d
mov r12d, r9d
rol r12d, 5
add ecx, r12d
mov r15d, r10d
mov eax, dword [rsp + 0x38]
mov r12d, r10d
xor eax, dword [rsp + 0x40]
xor r15d, r14d
xor eax, dword [rsp + 0x18]
xor eax, dword [rsp + 0x2c]
and r12d, r14d
rol eax, 1
and r15d, r9d
ror r9d, 2
mov dword [rsp + 0x38], eax
xor r12d, r15d
lea eax, [r13 + rax - 0x70e44324]
add r12d, eax
mov eax, ecx
rol eax, 5
add r12d, eax
mov r15d, r14d
mov r13d, dword [rsp + 0x3c]
mov eax, r14d
xor r13d, dword [rsp + 0x44]
xor r15d, r9d
xor r13d, dword [rsp + 0x1c]
xor r13d, dword [rsp + 0x30]
and eax, r9d
rol r13d, 1
and r15d, ecx
ror ecx, 2
lea r10d, [r10 + r13 - 0x70e44324]
xor eax, r15d
mov dword [rsp + 0x3c], r13d
mov r13d, ecx
add eax, r10d
mov r10d, r12d
rol r10d, 5
add eax, r10d
mov r15d, r9d
mov ecx, dword [rsp + 0x40]
mov r10d, r9d
xor ecx, dword [rsp + 0x48]
xor r15d, r13d
xor ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x34]
and r10d, r13d
rol ecx, 1
and r15d, r12d
ror r12d, 2
mov dword [rsp + 0x40], ecx
xor r10d, r15d
lea ecx, [r14 + rcx - 0x70e44324]
add r10d, ecx
mov ecx, eax
rol ecx, 5
add r10d, ecx
mov r15d, r13d
mov r14d, dword [rsp + 0x44]
mov ecx, r13d
xor r14d, dword [rsp + 0x4c]
xor r15d, r12d
xor r14d, dword [rsp + 0x24]
xor r14d, dword [rsp + 0x38]
and ecx, r12d
rol r14d, 1
and r15d, eax
ror eax, 2
lea r9d, [r9 + r14 - 0x70e44324]
xor ecx, r15d
mov dword [rsp + 0x44], r14d
mov r14d, eax
add ecx, r9d
mov r9d, r10d
rol r9d, 5
add ecx, r9d
mov r15d, r12d
mov eax, dword [rsp + 0x48]
mov r9d, r12d
xor eax, dword [rsp + 0x10]
xor r15d, r14d
xor eax, dword [rsp + 0x28]
xor eax, dword [rsp + 0x3c]
and r9d, r14d
rol eax, 1
and r15d, r10d
ror r10d, 2
mov dword [rsp + 0x48], eax
xor r9d, r15d
lea eax, [r13 + rax - 0x70e44324]
add r9d, eax
mov eax, ecx
rol eax, 5
add r9d, eax
mov r15d, r14d
mov r13d, dword [rsp + 0x4c]
mov eax, r14d
xor r13d, dword [rsp + 0x14]
xor r15d, r10d
xor r13d, dword [rsp + 0x2c]
xor r13d, dword [rsp + 0x40]
and eax, r10d
rol r13d, 1
and r15d, ecx
ror ecx, 2
lea r12d, [r12 + r13 - 0x70e44324]
xor eax, r15d
mov dword [rsp + 0x4c], r13d
mov r13d, ecx
add eax, r12d
mov r12d, r9d
rol r12d, 5
add eax, r12d
mov r15d, r10d
mov ecx, dword [rsp + 0x10]
mov r12d, r10d
xor ecx, dword [rsp + 0x18]
xor r15d, r13d
xor ecx, dword [rsp + 0x30]
xor ecx, dword [rsp + 0x44]
and r12d, r13d
rol ecx, 1
and r15d, r9d
ror r9d, 2
mov dword [rsp + 0x10], ecx
xor r12d, r15d
lea ecx, [r14 + rcx - 0x70e44324]
add r12d, ecx
mov ecx, eax
rol ecx, 5
add r12d, ecx
mov r15d, r13d
mov r14d, dword [rsp + 0x14]
mov ecx, r13d
xor r14d, dword [rsp + 0x1c]
xor r15d, r9d
xor r14d, dword [rsp + 0x34]
xor r14d, dword [rsp + 0x48]
and ecx, r9d
rol r14d, 1
and r15d, eax
ror eax, 2
lea r10d, [r10 + r14 - 0x70e44324]
xor ecx, r15d
mov dword [rsp + 0x14], r14d
mov r14d, eax
add ecx, r10d
mov r10d, r12d
rol r10d, 5
add ecx, r10d
mov r15d, r9d
mov eax, dword [rsp + 0x18]
mov r10d, r9d
xor eax, dword [rsp + 0x20]
xor r15d, r14d
xor eax, dword [rsp + 0x38]
xor eax, dword [rsp + 0x4c]
and r10d, r14d
rol eax, 1
and r15d, r12d
ror r12d, 2
mov dword [rsp + 0x18], eax
xor r10d, r15d
lea eax, [r13 + rax - 0x70e44324]
add r10d, eax
mov eax, ecx
rol eax, 5
add r10d, eax
mov r15d, r14d
mov r13d, dword [rsp + 0x1c]
mov eax, r14d
xor r13d, dword [rsp + 0x24]
xor r15d, r12d
xor r13d, dword [rsp + 0x3c]
xor r13d, dword [rsp + 0x10]
and eax, r12d
rol r13d, 1
and r15d, ecx
ror ecx, 2
lea r9d, [r9 + r13 - 0x70e44324]
xor eax, r15d
mov dword [rsp + 0x1c], r13d
mov r13d, ecx
add eax, r9d
mov r9d, r10d
rol r9d, 5
add eax, r9d
mov r15d, r12d
mov ecx, dword [rsp + 0x20]
mov r9d, r12d
xor ecx, dword [rsp + 0x28]
xor r15d, r13d
xor ecx, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x14]
and r9d, r13d
rol ecx, 1
and r15d, r10d
ror r10d, 2
mov dword [rsp + 0x20], ecx
xor r9d, r15d
lea ecx, [r14 + rcx - 0x70e44324]
add r9d, ecx
mov ecx, eax
rol ecx, 5
add r9d, ecx
mov r15d, r13d
mov r14d, dword [rsp + 0x24]
mov ecx, r13d
xor r14d, dword [rsp + 0x2c]
xor r15d, r10d
xor r14d, dword [rsp + 0x44]
xor r14d, dword [rsp + 0x18]
and ecx, r10d
rol r14d, 1
and r15d, eax
ror eax, 2
lea r12d, [r12 + r14 - 0x70e44324]
xor ecx, r15d
mov dword [rsp + 0x24], r14d
add ecx, r12d
mov r12d, r9d
rol r12d, 5
add ecx, r12d
mov r12d, eax
mov r15d, r10d
mov eax, dword [rsp + 0x28]
mov r14d, r10d
xor eax, dword [rsp + 0x30]
xor r15d, r12d
xor eax, dword [rsp + 0x48]
xor eax, dword [rsp + 0x1c]
and r14d, r12d
rol eax, 1
and r15d, r9d
ror r9d, 2
mov dword [rsp + 0x28], eax
xor r14d, r15d
lea eax, [r13 + rax - 0x70e44324]
add r14d, eax
mov eax, ecx
rol eax, 5
add r14d, eax
mov r15d, r12d
mov r13d, dword [rsp + 0x2c]
mov eax, r12d
xor r13d, dword [rsp + 0x34]
xor r15d, r9d
xor r13d, dword [rsp + 0x4c]
xor r13d, dword [rsp + 0x20]
and eax, r9d
rol r13d, 1
and r15d, ecx
ror ecx, 2
lea r10d, [r10 + r13 - 0x70e44324]
xor eax, r15d
mov dword [rsp + 0x2c], r13d
mov r13d, ecx
add eax, r10d
mov r10d, r14d
rol r10d, 5
add eax, r10d
mov r15d, r9d
mov r10d, dword [rsp + 0x30]
xor r10d, dword [rsp + 0x38]
xor r15d, ecx
xor r10d, dword [rsp + 0x10]
mov ecx, r9d
xor r10d, dword [rsp + 0x24]
rol r10d, 1
and r15d, r14d
and ecx, r13d
ror r14d, 2
mov dword [rsp + 0x30], r10d
xor ecx, r15d
lea r10d, [r12 + r10 - 0x70e44324]
add ecx, r10d
mov r10d, eax
rol r10d, 5
add ecx, r10d
mov r15d, r13d
mov r10d, dword [rsp + 0x34]
mov r12d, r13d
xor r10d, dword [rsp + 0x3c]
xor r15d, r14d
xor r10d, dword [rsp + 0x14]
xor r10d, dword [rsp + 0x28]
and r12d, r14d
rol r10d, 1
and r15d, eax
ror eax, 2
lea r9d, [r9 + r10 - 0x70e44324]
xor r12d, r15d
mov dword [rsp + 0x34], r10d
add r12d, r9d
mov r9d, ecx
rol r9d, 5
add r12d, r9d
mov r15d, r14d
mov r9d, dword [rsp + 0x38]
mov r10d, r14d
xor r9d, dword [rsp + 0x40]
xor r15d, eax
xor r9d, dword [rsp + 0x18]
xor r9d, dword [rsp + 0x2c]
and r10d, eax
rol r9d, 1
and r15d, ecx
ror ecx, 2
mov dword [rsp + 0x38], r9d
xor r10d, r15d
lea r9d, [r13 + r9 - 0x70e44324]
add r10d, r9d
mov r9d, r12d
rol r9d, 5
add r10d, r9d
mov r15d, eax
mov r13d, dword [rsp + 0x3c]
mov r9d, eax
xor r13d, dword [rsp + 0x44]
xor r15d, ecx
xor r13d, dword [rsp + 0x1c]
xor r13d, dword [rsp + 0x30]
and r9d, ecx
rol r13d, 1
and r15d, r12d
ror r12d, 2
mov dword [rsp + 0x3c], r13d
xor r9d, r15d
lea r13d, [r14 + r13 - 0x70e44324]
add r9d, r13d
mov r13d, r10d
rol r13d, 5
add r9d, r13d
mov r13d, dword [rsp + 0x40]
mov r14d, ecx
xor r13d, dword [rsp + 0x48]
xor r13d, dword [rsp + 0x20]
xor r13d, dword [rsp + 0x34]
xor r14d, r12d
rol r13d, 1
xor r14d, r10d
ror r10d, 2
mov dword [rsp + 0x40], r13d
lea eax, [rax + r13 - 0x359d3e2a]
mov r13d, r9d
add eax, r14d
rol r13d, 5
add eax, r13d
mov r13d, dword [rsp + 0x44]
mov r14d, r12d
xor r13d, dword [rsp + 0x4c]
xor r13d, dword [rsp + 0x24]
xor r13d, dword [rsp + 0x38]
xor r14d, r10d
rol r13d, 1
xor r14d, r9d
ror r9d, 2
mov dword [rsp + 0x44], r13d
lea ecx, [rcx + r13 - 0x359d3e2a]
mov r13d, eax
add ecx, r14d
rol r13d, 5
add ecx, r13d
mov r13d, dword [rsp + 0x48]
mov r14d, r10d
xor r13d, dword [rsp + 0x10]
xor r13d, dword [rsp + 0x28]
xor r13d, dword [rsp + 0x3c]
xor r14d, r9d
rol r13d, 1
xor r14d, eax
ror eax, 2
mov dword [rsp + 0x48], r13d
lea r12d, [r12 + r13 - 0x359d3e2a]
mov r13d, ecx
rol r13d, 5
add r12d, r14d
add r12d, r13d
mov r13d, eax
mov r14d, dword [rsp + 0x4c]
mov eax, r9d
xor r14d, dword [rsp + 0x14]
xor r14d, dword [rsp + 0x2c]
xor r14d, dword [rsp + 0x40]
xor eax, r13d
rol r14d, 1
xor eax, ecx
ror ecx, 2
lea r10d, [r10 + r14 - 0x359d3e2a]
mov dword [rsp + 0x4c], r14d
add eax, r10d
mov r10d, r12d
rol r10d, 5
add eax, r10d
mov r10d, ecx
mov r14d, dword [rsp + 0x10]
mov ecx, r13d
xor r14d, dword [rsp + 0x18]
xor r14d, dword [rsp + 0x30]
xor r14d, dword [rsp + 0x44]
xor ecx, r10d
rol r14d, 1
xor ecx, r12d
ror r12d, 2
lea r9d, [r9 + r14 - 0x359d3e2a]
mov dword [rsp + 0x10], r14d
add ecx, r9d
mov r9d, eax
rol r9d, 5
add ecx, r9d
mov r14d, dword [rsp + 0x14]
mov r9d, r10d
xor r14d, dword [rsp + 0x1c]
xor r14d, dword [rsp + 0x34]
xor r14d, dword [rsp + 0x48]
xor r9d, r12d
rol r14d, 1
xor r9d, eax
ror eax, 2
lea r13d, [r13 + r14 - 0x359d3e2a]
mov dword [rsp + 0x14], r14d
add r9d, r13d
mov r13d, ecx
rol r13d, 5
add r9d, r13d
mov r13d, eax
mov r14d, dword [rsp + 0x18]
mov eax, r12d
xor r14d, dword [rsp + 0x20]
xor r14d, dword [rsp + 0x38]
xor r14d, dword [rsp + 0x4c]
xor eax, r13d
rol r14d, 1
xor eax, ecx
ror ecx, 2
lea r10d, [r10 + r14 - 0x359d3e2a]
mov dword [rsp + 0x18], r14d
add eax, r10d
mov r10d, r9d
rol r10d, 5
add eax, r10d
mov r10d, ecx
mov r14d, dword [rsp + 0x1c]
mov ecx, r13d
xor r14d, dword [rsp + 0x24]
xor r14d, dword [rsp + 0x3c]
xor r14d, dword [rsp + 0x10]
xor ecx, r10d
rol r14d, 1
xor ecx, r9d
ror r9d, 2
lea r12d, [r12 + r14 - 0x359d3e2a]
mov dword [rsp + 0x1c], r14d
add ecx, r12d
mov r12d, eax
rol r12d, 5
add ecx, r12d
mov r12d, r9d
mov r14d, dword [rsp + 0x20]
mov r9d, r10d
xor r14d, dword [rsp + 0x28]
xor r14d, dword [rsp + 0x40]
xor r14d, dword [rsp + 0x14]
xor r9d, r12d
rol r14d, 1
xor r9d, eax
ror eax, 2
lea r13d, [r13 + r14 - 0x359d3e2a]
mov dword [rsp + 0x20], r14d
add r9d, r13d
mov r13d, ecx
rol r13d, 5
add r9d, r13d
mov r13d, eax
mov r14d, dword [rsp + 0x24]
mov eax, r12d
xor r14d, dword [rsp + 0x2c]
xor r14d, dword [rsp + 0x44]
xor r14d, dword [rsp + 0x18]
xor eax, r13d
rol r14d, 1
xor eax, ecx
ror ecx, 2
lea r10d, [r10 + r14 - 0x359d3e2a]
mov dword [rsp + 0x24], r14d
add eax, r10d
mov r10d, r9d
rol r10d, 5
add eax, r10d
mov r10d, ecx
mov r14d, dword [rsp + 0x28]
mov ecx, r13d
xor r14d, dword [rsp + 0x30]
xor r14d, dword [rsp + 0x48]
xor r14d, dword [rsp + 0x1c]
xor ecx, r10d
rol r14d, 1
xor ecx, r9d
ror r9d, 2
lea r12d, [r12 + r14 - 0x359d3e2a]
mov dword [rsp + 0x28], r14d
add ecx, r12d
mov r12d, eax
rol r12d, 5
add ecx, r12d
mov r12d, r9d
mov r14d, dword [rsp + 0x2c]
mov r9d, r10d
xor r14d, dword [rsp + 0x34]
xor r14d, dword [rsp + 0x4c]
xor r14d, dword [rsp + 0x20]
xor r9d, r12d
rol r14d, 1
xor r9d, eax
ror eax, 2
lea r13d, [r13 + r14 - 0x359d3e2a]
mov dword [rsp + 0x2c], r14d
add r9d, r13d
mov r13d, ecx
rol r13d, 5
add r9d, r13d
mov r13d, eax
mov r14d, dword [rsp + 0x30]
mov eax, r12d
xor r14d, dword [rsp + 0x38]
xor r14d, dword [rsp + 0x10]
xor r14d, dword [rsp + 0x24]
xor eax, r13d
rol r14d, 1
xor eax, ecx
ror ecx, 2
lea r10d, [r10 + r14 - 0x359d3e2a]
mov dword [rsp + 0x30], r14d
add eax, r10d
mov r10d, r9d
rol r10d, 5
add eax, r10d
mov r10d, ecx
mov r14d, dword [rsp + 0x34]
mov ecx, r13d
xor r14d, dword [rsp + 0x3c]
xor r14d, dword [rsp + 0x14]
xor r14d, dword [rsp + 0x28]
xor ecx, r10d
rol r14d, 1
xor ecx, r9d
ror r9d, 2
lea r12d, [r12 + r14 - 0x359d3e2a]
mov dword [rsp + 0x34], r14d
add ecx, r12d
mov r12d, eax
rol r12d, 5
add ecx, r12d
mov r12d, r9d
mov r14d, dword [rsp + 0x38]
mov r9d, r10d
xor r14d, dword [rsp + 0x40]
xor r14d, dword [rsp + 0x18]
xor r14d, dword [rsp + 0x2c]
xor r9d, r12d
rol r14d, 1
xor r9d, eax
ror eax, 2
lea r13d, [r13 + r14 - 0x359d3e2a]
mov dword [rsp + 0x38], r14d
add r9d, r13d
mov r13d, ecx
rol r13d, 5
add r9d, r13d
mov r13d, eax
mov r14d, dword [rsp + 0x3c]
mov eax, r12d
xor r14d, dword [rsp + 0x44]
xor r14d, dword [rsp + 0x1c]
xor r14d, dword [rsp + 0x30]
xor eax, r13d
rol r14d, 1
xor eax, ecx
ror ecx, 2
lea r10d, [r10 + r14 - 0x359d3e2a]
mov dword [rsp + 0x3c], r14d
mov r14d, ecx
add eax, r10d
mov r10d, r9d
rol r10d, 5
add eax, r10d
mov r10d, dword [rsp + 0x40]
mov ecx, r13d
xor r10d, dword [rsp + 0x48]
xor r10d, dword [rsp + 0x20]
xor r10d, dword [rsp + 0x34]
xor ecx, r14d
rol r10d, 1
xor ecx, r9d
ror r9d, 2
mov dword [rsp + 0x40], r10d
lea r10d, [r12 + r10 - 0x359d3e2a]
add ecx, r10d
mov r10d, eax
rol r10d, 5
add ecx, r10d
mov r10d, dword [rsp + 0x44]
mov r12d, r14d
xor r10d, dword [rsp + 0x4c]
xor r10d, dword [rsp + 0x24]
xor r10d, dword [rsp + 0x38]
xor r12d, r9d
rol r10d, 1
xor r12d, eax
ror eax, 2
mov dword [rsp + 0x44], r10d
lea r10d, [r13 + r10 - 0x359d3e2a]
lea r13d, [r12 + r10]
mov r10d, ecx
rol r10d, 5
add r13d, r10d
mov r12d, dword [rsp + 0x48]
mov r10d, r9d
xor r12d, dword [rsp + 0x10]
xor r12d, dword [rsp + 0x28]
xor r12d, dword [rsp + 0x3c]
xor r10d, eax
rol r12d, 1
xor r10d, ecx
ror ecx, 2
mov dword [rsp + 0x48], r12d
lea r12d, [r14 + r12 - 0x359d3e2a]
add r10d, r12d
mov r12d, r13d
rol r12d, 5
add r10d, r12d
mov r12d, dword [rsp + 0x4c]
xor r12d, dword [rsp + 0x14]
add rdx, 0x40
xor r12d, dword [rsp + 0x2c]
xor r12d, dword [rsp + 0x40]
rol r12d, 1
lea r12d, [r12 + rbp - 0x359d3e2a]
add r12d, r9d
mov r9d, eax
xor r9d, ecx
add ecx, ebx
mov ebx, dword [rsp + 0xc]
xor r9d, r13d
ror r13d, 2
movd xmm2, ecx
add r12d, r9d
mov r9d, r10d
add r10d, edi
add eax, ebx
rol r9d, 5
movd xmm3, r10d
mov dword [r11 + 0x10], eax
add r12d, r9d
lea r9d, [r13 + rsi]
movd xmm1, r9d
movd xmm0, r12d
punpckldq xmm1, xmm2
punpckldq xmm0, xmm3
punpcklqdq xmm0, xmm1
movups xmmword [r11], xmm0
sub r8, 1
jne 0x3a98c8848
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r11
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x3a98c66f0
mov rcx, r11
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x3a98c6410
mov rcx, r11
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x3a98c7790