Function at 0x1401ec0e0
Capabilities:
Encode data using xor

Disassembly:
push rbx
xor eax, eax
test al, al
nop word cs:[rax + rax]
mov eax, dword [0x1404bfc18]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401ec0f0
test ecx, ecx
je 0x1401ec153
test edx, edx
je 0x1401ec1a9
movzx eax, byte [0x14047e9e7]
cmp al, 0x49
je 0x1401ec2c7
mov cl, 0x21
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x14047e9e7], cl
je 0x1401ec28f
movzx edx, byte [0x140480a80]
add dl, 0xf4
cmp al, dl
jne 0x1401ec130
jmp 0x1401ec2c7
mov eax, 0x136d98de
add eax, dword [0x140480a84]
cmp edx, eax
jne 0x1401ec237
movzx eax, byte [0x14047f1a8]
movzx ecx, byte [0x140480a80]
add cl, 0xbc
cmp al, cl
je 0x1401ec3a4
mov cl, 0x92
nop word cs:[rax + rax]
mov al, 0x5b
lock cmpxchg byte [0x14047f1a8], cl
je 0x1401ec346
cmp al, 0x11
jne 0x1401ec190
jmp 0x1401ec3a4
movzx eax, byte [0x14047eaa0]
movzx ecx, byte [0x140480a80]
add cl, 0x18
cmp al, cl
je 0x1401ec33d
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, dword [0x1404bfc18]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401ec220
nop word cs:[rax + rax]
movzx edx, byte [0x140480a80]
lea eax, [rdx + 0x65]
add dl, 0x3a
lock cmpxchg byte [0x14047eaa0], dl
sete dl
test cl, cl
jne 0x1401ec220
test dl, dl
jne 0x1401ec2db
cmp al, 0x6d
jne 0x1401ec1d0
jmp 0x1401ec33d
movzx edx, byte [0x140480a80]
lea eax, [rdx + 0x65]
add dl, 0x3a
lock cmpxchg byte [0x14047eaa0], dl
jmp 0x1401ec1f0
movzx eax, byte [0x14047ec0e]
cmp al, 0xa7
je 0x1401ec3c0
mov cl, 0xd7
mov dl, 1
jmp 0x1401ec258
cmp al, 0xa7
je 0x1401ec3c0
mov al, 0x90
lock cmpxchg byte [0x14047ec0e], cl
je 0x1401ec3ad
nop dword [rax + rax]
mov r8d, dword [0x1404bfc1c]
cmp r8d, 0x10
jg 0x1401ec289
cmp dword [0x140480a84], 0xec926722
je 0x1401ec250
test dl, dl
je 0x1401ec270
jmp 0x1401ec27d
xor eax, eax
lea rcx, [0x14047e9c0]
lea rdx, [0x140397fb0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x26
jg 0x1401ec2b8
inc rax
jmp 0x1401ec2a0
movzx eax, byte [0x140480a80]
add al, 0xf4
xchg byte [0x14047e9e7], al
mov eax, dword [0x1404bfc1c]
cmp eax, 0x59
jg 0x1401ec4b0
jmp 0x1401ec495
xor edx, edx
lea rax, [0x14047ea90]
lea rcx, [0x140398080]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
add edx, edx
and edx, 2
mov r9d, r8d
xor r9d, edx
and edx, r8d
lea edx, [r9 + rdx*2]
cmp edx, 0x10
jl 0x1401ec2f0
movzx eax, byte [0x140480a80]
add al, 0x18
xchg byte [0x14047eaa0], al
lea rax, [0x14047ea90]
pop rbx
ret
xor edx, edx
lea rax, [0x14047f190]
lea rcx, [0x140398750]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
not r8d
mov r9d, r8d
and r9d, 1
mov r10d, edx
and r10d, 0xfffffffe
or r10d, r9d
xor edx, 1
and r8d, 0x7ffffffe
or r8d, edx
not r8d
lea edx, [r10 + r8*2]
cmp edx, 0x18
jl 0x1401ec360
mov al, 0x11
xchg byte [0x14047f1a8], al
lea rax, [0x14047f190]
pop rbx
ret
mov eax, dword [0x1404bfc18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ec3d0
jmp 0x1401ec3c9
lea rax, [0x14047ebf0]
pop rbx
ret
mov al, 1
test al, al
jne 0x1401ec3dd
nop
mov eax, dword [0x1404bfc1c]
cmp eax, 0x2a
jge 0x1401ec3d0
jmp 0x1401ec3c9
xor edx, edx
lea r8, [0x14047ebf0]
lea r9, [0x1403981c0]
nop dword [rax]
mov eax, dword [0x1404bfc18]
lea ecx, [rax - 1]
imul ecx, eax
movsxd r10, edx
jmp 0x1401ec44e
movzx r11d, byte [r10 + r8]
movzx ecx, byte [r10 + r9]
mov ebx, r11d
shl bl, cl
neg r11b
mov eax, r11d
xor al, bl
and r11b, bl
add r11b, r11b
add r11b, al
mov eax, r11d
sub al, bl
mul bl
add al, r11b
mov byte [r10 + r8], al
mov eax, dword [0x1404bfc18]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x1401ec410
movzx eax, byte [r10 + r9]
add byte [r10 + r8], al
mov eax, dword [0x1404bfc18]
mov ecx, dword [0x140480a84]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1401ec410
inc edx
cmp edx, 0x1e
jl 0x1401ec3f0
movzx eax, byte [0x140480a80]
add al, 0x52
xchg byte [0x14047ec0e], al
jmp 0x1401ec3c0
mov eax, dword [0x1404bfc18]
mov ecx, dword [0x140480a84]
not ecx
add ecx, eax
imul ecx, eax
test cl, 1
je 0x1401ec4c3
nop dword [rax]
mov eax, dword [0x1404bfc18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ec4b0
jmp 0x1401ec495
lea rax, [0x14047e9c0]
pop rbx
ret