Function at 0x1401152d0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov eax, dword [rcx + 0x950]
lea r9, [rcx + 0x3188]
mov dword [rsp + 0x30], r8d
mov edi, 0xffffffff
cmp edx, 5
mov dword [rsp + 0x28], eax
mov rbx, rcx
lea r8, [rcx + 0x3030]
lea rdx, [rcx + 0x1610]
lea ebp, [rdi + 2]
jne 0x1400cb388
mov eax, dword [rcx + 0x9b8]
mov dword [rsp + 0x20], eax
call fcn.1400c9fd0
cmp dword [rbx + 0x8c], 0
mov ecx, dword [rbx + 0x9b8]
je 0x1400cb37e
cmp ecx, 3
je 0x1400cb372
mov edx, 5
mov eax, 3
cmp ecx, edx
cmovne eax, edx
mov dword [rbx + 0x9b8], eax
jmp 0x1400cb3d1
mov dword [rbx + 0x9b8], 4
jmp 0x1400cb3d1
xor ecx, ebp
mov dword [rbx + 0x9b8], ecx
jmp 0x1400cb3d1
mov dword [rsp + 0x20], edi
call fcn.1400c9fd0
mov eax, dword [rbx + 0x51a0]
test eax, eax
cmovle eax, ebp
mov dword [rbx + 0x1660], eax
mov ecx, dword [rbx + 0x51a4]
test ecx, ecx
cmovle ecx, ebp
mov dword [rbx + 0x1664], ecx
cmp eax, dword [rbx + 0x319c]
jne 0x1400cb3cb
cmp dword [rbx + 0x1620], ebp
jne 0x1400cb3d1
cmp ecx, dword [rbx + 0x31a0]
je 0x1400cb3d1
mov dword [rbx + 0x165c], ebp
mov rax, qword [rbx + 0x5190]
cmp dword [rax + 0x14], 4
jne 0x1400cb40f
cmp dword [rbx + 0x88], 0
je 0x1400cb40f
cmp dword [rbx + 0x2f84], 0
je 0x1400cb40f
lea rcx, [rbx + 0x31d0]
mov dword [rbx + 0x31c8], ebp
mov r8d, 0x1a20
lea rdx, [rbx + 0x1610]
call fcn.140260c10
mov rcx, qword [rbx + 0x5198]
mov eax, dword [rbx + 0x1630]
mov dword [rcx + 0x78], eax
cmp dword [rbx + 0x3050], 0
jne 0x1400cb488
mov r8, qword [rbx + 0x5198]
xor edx, edx
mov r9d, dword [r8 + 8]
mov dword [rbx + 0x1644], r9d
cmp dword [rbx + 0xa8], edx
je 0x1400cb461
mov ecx, dword [rbx + 0x3a8]
mov eax, edx
test ecx, ecx
sete al
add eax, r9d
test ecx, ecx
mov dword [rbx + 0x1644], eax
cmovne edi, ebp
jmp 0x1400cb463
mov edi, edx
mov eax, edx
mov dword [rbx + 0x1648], edi
cmp edi, 0xffffffff
sete al
mov dword [r8 + 0xc], eax
cmp dword [rbx + 0x1648], ebp
mov rax, qword [rbx + 0x5198]
sete dl
mov dword [rax + 0x10], edx
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
jmp 0x1401152d0
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword [rcx + 0x5198]
mov rbx, rcx
xor esi, esi
mov edi, 0x1b60
mov r9d, esi
mov rcx, qword [rax + 0xee0]
mov qword [rbx + 0x6150], rcx
mov rax, qword [rbx + 0x5198]
mov rcx, qword [rax + 0xee8]
mov qword [rbx + 0x6158], rcx
mov rax, qword [rbx + 0x5198]
mov rcx, qword [rax + 0xef0]
mov qword [rbx + 0x6180], rcx
mov rax, qword [rbx + 0x5198]
mov rcx, qword [rax + 0x1b48]
mov qword [rbx + 0x6170], rcx
mov rax, qword [rbx + 0x5198]
mov rcx, qword [rax + 0x1b50]
mov qword [rbx + 0x6178], rcx
mov rcx, qword [rbx + 0x5198]
mov rax, qword [rcx + 0xed0]
mov qword [rbx + 0x6118], rax
mov rax, qword [rcx + 0xed8]
mov qword [rbx + 0x6120], rax
mov rax, qword [rcx + 0x1008]
mov qword [rbx + 0x6398], rax
mov eax, dword [rbx + 0x51a0]
mov dword [rcx + 0x1b58], eax
mov eax, dword [rbx + 0x51a4]
mov rcx, qword [rbx + 0x5198]
mov dword [rcx + 0x1b5c], eax
mov eax, dword [rbx + 0x51a0]
test eax, eax
jle 0x1401153e7
mov edx, edi
lea r8, [rbx + 0x51a8]
nop dword [rax + rax]
mov rax, qword [r8]
lea r8, [r8 + 8]
mov rcx, qword [rbx + 0x5198]
lea rdx, [rdx + 4]
inc r9d
mov eax, dword [rax + 8]
mov dword [rdx + rcx - 4], eax
mov eax, dword [rbx + 0x51a0]
cmp r9d, eax
jl 0x1401153c0
mov ecx, dword [rbx + 0x1620]
cmp ecx, 1
jne 0x1401154bc
mov edx, esi
cmp dword [rbx + 0x51a4], esi
jle 0x140115434
mov r8d, 0x1ba0
lea r9, [rbx + 0x5240]
nop dword [rax]
mov rax, qword [r9]
lea r9, [r9 + 8]
mov rcx, qword [rbx + 0x5198]
lea r8, [r8 + 4]
inc edx
mov eax, dword [rax + 8]
mov dword [r8 + rcx - 4], eax
cmp edx, dword [rbx + 0x51a4]
jl 0x140115410
mov word [rbx + 0x9ca8], 0xfffe
mov r11d, esi
mov rax, qword [rbx + 0x5240]
cmp dword [rax + 0x1b58], esi
jle 0x140115545
lea r10, [rbx + 0x9caa]
nop word [rax + rax]
mov r9d, dword [rdi + rax]
mov edx, esi
mov byte [r10], 0xfe
mov r8d, dword [rbx + 0x51a0]
test r8d, r8d
jle 0x14011549d
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [rbx + rax*8 + 0x51a8]
cmp dword [rcx + 8], r9d
je 0x14011549a
inc edx
cmp edx, r8d
jl 0x140115480
jmp 0x14011549d
mov byte [r10], dl
mov rax, qword [rbx + 0x5240]
inc r11d
add rdi, 4
inc r10
cmp r11d, dword [rax + 0x1b58]
jl 0x140115460
jmp 0x140115545
test ecx, ecx
jne 0x140115545
cmp dword [rbx + 0x301c], 1
je 0x140115545
cmp dword [rbx + 0x22c], 2
jne 0x140115545
mov word [rbx + 0x9cc0], 0xfffe
mov edx, esi
mov ecx, dword [rbx + 0x1634]
shl eax, cl
test eax, eax
jle 0x140115545
nop dword [rax]
movsxd rax, edx
cmp dword [rbx + 0x5fe4], esi
jne 0x14011550c
mov rax, qword [rbx + rax*8 + 0x51a8]
movzx ecx, byte [rax + 0x78]
and cl, 0x3f
jmp 0x140115527
sar rax, 1
mov rax, qword [rbx + rax*8 + 0x51a8]
movzx ecx, byte [rax + 0x78]
movzx eax, dl
and cl, 0x3f
and al, 1
add cl, cl
add cl, al
movsxd rax, edx
inc edx
mov byte [rax + rbx + 0x9cc2], cl
mov eax, dword [rbx + 0x51a0]
mov ecx, dword [rbx + 0x1634]
shl eax, cl
cmp edx, eax
jl 0x1401154f0
mov edx, 0xfffffffe
lea rcx, [rbx + 0x93a0]
lea r8d, [rdx + 0x52]
call fcn.1402612c0
cmp dword [rbx + 0x51a0], esi
jle 0x1401155c6
cmp dword [rbx + 0x1634], esi
jl 0x1401155c6
mov r10d, 0x1be0
mov r9d, listen
nop word [rax + rax]
mov rax, qword [rbx + 0x51a8]
lea r9, [r9 + 4]
mov r8, qword [rbx + 0x5198]
lea r10, [r10 + 2]
inc esi
mov ecx, dword [r8 + r9 - 4]
sub ecx, dword [rax + r9 - 4]
sub ecx, dword [rax + 8]
add ecx, dword [r8 + 8]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, 0x100
cdq
idiv ecx
mov word [r8 + r10 - 2], ax
cmp esi, dword [rbx + 0x1634]
jle 0x140115580
mov rsi, qword [rsp + 0x38]
mov dword [rbx + 0x60ac], 0xf
mov dword [rbx + 0x60a4], 0xf
mov dword [rbx + 0x6098], 0xf
mov dword [rbx + 0x608c], 0xf
mov dword [rbx + 0x6070], 0xb
mov dword [rbx + 0x60b0], 0xb
mov dword [rbx + 0x60a8], 0xb
mov dword [rbx + 0x60a0], 0xb
mov dword [rbx + 0x6090], 0xb
mov dword [rbx + 0x6080], 0xb
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret