Function at 0x1800539a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
lea rcx, str._sa0
call fcn.18000cd40
movdqa xmm0, xmmword [0x1800bbf80]
movdqu xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x1800bc320]
movdqu xmmword [rbp - 0x20], xmm1
mov dword [rbp - 0x10], 0x766c6d14
mov dword [rbp - 0xc], 0x757302
xor r14d, r14d
mov ecx, r14d
movzx eax, byte [rbp - 0x30]
add al, cl
xor byte [rbp + rcx - 0x2f], al
inc rcx
cmp rcx, 0x26
jb 0x1800539f2
mov byte [rbp - 9], r14b
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], r14b
lea rax, [rbp - 0x2f]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x180053a27
lea rdx, [rbp - 0x2f]
lea rcx, [rbp - 0x50]
call fcn.18000b0f0
lea rdx, [rbp - 0x50]
call fcn.18000a540
call rax
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], r14w
jne 0x180053a50
mov r8, rbx
mov rdx, rax
lea rbx, [0x1800c8ff8]
mov rcx, rbx
call fcn.18000af70
cmp qword [0x1800c9010], 8
cmovae rbx, qword [0x1800c8ff8]
mov r8, qword [0x1800c9008]
mov rdx, rbx
lea rcx, [0x1800c8fd8]
call fcn.18000af70
mov rcx, qword [0x1800c9008]
call fcn.18002f460
mov ecx, 0x14
call fcn.18000ce90
mov dword [0x1800c8fb8], r14d
lea rax, [rbp - 0x30]
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8d, 7
lea rdx, str.update
lea rcx, [rbp - 0x30]
call fcn.18000af70
nop
mov rdi, qword [0x1800c8fe8]
lea rsi, [0x1800c8fd8]
cmp qword [0x1800c8ff0], 8
cmovae rsi, qword [0x1800c8fd8]
movabs r15, 0x7ffffffffffffffe
cmp rdi, 8
jae 0x180053b1e
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x50], xmm0
mov ebx, 7
jmp 0x180053b50
mov rbx, rdi
or rbx, 7
cmp rbx, r15
cmova rbx, r15
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x50]
call fcn.18000b930
mov qword [rbp - 0x50], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.180059790
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], rbx
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18000c5e0
test eax, eax
je 0x180053b8c
mov dword [0x1800c8fb8], 0xffffffff
mov eax, 1
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
lea rax, [rbp - 0x30]
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8d, 5
lea rdx, str.aooa
lea rcx, [rbp - 0x30]
call fcn.18000af70
nop
mov rsi, qword [0x1800c8fe8]
lea rdi, [0x1800c8fd8]
cmp qword [0x1800c8ff0], 8
cmovae rdi, qword [0x1800c8fd8]
cmp rsi, 8
jae 0x180053bee
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x50], xmm0
mov ebx, 7
jmp 0x180053c20
mov rbx, rsi
or rbx, 7
cmp rbx, r15
cmova rbx, r15
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x50]
call fcn.18000b930
mov qword [rbp - 0x50], rax
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.180059790
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rbx
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18000c5e0
test eax, eax
je 0x180053c48
mov dword [0x1800c8fb8], 1
jmp 0x180053b73
lea rax, [rbp - 0x30]
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8d, 5
lea rdx, str.init
lea rcx, [rbp - 0x30]
call fcn.18000af70
nop
mov rsi, qword [0x1800c8fe8]
lea rdi, [0x1800c8fd8]
cmp qword [0x1800c8ff0], 8
cmovae rdi, qword [0x1800c8fd8]
cmp rsi, 8
jae 0x180053caa
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x50], xmm0
mov ebx, 7
jmp 0x180053cdc
mov rbx, rsi
or rbx, 7
cmp rbx, r15
cmova rbx, r15
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x50]
call fcn.18000b930
mov qword [rbp - 0x50], rax
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.180059790
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rbx
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.18000c5e0
test eax, eax
je 0x180053d04
mov dword [0x1800c8fb8], 2
jmp 0x180053b73
lea rax, [rbp - 0x30]
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r14w
mov r8d, 4
lea rdx, str.run
lea rcx, [rbp - 0x30]
call fcn.18000af70
nop
lea rdx, [0x1800c8fd8]
lea rcx, [rbp - 0x50]
call fcn.180024c30
nop
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.18000c5e0
test eax, eax
je 0x180053d64
mov dword [0x1800c8fb8], 3
jmp 0x180053b73
cmp dword [0x1800c8fb8], 0
jne 0x180053b73
xor eax, eax
jmp 0x180053b78