Function at 0x201cbfc0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x136d98de
add eax, dword [0x20463a84]
cmp ecx, eax
jne 0x201cc00c
test edx, edx
je 0x201cc09d
movzx eax, byte [0x20461d6c]
cmp al, 0xd4
je 0x201cc004
mov cl, 0x54
nop word cs:[rax + rax]
mov al, 0xaf
lock cmpxchg byte [0x20461d6c], cl
je 0x201cc13c
cmp al, 0xd4
jne 0x201cbff0
lea rax, [0x20461d60]
ret
mov eax, 0x136d991b
nop word cs:[rax + rax]
mov ecx, dword [0x204a2c18]
mov r8d, dword [0x20463a84]
add r8d, ecx
dec r8d
imul r8d, ecx
test r8b, 1
jne 0x201cc052
mov ecx, dword [0x204a2c1c]
mov r8d, dword [0x20463a84]
add r8d, eax
cmp ecx, r8d
jl 0x201cc085
mov ecx, dword [0x204a2c18]
lea r8d, [rcx - 1]
imul r8d, ecx
and r8d, 1
mov ecx, dword [0x20463a84]
mov r9d, ecx
xor r9d, 0x136d98de
and ecx, 0x136d98de
lea ecx, [r9 + rcx*2]
cmp r8d, ecx
jne 0x201cc020
jmp 0x201cc03d
test edx, edx
je 0x201cc0b1
mov eax, dword [0x204a2c1c]
cmp eax, 0x30
jle 0x201cc2ef
jmp 0x201cc302
mov eax, dword [0x204a2c1c]
cmp eax, 0x52
jle 0x201cc25f
jmp 0x201cc26c
xor eax, eax
lea rcx, [fcn.201cbfc0]
add ecx, ecx
add ecx, 0x2a40
nop word cs:[rax + rax]
mov edx, dword [0x204a2c1c]
cmp edx, 0x4e
jg 0x201cc0e6
movzx edx, byte [0x20461fff]
test al, al
je 0x201cc118
movzx edx, byte [0x20461fff]
mov edx, dword [0x20463a84]
lea r8d, [rdx + 0x136d98df]
and r8d, ecx
mov r9d, edx
xor r9d, 0x136d98de
and edx, 0x136d98de
lea edx, [r9 + rdx*2]
cmp r8d, edx
jne 0x201cc0d0
jmp 0x201cc0db
cmp dl, 0x3a
je 0x201cc134
mov cl, 0x14
nop
mov al, 0x50
lock cmpxchg byte [0x20461fff], cl
je 0x201cc21b
cmp al, 0x3a
jne 0x201cc120
lea rax, [0x20461ff0]
ret
xor edx, edx
lea r8, [0x20461d60]
lea r9, [0x2037b320]
nop dword [rax]
mov eax, dword [0x204a2c1c]
cmp eax, 0x15
jg 0x201cc190
nop dword [rax + rax]
movzx eax, byte [rdx + r9]
add byte [rdx + r8], al
mov eax, dword [0x204a2c1c]
cmp eax, 0x23
jg 0x201cc190
lea eax, [rdx + 1]
cmp eax, 0xb
jg 0x201cc1c8
inc rdx
jmp 0x201cc150
movzx r10d, byte [0x20463a80]
lea ecx, [r10 - 0x55]
mov r11d, ecx
sub r11b, byte [rdx + r8]
movzx eax, byte [rdx + r9]
add al, r11b
sub r10b, r11b
sub cl, al
add cl, r10b
add cl, 0xab
sub al, cl
mul cl
shl al, cl
neg al
mul cl
add al, cl
mov byte [rdx + r8], al
jmp 0x201cc160
mov eax, 0x136d98de
nop dword [rax]
mov ecx, dword [0x204a2c1c]
cmp ecx, 0xd
jg 0x201cc1f6
mov ecx, dword [0x204a2c18]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x20463a84]
add ecx, eax
cmp edx, ecx
je 0x201cc204
cmp dword [0x20463a84], 0xec926722
jne 0x201cc1d0
jmp 0x201cc1db
movzx eax, byte [0x20463a80]
add al, 0x7f
xchg byte [0x20461d6c], al
lea rax, [0x20461d60]
ret
xor edx, edx
lea rax, [0x20461ff0]
lea rcx, [0x2037b5b0]
nop dword [rax + 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, 0xf
jl 0x201cc230
mov al, 0x3a
xchg byte [0x20461fff], al
lea rax, [0x20461ff0]
ret
movzx eax, byte [0x204620bd]
xor ecx, ecx
test cl, cl
je 0x201cc275
movzx eax, byte [0x204620bd]
jmp 0x201cc25f
cmp al, 0xe5
je 0x201cc290
mov cl, 0x68
nop dword [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x204620bd], cl
je 0x201cc298
cmp al, 0xe5
jne 0x201cc280
lea rax, [0x204620b0]
ret
xor edx, edx
lea rax, [0x204620b0]
lea rcx, [0x2037b670]
nop dword [rax + rax]
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, 0xd
jl 0x201cc2b0
movzx eax, byte [0x20463a80]
mov ecx, eax
xor cl, 0x90
and al, 0x10
add al, al
add al, cl
xchg byte [0x204620bd], al
lea rax, [0x204620b0]
ret
movzx eax, byte [0x20461a6d]
cmp dword [0x20463a84], 0xec926722
je 0x201cc30b
movzx eax, byte [0x20461a6d]
jmp 0x201cc2ef
cmp al, 0xc9
je 0x201cc3a9
xor ecx, ecx
mov dl, 0xd3
nop word [rax + rax]
test cl, cl
jne 0x201cc360
nop word cs:[rax + rax]
mov al, 0x45
lock cmpxchg byte [0x20461a6d], dl
sete r8b
test cl, cl
jne 0x201cc360
test r8b, r8b
jne 0x201cc36c
movzx r8d, byte [0x20463a80]
add r8b, 0x74
cmp al, r8b
jne 0x201cc320
jmp 0x201cc3a9
mov al, 0x45
lock cmpxchg byte [0x20461a6d], dl
jmp 0x201cc330
xor edx, edx
lea rax, [0x20461a50]
lea rcx, [0x2037b040]
nop dword [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, 0x1d
jl 0x201cc380
mov al, 0xc9
xchg byte [0x20461a6d], al
lea rax, [0x20461a50]
ret