Function at 0x140197110
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14019714c
test edx, edx
je 0x14019718c
test r8d, r8d
je 0x1401971cc
movzx eax, byte [0x14043534f]
cmp al, 0xf7
je 0x140197144
mov cl, 0xd5
nop
mov al, 0x54
lock cmpxchg byte [0x14043534f], cl
je 0x14019729c
cmp al, 0xf7
jne 0x140197130
lea rax, [0x140435340]
ret
test edx, edx
je 0x1401971fc
test r8d, r8d
je 0x14019723c
movzx eax, byte [0x140435392]
cmp al, 0x24
je 0x140197184
mov cl, 0x26
nop word [rax + rax]
mov al, 0x8a
lock cmpxchg byte [0x140435392], cl
je 0x140197309
cmp al, 0x24
jne 0x140197170
lea rax, [0x140435390]
ret
test r8d, r8d
je 0x14019726c
movzx eax, byte [0x1404353d2]
cmp al, 0xc9
je 0x1401971c4
mov cl, 0x3c
nop word cs:[rax + rax]
mov al, 0xea
lock cmpxchg byte [0x1404353d2], cl
je 0x140197341
cmp al, 0xc9
jne 0x1401971b0
lea rax, [0x1404353c0]
ret
movzx eax, byte [0x1404352b0]
cmp al, 0x50
je 0x1401971f4
mov cl, 0xeb
nop dword [rax]
mov al, 0xf5
lock cmpxchg byte [0x1404352b0], cl
je 0x140197381
cmp al, 0x50
jne 0x1401971e0
lea rax, [0x1404352a0]
ret
test r8d, r8d
je 0x1401972d1
movzx eax, byte [0x14043533b]
cmp al, 0x9a
je 0x140197234
mov cl, 0xce
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x14043533b], cl
je 0x1401973c1
cmp al, 0x9a
jne 0x140197220
lea rax, [0x140435330]
ret
movzx eax, byte [0x1404353ab]
cmp al, 0xfe
je 0x140197264
mov cl, 0x8b
nop dword [rax]
mov al, 0x40
lock cmpxchg byte [0x1404353ab], cl
je 0x140197401
cmp al, 0xfe
jne 0x140197250
lea rax, [0x1404353a0]
ret
movzx eax, byte [0x1404353bd]
cmp al, 0x40
je 0x140197294
mov cl, 0x67
nop dword [rax]
mov al, 0x51
lock cmpxchg byte [0x1404353bd], cl
je 0x140197441
cmp al, 0x40
jne 0x140197280
lea rax, [0x1404353b0]
ret
xor eax, eax
lea rcx, [0x140435340]
lea rdx, [0x140357b90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401972b0
mov al, 0xf7
xchg byte [0x14043534f], al
lea rax, [0x140435340]
ret
movzx eax, byte [0x140435260]
cmp al, 0xad
je 0x1401974b9
mov cl, 0x2e
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x140435260], cl
je 0x140197481
cmp al, 0xad
jne 0x1401972f0
jmp 0x1401974b9
xor eax, eax
lea rcx, [0x140435390]
lea rdx, [0x140357be0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140197320
mov al, 0x24
xchg byte [0x140435392], al
lea rax, [0x140435390]
ret
xor eax, eax
lea rcx, [0x1404353c0]
lea rdx, [0x140357c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140197360
mov al, 0xc9
xchg byte [0x1404353d2], al
lea rax, [0x1404353c0]
ret
xor eax, eax
lea rcx, [0x1404352a0]
lea rdx, [0x140357b00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401973a0
mov al, 0x50
xchg byte [0x1404352b0], al
lea rax, [0x1404352a0]
ret
xor eax, eax
lea rcx, [0x140435330]
lea rdx, [0x140357b80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401973e0
mov al, 0x9a
xchg byte [0x14043533b], al
lea rax, [0x140435330]
ret
xor eax, eax
lea rcx, [0x1404353a0]
lea rdx, [0x140357bf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140197420
mov al, 0xfe
xchg byte [0x1404353ab], al
lea rax, [0x1404353a0]
ret
xor eax, eax
lea rcx, [0x1404353b0]
lea rdx, [0x140357c00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140197460
mov al, 0x40
xchg byte [0x1404353bd], al
lea rax, [0x1404353b0]
ret
xor eax, eax
lea rcx, [0x140435250]
lea rdx, [0x140357ac0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401974a0
mov al, 0xad
xchg byte [0x140435260], al
lea rax, [0x140435250]
ret