Function at 0x1401c0380
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [0x14049134c]
mov r8d, 0x136d993e
add r8d, dword [0x140452194]
cmp eax, r8d
nop dword [rax]
mov eax, dword [0x14049134c]
cmp eax, 0x35
jg 0x1401c03a0
test ecx, ecx
je 0x1401c03e9
test edx, edx
je 0x1401c0446
movzx eax, byte [0x14045019b]
cmp al, 0x57
je 0x1401c053d
mov cl, 0x3f
nop dword [rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x14045019b], cl
je 0x1401c04e3
cmp al, 0x57
jne 0x1401c03d0
jmp 0x1401c053d
test edx, edx
je 0x1401c0479
movzx eax, byte [0x1404504f1]
cmp al, 0x1f
je 0x1401c0414
mov cl, 0x8e
nop
mov al, 0xa9
lock cmpxchg byte [0x1404504f1], cl
je 0x1401c0549
cmp al, 0x1f
jne 0x1401c0400
mov eax, dword [0x140491348]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140452194]
mov edx, eax
xor edx, 0x136d98de
and eax, 0x136d98de
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x1401c06b0
jmp 0x1401c06a5
movzx eax, byte [0x1404506fd]
cmp al, 0x8f
je 0x1401c069a
mov cl, 0xec
nop word [rax + rax]
mov al, 0x33
lock cmpxchg byte [0x1404506fd], cl
je 0x1401c060a
cmp al, 0x8f
jne 0x1401c0460
jmp 0x1401c069a
movzx eax, byte [0x14045077a]
cmp al, 0xee
je 0x1401c04d7
movzx ecx, byte [0x140452190]
lea eax, [rcx + 0x3e]
add cl, 0xb1
lock cmpxchg byte [0x14045077a], cl
jne 0x1401c0480
xor edx, edx
lea rax, [0x140450770]
lea rcx, [0x140369600]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0xa
jl 0x1401c04b0
mov al, 0xee
xchg byte [0x14045077a], al
lea rax, [0x140450770]
jmp 0x1401c06a1
xor eax, eax
lea rcx, [0x140450180]
lea rdx, [0x140369040]
mov r8d, 0x136d98f9
nop dword [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 [0x140452194]
add r10d, r8d
cmp r9d, r10d
jge 0x1401c0535
inc rax
jmp 0x1401c0500
mov al, 0x57
xchg byte [0x14045019b], al
lea rax, [0x140450180]
jmp 0x1401c06a1
xor r8d, r8d
mov r9d, 0x136d9910
lea r10, [0x1404504e0]
lea r11, [0x140369370]
mov bl, 1
jmp 0x1401c0588
mov eax, r8d
xor eax, 1
and r8d, 1
lea r8d, [rax + r8*2]
cmp r8d, 0x11
jge 0x1401c0638
mov eax, dword [0x14049134c]
mov ecx, dword [0x140452194]
add ecx, r9d
movsxd rsi, r8d
cmp eax, ecx
jge 0x1401c05b0
nop
movzx eax, byte [rsi + r11]
add byte [rsi + r10], al
test bl, bl
jne 0x1401c0570
nop dword [rax]
movzx eax, byte [rsi + r10]
movzx ecx, byte [rsi + r11]
sub al, cl
mul cl
mov edx, eax
mov edi, eax
shl dil, cl
sub al, dil
mul dil
mov ecx, eax
mov eax, edx
sub al, cl
mul cl
mov ecx, eax
shl dl, cl
mov eax, edx
sub al, cl
mul cl
mov ecx, eax
shl dl, cl
sub dl, al
mov eax, edx
mul cl
mov edx, eax
sub al, cl
mul cl
mov ecx, eax
sub cl, dl
add cl, al
mov byte [rsi + r10], cl
mov eax, dword [0x140491348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401c05b0
jmp 0x1401c05a0
xor eax, eax
lea rcx, [0x1404506f0]
lea rdx, [0x140369580]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1401c0692
inc rax
jmp 0x1401c0620
xor eax, eax
nop word [rax + rax]
test al, al
je 0x1401c064f
mov ecx, dword [0x14049134c]
cmp ecx, 0x39
jge 0x1401c0640
mov ecx, dword [0x14049134c]
cmp ecx, 0x4e
jg 0x1401c0644
xor eax, eax
mov cl, 1
nop
mov edx, dword [0x140491348]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x1401c0684
mov dl, 0x1f
xchg byte [0x1404504f1], dl
test al, al
je 0x1401c0414
mov dl, 0x1f
xchg byte [0x1404504f1], dl
test cl, cl
je 0x1401c0660
jmp 0x1401c0674
mov al, 0x8f
xchg byte [0x1404506fd], al
lea rax, [0x1404506f0]
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test al, al
jne 0x1401c06be
nop dword [rax + rax]
cmp dword [0x140452194], 0xec926722
jne 0x1401c06b0
jmp 0x1401c06a5
lea rax, [0x1404504e0]
jmp 0x1401c06a1