Function at 0x14014df00
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov esi, r9d
test ecx, ecx
je 0x14014df69
mov eax, esi
xor eax, 0x581bde6
mov ecx, edx
mov edx, eax
mov r8d, 0x8ea72c32
call fcn.14014e6f0
test al, 1
je 0x14014dfd8
movzx eax, byte [0x140515505]
movzx ecx, byte [0x140515ac4]
add cl, 0xdf
cmp al, cl
je 0x14014e0a1
mov cl, 0x77
nop word [rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x140515505], cl
je 0x14014e049
cmp al, 0xb
jne 0x14014df50
jmp 0x14014e0a1
mov eax, 0xd2f6f5a1
add eax, dword [0x140515ac0]
cmp edx, eax
jne 0x14014e013
movzx eax, byte [0x14051570d]
cmp al, 0x2a
je 0x14014e1a3
mov bl, 0x93
mov eax, esi
not eax
and eax, 0x44e1e4d5
mov edi, esi
xor edi, 0xbb1e1b2a
or edi, eax
not edi
or edi, eax
nop word cs:[rax + rax]
mov al, 0x27
lock cmpxchg byte [0x14051570d], bl
je 0x14014e118
mov ecx, eax
mov edx, edi
mov r8d, 0x4812c9cd
call fcn.14014e710
test al, 1
je 0x14014dfb0
jmp 0x14014e1a3
movzx eax, byte [0x14051572d]
cmp al, 0xae
je 0x14014e10c
mov cl, 0x55
nop dword [rax]
mov al, 0x4a
lock cmpxchg byte [0x14051572d], cl
je 0x14014e0ad
movzx edx, byte [0x140515ac4]
add dl, 0x82
cmp al, dl
jne 0x14014dff0
jmp 0x14014e10c
movzx eax, byte [0x1405155b6]
cmp al, 0x34
je 0x14014e1f3
mov cl, 0x44
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x1405155b6], cl
je 0x14014e1ac
cmp al, 0x34
jne 0x14014e030
jmp 0x14014e1f3
xor eax, eax
lea rbx, [0x1405154f0]
lea r14, [0x14043c7e0]
xor esi, 0xecb44038
mov ebp, 0x4af97ea6
lea rdi, [rsp + 0x2c]
nop dword [rax]
movsxd rcx, eax
movzx eax, byte [rcx + r14]
xor byte [rcx + rbx], al
mov r9d, dword [0x140515ac0]
add r9d, ebp
mov rdx, rdi
mov r8d, esi
call fcn.14014e6e0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x15
jl 0x14014e070
mov al, 0xb
xchg byte [0x140515505], al
lea rax, [0x1405154f0]
jmp 0x14014e1fa
xor edi, edi
lea rbx, [0x140515720]
lea r14, [0x14043c9e0]
xor esi, 0x524a9e0e
nop word cs:[rax + rax]
movsxd rax, edi
movzx ecx, byte [rax + r14]
xor byte [rax + rbx], cl
mov ecx, dword [0x140515ac0]
lea edi, [rax + rcx]
add edi, 0xd2f6f5a2
mov ecx, edi
mov edx, esi
mov r8d, 0xee015744
call fcn.14014e6c0
test al, 1
je 0x14014e0d0
movzx eax, byte [0x140515ac4]
add al, 0x82
xchg byte [0x14051572d], al
lea rax, [0x140515720]
jmp 0x14014e1fa
xor edi, edi
lea rbx, [0x140515700]
lea r14, [0x14043c9c0]
nop dword [rax + rax]
movsxd rax, edi
movzx ecx, byte [rax + rbx]
movzx edx, byte [rax + r14]
not dl
mov r8d, edx
or r8b, cl
not r8b
and dl, cl
or dl, r8b
mov byte [rax + rbx], dl
mov edx, dword [0x140515ac0]
mov ecx, edx
xor ecx, 0xd2f6f5a2
mov r8d, edx
and r8d, 0x52f6f5a2
lea ecx, [rcx + r8*2]
add eax, 0xe6201c8f
mov r8d, eax
xor r8d, ecx
and eax, ecx
lea edi, [r8 + rax*2]
add edi, 0x19dfe371
add edx, 0xa30fe6f2
xor edx, esi
mov ecx, edi
mov r8d, 0x7da24074
call fcn.14014e6c0
test al, 1
je 0x14014e130
mov al, 0x2a
xchg byte [0x14051570d], al
lea rax, [0x140515700]
jmp 0x14014e1fa
xor edx, edx
lea rax, [0x1405155b0]
lea rcx, [0x14043c880]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
add edx, 0xd816981a
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
add edx, 0x27e967e6
cmp edx, 6
jl 0x14014e1c0
mov al, 0x34
xchg byte [0x1405155b6], al
lea rax, [0x1405155b0]
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret