Function at 0x1401a7c70
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401a7cac
test edx, edx
je 0x1401a7cec
test r8d, r8d
je 0x1401a7d2c
movzx eax, byte [0x140476daf]
cmp al, 0xf7
je 0x1401a7ca4
mov cl, 0xd5
nop
mov al, 0x54
lock cmpxchg byte [0x140476daf], cl
je 0x1401a7dfc
cmp al, 0xf7
jne 0x1401a7c90
lea rax, [0x140476da0]
ret
test edx, edx
je 0x1401a7d5c
test r8d, r8d
je 0x1401a7d9c
movzx eax, byte [0x140476df2]
cmp al, 0x24
je 0x1401a7ce4
mov cl, 0x26
nop word [rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x140476df2], cl
je 0x1401a7e69
cmp al, 0x24
jne 0x1401a7cd0
lea rax, [0x140476df0]
ret
test r8d, r8d
je 0x1401a7dcc
movzx eax, byte [0x140476e32]
cmp al, 0xc9
je 0x1401a7d24
mov cl, 0x3c
nop word cs:[rax + rax]
mov al, 0xea
lock cmpxchg byte [0x140476e32], cl
je 0x1401a7ea1
cmp al, 0xc9
jne 0x1401a7d10
lea rax, [0x140476e20]
ret
movzx eax, byte [0x140476d10]
cmp al, 0x50
je 0x1401a7d54
mov cl, 0xeb
nop dword [rax]
mov al, 0xf5
lock cmpxchg byte [0x140476d10], cl
je 0x1401a7ee1
cmp al, 0x50
jne 0x1401a7d40
lea rax, [0x140476d00]
ret
test r8d, r8d
je 0x1401a7e31
movzx eax, byte [0x140476d9b]
cmp al, 0x9a
je 0x1401a7d94
mov cl, 0xce
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x140476d9b], cl
je 0x1401a7f21
cmp al, 0x9a
jne 0x1401a7d80
lea rax, [0x140476d90]
ret
movzx eax, byte [0x140476e0b]
cmp al, 0xfe
je 0x1401a7dc4
mov cl, 0x8b
nop dword [rax]
mov al, 0x40
lock cmpxchg byte [0x140476e0b], cl
je 0x1401a7f61
cmp al, 0xfe
jne 0x1401a7db0
lea rax, [0x140476e00]
ret
movzx eax, byte [0x140476e1d]
cmp al, 0x40
je 0x1401a7df4
mov cl, 0x67
nop dword [rax]
mov al, 0x51
lock cmpxchg byte [0x140476e1d], cl
je 0x1401a7fa1
cmp al, 0x40
jne 0x1401a7de0
lea rax, [0x140476e10]
ret
xor eax, eax
lea rcx, [0x140476da0]
lea rdx, [0x1403921a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401a7e10
mov al, 0xf7
xchg byte [0x140476daf], al
lea rax, [0x140476da0]
ret
movzx eax, byte [0x140476cc0]
cmp al, 0xad
je 0x1401a8019
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x140476cc0], cl
je 0x1401a7fe1
cmp al, 0xad
jne 0x1401a7e50
jmp 0x1401a8019
xor eax, eax
lea rcx, [0x140476df0]
lea rdx, [0x1403921f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401a7e80
mov al, 0x24
xchg byte [0x140476df2], al
lea rax, [0x140476df0]
ret
xor eax, eax
lea rcx, [0x140476e20]
lea rdx, [0x140392220]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401a7ec0
mov al, 0xc9
xchg byte [0x140476e32], al
lea rax, [0x140476e20]
ret
xor eax, eax
lea rcx, [0x140476d00]
lea rdx, [0x140392110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401a7f00
mov al, 0x50
xchg byte [0x140476d10], al
lea rax, [0x140476d00]
ret
xor eax, eax
lea rcx, [0x140476d90]
lea rdx, [0x140392190]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401a7f40
mov al, 0x9a
xchg byte [0x140476d9b], al
lea rax, [0x140476d90]
ret
xor eax, eax
lea rcx, [0x140476e00]
lea rdx, [0x140392200]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401a7f80
mov al, 0xfe
xchg byte [0x140476e0b], al
lea rax, [0x140476e00]
ret
xor eax, eax
lea rcx, [0x140476e10]
lea rdx, [0x140392210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401a7fc0
mov al, 0x40
xchg byte [0x140476e1d], al
lea rax, [0x140476e10]
ret
xor eax, eax
lea rcx, [0x140476cb0]
lea rdx, [0x1403920d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401a8000
mov al, 0xad
xchg byte [0x140476cc0], al
lea rax, [0x140476cb0]
ret