Function at 0x140089d70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov rcx, rcx
mov qword [rsp + 0x18], rbp
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
mov dword [rsp - 0x10], ebx
push r14
neg rsp
sub rsp, 0xffffffffffffffa0
neg rsp
movsxd rax, dword [rcx + 0x3c]
mov r14, rdx
mov rdi, rdi
xchg r10, r8
mov rsi, r10
xchg r8, r10
xchg rbx, r8
mov r8, rcx
xchg rbx, r8
mov edx, dword [rax + rcx + 0x98]
mov dword [rsp - 0x44], 0x798a8e7a
test edx, edx
je 0x140089e4d
cmp dword [rax + rcx + 0x9c], 0
je 0x140089e4d
xchg rsi, rsi
call fcn.140085110
xchg rdx, rdi
mov rdx, rax
xchg rdi, rdx
test rax, rax
mov dword [rsp - 0x3c], 0x603db122
je 0x140089e4d
movzx r8d, word [rax + 0xe]
xor ebp, ebp
mov r13, r13
movzx ecx, word [rax + 0xc]
mov edx, ebp
add r8d, ecx
je 0x140089e4d
mov dword [rsp - 0x30], 0x4f92caf8
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
test eax, eax
xchg r14, r14
js 0x140089e36
cmp ax, 0x10
je 0x140089e8d
inc edx
mov dword [rsp - 0x34], 0x627354c1
add rcx, 8
cmp edx, r8d
jb 0x140089e1f
xor al, al
xchg r9, r9
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
xchg rbp, rsp
mov rsp, qword [r11 + 0x30]
xchg rsp, rbp
xchg r11, rsp
mov r11, rsp
xchg r11, rsp
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rsi, qword [rsp - 8]
ret
mov edx, dword [rcx + 4]
xchg r14, r14
test edx, edx
jns 0x140089e4d
btr edx, 0x1f
add rdx, rdi
mov dword [rsp - 0x38], 0x7512e15a
je 0x140089e4d
mov r8d, 0x13f7d1c6
xor r8d, 0x6273357b
xor r8d, 0x7e1e05d7
add r8d, 0x23319845
xor r8d, 0x32cc79ae
mov rcx, rdi
call fcn.14008a320
mov dword [rsp - 0x24], 0x5ed14de5
test rax, rax
je 0x140089e4d
mov r8d, 0x6d71bea
add r8d, 0x31154c1f
add r8d, 0x5efdb62
xor r8d, 0x50762db3
sub r8d, 0x6daa6acf
mov rdx, rax
xchg rdi, rbp
mov rcx, rbp
xchg rbp, rdi
call fcn.14008a2b0
test rax, rax
xchg rbp, rbp
je 0x140089e4d
mov edx, dword [rax]
xchg rcx, rdi
mov rdi, rbx
xchg rcx, rdi
call fcn.140085110
xchg r8, rsp
mov rsp, rax
xchg rsp, r8
test rax, rax
mov dword [rsp - 0x1c], 0x7013bcda
je 0x140089e4d
mov eax, 0x495295e9
add eax, 0x1ff609cd
sub eax, 0x5adaa9e1
add eax, 0x68245738
sub eax, 0x76924c65
mov dword [rsp + 0x20], 0x6dcc77c5
sub dword [rsp + 0x20], 0x590e8a81
add dword [rsp + 0x20], 0x4375893d
sub dword [rsp + 0x20], 0x18c5659f
sub dword [rsp + 0x20], 0x3f49102c
mov word [rsp + 0x3c], ax
mov dword [rsp + 0x24], 0x4ffdc220
add dword [rsp + 0x24], 0x160f9e0f
sub dword [rsp + 0x24], 0xa66be2a
xor dword [rsp + 0x24], 0x45820dff
xor dword [rsp + 0x24], 0x1e26af42
mov dword [rsp + 0x28], 0x622e7155
xor dword [rsp + 0x28], 0xb263bde
sub dword [rsp + 0x28], 0x2d0279c4
sub dword [rsp + 0x28], 0x3be1d022
mov dword [rsp + 0x2c], 0x2a72661b
xor dword [rsp + 0x2c], 0x3a3b6225
add dword [rsp + 0x2c], 0x168ccca8
xor dword [rsp + 0x2c], 0x26c8d052
mov dword [rsp + 0x30], 0x7f104aa6
xor dword [rsp + 0x30], 0x16491545
sub dword [rsp + 0x30], 0x56164f86
xor dword [rsp + 0x30], 0x68cc4010
sub dword [rsp + 0x30], 0x7b574f9e
mov dword [rsp + 0x34], 0x6d4117bf
sub dword [rsp + 0x34], 0x3291e762
add dword [rsp + 0x34], 0x25615e3d
sub dword [rsp + 0x34], 0x5ff38de2
mov dword [rsp + 0x38], 0x704945da
sub dword [rsp + 0x38], 0x51b633ad
xor dword [rsp + 0x38], 0x6d94bd41
xor dword [rsp + 0x38], 0x7337afc2
mov qword [rsp + 0x80], rbp
mov dword [rsp - 0xc], ebp
xchg rcx, rax
mov rcx, qword [rsp + 0x80]
xchg rcx, rax
nop dword [rax]
nop word [rax + rax]
mov dword [rsp - 0x20], 0x21746914
xchg rdx, rcx
mov rdx, qword [rsp + 0x80]
xchg rdx, rcx
mov rax, qword [rsp + 0x80]
mov rsp, rsp
and cl, 3
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x6576e0d5
xor eax, 0x2ba1a0f8
xor eax, 0x62d9066e
sub eax, 0x2ab7a5d9
add eax, 0x5390d676
shr eax, cl
movzx ecx, al
xchg r13, rax
mov r13, qword [rsp + 0x80]
xchg r13, rax
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
mov r15, r15
mov rax, qword [rsp + 0x80]
inc rax
xchg rsi, rax
mov qword [rsp + 0x80], rsi
xchg rsi, rax
mov rax, qword [rsp + 0x80]
xchg rsi, rsi
cmp rax, 0xf
jb 0x14008a098
lea rax, [r8 + 6]
xchg r9, r9
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
mov dword [rsp - 0x20], edi
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
sub edx, ecx
xchg rsi, rsi
jne 0x14008a15f
add rax, 2
test ecx, ecx
jne 0x14008a13e
mov r10, r10
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0x1b54bb8f
xor ecx, 0x761e51b2
sub ecx, 0x1bc17a0e
sub ecx, 0x51897020
rep stosb byte [rdi], al
mov dword [rsp - 0x20], edx
test edx, edx
jne 0x140089e4d
mov eax, dword [r8 + 0x28]
xor eax, 0x24fd0ef4
xchg r9, r9
cmp eax, 0xda120a49
jne 0x140089e4d
cmp dword [r8 + 0x2c], 0x10000
mov dword [rsp - 0x28], esi
jne 0x140089e4d
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
mov eax, dword [r8 + 0x34]
mov dword [rsp - 0x20], 0x5c961501
mov dword [rsi], eax
mov al, 0x2e
add al, 0x49
sub al, 0x22
xor al, 0x21
xor al, 0x75
jmp 0x140089e52