Function at 0x1401745e8
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x20
cmp dword [rcx + 0x4838], 0
mov rbp, r8
movsxd r12, r9d
mov r14, rdx
mov rbx, rcx
je 0x14017463d
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, [0x1404cae40]
mov edx, 0x28
mov qword [rdx + rcx], rax
xor eax, eax
jmp 0x14017491d
cmp dword [rcx + 0x4824], 0x10
jge 0x14017464b
call fcn.140173f44
cmp dword [rbx + 0x483c], 0
jne 0x1401748cc
xor edx, edx
mov r8d, 0x80
mov rcx, r14
call fcn.1403ccc50
cmp dword [rbx + 0x4824], 0x10
jge 0x140174679
mov rcx, rbx
call fcn.140173f44
mov r10d, dword [rbx + 0x4820]
lea r13, [0x140000000]
mov eax, r10d
shr rax, 0x17
cmp byte [rax + rbp], 0xff
jae 0x1401746d0
movzx edx, byte [rax + rbp]
mov r9d, dword [rbx + 0x4824]
movzx ecx, byte [rdx + rbp + 0x500]
cmp ecx, r9d
jg 0x14017461a
shl r10d, cl
sub r9d, ecx
mov dword [rbx + 0x4820], r10d
mov dword [rbx + 0x4824], r9d
mov al, byte [rdx + rbp + 0x400]
jmp 0x1401747b4
mov ecx, r10d
lea rax, [rbp + 0x62c]
shr ecx, 0x10
mov esi, 0xa
jmp 0x1401746ea
inc esi
lea rax, [rax + 4]
cmp ecx, dword [rax]
jae 0x1401746e4
mov r9d, dword [rbx + 0x4824]
cmp esi, 0x11
jne 0x140174709
lea eax, [r9 - 0x10]
mov dword [rbx + 0x4824], eax
jmp 0x14017461a
cmp esi, r9d
jg 0x14017461a
movsxd r8, esi
mov r11d, 0x20
mov ecx, r11d
mov edx, r10d
sub ecx, esi
shr edx, cl
and edx, dword [r13 + r8*4 + 0x4c5260]
mov ecx, dword [rbp + r8*4 + 0x64c]
add ecx, edx
cmp ecx, 0xff
ja 0x14017461a
movsxd r15, ecx
mov edx, r10d
movzx eax, byte [r15 + rbp + 0x500]
sub r11d, eax
mov cl, r11b
shr edx, cl
and edx, dword [r13 + rax*4 + 0x4c5260]
movzx eax, word [rbp + r15*2 + 0x200]
cmp edx, eax
je 0x140174796
mov r8d, 0x85c
lea rdx, [0x1404cac00]
lea rcx, [0x1404cad70]
call fcn.1403df56c
mov r9d, dword [rbx + 0x4824]
mov r10d, dword [rbx + 0x4820]
sub r9d, esi
mov ecx, esi
shl r10d, cl
mov dword [rbx + 0x4820], r10d
mov dword [rbx + 0x4824], r9d
mov al, byte [r15 + rbp + 0x400]
movzx esi, al
cmp esi, 0xf
ja 0x14017461a
test al, al
je 0x140174822
cmp r9d, esi
jge 0x1401747dd
mov rcx, rbx
call fcn.140173f44
mov r9d, dword [rbx + 0x4824]
cmp r9d, esi
jl 0x140174822
mov r10d, dword [rbx + 0x4820]
sub r9d, esi
mov edx, dword [r13 + rsi*4 + 0x4c5260]
mov r8d, r10d
shr r10d, 0x1f
mov eax, edx
dec r10d
mov dword [rbx + 0x4824], r9d
and r10d, dword [r13 + rsi*4 + 0x4c4fb0]
mov ecx, esi
rol r8d, cl
not eax
and eax, r8d
and edx, r8d
add r10d, edx
mov dword [rbx + 0x4820], eax
jmp 0x140174825
xor r10d, r10d
lea r8, [r12 + r12*2]
mov eax, r10d
shl r8, 5
not eax
mov edx, dword [r8 + rbx + 0x46b8]
mov ecx, edx
not ecx
xor ecx, eax
js 0x140174887
test edx, edx
jns 0x14017485c
test r10d, r10d
jns 0x14017485c
xor ecx, ecx
mov eax, 0x80000000
sub eax, r10d
cmp edx, eax
setge cl
jmp 0x14017486b
xor ecx, ecx
mov eax, 0x7fffffff
sub eax, r10d
cmp edx, eax
setle cl
test ecx, ecx
jne 0x140174887
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rax, [0x1404cae30]
jmp 0x14017462d
lea r11d, [rdx + r10]
mov edx, 1
mov dword [r8 + rbx + 0x46b8], r11d
mov ebx, dword [rbx + 0x4840]
mov ecx, ebx
shl edx, cl
mov ecx, r11d
call fcn.140172ba0
test eax, eax
je 0x14017461a
mov ecx, ebx
movsx eax, r11w
mov edx, 1
shl dx, cl
movsx ecx, dx
imul ecx, eax
mov word [r14], cx
jmp 0x140174918
mov eax, dword [rbx + 0x4824]
cmp eax, 1
jge 0x1401748ea
mov rcx, rbx
call fcn.140173f44
mov eax, dword [rbx + 0x4824]
cmp eax, 1
jl 0x140174918
mov edx, dword [rbx + 0x4820]
lea ecx, [rdx + rdx]
mov dword [rbx + 0x4820], ecx
lea ecx, [rax - 1]
mov dword [rbx + 0x4824], ecx
test edx, edx
jns 0x140174918
mov ecx, dword [rbx + 0x4840]
mov edx, 1
shl dx, cl
add word [r14], dx
mov eax, 1
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r13
ret