Function at 0x140123e90
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov r8d, edx
test ecx, ecx
je 0x140123f40
mov ecx, dword [0x140531768]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x53711cb6
add ecx, dword [0x1404d7c90]
xor edx, edx
div ecx
test edx, edx
nop dword [rax + rax]
mov eax, dword [0x14053176c]
cmp eax, 0x34
jg 0x140123ec0
test r8d, r8d
je 0x140123ff2
movzx eax, byte [0x1404d794d]
nop dword [rax + rax]
cmp al, 0xc7
je 0x1401240a9
movzx ecx, byte [0x1404d7c94]
lea eax, [rcx - 0x48]
add cl, 0xb1
lock cmpxchg byte [0x1404d794d], cl
jne 0x140123ee0
xor eax, eax
lea rcx, [0x1404d7940]
lea rdx, [0x140402ad0]
nop
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
mov r10d, r8d
xor r10b, r9b
and r8b, r9b
add r8b, r8b
add r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x1401240a1
inc rax
jmp 0x140123f10
test r8d, r8d
je 0x140124029
movzx eax, byte [0x1404d7898]
movzx ecx, byte [0x1404d7c94]
add cl, 0xd9
cmp al, cl
je 0x140124190
xor ecx, ecx
mov dl, 0x6d
lea rax, [fcn.140123e90]
lea r8d, [rax + rax]
add r8d, 0x2020
mov r9d, r8d
not r9d
mov r10b, 1
nop word cs:[rax + rax]
test cl, cl
jne 0x140123fc2
mov al, 0x4e
lock cmpxchg byte [0x1404d7898], dl
sete r11b
mov esi, dword [0x1404d7c90]
mov edi, 0xac8ee34a
sub edi, esi
add esi, 0x53711cb5
and edi, r9d
xor esi, r8d
or esi, edi
cmp esi, 0xffffffff
je 0x140123fe0
mov al, 0x4e
lock cmpxchg byte [0x1404d7898], dl
test r10b, r10b
je 0x140123f90
jmp 0x140123f94
test r11b, r11b
jne 0x1401240b5
cmp al, 0x9f
jne 0x140123f90
jmp 0x140124190
movzx eax, byte [0x1404d79dd]
cmp al, 0x3f
je 0x1401241a4
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0x12
lock cmpxchg byte [0x1404d79dd], cl
je 0x140124154
cmp al, 0x3f
jne 0x140124010
jmp 0x1401241a4
movzx eax, byte [0x1404d77b5]
cmp al, 0x6b
je 0x140124235
mov cl, 0x99
nop word [rax + rax]
mov eax, dword [0x14053176c]
cmp eax, 0x35
jg 0x14012407e
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x1404d77b5], cl
sete dl
mov r8d, dword [0x140531768]
mov r9d, dword [0x1404d7c90]
neg r9d
add r9d, r8d
inc r9d
imul r9d, r8d
test r9b, 1
je 0x140124090
mov al, 0x67
lock cmpxchg byte [0x1404d77b5], cl
jmp 0x140124050
test dl, dl
jne 0x1401241b0
cmp al, 0x6b
jne 0x140124040
jmp 0x140124235
mov al, 0xc7
xchg byte [0x1404d794d], al
lea rax, [0x1404d7940]
jmp 0x14012423c
xor eax, eax
lea rdx, [0x1404d7880]
lea r8, [0x140402a20]
mov r9d, 0x53711cb5
lea rcx, [fcn.140123e90]
lea r10d, [rcx + rcx]
add r10d, 0x12e0
mov r11d, r10d
not r11d
jmp 0x140124102
mov esi, eax
xor esi, ecx
and eax, ecx
lea eax, [rsi + rax*2]
cmp eax, 0x18
jge 0x140124188
mov ecx, dword [0x14053176c]
movsxd rsi, eax
cmp ecx, 0x20
jg 0x140124130
movzx ecx, byte [rsi + r8]
xor byte [rsi + rdx], cl
mov ecx, dword [0x1404d7c90]
add ecx, r9d
mov edi, dword [0x14053176c]
cmp edi, 0x4d
jl 0x1401240f0
nop dword [rax]
movzx ebx, byte [rsi + rdx]
movzx ecx, byte [rsi + r8]
mov edi, ebx
shl dil, cl
mov ecx, edi
xor cl, dil
not cl
and cl, bl
xor cl, dil
mov byte [rsi + rdx], cl
test r11d, r10d
jne 0x140124130
jmp 0x140124110
xor eax, eax
lea rcx, [0x1404d79d0]
lea rdx, [0x140402b60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x14012419c
inc rax
jmp 0x140124170
mov al, 0x9f
xchg byte [0x1404d7898], al
lea rax, [0x1404d7880]
jmp 0x14012423c
mov al, 0x3f
xchg byte [0x1404d79dd], al
lea rax, [0x1404d79d0]
jmp 0x14012423c
xor edx, edx
lea rax, [0x1404d77a0]
lea rcx, [0x140402960]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
add byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x15
jl 0x1401241c0
mov eax, 0x53711cb5
lea rcx, [fcn.140123e90]
add ecx, ecx
add ecx, 0x1980
nop word cs:[rax + rax]
mov edx, dword [0x140531768]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x14012421f
mov edx, dword [0x14053176c]
cmp edx, 0x2e
jle 0x14012422d
mov edx, dword [0x1404d7c90]
add edx, eax
test ecx, edx
jne 0x140124200
jmp 0x140124214
mov al, 0x6b
xchg byte [0x1404d77b5], al
lea rax, [0x1404d77a0]
pop rbx
pop rdi
pop rsi
ret