Function at 0x180001390
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rbp
push rdi
push rsi
push r12
push r13
xor r13, r13
inc r13
pop r13
push r13
xor r13, r13
inc r13
pop r13
push r13
push r14
push r15
sub rsp, 8
mov rbp, rsp
cmp rdx, 1
je 0x1800013ea
mov rsp, rbp
add rsp, 8
pop r15
pop r14
pop r13
push rdx
xor rdx, rdx
inc rdx
pop rdx
push r8
xor r8, r8
inc r8
pop r8
pop r12
pop rsi
pop rdi
pop rbp
pop rbx
mov rax, 1
ret
sub rsp, 0x20
mov rbx, rcx
xor rax, rax
mov rcx, rbp
sub rcx, rsp
mov rdi, rsp
rep stosb byte [rdi], al
mov rcx, rbx
rdrand rax
cmp al, 0x61
jle 0x180001402
cmp al, 0x63
jge 0x180001402
sub rax, 2
and rax, 0xff
mov r11, qword gs:[rax]
mov rax, 0x15
add rax, 3
mov rbx, qword [r11 + rax]
mov rax, 0x1f
add rax, 1
mov rbx, qword [rbx + rax]
push r9
xor r9, r9
inc r9
pop r9
mov r12, rbx
xor rax, rax
mov rax, 0x3c
add rax, 4
mov rsi, qword [rbx + rax]
xor rax, rax
mov rax, 0x23
add rax, 5
mov dl, 0x46
add dl, 5
push r13
xor r13, r13
inc r13
pop r13
cmp byte [rsi + rax], dl
je 0x180001498
xor rax, rax
mov rax, 0x23
add rax, 5
mov dl, 0x64
add dl, 7
cmp byte [rsi + rax], dl
je 0x180001498
jmp 0x1800015bf
xor rax, rax
mov rax, 0x28
add rax, 8
mov dl, 0x3c
add dl, 9
push r13
xor r13, r13
inc r13
pop r13
cmp byte [rsi + rax], dl
je 0x1800014d7
xor rax, rax
mov rax, 0x28
add rax, 8
mov dl, 0x5f
add dl, 6
cmp byte [rsi + rax], dl
je 0x1800014d7
jmp 0x1800015bf
xor rax, rax
mov rax, 0x2d
add rax, 5
mov dl, 0x46
add dl, 6
cmp byte [rsi + rax], dl
je 0x180001516
xor rax, rax
mov rax, 0x2d
add rax, 5
mov dl, 0x64
add dl, 8
push r9
xor r9, r9
inc r9
pop r9
cmp byte [rsi + rax], dl
je 0x180001516
jmp 0x1800015bf
xor rax, rax
mov rax, 0x31
add rax, 5
mov dl, 0x2c
add dl, 6
cmp byte [rsi + rax], dl
je 0x180001533
jmp 0x1800015bf
xor rax, rax
mov rax, 0x37
add rax, 5
mov dl, 0x46
add dl, 6
cmp byte [rsi + rax], dl
je 0x18000156f
xor rax, rax
mov rax, 0x32
add rax, 0xa
mov dl, 0x64
add dl, 8
push r9
xor r9, r9
inc r9
pop r9
cmp byte [rsi + rax], dl
je 0x18000156f
jmp 0x1800015bf
xor rax, rax
mov rax, 0x3c
add rax, 2
mov dl, 0x46
add dl, 6
cmp byte [rsi + rax], dl
je 0x1800015ab
xor rax, rax
mov rax, 0x3c
add rax, 2
push r13
xor r13, r13
inc r13
pop r13
mov dl, 0x64
add dl, 8
cmp byte [rsi + rax], dl
je 0x1800015ab
jmp 0x1800015bf
xor rax, rax
mov rax, 0x1d
add rax, 3
mov rbx, qword [rbx + rax]
jmp 0x1800015cb
mov rbx, qword [rbx]
cmp r12, rbx
jne 0x180001447
mov qword [rbp - 8], rbx
clc
xor r8, r8
mov rax, 0x32
add rax, 0xa
mov r8d, dword [rbx + rax]
mov rdx, r8
add rdx, rbx
mov rax, 0x82
add rax, 6
push r13
xor r13, r13
inc r13
pop r13
mov r8d, dword [rdx + rax]
add r8, rbx
xor rsi, rsi
push rax
xor rax, rax
cmp rax, 0x47
je 0x1800015ce
inc rax
cmp rax, 0x1f
je 0x180001662
pop rax
xor rax, rax
add rax, 0x1b
add rax, 5
push r9
xor r9, r9
inc r9
pop r9
mov esi, dword [r8 + rax]
mov esi, dword [rax + rax]
add rsi, rbx
xor rcx, rcx
movabs rax, 0x68e5d512392fdef3
movabs rcx, 0x2986ba60695bbbb4
xor rax, rcx
xor rcx, rcx
mov r9, rax
inc rcx
xor rax, rax
push r13
xor r13, r13
in eax, dx
inc r13
inc ebp
pop r13
mov eax, dword [rsi + rcx*4]
add rax, rbx
cmp qword [rax], r9
jne 0x180001656
xor rsi, rsi
xor rax, rax
push rax
xor rax, rax
cmp rax, 0x15
je 0x180001617
inc rax
cmp rax, 0xb
je 0x18000169c
pop rax
add rax, 0xd
add rax, 0x17
mov esi, dword [r8 + rax]
add rsi, rbx
mov cx, word [rsi + rcx*2]
or al, 0x4e
xor rsi, rsi
push r9
xor r9, r9
inc r9
pop r9
xor rax, rax
add rax, 0xf
add rax, 0xd
mov r12, r12
mov esi, dword [r8 + rax]
add rsi, rbx