Function at 0x1402fb260
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
mov eax, 0xccab9fd1
add eax, dword [0x14050f770]
cmp ecx, eax
jne 0x1402fb2b9
test edx, edx
je 0x1402fb38b
movzx eax, byte [0x14050e95d]
cmp al, 0x58
je 0x1402fb551
mov cl, 0xf6
nop dword [rax]
mov al, 0x50
lock cmpxchg byte [0x14050e95d], cl
je 0x1402fb42c
cmp al, 0x58
jne 0x1402fb2a0
jmp 0x1402fb551
test edx, edx
je 0x1402fb3b9
movzx eax, byte [0x14050ea89]
cmp al, 0x42
je 0x1402fb5a8
lea rdi, [rsp + 0x40]
lea rbx, [rsp + 0x3f]
nop word [rax + rax]
mov eax, dword [0x14050f770]
lea ecx, [rax + 0x45df0c2d]
mov r8d, ecx
xor r8d, ecx
not r8d
and r8d, esi
xor r8d, ecx
mov ecx, eax
xor ecx, 0xccab75bb
mov edx, eax
and edx, 0x4cab75bb
lea ecx, [rcx + rdx*2]
mov edx, esi
sub edx, ecx
add edx, dword [0x14050ebf0]
add eax, edx
add eax, 0xccab9fd1
cdqe
add rax, qword [0x14050ec10]
mov rcx, rdi
mov rdx, rbx
call qword [case.0x1401138cb.0]
movzx ebp, byte [rsp + 0x3f]
movzx ecx, byte [rsp + 0x40]
movzx edx, byte [rsp + 0x41]
mov eax, dword [0x14050f770]
lea r8d, [rax + 0x7e028e5e]
xor r8d, esi
mov r9d, dword [0x14050ebf8]
add r9d, esi
add eax, r9d
add eax, 0xccabc9e7
cdqe
add rax, qword [0x14050ec18]
call qword [case.0x1401138cb.0]
test al, 1
jne 0x1402fb4cc
cmp bpl, 0x42
jne 0x1402fb2e0
jmp 0x1402fb5a8
movzx eax, byte [0x14050ea75]
cmp al, 0x22
je 0x1402fb673
mov cl, 0xa8
nop dword [rax]
mov al, 0xc2
lock cmpxchg byte [0x14050ea75], cl
je 0x1402fb5b4
cmp al, 0x22
jne 0x1402fb3a0
jmp 0x1402fb673
movzx eax, byte [0x14050ea56]
cmp al, 0xa2
je 0x1402fb684
movzx ecx, byte [0x14050f784]
lea eax, [rcx - 0x37]
mov edx, ecx
xor dl, 0xce
and cl, 0x4e
add cl, cl
add cl, dl
lock cmpxchg byte [0x14050ea56], cl
jne 0x1402fb3c0
xor eax, eax
lea rcx, [0x14050ea40]
lea rdx, [0x140421ad0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
mov r9d, r8d
xor r9b, r8b
not r9b
and r9b, byte [rax + rcx]
xor r9b, r8b
mov byte [rax + rcx], r9b
lea r8d, [rax + 1]
cmp r8d, 0x15
jg 0x1402fb67c
inc rax
jmp 0x1402fb400
xor edi, edi
lea r14, [0x14050e940]
lea r15, [0x1404219e0]
mov ebp, esi
xor ebp, 0x4be3d6ae
lea r12, [rsp + 0x40]
lea rbx, [rsp + 0x3f]
nop
movzx ecx, byte [rdi + r14]
movzx edx, byte [rdi + r15]
mov eax, dword [0x14050ebe0]
add eax, esi
mov r8d, 0xd8ec2a16
sub r8d, eax
mov eax, r8d
xor eax, 0x2713abd4
and r8d, 0x2713abd4
lea eax, [rax + r8*2]
mov r8d, dword [0x14050f770]
neg eax
add eax, r8d
add eax, 0xccab9fd1
cdqe
add rax, qword [0x14050ec08]
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r12
mov r8d, edi
mov r9, rbx
call qword [case.0x1401138cb.0]
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r14], al
lea eax, [rdi + 1]
cmp eax, 0x1c
jg 0x1402fb549
inc rdi
jmp 0x1402fb450
xor edi, edi
mov ebx, esi
xor ebx, 0x72eb400a
lea r14, [rsp + 0x40]
mov ebp, 0xed5bb81f
mov eax, dword [0x14050ebfc]
add eax, esi
add eax, 0x2a16
cdqe
add rax, qword [0x14050ec30]
mov rcx, rdi
mov rdx, r14
mov r8d, ebx
call qword [case.0x1401138cb.0]
mov rax, qword [rsp + 0x40]
movzx edx, byte [rax]
mov r9d, dword [0x14050f770]
add r9d, ebp
xor r9d, esi
mov eax, dword [0x14050ebe8]
add eax, esi
add eax, 0x2a16
cdqe
add rax, qword [0x14050ec28]
mov rcx, rdi
mov r8d, edi
call qword [case.0x1401138cb.0]
lea eax, [rdi + 1]
cmp eax, 8
jg 0x1402fb55d
inc rdi
jmp 0x1402fb4e0
mov al, 0x58
xchg byte [0x14050e95d], al
lea rax, [0x14050e940]
jmp 0x1402fb68b
mov ecx, esi
xor ecx, 0xfe4a0e93
mov eax, dword [0x14050f770]
mov edx, eax
xor edx, 0xccab9fd1
not eax
and eax, 0x3354602e
or eax, edx
not eax
add eax, eax
mov r8d, edx
xor r8d, eax
and eax, edx
lea eax, [r8 + rax*2]
add esi, dword [0x14050ebf4]
add eax, esi
add eax, 0x2a16
cdqe
add rax, qword [0x14050ec20]
call qword [case.0x1401138cb.0]
lea rax, [0x14050ea80]
jmp 0x1402fb68b
xor ebx, ebx
mov eax, esi
not eax
mov ecx, eax
and ecx, 0x8a6f5308
mov edi, esi
and edi, 0x7590acf7
or edi, ecx
lea r14, [rsp + 0x3f]
lea r15, [rsp + 0x40]
lea r12, [0x14050ea60]
and eax, 0x4ba94e61
mov ebp, esi
and ebp, 0xb456b19e
or ebp, eax
nop dword [rax]
mov eax, dword [0x14050ebec]
add eax, esi
add eax, 0x2a16
cdqe
add rax, qword [0x14050ec00]
mov ecx, ebx
mov rdx, r14
mov r8, r15
mov r9d, edi
call qword [case.0x1401138cb.0]
movzx eax, byte [rsp + 0x3f]
mov rcx, qword [rsp + 0x40]
mov byte [rcx + r12], al
mov eax, dword [0x14050f770]
mov ecx, eax
xor ecx, 0x3354602e
and ecx, eax
xor eax, 0xccab9fd1
lea eax, [rax + rcx*2]
mov ecx, dword [0x14050ebe4]
add ecx, esi
add eax, ecx
add eax, 0x2a16
cdqe
add rax, qword [0x14050ec38]
mov ecx, ebx
mov rdx, r15
mov r8d, ebp
call qword [case.0x1401138cb.0]
mov ebx, dword [rsp + 0x40]
test al, 1
je 0x1402fb5f0
mov al, 0x22
xchg byte [0x14050ea75], al
lea rax, [0x14050ea60]
jmp 0x1402fb68b
mov al, 0xa2
xchg byte [0x14050ea56], al
lea rax, [0x14050ea40]
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret