Function at 0x14021cef0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14021cf2c
test edx, edx
je 0x14021cf6c
test r8d, r8d
je 0x14021cfac
movzx eax, byte [0x140485ca3]
cmp al, 0xf5
je 0x14021cf24
mov cl, 0xa4
nop
mov al, 0x8b
lock cmpxchg byte [0x140485ca3], cl
je 0x14021d07c
cmp al, 0xf5
jne 0x14021cf10
lea rax, [0x140485c80]
ret
test edx, edx
je 0x14021cfdc
test r8d, r8d
je 0x14021d01c
movzx eax, byte [0x140485d6d]
cmp al, 0xbd
je 0x14021cf64
mov cl, 0xeb
nop word [rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x140485d6d], cl
je 0x14021d0e9
cmp al, 0xbd
jne 0x14021cf50
lea rax, [0x140485d60]
ret
test r8d, r8d
je 0x14021d04c
movzx eax, byte [0x140485d9b]
cmp al, 0xab
je 0x14021cfa4
mov cl, 0x1d
nop word cs:[rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x140485d9b], cl
je 0x14021d121
cmp al, 0xab
jne 0x14021cf90
lea rax, [0x140485d90]
ret
movzx eax, byte [0x140485c30]
cmp al, 0x12
je 0x14021cfd4
mov cl, 0x79
nop dword [rax]
mov al, 0x2a
lock cmpxchg byte [0x140485c30], cl
je 0x14021d161
cmp al, 0x12
jne 0x14021cfc0
lea rax, [0x140485c20]
ret
test r8d, r8d
je 0x14021d0b1
movzx eax, byte [0x140485c5c]
cmp al, 0x70
je 0x14021d014
mov cl, 0xc6
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x140485c5c], cl
je 0x14021d1a1
cmp al, 0x70
jne 0x14021d000
lea rax, [0x140485c40]
ret
movzx eax, byte [0x140485c18]
cmp al, 0x7e
je 0x14021d044
mov cl, 0x34
nop dword [rax]
mov al, 0xf2
lock cmpxchg byte [0x140485c18], cl
je 0x14021d1e1
cmp al, 0x7e
jne 0x14021d030
lea rax, [0x140485c00]
ret
movzx eax, byte [0x140485bf5]
cmp al, 0x80
je 0x14021d074
mov cl, 0xe
nop dword [rax]
mov al, 0x6e
lock cmpxchg byte [0x140485bf5], cl
je 0x14021d221
cmp al, 0x80
jne 0x14021d060
lea rax, [0x140485be0]
ret
xor eax, eax
lea rcx, [0x140485c80]
lea rdx, [0x14039ae80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x14021d090
mov al, 0xf5
xchg byte [0x140485ca3], al
lea rax, [0x140485c80]
ret
movzx eax, byte [0x140485b93]
cmp al, 0xd
je 0x14021d299
mov cl, 0xfc
nop word cs:[rax + rax]
mov al, 0x37
lock cmpxchg byte [0x140485b93], cl
je 0x14021d261
cmp al, 0xd
jne 0x14021d0d0
jmp 0x14021d299
xor eax, eax
lea rcx, [0x140485d60]
lea rdx, [0x14039af60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14021d100
mov al, 0xbd
xchg byte [0x140485d6d], al
lea rax, [0x140485d60]
ret
xor eax, eax
lea rcx, [0x140485d90]
lea rdx, [0x14039af90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14021d140
mov al, 0xab
xchg byte [0x140485d9b], al
lea rax, [0x140485d90]
ret
xor eax, eax
lea rcx, [0x140485c20]
lea rdx, [0x14039ae30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14021d180
mov al, 0x12
xchg byte [0x140485c30], al
lea rax, [0x140485c20]
ret
xor eax, eax
lea rcx, [0x140485c40]
lea rdx, [0x14039ae40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x14021d1c0
mov al, 0x70
xchg byte [0x140485c5c], al
lea rax, [0x140485c40]
ret
xor eax, eax
lea rcx, [0x140485c00]
lea rdx, [0x14039ae10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x14021d200
mov al, 0x7e
xchg byte [0x140485c18], al
lea rax, [0x140485c00]
ret
xor eax, eax
lea rcx, [0x140485be0]
lea rdx, [0x14039adf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14021d240
mov al, 0x80
xchg byte [0x140485bf5], al
lea rax, [0x140485be0]
ret
xor eax, eax
lea rcx, [0x140485b90]
lea rdx, [0x14039adb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14021d280
mov al, 0xd
xchg byte [0x140485b93], al
lea rax, [0x140485b90]
ret