Function at 0x1400083a0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov rbp, r8
movzx ebx, dx
mov rsi, rcx
xor edx, edx
mov r8d, 0x220
mov rcx, rbp
call fcn.14000a068
mov r11d, ebx
cmp ebx, 0x10
je 0x1400083fd
cmp ebx, 0x18
je 0x1400083f3
cmp ebx, 0x20
je 0x1400083e9
mov eax, 0xf0000002
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret
mov ebx, 8
lea edi, [rbx + 6]
jmp 0x140008405
mov ebx, 6
lea edi, [rbx + 6]
jmp 0x140008405
mov ebx, 4
lea edi, [rbx + 6]
mov qword [rsp + 0x60], r12
mov dword [rbp + 8], 4
mov dword [rbp], r11d
mov dword [rbp + 4], ebx
mov dword [rbp + 0xc], edi
test ebx, ebx
je 0x140008459
lea rcx, [rsp + 0x28]
lea rdx, [rsi + 2]
mov r8d, ebx
nop dword [rax + rax]
movzx eax, byte [rdx - 2]
inc rcx
add rdx, 4
sub r8, 1
mov byte [rcx - 9], al
movzx eax, byte [rdx - 5]
mov byte [rcx - 1], al
movzx eax, byte [rdx - 4]
mov byte [rcx + 7], al
movzx eax, byte [rdx - 3]
mov byte [rcx + 0xf], al
jne 0x140008430
xor r10d, r10d
test ebx, ebx
je 0x1400084ca
lea esi, [rdi*4 + 4]
lea r11, [rsp + 0x28]
nop dword [rax]
cmp r10d, esi
jae 0x1400084ca
mov eax, r10d
mov r8d, r10d
inc r10d
shr eax, 2
and r8d, 3
inc r11
lea r9d, [rax*4]
movzx eax, byte [r11 - 9]
lea edx, [r8 + r9*4]
mov byte [rdx + rbp + 0x10], al
movzx eax, byte [r11 - 1]
lea ecx, [rdx + 4]
mov byte [rcx + rbp + 0x10], al
movzx eax, byte [r11 + 7]
lea ecx, [r8 + r9*4 + 8]
mov byte [rcx + rbp + 0x10], al
movzx eax, byte [r11 + 0xf]
lea ecx, [r8 + r9*4 + 0xc]
mov byte [rcx + rbp + 0x10], al
cmp r10d, ebx
jb 0x140008470
lea esi, [rdi*4 + 4]
movsxd r12, ebx
cmp r10d, esi
jae 0x1400086be
mov qword [rsp + 0x68], r13
mov qword [rsp + 0x70], r14
lea r14, str.cw
lea r13, [0x140017ad0]
nop word [rax + rax]
movzx ecx, byte [rsp + r12 + 0x27]
movzx eax, byte [rsp + 0x20]
add r13, 4
xor al, byte [rcx + r14]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + r12 + 0x2f]
movzx eax, byte [rax + r14]
xor byte [rsp + 0x28], al
movzx eax, byte [rsp + r12 + 0x37]
movzx eax, byte [rax + r14]
xor byte [rsp + 0x30], al
movzx eax, byte [rsp + r12 + 0x1f]
movzx eax, byte [rax + r14]
xor byte [rsp + 0x38], al
movzx eax, byte [r13 - 4]
xor byte [rsp + 0x20], al
cmp ebx, 8
je 0x14000859a
cmp ebx, 1
jbe 0x140008645
lea rcx, [rsp + 0x21]
lea edx, [rbx - 1]
nop word [rax + rax]
movzx eax, byte [rcx - 1]
inc rcx
xor byte [rcx - 1], al
movzx eax, byte [rcx + 6]
xor byte [rcx + 7], al
movzx eax, byte [rcx + 0xe]
xor byte [rcx + 0xf], al
movzx eax, byte [rcx + 0x16]
xor byte [rcx + 0x17], al
sub rdx, 1
jne 0x140008570
jmp 0x140008645
lea rcx, [rsp + 0x21]
mov edx, 3
nop word [rax + rax]
movzx eax, byte [rcx - 1]
inc rcx
xor byte [rcx - 1], al
movzx eax, byte [rcx + 6]
xor byte [rcx + 7], al
movzx eax, byte [rcx + 0xe]
xor byte [rcx + 0xf], al
movzx eax, byte [rcx + 0x16]
xor byte [rcx + 0x17], al
sub rdx, 1
jne 0x1400085b0
movzx eax, byte [rsp + 0x23]
lea rcx, [rsp + 0x25]
mov edx, 3
movzx eax, byte [rax + r14]
xor byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x2b]
movzx eax, byte [rax + r14]
xor byte [rsp + 0x2c], al
movzx eax, byte [rsp + 0x33]
movzx eax, byte [rax + r14]
xor byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x3b]
movzx eax, byte [rax + r14]
xor byte [rsp + 0x3c], al
nop word [rax + rax]
movzx eax, byte [rcx - 1]
inc rcx
xor byte [rcx - 1], al
movzx eax, byte [rcx + 6]
xor byte [rcx + 7], al
movzx eax, byte [rcx + 0xe]
xor byte [rcx + 0xf], al
movzx eax, byte [rcx + 0x16]
xor byte [rcx + 0x17], al
sub rdx, 1
jne 0x140008620
xor edi, edi
test ebx, ebx
je 0x1400086ab
lea r11, [rsp + 0x28]
cmp r10d, esi
jae 0x1400086ab
mov eax, r10d
mov r8d, r10d
inc edi
shr eax, 2
and r8d, 3
inc r11
lea r9d, [rax*4]
movzx eax, byte [r11 - 9]
inc r10d
lea edx, [r8 + r9*4]
mov byte [rdx + rbp + 0x10], al
movzx eax, byte [r11 - 1]
lea ecx, [rdx + 4]
mov byte [rcx + rbp + 0x10], al
movzx eax, byte [r11 + 7]
lea ecx, [r8 + r9*4 + 8]
mov byte [rcx + rbp + 0x10], al
movzx eax, byte [r11 + 0xf]
lea ecx, [r8 + r9*4 + 0xc]
mov byte [rcx + rbp + 0x10], al
cmp edi, ebx
jb 0x140008650
cmp r10d, esi
jb 0x140008500
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
xor eax, eax
add rsp, 0x40
pop rdi
pop rsi
pop rbp
ret