Function at 0x201cbb70
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
test ecx, ecx
je 0x201cbb9d
mov eax, 0x136d98df
add eax, dword [0x20463a84]
lea rcx, [fcn.201cbb70]
add ecx, ecx
add ecx, 0x4da0
test ecx, eax
jne 0x201cbdf0
jmp 0x201cbde5
test edx, edx
je 0x201cbbd9
movzx eax, byte [0x20461c7c]
cmp al, 0xf8
je 0x201cbcb0
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x20461c7c], cl
je 0x201cbc68
cmp al, 0xf8
jne 0x201cbbc0
jmp 0x201cbcb0
movzx eax, byte [0x204620d1]
movzx ecx, byte [0x20463a80]
add cl, 0x27
cmp al, cl
je 0x201cbcc1
xor ecx, ecx
mov r8b, 0xea
nop word [rax + rax]
mov edx, dword [0x204a2c18]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x20463a84]
lea r10d, [r9 + 0x136d98e0]
xor edx, edx
div r10d
add r9d, 0x136d98de
cmp edx, r9d
jne 0x201cbc50
mov al, 0xe2
lock cmpxchg byte [0x204620d1], r8b
sete dl
test cl, cl
jne 0x201cbc50
test dl, dl
jne 0x201cbcb9
cmp al, 0x7c
jne 0x201cbc00
jmp 0x201cbcc1
mov al, 0xe2
lock cmpxchg byte [0x204620d1], r8b
mov eax, dword [0x204a2c1c]
cmp eax, 0x51
jge 0x201cbc00
jmp 0x201cbc2b
xor edx, edx
lea rax, [0x20461c70]
lea rcx, [0x2037b240]
nop dword [rax + rax]
movsxd rdx, edx
movzx r8d, byte [rdx + rcx]
xor byte [rdx + rax], r8b
mov r8d, dword [0x20463a84]
add edx, r8d
add edx, 0x136d98df
cmp edx, 0xc
jl 0x201cbc80
movzx eax, byte [0x20463a80]
add al, 0xa3
xchg byte [0x20461c7c], al
lea rax, [0x20461c70]
jmp 0x201cbcf9
xor eax, eax
test al, al
je 0x201cbcfc
jmp 0x201cbd07
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x201cbce5
mov ecx, dword [0x204a2c18]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x201cbcf2
mov ecx, dword [0x204a2c1c]
cmp ecx, 0x1a
jge 0x201cbcd0
jmp 0x201cbcd4
lea rax, [0x204620c0]
pop rbx
pop rsi
ret
mov eax, dword [0x204a2c1c]
cmp eax, 0x63
jl 0x201cbd16
mov al, 1
nop dword [rax]
test al, al
je 0x201cbd10
jmp 0x201cbcfc
xor r9d, r9d
lea r10, [0x204620c0]
lea r11, [0x2037b680]
jmp 0x201cbd48
mov eax, r9d
xor eax, 1
and r9d, 1
lea r9d, [rax + r9*2]
cmp r9d, 0x11
jge 0x201cbdd8
mov eax, dword [0x204a2c1c]
movsxd rsi, r9d
cmp eax, 0x39
jg 0x201cbd74
nop word cs:[rax + rax]
movzx eax, byte [rsi + r11]
add byte [rsi + r10], al
mov eax, dword [0x204a2c1c]
cmp eax, 0x35
jle 0x201cbd30
movzx eax, byte [rsi + r10]
movzx r8d, byte [rsi + r11]
sub al, r8b
mul r8b
mov edx, eax
mov ecx, eax
neg cl
mov eax, ecx
xor al, r8b
and cl, r8b
add cl, cl
add cl, al
shl dl, cl
sub cl, dl
mov eax, ecx
sub al, dl
mul dl
mov edx, eax
sub dl, cl
sub cl, dl
mov eax, ecx
mul dl
mov r8d, eax
mov ebx, eax
mov ecx, edx
shl bl, cl
sub al, bl
mul bl
mov ecx, r8d
neg cl
mov edx, ecx
xor dl, al
and cl, al
add cl, cl
add cl, dl
mov eax, r8d
xor al, cl
and cl, r8b
add cl, cl
add cl, al
mov byte [rsi + r10], cl
jmp 0x201cbd60
mov al, 0x7c
xchg byte [0x204620d1], al
jmp 0x201cbcc1
mov eax, dword [0x204a2c1c]
cmp eax, 0x4c
jl 0x201cbdfe
cmp dword [0x20463a84], 0xec926722
jne 0x201cbdf0
jmp 0x201cbde5
test edx, edx
je 0x201cbe16
mov eax, dword [0x204a2c1c]
cmp eax, 0x3e
jle 0x201cbebf
jmp 0x201cbee8
movzx eax, byte [0x20461754]
cmp al, 0xbb
je 0x201cbeb3
mov cl, 9
nop word [rax + rax]
mov al, 2
lock cmpxchg byte [0x20461754], cl
je 0x201cbe42
cmp al, 0xbb
jne 0x201cbe30
jmp 0x201cbeb3
xor eax, eax
lea rcx, [0x20461730]
lea rdx, [0x2037ad40]
mov r8d, 0x136d9902
nop dword [rax + rax]
movzx r9d, byte [rax + rdx]
xor byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x20463a84]
add r10d, r8d
cmp r9d, r10d
jge 0x201cbe81
inc rax
jmp 0x201cbe60
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x201cbe98
test al, al
je 0x201cbeab
mov ecx, dword [0x204a2c18]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x201cbe90
jmp 0x201cbe94
mov al, 0xbb
xchg byte [0x20461754], al
lea rax, [0x20461730]
jmp 0x201cbcf9
movzx ecx, byte [0x204617de]
mov edx, dword [0x204a2c18]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0x136d98e0
add r8d, dword [0x20463a84]
xor edx, edx
div r8d
test edx, edx
je 0x201cbf0d
lea rax, [fcn.201cbb70]
add eax, eax
add eax, 0x1b80
mov ecx, eax
not ecx
nop word [rax + rax]
movzx edx, byte [0x204617de]
test ecx, eax
jne 0x201cbf00
jmp 0x201cbebf
cmp cl, 0xfe
je 0x201cbfa8
mov cl, 0x61
nop dword [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x204617de], cl
je 0x201cbf32
cmp al, 0xfe
jne 0x201cbf20
jmp 0x201cbfa8
xor eax, eax
lea rcx, [0x204617c0]
lea rdx, [0x2037adc0]
nop word cs:[rax + rax]
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, 0x1d
jg 0x201cbf7c
inc rax
jmp 0x201cbf50
mov al, 1
jmp 0x201cbf90
movzx ecx, byte [0x20463a80]
add cl, 0xa9
xchg byte [0x204617de], cl
test al, al
je 0x201cbf80
movzx ecx, byte [0x20463a80]
add cl, 0xa9
xchg byte [0x204617de], cl
test al, al
je 0x201cbf80
lea rax, [0x204617c0]
jmp 0x201cbcf9