Function at 0x14017cee0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14017cf2c
test edx, edx
je 0x14017cf7c
test r8d, r8d
je 0x14017cfbc
movzx eax, byte [0x14049d323]
cmp al, 0x2e
je 0x14017cf24
mov cl, 0xed
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x14049d323], cl
je 0x14017d09c
cmp al, 0x2e
jne 0x14017cf10
lea rax, [0x14049d300]
ret
test edx, edx
je 0x14017cfec
test r8d, r8d
je 0x14017d029
test r9d, r9d
je 0x14017d0d1
movzx eax, byte [0x14049d242]
cmp al, 0x68
je 0x14017cf74
mov cl, 0xf1
nop word cs:[rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x14049d242], cl
je 0x14017d229
cmp al, 0x68
jne 0x14017cf60
lea rax, [0x14049d230]
ret
test r8d, r8d
je 0x14017d069
movzx eax, byte [0x14049d2b0]
cmp al, 0xaf
je 0x14017cfb4
mov cl, 0xd4
nop word cs:[rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x14049d2b0], cl
je 0x14017d149
cmp al, 0xaf
jne 0x14017cfa0
lea rax, [0x14049d2a0]
ret
movzx eax, byte [0x14049d3bd]
cmp al, 0x68
je 0x14017cfe4
mov cl, 0x94
nop dword [rax]
mov al, 0x1f
lock cmpxchg byte [0x14049d3bd], cl
je 0x14017d181
cmp al, 0x68
jne 0x14017cfd0
lea rax, [0x14049d3b0]
ret
test r8d, r8d
je 0x14017d109
test r9d, r9d
je 0x14017d1c1
movzx eax, byte [0x14049d34f]
cmp al, 0x75
je 0x14017d2f9
mov cl, 0x8c
nop
mov al, 0xc9
lock cmpxchg byte [0x14049d34f], cl
je 0x14017d2cb
cmp al, 0x75
jne 0x14017d010
jmp 0x14017d2f9
test r9d, r9d
je 0x14017d1f9
movzx eax, byte [0x14049d2f3]
cmp al, 0x3f
je 0x14017d339
mov cl, 0x40
nop word cs:[rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x14049d2f3], cl
je 0x14017d301
cmp al, 0x3f
jne 0x14017d050
jmp 0x14017d339
movzx eax, byte [0x14049d3ab]
cmp al, 0xf6
je 0x14017d094
mov cl, 0x8f
nop word cs:[rax + rax]
mov al, 0x34
lock cmpxchg byte [0x14049d3ab], cl
je 0x14017d261
cmp al, 0xf6
jne 0x14017d080
lea rax, [0x14049d3a0]
ret
xor eax, eax
lea rcx, [0x14049d300]
lea rdx, [0x1403be5f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x14017d0b0
mov al, 0x2e
xchg byte [0x14049d323], al
lea rax, [0x14049d300]
ret
movzx eax, byte [0x14049d382]
cmp al, 0x15
je 0x14017d379
mov cl, 0xfb
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x14049d382], cl
je 0x14017d341
cmp al, 0x15
jne 0x14017d0f0
jmp 0x14017d379
test r9d, r9d
je 0x14017d2a1
movzx eax, byte [0x14049d3ed]
cmp al, 0xf6
je 0x14017d3b9
mov cl, 0x88
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x14049d3ed], cl
je 0x14017d381
cmp al, 0xf6
jne 0x14017d130
jmp 0x14017d3b9
xor eax, eax
lea rcx, [0x14049d2a0]
lea rdx, [0x1403be5a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x14017d160
mov al, 0xaf
xchg byte [0x14049d2b0], al
lea rax, [0x14049d2a0]
ret
xor eax, eax
lea rcx, [0x14049d3b0]
lea rdx, [0x1403be6a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14017d1a0
mov al, 0x68
xchg byte [0x14049d3bd], al
lea rax, [0x14049d3b0]
ret
movzx eax, byte [0x14049d2e5]
cmp al, 0xe5
je 0x14017d3f9
mov cl, 0xcc
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x14049d2e5], cl
je 0x14017d3c1
cmp al, 0xe5
jne 0x14017d1e0
jmp 0x14017d3f9
movzx eax, byte [0x14049d392]
cmp al, 0xa8
je 0x14017d439
mov cl, 0xb8
nop word [rax + rax]
mov al, 0x36
lock cmpxchg byte [0x14049d392], cl
je 0x14017d401
cmp al, 0xa8
jne 0x14017d210
jmp 0x14017d439
xor eax, eax
lea rcx, [0x14049d230]
lea rdx, [0x1403be540]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x14017d240
mov al, 0x68
xchg byte [0x14049d242], al
lea rax, [0x14049d230]
ret
xor eax, eax
lea rcx, [0x14049d3a0]
lea rdx, [0x1403be690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x14017d280
mov al, 0xf6
xchg byte [0x14049d3ab], al
lea rax, [0x14049d3a0]
ret
movzx eax, byte [0x14049d225]
cmp al, 0xb5
je 0x14017d46a
mov cl, 0x9c
mov al, 0xb1
lock cmpxchg byte [0x14049d225], cl
je 0x14017d441
cmp al, 0xb5
jne 0x14017d2b2
jmp 0x14017d46a
xor eax, eax
lea rcx, [0x14049d340]
lea rdx, [0x1403be630]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x14017d2e0
mov al, 0x75
xchg byte [0x14049d34f], al
lea rax, [0x14049d340]
ret
xor eax, eax
lea rcx, [0x14049d2f0]
lea rdx, [0x1403be5e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x14017d320
mov al, 0x3f
xchg byte [0x14049d2f3], al
lea rax, [0x14049d2f0]
ret
xor eax, eax
lea rcx, [0x14049d380]
lea rdx, [0x1403be670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14017d360
mov al, 0x15
xchg byte [0x14049d382], al
lea rax, [0x14049d380]
ret
xor eax, eax
lea rcx, [0x14049d3e0]
lea rdx, [0x1403be6d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x14017d3a0
mov al, 0xf6
xchg byte [0x14049d3ed], al
lea rax, [0x14049d3e0]
ret
xor eax, eax
lea rcx, [0x14049d2e0]
lea rdx, [0x1403be5d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x14017d3e0
mov al, 0xe5
xchg byte [0x14049d2e5], al
lea rax, [0x14049d2e0]
ret
xor eax, eax
lea rcx, [0x14049d390]
lea rdx, [0x1403be680]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x14017d420
mov al, 0xa8
xchg byte [0x14049d392], al
lea rax, [0x14049d390]
ret
xor eax, eax
lea rcx, [0x14049d210]
lea rdx, [0x1403be520]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x14017d451
mov al, 0xb5
xchg byte [0x14049d225], al
lea rax, [0x14049d210]
ret