Function at 0x1401b8920
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
mov r8d, edx
mov eax, dword [0x140575e3c]
cmp eax, 0x5f
jg 0x1401b8945
mov eax, dword [0x140575e3c]
mov edx, 0x284d8ac9
add edx, dword [0x140520b08]
cmp eax, edx
jl 0x1401b8956
mov al, 1
nop word [rax + rax]
test al, al
je 0x1401b8950
jmp 0x1401b8930
test ecx, ecx
je 0x1401b8999
test r8d, r8d
je 0x1401b8a00
movzx eax, byte [0x14051fa2e]
cmp al, 0xc9
je 0x1401b8bea
mov cl, 8
nop word cs:[rax + rax]
mov al, 0x31
lock cmpxchg byte [0x14051fa2e], cl
je 0x1401b8a69
cmp al, 0xc9
jne 0x1401b8980
jmp 0x1401b8bea
mov ecx, 0x284d8a7e
xor r9d, r9d
nop word cs:[rax + rax]
mov edx, dword [0x140575e38]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140520b08]
add r10d, ecx
xor edx, edx
div r10d
test edx, edx
jne 0x1401b89d4
test r9b, r9b
je 0x1401b89e1
mov eax, dword [0x140575e3c]
cmp eax, 0x29
jge 0x1401b89b0
jmp 0x1401b89cf
test r8d, r8d
je 0x1401b8a35
mov eax, dword [0x140575e38]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401b8b58
jmp 0x1401b8b3c
movzx eax, byte [0x14051f959]
cmp al, 0xe6
je 0x1401b8ad3
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0xac
lock cmpxchg byte [0x14051f959], cl
je 0x1401b8a90
cmp al, 0xe6
jne 0x1401b8a20
jmp 0x1401b8ad3
movzx eax, byte [0x14051fa1d]
cmp al, 0x3e
je 0x1401b8b32
mov cl, 0x82
nop word cs:[rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x14051fa1d], cl
je 0x1401b8adc
cmp al, 0x3e
jne 0x1401b8a50
jmp 0x1401b8b32
mov eax, dword [0x140575e38]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x284d8a7c
add eax, dword [0x140520b08]
cmp ecx, eax
je 0x1401b8bf6
jmp 0x1401b8c10
xor eax, eax
lea rcx, [0x14051f950]
lea rdx, [0x14043e6d0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1401b8ab8
inc rax
jmp 0x1401b8aa0
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x1401b8ac0
movzx eax, byte [0x140520b18]
add al, 0x8c
xchg byte [0x14051f959], al
lea rax, [0x14051f950]
jmp 0x1401b8b39
xor r8d, r8d
lea rax, [0x14051fa10]
lea rcx, [0x14043e790]
mov edx, 0x284d8a89
nop word cs:[rax + rax]
movsxd r8, r8d
movzx r9d, byte [r8 + rcx]
add byte [r8 + rax], r9b
mov r9d, r8d
xor r9d, 1
and r8d, 1
lea r8d, [r9 + r8*2]
mov r9d, dword [0x140520b08]
add r9d, edx
cmp r8d, r9d
jl 0x1401b8b00
mov al, 0x3e
xchg byte [0x14051fa1d], al
lea rax, [0x14051fa10]
pop rdi
pop rsi
ret
movzx eax, byte [0x14051f933]
mov ecx, dword [0x140575e3c]
mov edx, 0x284d8ac0
add edx, dword [0x140520b08]
cmp ecx, edx
jl 0x1401b8b61
movzx eax, byte [0x14051f933]
jmp 0x1401b8b3c
cmp al, 0xc7
je 0x1401b8bde
mov cl, 0x2c
xor edx, edx
nop dword [rax]
mov al, 0x99
lock cmpxchg byte [0x14051f933], cl
je 0x1401b8b99
mov r8d, dword [0x140575e38]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
test dl, dl
jne 0x1401b8b8f
cmp al, 0xc7
jne 0x1401b8b70
jmp 0x1401b8bde
xor edx, edx
lea rax, [0x14051f910]
lea rcx, [0x14043e690]
nop dword [rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, edx
xor r8d, 1
and edx, 1
lea edx, [r8 + rdx*2]
cmp edx, 0x23
jl 0x1401b8bb0
movzx eax, byte [0x140520b18]
add al, 0x6d
xchg byte [0x14051f933], al
lea rax, [0x14051f910]
jmp 0x1401b8b39
lea rax, [0x14051fa20]
jmp 0x1401b8b39
mov eax, dword [0x140575e38]
mov ecx, dword [0x140520b08]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x1401b8c26
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x1401b8c20
jmp 0x1401b8bf6
xor r8d, r8d
lea r9, [0x14051fa20]
lea r10, [0x14043e7a0]
lea rax, [fcn.1401b8920]
lea r11d, [rax + rax]
add r11d, 0x11c0
mov esi, r11d
not esi
jmp 0x1401b8c59
inc r8d
cmp r8d, 0xe
jge 0x1401b8cb7
mov eax, dword [0x140575e38]
lea ecx, [rax + 1]
imul ecx, eax
movsxd rdi, r8d
test cl, 1
jne 0x1401b8c80
nop dword [rax]
movzx eax, byte [rdi + r10]
add byte [rdi + r9], al
test esi, r11d
je 0x1401b8c50
nop
movzx edx, byte [rdi + r9]
movzx ecx, byte [rdi + r10]
mov eax, edx
sub al, cl
mul cl
mov ecx, eax
shl dl, cl
shl dl, cl
shl dl, cl
sub dl, al
mov eax, edx
mul cl
shl al, cl
mov edx, eax
shl dl, cl
add dl, al
mov byte [rdi + r9], dl
mov eax, dword [0x140575e3c]
cmp eax, 0x50
jge 0x1401b8c80
jmp 0x1401b8c70
mov al, 0xc9
xchg byte [0x14051fa2e], al
jmp 0x1401b8bea