Function at 0x1402160c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x1402160ed
mov eax, 0x136d98df
add eax, dword [0x1404b04d4]
lea rcx, [fcn.1402160c0]
add ecx, ecx
add ecx, 0x4da0
test ecx, eax
jne 0x140216340
jmp 0x140216335
test edx, edx
je 0x140216129
movzx eax, byte [0x1404ae6cc]
cmp al, 0xf8
je 0x140216200
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x1404ae6cc], cl
je 0x1402161b8
cmp al, 0xf8
jne 0x140216110
jmp 0x140216200
movzx eax, byte [0x1404aeb21]
movzx ecx, byte [0x1404b04d0]
add cl, 0x27
cmp al, cl
je 0x140216211
xor ecx, ecx
mov r8b, 0xea
nop word [rax + rax]
mov edx, dword [0x1404ef658]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1404b04d4]
lea r10d, [r9 + 0x136d98e0]
xor edx, edx
div r10d
add r9d, 0x136d98de
cmp edx, r9d
jne 0x1402161a0
mov al, 0xe2
lock cmpxchg byte [0x1404aeb21], r8b
sete dl
test cl, cl
jne 0x1402161a0
test dl, dl
jne 0x140216209
cmp al, 0x7c
jne 0x140216150
jmp 0x140216211
mov al, 0xe2
lock cmpxchg byte [0x1404aeb21], r8b
mov eax, dword [0x1404ef65c]
cmp eax, 0x51
jge 0x140216150
jmp 0x14021617b
xor edx, edx
lea rax, [0x1404ae6c0]
lea rcx, [0x1403c6230]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x1404b04d4]
add edx, r8d
add edx, 0x136d98df
cmp edx, 0xc
jl 0x1402161d0
movzx eax, byte [0x1404b04d0]
add al, 0xa3
xchg byte [0x1404ae6cc], al
lea rax, [0x1404ae6c0]
jmp 0x140216249
xor eax, eax
test al, al
je 0x14021624c
jmp 0x140216257
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140216235
mov ecx, dword [0x1404ef658]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140216242
mov ecx, dword [0x1404ef65c]
cmp ecx, 0x1a
jge 0x140216220
jmp 0x140216224
lea rax, [0x1404aeb10]
pop rbx
pop rsi
ret
mov eax, dword [0x1404ef65c]
cmp eax, 0x63
jl 0x140216266
mov al, 1
nop dword [rax]
test al, al
je 0x140216260
jmp 0x14021624c
xor r9d, r9d
lea r10, [0x1404aeb10]
lea r11, [0x1403c6670]
jmp 0x140216298
mov eax, r9d
xor eax, 1
and r9d, 1
lea r9d, [rax + r9*2]
cmp r9d, 0x11
jge 0x140216328
mov eax, dword [0x1404ef65c]
movsxd rsi, r9d
cmp eax, 0x39
jg 0x1402162c4
nop word cs:[rax + rax]
movzx eax, byte [rsi + r11]
add byte [rsi + r10], al
mov eax, dword [0x1404ef65c]
cmp eax, 0x35
jle 0x140216280
movzx eax, byte [rsi + r10]
movzx r8d, byte [rsi + r11]
sub al, r8b
mul r8b
mov edx, eax
mov ecx, eax
neg cl
mov eax, ecx
xor al, r8b
and cl, r8b
add cl, cl
add cl, al
shl dl, cl
sub cl, dl
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub dl, cl
sub cl, dl
mov eax, ecx
mul dl
mov r8d, eax
mov ebx, eax
mov ecx, edx
shl bl, cl
sub al, bl
mul bl
mov ecx, r8d
neg cl
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
mov eax, r8d
xor al, cl
and cl, r8b
add cl, cl
add cl, al
mov byte [rsi + r10], cl
jmp 0x1402162b0
mov al, 0x7c
xchg byte [0x1404aeb21], al
jmp 0x140216211
mov eax, dword [0x1404ef65c]
cmp eax, 0x4c
jl 0x14021634e
cmp dword [0x1404b04d4], 0xec926722
jne 0x140216340
jmp 0x140216335
test edx, edx
je 0x140216366
mov eax, dword [0x1404ef65c]
cmp eax, 0x3e
jle 0x14021640f
jmp 0x140216438
movzx eax, byte [0x1404ae1a4]
cmp al, 0xbb
je 0x140216403
mov cl, 9
nop word [rax + rax]
mov al, 2
lock cmpxchg byte [0x1404ae1a4], cl
je 0x140216392
cmp al, 0xbb
jne 0x140216380
jmp 0x140216403
xor eax, eax
lea rcx, [0x1404ae180]
lea rdx, [0x1403c5d30]
mov r8d, 0x136d9902
nop dword [rax + rax]
movzx r9d, byte [rax + rdx]
xor byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x1404b04d4]
add r10d, r8d
cmp r9d, r10d
jge 0x1402163d1
inc rax
jmp 0x1402163b0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1402163e8
test al, al
je 0x1402163fb
mov ecx, dword [0x1404ef658]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1402163e0
jmp 0x1402163e4
mov al, 0xbb
xchg byte [0x1404ae1a4], al
lea rax, [0x1404ae180]
jmp 0x140216249
movzx ecx, byte [0x1404ae22e]
mov edx, dword [0x1404ef658]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0x136d98e0
add r8d, dword [0x1404b04d4]
xor edx, edx
div r8d
test edx, edx
je 0x14021645d
lea rax, [fcn.1402160c0]
add eax, eax
add eax, 0x1b80
mov ecx, eax
not ecx
nop word [rax + rax]
movzx edx, byte [0x1404ae22e]
test ecx, eax
jne 0x140216450
jmp 0x14021640f
cmp cl, 0xfe
je 0x1402164f8
mov cl, 0x61
nop dword [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x1404ae22e], cl
je 0x140216482
cmp al, 0xfe
jne 0x140216470
jmp 0x1402164f8
xor eax, eax
lea rcx, [0x1404ae210]
lea rdx, [0x1403c5db0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x1d
jg 0x1402164cc
inc rax
jmp 0x1402164a0
mov al, 1
jmp 0x1402164e0
movzx ecx, byte [0x1404b04d0]
add cl, 0xa9
xchg byte [0x1404ae22e], cl
test al, al
je 0x1402164d0
movzx ecx, byte [0x1404b04d0]
add cl, 0xa9
xchg byte [0x1404ae22e], cl
test al, al
je 0x1402164d0
lea rax, [0x1404ae210]
jmp 0x140216249