Function at 0x180098d10
Capabilities:
Encode data using xor

Disassembly:
push rbx
mov eax, 0x30
call fcn.18017e6d0
sub rsp, rax
mov rbx, r8
call fcn.180098080
test eax, eax
jne 0x180099043
mov ecx, dword [rbx]
mov edx, dword [rbx + 4]
mov r8d, dword [rbx + 8]
mov r9d, dword [rbx + 0xc]
mov qword [rsp + 0x28], r12
mov r12d, dword [rbx + 0x110]
shl r12, 4
mov qword [rsp + 0x20], r13
lea r13, [rbx + 0x10]
add r12, rbx
sub r12, 0x10
mov eax, dword [r12 + 0x10]
mov dword [rbx], eax
mov eax, dword [r12 + 0x14]
mov dword [rbx + 4], eax
mov eax, dword [r12 + 0x18]
mov dword [rbx + 8], eax
mov eax, dword [r12 + 0x1c]
mov dword [rbx + 0xc], eax
mov dword [r12 + 0x10], ecx
mov dword [r12 + 0x14], edx
mov dword [r12 + 0x18], r8d
mov dword [r12 + 0x1c], r9d
cmp r13, r12
jae 0x180098f63
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
nop word [rax + rax]
mov eax, dword [r13]
mov ecx, eax
ror ecx, 8
mov ebp, ecx
xor ebp, eax
mov eax, dword [r13 + 4]
rol ebp, 0x10
xor ebp, ecx
mov ecx, eax
ror ecx, 8
mov r8d, ecx
xor r8d, eax
mov eax, dword [r13 + 8]
rol r8d, 0x10
xor r8d, ecx
mov ecx, eax
ror ecx, 8
mov esi, ecx
xor esi, eax
mov eax, dword [r13 + 0xc]
rol esi, 0x10
xor esi, ecx
mov ecx, eax
ror ecx, 8
xor r8d, esi
mov edx, ecx
xor ebp, r8d
xor edx, eax
rol edx, 0x10
xor edx, ecx
xor esi, edx
xor edx, r8d
xor esi, ebp
mov edi, edx
mov eax, edx
shr eax, 0x10
xor r8d, esi
and edi, 0xff0000
xor edi, eax
rol esi, 0x10
mov eax, edx
and eax, 0xff00
shr edi, 8
shl edx, 0x10
xor eax, edx
mov ecx, r8d
shr ecx, 8
shl eax, 8
xor edi, eax
mov eax, r8d
shl r8d, 8
shl eax, 8
xor ecx, eax
mov eax, dword [r12]
and ecx, 0xff00ff
xor ecx, r8d
xor ecx, esi
xor esi, edi
xor ebp, ecx
xor edi, ecx
xor esi, ebp
mov ebx, esi
xor ebx, ecx
mov ecx, eax
ror ecx, 8
mov r11d, ecx
xor r11d, eax
mov eax, dword [r12 + 4]
rol r11d, 0x10
xor r11d, ecx
mov ecx, eax
ror ecx, 8
mov r10d, ecx
xor r10d, eax
mov eax, dword [r12 + 8]
rol r10d, 0x10
xor r10d, ecx
mov ecx, eax
ror ecx, 8
mov r9d, ecx
xor r9d, eax
mov eax, dword [r12 + 0xc]
rol r9d, 0x10
sub r12, 0x10
xor r9d, ecx
mov ecx, eax
add r13, 0x10
ror ecx, 8
xor r10d, r9d
mov edx, ecx
xor r11d, r10d
xor edx, eax
rol edx, 0x10
xor edx, ecx
xor r9d, edx
xor edx, r10d
xor r9d, r11d
mov r8d, edx
mov eax, edx
shr eax, 0x10
xor r10d, r9d
and r8d, 0xff0000
xor r8d, eax
rol r9d, 0x10
mov eax, edx
and eax, 0xff00
shr r8d, 8
shl edx, 0x10
xor eax, edx
mov ecx, r10d
shl eax, 8
shr ecx, 8
xor r8d, eax
mov eax, r10d
shl r10d, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, r10d
xor ecx, r9d
xor r9d, r8d
xor r11d, ecx
xor r8d, ecx
mov dword [r13 - 0x10], r11d
mov dword [r13 - 4], r8d
xor r9d, r11d
mov dword [r13 - 8], r9d
mov eax, r9d
xor eax, ecx
mov dword [r13 - 0xc], eax
mov dword [r12 + 0x10], ebp
mov dword [r12 + 0x14], ebx
mov dword [r12 + 0x18], esi
mov dword [r12 + 0x1c], edi
cmp r13, r12
jb 0x180098db0
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov eax, dword [r13]
mov ecx, eax
ror ecx, 8
mov r11d, ecx
xor r11d, eax
mov eax, dword [r13 + 4]
rol r11d, 0x10
xor r11d, ecx
mov ecx, eax
ror ecx, 8
mov r9d, ecx
xor r9d, eax
mov eax, dword [r13 + 8]
rol r9d, 0x10
xor r9d, ecx
mov ecx, eax
ror ecx, 8
mov r10d, ecx
xor r10d, eax
mov eax, dword [r13 + 0xc]
mov r13, qword [rsp + 0x20]
rol r10d, 0x10
xor r10d, ecx
mov ecx, eax
ror ecx, 8
xor r9d, r10d
mov edx, ecx
xor r11d, r9d
xor edx, eax
rol edx, 0x10
xor edx, ecx
xor r10d, edx
xor edx, r9d
xor r10d, r11d
mov r8d, edx
mov eax, edx
shr eax, 0x10
xor r9d, r10d
and r8d, 0xff0000
xor r8d, eax
rol r10d, 0x10
mov eax, edx
and eax, 0xff00
shr r8d, 8
shl edx, 0x10
xor eax, edx
mov ecx, r9d
shl eax, 8
shr ecx, 8
xor r8d, eax
mov eax, r9d
shl r9d, 8
shl eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, r9d
xor ecx, r10d
xor r10d, r8d
xor r11d, ecx
xor r8d, ecx
xor r10d, r11d
mov dword [r12], r11d
mov dword [r12 + 0xc], r8d
mov eax, r10d
mov dword [r12 + 8], r10d
xor eax, ecx
mov dword [r12 + 4], eax
mov r12, qword [rsp + 0x28]
xor eax, eax
add rsp, 0x30
pop rbx
ret