Function at 0x1400088a6
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov word [rsp + 0x22], 0x8be6
movzx eax, word [rsp + 0x22]
xor eax, 0x6b
mov word [rsp + 0x24], ax
movzx eax, word [rsp + 0x22]
inc eax
xor eax, 0x65
mov word [rsp + 0x26], ax
movzx eax, word [rsp + 0x22]
add eax, 2
xor eax, 0x72
mov word [rsp + 0x28], ax
movzx eax, word [rsp + 0x22]
add eax, 3
xor eax, 0x6e
mov word [rsp + 0x2a], ax
movzx eax, word [rsp + 0x22]
add eax, 4
xor eax, 0x65
mov word [rsp + 0x2c], ax
movzx eax, word [rsp + 0x22]
add eax, 5
xor eax, 0x6c
mov word [rsp + 0x2e], ax
movzx eax, word [rsp + 0x22]
add eax, 6
xor eax, 0x33
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x22]
add eax, 7
xor eax, 0x32
mov word [rsp + 0x32], ax
movzx eax, word [rsp + 0x22]
add eax, 8
xor eax, 0x2e
mov word [rsp + 0x34], ax
movzx eax, word [rsp + 0x22]
add eax, 9
ror byte [rcx], 0x83
invalid
mov word fs:[rsp + 0x36], ax
movzx eax, word [rsp + 0x22]
add eax, 0xa
xor eax, 0x6c
mov word [rsp + 0x38], ax
movzx eax, word [rsp + 0x22]
add eax, 0xb
xor eax, 0x6c
mov word [rsp + 0x3a], ax
mov word [rsp + 0x3c], 0
mov ecx, 0x1a
call fcn.1400018f0
mov rsi, rax
xor eax, eax
movzx ecx, word [rsp + rax*2 + 0x24]
movzx edx, word [rsp + 0x22]
add edx, eax
xor dx, cx
mov word [rsi + rax*2], dx
inc rax
cmp rax, 0xc
jne 0x140008690
mov word [rsi + 0x18], 0
mov word [rsp + 0x44], 0x6e
mov word [rsp + 0x46], 0x68
mov word [rsp + 0x48], 0x75
mov word [rsp + 0x4a], 0x71
mov word [rsp + 0x4c], 0x68
mov word [rsp + 0x4e], 0x6f
mov word [rsp + 0x50], 0x36
mov word [rsp + 0x52], 0x35
mov word [rsp + 0x54], 0x31
mov word [rsp + 0x56], 0x67
mov word [rsp + 0x58], 0x6f
mov word [rsp + 0x5a], 0x6f
mov word [rsp + 0x5c], 0
mov ecx, 0x1a
call fcn.1400018f0
xor ecx, ecx
nop dword [rax]
movzx edx, word [rsp + rcx*2 + 0x44]
add edx, 0xfffffffd
mov word [rax + rcx*2], dx
inc rcx
cmp rcx, 0xc
jne 0x140008720
mov word [rax + 0x18], 0
mov byte [rsp + 0x40], 0x69
movzx ecx, byte [rsp + 0x40]
add cl, 0xf7
movzx ecx, cl
mov rcx, qword gs:[rcx]
mov rcx, qword [rcx + 0x18]
add rcx, 0x20
jmp 0x140008766
cmp r9w, r10w
je 0x1400087b3
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x50]
xor r8d, r8d
movzx r10d, word [rdx + r8]
lea r11d, [r10 - 0x41]
mov r9d, r10d
or r9d, 0x20
cmp r11w, 0x1a
cmovae r9d, r10d
movzx r11d, word [rax + r8]
lea edi, [r11 - 0x41]
mov r10d, r11d
or r10d, 0x20
cmp di, 0x1a
cmovae r10d, r11d
test r9w, r9w
je 0x140008760
add r8, 2
cmp r9w, r10w
je 0x140008770
jmp 0x140008760
mov rdx, qword [rcx + 0x20]
movsxd rcx, dword [rdx + 0x3c]
add rcx, rdx
mov r8d, 0x12337fde
call fcn.140004690
mov rcx, rsi
call rax
mov dword [rsp + 0x44], 0x2d481d46
mov dword [rsp + 0x40], 0x2d480ece
mov edi, dword [rsp + 0x40]
mov esi, dword [rsp + 0x44]
mov word [rsp + 0x22], 0x914d
movzx eax, word [rsp + 0x22]
xor eax, 0x6b
mov word [rsp + 0x24], ax
movzx eax, word [rsp + 0x22]
inc eax
xor eax, 0x65
mov word [rsp + 0x26], ax
movzx eax, word [rsp + 0x22]
add eax, 2
xor eax, 0x72
mov word [rsp + 0x28], ax
movzx eax, word [rsp + 0x22]
add eax, 3
xor eax, 0x6e
mov word [rsp + 0x2a], ax
movzx eax, word [rsp + 0x22]
add eax, 4
xor eax, 0x65
mov word [rsp + 0x2c], ax
movzx eax, word [rsp + 0x22]
add eax, 5
xor eax, 0x6c
mov word [rsp + 0x2e], ax
movzx eax, word [rsp + 0x22]
add eax, 6
xor eax, 0x33
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x22]
add eax, 7
xor eax, 0x32
mov word [rsp + 0x32], ax
movzx eax, word [rsp + 0x22]
add eax, 8
xor eax, 0x2e
mov word [rsp + 0x34], ax
movzx eax, word [rsp + 0x22]
add eax, 9
xor eax, 0x64
mov word [rsp + 0x36], ax
movzx eax, word [rsp + 0x22]
add eax, 0xa
xor eax, 0x6c
mov word [rsp + 0x38], ax
movzx eax, word [rsp + 0x22]
add eax, 0xb
xor eax, 0x6c
mov word [rsp + 0x3a], ax
mov word [rsp + 0x3c], 0
mov ecx, 0x1a
call fcn.1400018f0
xor ecx, ecx
nop dword [rax]
movzx edx, word [rsp + rcx*2 + 0x24]
movzx r8d, word [rsp + 0x22]
add r8d, ecx
xor r8w, dx
mov word [rax + rcx*2], r8w
inc rcx
cmp rcx, 0xc
jne 0x1400088c0
mov word [rax + 0x18], 0
mov byte [rsp + 0x3f], 0x69
movzx ecx, byte [rsp + 0x3f]
add cl, 0xf7
movzx ecx, cl
mov rcx, qword gs:[rcx]
mov rcx, qword [rcx + 0x18]
add rcx, 0x20
jmp 0x140008916
cmp r9w, r10w
je 0x140008963
mov rcx, qword [rcx]
mov rdx, qword [rcx + 0x50]
xor r8d, r8d
movzx r10d, word [rdx + r8]
lea r11d, [r10 - 0x41]
mov r9d, r10d
or r9d, 0x20
cmp r11w, 0x1a
cmovae r9d, r10d
movzx r11d, word [rax + r8]
lea ebx, [r11 - 0x41]
mov r10d, r11d
or r10d, 0x20
cmp bx, 0x1a
cmovae r10d, r11d
test r9w, r9w
je 0x140008910
add r8, 2
cmp r9w, r10w
je 0x140008920
jmp 0x140008910
xor esi, edi
mov rdx, qword [rcx + 0x20]
movsxd rcx, dword [rdx + 0x3c]
add rcx, rdx
mov r8d, 0x2ca0a50c
call fcn.140004690
mov ecx, esi
add rsp, 0x60
pop rbx
pop rdi
pop rsi
jmp rax