Function at 0x1401abe00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
test ecx, ecx
je 0x1401abe8e
mov esi, r9d
mov rax, qword [0x1405d0ab8]
mov r15, rax
shr r15, 0x20
or r15d, eax
test edx, edx
je 0x1401abed9
mov ecx, esi
xor ecx, 0xc710d5a5
mov eax, dword [0x14056e31c]
add eax, r15d
add eax, esi
add eax, 0xffff9790
cdqe
add rax, qword [0x14056e338]
call qword [case.0x14012b313.0]
test al, 1
jne 0x1401ac01c
nop dword [rax]
movzx ecx, byte [0x14056f2f0]
mov edx, ecx
xor dl, 0x4b
mov eax, ecx
and al, 0x4b
add al, al
add al, dl
add cl, 0x5f
lock cmpxchg byte [0x14056de7f], cl
je 0x1401abf99
cmp al, 0x83
jne 0x1401abe60
jmp 0x1401ac01c
mov eax, 0x2683e712
add eax, dword [0x14056f2e0]
cmp edx, eax
jne 0x1401abf66
movzx eax, byte [0x14056dbc5]
movzx ecx, byte [0x14056f2f0]
add cl, 0xf
cmp al, cl
je 0x1401ac12a
mov cl, 0x36
nop dword [rax]
mov al, 0x4f
lock cmpxchg byte [0x14056dbc5], cl
je 0x1401ac09e
cmp al, 0x40
jne 0x1401abec0
jmp 0x1401ac12a
movzx eax, byte [0x14056dd6e]
cmp al, 0xa4
je 0x1401ac092
mov bl, 0x47
mov ebp, 0x9c1722b4
lea rdi, [rsp + 0x32]
nop word cs:[rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x14056dd6e], bl
sete r14b
sete dl
mov ecx, dword [0x14056f2e0]
add ecx, ebp
mov r9d, ecx
xor r9d, ecx
not r9d
and r9d, esi
xor r9d, ecx
mov ecx, dword [0x14056e318]
add ecx, esi
sub ecx, r15d
add ecx, 0xffff9790
movsxd r10, ecx
add r10, qword [0x14056e330]
mov ecx, eax
mov r8, rdi
mov rax, r10
call qword [case.0x14012b313.0]
test r14b, r14b
jne 0x1401ac028
cmp byte [rsp + 0x32], 0xa4
jne 0x1401abf00
jmp 0x1401ac092
movzx eax, byte [0x14056dd14]
cmp al, 0xc7
je 0x1401ac119
mov cl, 0x7d
nop word [rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x14056dd14], cl
je 0x1401ac0dc
cmp al, 0xc7
jne 0x1401abf80
jmp 0x1401ac119
xor edi, edi
lea r12, [0x14056de70]
mov ebp, esi
xor ebp, 0x7083ef3a
lea rbx, [rsp + 0x33]
lea r14, [rsp + 0x38]
nop word cs:[rax + rax]
lea rcx, [r12 + rdi]
mov eax, dword [0x14056e310]
add eax, r15d
add eax, esi
add eax, 0xffff9790
cdqe
add rax, qword [0x14056e328]
mov dword [rsp + 0x20], ebp
mov edx, edi
mov r8, rbx
mov r9, r14
call qword [case.0x14012b313.0]
mov rax, qword [rsp + 0x38]
movzx eax, byte [rax]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rsp + 0x33]
xor cl, al
mov byte [rdi + r12], cl
lea eax, [rdi + 1]
cmp eax, 0xe
jg 0x1401ac014
inc rdi
jmp 0x1401abfc0
mov al, 0x83
xchg byte [0x14056de7f], al
lea rax, [0x14056de70]
jmp 0x1401ac131
xor eax, eax
lea r14, [0x14056dd60]
lea r12, [0x14048f400]
mov edi, esi
xor edi, 0xbe3ac464
lea rbx, [rsp + 0x34]
nop word cs:[rax + rax]
movsxd rcx, eax
movzx eax, byte [rcx + r12]
xor byte [rcx + r14], al
mov eax, dword [0x14056e314]
or eax, r15d
add eax, esi
add eax, 0xffff9790
cdqe
add rax, qword [0x14056e320]
mov rdx, rbx
mov r8d, edi
call qword [case.0x14012b313.0]
mov eax, dword [rsp + 0x34]
cmp eax, 0xe
jl 0x1401ac050
mov al, 0xa4
xchg byte [0x14056dd6e], al
lea rax, [0x14056dd60]
jmp 0x1401ac131
xor eax, eax
lea rcx, [0x14056dbb0]
lea rdx, [0x14048f260]
nop
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x14
jg 0x1401ac122
inc rax
jmp 0x1401ac0b0
xor edx, edx
lea rax, [0x14056dd00]
lea rcx, [0x14048f3a0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x14056f2e0]
add edx, r8d
add edx, 0x2683e713
cmp edx, 0x14
jl 0x1401ac0f0
mov al, 0xc7
xchg byte [0x14056dd14], al
lea rax, [0x14056dd00]
jmp 0x1401ac131
mov al, 0x40
xchg byte [0x14056dbc5], al
lea rax, [0x14056dbb0]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret