Function at 0x201dffc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x110], 0xfffffffffffffffe
mov r14, r8
mov rdi, rdx
mov rbx, rcx
lea rsi, [rcx + 8]
mov dword [rsp + 0x20], 0xb2e703ba
mov rcx, rbp
mov rdx, rsi
mov r8d, 0xdf51a875
mov r9d, 0x25d648e0
call fcn.201e34f0
mov rax, qword [rbx]
movzx edx, word [rax + 0x30]
movzx eax, word [rax + 0x32]
shl eax, 0x10
mov ecx, eax
not ecx
or eax, edx
not edx
and edx, ecx
or edx, eax
not edx
or edx, eax
lea rcx, [rbp - 0x50]
call fcn.201ff270
mov rcx, rdi
call fcn.201fe5c0
mov qword [rbp], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rbp + 0xa0], xmm3
movaps xmmword [rbp + 0x90], xmm2
movaps xmmword [rbp + 0x80], xmm1
movaps xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0xf8], 0
mov ecx, 0x48
call fcn.2042789c
lea rdx, [rbp + 8]
lea rcx, [0x20474aa8]
mov qword [rax], rcx
movaps xmm0, xmmword [rbp + 0x70]
movaps xmm1, xmmword [rbp + 0x80]
movaps xmm2, xmmword [rbp + 0x90]
movaps xmm3, xmmword [rbp + 0xa0]
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 0x28], xmm2
movups xmmword [rax + 0x38], xmm3
mov qword [rbp + 0xf8], rax
lea rdi, [rbp + 0xc0]
mov rcx, rdi
call fcn.201e0f80
mov rcx, qword [rbp + 0xf8]
test rcx, rcx
je 0x201e00ee
cmp rcx, rdi
setne dl
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x2010e313.0]
mov rcx, qword [0x20559d18]
movsxd r15, dword [rcx]
xor eax, eax
add r15, rcx
lea rcx, [fcn.201dffc0]
lea r8d, [rcx + rcx]
add r8d, 0xa21
lea edx, [rcx + rcx]
add edx, 0xa20
xor edx, r8d
nop dword [rax + rax]
test al, al
jne 0x201e0129
cmp edx, 1
je 0x201e0165
mov r8d, dword [0x20559fa8]
lea r9d, [r8 + 0x2bbe9cec]
not r9d
lea r10d, [rcx + rcx]
add r10d, 0x2a60
not r10d
mov r11d, r10d
xor r11d, r9d
and r11d, r10d
or r11d, r9d
not r11d
add r8d, 0x2bbe9ceb
cmp r11d, r8d
jne 0x201e0120
jmp 0x201e0124
mov r12d, dword [0x2047471c]
lea rcx, [rbp - 0x50]
mov rdx, rbp
call fcn.201e17f0
mov r8, qword [r14 + 8]
lea rcx, [rbp + 0x70]
lea rdx, [rbp - 0x50]
call fcn.201e0960
mov r13, qword [r14]
mov r14, qword [r14 + 8]
mov rax, qword [rbx]
movups xmm0, xmmword [rax + 0x18]
movaps xmmword [rbp + 0x60], xmm0
movzx ebx, r14w
mov rcx, rbx
call fcn.202b5600
mov rcx, rax
not rcx
mov rdx, rbx
not rdx
mov r8, rax
and r8, rdx
and rdx, rcx
and ecx, ebx
or r8, rcx
xor rax, rbx
or rdx, rax
not rdx
lea rcx, [r8 + rdx*2]
call fcn.201ff2f0
mov rbx, rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], 0
test rax, rax
je 0x201e02c7
mov rax, qword [0x20559fb0]
movabs rcx, 0xd658898e00a5c370
xor rcx, rax
movabs rdx, 0x5658898e00a5c370
and rdx, rax
lea rax, [rcx + rdx*2]
movabs rcx, 0x3cd1734b436db24d
add rcx, rax
cmp rbx, rcx
jl 0x201e0716
cmp rbx, 0x1000
jb 0x201e0297
lea rcx, [rbx + 0x27]
call fcn.2042789c
mov rcx, rax
add rcx, 0x27
mov rdx, qword [0x20559fb0]
movabs r8, 0x1329fcd9441375bc
xor r8, rdx
movabs r9, 0x6cd60326bbec8a43
xor r9, rdx
and r9, rdx
lea r8, [r8 + r9*2]
xor r8, rcx
xor r8, 0xffffffffffffffe0
movabs rcx, 0x1329fcd94413759d
mov r9, rdx
xor r9, rcx
and rdx, rcx
lea rcx, [r9 + rdx*2]
and rcx, r8
mov qword [rcx - 8], rax
jmp 0x201e02a2
mov rcx, rbx
call fcn.2042789c
mov rcx, rax
mov qword [rbp + 0xc0], rcx
mov rdi, rbx
add rdi, rcx
mov qword [rbp + 0xd0], rdi
xor edx, edx
mov r8, rbx
call fcn.2044feb0
mov qword [rbp + 0xc8], rdi
mov qword [rbp + 0xb8], r13
mov eax, dword [0x20559d10]
mov ecx, dword [0x205b4038]
cmp ecx, 0x48
jl 0x201e0317
lea ecx, [rax + rax]
mov edx, eax
sub edx, ecx
imul edx, ecx
sub ecx, edx
lea ecx, [rcx + rax*2]
nop
mov dword [0x20559d10], ecx
mov edx, dword [0x20559fa8]
mov r8d, edx
xor r8d, 0x54416314
and r8d, edx
xor edx, 0x2bbe9ceb
add r8d, r8d
add r8d, edx
jne 0x201e02f0
lea r13d, [rax + 1]
mov dword [0x20559d10], r13d
xor edi, edi
and r13d, eax
jne 0x201e033d
mov eax, 0x2bbe9ceb
add eax, dword [0x20559fa8]
cmp eax, r12d
jl 0x201e052e
mov eax, dword [0x205b4038]
nop word cs:[rax + rax]
mov eax, dword [0x205b4034]
mov ecx, dword [0x20559fa8]
lea edx, [rcx - 0x59c1fc00]
not edx
add edx, eax
dec edx
imul edx, eax
and edx, 1
add ecx, 0x2bbe9ceb
cmp edx, ecx
jne 0x201e0350
mov r9, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
sub rax, r9
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x78]
sub r8, rdx
movaps xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp + 0x50], xmm0
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x50]
call fcn.20342750
mov rbx, qword [rbp + 0xc0]
movzx eax, byte [rbx]
test eax, eax
je 0x201e03bf
or eax, 0x60000000
jmp 0x201e03df
mov eax, dword [rbx + 2]
test eax, eax
je 0x201e0601
mov ecx, eax
xor ecx, 0x70000000
mov edx, eax
xor edx, 0xfffffff
and edx, eax
lea eax, [rcx + rdx*2]
mov dword [rbp + 0x10c], eax
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
je 0x201e0455
mov rdx, qword [rbp + 0xd0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x201e0450
mov rax, qword [rcx - 8]
mov r8, qword [0x20559fb0]
sub r8, rcx
add r8, rax
movabs rcx, 0xecd60326bbec8a3b
sub rcx, r8
cmp rcx, 0x20
jae 0x201e071b
mov rcx, qword [0x20559fb0]
movabs r8, 0x1329fcd9441375e4
mov r9, rcx
xor r9, r8
and rcx, r8
lea rcx, [r9 + rcx*2]
add rdx, rcx
mov rcx, rax
call fcn.2008bfb0
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x201e04d4
mov rdx, qword [rbp + 0x80]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x201e04cf
mov rax, qword [rcx - 8]
mov r8, rcx
not r8
mov r9, rcx
xor r9, 0xfffffffffffffff8
mov r10, qword [0x20559fb0]
movabs r11, 0x1329fcd9441375b5
mov rsi, r10
xor rsi, r11
and r10, r11
lea r10, [rsi + r10*2]
xor r10, r8
or r8, 7
and r8, r9
and r10, rcx
lea rcx, [r8 + r10*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x201e0720
mov rcx, qword [0x205b38a8]
add rdx, rcx
add rdx, 0x27
mov rcx, rax
call fcn.2008bfb0
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x201e04f4
lea rax, [rbp - 0x48]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x2010e313.0]
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x201e0514
lea rax, [rbp + 8]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x2010e313.0]
mov eax, dword [rbp + 0x10c]
add rsp, 0x198
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor ecx, ecx
mov r8d, 0x2bbe9ced
mov r9b, 1
xor edi, edi
jmp 0x201e0549
cmp ecx, r12d
jge 0x201e033d
mov eax, dword [0x205b4038]
nop
mov edx, dword [0x205b4034]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x20559fa8]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
jne 0x201e0550
movsxd r10, ecx
nop word cs:[rax + rax]
mov eax, dword [0x205b4038]
cmp eax, 9
jg 0x201e059a
mov eax, dword [r15 + r10]
mov edx, dword [0x205b4038]
cmp edx, 0x21
jle 0x201e05c0
mov eax, dword [r15 + r10]
mov edx, dword [0x205b4034]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x20559fa8]
add r11d, r8d
xor edx, edx
div r11d
test edx, edx
jne 0x201e0580
jmp 0x201e058b
xor edi, eax
add ecx, 4
test r9b, r9b
je 0x201e05e0
nop word [rax + rax]
mov eax, dword [0x205b4038]
cmp eax, 0x3b
jl 0x201e0540
nop
mov edx, dword [0x205b4034]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x20559fa8]
add r10d, r8d
xor edx, edx
div r10d
test edx, edx
jne 0x201e05e0
jmp 0x201e05d0
movzx edx, word [rbx + 0xe]
test rdx, rdx
je 0x201e06d9
mov eax, dword [0x20474728]
mov ecx, 0x2bbe9d3d
mov r8b, 1
nop dword [rax]
mov r9d, dword [0x205b4038]
mov r10d, dword [0x20559fa8]
add r10d, ecx
cmp r9d, r10d
jl 0x201e063b
test r8b, r8b
je 0x201e0620
xor ecx, ecx
test r13d, r13d
setne cl
lea r8d, [rcx - 1]
sub eax, edi
mov r9d, eax
not r9d
neg ecx
and ecx, r9d
xor eax, r8d
or eax, ecx
xor eax, 0xffffffff
sete cl
setne r8b
movzx eax, byte [0x205b3871]
mov r9d, eax
xor r9b, 1
mov r10d, eax
xor r10b, r8b
mov r11d, r9d
xor r11b, cl
mov edi, eax
and dil, r8b
or dil, r11b
not dil
or dil, r10b
not dil
and r9b, r8b
xor al, cl
or al, r9b
not al
or al, r9b
or al, dil
and al, 1
mov byte [0x205b3871], al
mov dword [rbp + 0x10c], 0x60000003
cmp dx, r14w
jbe 0x201e03e5
lea rcx, [rbx + 0x10]
mov r8, rsi
call fcn.201ffcd0
test eax, eax
jns 0x201e06db
mov dword [rbp + 0x10c], 0x60000004
jmp 0x201e03e5
xor eax, eax
movzx ecx, r14w
mov dword [rbp + 0x10c], 0x60000005
cmp eax, ecx
jne 0x201e03e5
add rbx, 0x10
mov r8d, eax
mov rcx, qword [rbp + 0xb8]
mov rdx, rbx
call fcn.2044f800
mov dword [rbp + 0x10c], 0
jmp 0x201e03e5
call fcn.201be140
call fcn.20407a4c
call fcn.20407a4c
int3