Function at 0x140089a70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov r14, r14
push rsi
push rdi
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 0x7ded70a6
add rsp, 0x7ded7046
movsxd rax, dword [rcx + 0x3c]
mov dword [rsp - 0x1c], 0x7d032abc
xchg rdx, r15
mov r14, r15
xchg r15, rdx
xchg r8, rdx
mov rsi, rdx
xchg r8, rdx
xchg rcx, rbx
mov rcx, rbx
xchg rbx, rcx
mov edx, dword [rax + rcx + 0x98]
test edx, edx
je 0x140089b52
mov r10, r10
cmp dword [rax + rcx + 0x9c], 0
je 0x140089b52
call fcn.140084e40
mov dword [rsp - 0x14], ebp
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
test rax, rax
xchg rbp, rbp
je 0x140089b52
movzx r8d, word [rax + 0xe]
xor ebp, ebp
xchg rsp, rsp
movzx ecx, word [rax + 0xc]
mov edx, ebp
add r8d, ecx
mov dword [rsp - 0x28], 0x62680a23
je 0x140089b52
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
mov rsp, rsp
test eax, eax
js 0x140089b3a
cmp ax, 0x10
xchg r9, r9
je 0x140089b83
inc edx
neg rcx
add rcx, 0xfffffffffffffff8
neg rcx
cmp edx, r8d
mov r10, r10
jb 0x140089b20
xor al, al
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov dword [rsp - 0x2c], esi
mov rbp, qword [r11 + 0x30]
xchg rdx, r11
mov rsp, rdx
xchg r11, rdx
pop r14
mov dword [rsp - 0x18], 0x141e26dd
nop
mov rdi, qword [rsp]
add rsp, 8
pop rsi
ret
mov edx, dword [rcx + 4]
test edx, edx
mov dword [rsp - 0x44], edx
jns 0x140089b52
btr edx, 0x1f
add rdx, rdi
je 0x140089b52
mov dword [rsp - 0x44], 0x22715296
mov r8d, 0x43dc36ca
sub r8d, 0x330e658c
add r8d, 0x478b160b
xor r8d, 0x5858e748
mov rcx, rdi
call fcn.14008a040
mov dword [rsp - 0x14], 0x4d9180cf
test rax, rax
je 0x140089b52
mov r8d, 0x2647ef78
xor r8d, 0x1726516a
add r8d, 0x490094b9
sub r8d, 0x6f32d057
sub r8d, 0xb2f7e6b
xchg rbx, rax
mov rdx, rbx
xchg rbx, rax
xchg rcx, r13
mov r13, rdi
xchg r13, rcx
call fcn.140089fd0
mov dword [rsp - 0x38], ebx
test rax, rax
je 0x140089b52
mov edx, dword [rax]
mov dword [rsp - 0x30], 0x57f2b8c6
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.140084e40
mov rbp, rbp
xchg rcx, rax
mov r8, rcx
xchg rcx, rax
test rax, rax
xchg rdx, rdx
je 0x140089b52
mov eax, 0x68f44428
xor eax, 0x3c385a9d
sub eax, 0x3f575cec
add eax, 0x1f6e7356
sub eax, 0x34e33505
mov dword [rsp + 0x20], 0x49f7b94b
xor dword [rsp + 0x20], 0x41191d22
add dword [rsp + 0x20], 0x6be2fa78
sub dword [rsp + 0x20], 0x74c19e88
mov word [rsp + 0x3c], ax
mov rbp, rbp
mov dword [rsp + 0x24], 0x52fd9414
xor dword [rsp + 0x24], 0x2d3e0842
sub dword [rsp + 0x24], 0x10072719
sub dword [rsp + 0x24], 0x4c9a6bf8
xor dword [rsp + 0x24], 0x2359094f
mov dword [rsp + 0x28], 0x4e2edf8e
sub dword [rsp + 0x28], 0x35281ad8
add dword [rsp + 0x28], 0x2ac66556
xor dword [rsp + 0x28], 0x522ed49e
sub dword [rsp + 0x28], 0x11d2fe48
mov dword [rsp + 0x2c], 0x4eb55bb1
sub dword [rsp + 0x2c], 0x2609df5a
xor dword [rsp + 0x2c], 0xe374516
sub dword [rsp + 0x2c], 0x2638393b
mov dword [rsp + 0x30], 0x7725caa4
xor dword [rsp + 0x30], 0x67575d85
add dword [rsp + 0x30], 0xd78fa00
sub dword [rsp + 0x30], 0x1861ba9e
sub dword [rsp + 0x30], 0x57cd643
mov dword [rsp + 0x34], 0x3a946f02
add dword [rsp + 0x34], 0x3ef37888
sub dword [rsp + 0x34], 0x6d0be517
add dword [rsp + 0x34], 0x252e12fd
sub dword [rsp + 0x34], 0x31461566
mov dword [rsp + 0x38], 0x66b45590
xor dword [rsp + 0x38], 0x1b4ebc07
sub dword [rsp + 0x38], 0x9581d4b
xor dword [rsp + 0x38], 0x3a8699a
sub dword [rsp + 0x38], 0x7705a595
mov qword [rsp + 0x80], rbp
mov dword [rsp - 0x38], 0x1efce583
mov rax, qword [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
xchg rsi, rsi
xchg rcx, r8
mov r8, qword [rsp + 0x80]
xchg rcx, r8
mov rax, qword [rsp + 0x80]
xchg rcx, rcx
and cl, 3
shl cl, 2
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x20]
xchg rsi, rsi
mov eax, 0x756b087f
sub eax, 0x25f9a737
sub eax, 0x370ac4f
sub eax, 0x6931f4f
sub eax, 0x1818529b
shr eax, cl
mov rbp, rbp
movzx ecx, al
mov rax, qword [rsp + 0x80]
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
xchg r11, r11
xchg r10, rax
mov r10, qword [rsp + 0x80]
xchg r10, rax
inc rax
mov qword [rsp + 0x80], rax
xchg rbx, rbx
mov rax, qword [rsp + 0x80]
cmp rax, 0xf
jb 0x140089d9f
lea rax, [r8 + 6]
mov dword [rsp - 0x38], 0x5c37a192
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
nop word [rax + rax]
mov dword [rsp - 0x18], 0x3b3dd103
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
xchg rdi, rdi
jne 0x140089e7c
nop
sub rax, 0x32a5507c
add rax, 0x32a5507e
test ecx, ecx
jne 0x140089e52
xchg r9, r9
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0x6011f1d3
sub ecx, 0xd73e6d3
sub ecx, 0x348ebe7b
xor ecx, 0x1e0f4c8a
rep stosb byte [rdi], al
mov rbp, rbp
test edx, edx
jne 0x140089b52
mov eax, dword [r8 + 0x28]
mov rsp, rsp
xor eax, 0x396d0ebe
cmp eax, 0xc7820a03
jne 0x140089b52
cmp dword [r8 + 0x2c], 0x10000
xchg r15, r15
jne 0x140089b52
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
mov eax, dword [r8 + 0x34]
mov rbx, rbx
mov dword [rsi], eax
mov al, 0x58
xor al, 0xb
add al, 0xd
xor al, 0x69
sub al, 8
jmp 0x140089b54