Function at 0x180019b40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x10
mov rax, qword [0x1800ac030]
xor rax, rsp
mov qword [rsp], rax
mov r13, rcx
test rdx, rdx
je 0x180019b71
mov rax, qword [rdx]
jmp 0x180019b73
xor eax, eax
mov r9, rax
mov r8d, eax
mov r14d, 4
shr r9, 0x20
shr r8d, 0x10
mov ecx, r9d
mov edx, r9d
and ecx, 0xffff0000
shl edx, 0x10
or r8d, ecx
movzx ecx, ax
or edx, ecx
mov ecx, dword [r13 + 0x20]
xor ecx, eax
mov dword [r13 + 0x64], ecx
mov ecx, dword [r13 + 0x24]
xor ecx, r8d
mov dword [r13 + 0x68], ecx
mov ecx, dword [r13 + 0x28]
xor ecx, r9d
mov dword [r13 + 0x6c], ecx
mov ecx, dword [r13 + 0x2c]
xor ecx, edx
mov dword [r13 + 0x70], ecx
mov ecx, dword [r13 + 0x30]
xor ecx, eax
mov eax, dword [r13 + 0x34]
mov dword [r13 + 0x74], ecx
xor eax, r8d
mov dword [r13 + 0x78], eax
mov eax, dword [r13 + 0x38]
xor eax, r9d
mov dword [r13 + 0x7c], eax
mov eax, dword [r13 + 0x3c]
xor eax, edx
mov dword [r13 + 0x80], eax
mov eax, dword [r13]
mov dword [r13 + 0x44], eax
mov eax, dword [r13 + 4]
mov dword [r13 + 0x48], eax
mov eax, dword [r13 + 8]
mov dword [r13 + 0x4c], eax
mov eax, dword [r13 + 0xc]
mov dword [r13 + 0x50], eax
mov eax, dword [r13 + 0x10]
mov dword [r13 + 0x54], eax
mov eax, dword [r13 + 0x14]
mov dword [r13 + 0x58], eax
mov eax, dword [r13 + 0x18]
mov dword [r13 + 0x5c], eax
mov eax, dword [r13 + 0x1c]
mov dword [r13 + 0x60], eax
mov eax, dword [r13 + 0x40]
mov dword [r13 + 0x84], eax
mov ecx, dword [r13 + 0x64]
mov edx, dword [r13 + 0x68]
mov r8d, dword [r13 + 0x6c]
mov r9d, dword [r13 + 0x70]
mov r10d, dword [r13 + 0x74]
mov r11d, dword [r13 + 0x78]
mov ebx, dword [r13 + 0x7c]
mov edi, dword [r13 + 0x80]
mov eax, dword [r13 + 0x84]
add eax, 0x4d34d34d
add dword [r13 + 0x64], eax
xor eax, eax
cmp dword [r13 + 0x64], ecx
setb al
sub eax, 0x2cb2cb2d
add dword [r13 + 0x68], eax
cmp dword [r13 + 0x68], edx
adc dword [r13 + 0x6c], 0x34d34d34
cmp dword [r13 + 0x6c], r8d
adc dword [r13 + 0x70], 0x4d34d34d
xor eax, eax
cmp dword [r13 + 0x70], r9d
setb al
sub eax, 0x2cb2cb2d
add dword [r13 + 0x74], eax
cmp dword [r13 + 0x74], r10d
adc dword [r13 + 0x78], 0x34d34d34
cmp dword [r13 + 0x78], r11d
adc dword [r13 + 0x7c], 0x4d34d34d
xor eax, eax
cmp dword [r13 + 0x7c], ebx
setb al
sub eax, 0x2cb2cb2d
add dword [r13 + 0x80], eax
xor eax, eax
cmp dword [r13 + 0x80], edi
setb al
mov dword [r13 + 0x84], eax
mov r8d, dword [r13 + 0x44]
add r8d, dword [r13 + 0x64]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov r12d, ecx
mov eax, edx
imul r8d, r8d
imul r12d, ecx
shr r12d, 0x11
imul eax, ecx
imul edx, edx
add r12d, eax
shr r12d, 0xf
add r12d, edx
xor r12d, r8d
mov r8d, dword [r13 + 0x68]
add r8d, dword [r13 + 0x48]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov ebp, ecx
mov eax, edx
imul r8d, r8d
imul ebp, ecx
shr ebp, 0x11
imul eax, ecx
imul edx, edx
add ebp, eax
shr ebp, 0xf
add ebp, edx
xor ebp, r8d
mov r8d, dword [r13 + 0x4c]
add r8d, dword [r13 + 0x6c]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov esi, ecx
mov eax, edx
imul esi, ecx
shr esi, 0x11
imul eax, ecx
add esi, eax
imul edx, edx
imul r8d, r8d
shr esi, 0xf
add esi, edx
xor esi, r8d
mov r8d, dword [r13 + 0x70]
add r8d, dword [r13 + 0x50]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov edi, ecx
mov eax, edx
imul r8d, r8d
imul edi, ecx
shr edi, 0x11
imul eax, ecx
imul edx, edx
add edi, eax
shr edi, 0xf
add edi, edx
xor edi, r8d
mov r8d, dword [r13 + 0x74]
add r8d, dword [r13 + 0x54]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov ebx, ecx
mov eax, edx
imul r8d, r8d
imul ebx, ecx
shr ebx, 0x11
imul eax, ecx
imul edx, edx
add ebx, eax
shr ebx, 0xf
add ebx, edx
xor ebx, r8d
mov r8d, dword [r13 + 0x78]
add r8d, dword [r13 + 0x58]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov r11d, ecx
mov eax, edx
imul r8d, r8d
imul r11d, ecx
shr r11d, 0x11
imul eax, ecx
imul edx, edx
add r11d, eax
shr r11d, 0xf
add r11d, edx
xor r11d, r8d
mov r8d, dword [r13 + 0x7c]
add r8d, dword [r13 + 0x5c]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov r10d, ecx
mov eax, edx
imul r8d, r8d
imul r10d, ecx
shr r10d, 0x11
imul eax, ecx
imul edx, edx
add r10d, eax
shr r10d, 0xf
add r10d, edx
xor r10d, r8d
mov r8d, dword [r13 + 0x80]
add r8d, dword [r13 + 0x60]
movzx ecx, r8w
mov edx, r8d
shr edx, 0x10
mov r9d, ecx
mov eax, edx
imul r9d, ecx
shr r9d, 0x11
imul eax, ecx
add r9d, eax
shr r9d, 0xf
imul edx, edx
imul r8d, r8d
mov eax, r10d
add r9d, edx
xor r9d, r8d
rol eax, 0x10
add eax, r12d
mov ecx, r9d
rol ecx, 0x10
add ecx, eax
mov eax, r12d
rol eax, 8
mov dword [r13 + 0x44], ecx
add eax, ebp
add eax, r9d
mov dword [r13 + 0x48], eax
mov eax, ebp
rol eax, 0x10
rol r12d, 0x10
add eax, esi
add r12d, eax
mov eax, esi
rol eax, 8
mov dword [r13 + 0x4c], r12d
add eax, edi
add eax, ebp
mov dword [r13 + 0x50], eax
mov eax, edi
rol eax, 0x10
rol esi, 0x10
add eax, ebx
add esi, eax
mov eax, ebx
rol eax, 8
mov dword [r13 + 0x54], esi
add eax, r11d
add eax, edi
mov dword [r13 + 0x58], eax
mov eax, r11d
rol eax, 0x10
rol ebx, 0x10
add eax, r10d
add ebx, eax
rol r10d, 8
add r10d, r11d
mov dword [r13 + 0x5c], ebx
add r10d, r9d
dec r14
mov dword [r13 + 0x60], r10d
jne 0x180019c40
mov rcx, qword [rsp]
xor rcx, rsp
call fcn.1800334b0
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x10
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret