Function at 0x140089830
Capabilities:
Encode data using xor

Disassembly:
xchg rsi, rbx
mov qword [rsp + 0x10], rsi
xchg rbx, rsi
xchg rbp, rdi
mov qword [rsp + 0x18], rdi
xchg rdi, rbp
push rsi
mov rdi, rdi
nop
sub rsp, 8
mov qword [rsp], rdi
push r14
neg rsp
sub rsp, 0xffffffffffffffa0
neg rsp
movsxd rax, dword [rcx + 0x3c]
mov dword [rsp - 0x20], 0x18f3a319
mov r14, rdx
mov rsi, r8
xchg rcx, r14
mov rbx, r14
xchg rcx, r14
mov edx, dword [rax + rcx + 0x98]
test edx, edx
mov dword [rsp - 0x20], ecx
je 0x14008990b
cmp dword [rax + rcx + 0x9c], 0
je 0x14008990b
call fcn.140084ce0
mov r10, r10
xchg rdi, rbx
mov rbx, rax
xchg rdi, rbx
test rax, rax
mov r13, r13
je 0x14008990b
movzx r8d, word [rax + 0xe]
xor ebp, ebp
xchg rcx, rcx
movzx ecx, word [rax + 0xc]
mov edx, ebp
add r8d, ecx
mov rdi, rdi
je 0x14008990b
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
test eax, eax
mov dword [rsp - 0x2c], 0x6b334e5
js 0x1400898f4
cmp ax, 0x10
je 0x140089945
inc edx
mov dword [rsp - 0x34], 0x62a27b67
sub rcx, 0xfffffffffffffff8
cmp edx, r8d
jb 0x1400898d8
xor al, al
xchg r8, r8
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
xchg r9, r9
xchg rbp, r11
mov rsp, rbp
xchg rbp, r11
nop
mov r14, qword [rsp]
add rsp, 8
pop rdi
mov dword [rsp - 0x34], 0x1ea0bc45
nop
mov rsi, qword [rsp]
add rsp, 8
ret
mov edx, dword [rcx + 4]
test edx, edx
jns 0x14008990b
xchg r9, r9
btr edx, 0x1f
add rdx, rdi
je 0x14008990b
mov r8d, 0x7ca518fa
xor r8d, 0x6ffc65c5
add r8d, 0x49ee6eb
add r8d, 0x5ace47ab
sub r8d, 0x72c6abd4
mov rcx, rdi
mov dword [rsp - 0x40], 0x215a49ce
call fcn.140089dc0
test rax, rax
je 0x14008990b
mov r8d, 0x64fdb72f
add r8d, 0x5ff7dc1
add r8d, 0x2d337d7
sub r8d, 0x6dd068be
mov rdx, rax
mov rcx, rdi
call fcn.140089d50
mov r11, r11
test rax, rax
je 0x14008990b
mov edx, dword [rax]
mov r11, r11
xchg r13, rbx
mov rcx, r13
xchg r13, rbx
call fcn.140084ce0
mov r14, r14
mov r8, rax
test rax, rax
je 0x14008990b
mov eax, 0x76f9a9d0
sub eax, 0x577c2c10
xor eax, 0x476531b
xor eax, 0x5443d0f3
sub eax, 0x4f48fd9e
mov dword [rsp + 0x20], 0x4ab87175
xor dword [rsp + 0x20], 0x1cc7f362
xor dword [rsp + 0x20], 0x6f955e2b
sub dword [rsp + 0x20], 0x398adb4d
mov word [rsp + 0x3c], ax
xchg rsp, rsp
mov dword [rsp + 0x24], 0xf4bf5c7
xor dword [rsp + 0x24], 0x7367c8cc
sub dword [rsp + 0x24], 0x5f818811
xor dword [rsp + 0x24], 0x1c9cb460
mov dword [rsp + 0x28], 0x6afc7da2
sub dword [rsp + 0x28], 0x52685bfe
add dword [rsp + 0x28], 0x1a117ef8
sub dword [rsp + 0x28], 0x32449fa0
mov dword [rsp + 0x2c], 0x61f74c0a
sub dword [rsp + 0x2c], 0x841765b
xor dword [rsp + 0x2c], 0x29ee2a13
sub dword [rsp + 0x2c], 0x7032ff26
mov dword [rsp + 0x30], 0x5252a8a6
sub dword [rsp + 0x30], 0x33cb3a07
sub dword [rsp + 0x30], 0x9335753
add dword [rsp + 0x30], 0xf02c8c2
sub dword [rsp + 0x30], 0x23d9df18
mov dword [rsp + 0x34], 0x79201eec
xor dword [rsp + 0x34], 0x20d358f4
xor dword [rsp + 0x34], 0x7357415d
sub dword [rsp + 0x34], 0x2a7b06ab
mov dword [rsp + 0x38], 0x51b39d5f
add dword [rsp + 0x38], 0xe4be384
sub dword [rsp + 0x38], 0x3c888
xor dword [rsp + 0x38], 0x5f8eb8ac
mov qword [rsp + 0x80], rbp
mov dword [rsp - 0x34], ebx
mov rax, qword [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x80]
xchg rdx, rdx
xchg r14, rax
mov r14, qword [rsp + 0x80]
xchg r14, rax
and cl, 3
mov dword [rsp - 0x1c], 0x32db2dff
shl cl, 2
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x7569dae
add eax, 0x54ebaf68
xor eax, 0x5a8ff260
xor eax, 0x66088ccf
shr eax, cl
movzx ecx, al
mov rax, qword [rsp + 0x80]
xchg rsi, rsi
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
xchg r11, rax
mov r11, qword [rsp + 0x80]
xchg r11, rax
inc rax
mov qword [rsp + 0x80], rax
mov r12, r12
mov rax, qword [rsp + 0x80]
cmp rax, 0xf
jb 0x140089b1a
xchg r14, r14
lea rax, [r8 + 6]
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
mov r11, r11
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
mov rdx, rdx
sub edx, ecx
jne 0x140089bed
nop
sub rax, 0x3718940d
add rax, 0x3718940f
test ecx, ecx
mov dword [rsp - 0x44], 0xc88f0f9
jne 0x140089bbe
xor eax, eax
lea rdi, [rsp + 0x3e]
mov dword [rsp - 0x28], 0x4a2f2a3
mov ecx, 0x70ebcbf2
xor ecx, 0x77940493
add ecx, 0x125c32b6
xor ecx, 0x3b0c979b
sub ecx, 0x22d0957d
rep stosb byte [rdi], al
mov r15, r15
test edx, edx
jne 0x14008990b
mov eax, dword [r8 + 0x28]
xor eax, 0x6a9d6a96
xchg r12, r12
cmp eax, 0x94726e2b
jne 0x14008990b
cmp dword [r8 + 0x2c], 0x10000
xchg rsi, rsi
jne 0x14008990b
mov eax, dword [r8 + 0x30]
mov dword [r14], eax
xchg r15, r15
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov al, 0x57
add al, 0x19
add al, 0xe
sub al, 0x38
sub al, 0x45
jmp 0x140089910