Function at 0x140156d70
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x140156dac
test edx, edx
je 0x140156dec
test r8d, r8d
je 0x140156e2c
movzx eax, byte [0x14049ae7d]
cmp al, 0x24
je 0x140156da4
mov cl, 0x1e
nop
mov al, 0x12
lock cmpxchg byte [0x14049ae7d], cl
je 0x140156efc
cmp al, 0x24
jne 0x140156d90
lea rax, [0x14049ae70]
ret
test edx, edx
je 0x140156e5c
test r8d, r8d
je 0x140156e9c
movzx eax, byte [0x14049abf9]
cmp al, 0x17
je 0x140156de4
mov cl, 0xba
nop word [rax + rax]
mov al, 0x85
lock cmpxchg byte [0x14049abf9], cl
je 0x140156f69
cmp al, 0x17
jne 0x140156dd0
lea rax, [0x14049abf0]
ret
test r8d, r8d
je 0x140156ecc
movzx eax, byte [0x14049acb8]
cmp al, 5
je 0x140156e24
mov cl, 0x6f
nop word cs:[rax + rax]
mov al, 0x81
lock cmpxchg byte [0x14049acb8], cl
je 0x140156fa1
cmp al, 5
jne 0x140156e10
lea rax, [0x14049aca0]
ret
movzx eax, byte [0x14049abe5]
cmp al, 0x7b
je 0x140156e54
mov cl, 0xe3
nop dword [rax]
mov al, 0x59
lock cmpxchg byte [0x14049abe5], cl
je 0x140156fe1
cmp al, 0x7b
jne 0x140156e40
lea rax, [0x14049abd0]
ret
test r8d, r8d
je 0x140156f31
movzx eax, byte [0x14049ae3d]
cmp al, 0x71
je 0x140156e94
mov cl, 0x18
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x14049ae3d], cl
je 0x140157021
cmp al, 0x71
jne 0x140156e80
lea rax, [0x14049ae30]
ret
movzx eax, byte [0x14049aea2]
cmp al, 0x39
je 0x140156ec4
mov cl, 0x1c
nop dword [rax]
mov al, 0xfd
lock cmpxchg byte [0x14049aea2], cl
je 0x140157061
cmp al, 0x39
jne 0x140156eb0
lea rax, [0x14049ae90]
ret
movzx eax, byte [0x14049adfd]
cmp al, 0x75
je 0x140156ef4
mov cl, 0xd7
nop dword [rax]
mov al, 0xce
lock cmpxchg byte [0x14049adfd], cl
je 0x1401570a1
cmp al, 0x75
jne 0x140156ee0
lea rax, [0x14049adf0]
ret
xor eax, eax
lea rcx, [0x14049ae70]
lea rdx, [0x1403bdd20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140156f10
mov al, 0x24
xchg byte [0x14049ae7d], al
lea rax, [0x14049ae70]
ret
movzx eax, byte [0x14049ab7d]
cmp al, 0xd8
je 0x140157119
mov cl, 0xe0
nop word cs:[rax + rax]
mov al, 0x86
lock cmpxchg byte [0x14049ab7d], cl
je 0x1401570e1
cmp al, 0xd8
jne 0x140156f50
jmp 0x140157119
xor eax, eax
lea rcx, [0x14049abf0]
lea rdx, [0x1403bda90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140156f80
mov al, 0x17
xchg byte [0x14049abf9], al
lea rax, [0x14049abf0]
ret
xor eax, eax
lea rcx, [0x14049aca0]
lea rdx, [0x1403bdb20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140156fc0
mov al, 5
xchg byte [0x14049acb8], al
lea rax, [0x14049aca0]
ret
xor eax, eax
lea rcx, [0x14049abd0]
lea rdx, [0x1403bda70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140157000
mov al, 0x7b
xchg byte [0x14049abe5], al
lea rax, [0x14049abd0]
ret
xor eax, eax
lea rcx, [0x14049ae30]
lea rdx, [0x1403bdce0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140157040
mov al, 0x71
xchg byte [0x14049ae3d], al
lea rax, [0x14049ae30]
ret
xor eax, eax
lea rcx, [0x14049ae90]
lea rdx, [0x1403bdd40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140157080
mov al, 0x39
xchg byte [0x14049aea2], al
lea rax, [0x14049ae90]
ret
xor eax, eax
lea rcx, [0x14049adf0]
lea rdx, [0x1403bdca0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401570c0
mov al, 0x75
xchg byte [0x14049adfd], al
lea rax, [0x14049adf0]
ret
xor eax, eax
lea rcx, [0x14049ab70]
lea rdx, [0x1403bda10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140157100
mov al, 0xd8
xchg byte [0x14049ab7d], al
lea rax, [0x14049ab70]
ret