Function at 0x14017cb20
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14017cb5c
test edx, edx
je 0x14017cb9c
test r8d, r8d
je 0x14017cbdc
movzx eax, byte [0x14049d3d3]
cmp al, 0x69
je 0x14017cb54
mov cl, 0x5a
nop
mov al, 0xac
lock cmpxchg byte [0x14049d3d3], cl
je 0x14017ccac
cmp al, 0x69
jne 0x14017cb40
lea rax, [0x14049d3c0]
ret
test edx, edx
je 0x14017cc0c
test r8d, r8d
je 0x14017cc4c
movzx eax, byte [0x14049d261]
cmp al, 0xc3
je 0x14017cb94
mov cl, 0xc0
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x14049d261], cl
je 0x14017cd19
cmp al, 0xc3
jne 0x14017cb80
lea rax, [0x14049d250]
ret
test r8d, r8d
je 0x14017cc7c
movzx eax, byte [0x14049d406]
cmp al, 0x37
je 0x14017cbd4
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x14049d406], cl
je 0x14017cd51
cmp al, 0x37
jne 0x14017cbc0
lea rax, [0x14049d3f0]
ret
movzx eax, byte [0x14049d2dc]
cmp al, 0x57
je 0x14017cc04
mov cl, 0x71
nop dword [rax]
mov al, 0x33
lock cmpxchg byte [0x14049d2dc], cl
je 0x14017cd91
cmp al, 0x57
jne 0x14017cbf0
lea rax, [0x14049d2c0]
ret
test r8d, r8d
je 0x14017cce1
movzx eax, byte [0x14049d29e]
cmp al, 0xdc
je 0x14017cc44
mov cl, 0xff
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x14049d29e], cl
je 0x14017cdd1
cmp al, 0xdc
jne 0x14017cc30
lea rax, [0x14049d290]
ret
movzx eax, byte [0x14049d33b]
cmp al, 0xe0
je 0x14017cc74
mov cl, 9
nop dword [rax]
mov al, 0xb9
lock cmpxchg byte [0x14049d33b], cl
je 0x14017ce11
cmp al, 0xe0
jne 0x14017cc60
lea rax, [0x14049d330]
ret
movzx eax, byte [0x14049d280]
cmp al, 0xea
je 0x14017cca4
mov cl, 0xde
nop dword [rax]
mov al, 0xb0
lock cmpxchg byte [0x14049d280], cl
je 0x14017ce51
cmp al, 0xea
jne 0x14017cc90
lea rax, [0x14049d270]
ret
xor eax, eax
lea rcx, [0x14049d3c0]
lea rdx, [0x1403be6b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x14017ccc0
mov al, 0x69
xchg byte [0x14049d3d3], al
lea rax, [0x14049d3c0]
ret
movzx eax, byte [0x14049d376]
cmp al, 0x16
je 0x14017cec9
mov cl, 0x57
nop word cs:[rax + rax]
mov al, 0xfc
lock cmpxchg byte [0x14049d376], cl
je 0x14017ce91
cmp al, 0x16
jne 0x14017cd00
jmp 0x14017cec9
xor eax, eax
lea rcx, [0x14049d250]
lea rdx, [0x1403be560]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x14017cd30
mov al, 0xc3
xchg byte [0x14049d261], al
lea rax, [0x14049d250]
ret
xor eax, eax
lea rcx, [0x14049d3f0]
lea rdx, [0x1403be6e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x14017cd70
mov al, 0x37
xchg byte [0x14049d406], al
lea rax, [0x14049d3f0]
ret
xor eax, eax
lea rcx, [0x14049d2c0]
lea rdx, [0x1403be5b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x14017cdb0
mov al, 0x57
xchg byte [0x14049d2dc], al
lea rax, [0x14049d2c0]
ret
xor eax, eax
lea rcx, [0x14049d290]
lea rdx, [0x1403be590]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x14017cdf0
mov al, 0xdc
xchg byte [0x14049d29e], al
lea rax, [0x14049d290]
ret
xor eax, eax
lea rcx, [0x14049d330]
lea rdx, [0x1403be620]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14017ce30
mov al, 0xe0
xchg byte [0x14049d33b], al
lea rax, [0x14049d330]
ret
xor eax, eax
lea rcx, [0x14049d270]
lea rdx, [0x1403be580]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14017ce70
mov al, 0xea
xchg byte [0x14049d280], al
lea rax, [0x14049d270]
ret
xor eax, eax
lea rcx, [0x14049d350]
lea rdx, [0x1403be640]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x14017ceb0
mov al, 0x16
xchg byte [0x14049d376], al
lea rax, [0x14049d350]
ret