Function at 0x201e0960
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rdi, r8
mov r13, rdx
mov r12, rcx
mov rcx, rdx
mov edx, 0x844b354c
mov r8d, 0xd77a05ce
mov r9d, 0xbe5084a
call fcn.201e3290
mov edx, dword [0x20559fa8]
lea ecx, [rdx + 0x2bbe9ceb]
mov r8d, edx
neg r8d
mov r9d, r8d
xor r9d, 0x48578a9f
and r8d, 0x48578a9f
lea r9d, [r9 + r8*2]
mov r8d, 0x7416278a
sub r8d, r9d
lea r9d, [rdx + 0x9b384e8]
lea r10d, [rdx - 0x6a1424df]
mov r11d, edx
xor r11d, 0x9bbd9634
and edx, 0x1bbd9634
lea edx, [r11 + rdx*2]
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], edx
mov rdx, rax
call fcn.201e32b0
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], 0
nop word cs:[rax + rax]
mov eax, dword [0x205b4038]
cmp eax, 0x4b
jg 0x201e0a3d
movsxd r14, dword [0x20474710]
mov eax, dword [0x205b4038]
cmp eax, 0x3c
jle 0x201e0a50
mov eax, dword [0x20474710]
mov eax, dword [0x205b4038]
cmp eax, 0x12
jge 0x201e0a20
jmp 0x201e0a2b
mov eax, dword [0x20559fa8]
mov ecx, eax
xor ecx, 0xdd6fae31
and eax, 0x5d6fae31
lea eax, [rcx + rax*2]
cmp eax, 0xb1b11146
jne 0x201e0a90
mov eax, dword [0x205b4034]
mov ecx, 0x83038245
sub ecx, eax
imul ecx, eax
test cl, 1
je 0x201e0abb
nop word cs:[rax + rax]
mov eax, dword [0x20559fa8]
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0xd4416314
and ecx, 0x2bbe9ceb
or edx, ecx
not edx
or edx, ecx
and eax, 0x2bbe9ceb
add eax, eax
add eax, edx
jne 0x201e0a90
jmp 0x201e0a6d
mov r15d, dword [0x20474718]
test rbx, rbx
je 0x201e0baa
js 0x201e0bbb
cmp rbx, 0x1000
jb 0x201e0b6c
lea rcx, [rbx + 0x27]
mov edx, 0x27226c6f
mov r8d, 0x4162caa2
call fcn.2008daf0
mov rcx, rax
xor rcx, 0x27
movabs rdx, 0x7fffffffffffffd8
xor rdx, rax
and rdx, rax
lea rdx, [rcx + rdx*2]
mov rcx, rdx
not rcx
mov r8, rcx
and r8, rdx
xor r8, rcx
movabs r9, 0x1329fcd94413759d
add r9, qword [0x20559fb0]
xor rdx, rcx
and rdx, r9
xor rdx, rcx
and rcx, r9
or rdx, rcx
not rdx
or rdx, rcx
mov rcx, r8
not rcx
mov r9d, ecx
and r9d, 0x1f
and r8, 0xffffffffffffffe0
or r8, r9
and rcx, 0xffffffffffffffe0
or rcx, r8
not rcx
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x201e0b8c
mov r8d, dword [0x20559fa8]
lea edx, [r8 + 0x52e1095a]
add r8d, 0x6d21678d
mov rcx, rbx
call fcn.2008daf0
mov rcx, rax
mov qword [r12], rcx
mov rsi, rbx
add rsi, rcx
mov qword [r12 + 0x10], rsi
xor edx, edx
mov r8, rbx
call fcn.2044feb0
mov qword [r12 + 8], rsi
lea rax, [0x20474710]
add r14, rax
test r12, r12
jne 0x201e0bc0
jmp 0x201e0bd6
call fcn.201be140
lea rax, [fcn.201e0960]
add eax, eax
add eax, 0x3900
mov ecx, eax
not ecx
test ecx, eax
je 0x201e0be6
mov al, 1
nop dword [rax + rax]
test al, al
je 0x201e0be0
jmp 0x201e0bc0
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r12
mov r12d, dword [0x20559d14]
lea eax, [r12 + 1]
mov dword [0x20559d14], eax
mov ecx, eax
not ecx
mov edx, ecx
xor edx, eax
and edx, r12d
xor edx, eax
xor r12d, ecx
and r12d, ecx
or r12d, edx
not r12d
mov r13d, 0x2bbe9ceb
add r13d, dword [0x20559fa8]
cmp r12d, r13d
jne 0x201e0c36
xor ecx, ecx
test r15d, r15d
jg 0x201e0d5d
xor esi, esi
mov rax, qword [rbp - 8]
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rcx, rdi
call fcn.202b5600
sub r14, rbx
add rax, rdi
xor edx, edx
cmp r12d, r13d
setne dl
mov rcx, qword [0x20474720]
movabs r9, 0xaf1ec5eda9f54fda
mov r8, r9
sub r8, rdx
movabs r10, 0x50e13a12560ab025
add rdx, r10
movabs r11, 0x2f1ec5eda9f54fda
and r11, r8
and r10, rdx
or r10, r11
mov r11d, r8d
and r11d, 1
xor r11, r10
not r11
add r11, r11
xor rdx, r9
xor rdx, r11
xor r8d, 0xa9f54fda
not r11d
and r11d, r8d
or r11, rdx
not r11
lea rdx, [rdx + r11*2]
not rcx
add rcx, rsi
not rdx
mov r8, rdx
xor r8, rcx
and r8, rdx
or r8, rcx
not r8
mov rcx, qword [0x205b38a8]
mov rdx, rcx
xor rdx, r8
and rdx, rcx
not rcx
mov r9, r8
xor r9, rcx
and rcx, r8
or rdx, rcx
and r9, r8
movabs rcx, 0xbfe7a3a752d95e9b
xor rcx, rdx
not rdx
movabs r8, 0x40185c58ad26a164
and r8, rdx
or r8, rcx
not r8
lea rcx, [rcx + r8*2]
lea rcx, [rcx + r9*2]
movabs rdx, 0x40185c58ad26a165
add rdx, rcx
mov qword [0x205b38a8], rdx
mov rcx, qword [rbp - 0x10]
mov rdx, rax
mov r8, rbx
mov r9, r14
call fcn.201ff310
mov rax, qword [rbp - 8]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r8d, 0x2bbe9cfb
mov r9d, 0x2bbe9ced
mov r10b, 1
xor r11d, r11d
nop
mov eax, dword [0x205b4038]
cmp eax, 0x19
jg 0x201e0de0
nop dword [rax + rax]
mov eax, dword [0x205b4038]
mov edx, dword [0x20559fa8]
add edx, r8d
cmp eax, edx
jge 0x201e0de0
mov edx, dword [0x205b4034]
lea eax, [rdx - 1]
imul eax, edx
mov esi, dword [0x20559fa8]
add esi, r9d
xor edx, edx
div esi
test edx, edx
movsxd rdx, ecx
add rdx, r14
nop word cs:[rax + rax]
mov rax, qword [rdx]
mov esi, dword [0x205b4038]
cmp esi, 0x1f
jl 0x201e0df0
nop
mov rax, qword [rdx]
mov eax, dword [0x205b4038]
cmp eax, 0x28
jge 0x201e0dd0
jmp 0x201e0dc0
mov eax, dword [0x205b4038]
cmp eax, 0x4e
jge 0x201e0de0
jmp 0x201e0d80
mov edx, dword [0x205b4034]
lea esi, [rdx - 1]
imul esi, edx
and esi, 1
mov edx, dword [0x20559fa8]
mov ebx, edx
xor ebx, 0x2bbe9ceb
and edx, 0x2bbe9ceb
lea edx, [rbx + rdx*2]
cmp esi, edx
mov edx, dword [0x205b4038]
cmp edx, 0x18
jg 0x201e0e18
mov rdx, r11
not rdx
mov rsi, rdx
and rsi, r11
xor rsi, rdx
mov rdx, rax
not rdx
mov rbx, rsi
not rbx
and rbx, rdx
xor rsi, rax
or rsi, rbx
not rsi
mov edx, dword [0x205b4038]
cmp edx, 0x51
jg 0x201e0ec0
nop word cs:[rax + rax]
mov edx, dword [0x205b4038]
cmp edx, 0x1e
jge 0x201e0ec0
xor rax, r11
and rax, r11
nop word cs:[rax + rax]
mov edx, dword [0x205b4034]
mov r11d, dword [0x20559fa8]
add r11d, edx
mov ebx, 0x6964a1f2
sub ebx, r11d
imul ebx, edx
test bl, 1
jne 0x201e0e80
or rsi, rax
add ecx, 8
mov r11, rsi
cmp ecx, r15d
jl 0x201e0d70
jmp 0x201e0c38
test r10b, r10b
je 0x201e0ec0
jmp 0x201e0e60