Function at 0x1801713d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x70
mov rax, qword [0x18048aea8]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rbx, rcx
movsd qword [rsp + 0x20], xmm1
mov r8, qword [rsp + 0x20]
movabs rdx, 0xfffffffffffff
mov rax, r8
mov rcx, r8
shr rax, 0x34
and r8, rdx
and eax, 0x7ff
shr rcx, 0x3f
cmp eax, 0x7ff
jne 0x180171469
test r8, r8
jne 0x180171448
lea rax, [0x180450831]
sub rax, rcx
mov edx, dword [rax]
lea rax, [rcx + rbx]
add rax, 3
mov dword [rbx], edx
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180394080
add rsp, 0x70
pop rbx
ret
mov edx, 0x6e616e
mov rax, rbx
add rax, 3
mov dword [rbx], edx
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180394080
add rsp, 0x70
pop rbx
ret
mov byte [rbx], 0x2d
add rbx, rcx
test eax, eax
jne 0x180171492
test r8, r8
jne 0x180171492
mov byte [rbx], 0x30
lea rax, [rbx + 1]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180394080
add rsp, 0x70
pop rbx
ret
mov edx, eax
mov qword [rsp + 0x98], rdi
lea rcx, [rsp + 0x30]
call fcn.1801710f0
lea r11, [rsp + 0x54]
lea rdi, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movups xmm0, xmmword [rax]
movq r10, xmm0
movups xmmword [rsp + 0x20], xmm0
cmp r10, 0x2710
jb 0x18017153e
mov qword [rsp + 0x90], rsi
movabs rsi, 0x346dc5d63886594b
nop word [rax + rax]
mov rax, rsi
mul r10
mov r9, rdx
shr r9, 0xb
imul eax, r9d, 0x2710
sub r10d, eax
mov eax, 0x51eb851f
mul r10d
shr edx, 5
lea eax, [rdx + rdx]
movsxd rcx, eax
movzx eax, word [rcx + rdi]
mov word [r11 - 4], ax
imul eax, edx, 0x64
sub r10d, eax
lea eax, [r10 + r10]
mov r10, r9
cdqe
movzx eax, word [rax + rdi]
mov word [r11 - 2], ax
add r11, 0xfffffffffffffffc
cmp r9, 0x2710
jae 0x1801714e0
mov rsi, qword [rsp + 0x90]
cmp r10d, 0xa
jb 0x18017157b
nop dword [rax]
nop dword [rax + rax]
mov eax, 0x51eb851f
add r11, 0xfffffffffffffffe
mul r10d
shr edx, 5
imul eax, edx, 0x64
sub r10d, eax
lea eax, [r10 + r10]
mov r10d, edx
cdqe
movzx eax, word [rax + rdi]
mov word [r11], ax
cmp edx, 0xa
jae 0x180171550
test r10d, r10d
je 0x18017158a
dec r11
add r10b, 0x30
mov byte [r11], r10b
mov edx, dword [rsp + 0x28]
lea r8, [rsp + 0x54]
sub r8d, r11d
add edx, r8d
lea eax, [rdx + 5]
cmp eax, 0x1a
ja 0x18017166d
movsxd r10, edx
movups xmm0, xmmword [r11]
test edx, edx
jg 0x180171601
mov word [rbx], 0x2e30
movabs rax, 0x3030303030303030
mov dword [rbx + 2], eax
neg edx
mov byte [rbx + 6], al
mov rcx, rbx
movzx eax, byte [r11 + 0x10]
sub rcx, r10
movups xmmword [rcx + 2], xmm0
mov byte [rcx + 0x12], al
movsxd rax, edx
add rax, 2
movsxd rcx, r8d
add rax, rbx
add rax, rcx
cmp byte [rax - 1], 0x30
jne 0x180171707
dec rax
cmp byte [rax - 1], 0x30
je 0x1801715f3
jmp 0x180171707
lea r9, [r10 + rbx]
movups xmmword [rbx], xmm0
cmp edx, r8d
jne 0x18017161d
movzx ecx, byte [r11 + 0x10]
mov rax, r9
mov byte [rbx + 0x10], cl
jmp 0x180171707
movsxd rcx, r8d
jge 0x18017164f
movups xmm0, xmmword [r10 + r11]
mov byte [r9], 0x2e
lea rax, [rbx + 1]
add rax, rcx
movups xmmword [r9 + 1], xmm0
cmp byte [rcx + rbx], 0x30
jne 0x180171707
dec rax
cmp byte [rax - 1], 0x30
je 0x180171641
jmp 0x180171707
movzx eax, byte [r11 + 0x10]
mov byte [rbx + 0x10], al
movabs rax, 0x3030303030303030
mov qword [rcx + rbx], rax
mov rax, r9
jmp 0x180171707
movzx eax, byte [r11]
lea rcx, [rbx + 1]
movups xmm0, xmmword [r11 + 1]
mov byte [rbx], al
movsxd rax, r8d
add rcx, rax
mov byte [rbx + 1], 0x2e
movups xmmword [rbx + 2], xmm0
cmp byte [rax + rbx], 0x30
jne 0x180171699
dec rcx
cmp byte [rcx - 1], 0x30
je 0x180171690
cmp byte [rcx - 1], 0x2e
lea r8, [rcx - 1]
lea eax, [rdx - 1]
mov edx, 0x2d
cmovne r8, rcx
test eax, eax
mov ecx, 0x2b
cmovs ecx, edx
cdq
mov r9d, eax
xor r9d, edx
mov byte [r8], 0x65
mov byte [r8 + 1], cl
sub r9d, edx
add r8, 2
cmp r9d, 0x64
jl 0x1801716f4
mov eax, 0x51eb851f
imul r9d
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [rdx + 0x30]
mov byte [r8], al
inc r8
imul eax, edx, 0xffffff9c
add r9d, eax
lea eax, [r9 + r9]
movsxd rcx, eax
movzx eax, word [rcx + rdi]
mov word [r8], ax
lea rax, [r8 + 2]
mov rdi, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180394080
add rsp, 0x70
pop rbx
ret