Function at 0x1401fad50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov edi, r9d
mov esi, dword [rsp + 0xc0]
mov eax, esi
xor eax, 0x272b26fd
add eax, dword [0x1404ec5ac]
cmp ecx, eax
jne 0x1401fadb9
test edx, edx
je 0x1401fae3f
movzx eax, byte [0x1404ec461]
cmp al, 0xf
je 0x1401faf29
mov cl, 0x75
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x1404ec461], cl
je 0x1401faec9
cmp al, 0xf
jne 0x1401fada0
jmp 0x1401faf29
test edx, edx
je 0x1401fae98
mov ecx, edi
xor ecx, 0x190ac2c2
mov eax, esi
xor eax, 0xed290490
add eax, dword [0x1404ec5ac]
mov edx, eax
xor edx, eax
not edx
and edx, esi
xor edx, eax
call fcn.1401fb0f0
test al, 1
jne 0x1401faf70
mov bpl, 0x40
mov eax, edi
not eax
xor edi, 0x20753bf6
and eax, 0xdf8ac409
or edi, eax
not edi
or edi, eax
xor esi, 0xc82e1751
nop dword [rax + rax]
mov al, 0xd8
lock cmpxchg byte [0x1404ec2c7], bpl
mov ebx, eax
sete dl
mov ecx, eax
mov r8d, edi
mov r9d, esi
call fcn.1400fbe60
test al, 1
jne 0x1401faf35
cmp bl, 0xfa
jne 0x1401fae10
jmp 0x1401faf70
movzx eax, byte [0x1404ec293]
cmp al, 0x4d
je 0x1401fb080
xor edi, 0x57551285
xor esi, 0x3286feed
lea rbx, [rsp + 0x40]
lea r14, [rsp + 0x3e]
nop word cs:[rax + rax]
mov rcx, rbx
mov rdx, r14
mov r8d, edi
mov r9d, esi
call fcn.1401fad20
cmp byte [rsp + 0x41], 0
jne 0x1401faf7c
cmp byte [rsp + 0x3e], 0x4d
jne 0x1401fae70
jmp 0x1401fb080
movzx eax, byte [0x1404ec47d]
cmp al, 0xd2
je 0x1401fb06f
mov cl, 0xb9
nop dword [rax]
mov al, 0x62
lock cmpxchg byte [0x1404ec47d], cl
je 0x1401fafac
cmp al, 0xd2
jne 0x1401faeb0
jmp 0x1401fb06f
xor ecx, ecx
lea r14, [0x1404ec450]
lea r15, [0x140408460]
xor edi, 0xd52b3946
mov ebp, esi
xor ebp, 0xe0a8e09a
lea rbx, [rsp + 0x50]
nop dword [rax]
movsxd rcx, ecx
movzx edx, byte [rcx + r14]
xor dl, byte [rcx + r15]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], edi
mov r8d, ecx
mov r9, rbx
call fcn.1401fb310
mov ecx, dword [rsp + 0x50]
test al, 1
je 0x1401faef0
xor sil, 0xb7
add sil, byte [0x1404ec5a8]
xchg byte [0x1404ec461], sil
lea rax, [0x1404ec450]
jmp 0x1401fb087
xor eax, eax
lea rcx, [0x1404ec2a0]
lea rdx, [0x1404082b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x26
jg 0x1401faf68
inc rax
jmp 0x1401faf50
mov al, 0xfa
xchg byte [0x1404ec2c7], al
lea rax, [0x1404ec2a0]
jmp 0x1401fb087
xor eax, eax
lea rcx, [0x1404ec270]
lea rdx, [0x140408280]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x1401fb078
inc rax
jmp 0x1401faf90
xor r15d, r15d
mov eax, edi
not eax
mov ecx, edi
xor ecx, 0x631c8541
and ecx, eax
mov edx, edi
xor edx, 0x9ce37abe
mov ebx, eax
and ebx, 0x631c8541
or ebx, edx
not ebx
or ebx, ecx
mov ecx, esi
not ecx
mov edx, ecx
and edx, 0x27abd64c
mov ebp, esi
and ebp, 0xd85429b3
or ebp, edx
lea r14, [rsp + 0x3f]
lea r13, [0x140408480]
and eax, 0xafa448b9
and edi, 0x505bb746
or edi, eax
and ecx, 0x39a1cc4c
and esi, 0xc65e33b3
or esi, ecx
lea r12, [rsp + 0x54]
nop word cs:[rax + rax]
mov ecx, r15d
mov rdx, r14
mov r8d, ebx
mov r9d, ebp
call fcn.1401fb1a0
movzx edx, byte [rsp + 0x3f]
movsxd rcx, r15d
add dl, byte [rcx + r13]
add dl, 0x87
mov eax, edx
xor al, 0x79
and dl, 0x79
add dl, dl
add dl, al
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], edi
mov r8d, ecx
mov r9, r12
call fcn.1401fb0d0
mov r15d, dword [rsp + 0x54]
test al, 1
je 0x1401fb020
mov al, 0xd2
xchg byte [0x1404ec47d], al
lea rax, [0x1404ec470]
jmp 0x1401fb087
mov al, 0x4d
xchg byte [0x1404ec293], al
lea rax, [0x1404ec270]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret