Function at 0x140213880
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x140564edc]
cmp eax, 0x58
jg 0x1402138a0
mov al, 1
test al, al
jne 0x1402138b6
nop word cs:[rax + rax]
mov eax, dword [0x140564ed8]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1402138a0
jmp 0x14021388b
test ecx, ecx
je 0x140213910
test edx, edx
je 0x140213949
movzx eax, byte [0x14051c694]
movzx ecx, byte [0x14051e608]
add cl, 0x6a
cmp al, cl
je 0x140213908
nop word [rax + rax]
movzx ecx, byte [0x14051e608]
lea eax, [rcx - 0x20]
mov edx, ecx
xor dl, 0x9d
and cl, 0x1d
add cl, cl
add cl, dl
lock cmpxchg byte [0x14051c694], cl
je 0x1402139ad
cmp al, 0x59
jne 0x1402138e0
lea rax, [0x14051c670]
ret
test edx, edx
je 0x140213986
movzx eax, byte [0x14051cc6f]
cmp al, 0x1c
je 0x140213bb9
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x14051cc6f], cl
je 0x140213a18
cmp al, 0x1c
jne 0x140213930
jmp 0x140213bb9
movzx eax, byte [0x14051cd5d]
cmp al, 0xca
je 0x14021397e
mov cl, 0x6f
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x14051cd5d], cl
je 0x140213a8a
movzx edx, byte [0x14051e608]
add dl, 0xdb
cmp al, dl
jne 0x140213960
lea rax, [0x14051cd50]
ret
mov eax, 0x4a2b697
add eax, dword [0x14051e5f8]
lea rcx, [fcn.140213880]
add ecx, ecx
add ecx, 0x2b20
test ecx, eax
jne 0x140213aab
jmp 0x140213a9e
xor eax, eax
lea rcx, [0x14051c670]
lea rdx, [0x1404314b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x23
jg 0x1402139e0
inc rax
jmp 0x1402139c0
mov ecx, dword [0x140564ed8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14051e5f8]
lea r8d, [rcx + 0x4a2b698]
xor edx, edx
div r8d
add ecx, 0x4a2b696
cmp edx, ecx
jne 0x1402139e0
mov al, 0x59
xchg byte [0x14051c694], al
lea rax, [0x14051c670]
ret
xor eax, eax
lea rcx, [0x14051cc60]
lea rdx, [0x140431a70]
nop dword [rax + rax]
cdqe
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
mov r8d, dword [0x14051e5f8]
mov r9d, r8d
xor r9d, 0x4a2b697
mov r10d, r8d
and r10d, 0x4a2b697
lea r9d, [r9 + r10*2]
add eax, r9d
add r8d, 0x4a2b6a5
cmp eax, r8d
jl 0x140213a30
mov eax, dword [0x140564ed8]
mov ecx, dword [0x14051e5f8]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140213c2e
jmp 0x140213c1d
mov eax, dword [0x140564edc]
cmp eax, 0x22
jle 0x140213c53
jmp 0x140213c5e
movzx eax, byte [0x14051cb2d]
mov cl, 1
test cl, cl
jne 0x140213abd
mov al, 1
nop dword [rax]
movzx ecx, byte [0x14051cb2d]
test al, al
je 0x140213ab0
jmp 0x140213a9e
cmp al, 0xbf
je 0x140213b3d
mov cl, 0xc8
nop word cs:[rax + rax]
mov al, 0xe5
lock cmpxchg byte [0x14051cb2d], cl
je 0x140213ae2
cmp al, 0xbf
jne 0x140213ad0
jmp 0x140213b3d
xor eax, eax
lea rcx, [0x14051cb20]
lea rdx, [0x140431930]
mov r8d, 0x4a2b6a3
nop dword [rax + rax]
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
xor r11b, r10b
and r9b, r10b
add r9b, r9b
add r9b, r11b
mov byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x14051e5f8]
add r10d, r8d
cmp r9d, r10d
jge 0x140213b35
inc rax
jmp 0x140213b00
mov al, 0xbf
xchg byte [0x14051cb2d], al
mov eax, 0x4a2b697
mov ecx, dword [0x14051e5f8]
add ecx, eax
lea rdx, [fcn.140213880]
add edx, edx
add edx, 0x3360
mov r8d, edx
not r8d
xor edx, ecx
not ecx
and ecx, r8d
or ecx, edx
cmp ecx, 0xffffffff
jne 0x140213b78
mov ecx, dword [0x140564edc]
cmp ecx, 0x21
jl 0x140213bb1
lea rcx, [fcn.140213880]
add ecx, ecx
add ecx, 0xae0
mov edx, ecx
not edx
nop dword [rax + rax]
mov r8d, dword [0x14051e5f8]
add r8d, eax
mov r9d, ecx
xor r9d, r8d
not r8d
and r8d, edx
or r8d, r9d
cmp r8d, 0xffffffff
jne 0x140213b90
jmp 0x140213b6d
lea rax, [0x14051cb20]
ret
mov eax, 0x4a2b696
lea rcx, [fcn.140213880]
add ecx, ecx
add ecx, 0x3880
mov edx, ecx
not edx
nop word cs:[rax + rax]
mov r8d, dword [0x140564ed8]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x14051e5f8]
add r8d, eax
cmp r9d, r8d
jne 0x140213c0f
mov r8d, dword [0x140564edc]
cmp r8d, 0x1f
jle 0x140213c15
test edx, ecx
jne 0x140213be0
jmp 0x140213c02
lea rax, [0x14051cc60]
ret
mov eax, dword [0x140564ed8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140213c36
mov al, 1
test al, al
je 0x140213c30
jmp 0x140213c1d
movzx eax, byte [0x14051e608]
mov ecx, eax
xor cl, 0x2d
and al, 0x2d
add al, al
add al, cl
xchg byte [0x14051cc6f], al
jmp 0x140213bb9
mov eax, dword [0x140564edc]
cmp eax, 0x2f
jl 0x140213c84
mov eax, 0x4a2b6e4
nop word cs:[rax + rax]
mov ecx, dword [0x140564edc]
mov edx, dword [0x14051e5f8]
add edx, eax
cmp ecx, edx
jge 0x140213c70
jmp 0x140213c53
xor edx, edx
lea rax, [0x14051cd50]
lea rcx, [0x140431b60]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x14051e5f8]
add edx, r8d
add edx, 0x4a2b697
cmp edx, 0xd
jl 0x140213ca0
mov al, 0xca
xchg byte [0x14051cd5d], al
lea rax, [0x14051cd50]
ret