Function at 0x140267750
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
test ecx, ecx
je 0x140267789
test edx, edx
je 0x1402677c3
movzx eax, byte [0x140629d50]
cmp al, 0x25
je 0x140267850
mov cl, 0x79
nop dword [rax]
mov al, 0xdc
lock cmpxchg byte [0x140629d50], cl
je 0x140267812
cmp al, 0x25
jne 0x140267770
jmp 0x140267850
test edx, edx
je 0x1402677d7
movzx eax, byte [0x140629e0b]
cmp al, 0xaa
je 0x140267976
mov cl, 8
nop
mov al, 0x9a
lock cmpxchg byte [0x140629e0b], cl
je 0x14026785c
movzx edx, byte [0x140629e64]
add dl, 0x22
cmp al, dl
jne 0x1402677a0
jmp 0x140267976
mov eax, dword [0x14069456c]
cmp eax, 0x4d
jg 0x140267a60
jmp 0x140267a50
movzx eax, byte [0x140629de2]
cmp al, 0x89
je 0x140267a44
mov cl, 0x51
nop dword [rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x140629de2], cl
je 0x140267982
movzx edx, byte [0x140629e64]
inc dl
cmp al, dl
jne 0x1402677f0
jmp 0x140267a44
xor eax, eax
lea rcx, [0x140629d40]
lea rdx, [0x140538910]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xf
jg 0x140267848
inc rax
jmp 0x140267830
mov al, 0x25
xchg byte [0x140629d50], al
lea rax, [0x140629d40]
jmp 0x140267a4b
xor edx, edx
lea r8, [0x140629e00]
lea r9, [0x1405389c0]
mov r10d, 0xcbe266e
xor r11d, r11d
jmp 0x1402678a4
add r11d, 0x16a9c2fd
mov ecx, r11d
xor ecx, eax
and r11d, eax
lea r11d, [rcx + r11*2]
add r11d, 0xe9563d03
cmp r11d, 0xb
jge 0x14026796e
movsxd rsi, r11d
test dl, dl
jne 0x1402678de
nop dword [rax + rax]
movzx eax, byte [rsi + r8]
mov ecx, eax
xor cl, 0x6e
and al, 0x6e
add al, al
add al, cl
add al, byte [rsi + r9]
add al, 0x92
mov byte [rsi + r8], al
mov eax, dword [0x140629e60]
add eax, r10d
mov ecx, dword [0x14069456c]
cmp ecx, 0x58
jle 0x140267880
movzx edi, byte [rsi + r8]
movzx ecx, byte [rsi + r9]
mov eax, edi
shl al, cl
mov ecx, eax
shl dil, cl
sub dil, al
mov ecx, edi
xor cl, 0xe0
and dil, 0x60
add dil, dil
add dil, cl
mov ecx, eax
xor cl, al
not cl
and cl, dil
xor cl, al
and dil, al
add dil, dil
add dil, cl
lea ecx, [rdi - 0x61]
add dil, 0x20
xor cl, 0x7f
mov ebx, ecx
xor bl, al
and cl, al
add cl, cl
add cl, bl
shl dil, cl
mov eax, edi
shl al, cl
sub al, dil
mov ebx, edi
mov ecx, eax
shl bl, cl
mov eax, ebx
sub al, dil
mov ecx, eax
not cl
mov edi, ecx
and dil, bl
mov ebp, eax
and al, bl
not bl
and bpl, bl
or bpl, dil
xor bl, cl
or al, bl
not al
or al, bpl
not al
add al, al
add al, bpl
mov byte [rsi + r8], al
jmp 0x1402678b0
mov al, 0xaa
xchg byte [0x140629e0b], al
lea rax, [0x140629e00]
jmp 0x140267a4b
xor edx, edx
lea rax, [0x140629de0]
lea rcx, [0x1405389a0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
add edx, 0xc9cd01ba
mov r8d, edx
xor r8d, 0x762aea27
and edx, 0x762aea27
lea edx, [r8 + rdx*2]
add edx, 0xc0081420
cmp edx, 2
jl 0x1402679a0
mov eax, dword [0x140694568]
nop word [rax + rax]
cmp qword [0x140694328], 0
jne 0x1402679e0
mov eax, dword [0x140694568]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140629e60]
mov edx, eax
xor edx, 0xcbe266d
and eax, 0xcbe266d
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x140267a3a
mov al, 0x89
xchg byte [0x140629de2], al
mov ecx, dword [0x140694568]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xcbe266f
add ecx, dword [0x140629e60]
xor edx, edx
div ecx
test edx, edx
je 0x140267a44
mov al, 0x89
xchg byte [0x140629de2], al
jmp 0x140267a13
lea rax, [0x140629de0]
pop rbx
pop rbp
pop rdi
pop rsi
ret
movzx eax, byte [0x140629df2]
mov cl, 1
test cl, cl
jne 0x140267a74
nop dword [rax]
movzx eax, byte [0x140629df2]
mov eax, dword [0x14069456c]
cmp eax, 0x33
jge 0x140267a60
jmp 0x140267a50
cmp al, 0xe3
je 0x140267afc
mov cl, 0xf0
nop
mov al, 0xff
lock cmpxchg byte [0x140629df2], cl
je 0x140267a92
cmp al, 0xe3
jne 0x140267a80
jmp 0x140267afc
xor edx, edx
lea rax, [0x140629df0]
lea rcx, [0x1405389b0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rax]
movzx r9d, byte [rdx + rcx]
xor r9b, r8b
mov r10d, r9d
not r10b
and r10b, r8b
add r10b, r10b
mov r8d, r9d
xor r8b, r10b
and r10b, r9b
add r10b, r10b
add r10b, r8b
mov byte [rdx + rax], r10b
mov r8d, dword [0x140629e60]
add edx, r8d
add edx, 0xcbe266e
cmp edx, 2
jl 0x140267ab0
mov al, 0xe3
xchg byte [0x140629df2], al
lea rax, [0x140629df0]
jmp 0x140267a4b