Function at 0x1400897e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg rdx, rbp
mov qword [rsp + 0x18], rdx
xchg rdx, rbp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rdi
push rdi
mov qword [rsp], r14
nop
add rsp, 0x7700222e
sub rsp, 0x7700228e
movsxd rax, dword [rcx + 0x3c]
xchg r11, rdx
mov r14, r11
xchg r11, rdx
xchg r8, r9
mov rsi, r9
xchg r8, r9
xchg rsi, rbx
mov rsi, rcx
xchg rbx, rsi
mov edx, dword [rax + rcx + 0x98]
xchg r10, r10
test edx, edx
je 0x1400898d4
cmp dword [rax + rcx + 0x9c], 0
je 0x1400898d4
mov dword [rsp - 0x40], ebx
call fcn.140084b80
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
test rax, rax
je 0x1400898d4
movzx r8d, word [rax + 0xe]
mov rdx, rdx
xor ebp, ebp
movzx ecx, word [rax + 0xc]
mov edx, ebp
mov r15, r15
add r8d, ecx
je 0x1400898d4
lea rcx, [rax + 0x10]
mov dword [rsp - 0x10], 0x28c3cef0
mov eax, dword [rcx]
test eax, eax
js 0x1400898af
mov dword [rsp - 0x44], ebp
cmp ax, 0x10
je 0x140089902
inc edx
mov r11, r11
nop
add rcx, 0x795a6c69
sub rcx, 0x795a6c61
cmp edx, r8d
jb 0x140089897
mov dword [rsp - 0x40], 0x4768efae
xor al, al
lea r11, [rsp + 0x60]
xchg r12, rbx
mov r12, qword [r11 + 0x28]
xchg rbx, r12
mov rbp, qword [r11 + 0x30]
xchg rsp, r14
mov r14, r11
xchg rsp, r14
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop rdi
pop rsi
mov rdi, rdi
ret
mov edx, dword [rcx + 4]
test edx, edx
mov r13, r13
jns 0x1400898d4
btr edx, 0x1f
add rdx, rdi
je 0x1400898d4
mov rbp, rbp
mov r8d, 0x7febca2b
sub r8d, 0x738881f1
sub r8d, 0x308b707
xor r8d, 0x603a6634
sub r8d, 0x6960f706
mov rcx, rdi
mov dword [rsp - 0x28], 0x4c767236
call fcn.140089dc0
test rax, rax
je 0x1400898d4
mov dword [rsp - 0x44], esp
mov r8d, 0x6b7f1c89
sub r8d, 0x1c284061
xor r8d, 0x2b78288a
sub r8d, 0x401758f0
sub r8d, 0x241797a9
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.140089d50
test rax, rax
xchg r9, r9
je 0x1400898d4
mov edx, dword [rax]
xchg rcx, rdx
mov rdx, rbx
xchg rdx, rcx
call fcn.140084b80
xchg rbx, r8
mov rbx, rax
xchg r8, rbx
test rax, rax
mov rdi, rdi
je 0x1400898d4
mov eax, 0x5e07f8a6
xor eax, 0x5ba8ee22
xor eax, 0x55a8fb79
sub eax, 0x4e6f0eec
xor eax, 0x198df3f
mov dword [rsp + 0x20], 0x4daceb68
xor dword [rsp + 0x20], 0xfaa6834
xor dword [rsp + 0x20], 0x7e05de50
xor dword [rsp + 0x20], 0x3c0e5daa
mov word [rsp + 0x3c], ax
xchg rbp, rbp
mov dword [rsp + 0x24], 0x5ca6ad24
xor dword [rsp + 0x24], 0x153e7ac6
add dword [rsp + 0x24], 0x14078c56
sub dword [rsp + 0x24], 0x470382ce
xor dword [rsp + 0x24], 0x1685e154
mov dword [rsp + 0x28], 0xbc791e1
add dword [rsp + 0x28], 0x5fc5898f
xor dword [rsp + 0x28], 0x99d4f20
xor dword [rsp + 0x28], 0x72b6fba1
sub dword [rsp + 0x28], 0x109aaf3c
mov dword [rsp + 0x2c], 0x1806b0a3
add dword [rsp + 0x2c], 0x11bea6e6
xor dword [rsp + 0x2c], 0x63f54e40
add dword [rsp + 0x2c], 0x175ec173
sub dword [rsp + 0x2c], 0x6188db0a
mov dword [rsp + 0x30], 0x4e6ee55b
add dword [rsp + 0x30], 0x171041a2
sub dword [rsp + 0x30], 0x2221bac4
sub dword [rsp + 0x30], 0x434d6b7a
mov dword [rsp + 0x34], 0x25bfcda0
add dword [rsp + 0x34], 0x57b00be3
sub dword [rsp + 0x34], 0x6a0ea884
xor dword [rsp + 0x34], 0x7c7305e6
sub dword [rsp + 0x34], 0x6f0c34db
mov dword [rsp + 0x38], 0x75d14d2f
xor dword [rsp + 0x38], 0x4a5edb54
xor dword [rsp + 0x38], 0xc4f1ebb
sub dword [rsp + 0x38], 0x33a88802
xchg rbx, rbp
mov qword [rsp + 0x80], rbx
xchg rbp, rbx
xchg r11, rax
mov r11, qword [rsp + 0x80]
xchg r11, rax
nop dword [rax]
mov r12, r12
nop word [rax + rax]
xchg rcx, r8
mov r8, qword [rsp + 0x80]
xchg rcx, r8
mov rax, qword [rsp + 0x80]
and cl, 3
shl cl, 3
mov dword [rsp - 0x18], edi
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x1336d66d
add eax, 0x24b7f338
sub eax, 0x1738ab87
add eax, 0x2eab40d2
shr eax, cl
movzx ecx, al
mov rsp, rsp
mov rax, qword [rsp + 0x80]
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
xchg rdi, rax
mov rdi, qword [rsp + 0x80]
xchg rdi, rax
inc rax
mov rcx, rcx
xchg rsi, rax
mov qword [rsp + 0x80], rsi
xchg rsi, rax
xchg rdi, rax
mov rdi, qword [rsp + 0x80]
xchg rdi, rax
cmp rax, 0xf
jb 0x140089b13
lea rax, [r8 + 6]
mov r13, r13
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
nop word [rax + rax]
mov r13, r13
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
mov dword [rsp - 0x3c], 0x67a681db
jne 0x140089be4
neg rax
add rax, 0xfffffffffffffffe
neg rax
test ecx, ecx
xchg r9, r9
jne 0x140089bb8
xor eax, eax
lea rdi, [rsp + 0x3e]
mov dword [rsp - 0x18], 0x3a11e7a4
mov ecx, 0x5c663748
sub ecx, 0x2c8373ab
sub ecx, 0x11b9c69f
xor ecx, 0x42b5d798
sub ecx, 0x5c9d2b57
rep stosb byte [rdi], al
test edx, edx
jne 0x1400898d4
mov dword [rsp - 0x2c], ebx
mov eax, dword [r8 + 0x28]
xor eax, 0x17dc431b
cmp eax, 0xe93347a6
jne 0x1400898d4
mov rbp, rbp
cmp dword [r8 + 0x2c], 0x10000
jne 0x1400898d4
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
xchg rbx, rbx
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov al, 0x3c
add al, 0x2c
sub al, 0x46
sub al, 0x21
jmp 0x1400898d6