Function at 0x140089960
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg r11, rbp
mov qword [rsp + 0x18], r11
xchg rbp, r11
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
sub rsp, 0x60
movsxd rax, dword [rcx + 0x3c]
mov r12, r12
xchg rdx, r11
mov r14, r11
xchg r11, rdx
mov rsi, r8
xchg r12, rcx
mov rbx, r12
xchg rcx, r12
mov edx, dword [rax + rcx + 0x98]
mov dword [rsp - 0x20], ebx
test edx, edx
je 0x140089a41
cmp dword [rax + rcx + 0x9c], 0
je 0x140089a41
xchg r12, r12
call fcn.140084d80
xchg rdx, rax
mov rdi, rdx
xchg rdx, rax
test rax, rax
je 0x140089a41
mov dword [rsp - 0x44], 0x2559b880
movzx r8d, word [rax + 0xe]
xor ebp, ebp
movzx ecx, word [rax + 0xc]
mov dword [rsp - 0x34], 0xcbeb607
mov edx, ebp
add r8d, ecx
je 0x140089a41
mov rsi, rsi
lea rcx, [rax + 0x10]
mov eax, dword [rcx]
test eax, eax
mov r9, r9
js 0x140089a2a
cmp ax, 0x10
je 0x140089a7e
inc edx
mov dword [rsp - 0x20], esi
add rcx, 8
cmp edx, r8d
jb 0x140089a13
mov dword [rsp - 0x30], ebp
xor al, al
lea r11, [rsp + 0x60]
xchg rbx, r10
mov r10, qword [r11 + 0x28]
xchg rbx, r10
mov rbp, qword [r11 + 0x30]
xchg r11, rsp
mov r11, rsp
xchg rsp, r11
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]
test edx, edx
jns 0x140089a41
mov dword [rsp - 0x1c], 0x94fbb45
btr edx, 0x1f
add rdx, rdi
je 0x140089a41
mov r8, r8
mov r8d, 0x137fc9b2
add r8d, 0x30fa5f91
xor r8d, 0x7c728132
sub r8d, 0xb0ab03e
xor r8d, 0x2cfdf832
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.140089f10
test rax, rax
je 0x140089a41
mov rsp, rsp
mov r8d, 0x3797ee9c
add r8d, 0x4226bc2d
sub r8d, 0x200d12bc
sub r8d, 0x59b19404
xchg rdi, rdx
mov rdi, rax
xchg rdx, rdi
xchg rdx, rdi
mov rcx, rdx
xchg rdx, rdi
call fcn.140089ea0
test rax, rax
mov dword [rsp - 0x10], esp
je 0x140089a41
mov edx, dword [rax]
xchg rcx, r9
mov r9, rbx
xchg rcx, r9
call fcn.140084d80
mov r8, rax
mov rdx, rdx
test rax, rax
je 0x140089a41
mov eax, 0x4e51e4b2
sub eax, 0x4cfa2db0
add eax, 0x7214f949
sub eax, 0x736cafc1
mov dword [rsp + 0x20], 0x34efd869
sub dword [rsp + 0x20], 0x34d3a8de
add dword [rsp + 0x20], 0x649fdd65
sub dword [rsp + 0x20], 0x2cfb9444
sub dword [rsp + 0x20], 0x37b477c7
mov word [rsp + 0x3c], ax
mov dword [rsp + 0x24], 0x795b6fa5
sub dword [rsp + 0x24], 0xabc8bd0
add dword [rsp + 0x24], 0x5b1fb61
sub dword [rsp + 0x24], 0x7401de9c
mov dword [rsp + 0x28], 0x15f429fa
sub dword [rsp + 0x28], 0x1bc7053
xor dword [rsp + 0x28], 0x5aa5d4ac
sub dword [rsp + 0x28], 0x4e856c15
mov dword [rsp + 0x2c], 0x4e9aeb4
add dword [rsp + 0x2c], 0x1e60c1a1
add dword [rsp + 0x2c], 0x22ab3358
xor dword [rsp + 0x2c], 0x45a5a33b
mov dword [rsp + 0x30], 0x52b2e5bb
sub dword [rsp + 0x30], 0x2e5c8090
sub dword [rsp + 0x30], 0x158e745a
add dword [rsp + 0x30], 0x382cb532
sub dword [rsp + 0x30], 0x46e3a507
mov dword [rsp + 0x34], 0x489122b9
sub dword [rsp + 0x34], 0x609070f
sub dword [rsp + 0x34], 0x272f1642
sub dword [rsp + 0x34], 0x1522ed28
sub dword [rsp + 0x34], 0x5e617a6
mov dword [rsp + 0x38], 0x62677585
xor dword [rsp + 0x38], 0x5342e861
add dword [rsp + 0x38], 0x2141cc5
sub dword [rsp + 0x38], 0x3320b9ac
mov qword [rsp + 0x80], rbp
xchg r15, r15
mov rax, qword [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rsp + 0x80]
mov dword [rsp - 0x38], ebp
xchg r11, rax
mov r11, qword [rsp + 0x80]
xchg r11, rax
and cl, 3
mov r12, r12
shl cl, 2
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x20]
xchg rbp, rbp
mov eax, 0x719ac988
sub eax, 0x39a96cc
sub eax, 0x6eb34d8
xor eax, 0x3b0be010
sub eax, 0x4259be41
shr eax, cl
xchg r13, r13
movzx ecx, al
xchg rbp, rax
mov rbp, qword [rsp + 0x80]
xchg rbp, rax
xor cx, dx
mov word [rsp + rax*2 + 0x3e], cx
xchg r8, rax
mov r8, qword [rsp + 0x80]
xchg r8, rax
inc rax
xchg rdi, rax
mov qword [rsp + 0x80], rdi
xchg rdi, rax
xchg r14, rax
mov r14, qword [rsp + 0x80]
xchg r14, rax
cmp rax, 0xf
jb 0x140089c6d
mov dword [rsp - 0x24], edx
lea rax, [r8 + 6]
mov word [rsp + 0x5c], bp
lea rdi, [rsp + 0x3e]
mov dword [rsp - 0x28], edi
sub rdi, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + rdi]
mov rsp, rsp
sub edx, ecx
jne 0x140089d4a
nop
add rax, 0x6f785394
sub rax, 0x6f785392
test ecx, ecx
jne 0x140089d20
mov r11, r11
xor eax, eax
lea rdi, [rsp + 0x3e]
mov ecx, 0x1ac9c1bf
xor ecx, 0x62fcaf28
sub ecx, 0x231aa83
sub ecx, 0x14e4fc4c
sub ecx, 0x611ec7b9
rep stosb byte [rdi], al
test edx, edx
jne 0x140089a41
mov rbx, rbx
mov eax, dword [r8 + 0x28]
xor eax, 0x39a0640c
cmp eax, 0xc74f60b1
jne 0x140089a41
mov dword [rsp - 0x10], ebx
cmp dword [r8 + 0x2c], 0x10000
jne 0x140089a41
mov eax, dword [r8 + 0x30]
xchg r12, r12
mov dword [r14], eax
mov eax, dword [r8 + 0x34]
mov dword [rsi], eax
mov rdi, rdi
mov al, 0x3d
sub al, 0x16
add al, 0x2f
sub al, 0x55
jmp 0x140089a43