Function at 0x201e3de0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
movzx ecx, byte [0x205b3f90]
lea rdi, [rsi + 8]
mov eax, dword [0x2055a5a0]
mov qword [rbp - 0x28], rcx
add eax, ecx
add eax, 0x29bb
cdqe
add rax, qword [0x2055a5b0]
mov rcx, rdi
mov edx, 0x328192a
mov r8d, 0x53d525fa
call qword [case.0x2010e313.0]
mov rbx, rax
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov word [rbp - 2], 1
mov eax, dword [0x205b403c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x201e3e7a
movsxd rax, dword [0x20474d00]
mov ecx, dword [0x205b403c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x201e3e82
mov eax, dword [0x20474d00]
jmp 0x201e3e62
lea rdx, [0x20474d00]
mov rcx, rax
xor rcx, rdx
mov r8d, dword [0x205b4040]
cmp r8d, 0x62
nop word [rax + rax]
cmp dword [0x2055a5d0], 0xf30712ab
jne 0x201e3ea0
mov r8d, dword [0x20474cf8]
test rbx, rbx
je 0x201e4091
and rax, rdx
add rax, rax
add rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x205b4040]
cmp eax, 0x53
jg 0x201e3eed
mov r12d, dword [0x2055a554]
mov eax, dword [0x205b4040]
cmp eax, 0x19
jle 0x201e3f2a
mov edx, dword [0x205b403c]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x2055a5d0]
mov edx, r9d
xor edx, 0xcf8ed57
mov r10d, r9d
and r10d, 0xcf8ed57
lea r10d, [rdx + r10*2]
xor edx, edx
div r10d
add r9d, 0xcf8ed55
cmp edx, r9d
jne 0x201e3ed0
jmp 0x201e3edb
mov eax, r12d
xor eax, 1
mov edx, r12d
and edx, 1
lea eax, [rax + rdx*2]
mov dword [0x2055a554], eax
and r12d, eax
mov eax, 0xcf8ed55
mov edx, dword [0x2055a5d0]
add edx, eax
xor r14d, r14d
mov dword [rbp - 0x2c], edx
cmp r12d, edx
jne 0x201e3f69
add eax, dword [0x2055a5d0]
cmp eax, r8d
jl 0x201e4160
mov eax, dword [0x205b4040]
cmp eax, 0xe
nop word cs:[rax + rax]
mov eax, dword [0x205b4040]
cmp eax, 0x3e
jge 0x201e3f80
mov dx, 1
mov r15d, 0xcf8ed57
mov r13d, 0xcf8ed61
jmp 0x201e3fe1
movzx eax, word [rbp - 2]
mov word [r8], ax
add qword [rbp - 0x18], 2
nop word [rax + rax]
movzx eax, word [rbp - 2]
add eax, 0x5acb
mov ecx, eax
xor ecx, 1
and eax, 1
lea edx, [rcx + rax*2]
add dx, word [0x2055a5d8]
add edx, 0xffff9301
mov word [rbp - 2], dx
movzx eax, dx
cmp rbx, rax
jb 0x201e4091
mov rcx, rdi
call fcn.201e5980
test eax, eax
je 0x201e3fb0
mov ecx, eax
call fcn.201f8db0
test al, al
jne 0x201e3fb0
mov r8, qword [rbp - 0x18]
cmp r8, qword [rbp - 0x10]
jne 0x201e3f9d
xor ecx, ecx
cmp r12d, dword [rbp - 0x2c]
setne cl
mov r9d, dword [0x20474ce0]
dec ecx
mov eax, dword [0x205b403c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x201e4050
nop word cs:[rax + rax]
mov edx, dword [0x205b403c]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x2055a5d0]
add r10d, r15d
xor edx, edx
div r10d
test edx, edx
je 0x201e4065
nop
mov eax, dword [0x205b4040]
mov edx, dword [0x2055a5d0]
add edx, r13d
cmp eax, edx
jge 0x201e4050
jmp 0x201e4030
sub r9d, r14d
and r9d, ecx
setne al
or al, byte [0x205b3f90]
and al, 1
mov byte [0x205b3f90], al
lea rcx, [rbp - 0x20]
mov rdx, r8
lea r8, [rbp - 2]
call fcn.201e4450
jmp 0x201e3fb0
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
cmp rdi, rbx
je 0x201e40e0
add rsi, 0x48
nop word cs:[rax + rax]
add rdi, 2
movzx edx, word [rdi - 2]
mov rcx, rsi
call fcn.201df5f0
cmp rdi, rbx
setne al
sete cl
movzx edx, byte [0x205b3f90]
xor al, cl
and al, dl
and dl, cl
xor al, cl
cmp dl, al
je 0x201e40b0
mov rdi, qword [rbp - 0x20]
test rdi, rdi
je 0x201e414e
mov rdx, qword [rbp - 0x10]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x201e4121
mov rax, qword [rdi - 8]
sub rdi, rax
sub rdi, qword [0x2055a5c8]
movabs rcx, 0x8056ca1f6a00af32
add rcx, rdi
cmp rcx, 0x20
jae 0x201e41a2
add rdx, 0x27
mov rdi, rax
mov rax, qword [rbp - 0x28]
or eax, dword [0x2055a5a4]
add eax, 0x29bb
cdqe
add rax, qword [0x2055a5b8]
mov rcx, rdi
mov r8d, 0x4d2d7ed4
mov r9d, 0x96f6cd2b
call qword [case.0x2010e313.0]
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor r14d, r14d
mov eax, 4
nop dword [rax + rax]
lea edx, [rax - 4]
movsxd rdx, edx
xor r14d, dword [rcx + rdx]
nop word [rax + rax]
mov edx, dword [0x205b403c]
lea r9d, [rdx + 1]
imul r9d, edx
test r9b, 1
jne 0x201e4180
cmp eax, r8d
jge 0x201e3f69
add eax, 4
jmp 0x201e4170
call fcn.20407a4c
int3