Function at 0x1400895c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg r11, rbp
mov qword [rsp + 0x18], r11
xchg rbp, r11
push rsi
mov rcx, rcx
nop
sub rsp, 8
mov qword [rsp], rdi
push r14
mov dword [rsp - 0x14], edi
nop
sub rsp, 0x58de23a1
add rsp, 0x58de2341
movsxd rax, dword [rcx + 0x3c]
xchg rbp, rbp
xchg rsp, r14
mov rsp, rdx
xchg r14, rsp
xchg rsi, r8
mov r8, rsi
xchg rsi, r8
xchg rcx, r15
mov rbx, r15
xchg rcx, r15
mov edx, dword [rax + rcx + 0x98]
test edx, edx
je 0x1400896a3
xchg rsp, rsp
cmp dword [rax + rcx + 0x9c], 0
je 0x1400896a3
call fcn.140084a10
xchg r12, rdi
mov r12, rax
xchg rdi, r12
test rax, rax
mov dword [rsp - 0x28], ecx
je 0x1400896a3
movzx r8d, word [rax + 0xe]
xor ebp, ebp
mov dword [rsp - 0x20], edi
movzx ecx, word [rax + 0xc]
mov edx, ebp
add r8d, ecx
mov rbp, rbp
je 0x1400896a3
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
test eax, eax
mov rcx, rcx
js 0x140089687
cmp ax, 0x10
je 0x1400896ce
inc edx
mov dword [rsp - 0x10], edx
neg rcx
add rcx, 0xfffffffffffffff8
neg rcx
cmp edx, r8d
mov r11, r11
jb 0x140089670
xor al, al
lea r11, [rsp + 0x60]
xchg rbx, rcx
mov rcx, qword [r11 + 0x28]
xchg rbx, rcx
mov rbp, qword [r11 + 0x30]
xchg rsp, rbp
mov rbp, r11
xchg rbp, rsp
pop r14
pop rdi
mov dword [rsp - 0x1c], 0x77fcb0dd
pop rsi
ret
mov edx, dword [rcx + 4]
test edx, edx
mov dword [rsp - 0x38], edx
jns 0x1400896a3
btr edx, 0x1f
add rdx, rdi
je 0x1400896a3
mov dword [rsp - 0x30], 0x1363e725
mov r8d, 0x2e55984d
add r8d, 0xc587a5f
xor r8d, 0x379305ae
xor r8d, 0xd3d1703
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.140089b80
test rax, rax
mov r12, r12
je 0x1400896a3
mov r8d, 0x3442164a
xor r8d, 0x58adf94e
xor r8d, 0x160d01f
sub r8d, 0x6d8f3b12
xchg rbx, rdx
mov rbx, rax
xchg rbx, rdx
xchg r10, rcx
mov r10, rdi
xchg r10, rcx
call fcn.140089b20
mov rsi, rsi
test rax, rax
je 0x1400896a3
mov edx, dword [rax]
xchg rdi, rdi
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.140084a10
mov r9, r9
mov r8, rax
test rax, rax
je 0x1400896a3
mov eax, 0xcc7777
add eax, 0x6b276da5
sub eax, 0x2cd5883f
xor eax, 0x538c26c5
sub eax, 0x6c927a04
mov dword [rsp + 0x20], 0x53406f11
sub dword [rsp + 0x20], 0x489e5ac3
add dword [rsp + 0x20], 0x684369c8
sub dword [rsp + 0x20], 0x72a17d65
mov word [rsp + 0x3c], ax
xchg r8, r8
mov dword [rsp + 0x24], 0x66bf0436
xor dword [rsp + 0x24], 0x2ea71e06
sub dword [rsp + 0x24], 0xba1907e
sub dword [rsp + 0x24], 0x3c7089ae
mov dword [rsp + 0x28], 0x10692801
sub dword [rsp + 0x28], 0x31a6514
add dword [rsp + 0x28], 0x6e0d83aa
sub dword [rsp + 0x28], 0x17309688
sub dword [rsp + 0x28], 0x63e6af6d
mov dword [rsp + 0x2c], 0x1803ae98
add dword [rsp + 0x2c], 0x54bf190c
sub dword [rsp + 0x2c], 0x5750828
sub dword [rsp + 0x2c], 0x6734bf74
mov dword [rsp + 0x30], 0x5fdebf14
xor dword [rsp + 0x30], 0x1876c605
sub dword [rsp + 0x30], 0x3e2254a8
xor dword [rsp + 0x30], 0x9df24c1
mov dword [rsp + 0x34], 0x2c9ec0e6
sub dword [rsp + 0x34], 0x177bb364
sub dword [rsp + 0x34], 0xc75658f
xor dword [rsp + 0x34], 0x5dfe00eb
sub dword [rsp + 0x34], 0x553aa714
mov dword [rsp + 0x38], 0x43e00366
sub dword [rsp + 0x38], 0x3b8b6c85
add dword [rsp + 0x38], 0x1fc5e6a5
add dword [rsp + 0x38], 0x4ae15077
sub dword [rsp + 0x38], 0x72aacd54
mov qword [rsp + 0x80], rbp
mov rax, qword [rsp + 0x80]
mov dword [rsp - 0x18], 0x1aa34b58
nop dword [rax]
nop word [rax + rax]
xchg rbx, rcx
mov rbx, qword [rsp + 0x80]
xchg rbx, rcx
xchg r14, rax
mov r14, qword [rsp + 0x80]
xchg r14, rax
and cl, 3
mov r13, r13
shl cl, 1
shl cl, 2
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x66393915
xor eax, 0x62e7d558
add eax, 0x84dafcf
xor eax, 0x1911a151
add eax, 0x3c1dda9a
shr eax, cl
movzx ecx, al
xchg rsi, rsi
xchg r13, rax
mov r13, qword [rsp + 0x80]
xchg r13, rax
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
mov rax, qword [rsp + 0x80]
xchg rsi, rsi
inc rax
mov qword [rsp + 0x80], rax
xchg rcx, rax
mov rcx, qword [rsp + 0x80]
xchg rcx, rax
cmp rax, 0xf
jb 0x1400898c6
mov dword [rsp - 0x14], 0x1b52e42
lea rax, [r8 + 6]
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
mov r10, r10
sub rdi, rax
nop word [rax + rax]
movzx edx, word [rax]
mov dword [rsp - 0x24], 0x6b835df1
movzx ecx, word [rax + rdi]
sub edx, ecx
jne 0x1400899b2
mov dword [rsp - 0x20], 0x243f8d82
nop
sub rax, 0x25524616
add rax, 0x25524618
test ecx, ecx
mov dword [rsp - 0x1c], 0x4f132876
jne 0x140089976
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0x7a77acc7
xor ecx, 0xf66ca00
sub ecx, 0x684ed1df
add ecx, 0x5635bd2a
sub ecx, 0x62f85203
rep stosb byte [rdi], al
mov dword [rsp - 0xc], 0x2777553e
test edx, edx
jne 0x1400896a3
mov eax, dword [r8 + 0x28]
xor eax, 0x528a073c
xchg rcx, rcx
cmp eax, 0xac650381
jne 0x1400896a3
cmp dword [r8 + 0x2c], 0x10000
mov dword [rsp - 0xc], edx
jne 0x1400896a3
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
mov dword [rsp - 0x40], ebx
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov al, 0x6c
add al, 0
sub al, 0x35
sub al, 0x36
jmp 0x1400896a5