Function at 0x1400fe4f0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov esi, r9d
test ecx, ecx
je 0x1400fe56d
mov eax, 0x2ea84cd
add eax, dword [0x1404f3710]
cmp edx, eax
jne 0x1400fe5a9
movzx eax, byte [0x1404e8302]
cmp al, 0xc
je 0x1400fe6aa
mov edi, esi
xor edi, 0x3d74b037
lea rbx, [rsp + 0x37]
mov eax, dword [0x1404e84d0]
mov ecx, esi
sub ecx, dword [0x1404f3710]
add eax, ecx
add eax, 0xfd1664df
cdqe
add rax, qword [0x1404e84f8]
mov rcx, rbx
mov edx, edi
call qword [case.0x140119ecb.0]
test al, 1
jne 0x1400fe619
cmp byte [rsp + 0x37], 0xc
jne 0x1400fe530
jmp 0x1400fe6aa
test edx, edx
je 0x1400fe5e3
movzx eax, byte [0x1404e8341]
cmp al, 0x27
je 0x1400fe77a
mov cl, 0x6a
nop word cs:[rax + rax]
mov al, 0x78
lock cmpxchg byte [0x1404e8341], cl
je 0x1400fe70d
cmp al, 0x27
jne 0x1400fe590
jmp 0x1400fe77a
movzx eax, byte [0x1404e8386]
cmp al, 0x21
je 0x1400fe701
mov cl, 0x75
nop word [rax + rax]
mov al, 0xbf
lock cmpxchg byte [0x1404e8386], cl
je 0x1400fe6b6
movzx edx, byte [0x1404f3720]
add dl, 0x29
cmp al, dl
jne 0x1400fe5c0
jmp 0x1400fe701
movzx eax, byte [0x1404e83d6]
cmp al, 0xb9
je 0x1400fe7c0
mov cl, 0x9c
nop word cs:[rax + rax]
mov al, 0x78
lock cmpxchg byte [0x1404e83d6], cl
je 0x1400fe783
cmp al, 0xb9
jne 0x1400fe600
jmp 0x1400fe7c0
xor ecx, ecx
lea rbx, [0x1404e82f0]
lea r14, [0x140422900]
mov ebp, esi
xor ebp, 0x21380b28
lea rdi, [rsp + 0x3c]
nop word cs:[rax + rax]
movsxd rcx, ecx
movzx eax, byte [rcx + r14]
mov edx, eax
xor dl, al
not dl
and dl, byte [rcx + rbx]
xor dl, al
mov eax, dword [0x1404e84d4]
add eax, esi
add eax, 0xe9ac
cdqe
add rax, qword [0x1404e84e0]
mov dword [rsp + 0x20], ebp
mov r8d, ecx
mov r9, rdi
call qword [case.0x140119ecb.0]
mov ecx, dword [rsp + 0x3c]
test al, 1
je 0x1400fe640
mov ecx, 0x9653e497
add ecx, dword [0x1404f3710]
xor ecx, esi
mov eax, dword [0x1404e84d8]
add eax, esi
add eax, 0xe9ac
cdqe
add rax, qword [0x1404e84f0]
call qword [case.0x140119ecb.0]
lea rax, [0x1404e82f0]
jmp 0x1400fe7c7
xor r8d, r8d
lea rax, [0x1404e8370]
lea rcx, [0x140422980]
mov edx, 0x2ea84ce
nop dword [rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, dword [0x1404f3710]
add r9d, edx
mov r10d, r8d
xor r10d, r9d
and r9d, r8d
lea r8d, [r10 + r9*2]
cmp r8d, 0x16
jl 0x1400fe6d0
mov al, 0x21
xchg byte [0x1404e8386], al
lea rax, [0x1404e8370]
jmp 0x1400fe7c7
xor ecx, ecx
lea rbx, [0x1404e8330]
lea r14, [0x140422940]
mov ebp, esi
xor ebp, 0x67bc2c1f
lea rdi, [rsp + 0x38]
nop word [rax + rax]
movsxd r8, ecx
lea rdx, [rbx + r8]
movzx ecx, byte [r8 + rbx]
xor cl, byte [r8 + r14]
mov eax, dword [0x1404e84dc]
add eax, esi
add eax, 0xe9ac
cdqe
add rax, qword [0x1404e84e8]
mov dword [rsp + 0x20], ebp
mov r9, rdi
call qword [case.0x140119ecb.0]
mov ecx, dword [rsp + 0x38]
test al, 1
je 0x1400fe730
movzx eax, byte [0x1404f3720]
add al, 0x2f
xchg byte [0x1404e8341], al
lea rax, [0x1404e8330]
jmp 0x1400fe7c7
xor eax, eax
lea rcx, [0x1404e83c0]
lea rdx, [0x1404229d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x15
jg 0x1400fe7b8
inc rax
jmp 0x1400fe7a0
mov al, 0xb9
xchg byte [0x1404e83d6], al
lea rax, [0x1404e83c0]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret