Function at 0x203cebd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
mov r14, rax
sub r14, rdx
mov ecx, 0xa54022cc
add ecx, dword [0x2059f3c0]
mov r8d, ecx
not r8d
mov r9d, r8d
and r9d, 0x27
mov r10d, ecx
and r10d, 0xd8
or r10d, r9d
xor ecx, 0x27
and r8d, 0x58
or r8d, ecx
not r8d
lea ecx, [r10 + r8*2]
mov r8, r14
sar r8, cl
cmp r8, rdi
jae 0x203cec60
mov eax, dword [0x205b7030]
mov ecx, 0xf717f64e
sub ecx, eax
not ecx
imul ecx, eax
test cl, 1
jne 0x203ced6e
jmp 0x203ced52
mov ecx, dword [0x205b7030]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
je 0x203cec7f
mov ecx, dword [0x205b7034]
cmp ecx, 0x3c
jge 0x203cec60
mov ecx, dword [0x205b7034]
cmp ecx, 0x2b
jg 0x203cec74
cmp rdx, rax
je 0x203cf04d
mov rcx, rax
sub rcx, rdx
add rcx, 0xfffffffffffffff8
mov r8, qword [0x2059f3c0]
movabs r9, 0xc37f92e534ca208
add r9, r8
cmp rcx, r9
jae 0x203cecbe
mov r9, rdx
jmp 0x203ced40
shr rcx, 3
movabs r9, 0xc37f92e534ca1f1
add r9, rcx
add r8, r9
mov ecx, r8d
not ecx
and ecx, 3
mov r9, r8
and r9, 0xfffffffffffffffc
or r9, rcx
xor r9, 0xfffffffffffffffc
mov r11d, r8d
and r11d, 3
or r11, r9
mov r10, 0xfffffffffffffffb
sub r10, r11
not r11
movzx ecx, byte [0x2059f3c0]
add cl, 0xf3
mov r9, r11
shl r9, cl
add r9, rdx
movq xmm0, rsi
pshufd xmm0, xmm0, 0x44
xor ecx, ecx
nop
movdqu xmmword [rdx + rcx*8], xmm0
movdqu xmmword [rdx + rcx*8 + 0x10], xmm0
cmp r10, rcx
je 0x203ced36
add rcx, 4
jmp 0x203ced20
cmp r8, r11
je 0x203cf04d
nop
add r9, 8
mov qword [r9 - 8], rsi
cmp r9, rax
jne 0x203ced40
jmp 0x203cf04d
movabs rax, 0x2c37f92e534ca1ef
add rax, qword [0x2059f3c0]
mov ecx, dword [0x205b7034]
cmp ecx, 0x4a
jl 0x203cedde
lea rcx, [fcn.203cebd0]
lea edx, [rcx + rcx]
add edx, 0x1c60
mov eax, edx
not eax
and edx, eax
add ecx, ecx
add ecx, 0x1c61
and eax, 0xfffffffe
xor eax, ecx
or eax, edx
not eax
nop word cs:[rax + rax]
mov ecx, dword [0x2059f3b8]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x539a5bc1
mov r9d, edx
and r9d, 0xac65a43e
or r9d, r8d
xor ecx, 0x2c65a43e
and edx, 0x539a5bc1
or edx, ecx
not edx
lea ecx, [r9 + rdx*2]
cmp eax, ecx
jne 0x203ceda0
jmp 0x203ced52
cmp rdi, rax
ja 0x203cf05a
lea rcx, [rdi*8]
movabs rax, 0xc37f92e534ca3ef
add rax, qword [0x2059f3c0]
cmp rdi, rax
jbe 0x203ceeaf
movabs rax, 0x1ffffffffffffffc
cmp rdi, rax
jae 0x203cf05a
add rcx, 0x27
mov eax, 0x6f35
add eax, dword [0x2059f458]
cdqe
add rax, qword [0x2059f460]
mov r8d, dword [0x2059f3b8]
lea edx, [r8 - 0x6f723121]
mov r9d, r8d
not r9d
mov r10d, r8d
and r10d, 0x13a43a08
mov r11d, r9d
and r11d, 0xec5bc5f7
or r11d, r10d
xor r8d, 0x6c5bc5f7
and r9d, 0x13a43a08
or r9d, r8d
not r9d
lea r8d, [r11 + r9*2]
call qword [case.0x2010e313.0]
lea r15, [rax + 0x27]
mov rcx, r15
not rcx
mov edx, r15d
xor r15, 0x1f
and r15, rcx
and rcx, 0xffffffffffffffe0
and edx, 0x1f
or rdx, rcx
or r15, rdx
not r15
mov qword [r15 - 8], rax
test r14, r14
jne 0x203cef29
jmp 0x203cef82
mov eax, dword [0x2059f458]
mov r8d, dword [0x2059f3b8]
sub eax, r8d
add eax, 0x539acaf7
cdqe
add rax, qword [0x2059f460]
mov r9d, r8d
not r9d
mov edx, r8d
xor edx, 0x908dcedf
mov r10d, r9d
and r10d, 0x6f723120
or r10d, edx
and edx, 0x6f723120
mov r11d, r9d
and r11d, 0x908dcedf
or r11d, edx
not r10d
lea edx, [r11 + r10*2]
xor r8d, 0xec5bc5f7
and r9d, 0x13a43a08
or r9d, r8d
not r9d
lea r8d, [r8 + r9*2]
call qword [case.0x2010e313.0]
mov r15, rax
test r14, r14
je 0x203cef82
mov rcx, qword [rbx]
cmp r14, 0x1000
jb 0x203cef65
mov rax, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r8, 0x7ffffffffffffff8
and r8, rcx
lea rcx, [rdx + r8*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x203cf074
add r14, 0x27
mov rcx, rax
mov eax, 0x6f35
add eax, dword [0x2059f454]
cdqe
add rax, qword [0x2059f468]
mov rdx, r14
call qword [case.0x2010e313.0]
mov qword [rbx], r15
lea rax, [r15 + rdi*8]
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov rcx, rdi
not rcx
lea rcx, [rcx + rdi*2]
movabs rdx, 0x1fffffffffffffff
and rdx, rcx
cmp rdx, 3
jae 0x203cefb6
mov r8, r15
jmp 0x203cf040
inc rdx
mov ecx, dword [0x205b7030]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
nop dword [rax + rax]
mov rcx, rdx
xor rcx, 0xfffffffffffffffc
mov r9, rdx
and r9, 0xfffffffffffffffc
or r9, rcx
not r9
or r9, rcx
not r9
movzx ecx, byte [0x2059f3c0]
add cl, 0xf3
mov r8, r9
shl r8, cl
mov ecx, dword [0x205b7030]
lea r10d, [rcx - 1]
imul r10d, ecx
test r10b, 1
jne 0x203cefd0
add r8, r15
movq xmm0, rsi
pshufd xmm0, xmm0, 0x44
mov ecx, 4
movdqu xmmword [r15 + rcx*8 - 0x20], xmm0
movdqu xmmword [r15 + rcx*8 - 0x10], xmm0
cmp r9, rcx
je 0x203cf039
add rcx, 4
jmp 0x203cf020
cmp rdx, r9
je 0x203cf04d
nop
add r8, 8
mov qword [r8 - 8], rsi
cmp r8, rax
jne 0x203cf040
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov eax, 0x6f35
add eax, dword [0x2059f450]
cdqe
add rax, qword [0x2059f470]
call qword [case.0x2010e313.0]
call fcn.20407a4c
int3