Function at 0x180012ea6
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x30]
mov qword [rsp], rax
mov rax, 0xfc
mov dword [rsp + rax], 0xcccccccc
sub rax, 4
cmp rax, 4
jg 0x180012ebe
mov rax, qword [rsp]
mov dword [rsp], 0xcccccccc
mov dword [rsp + 4], 0xcccccccc
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0xe0], rcx
mov byte [rbp + 0xe8], dl
mov rax, qword [0x1800f4ae8]
xor rax, rbp
mov qword [rbp + 0xc0], rax
mov byte [rbp + 0x28], 0
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rax
mov qword [rbp + 0x60], rax
mov byte [rbp + 0x28], 1
mov rax, qword [rbp + 0x60]
mov edx, 0x28
lea rcx, [rbp + 0x18]
mov rbx, qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
mov qword [rbp + 0x78], rcx
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov r8, rax
call rbx
mov dword [rbp + 0x2c], eax
mov eax, dword [rbp + 0x2c]
test eax, eax
jne 0x180012f97
mov eax, 0
mov dword [rbp + 0x50], eax
lea rax, reloc.WS2_32.dll_closesocket
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0xc0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x50]
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x98]
lea rsp, [rbp + 0xd0]
pop rbp
ret
mov eax, 0
mov rdx, qword [rbp + 0xe0]
lea rcx, [rbp + 8]
mov rbx, qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
mov qword [rbp + 0x80], rcx
mov rcx, rax
mov rax, qword [rbp + 0x80]
mov r8, rax
call rbx
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x30]
test eax, eax
jne 0x18001303e
movzx eax, byte [rbp + 0x28]
test eax, eax
jne 0x180012fe5
lea rax, [0x180101e6c]
mov rcx, rax
call fcn.180064a90
mov rax, qword [rbp + 0x18]
mov rdx, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rax
call rdx
mov dword [rbp + 0x34], eax
mov eax, 0
mov dword [rbp + 0x54], eax
lea rax, reloc.WS2_32.dll_closesocket
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0xc0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x54]
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x98]
lea rsp, [rbp + 0xd0]
pop rbp
ret
mov dword [rbp + 0xa8], 1
lea rax, [rbp + 0xac]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov edx, dword [rbp + 8]
mov dword [rax], edx
mov rax, qword [rbp + 0x70]
mov edx, dword [rbp + 0xc]
mov dword [rax + 4], edx
movzx eax, byte [rbp + 0xe8]
movzx eax, al
test eax, eax
jne 0x180013085
mov dword [rbp + 0x38], 4
jmp 0x18001308c
mov dword [rbp + 0x38], 2
lea rax, [rbp + 0xb4]
mov edx, dword [rbp + 0x38]
mov dword [rax], edx
movzx eax, byte [rbp + 0x28]
test eax, eax
jne 0x1800130af
lea rax, [0x180101e6c]
mov rcx, rax
call fcn.180064a90
mov rax, qword [rbp + 0x18]
mov edx, 0
lea rcx, [rbp + 0xa8]
mov ebx, reloc.WS2_32.dll_recv
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov rsi, qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov qword [rbp + 0x88], rcx
mov rcx, rax
mov rax, qword [rbp + 0x88]
mov r8, rax
mov r9d, ebx
call rsi
mov dword [rbp + 0x3c], eax
mov eax, dword [rbp + 0x3c]
test eax, eax
jne 0x180013194
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0x40]
mov dword [rbp + 0x44], eax
movzx eax, byte [rbp + 0x28]
test eax, eax
jne 0x18001312d
lea rax, [0x180101e6c]
mov rcx, rax
call fcn.180064a90
mov rax, qword [rbp + 0x18]
mov rdx, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rax
call rdx
mov dword [rbp + 0x4c], eax
mov eax, dword [rbp + 0x44]
mov rdx, qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, eax
call rdx
mov eax, 0
mov dword [rbp + 0x58], eax
lea rax, reloc.WS2_32.dll_closesocket
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0xc0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x58]
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x98]
lea rsp, [rbp + 0xd0]
pop rbp
ret
movzx eax, byte [rbp + 0x28]
test eax, eax
jne 0x1800131ab
lea rax, [0x180101e6c]
mov rcx, rax
call fcn.180064a90
mov rax, qword [rbp + 0x18]
mov rdx, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rax
call rdx
mov dword [rbp + 0x48], eax
mov eax, 1
mov dword [rbp + 0x5c], eax
lea rax, reloc.WS2_32.dll_closesocket
mov rdx, rax
mov rcx, rbp
call fcn.180061140
mov rax, qword [rbp + 0xc0]
xor rax, rbp
mov rcx, rax
call fcn.1800612f0
mov eax, dword [rbp + 0x5c]
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x98]
lea rsp, [rbp + 0xd0]
pop rbp
ret