Function at 0x180246e50
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov eax, 0x30
call fcn.1803146e0
sub rsp, rax
mov rbx, r8
call fcn.180247190
test eax, eax
jne 0x18024718a
mov eax, dword [rbx + 0x110]
mov ecx, dword [rbx]
mov edx, dword [rbx + 4]
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 0xc]
shl rax, 4
add rax, rbx
mov qword [rsp + 0x20], r15
lea r15, [rbx + 0x10]
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
mov dword [rax], ecx
mov dword [rax + 4], edx
mov dword [rax + 8], r8d
mov dword [rax + 0xc], r9d
sub rax, 0x10
cmp r15, rax
jae 0x1802470a6
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x28], r14
nop word [rax + rax]
mov edx, dword [r15]
mov r8d, edx
shl r8d, 0x18
mov ecx, edx
shr ecx, 8
or r8d, ecx
mov r14d, r8d
xor r14d, edx
mov edx, dword [r15 + 4]
mov ecx, edx
ror r14d, 0x10
shr ecx, 8
xor r14d, r8d
mov r8d, edx
shl r8d, 0x18
or r8d, ecx
mov r10d, r8d
xor r10d, edx
mov edx, dword [r15 + 8]
mov ecx, edx
ror r10d, 0x10
shr ecx, 8
xor r10d, r8d
mov r8d, edx
shl r8d, 0x18
or r8d, ecx
mov r9d, r8d
xor r9d, edx
mov edx, dword [r15 + 0xc]
mov ecx, edx
ror r9d, 0x10
shr ecx, 8
xor r9d, r8d
mov r8d, edx
xor r10d, r9d
shl r8d, 0x18
xor r14d, r10d
or r8d, ecx
mov ecx, r8d
xor ecx, edx
ror ecx, 0x10
xor ecx, r8d
mov ebp, ecx
xor ecx, r9d
xor ecx, r14d
xor ebp, r10d
xor r10d, ecx
mov edx, ecx
shl ecx, 0x10
shr edx, 0x10
or edx, ecx
mov ecx, r10d
and ecx, 0xffff00ff
shr r10d, 8
shl ecx, 8
and r10d, 0xff00ff
xor ecx, r10d
xor ecx, edx
xor r14d, ecx
bswap ebp
mov esi, ebp
xor ebp, ecx
xor esi, edx
mov edx, dword [rax]
xor esi, r14d
mov r8d, edx
shl r8d, 0x18
mov edi, esi
xor edi, ecx
mov ecx, edx
shr ecx, 8
or r8d, ecx
mov ebx, r8d
xor ebx, edx
mov edx, dword [rax + 4]
ror ebx, 0x10
mov ecx, edx
xor ebx, r8d
mov r8d, edx
shl r8d, 0x18
shr ecx, 8
or r8d, ecx
mov r11d, r8d
xor r11d, edx
mov edx, dword [rax + 8]
ror r11d, 0x10
mov ecx, edx
xor r11d, r8d
shr ecx, 8
mov r8d, edx
shl r8d, 0x18
or r8d, ecx
mov r9d, r8d
xor r9d, edx
mov edx, dword [rax + 0xc]
ror r9d, 0x10
mov ecx, edx
xor r9d, r8d
shr ecx, 8
xor r11d, r9d
mov r8d, edx
xor ebx, r11d
shl r8d, 0x18
or r8d, ecx
mov ecx, r8d
xor ecx, edx
ror ecx, 0x10
xor ecx, r8d
mov r10d, ecx
xor ecx, r9d
xor ecx, ebx
xor r10d, r11d
xor r11d, ecx
mov r8d, ecx
shl ecx, 0x10
mov r9d, r11d
and r9d, 0xffff00ff
shr r11d, 8
shl r9d, 8
and r11d, 0xff00ff
shr r8d, 0x10
xor r9d, r11d
or r8d, ecx
xor r9d, r8d
xor ebx, r9d
mov dword [r15], ebx
bswap r10d
mov edx, r10d
xor r10d, r9d
mov dword [r15 + 0xc], r10d
xor edx, r8d
xor edx, ebx
mov dword [r15 + 8], edx
mov ecx, edx
xor ecx, r9d
mov dword [r15 + 4], ecx
add r15, 0x10
mov dword [rax], r14d
mov dword [rax + 4], edi
mov dword [rax + 8], esi
mov dword [rax + 0xc], ebp
sub rax, 0x10
cmp r15, rax
jb 0x180246ed0
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov edx, dword [r15]
mov r8d, edx
shl r8d, 0x18
mov ecx, edx
shr ecx, 8
or r8d, ecx
mov ebx, r8d
xor ebx, edx
mov edx, dword [r15 + 4]
mov ecx, edx
ror ebx, 0x10
xor ebx, r8d
shr ecx, 8
mov r8d, edx
shl r8d, 0x18
or r8d, ecx
mov r11d, r8d
xor r11d, edx
mov edx, dword [r15 + 8]
ror r11d, 0x10
mov ecx, edx
xor r11d, r8d
shr ecx, 8
mov r8d, edx
shl r8d, 0x18
or r8d, ecx
mov r9d, r8d
xor r9d, edx
mov edx, dword [r15 + 0xc]
mov r15, qword [rsp + 0x20]
mov ecx, edx
shr ecx, 8
ror r9d, 0x10
xor r9d, r8d
mov r8d, edx
xor r11d, r9d
shl r8d, 0x18
or r8d, ecx
xor ebx, r11d
mov ecx, r8d
xor ecx, edx
ror ecx, 0x10
xor ecx, r8d
mov r10d, ecx
xor ecx, r9d
xor ecx, ebx
xor r10d, r11d
xor r11d, ecx
mov r8d, ecx
shl ecx, 0x10
mov r9d, r11d
and r9d, 0xffff00ff
shr r11d, 8
shl r9d, 8
and r11d, 0xff00ff
shr r8d, 0x10
xor r9d, r11d
or r8d, ecx
xor r9d, r8d
xor ebx, r9d
bswap r10d
mov edx, r10d
mov dword [rax], ebx
xor edx, r8d
xor r10d, r9d
xor edx, ebx
mov dword [rax + 0xc], r10d
mov ecx, edx
mov dword [rax + 8], edx
xor ecx, r9d
mov dword [rax + 4], ecx
xor eax, eax
add rsp, 0x30
pop rbx
ret