Function at 0x140113590
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push r13
sub rsp, 0x38
xor r13d, r13d
mov rbx, rcx
cmp word [rcx + 0x44fc], r13w
je 0x140113828
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rdi
cmp dword [rcx + 0x24658], r13d
je 0x140113707
cmp dword [rcx + 0x3d0], 9
movzx esi, word [rcx + 0x44fe]
movzx edi, word [rcx + 0x4500]
mov word [rcx + 0x44f4], si
mov word [rcx + 0x44f6], di
jne 0x14011381e
mov r10, qword [rcx + 0x4510]
mov r11d, r13d
mov r8d, r13d
nop dword [rax]
movzx eax, di
mov ecx, 1
mov r9d, ecx
imul rax, r8
lea rdx, [rax*8 + 8]
nop word [rax + rax]
movzx eax, word [rdx + r10 + 4]
or ax, word [rdx + r10]
je 0x140113649
inc rcx
inc r9d
add rdx, 8
cmp rcx, 4
jl 0x140113620
inc r8
inc r11d
cmp r8, 3
jl 0x140113600
movzx eax, si
cmp r11d, eax
jge 0x14011381e
nop word [rax + rax]
dec r9d
mov eax, 0x55555556
imul r9d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
sub r9d, eax
movzx eax, word [rbx + 0x44f6]
dec eax
inc r9d
cmp r9d, eax
jge 0x1401136ee
movsxd r10, r9d
nop dword [rax]
movzx eax, word [rbx + 0x44f6]
mov r8d, 2
imul eax, r11d
movsxd rcx, eax
mov rax, qword [rbx + 0x4510]
add rcx, r10
lea rax, [rax + rcx*8]
add rax, 8
nop word [rax + rax]
movzx edx, word [rax - 0x10]
movzx ecx, word [rax]
lea rax, [rax + 4]
add edx, ecx
sar edx, 1
mov word [rax - 0xc], dx
dec r8
jne 0x1401136c0
movzx eax, word [rbx + 0x44f6]
add r9d, 3
add r10, 3
dec eax
cmp r9d, eax
jl 0x140113690
movzx eax, word [rbx + 0x44f4]
add r11d, 3
cmp r11d, eax
jl 0x140113660
jmp 0x14011381e
movzx edx, word [rcx + 0x44f6]
movzx ecx, word [rcx + 0x44f4]
mov qword [rsp + 0x30], r12
shl rdx, 3
call fcn.1401be1f8
lea r8, str.pre_interpolate__
mov rcx, rbx
mov rdx, rax
mov r12, rax
call fcn.140106a20
mov edi, r13d
cmp r13w, word [rbx + 0x44f4]
jae 0x1401137fe
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov r15, r13
nop dword [rax + rax]
mov esi, r13d
mov r14, r13
cmp r13w, word [rbx + 0x44f6]
jae 0x1401137db
movsxd rbp, edi
sar rbp, 1
nop word [rax + rax]
mov r8d, esi
mov edx, edi
mov rcx, rbx
call fcn.1400f6ca0
movzx ecx, word [rbx + 0x4500]
mov rdx, qword [rbx + 0x4510]
imul rcx, rbp
movsxd r9, eax
movsxd rax, esi
inc esi
sar rax, 1
add rcx, rax
movzx eax, word [rbx + 0x44f6]
lea r8, [r9 + rcx*4]
imul rax, r15
add rax, r14
inc r14
lea rcx, [r9 + rax*4]
movzx eax, word [rdx + r8*2]
mov word [r12 + rcx*2], ax
movzx eax, word [rbx + 0x44f6]
cmp esi, eax
jl 0x140113780
movzx eax, word [rbx + 0x44f4]
inc edi
inc r15
cmp edi, eax
jl 0x140113760
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x50]
mov rcx, qword [rbx + 0x4510]
call fcn.1401be23c
mov qword [rbx + 0x4510], r12
mov r12, qword [rsp + 0x30]
mov word [rbx + 0x44fc], r13w
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r9d, dword [rbx + 0x3d0]
cmp r9d, 0x3e8
jbe 0x140113921
cmp dword [rbx + 0x24630], 3
jne 0x140113921
mov edx, dword [rbx + 0x2465c]
mov ecx, dword [rbx + 0x24658]
mov eax, edx
xor eax, ecx
or edx, ecx
mov dword [rbx + 0x4444], eax
je 0x140113872
mov dword [rbx + 0x24630], 4
jmp 0x140113921
movzx eax, word [rbx + 0x44f4]
shr r9d, 5
and r9d, 1
cmp r9d, eax
jge 0x140113907
movsxd r10, r9d
nop dword [rax]
mov edx, dword [rbx + 0x3d0]
movzx eax, word [rbx + 0x44f6]
mov ecx, r9d
and ecx, 7
lea ecx, [rcx*4 + 2]
shr edx, cl
and edx, 1
cmp edx, eax
jge 0x1401138f3
movsxd r8, edx
nop word [rax + rax]
mov rax, qword [rbx + 0x4510]
movzx ecx, word [rbx + 0x44f6]
add edx, 2
imul rcx, r10
add rcx, r8
add r8, 2
lea rcx, [rax + rcx*8]
movzx eax, word [rcx + 6]
mov word [rcx + 2], ax
movzx eax, word [rbx + 0x44f6]
cmp edx, eax
jl 0x1401138c0
movzx eax, word [rbx + 0x44f4]
add r9d, 2
add r10, 2
cmp r9d, eax
jl 0x140113890
mov eax, dword [rbx + 0x3d0]
mov ecx, eax
and ecx, 0xd5555555
add ecx, ecx
not ecx
and ecx, eax
mov dword [rbx + 0x3d0], ecx
cmp dword [rbx + 0x24658], r13d
je 0x140113931
mov dword [rbx + 0x3d0], r13d
add rsp, 0x38
pop r13
pop rbx
ret