Function at 0x140123cd0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
test ecx, ecx
je 0x140123d98
test edx, edx
je 0x140123e3f
movzx eax, byte [0x140502db6]
cmp al, 0xbd
je 0x140123f43
mov cl, 0x58
mov edx, 0x14542e30
mov r8d, 0x14542dfa
lea rax, [fcn.140123cd0]
lea r9d, [rax + rax]
add r9d, 0x220
mov r10d, r9d
not r10d
nop word [rax + rax]
mov eax, dword [0x140564198]
lea r11d, [rax - 1]
imul r11d, eax
test r11b, 1
jne 0x140123d70
mov al, 0xdf
lock cmpxchg byte [0x140502db6], cl
sete r11b
mov esi, dword [0x14056419c]
mov edi, dword [0x14050300c]
add edi, edx
cmp esi, edi
jge 0x140123d70
test r11b, r11b
jne 0x140123ea3
cmp al, 0xbd
jne 0x140123d20
jmp 0x140123f43
mov al, 0xdf
lock cmpxchg byte [0x140502db6], cl
mov eax, dword [0x14050300c]
add eax, r8d
mov r11d, r9d
xor r11d, eax
not eax
and eax, r10d
or eax, r11d
cmp eax, 0xffffffff
jne 0x140123d20
jmp 0x140123d34
test edx, edx
je 0x140123e69
movzx eax, byte [0x140502e63]
movzx ecx, byte [0x140503008]
add cl, 0xa2
cmp al, cl
je 0x140124178
xor r8d, r8d
mov r9b, 0x48
mov r10d, 0x14542dfb
jmp 0x140123df9
mov al, 0xcc
lock cmpxchg byte [0x140502e63], r9b
mov eax, dword [0x140564198]
mov ecx, dword [0x14050300c]
neg ecx
add ecx, eax
add ecx, 0xebabd206
imul ecx, eax
test cl, 1
je 0x140123dfe
test r8b, r8b
jne 0x140123dd0
mov al, 0xcc
lock cmpxchg byte [0x140502e63], r9b
mov ecx, eax
sete r11b
mov edx, dword [0x140564198]
lea eax, [rdx - 1]
imul eax, edx
mov esi, dword [0x14050300c]
add esi, r10d
xor edx, edx
div esi
test edx, edx
jne 0x140123dd0
test r11b, r11b
jne 0x140123f4f
cmp cl, 0x5b
jne 0x140123df9
jmp 0x140124178
movzx eax, byte [0x140502ebd]
cmp al, 0x9f
je 0x140123fde
mov cl, 0x42
mov al, 0xf9
lock cmpxchg byte [0x140502ebd], cl
je 0x140123f63
cmp al, 0x9f
jne 0x140123e50
jmp 0x140123fde
movzx eax, byte [0x140502cc5]
cmp al, 0x44
je 0x1401240c2
mov cl, 0xd2
nop word [rax + rax]
mov al, 0xaa
lock cmpxchg byte [0x140502cc5], cl
je 0x140124031
movzx edx, byte [0x140503008]
add dl, 0x8b
cmp al, dl
jne 0x140123e80
jmp 0x1401240c2
xor r8d, r8d
lea r9, [0x140502db0]
lea r10, [0x14042aab0]
mov r11b, 1
jmp 0x140123ec9
inc r8d
cmp r8d, 6
jge 0x140123f3b
mov eax, dword [0x140564198]
lea ecx, [rax - 1]
imul ecx, eax
movsxd rsi, r8d
test cl, 1
jne 0x140123f00
nop dword [rax]
movzx eax, byte [rsi + r10]
mov ecx, eax
xor cl, al
not cl
and cl, byte [rsi + r9]
xor cl, al
mov byte [rsi + r9], cl
mov eax, dword [0x14056419c]
cmp eax, 0x22
jl 0x140123ec0
movzx edx, byte [rsi + r9]
movzx ecx, byte [rsi + r10]
mov ebx, edx
shl bl, cl
mov eax, edx
sub al, bl
mul bl
mov ecx, eax
sub dl, al
mov eax, edx
mul cl
shl al, cl
neg al
mov edx, eax
xor dl, cl
and al, cl
add al, al
add al, dl
mov edx, ecx
sub dl, al
xor dl, cl
mov byte [rsi + r9], dl
test r11b, r11b
je 0x140123f00
jmp 0x140123ee0
mov al, 0xbd
xchg byte [0x140502db6], al
lea rax, [0x140502db0]
jmp 0x1401240c9
mov eax, dword [0x14056419c]
cmp eax, 0x58
jle 0x1401240cd
jmp 0x1401240e2
xor eax, eax
lea rcx, [0x140502eb0]
lea rdx, [0x14042aba0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x140123f98
inc rax
jmp 0x140123f80
mov eax, dword [0x14056419c]
mov ecx, 0x14542dfb
nop word cs:[rax + rax]
mov edx, dword [0x140564198]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, dword [0x14050300c]
add r8d, ecx
xor edx, edx
div r8d
test edx, edx
jne 0x140123fb0
movzx eax, byte [0x140503008]
add al, 0xe6
xchg byte [0x140502ebd], al
lea rax, [fcn.140123cd0]
add eax, eax
add eax, 0x41c0
mov cl, 1
nop
mov edx, dword [0x14050300c]
lea r8d, [rdx + 0x14542dfa]
mov r9d, eax
xor r9d, r8d
not r9d
and r9d, r8d
add edx, 0x14542df9
cmp r9d, edx
jne 0x14012401f
mov edx, dword [0x14056419c]
cmp edx, 0xa
jle 0x140124025
test cl, cl
je 0x140123ff0
jmp 0x140124014
lea rax, [0x140502eb0]
jmp 0x1401240c9
xor edx, edx
lea rax, [0x140502cb0]
lea rcx, [0x14042a9d0]
nop word cs:[rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, dword [0x14050300c]
add edx, r8d
add edx, 0x14542dfa
add r8d, 0x14542e0e
cmp edx, r8d
jl 0x140124050
mov eax, dword [0x140564198]
mov ecx, dword [0x14050300c]
neg ecx
add ecx, eax
add ecx, 0xebabd206
jmp 0x1401240ac
mov al, 0x44
xchg byte [0x140502cc5], al
mov eax, dword [0x140564198]
mov ecx, dword [0x14050300c]
add ecx, eax
add ecx, 0x14542dfa
imul ecx, eax
test cl, 1
jne 0x140124090
mov al, 0x44
xchg byte [0x140502cc5], al
mov al, 1
test al, al
je 0x140124090
lea rax, [0x140502cb0]
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x14056419c]
mov ecx, 0x14542e14
add ecx, dword [0x14050300c]
cmp eax, ecx
jl 0x14012410d
mov eax, 0x14542df9
nop word [rax + rax]
mov ecx, dword [0x140564198]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x14050300c]
add ecx, eax
cmp edx, ecx
jne 0x1401240f0
jmp 0x1401240cd
xor eax, eax
lea rcx, [0x140502e40]
lea rdx, [0x14042ab30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0x22
jg 0x140124138
inc rax
jmp 0x140124120
mov eax, 0x14542e3e
xor ecx, ecx
mov dl, 1
nop word cs:[rax + rax]
mov r8d, dword [0x14056419c]
mov r9d, dword [0x14050300c]
add r9d, eax
cmp r8d, r9d
jge 0x14012416a
test cl, cl
je 0x140124170
test dl, dl
je 0x140124150
jmp 0x140124166
mov al, 0x5b
xchg byte [0x140502e63], al
lea rax, [0x140502e40]
jmp 0x1401240c9