Function at 0x1401bd9e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov r8d, dword [rdx]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
mov r13, rdx
mov eax, r8d
mov r9d, r8d
shr eax, 0x10
and r9d, 0xff0000
or r9d, eax
mov eax, r8d
and r8d, 0xff00
shl eax, 0x10
movups xmm3, xmm0
movups xmm2, xmm1
or eax, r8d
shr r9d, 8
shl eax, 8
movups xmmword [rsp + 0x50], xmm0
movq rbx, xmm2
movd ebp, xmm2
movd edi, xmm3
or r9d, eax
shr rbx, 0x20
mov edx, ebp
movdqa xmm0, xmm2
ror edx, 0xe
mov r8d, ebx
mov dword [rsp + 0x48], r9d
movq r11, xmm3
psrldq xmm2, 8
movups xmmword [rsp + 0x60], xmm1
xor edx, ebp
shr r11, 0x20
mov ecx, r11d
mov esi, r11d
psrldq xmm0, 8
movq rax, xmm2
shr rax, 0x20
add eax, 0x428a2f98
movd r10d, xmm0
ror edx, 5
xor r8d, r10d
movdqa xmm0, xmm3
xor edx, ebp
and r8d, ebp
psrldq xmm3, 8
psrldq xmm0, 8
movq r12, xmm0
xor r8d, r10d
shr r12, 0x20
add r8d, r9d
ror edx, 6
add r8d, edx
mov edx, edi
ror edx, 9
add r8d, eax
movd r9d, xmm3
xor edx, edi
xor ecx, r9d
and esi, r9d
and ecx, edi
ror edx, 0xb
add r12d, r8d
xor edx, edi
add ecx, r8d
ror edx, 2
add ecx, edx
add esi, ecx
mov ecx, dword [r13 + 4]
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
shl eax, 8
or edx, eax
mov dword [rsp + 0x4c], edx
mov eax, r12d
mov ecx, ebx
ror eax, 0xe
xor ecx, ebp
xor eax, r12d
and ecx, r12d
xor ecx, ebx
ror eax, 5
xor eax, r12d
ror eax, 6
add eax, edx
mov edx, esi
add ecx, eax
lea eax, [r10 + 0x71374491]
mov r10d, esi
add eax, ecx
ror edx, 9
mov ecx, r11d
lea r15d, [rax + r9]
xor edx, esi
xor ecx, edi
and ecx, esi
mov r9d, r11d
ror edx, 0xb
add ecx, eax
xor edx, esi
and r9d, edi
and r10d, edi
ror edx, 2
add ecx, edx
mov edx, r15d
add r9d, ecx
mov ecx, dword [r13 + 8]
mov r8d, ecx
mov eax, ecx
ror edx, 0xe
and r8d, 0xff0000
shr eax, 0x10
xor edx, r15d
or r8d, eax
mov eax, ecx
and ecx, 0xff00
ror edx, 5
shr r8d, 8
shl eax, 0x10
or eax, ecx
xor edx, r15d
mov ecx, esi
shl eax, 8
xor ecx, edi
or r8d, eax
and ecx, r9d
mov eax, r12d
ror edx, 6
mov dword [rsp + 0x40], r8d
add r8d, 0xb5c0fbcf
xor eax, ebp
add edx, ebx
and eax, r15d
xor eax, ebp
add eax, r8d
mov r8d, r9d
add edx, eax
add ecx, edx
ror r8d, 9
xor r8d, r9d
lea r14d, [rdx + r11]
ror r8d, 0xb
xor r8d, r9d
ror r8d, 2
add ecx, r8d
add r10d, ecx
mov ecx, dword [r13 + 0xc]
mov r8d, ecx
mov eax, ecx
shr eax, 0x10
and r8d, 0xff0000
or r8d, eax
mov eax, ecx
shr r8d, 8
shl eax, 0x10
and ecx, 0xff00
mov edx, r14d
or eax, ecx
ror edx, 0xe
mov ecx, r9d
shl eax, 8
xor ecx, esi
xor edx, r14d
or r8d, eax
and ecx, r10d
ror edx, 5
mov dword [rsp + 0x34], r8d
add r8d, 0xe9b5dba5
xor edx, r14d
mov eax, r15d
mov r11d, r9d
mov ebx, r10d
ror edx, 6
xor eax, r12d
and r11d, esi
and eax, r14d
add edx, ebp
and ebx, r9d
xor eax, r12d
add eax, r8d
mov r8d, r10d
add edx, eax
add ecx, edx
ror r8d, 9
xor r8d, r10d
lea ebp, [rdx + rdi]
ror r8d, 0xb
xor r8d, r10d
ror r8d, 2
add ecx, r8d
add r11d, ecx
mov ecx, dword [r13 + 0x10]
mov r8d, ecx
mov eax, ecx
mov edx, r11d
shr eax, 0x10
and r8d, 0xff0000
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r8d, 8
or eax, ecx
ror edx, 9
mov ecx, r14d
shl eax, 8
xor ecx, r15d
xor edx, r11d
or r8d, eax
and ecx, ebp
ror edx, 0xb
xor ecx, r15d
mov eax, ebp
xor edx, r11d
mov dword [rsp + 0x2c], r8d
ror eax, 0xe
xor eax, ebp
ror eax, 5
xor eax, ebp
ror eax, 6
add eax, r8d
add ecx, eax
ror edx, 2
lea eax, [r12 + 0x3956c25b]
add eax, ecx
mov ecx, r10d
xor ecx, r9d
lea r12d, [rax + rsi]
and ecx, r11d
add ecx, eax
add ecx, edx
add ebx, ecx
mov ecx, dword [r13 + 0x14]
mov r8d, ecx
and r8d, 0xff0000
mov eax, ecx
mov edx, ebx
shr eax, 0x10
ror edx, 9
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r8d, 8
xor edx, ebx
or eax, ecx
mov ecx, ebp
shl eax, 8
xor ecx, r14d
ror edx, 0xb
or r8d, eax
and ecx, r12d
xor edx, ebx
xor ecx, r14d
mov dword [rsp + 0x3c], r8d
mov eax, r12d
ror edx, 2
add ecx, 0x59f111f1
ror eax, 0xe
xor eax, r12d
ror eax, 5
xor eax, r12d
ror eax, 6
add eax, r8d
add eax, ecx
mov ecx, r11d
add eax, r15d
xor ecx, r10d
lea edi, [rax + r9]
and ecx, ebx
mov r9d, r11d
add ecx, eax
and r9d, r10d
add ecx, edx
mov edx, edi
add r9d, ecx
mov ecx, dword [r13 + 0x18]
ror edx, 0xe
mov r8d, ecx
mov eax, ecx
xor edx, edi
and r8d, 0xff0000
shr eax, 0x10
or r8d, eax
mov eax, ecx
and ecx, 0xff00
shr r8d, 8
shl eax, 0x10
ror edx, 5
or eax, ecx
xor edx, edi
mov ecx, ebx
shl eax, 8
xor ecx, r11d
or r8d, eax
ror edx, 6
and ecx, r9d
mov dword [rsp + 0x44], r8d
add r8d, 0x923f82a4
add edx, r14d
mov eax, r12d
xor eax, ebp
and eax, edi
xor eax, ebp
add eax, r8d
mov r8d, r9d
ror r8d, 9
add edx, eax
xor r8d, r9d
lea esi, [rdx + r10]
mov r10d, ebx
add ecx, edx
ror r8d, 0xb
xor r8d, r9d
ror r8d, 2
and r10d, r11d
add ecx, r8d
add r10d, ecx
mov ecx, dword [r13 + 0x1c]
mov edx, ecx
mov eax, ecx
mov r8d, r10d
shr eax, 0x10
and edx, 0xff0000
ror r8d, 9
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
xor r8d, r10d
or eax, ecx
mov ecx, esi
shl eax, 8
or edx, eax
ror r8d, 0xb
mov eax, edi
xor eax, r12d
ror ecx, 0xe
mov dword [rsp + 0x20], edx
and eax, esi
xor ecx, esi
xor r8d, r10d
xor eax, r12d
add eax, edx
ror ecx, 5
add eax, 0xab1c5ed5
xor ecx, esi
ror r8d, 2
ror ecx, 6
lea edx, [rcx + rbp]
mov ecx, r9d
add edx, eax
xor ecx, ebx
lea r14d, [rdx + r11]
and ecx, r10d
mov r11d, r9d
add ecx, edx
and r11d, ebx
mov edx, r14d
add ecx, r8d
add r11d, ecx
mov ecx, dword [r13 + 0x20]
mov ebp, ecx
ror edx, 0xe
mov eax, ecx
shr eax, 0x10
xor edx, r14d
and ebp, 0xff0000
or ebp, eax
mov eax, ecx
ror edx, 5
shl eax, 0x10
xor edx, r14d
and ecx, 0xff00
or eax, ecx
shr ebp, 8
mov r8d, r11d
ror edx, 6
shl eax, 8
mov ecx, r10d
ror r8d, 9
or ebp, eax
add edx, r12d
xor r8d, r11d
mov eax, esi
mov dword [rsp + 0x14], ebp
xor eax, edi
ror r8d, 0xb
and eax, r14d
xor r8d, r11d
xor eax, edi
add eax, 0xd807aa98
add eax, ebp
add edx, eax
add ebx, edx
ror r8d, 2
xor ecx, r9d
mov eax, r10d
mov r15d, r11d
and eax, r9d
and ecx, r11d
and r15d, r10d
add ecx, edx
add r8d, ecx
mov ecx, dword [r13 + 0x24]
add r8d, eax
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
mov ecx, r14d
shl eax, 8
xor ecx, esi
or edx, eax
and ecx, ebx
mov eax, ebx
ror eax, 0xe
xor ecx, esi
mov dword [rsp + 0x10], edx
xor eax, ebx
ror eax, 5
xor eax, ebx
ror eax, 6
add eax, edi
add ecx, eax
lea eax, [rdx + 0x12835b01]
mov edx, r8d
add eax, ecx
mov ecx, r11d
ror edx, 9
lea edi, [r9 + rax]
xor ecx, r10d
xor edx, r8d
and ecx, r8d
add ecx, eax
ror edx, 0xb
xor edx, r8d
ror edx, 2
add ecx, edx
add r15d, ecx
mov ecx, dword [r13 + 0x28]
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
mov ecx, ebx
shl eax, 8
xor ecx, r14d
or edx, eax
and ecx, edi
mov eax, edi
xor ecx, r14d
mov dword [rsp + 0x28], edx
ror eax, 0xe
xor eax, edi
ror eax, 5
xor eax, edi
ror eax, 6
add eax, esi
add ecx, eax
lea eax, [rdx + 0x243185be]
mov edx, r15d
add eax, ecx
add r10d, eax
ror edx, 9
xor edx, r15d
mov ecx, r8d
mov r12d, r8d
xor ecx, r11d
ror edx, 0xb
and r12d, r11d
and ecx, r15d
xor edx, r15d
add ecx, eax
ror edx, 2
add ecx, edx
add r12d, ecx
mov ecx, dword [r13 + 0x2c]
mov r9d, ecx
mov eax, ecx
shr eax, 0x10
and r9d, 0xff0000
or r9d, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr r9d, 8
or eax, ecx
mov ecx, ebx
shl eax, 8
xor ecx, edi
or r9d, eax
and ecx, r10d
mov eax, r10d
xor ecx, ebx
lea edx, [r9 + 0x550c7dc3]
mov dword [rsp + 0x1c], r9d
ror eax, 0xe
mov r9d, r8d
xor eax, r10d
and r9d, r15d
ror eax, 5
xor eax, r10d
ror eax, 6
add eax, r14d
add ecx, eax
mov eax, r8d
add edx, ecx
xor eax, r15d
mov ecx, r12d
and eax, r12d
add r11d, edx
add eax, edx
ror ecx, 9
xor ecx, r12d
ror ecx, 0xb
xor ecx, r12d
ror ecx, 2
add eax, ecx
mov ecx, dword [r13 + 0x30]
add r9d, eax
mov edx, ecx
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edx, 8
or eax, ecx
mov ecx, r10d
shl eax, 8
xor ecx, edi
or edx, eax
and ecx, r11d
mov eax, r11d
xor ecx, edi
mov dword [rsp + 0x24], edx
ror eax, 0xe
xor eax, r11d
ror eax, 5
xor eax, r11d
ror eax, 6
add eax, ebx
add ecx, eax
lea eax, [rdx + 0x72be5d74]
mov edx, r9d
mov esi, r12d
add eax, ecx
ror edx, 9
and esi, r15d
lea r14d, [r8 + rax]
xor edx, r9d
mov ecx, r12d
xor ecx, r15d
mov dword [rsp + 8], r14d
ror edx, 0xb
and ecx, r9d
xor edx, r9d
add ecx, eax
ror edx, 2
add ecx, edx
add esi, ecx
mov ecx, dword [r13 + 0x34]
mov edx, ecx
mov eax, ecx
mov r8d, esi
shr eax, 0x10
and edx, 0xff0000
mov dword [rsp + 0xc], esi
or edx, eax
ror r8d, 9
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
shr edx, 8
or eax, ecx
xor r8d, esi
mov ecx, r14d
shl eax, 8
or edx, eax
mov eax, r11d
ror ecx, 0xe
xor eax, r10d
xor ecx, r14d
ror r8d, 0xb
and eax, r14d
mov dword [rsp + 0x18], edx
ror ecx, 5
xor eax, r10d
xor ecx, r14d
xor r8d, esi
add eax, edx
add eax, 0x80deb1fe
ror ecx, 6
lea edx, [rdi + rcx]
mov ecx, r9d
ror r8d, 2
add edx, eax
xor ecx, r12d
mov eax, r9d
and eax, r12d
and ecx, esi
add r15d, edx
add ecx, edx
mov edx, r15d
add ecx, r8d
add eax, ecx
mov ecx, dword [r13 + 0x38]
mov dword [rsp + 0xd8], eax
mov ebx, ecx
mov eax, ecx
ror edx, 0xe
shr eax, 0x10
and ebx, 0xff0000
or ebx, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr ebx, 8
xor edx, r15d
or eax, ecx
shl eax, 8
or ebx, eax
mov dword [rsp + 0x30], ebx
ror edx, 5
xor edx, r15d
mov eax, r11d
mov ecx, esi
xor eax, r14d
xor ecx, r9d
ror edx, 6
and eax, r15d
add edx, r10d
mov r10d, dword [rsp + 0xd8]
xor eax, r11d
and ecx, r10d
mov r8d, r10d
add eax, 0x9bdc06a7
add eax, ebx
add edx, eax
mov eax, esi
ror r8d, 9
and eax, r9d
add ecx, edx
add r12d, edx
xor r8d, r10d
ror r8d, 0xb
xor r8d, r10d
ror r8d, 2
add r8d, ecx
mov ecx, dword [r13 + 0x3c]
mov r13d, dword [rsp + 0x4c]
add r8d, eax
mov edi, ecx
mov eax, ecx
shr eax, 0x10
and edi, 0xff0000
mov edx, r8d
or edi, eax
mov eax, ecx
and ecx, 0xff00
shl eax, 0x10
shr edi, 8
ror edx, 9
or eax, ecx
xor edx, r8d
mov ecx, r12d
shl eax, 8
mov dword [rsp], r8d
or edi, eax
ror ecx, 0xe
mov eax, r14d
xor eax, r15d
ror edx, 0xb
xor ecx, r12d
and eax, r12d
ror ecx, 5
xor edx, r8d
xor eax, r14d
mov r14d, dword [rsp + 0x48]
xor ecx, r12d
add eax, 0xc19bf174
mov dword [rsp + 0x38], edi
ror ecx, 6
add eax, edi
add ecx, r11d
ror edx, 2
mov r11d, dword [rsp + 0x24]
add ecx, eax
lea eax, [r9 + rcx]
mov r9d, dword [rsp + 0x28]
mov dword [rsp + 0xd0], eax
mov eax, r10d
xor eax, esi
and eax, r8d
add eax, ecx
mov ecx, r10d
mov r10d, dword [rsp + 0x1c]
and ecx, esi
add eax, edx
mov esi, 0x12
add ecx, eax
mov dword [rsp + 0xc8], esi
mov dword [rsp + 4], ecx
nop dword [rax]
mov r8d, dword [rsp + 8]
mov eax, ebx
mov ecx, r13d
shr eax, 0xa
ror ecx, 0xb
mov edx, ebx
xor ecx, r13d
ror edx, 2
xor edx, ebx
mov ebx, dword [rsp + 0x40]
ror ecx, 7
rol edx, 0xf
xor edx, eax
mov eax, r13d
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0x10]
add eax, edx
add ecx, eax
mov eax, r12d
add r14d, ecx
mov ecx, dword [rsp + 0xd0]
xor eax, r15d
and eax, ecx
mov edx, ecx
xor eax, r15d
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
lea ecx, [rsi - 2]
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov eax, dword [rsp + 4]
mov ecx, eax
add edx, r14d
add r8d, edx
mov edx, edi
add dword [rsp + 0xc], r8d
ror ecx, 9
xor ecx, eax
ror ecx, 0xb
xor ecx, eax
mov eax, dword [rsp]
ror edx, 2
xor eax, dword [rsp + 0xd8]
xor edx, edi
ror ecx, 2
and eax, dword [rsp + 4]
add ecx, eax
rol edx, 0xf
mov eax, dword [rsp]
and eax, dword [rsp + 0xd8]
add r8d, eax
mov eax, edi
add r8d, ecx
shr eax, 0xa
mov ecx, ebx
xor edx, eax
mov eax, ebx
shr eax, 3
ror ecx, 0xb
xor ecx, ebx
ror ecx, 7
xor ecx, eax
lea eax, [r9 + rdx]
add ecx, eax
mov eax, r12d
xor eax, dword [rsp + 0xd0]
add r13d, ecx
mov ecx, dword [rsp + 0xc]
mov edx, ecx
and eax, ecx
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
ror edx, 6
xor eax, r12d
mov edi, dword [rsp + 0x34]
mov r9d, dword [rsp + 4]
add edx, eax
lea rax, [0x1402483a0]
lea ecx, [rsi - 1]
add edx, dword [rax + rcx*4]
mov eax, dword [rsp]
mov ecx, r8d
ror ecx, 9
xor eax, r9d
and r9d, dword [rsp]
xor ecx, r8d
and eax, r8d
add edx, r13d
add r15d, edx
ror ecx, 0xb
mov edx, r14d
add dword [rsp + 0xd8], r15d
xor ecx, r8d
add r9d, r15d
mov r15d, dword [rsp + 0xc]
ror ecx, 2
add ecx, eax
mov eax, r14d
ror edx, 2
add r9d, ecx
shr eax, 0xa
xor edx, r14d
mov ecx, edi
ror ecx, 0xb
xor ecx, edi
ror ecx, 7
rol edx, 0xf
xor edx, eax
mov eax, edi
shr eax, 3
xor ecx, eax
lea eax, [r10 + rdx]
mov edx, dword [rsp + 0xd8]
mov r10d, dword [rsp + 4]
add ecx, eax
mov eax, r15d
xor eax, dword [rsp + 0xd0]
add ebx, ecx
mov ecx, edx
and eax, edx
and r10d, r8d
ror ecx, 0xe
xor eax, dword [rsp + 0xd0]
xor ecx, edx
mov dword [rsp + 0x40], ebx
ror ecx, 5
xor ecx, edx
lea rdx, [0x1402483a0]
ror ecx, 6
add ecx, eax
mov eax, esi
mov esi, dword [rsp + 0x2c]
add ecx, dword [rdx + rax*4]
mov eax, dword [rsp + 4]
mov edx, esi
ror edx, 0xb
add ecx, ebx
xor eax, r8d
add r12d, ecx
and eax, r9d
xor edx, esi
add dword [rsp], r12d
add r10d, r12d
mov ecx, r9d
ror ecx, 9
xor ecx, r9d
ror ecx, 0xb
xor ecx, r9d
ror ecx, 2
add ecx, eax
mov eax, esi
ror edx, 7
shr eax, 3
add r10d, ecx
xor edx, eax
mov r12d, dword [rsp + 0xc8]
mov ecx, r13d
mov eax, r13d
shr eax, 0xa
ror ecx, 2
xor ecx, r13d
rol ecx, 0xf
xor ecx, eax
lea eax, [r11 + rdx]
mov r11d, dword [rsp + 0xd0]
add ecx, eax
mov eax, dword [rsp + 0xd8]
xor eax, r15d
add edi, ecx
mov ecx, dword [rsp]
and eax, ecx
mov edx, ecx
mov dword [rsp + 0x34], edi
xor eax, r15d
mov r15d, dword [rsp + 0x3c]
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
lea ecx, [r12 + 1]
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov ecx, r10d
mov eax, r8d
xor eax, r9d
add edx, edi
add r11d, edx
and eax, r10d
mov edx, r15d
ror ecx, 9
add dword [rsp + 4], r11d
xor ecx, r10d
ror edx, 0xb
xor edx, r15d
ror ecx, 0xb
xor ecx, r10d
ror ecx, 2
add ecx, eax
mov eax, r8d
ror edx, 7
and eax, r9d
add r11d, eax
mov eax, r15d
shr eax, 3
add r11d, ecx
mov ecx, ebx
xor edx, eax
mov eax, ebx
shr eax, 0xa
ror ecx, 2
xor ecx, ebx
mov ebx, dword [rsp + 4]
rol ecx, 0xf
xor ecx, eax
mov eax, dword [rsp + 0x18]
add eax, edx
mov edx, ebx
add ecx, eax
mov eax, dword [rsp]
ror edx, 0xe
xor eax, dword [rsp + 0xd8]
xor edx, ebx
add esi, ecx
and eax, ebx
lea ecx, [r12 + 2]
mov dword [rsp + 0x2c], esi
ror edx, 5
xor eax, dword [rsp + 0xd8]
xor edx, ebx
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
add edx, esi
mov r12d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0xc]
mov ecx, r11d
ror ecx, 9
add ebx, edx
mov eax, r10d
xor ecx, r11d
xor eax, r9d
add r8d, ebx
and eax, r11d
ror ecx, 0xb
mov edx, r12d
xor ecx, r11d
ror edx, 0xb
xor edx, r12d
ror ecx, 2
add ecx, eax
mov eax, r10d
ror edx, 7
and eax, r9d
add ebx, eax
mov eax, r12d
add ebx, ecx
shr eax, 3
mov ecx, edi
xor edx, eax
mov eax, edi
shr eax, 0xa
ror ecx, 2
xor ecx, edi
mov edi, dword [rsp + 0xd8]
rol ecx, 0xf
xor ecx, eax
mov eax, dword [rsp + 0x30]
add eax, edx
mov edx, r8d
add ecx, eax
mov eax, dword [rsp]
ror edx, 0xe
xor eax, dword [rsp + 4]
add r15d, ecx
mov ecx, dword [rsp + 0xc8]
xor edx, r8d
add ecx, 3
and eax, r8d
xor eax, dword [rsp]
mov dword [rsp + 0x3c], r15d
ror edx, 5
xor edx, r8d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov ecx, ebx
mov eax, r10d
add edx, r15d
ror ecx, 9
xor eax, r11d
add edi, edx
xor ecx, ebx
and eax, ebx
add r9d, edi
ror ecx, 0xb
xor ecx, ebx
ror ecx, 2
add ecx, eax
mov eax, r10d
and eax, r11d
add edi, eax
mov eax, dword [rsp + 0x20]
add edi, ecx
mov edx, eax
mov ecx, esi
ror edx, 0xb
xor edx, eax
shr eax, 3
ror ecx, 2
xor ecx, esi
ror edx, 7
xor edx, eax
rol ecx, 0xf
mov eax, esi
mov esi, dword [rsp]
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x38]
add eax, edx
mov edx, r9d
add ecx, eax
mov eax, dword [rsp + 4]
ror edx, 0xe
xor edx, r9d
add r12d, ecx
mov ecx, dword [rsp + 0xc8]
xor eax, r8d
add ecx, 4
mov dword [rsp + 0x44], r12d
ror edx, 5
and eax, r9d
xor eax, dword [rsp + 4]
xor edx, r9d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov ecx, edi
mov eax, ebx
add edx, r12d
ror ecx, 9
xor eax, r11d
add esi, edx
xor ecx, edi
and eax, edi
add r10d, esi
mov edx, ebp
ror ecx, 0xb
xor ecx, edi
ror edx, 0xb
xor edx, ebp
ror ecx, 2
add ecx, eax
mov eax, ebx
ror edx, 7
and eax, r11d
add esi, eax
mov eax, ebp
mov ebp, dword [rsp + 4]
add esi, ecx
shr eax, 3
mov ecx, r15d
xor edx, eax
mov eax, r15d
shr eax, 0xa
ror ecx, 2
xor ecx, r15d
mov r15d, dword [rsp + 0x20]
rol ecx, 0xf
xor ecx, eax
lea eax, [r14 + rdx]
mov edx, r10d
add ecx, eax
mov eax, r8d
add r15d, ecx
ror edx, 0xe
mov ecx, dword [rsp + 0xc8]
xor edx, r10d
xor eax, r9d
add ecx, 5
and eax, r10d
mov dword [rsp + 0x20], r15d
ror edx, 5
xor edx, r10d
xor eax, r8d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov ecx, esi
add edx, r15d
add ebp, edx
add r11d, ebp
ror ecx, 9
xor ecx, esi
mov eax, edi
xor eax, ebx
ror ecx, 0xb
and eax, esi
xor ecx, esi
ror ecx, 2
add ecx, eax
mov eax, edi
and eax, ebx
add ebp, eax
mov eax, dword [rsp + 0x10]
mov edx, eax
add ebp, ecx
mov ecx, r12d
ror ecx, 2
xor ecx, r12d
ror edx, 0xb
xor edx, eax
shr eax, 3
rol ecx, 0xf
ror edx, 7
xor edx, eax
mov eax, r12d
mov r12d, dword [rsp + 0x14]
shr eax, 0xa
xor ecx, eax
lea eax, [rdx + r13]
mov edx, r11d
add ecx, eax
mov eax, r10d
xor eax, r9d
ror edx, 0xe
add r12d, ecx
mov ecx, dword [rsp + 0xc8]
and eax, r11d
xor edx, r11d
xor eax, r9d
add ecx, 6
ror edx, 5
xor edx, r11d
mov dword [rsp + 0x14], r12d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov ecx, ebp
mov eax, esi
xor eax, edi
ror ecx, 9
add edx, r12d
and eax, ebp
xor ecx, ebp
add r8d, edx
add ebx, r8d
ror ecx, 0xb
xor ecx, ebp
ror ecx, 2
add ecx, eax
mov eax, esi
and eax, edi
add eax, r8d
add eax, ecx
mov ecx, r15d
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x28]
mov edx, eax
ror edx, 0xb
xor edx, eax
shr eax, 3
ror ecx, 2
xor ecx, r15d
ror edx, 7
xor edx, eax
mov eax, r15d
rol ecx, 0xf
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x40]
add eax, edx
add ecx, eax
mov r8d, dword [rsp + 0x10]
mov eax, r10d
mov edx, ebx
add r8d, ecx
mov ecx, dword [rsp + 0xc8]
ror edx, 0xe
add ecx, 7
xor edx, ebx
xor eax, r11d
and eax, ebx
mov r15d, esi
mov dword [rsp + 0x10], r8d
ror edx, 5
xor eax, r10d
and r15d, ebp
xor edx, ebx
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov eax, esi
add edx, r8d
xor eax, ebp
add r9d, edx
mov edx, dword [rsp + 8]
and eax, edx
mov ecx, edx
add edi, r9d
add r15d, r9d
mov r9d, dword [rsp + 0x1c]
ror ecx, 9
xor ecx, edx
ror ecx, 0xb
xor ecx, edx
mov edx, r9d
ror ecx, 2
add ecx, eax
mov eax, r9d
ror edx, 0xb
add r15d, ecx
xor edx, r9d
mov r9d, dword [rsp + 0x28]
shr eax, 3
mov ecx, r12d
ror ecx, 2
xor ecx, r12d
ror edx, 7
xor edx, eax
mov eax, r12d
rol ecx, 0xf
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x34]
add eax, edx
mov edx, edi
add ecx, eax
ror edx, 0xe
mov eax, ebx
add r9d, ecx
mov ecx, dword [rsp + 0xc8]
xor edx, edi
add ecx, 8
xor eax, r11d
ror edx, 5
xor edx, edi
and eax, edi
mov dword [rsp + 0x28], r9d
xor eax, r11d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov ecx, r15d
add edx, r9d
add r10d, edx
ror ecx, 9
xor ecx, r15d
add esi, r10d
ror ecx, 0xb
xor ecx, r15d
ror ecx, 2
mov eax, ebp
mov r12d, ebp
xor eax, dword [rsp + 8]
and r12d, dword [rsp + 8]
and eax, r15d
add r12d, r10d
mov r10d, dword [rsp + 0x1c]
add ecx, eax
mov eax, dword [rsp + 0x24]
mov edx, eax
add r12d, ecx
ror edx, 0xb
xor edx, eax
shr eax, 3
ror edx, 7
xor edx, eax
mov eax, r8d
mov ecx, eax
ror ecx, 2
xor ecx, eax
shr eax, 0xa
rol ecx, 0xf
xor ecx, eax
mov eax, dword [rsp + 0x2c]
add eax, edx
mov edx, esi
add ecx, eax
mov eax, edi
ror edx, 0xe
add r10d, ecx
mov ecx, dword [rsp + 0xc8]
xor eax, ebx
and eax, esi
add ecx, 9
xor edx, esi
xor eax, ebx
mov dword [rsp + 0x1c], r10d
ror edx, 5
xor edx, esi
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov eax, dword [rsp + 8]
mov ecx, r12d
xor eax, r15d
ror ecx, 9
add edx, r10d
and eax, r12d
xor ecx, r12d
add r11d, edx
add ebp, r11d
ror ecx, 0xb
xor ecx, r12d
ror ecx, 2
add ecx, eax
mov eax, dword [rsp + 8]
and eax, r15d
add eax, r11d
mov r11d, dword [rsp + 0x24]
add eax, ecx
mov ecx, r9d
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0x18]
mov edx, eax
ror ecx, 2
xor ecx, r9d
ror edx, 0xb
xor edx, eax
shr eax, 3
rol ecx, 0xf
ror edx, 7
xor edx, eax
mov eax, r9d
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x3c]
add eax, edx
add ecx, eax
add r11d, ecx
mov dword [rsp + 0x24], r11d
mov ecx, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0x18]
mov eax, esi
xor eax, edi
add ecx, 0xa
mov edx, ebp
ror edx, 0xe
and eax, ebp
xor eax, edi
xor edx, ebp
ror edx, 5
xor edx, ebp
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov eax, dword [rsp + 8]
add edx, r11d
add ebx, edx
mov edx, dword [rsp + 0xd0]
add eax, ebx
mov ecx, edx
mov dword [rsp + 8], eax
mov dword [rsp + 0x6c], eax
mov eax, r12d
xor eax, r15d
and eax, edx
ror ecx, 9
xor ecx, edx
ror ecx, 0xb
xor ecx, edx
ror ecx, 2
add ecx, eax
mov eax, r12d
and eax, r15d
add eax, ebx
mov ebx, dword [rsp + 0x30]
add eax, ecx
mov ecx, r10d
mov edx, ebx
mov dword [rsp + 0xc], eax
mov dword [rsp + 0x5c], eax
ror edx, 0xb
xor edx, ebx
mov eax, ebx
ror ecx, 2
shr eax, 3
xor ecx, r10d
ror edx, 7
xor edx, eax
mov eax, r10d
rol ecx, 0xf
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x44]
add eax, edx
add ecx, eax
mov eax, esi
add r8d, ecx
mov ecx, dword [rsp + 8]
xor eax, ebp
and eax, ecx
mov edx, ecx
mov dword [rsp + 0x18], r8d
xor eax, esi
ror edx, 0xe
xor edx, ecx
ror edx, 5
xor edx, ecx
mov ecx, dword [rsp + 0xc8]
ror edx, 6
add ecx, 0xb
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
add edx, r8d
add edi, edx
mov edx, dword [rsp + 0xc]
mov ecx, edx
add r15d, edi
ror ecx, 9
xor ecx, edx
mov eax, r12d
xor eax, dword [rsp + 0xd0]
ror ecx, 0xb
and eax, edx
xor ecx, edx
ror ecx, 2
add ecx, eax
mov eax, r12d
and eax, dword [rsp + 0xd0]
add eax, edi
mov edi, dword [rsp + 0x38]
add eax, ecx
mov ecx, r11d
mov edx, edi
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0x58], eax
ror edx, 0xb
xor edx, edi
mov eax, edi
ror ecx, 2
shr eax, 3
xor ecx, r11d
ror edx, 7
xor edx, eax
mov eax, r11d
rol ecx, 0xf
shr eax, 0xa
xor ecx, eax
mov eax, dword [rsp + 0x20]
add eax, edx
mov edx, r15d
add ecx, eax
ror edx, 0xe
mov eax, ebp
xor eax, dword [rsp + 8]
add ebx, ecx
mov ecx, dword [rsp + 0xc8]
and eax, r15d
xor edx, r15d
add ecx, 0xc
xor eax, ebp
mov dword [rsp + 0x30], ebx
ror edx, 5
xor edx, r15d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov eax, dword [rsp + 0xd8]
mov ecx, eax
add edx, ebx
ror ecx, 9
add esi, edx
mov edx, r8d
xor ecx, eax
add r12d, esi
ror ecx, 0xb
xor ecx, eax
mov eax, dword [rsp + 0xc]
ror edx, 2
xor eax, dword [rsp + 0xd0]
xor edx, r8d
ror ecx, 2
and eax, dword [rsp + 0xd8]
add ecx, eax
rol edx, 0xf
mov eax, dword [rsp + 0xc]
and eax, dword [rsp + 0xd0]
add eax, esi
add eax, ecx
mov ecx, r14d
mov dword [rsp], eax
mov dword [rsp + 0x54], eax
mov eax, r8d
shr eax, 0xa
xor edx, eax
ror ecx, 0xb
mov eax, r14d
xor ecx, r14d
ror ecx, 7
mov esi, dword [rsp + 0xc8]
shr eax, 3
xor ecx, eax
mov eax, dword [rsp + 0x14]
add eax, edx
mov edx, r12d
add ecx, eax
mov eax, dword [rsp + 8]
ror edx, 0xe
xor eax, r15d
add edi, ecx
xor edx, r12d
and eax, r12d
lea ecx, [rsi + 0xd]
add esi, 0x10
xor eax, dword [rsp + 8]
mov dword [rsp + 0x38], edi
mov dword [rsp + 0xc8], esi
ror edx, 5
xor edx, r12d
ror edx, 6
add edx, eax
lea rax, [0x1402483a0]
add edx, dword [rax + rcx*4]
mov eax, dword [rsp + 0xd0]
add edx, edi
add ebp, edx
add eax, ebp
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0x60], eax
mov eax, dword [rsp]
mov ecx, eax
ror ecx, 9
xor ecx, eax
ror ecx, 0xb
xor ecx, eax
mov eax, dword [rsp + 0xd8]
xor eax, dword [rsp + 0xc]
and eax, dword [rsp]
ror ecx, 2
add ecx, eax
mov eax, dword [rsp + 0xd8]
and eax, dword [rsp + 0xc]
add eax, ebp
mov ebp, dword [rsp + 0x14]
add eax, ecx
mov dword [rsp + 4], eax
mov dword [rsp + 0x50], eax
lea eax, [rsi - 2]
cmp eax, 0x40
jb 0x1401be2e0
mov rax, qword [rsp + 0xc0]
movdqu xmm0, xmmword [rsp + 0x50]
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x64], r12d
movdqu xmm1, xmmword [rax]
paddd xmm1, xmm0
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmmword [rax], xmm1
movdqu xmm1, xmmword [rax + 0x10]
paddd xmm1, xmm0
movdqu xmmword [rax + 0x10], xmm1
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret