Function at 0x201d2c70
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov eax, dword [0x204a2c1c]
mov r8d, 0x136d993e
add r8d, dword [0x20463a84]
cmp eax, r8d
nop dword [rax]
mov eax, dword [0x204a2c1c]
cmp eax, 0x35
jg 0x201d2c90
test ecx, ecx
je 0x201d2cd9
test edx, edx
je 0x201d2d36
movzx eax, byte [0x20461a8b]
cmp al, 0x57
je 0x201d2e2d
mov cl, 0x3f
nop dword [rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x20461a8b], cl
je 0x201d2dd3
cmp al, 0x57
jne 0x201d2cc0
jmp 0x201d2e2d
test edx, edx
je 0x201d2d69
movzx eax, byte [0x20461de1]
cmp al, 0x1f
je 0x201d2d04
mov cl, 0x8e
nop
mov al, 0xa9
lock cmpxchg byte [0x20461de1], cl
je 0x201d2e39
cmp al, 0x1f
jne 0x201d2cf0
mov eax, dword [0x204a2c18]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x20463a84]
mov edx, eax
xor edx, 0x136d98de
and eax, 0x136d98de
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x201d2fa0
jmp 0x201d2f95
movzx eax, byte [0x20461fed]
cmp al, 0x8f
je 0x201d2f8a
mov cl, 0xec
nop word [rax + rax]
mov al, 0x33
lock cmpxchg byte [0x20461fed], cl
je 0x201d2efa
cmp al, 0x8f
jne 0x201d2d50
jmp 0x201d2f8a
movzx eax, byte [0x2046206a]
cmp al, 0xee
je 0x201d2dc7
movzx ecx, byte [0x20463a80]
lea eax, [rcx + 0x3e]
add cl, 0xb1
lock cmpxchg byte [0x2046206a], cl
jne 0x201d2d70
xor edx, edx
lea rax, [0x20462060]
lea rcx, [0x2037b620]
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, 0xa
jl 0x201d2da0
mov al, 0xee
xchg byte [0x2046206a], al
lea rax, [0x20462060]
jmp 0x201d2f91
xor eax, eax
lea rcx, [0x20461a70]
lea rdx, [0x2037b060]
mov r8d, 0x136d98f9
nop dword [rax]
movzx r9d, byte [rax + rcx]
movzx r10d, byte [rax + rdx]
mov r11d, r9d
xor r11b, r10b
and r9b, r10b
add r9b, r9b
add r9b, r11b
mov byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x20463a84]
add r10d, r8d
cmp r9d, r10d
jge 0x201d2e25
inc rax
jmp 0x201d2df0
mov al, 0x57
xchg byte [0x20461a8b], al
lea rax, [0x20461a70]
jmp 0x201d2f91
xor r8d, r8d
mov r9d, 0x136d9910
lea r10, [0x20461dd0]
lea r11, [0x2037b390]
mov bl, 1
jmp 0x201d2e78
mov eax, r8d
xor eax, 1
and r8d, 1
lea r8d, [rax + r8*2]
cmp r8d, 0x11
jge 0x201d2f28
mov eax, dword [0x204a2c1c]
mov ecx, dword [0x20463a84]
add ecx, r9d
movsxd rsi, r8d
cmp eax, ecx
jge 0x201d2ea0
nop
movzx eax, byte [rsi + r11]
add byte [rsi + r10], al
test bl, bl
jne 0x201d2e60
nop dword [rax]
movzx eax, byte [rsi + r10]
movzx ecx, byte [rsi + r11]
sub al, cl
mul cl
mov edx, eax
mov edi, eax
shl dil, cl
sub al, dil
mul dil
mov ecx, eax
mov eax, edx
sub al, cl
mul cl
mov ecx, eax
shl dl, cl
mov eax, edx
sub al, cl
mul cl
mov ecx, eax
shl dl, cl
sub dl, al
mov eax, edx
mul cl
mov edx, eax
sub al, cl
mul cl
mov ecx, eax
sub cl, dl
add cl, al
mov byte [rsi + r10], cl
mov eax, dword [0x204a2c18]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201d2ea0
jmp 0x201d2e90
xor eax, eax
lea rcx, [0x20461fe0]
lea rdx, [0x2037b5a0]
nop word [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x201d2f82
inc rax
jmp 0x201d2f10
xor eax, eax
nop word [rax + rax]
test al, al
je 0x201d2f3f
mov ecx, dword [0x204a2c1c]
cmp ecx, 0x39
jge 0x201d2f30
mov ecx, dword [0x204a2c1c]
cmp ecx, 0x4e
jg 0x201d2f34
xor eax, eax
mov cl, 1
nop
mov edx, dword [0x204a2c18]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
jne 0x201d2f74
mov dl, 0x1f
xchg byte [0x20461de1], dl
test al, al
je 0x201d2d04
mov dl, 0x1f
xchg byte [0x20461de1], dl
test cl, cl
je 0x201d2f50
jmp 0x201d2f64
mov al, 0x8f
xchg byte [0x20461fed], al
lea rax, [0x20461fe0]
pop rbx
pop rdi
pop rsi
ret
mov al, 1
test al, al
jne 0x201d2fae
nop dword [rax + rax]
cmp dword [0x20463a84], 0xec926722
jne 0x201d2fa0
jmp 0x201d2f95
lea rax, [0x20461dd0]
jmp 0x201d2f91