Function at 0x1401ed600
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401ed63c
test edx, edx
je 0x1401ed67c
test r8d, r8d
je 0x1401ed6bc
movzx eax, byte [0x1404573b3]
cmp al, 0xf5
je 0x1401ed634
mov cl, 0xa4
nop
mov al, 0x8b
lock cmpxchg byte [0x1404573b3], cl
je 0x1401ed78c
cmp al, 0xf5
jne 0x1401ed620
lea rax, [0x140457390]
ret
test edx, edx
je 0x1401ed6ec
test r8d, r8d
je 0x1401ed72c
movzx eax, byte [0x14045747d]
cmp al, 0xbd
je 0x1401ed674
mov cl, 0xeb
nop word [rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x14045747d], cl
je 0x1401ed7f9
cmp al, 0xbd
jne 0x1401ed660
lea rax, [0x140457470]
ret
test r8d, r8d
je 0x1401ed75c
movzx eax, byte [0x1404574ab]
cmp al, 0xab
je 0x1401ed6b4
mov cl, 0x1d
nop word cs:[rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x1404574ab], cl
je 0x1401ed831
cmp al, 0xab
jne 0x1401ed6a0
lea rax, [0x1404574a0]
ret
movzx eax, byte [0x140457340]
cmp al, 0x12
je 0x1401ed6e4
mov cl, 0x79
nop dword [rax]
mov al, 0x2a
lock cmpxchg byte [0x140457340], cl
je 0x1401ed871
cmp al, 0x12
jne 0x1401ed6d0
lea rax, [0x140457330]
ret
test r8d, r8d
je 0x1401ed7c1
movzx eax, byte [0x14045736c]
cmp al, 0x70
je 0x1401ed724
mov cl, 0xc6
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x14045736c], cl
je 0x1401ed8b1
cmp al, 0x70
jne 0x1401ed710
lea rax, [0x140457350]
ret
movzx eax, byte [0x140457328]
cmp al, 0x7e
je 0x1401ed754
mov cl, 0x34
nop dword [rax]
mov al, 0xf2
lock cmpxchg byte [0x140457328], cl
je 0x1401ed8f1
cmp al, 0x7e
jne 0x1401ed740
lea rax, [0x140457310]
ret
movzx eax, byte [0x140457305]
cmp al, 0x80
je 0x1401ed784
mov cl, 0xe
nop dword [rax]
mov al, 0x6e
lock cmpxchg byte [0x140457305], cl
je 0x1401ed931
cmp al, 0x80
jne 0x1401ed770
lea rax, [0x1404572f0]
ret
xor eax, eax
lea rcx, [0x140457390]
lea rdx, [0x14036be60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401ed7a0
mov al, 0xf5
xchg byte [0x1404573b3], al
lea rax, [0x140457390]
ret
movzx eax, byte [0x1404572a3]
cmp al, 0xd
je 0x1401ed9a9
mov cl, 0xfc
nop word cs:[rax + rax]
mov al, 0x37
lock cmpxchg byte [0x1404572a3], cl
je 0x1401ed971
cmp al, 0xd
jne 0x1401ed7e0
jmp 0x1401ed9a9
xor eax, eax
lea rcx, [0x140457470]
lea rdx, [0x14036bf40]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401ed810
mov al, 0xbd
xchg byte [0x14045747d], al
lea rax, [0x140457470]
ret
xor eax, eax
lea rcx, [0x1404574a0]
lea rdx, [0x14036bf70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401ed850
mov al, 0xab
xchg byte [0x1404574ab], al
lea rax, [0x1404574a0]
ret
xor eax, eax
lea rcx, [0x140457330]
lea rdx, [0x14036be10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401ed890
mov al, 0x12
xchg byte [0x140457340], al
lea rax, [0x140457330]
ret
xor eax, eax
lea rcx, [0x140457350]
lea rdx, [0x14036be20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x1401ed8d0
mov al, 0x70
xchg byte [0x14045736c], al
lea rax, [0x140457350]
ret
xor eax, eax
lea rcx, [0x140457310]
lea rdx, [0x14036bdf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401ed910
mov al, 0x7e
xchg byte [0x140457328], al
lea rax, [0x140457310]
ret
xor eax, eax
lea rcx, [0x1404572f0]
lea rdx, [0x14036bdd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1401ed950
mov al, 0x80
xchg byte [0x140457305], al
lea rax, [0x1404572f0]
ret
xor eax, eax
lea rcx, [0x1404572a0]
lea rdx, [0x14036bd90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401ed990
mov al, 0xd
xchg byte [0x1404572a3], al
lea rax, [0x1404572a0]
ret