Function at 0x14002527b
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r10d, dword [rdx]
mov r9d, dword [rdx + 4]
mov eax, dword [rdx + 8]
mov r8d, dword [rdx + 0xc]
xor r11d, r11d
mov esi, dword [rcx + r11*4]
mov dword [rsp + r11*4], esi
inc r11
cmp r11, 0x10
jne 0x140025294
mov r11, 0xfffffffffffffffc
lea rcx, [0x1400324f0]
mov esi, r8d
xor esi, eax
and esi, r9d
xor esi, r8d
add esi, r10d
add esi, dword [rsp + r11*4 + 0x10]
add esi, dword [rcx + r11*4 + 0x10]
rol esi, 7
mov r10d, esi
add r10d, r9d
mov esi, eax
xor esi, r9d
and esi, r10d
add r8d, dword [rsp + r11*4 + 0x14]
add r8d, dword [rcx + r11*4 + 0x14]
xor esi, eax
add r8d, esi
rol r8d, 0xc
add r8d, r10d
mov esi, r10d
xor esi, r9d
and esi, r8d
add eax, dword [rsp + r11*4 + 0x18]
add eax, dword [rcx + r11*4 + 0x18]
xor esi, r9d
add eax, esi
rol eax, 0x11
add eax, r8d
mov esi, r8d
xor esi, r10d
and esi, eax
add r9d, dword [rsp + r11*4 + 0x1c]
add r9d, dword [rcx + r11*4 + 0x1c]
xor esi, r10d
add r9d, esi
rol r9d, 0x16
add r9d, eax
add r11, 4
cmp r11, 0xc
jb 0x1400252b3
mov esi, 0xc
lea r11, [0x1400325f0]
mov edi, eax
xor edi, r9d
and edi, r8d
xor edi, eax
add edi, r10d
movzx r10d, byte [rsi + r11 - 0xc]
add edi, dword [rsp + r10*4]
add edi, dword [rcx + rsi*4 + 0x10]
rol edi, 5
mov r10d, edi
add r10d, r9d
mov edi, r10d
xor edi, r9d
and edi, eax
movzx ebx, byte [rsi + r11 - 0xb]
add r8d, dword [rsp + rbx*4]
xor edi, r9d
add r8d, dword [rcx + rsi*4 + 0x14]
add r8d, edi
rol r8d, 9
add r8d, r10d
mov edi, r8d
xor edi, r10d
and edi, r9d
xor edi, r10d
movzx ebx, byte [rsi + r11 - 0xa]
add eax, dword [rsp + rbx*4]
add eax, dword [rcx + rsi*4 + 0x18]
add eax, edi
rol eax, 0xe
add eax, r8d
mov edi, eax
xor edi, r8d
and edi, r10d
movzx ebx, byte [rsi + r11 - 9]
add r9d, dword [rsp + rbx*4]
add r9d, dword [rcx + rsi*4 + 0x1c]
xor edi, r8d
add r9d, edi
rol r9d, 0x14
add r9d, eax
add rsi, 4
cmp rsi, 0x1c
jb 0x140025349
xor esi, esi
mov edi, eax
xor edi, r9d
mov ebx, edi
xor ebx, r8d
add ebx, r10d
movzx r10d, byte [rsi + r11 + 0x10]
add ebx, dword [rsp + r10*4]
add ebx, dword [rcx + rsi*4 + 0x80]
rol ebx, 4
mov r10d, ebx
add r10d, r9d
xor edi, r10d
movzx ebx, byte [rsi + r11 + 0x11]
add r8d, dword [rsp + rbx*4]
add r8d, dword [rcx + rsi*4 + 0x84]
add r8d, edi
rol r8d, 0xb
add r8d, r10d
mov edi, r10d
xor edi, r9d
xor edi, r8d
movzx ebx, byte [rsi + r11 + 0x12]
add eax, dword [rsp + rbx*4]
add eax, dword [rcx + rsi*4 + 0x88]
add eax, edi
rol eax, 0x10
add eax, r8d
mov edi, r8d
xor edi, r10d
xor edi, eax
movzx ebx, byte [rsi + r11 + 0x13]
add r9d, dword [rsp + rbx*4]
add r9d, dword [rcx + rsi*4 + 0x8c]
add r9d, edi
rol r9d, 0x17
add r9d, eax
lea rdi, [rsi + 4]
add rsi, 0x20
cmp rsi, 0x2c
mov rsi, rdi
jb 0x1400253e6
xor esi, esi
mov edi, r8d
not edi
or edi, r9d
xor edi, eax
add edi, r10d
movzx r10d, byte [rsi + r11 + 0x20]
add edi, dword [rsp + r10*4]
add edi, dword [rcx + rsi*4 + 0xc0]
rol edi, 6
mov ebp, eax
not ebp
movzx r10d, byte [rsi + r11 + 0x21]
add r8d, dword [rsp + r10*4]
add r8d, dword [rcx + rsi*4 + 0xc4]
movzx r10d, byte [rsi + r11 + 0x23]
mov ebx, dword [rsp + r10*4]
add ebx, r9d
mov r10d, edi
add r10d, r9d
or ebp, r10d
xor ebp, r9d
not r9d
movzx edi, byte [rsi + r11 + 0x22]
add eax, dword [rsp + rdi*4]
add eax, dword [rcx + rsi*4 + 0xc8]
add ebx, dword [rcx + rsi*4 + 0xcc]
add ebp, r8d
rol ebp, 0xa
mov r8d, ebp
add r8d, r10d
or r9d, r8d
xor r9d, r10d
add r9d, eax
rol r9d, 0xf
mov eax, r9d
add eax, r8d
mov r9d, r10d
not r9d
or r9d, eax
xor r9d, r8d
add r9d, ebx
rol r9d, 0x15
add r9d, eax
lea rdi, [rsi + 4]
add rsi, 0x30
cmp rsi, 0x3c
mov rsi, rdi
jb 0x140025488
movdqu xmm0, xmmword [rdx]
movd xmm1, r8d
movd xmm2, eax
punpckldq xmm2, xmm1
movd xmm1, r9d
movd xmm3, r10d
punpckldq xmm3, xmm1
punpcklqdq xmm3, xmm2
paddd xmm3, xmm0
movdqu xmmword [rdx], xmm3
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
ret