Function at 0x1402cf2e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
test ecx, ecx
je 0x1402cf30b
test edx, edx
je 0x1402cf3bc
xor eax, eax
test al, al
jne 0x1402cf725
jmp 0x1402cf700
mov eax, dword [0x140636b34]
mov ecx, eax
xor ecx, 0x47e43fab
and eax, 0x47e43fab
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x1402cf4dd
movzx eax, byte [0x140635ad3]
cmp al, 0x33
je 0x1402cf6b1
xor ecx, ecx
mov dl, 0xc5
mov r8d, 0x47e43fdd
nop word cs:[rax + rax]
test cl, cl
jne 0x1402cf3b0
nop word cs:[rax + rax]
mov al, 0x42
lock cmpxchg byte [0x140635ad3], dl
sete r9b
mov r10d, dword [0x140694e4c]
mov r11d, dword [0x140636b34]
add r11d, r8d
cmp r10d, r11d
jge 0x1402cf3b0
test r9b, r9b
jne 0x1402cf58a
movzx r9d, byte [0x140636b30]
add r9b, 0xc2
cmp al, r9b
jne 0x1402cf350
jmp 0x1402cf6b1
mov al, 0x42
lock cmpxchg byte [0x140635ad3], dl
jmp 0x1402cf360
movzx eax, byte [0x140635a65]
cmp al, 0x10
je 0x1402cf6c9
mov cl, 0x9b
jmp 0x1402cf3db
add dl, 0x9f
cmp al, dl
je 0x1402cf6c9
mov al, 0xbc
lock cmpxchg byte [0x140635a65], cl
je 0x1402cf450
mov edx, dword [0x140694e48]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x140636b34]
mov r9d, edx
xor r9d, 0x47e43fab
and edx, 0x47e43fab
lea edx, [r9 + rdx*2]
cmp r8d, edx
jne 0x1402cf440
nop dword [rax + rax]
movzx edx, byte [0x140636b30]
mov r8d, dword [0x140694e48]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1402cf3d0
nop dword [rax]
mov edx, dword [0x140694e4c]
cmp edx, 0x5c
jge 0x1402cf440
jmp 0x1402cf420
mov eax, dword [0x140694e4c]
cmp eax, 0xc
jle 0x1402cf46b
nop dword [rax + rax]
mov eax, dword [0x140694e4c]
cmp eax, 0x1e
jge 0x1402cf450
mov eax, dword [0x140636b34]
mov ecx, eax
xor ecx, 0x47e43fab
not eax
and eax, 0x381bc054
or eax, ecx
not eax
add eax, eax
add eax, ecx
jne 0x1402cf460
xor edx, edx
lea rax, [0x140635a30]
lea rcx, [0x14053cfe0]
nop word [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x35
jl 0x1402cf4a0
mov eax, dword [0x140694e48]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1402cf6d8
jmp 0x1402cf6d2
movzx eax, byte [0x140635bf9]
cmp al, 0x62
je 0x1402cf6a0
xor ecx, ecx
mov r8b, 0x92
jmp 0x1402cf51c
mov al, 6
lock cmpxchg byte [0x140635bf9], r8b
mov eax, dword [0x140694e48]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1402cf547
mov edx, dword [0x140694e48]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x140636b34]
lea r10d, [r9 + 0x47e43fad]
xor edx, edx
div r10d
add r9d, 0x47e43fab
cmp edx, r9d
jne 0x1402cf500
movzx edx, byte [0x140636b30]
lea eax, [rdx - 0x6b]
mov r9d, edx
xor r9b, 0x21
and dl, 0x21
add dl, dl
add dl, r9b
lock cmpxchg byte [0x140635bf9], dl
sete dl
test cl, cl
jne 0x1402cf500
test dl, dl
jne 0x1402cf646
movzx edx, byte [0x140636b30]
add dl, 0xf1
cmp al, dl
jne 0x1402cf51c
jmp 0x1402cf6a0
xor edi, edi
lea rbx, [0x140635ac0]
lea r14, [0x14053d070]
mov ebp, 0x47e43fac
lea rsi, [0x1402d0000]
jmp 0x1402cf5c2
mov ecx, edi
xor ecx, eax
and edi, eax
lea edi, [rcx + rdi*2]
cmp edi, 0x13
jge 0x1402cf6a9
mov eax, dword [0x140694e4c]
movsxd r15, edi
cmp eax, 0x27
jg 0x1402cf5f0
movzx eax, byte [r15 + r14]
xor byte [r15 + rbx], al
mov eax, dword [0x140636b34]
add eax, ebp
mov ecx, dword [0x140694e4c]
cmp ecx, 0x2c
jl 0x1402cf5b0
nop dword [rax]
movzx r12d, byte [r15 + r14]
mov r13d, r12d
sub r13b, byte [r15 + rbx]
mov ecx, 0x37
call fcn.1404ca39c
mov qword [0x140694e20], rax
mov rcx, rsi
call fcn.1404ea090
movzx eax, byte [0x140636b30]
sub al, r13b
add al, r12b
add al, 0x8f
mov ecx, eax
xor cl, al
not cl
and cl, r13b
xor cl, al
mov byte [r15 + rbx], cl
mov eax, dword [0x140694e48]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402cf5f0
jmp 0x1402cf5d0
xor eax, eax
lea rcx, [0x140635bf0]
lea rdx, [0x14053d190]
nop word cs:[rax + rax]
cdqe
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
mov r8d, dword [0x140636b34]
mov r9d, r8d
xor r9d, 0x47e43fac
not r8d
and r8d, 0x381bc053
or r8d, r9d
not r8d
lea r8d, [r9 + r8*2]
add eax, r8d
cmp eax, 9
jl 0x1402cf660
mov al, 0x62
xchg byte [0x140635bf9], al
lea rax, [0x140635bf0]
jmp 0x1402cf6b8
mov al, 0x33
xchg byte [0x140635ad3], al
lea rax, [0x140635ac0]
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x140635a30]
jmp 0x1402cf6b8
mov al, 1
test al, al
jne 0x1402cf6f6
lea rax, [fcn.1402cf2e0]
add eax, eax
add eax, 0x10a0
mov ecx, eax
not ecx
nop word [rax + rax]
test ecx, eax
jne 0x1402cf6f0
jmp 0x1402cf6d2
mov al, 0x10
xchg byte [0x140635a65], al
jmp 0x1402cf6c9
movzx eax, byte [0x140635a22]
mov ecx, dword [0x140694e48]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, 0x47e43fab
add ecx, dword [0x140636b34]
cmp edx, ecx
je 0x1402cf72e
movzx eax, byte [0x140635a22]
jmp 0x1402cf700
cmp al, 0xca
je 0x1402cf857
mov r8b, 0x7a
mov r9d, 0x47e43fad
jmp 0x1402cf759
cmp cl, 0xca
je 0x1402cf857
mov al, 0xd3
lock cmpxchg byte [0x140635a22], r8b
je 0x1402cf7ad
mov ecx, eax
nop dword [rax + rax]
mov edx, dword [0x140694e48]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140636b34]
add r10d, r9d
xor edx, edx
div r10d
test edx, edx
jne 0x1402cf7a0
mov eax, dword [0x140694e48]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x1402cf750
mov eax, dword [0x140694e4c]
cmp eax, 0x3c
jge 0x1402cf770
jmp 0x1402cf78f
xor edx, edx
lea rax, [0x1406359f0]
lea rcx, [0x14053cfa0]
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 [0x140636b34]
lea r9d, [r8 + 0x47e43fac]
mov r10d, edx
xor r10d, r9d
not edx
not r9d
and r9d, edx
or r9d, r10d
not r9d
lea edx, [r10 + r9*2]
add r8d, 0x47e43fdd
cmp edx, r8d
jl 0x1402cf7c0
nop
mov eax, dword [0x140694e48]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1402cf82c
mov eax, dword [0x140694e4c]
cmp eax, 0x5f
jge 0x1402cf810
mov eax, dword [0x140694e48]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402cf821
movzx eax, byte [0x140636b30]
add al, 0x83
mov ecx, eax
xor cl, 0xd6
and al, 0x56
add al, al
add al, cl
xchg byte [0x140635a22], al
lea rax, [0x1406359f0]
jmp 0x1402cf6b8