Function at 0x1401cee60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov esi, r9d
test ecx, ecx
je 0x1401cef30
mov eax, esi
xor eax, 0x66bebaf7
mov ecx, edx
mov edx, eax
mov r8d, 0x49ceac20
call fcn.1400712d0
test al, 1
je 0x1401cef88
movzx eax, byte [0x140508f07]
nop
cmp al, 0xee
je 0x1401cef24
movzx ecx, byte [0x140509090]
mov edx, ecx
xor dl, 0xc2
mov eax, ecx
and al, 0x42
add al, al
add al, dl
add cl, 0x88
lock cmpxchg byte [0x140508f07], cl
jne 0x1401ceea0
xor edx, edx
lea rax, [0x140508ee0]
lea rcx, [0x1404277f0]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
not r8d
mov r9d, r8d
and r9d, 1
mov r10d, edx
and r10d, 0xfffffffe
or r10d, r9d
xor edx, 1
and r8d, 0x7ffffffe
or r8d, edx
not r8d
lea edx, [r10 + r8*2]
cmp edx, 0x27
jl 0x1401ceee0
mov al, 0xee
xchg byte [0x140508f07], al
lea rax, [0x140508ee0]
jmp 0x1401cf1be
test edx, edx
je 0x1401cefea
movzx eax, byte [0x140508fa3]
cmp al, 0xdd
je 0x1401cf148
mov edi, esi
xor edi, 0x97252a02
mov ebp, 0x75dffce7
lea rbx, [rsp + 0x3c]
nop dword [rax]
mov r8d, dword [0x140509094]
add r8d, ebp
mov rcx, rbx
mov edx, edi
call fcn.1401cf490
test al, 1
jne 0x1401cf0a5
cmp byte [rsp + 0x3c], 0xdd
jne 0x1401cef60
jmp 0x1401cf148
movzx eax, byte [0x140508f92]
cmp al, 0x6b
je 0x1401cf099
mov edi, esi
xor edi, 0xce423dc3
lea rbx, [rsp + 0x40]
lea r14, [rsp + 0x3f]
xor esi, 0xd305a6d6
nop
mov rcx, rbx
mov rdx, r14
mov r8d, edi
mov r9d, 0x17ca5124
call fcn.1401cf470
cmp byte [rsp + 0x41], 0
jne 0x1401cf04c
movzx ecx, byte [rsp + 0x3f]
mov edx, esi
mov r8d, 0x6ca9ba64
call fcn.1401cf4d0
test al, 1
je 0x1401cefb0
jmp 0x1401cf099
movzx eax, byte [0x140508f50]
cmp al, 0x51
je 0x1401cf1b7
mov bl, 0x85
mov eax, esi
not eax
and eax, 0xfd614c55
mov edi, esi
xor edi, 0x29eb3aa
or edi, eax
not edi
or edi, eax
mov ebp, 0x6ac525be
nop word [rax + rax]
mov al, 3
lock cmpxchg byte [0x140508f50], bl
je 0x1401cf151
mov r8d, dword [0x140509094]
add r8d, ebp
mov ecx, eax
mov edx, edi
call fcn.1401cf450
test al, 1
je 0x1401cf020
jmp 0x1401cf1b7
xor edx, edx
lea rax, [0x140508f80]
lea rcx, [0x140427880]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rdx + rax]
xor r9b, r8b
mov byte [rdx + rax], r9b
mov r8d, dword [0x140509094]
add edx, r8d
add edx, 0x1440fe9c
cmp edx, 0x12
jl 0x1401cf060
mov al, 0x6b
xchg byte [0x140508f92], al
lea rax, [0x140508f80]
jmp 0x1401cf1be
xor edi, edi
lea r12, [0x140508fa0]
mov eax, esi
not eax
mov ecx, esi
and ecx, 0xf584967e
mov ebp, eax
and ebp, 0xa7b6981
or ebp, ecx
lea rbx, [rsp + 0x3d]
lea r14, [rsp + 0x48]
xor esi, 0xbd000de6
and eax, 0x42fff219
or esi, eax
not esi
or esi, eax
lea r15, [rsp + 0x3e]
nop word cs:[rax + rax]
lea rcx, [r12 + rdi]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], 0xc46a9c15
mov edx, edi
mov r8, rbx
mov r9, r14
call fcn.1401cf4f0
movzx edx, byte [rsp + 0x3d]
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x20], 0xef1be8da
mov r8, r15
mov r9d, esi
call fcn.1401caa60
movzx eax, byte [rsp + 0x3e]
mov byte [rdi + r12], al
lea eax, [rdi + 1]
cmp eax, 2
jg 0x1401cf140
inc rdi
jmp 0x1401cf0f0
mov al, 0xdd
xchg byte [0x140508fa3], al
lea rax, [0x140508fa0]
jmp 0x1401cf1be
xor eax, eax
lea rdi, [0x140508f40]
lea rbx, [0x140427850]
xor esi, 0x60b1ed6d
nop word [rax + rax]
movsxd r14, eax
lea rdx, [rdi + r14]
movzx ecx, byte [r14 + rdi]
movzx eax, byte [r14 + rbx]
mov r8d, ecx
xor r8b, al
and cl, al
add cl, cl
add cl, r8b
mov r8d, esi
mov r9d, 0x4703834b
call fcn.14012dec0
mov eax, r14d
xor eax, 1
and r14d, 1
lea eax, [rax + r14*2]
cmp eax, 0x10
jl 0x1401cf170
mov al, 0x51
xchg byte [0x140508f50], al
lea rax, [0x140508f40]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret