Function at 0x1400064c3
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0xf0]
movups xmmword [rbp], xmm6
mov qword [rbp + 0x20], rcx
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_GetDC]
call rax
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_CreateCompatibleDC]
call rax
mov qword [rbp - 0x28], rax
mov eax, dword [0x14013e0f8]
lea edx, [rax + 3]
test eax, eax
cmovs eax, edx
sar eax, 2
mov dword [rbp - 0x2c], eax
mov eax, dword [0x14013e0fc]
lea edx, [rax + 3]
test eax, eax
cmovs eax, edx
sar eax, 2
mov dword [rbp - 0x30], eax
pxor xmm0, xmm0
movups xmmword [rbp - 0x90], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x74], xmm0
mov dword [rbp - 0x90], 0x2c
mov eax, dword [rbp - 0x2c]
mov dword [rbp - 0x8c], eax
mov eax, dword [rbp - 0x30]
mov dword [rbp - 0x88], eax
mov word [rbp - 0x84], 1
mov word [rbp - 0x82], 0x20
mov dword [rbp - 0x80], 0
mov qword [rbp - 0x58], 0
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x90]
mov rax, qword [rbp - 0x20]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_CreateDIBSection]
call rax
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x28]
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_SelectObject]
call rax
mov dword [rbp - 4], 0
pxor xmm0, xmm0
movsd qword [rbp - 0x10], xmm0
mov ecx, dword [0x14013e0fc]
mov edx, dword [0x14013e0f8]
mov r8d, dword [rbp - 0x2c]
mov rax, qword [rbp - 0x28]
mov dword [rsp + 0x50], 0xcc0020
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov rdx, qword [rbp - 0x20]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp - 0x30]
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_StretchBlt]
call rax
mov dword [rbp - 0x14], 0
jmp 0x1400067ea
mov dword [rbp - 0x18], 0
jmp 0x1400067da
mov eax, dword [rbp - 0x18]
imul eax, dword [rbp - 0x2c]
mov edx, eax
mov eax, dword [rbp - 0x14]
add eax, edx
mov dword [rbp - 0x3c], eax
mov eax, dword [rbp - 0x2c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
neg eax
mov edx, eax
mov eax, dword [rbp - 0x14]
add eax, edx
mov edx, eax
neg edx
cmovns eax, edx
mov dword [rbp - 0x40], eax
mov eax, dword [rbp - 0x30]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
neg eax
mov edx, eax
mov eax, dword [rbp - 0x18]
add eax, edx
mov edx, eax
neg edx
cmovns eax, edx
mov dword [rbp - 0x44], eax
mov rax, qword [rbp - 0x10]
movq xmm0, rax
call sym.cos
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp - 0x40]
movapd xmm6, xmm0
mulsd xmm6, xmm1
mov rax, qword [rbp - 0x10]
movq xmm0, rax
call sym.sin
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp - 0x44]
mulsd xmm0, xmm1
subsd xmm6, xmm0
movapd xmm1, xmm6
cvttsd2si eax, xmm1
mov dword [rbp - 0x48], eax
mov rax, qword [rbp - 0x10]
movq xmm0, rax
call sym.sin
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp - 0x40]
movapd xmm6, xmm0
mulsd xmm6, xmm1
mov rax, qword [rbp - 0x10]
movq xmm0, rax
call sym.cos
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp - 0x44]
mulsd xmm0, xmm1
addsd xmm0, xmm6
cvttsd2si eax, xmm0
mov dword [rbp - 0x4c], eax
mov edx, dword [rbp - 0x48]
mov eax, dword [rbp - 4]
lea ecx, [rdx + rax]
mov edx, dword [rbp - 0x4c]
mov eax, dword [rbp - 4]
add eax, edx
xor eax, ecx
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp - 0x3c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
movzx ecx, byte [rax + 2]
mov eax, dword [rbp - 0x50]
mov r8d, eax
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp - 0x3c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
lea edx, [rcx + r8]
mov byte [rax + 2], dl
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp - 0x3c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
movzx ecx, byte [rax + 1]
mov eax, dword [rbp - 0x50]
mov r8d, eax
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp - 0x3c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
lea edx, [rcx + r8]
mov byte [rax + 1], dl
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp - 0x3c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
movzx ecx, byte [rax]
mov eax, dword [rbp - 0x50]
mov r8d, eax
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp - 0x3c]
movsxd rdx, edx
shl rdx, 2
add rax, rdx
lea edx, [rcx + r8]
mov byte [rax], dl
add dword [rbp - 0x18], 1
mov eax, dword [rbp - 0x18]
cmp eax, dword [rbp - 0x30]
jl 0x14000664c
add dword [rbp - 0x14], 1
mov eax, dword [rbp - 0x14]
cmp eax, dword [rbp - 0x2c]
jl 0x140006640
add dword [rbp - 4], 1
movsd xmm1, qword [rbp - 0x10]
movsd xmm0, qword [0x1401068b8]
addsd xmm0, xmm1
movsd qword [rbp - 0x10], xmm0
mov edx, dword [0x14013e0fc]
mov r8d, dword [0x14013e0f8]
mov rax, qword [rbp - 0x20]
mov dword [rsp + 0x50], 0xcc0020
mov ecx, dword [rbp - 0x30]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rbp - 0x2c]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov rcx, qword [rbp - 0x28]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.GDI32.dll_StretchBlt]
call rax
call sym.rand
mov edx, eax
movsxd rax, edx
imul rax, rax, 0x66666667
shr rax, 0x20
mov ecx, eax
sar ecx, 2
mov eax, edx
sar eax, 0x1f
sub ecx, eax
mov eax, ecx
shl eax, 2
add eax, ecx
add eax, eax
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov ecx, eax
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
call method.System.RedrawScreen__
call sym.rand
mov ecx, eax
movsxd rax, ecx
imul rax, rax, 0x51eb851f
shr rax, 0x20
mov edx, eax
sar edx, 3
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
lea edx, [rax*4]
add eax, edx
sub ecx, eax
mov edx, ecx
test edx, edx
jne 0x1400068f9
movzx eax, byte [0x140100268]
test al, al
je 0x1400068f9
mov eax, 1
jmp 0x1400068fe
mov eax, 0
test al, al
je 0x1400065d6
mov ecx, 0x3e8
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
jmp 0x1400065d6