Function at 0x140089980
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, r13
mov qword [rsp + 0x10], r13
xchg rbx, r13
mov qword [rsp + 0x18], rbp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 0xdc98742
add rsp, 0xdc986e2
movsxd rax, dword [rcx + 0x3c]
xchg rsp, rsp
xchg r10, r14
mov r10, rdx
xchg r10, r14
xchg rsi, r8
mov r8, rsi
xchg r8, rsi
xchg rcx, rbx
mov rcx, rbx
xchg rcx, rbx
mov edx, dword [rax + rcx + 0x98]
xchg rsi, rsi
test edx, edx
je 0x140089a6a
cmp dword [rax + rcx + 0x9c], 0
mov dword [rsp - 0x3c], edi
je 0x140089a6a
call fcn.140084d60
xchg r9, rax
mov rdi, r9
xchg r9, rax
test rax, rax
xchg rcx, rcx
je 0x140089a6a
movzx r8d, word [rax + 0xe]
xor ebp, ebp
movzx ecx, word [rax + 0xc]
xchg r11, r11
mov edx, ebp
add r8d, ecx
je 0x140089a6a
mov dword [rsp - 0x3c], 0x68234e23
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
test eax, eax
js 0x140089a52
mov dword [rsp - 0x28], 0x5bf8ddb2
cmp ax, 0x10
je 0x140089a9c
inc edx
xchg r11, r11
neg rcx
add rcx, 0xfffffffffffffff8
neg rcx
cmp edx, r8d
jb 0x140089a36
xor al, al
mov rdx, rdx
lea r11, [rsp + 0x60]
xchg r15, rbx
mov r15, qword [r11 + 0x28]
xchg rbx, r15
xchg rcx, rbp
mov rcx, qword [r11 + 0x30]
xchg rbp, rcx
mov rsp, r11
mov rbx, rbx
pop r14
nop
add rsp, 8
mov rdi, qword [rsp - 8]
pop rsi
ret
mov edx, dword [rcx + 4]
mov dword [rsp - 0x44], 0x37c37b71
test edx, edx
jns 0x140089a6a
btr edx, 0x1f
mov rsp, rsp
add rdx, rdi
je 0x140089a6a
mov r8d, 0x4924fa52
add r8d, 0x252c5e60
sub r8d, 0x55f055fb
xor r8d, 0x3d64ad14
xor r8d, 0x2505afa2
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.140089f30
mov dword [rsp - 0x24], ecx
test rax, rax
je 0x140089a6a
mov r8d, 0xfea4d03
xor r8d, 0x11d0d35b
add r8d, 0x89dd8a7
xor r8d, 0x26d872f6
mov rdx, rax
xchg rdi, rbx
mov rcx, rbx
xchg rdi, rbx
call fcn.140089ed0
test rax, rax
mov dword [rsp - 0x34], 0x288eed13
je 0x140089a6a
mov edx, dword [rax]
xchg rbx, rsi
mov rcx, rsi
xchg rsi, rbx
call fcn.140084d60
mov dword [rsp - 0x24], ecx
mov r8, rax
test rax, rax
je 0x140089a6a
mov rdi, rdi
mov eax, 0x36c11766
sub eax, 0x21b9008e
add eax, 0x2460a6e2
add eax, 0xb996a5f
sub eax, 0x450227cd
mov dword [rsp + 0x20], 0x7a29fc45
sub dword [rsp + 0x20], 0x197700ba
xor dword [rsp + 0x20], 0x4ae415e4
xor dword [rsp + 0x20], 0x2a6ceedf
mov word [rsp + 0x3c], ax
mov rcx, rcx
mov dword [rsp + 0x24], 0x355d18d9
add dword [rsp + 0x24], 0x4652d4af
sub dword [rsp + 0x24], 0x63269913
sub dword [rsp + 0x24], 0x18255419
mov dword [rsp + 0x28], 0x41d086c2
add dword [rsp + 0x28], 0xb5ca695
xor dword [rsp + 0x28], 0x71477b41
xor dword [rsp + 0x28], 0x6879b67b
sub dword [rsp + 0x28], 0x53d8dfca
mov dword [rsp + 0x2c], 0x4c10f72d
add dword [rsp + 0x2c], 0x1b688fc4
xor dword [rsp + 0x2c], 0x192edf04
sub dword [rsp + 0x2c], 0x7ddc59a5
mov dword [rsp + 0x30], 0x4f30487a
sub dword [rsp + 0x30], 0x40e67f13
sub dword [rsp + 0x30], 0x4f0ce76
xor dword [rsp + 0x30], 0x97ffa58
mov dword [rsp + 0x34], 0x70b02c2e
xor dword [rsp + 0x34], 0x2130d834
sub dword [rsp + 0x34], 0x1f8d23a8
sub dword [rsp + 0x34], 0x3178d016
mov dword [rsp + 0x38], 0x2b500160
sub dword [rsp + 0x38], 0x29dd062f
xor dword [rsp + 0x38], 0x3ab5dcc3
sub dword [rsp + 0x38], 0x3b98274a
mov qword [rsp + 0x80], rbp
mov rax, qword [rsp + 0x80]
xchg rdi, rdi
nop dword [rax]
nop word [rax + rax]
xchg rdi, rcx
mov rdi, qword [rsp + 0x80]
xchg rcx, rdi
xchg rsi, rax
mov rsi, qword [rsp + 0x80]
xchg rsi, rax
and cl, 3
shl cl, 3
mov rbx, rbx
movzx edx, word [rsp + rax*2 + 0x20]
mov eax, 0x39ddb418
xor eax, 0x1818571a
sub eax, 0x21a4987
xor eax, 0x2da8f09d
shr eax, cl
movzx ecx, al
xchg r12, r12
mov rax, qword [rsp + 0x80]
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
mov dword [rsp - 0x3c], ecx
xchg r13, rax
mov r13, qword [rsp + 0x80]
xchg r13, rax
inc rax
mov dword [rsp - 0x10], ecx
xchg r12, rax
mov qword [rsp + 0x80], r12
xchg r12, rax
mov rax, qword [rsp + 0x80]
xchg rdx, rdx
cmp rax, 0xf
jb 0x140089c86
lea rax, [r8 + 6]
mov r15, r15
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
sub rdi, rax
mov dword [rsp - 0x1c], edx
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
mov dword [rsp - 0x30], 0x4d30f541
sub edx, ecx
jne 0x140089d62
nop
add rax, 0x35045824
sub rax, 0x35045822
test ecx, ecx
jne 0x140089d33
mov rsi, rsi
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0xcbfaa08
add ecx, 0x172742f6
xor ecx, 0x2f69aac
sub ecx, 0x21107643
rep stosb byte [rdi], al
test edx, edx
jne 0x140089a6a
xchg r11, r11
mov eax, dword [r8 + 0x28]
xor eax, 0x691058b1
cmp eax, 0x97ff5c0c
mov rsi, rsi
jne 0x140089a6a
cmp dword [r8 + 0x2c], 0x10000
jne 0x140089a6a
mov eax, dword [r8 + 0x30]
mov rsp, rsp
mov dword [r14], eax
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
xchg r10, r10
mov al, 0x22
add al, 0x33
sub al, 0x2a
sub al, 0x2a
jmp 0x140089a6f