Function at 0x140158200
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x14015824c
test edx, edx
je 0x14015829c
test r8d, r8d
je 0x1401582dc
movzx eax, byte [0x14049b3a5]
cmp al, 0x10
je 0x140158244
mov cl, 0x75
nop word cs:[rax + rax]
mov al, 0x8b
lock cmpxchg byte [0x14049b3a5], cl
je 0x1401583bc
cmp al, 0x10
jne 0x140158230
lea rax, [0x14049b3a0]
ret
test edx, edx
je 0x14015830c
test r8d, r8d
je 0x140158349
test r9d, r9d
je 0x1401583f1
movzx eax, byte [0x14049b46b]
cmp al, 0x99
je 0x140158294
mov cl, 0xf1
nop word cs:[rax + rax]
mov al, 0x70
lock cmpxchg byte [0x14049b46b], cl
je 0x140158549
cmp al, 0x99
jne 0x140158280
lea rax, [0x14049b460]
ret
test r8d, r8d
je 0x140158389
movzx eax, byte [0x14049b3e3]
cmp al, 0x65
je 0x1401582d4
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x14049b3e3], cl
je 0x140158469
cmp al, 0x65
jne 0x1401582c0
lea rax, [0x14049b3c0]
ret
movzx eax, byte [0x14049b442]
cmp al, 0xc5
je 0x140158304
mov cl, 0x7d
nop dword [rax]
mov al, 0x41
lock cmpxchg byte [0x14049b442], cl
je 0x1401584a1
cmp al, 0xc5
jne 0x1401582f0
lea rax, [0x14049b440]
ret
test r8d, r8d
je 0x140158429
test r9d, r9d
je 0x1401584e1
movzx eax, byte [0x14049b452]
cmp al, 0x6b
je 0x140158619
mov cl, 5
nop
mov al, 0x9d
lock cmpxchg byte [0x14049b452], cl
je 0x1401585eb
cmp al, 0x6b
jne 0x140158330
jmp 0x140158619
test r9d, r9d
je 0x140158519
movzx eax, byte [0x14049b3b3]
cmp al, 0x7f
je 0x140158659
mov cl, 0x6c
nop word cs:[rax + rax]
mov al, 0xce
lock cmpxchg byte [0x14049b3b3], cl
je 0x140158621
cmp al, 0x7f
jne 0x140158370
jmp 0x140158659
movzx eax, byte [0x14049b40f]
cmp al, 0x76
je 0x1401583b4
mov cl, 0x15
nop word cs:[rax + rax]
mov al, 0x67
lock cmpxchg byte [0x14049b40f], cl
je 0x140158581
cmp al, 0x76
jne 0x1401583a0
lea rax, [0x14049b400]
ret
xor eax, eax
lea rcx, [0x14049b3a0]
lea rdx, [0x1403bde20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401583d0
mov al, 0x10
xchg byte [0x14049b3a5], al
lea rax, [0x14049b3a0]
ret
movzx eax, byte [0x14049b39c]
cmp al, 0x75
je 0x140158699
mov cl, 0x45
nop word cs:[rax + rax]
mov al, 0xd1
lock cmpxchg byte [0x14049b39c], cl
je 0x140158661
cmp al, 0x75
jne 0x140158410
jmp 0x140158699
test r9d, r9d
je 0x1401585c1
movzx eax, byte [0x14049b372]
cmp al, 0xe2
je 0x1401586d9
mov cl, 0x38
nop word cs:[rax + rax]
mov al, 0x52
lock cmpxchg byte [0x14049b372], cl
je 0x1401586a1
cmp al, 0xe2
jne 0x140158450
jmp 0x1401586d9
xor eax, eax
lea rcx, [0x14049b3c0]
lea rdx, [0x1403bde40]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140158480
mov al, 0x65
xchg byte [0x14049b3e3], al
lea rax, [0x14049b3c0]
ret
xor eax, eax
lea rcx, [0x14049b440]
lea rdx, [0x1403bdec0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401584c0
mov al, 0xc5
xchg byte [0x14049b442], al
lea rax, [0x14049b440]
ret
movzx eax, byte [0x14049b436]
cmp al, 0x10
je 0x140158719
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0x65
lock cmpxchg byte [0x14049b436], cl
je 0x1401586e1
cmp al, 0x10
jne 0x140158500
jmp 0x140158719
movzx eax, byte [0x14049b352]
cmp al, 0x40
je 0x140158759
mov cl, 0x90
nop word [rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x14049b352], cl
je 0x140158721
cmp al, 0x40
jne 0x140158530
jmp 0x140158759
xor eax, eax
lea rcx, [0x14049b460]
lea rdx, [0x1403bdee0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140158560
mov al, 0x99
xchg byte [0x14049b46b], al
lea rax, [0x14049b460]
ret
xor eax, eax
lea rcx, [0x14049b400]
lea rdx, [0x1403bde80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401585a0
mov al, 0x76
xchg byte [0x14049b40f], al
lea rax, [0x14049b400]
ret
movzx eax, byte [0x14049b3fb]
cmp al, 0x3d
je 0x14015878a
mov cl, 0xc4
mov al, 0x46
lock cmpxchg byte [0x14049b3fb], cl
je 0x140158761
cmp al, 0x3d
jne 0x1401585d2
jmp 0x14015878a
xor eax, eax
lea rcx, [0x14049b450]
lea rdx, [0x1403bded0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140158600
mov al, 0x6b
xchg byte [0x14049b452], al
lea rax, [0x14049b450]
ret
xor eax, eax
lea rcx, [0x14049b3b0]
lea rdx, [0x1403bde30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140158640
mov al, 0x7f
xchg byte [0x14049b3b3], al
lea rax, [0x14049b3b0]
ret
xor eax, eax
lea rcx, [0x14049b380]
lea rdx, [0x1403bde00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140158680
mov al, 0x75
xchg byte [0x14049b39c], al
lea rax, [0x14049b380]
ret
xor eax, eax
lea rcx, [0x14049b360]
lea rdx, [0x1403bdde0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401586c0
mov al, 0xe2
xchg byte [0x14049b372], al
lea rax, [0x14049b360]
ret
xor eax, eax
lea rcx, [0x14049b410]
lea rdx, [0x1403bde90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x140158700
mov al, 0x10
xchg byte [0x14049b436], al
lea rax, [0x14049b410]
ret
xor eax, eax
lea rcx, [0x14049b340]
lea rdx, [0x1403bddc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140158740
mov al, 0x40
xchg byte [0x14049b352], al
lea rax, [0x14049b340]
ret
xor eax, eax
lea rcx, [0x14049b3f0]
lea rdx, [0x1403bde70]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140158771
mov al, 0x3d
xchg byte [0x14049b3fb], al
lea rax, [0x14049b3f0]
ret