Function at 0x201f3bb0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201f3cec
test edx, edx
je 0x201f3d7c
movzx eax, byte [0x2055b03d]
movzx ecx, byte [0x2055b324]
add cl, 0x90
cmp al, cl
je 0x201f3c7f
xor r8d, r8d
mov r9b, 0xd4
mov r10d, 0xb8153166
nop word cs:[rax + rax]
test r8b, r8b
jne 0x201f3c30
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x2055b03d], r9b
mov ecx, eax
sete al
mov edx, dword [0x205b41a8]
lea r11d, [rdx - 1]
imul r11d, edx
test r11b, 1
je 0x201f3c50
nop word cs:[rax + rax]
mov al, 7
lock cmpxchg byte [0x2055b03d], r9b
cmp byte [0x205b4206], 0
jne 0x201f3c30
jmp 0x201f3c00
test al, al
jne 0x201f3c90
mov edx, dword [0x205b41a8]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x2055b320]
add r11d, r10d
xor edx, edx
div r11d
test edx, edx
test r8b, r8b
jne 0x201f3c71
cmp cl, 0x72
jne 0x201f3bf0
lea rax, [0x2055b030]
ret
mov eax, dword [0x205b41ac]
cmp eax, 0x18
jle 0x201f3cac
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f3c90
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f3c9b
xor eax, eax
lea rcx, [0x2055b030]
lea rdx, [0x20475870]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 0xc
jg 0x201f3e0f
inc rax
jmp 0x201f3cd0
mov eax, 0xb8153164
add eax, dword [0x2055b320]
cmp edx, eax
jne 0x201f3db6
movzx eax, byte [0x2055b15d]
cmp al, 0xf1
je 0x201f3fd9
xor ecx, ecx
mov dl, 0x5e
mov r8d, 0xb81531b2
nop dword [rax + rax]
test cl, cl
jne 0x201f3d70
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x2055b15d], dl
sete r9b
mov r10d, dword [0x205b41ac]
mov r11d, dword [0x2055b320]
add r11d, r8d
cmp r10d, r11d
jge 0x201f3d70
test r9b, r9b
jne 0x201f3f1d
cmp al, 0xf1
jne 0x201f3d20
jmp 0x201f3fd9
mov al, 0x9d
lock cmpxchg byte [0x2055b15d], dl
jmp 0x201f3d30
movzx eax, byte [0x2055a645]
cmp al, 0x57
je 0x201f3dae
mov cl, 0xb9
nop dword [rax]
mov al, 0x87
lock cmpxchg byte [0x2055a645], cl
je 0x201f3e26
movzx edx, byte [0x2055b324]
add dl, 0x75
cmp al, dl
jne 0x201f3d90
lea rax, [0x2055a630]
ret
movzx eax, byte [0x2055a699]
cmp al, 0x72
je 0x201f4006
mov cl, 0x5d
xor edx, edx
jmp 0x201f3dd8
cmp al, 0x72
je 0x201f4006
mov al, 0xb6
lock cmpxchg byte [0x2055a699], cl
je 0x201f3f91
nop dword [rax + rax]
test dl, dl
jne 0x201f3df8
test dl, dl
je 0x201f3dd0
mov r8d, dword [0x205b41a8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x201f3df0
jmp 0x201f3df4
movzx eax, byte [0x2055b324]
add al, 0x90
xchg byte [0x2055b03d], al
lea rax, [0x2055b030]
ret
xor eax, eax
lea rcx, [0x2055a630]
lea rdx, [0x20474eb0]
jmp 0x201f3e47
inc eax
cmp eax, 0x15
jge 0x201f3ebb
mov r9d, dword [0x205b41ac]
movsxd r8, eax
cmp r9d, 0x59
jg 0x201f3e80
nop word [rax + rax]
movzx r9d, byte [r8 + rdx]
xor byte [r8 + rcx], r9b
mov r9d, dword [0x205b41a8]
lea r10d, [r9 + 1]
imul r10d, r9d
test r10b, 1
je 0x201f3e40
nop
movzx r9d, byte [r8 + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [r8 + rcx]
xor r10b, r9b
mov byte [r8 + rcx], r10b
mov r9d, dword [0x205b41ac]
cmp r9d, 0x5a
jge 0x201f3e80
jmp 0x201f3e60
mov eax, dword [0x205b41ac]
cmp eax, 0x1c
jl 0x201f3ecc
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f3eb0
mov eax, dword [0x205b41ac]
cmp eax, 0x12
jg 0x201f3eb0
mov eax, dword [0x205b41a8]
nop dword [rax]
mov eax, dword [0x205b41a8]
mov ecx, 0x151db71f
sub ecx, eax
imul ecx, eax
and ecx, 1
mov eax, dword [0x2055b320]
mov edx, eax
xor edx, 0xb8153164
and eax, 0x38153164
lea eax, [rdx + rax*2]
cmp ecx, eax
jne 0x201f3ee0
mov al, 0x57
xchg byte [0x2055a645], al
lea rax, [0x2055a630]
ret
mov eax, dword [0x205b41a8]
nop word cs:[rax + rax]
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f3f30
xor eax, eax
lea rcx, [0x2055b140]
lea rdx, [0x20475950]
mov r8d, 0xb8153181
nop word [rax + rax]
movzx r9d, byte [rax + rdx]
mov r10d, r9d
xor r10b, r9b
not r10b
and r10b, byte [rax + rcx]
xor r10b, r9b
mov byte [rax + rcx], r10b
lea r9d, [rax + 1]
mov r10d, dword [0x2055b320]
add r10d, r8d
cmp r9d, r10d
jge 0x201f3fd1
inc rax
jmp 0x201f3f60
xor eax, eax
lea rcx, [0x2055a690]
lea rdx, [0x20474f10]
mov r8d, 0xb815316d
nop word [rax + rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x2055b320]
add r10d, r8d
cmp r9d, r10d
jge 0x201f3ffe
inc rax
jmp 0x201f3fb0
mov al, 0xf1
xchg byte [0x2055b15d], al
xor eax, eax
mov cl, 1
nop dword [rax]
cmp dword [0x2055b320], 0x47eace9c
jne 0x201f3ff0
test al, al
je 0x201f3ff6
test cl, cl
je 0x201f3fe0
jmp 0x201f3fec
lea rax, [0x2055b140]
ret
mov al, 0x72
xchg byte [0x2055a699], al
mov eax, dword [0x205b41a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201f4030
mov eax, dword [0x205b41ac]
cmp eax, 0x13
jl 0x201f403d
nop word cs:[rax + rax]
mov eax, dword [0x205b41ac]
cmp eax, 0x48
jge 0x201f4030
jmp 0x201f4017
lea rax, [0x2055a690]
ret