Function at 0x14021d1c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [0x1404ef65c]
mov r8d, 0x136d993e
add r8d, dword [0x1404b04d4]
cmp eax, r8d
nop dword [rax]
mov eax, dword [0x1404ef65c]
cmp eax, 0x35
jg 0x14021d1e0
test ecx, ecx
je 0x14021d229
test edx, edx
je 0x14021d286
movzx eax, byte [0x1404ae4db]
cmp al, 0x57
je 0x14021d37d
mov cl, 0x3f
nop dword [rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x1404ae4db], cl
je 0x14021d323
cmp al, 0x57
jne 0x14021d210
jmp 0x14021d37d
test edx, edx
je 0x14021d2b9
movzx eax, byte [0x1404ae831]
cmp al, 0x1f
je 0x14021d254
mov cl, 0x8e
nop
mov al, 0xa9
lock cmpxchg byte [0x1404ae831], cl
je 0x14021d389
cmp al, 0x1f
jne 0x14021d240
mov eax, dword [0x1404ef658]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1404b04d4]
mov edx, eax
xor edx, 0x136d98de
and eax, 0x136d98de
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x14021d4f0
jmp 0x14021d4e5
movzx eax, byte [0x1404aea3d]
cmp al, 0x8f
je 0x14021d4da
mov cl, 0xec
nop word [rax + rax]
mov al, 0x33
lock cmpxchg byte [0x1404aea3d], cl
je 0x14021d44a
cmp al, 0x8f
jne 0x14021d2a0
jmp 0x14021d4da
movzx eax, byte [0x1404aeaba]
cmp al, 0xee
je 0x14021d317
movzx ecx, byte [0x1404b04d0]
lea eax, [rcx + 0x3e]
add cl, 0xb1
lock cmpxchg byte [0x1404aeaba], cl
jne 0x14021d2c0
xor edx, edx
lea rax, [0x1404aeab0]
lea rcx, [0x1403c6610]
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 0x14021d2f0
mov al, 0xee
xchg byte [0x1404aeaba], al
lea rax, [0x1404aeab0]
jmp 0x14021d4e1
xor eax, eax
lea rcx, [0x1404ae4c0]
lea rdx, [0x1403c6050]
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 [0x1404b04d4]
add r10d, r8d
cmp r9d, r10d
jge 0x14021d375
inc rax
jmp 0x14021d340
mov al, 0x57
xchg byte [0x1404ae4db], al
lea rax, [0x1404ae4c0]
jmp 0x14021d4e1
xor r8d, r8d
mov r9d, 0x136d9910
lea r10, [0x1404ae820]
lea r11, [0x1403c6380]
mov bl, 1
jmp 0x14021d3c8
mov eax, r8d
xor eax, 1
and r8d, 1
lea r8d, [rax + r8*2]
cmp r8d, 0x11
jge 0x14021d478
mov eax, dword [0x1404ef65c]
mov ecx, dword [0x1404b04d4]
add ecx, r9d
movsxd rsi, r8d
cmp eax, ecx
jge 0x14021d3f0
nop
movzx eax, byte [rsi + r11]
add byte [rsi + r10], al
test bl, bl
jne 0x14021d3b0
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 [0x1404ef658]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14021d3f0
jmp 0x14021d3e0
xor eax, eax
lea rcx, [0x1404aea30]
lea rdx, [0x1403c6590]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x14021d4d2
inc rax
jmp 0x14021d460
xor eax, eax
nop word [rax + rax]
test al, al
je 0x14021d48f
mov ecx, dword [0x1404ef65c]
cmp ecx, 0x39
jge 0x14021d480
mov ecx, dword [0x1404ef65c]
cmp ecx, 0x4e
jg 0x14021d484
xor eax, eax
mov cl, 1
nop
mov edx, dword [0x1404ef658]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x14021d4c4
mov dl, 0x1f
xchg byte [0x1404ae831], dl
test al, al
je 0x14021d254
mov dl, 0x1f
xchg byte [0x1404ae831], dl
test cl, cl
je 0x14021d4a0
jmp 0x14021d4b4
mov al, 0x8f
xchg byte [0x1404aea3d], al
lea rax, [0x1404aea30]
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test al, al
jne 0x14021d4fe
nop dword [rax + rax]
cmp dword [0x1404b04d4], 0xec926722
jne 0x14021d4f0
jmp 0x14021d4e5
lea rax, [0x1404ae820]
jmp 0x14021d4e1