Function at 0x140158660
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x1401586ac
test edx, edx
je 0x1401586fc
test r8d, r8d
je 0x14015873c
movzx eax, byte [0x140446354]
cmp al, 0xca
je 0x1401586a4
mov cl, 8
nop word cs:[rax + rax]
mov al, 0xcc
lock cmpxchg byte [0x140446354], cl
je 0x14015881c
cmp al, 0xca
jne 0x140158690
lea rax, [0x140446340]
ret
test edx, edx
je 0x14015876c
test r8d, r8d
je 0x1401587a9
test r9d, r9d
je 0x140158851
movzx eax, byte [0x140446165]
cmp al, 0x28
je 0x1401586f4
mov cl, 0x34
nop word cs:[rax + rax]
mov al, 0x21
lock cmpxchg byte [0x140446165], cl
je 0x1401589a9
cmp al, 0x28
jne 0x1401586e0
lea rax, [0x140446160]
ret
test r8d, r8d
je 0x1401587e9
movzx eax, byte [0x1404462bd]
cmp al, 0xdc
je 0x140158734
mov cl, 0x66
nop word cs:[rax + rax]
mov al, 0xd0
lock cmpxchg byte [0x1404462bd], cl
je 0x1401588c9
cmp al, 0xdc
jne 0x140158720
lea rax, [0x1404462b0]
ret
movzx eax, byte [0x140446079]
cmp al, 0xd5
je 0x140158764
mov cl, 0x82
nop dword [rax]
mov al, 0xc1
lock cmpxchg byte [0x140446079], cl
je 0x140158901
cmp al, 0xd5
jne 0x140158750
lea rax, [0x140446070]
ret
test r8d, r8d
je 0x140158889
test r9d, r9d
je 0x140158941
movzx eax, byte [0x140446252]
cmp al, 0x68
je 0x140158a79
mov cl, 0x66
nop
mov al, 0xea
lock cmpxchg byte [0x140446252], cl
je 0x140158a4b
cmp al, 0x68
jne 0x140158790
jmp 0x140158a79
test r9d, r9d
je 0x140158979
movzx eax, byte [0x1404461f6]
cmp al, 0xe4
je 0x140158ab9
mov cl, 0xb5
nop word cs:[rax + rax]
mov al, 0xd8
lock cmpxchg byte [0x1404461f6], cl
je 0x140158a81
cmp al, 0xe4
jne 0x1401587d0
jmp 0x140158ab9
movzx eax, byte [0x14044615c]
cmp al, 7
je 0x140158814
mov cl, 0x97
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x14044615c], cl
je 0x1401589e1
cmp al, 7
jne 0x140158800
lea rax, [0x140446140]
ret
xor eax, eax
lea rcx, [0x140446340]
lea rdx, [0x140363150]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x140158830
mov al, 0xca
xchg byte [0x140446354], al
lea rax, [0x140446340]
ret
movzx eax, byte [0x14044626d]
cmp al, 0x50
je 0x140158af9
mov cl, 0x3f
nop word cs:[rax + rax]
mov al, 0x9e
lock cmpxchg byte [0x14044626d], cl
je 0x140158ac1
cmp al, 0x50
jne 0x140158870
jmp 0x140158af9
test r9d, r9d
je 0x140158a21
movzx eax, byte [0x140446385]
cmp al, 0x1d
je 0x140158b39
mov cl, 0xea
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x140446385], cl
je 0x140158b01
cmp al, 0x1d
jne 0x1401588b0
jmp 0x140158b39
xor eax, eax
lea rcx, [0x1404462b0]
lea rdx, [0x1403630c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401588e0
mov al, 0xdc
xchg byte [0x1404462bd], al
lea rax, [0x1404462b0]
ret
xor eax, eax
lea rcx, [0x140446070]
lea rdx, [0x140362e90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x140158920
mov al, 0xd5
xchg byte [0x140446079], al
lea rax, [0x140446070]
ret
movzx eax, byte [0x140446111]
cmp al, 0xdf
je 0x140158b79
mov cl, 0xd2
nop word cs:[rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x140446111], cl
je 0x140158b41
cmp al, 0xdf
jne 0x140158960
jmp 0x140158b79
movzx eax, byte [0x14044633d]
cmp al, 0xc5
je 0x140158bb9
mov cl, 0x3a
nop word [rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x14044633d], cl
je 0x140158b81
cmp al, 0xc5
jne 0x140158990
jmp 0x140158bb9
xor eax, eax
lea rcx, [0x140446160]
lea rdx, [0x140362f70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401589c0
mov al, 0x28
xchg byte [0x140446165], al
lea rax, [0x140446160]
ret
xor eax, eax
lea rcx, [0x140446140]
lea rdx, [0x140362f50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140158a00
mov al, 7
xchg byte [0x14044615c], al
lea rax, [0x140446140]
ret
movzx eax, byte [0x1404461bb]
cmp al, 0x21
je 0x140158bea
mov cl, 0x13
mov al, 0xac
lock cmpxchg byte [0x1404461bb], cl
je 0x140158bc1
cmp al, 0x21
jne 0x140158a32
jmp 0x140158bea
xor eax, eax
lea rcx, [0x140446240]
lea rdx, [0x140363050]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140158a60
mov al, 0x68
xchg byte [0x140446252], al
lea rax, [0x140446240]
ret
xor eax, eax
lea rcx, [0x1404461d0]
lea rdx, [0x140362fe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140158aa0
mov al, 0xe4
xchg byte [0x1404461f6], al
lea rax, [0x1404461d0]
ret
xor eax, eax
lea rcx, [0x140446260]
lea rdx, [0x140363070]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140158ae0
mov al, 0x50
xchg byte [0x14044626d], al
lea rax, [0x140446260]
ret
xor eax, eax
lea rcx, [0x140446370]
lea rdx, [0x140363180]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140158b20
mov al, 0x1d
xchg byte [0x140446385], al
lea rax, [0x140446370]
ret
xor eax, eax
lea rcx, [0x140446100]
lea rdx, [0x140362f20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140158b60
mov al, 0xdf
xchg byte [0x140446111], al
lea rax, [0x140446100]
ret
xor eax, eax
lea rcx, [0x140446330]
lea rdx, [0x140363140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140158ba0
mov al, 0xc5
xchg byte [0x14044633d], al
lea rax, [0x140446330]
ret
xor eax, eax
lea rcx, [0x1404461b0]
lea rdx, [0x140362fc0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140158bd1
mov al, 0x21
xchg byte [0x1404461bb], al
lea rax, [0x1404461b0]
ret