Function at 0x1404d92d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
test r8d, r8d
js 0x1404d97d1
mov r15, rcx
movzx r10d, word [rdx + 2]
xor eax, eax
test r10w, r10w
sete al
mov ebp, 0x8a
mov ecx, 7
cmove ecx, ebp
mov esi, 4
sub esi, eax
inc r8d
xor r11d, r11d
mov ebp, 0xffffffff
xor edi, edi
mov r14d, r10d
movzx r10d, word [rdx + r11*4 + 6]
inc r11
lea ebx, [rdi + 1]
cmp ebx, ecx
jge 0x1404d9335
cmp r14d, r10d
jne 0x1404d9335
mov r14d, ebp
jmp 0x1404d97c3
cmp ebx, esi
jge 0x1404d93d9
mov r9d, r14d
mov ecx, dword [r15 + 0x1710]
movzx ebp, word [r15 + r9*4 + 0xaa6]
mov edi, 0x10
sub edi, ebp
movzx eax, word [r15 + r9*4 + 0xaa4]
mov esi, eax
shl esi, cl
or si, word [r15 + 0x170c]
mov word [r15 + 0x170c], si
cmp ecx, edi
jle 0x1404d93c3
mov r12, qword [r15 + 0x10]
mov edi, dword [r15 + 0x28]
lea ecx, [rdi + 1]
mov dword [r15 + 0x28], ecx
mov byte [r12 + rdi], sil
mov r12b, byte [r15 + 0x170d]
mov rsi, qword [r15 + 0x10]
mov edi, dword [r15 + 0x28]
lea ecx, [rdi + 1]
mov dword [r15 + 0x28], ecx
mov byte [rsi + rdi], r12b
mov esi, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, sil
shr eax, cl
mov word [r15 + 0x170c], ax
lea ecx, [rsi + rbp]
add ecx, 0xfffffff0
jmp 0x1404d93c5
add ecx, ebp
mov dword [r15 + 0x1710], ecx
dec ebx
jne 0x1404d9347
jmp 0x1404d979d
test r14d, r14d
je 0x1404d9589
cmp r14d, ebp
jne 0x1404d93f5
mov r9d, dword [r15 + 0x1710]
mov edi, ebx
jmp 0x1404d948a
mov eax, r14d
movzx r12d, word [r15 + rax*4 + 0xaa6]
mov r9d, dword [r15 + 0x1710]
mov esi, 0x10
sub esi, r12d
movzx ebx, word [r15 + rax*4 + 0xaa4]
mov ebp, ebx
mov ecx, r9d
shl ebp, cl
or bp, word [r15 + 0x170c]
mov word [r15 + 0x170c], bp
cmp r9d, esi
jle 0x1404d9480
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea esi, [rcx + 1]
mov dword [r15 + 0x28], esi
mov byte [rax + rcx], bpl
mov al, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea esi, [rbp + 1]
mov dword [r15 + 0x28], esi
mov byte [rcx + rbp], al
mov eax, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebx, cl
mov word [r15 + 0x170c], bx
lea r9d, [r12 + rax]
add r9d, 0xfffffff0
jmp 0x1404d9483
add r9d, r12d
mov dword [r15 + 0x1710], r9d
movzx ebx, word [r15 + 0xae6]
mov eax, 0x10
sub eax, ebx
movzx ebp, word [r15 + 0xae4]
mov esi, ebp
mov ecx, r9d
shl esi, cl
or si, word [r15 + 0x170c]
mov word [r15 + 0x170c], si
cmp r9d, eax
jle 0x1404d950b
mov r9, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea eax, [rcx + 1]
mov dword [r15 + 0x28], eax
mov byte [r9 + rcx], sil
mov r9b, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov esi, dword [r15 + 0x28]
lea eax, [rsi + 1]
mov dword [r15 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebp, cl
mov word [r15 + 0x170c], bp
lea r9d, [rbx + rax]
add r9d, 0xfffffff0
mov esi, ebp
jmp 0x1404d950e
add r9d, ebx
add edi, 0xfffd
movzx edi, di
mov eax, edi
mov ecx, r9d
shl eax, cl
mov dword [r15 + 0x1710], r9d
or esi, eax
mov word [r15 + 0x170c], si
cmp r9d, 0xf
jl 0x1404d9580
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], sil
mov al, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea ebx, [rbp + 1]
mov dword [r15 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [r15 + 0x170c], di
add r9d, 0xfffffff2
jmp 0x1404d9796
add r9d, 2
jmp 0x1404d9796
cmp ebx, 0xa
jg 0x1404d9698
movzx ebx, word [r15 + 0xaea]
mov r9d, dword [r15 + 0x1710]
mov eax, 0x10
sub eax, ebx
movzx ebp, word [r15 + 0xae8]
mov esi, ebp
mov ecx, r9d
shl esi, cl
or si, word [r15 + 0x170c]
mov word [r15 + 0x170c], si
cmp r9d, eax
jle 0x1404d961a
mov r9, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea eax, [rcx + 1]
mov dword [r15 + 0x28], eax
mov byte [r9 + rcx], sil
mov r9b, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov esi, dword [r15 + 0x28]
lea eax, [rsi + 1]
mov dword [r15 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebp, cl
mov word [r15 + 0x170c], bp
lea r9d, [rbx + rax]
add r9d, 0xfffffff0
mov esi, ebp
jmp 0x1404d961d
add r9d, ebx
add edi, 0xfffe
movzx edi, di
mov eax, edi
mov ecx, r9d
shl eax, cl
mov dword [r15 + 0x1710], r9d
or esi, eax
mov word [r15 + 0x170c], si
cmp r9d, 0xe
jl 0x1404d968f
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], sil
mov al, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea ebx, [rbp + 1]
mov dword [r15 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [r15 + 0x170c], di
add r9d, 0xfffffff3
jmp 0x1404d9796
add r9d, 3
jmp 0x1404d9796
movzx ebx, word [r15 + 0xaee]
mov r9d, dword [r15 + 0x1710]
mov eax, 0x10
sub eax, ebx
movzx ebp, word [r15 + 0xaec]
mov esi, ebp
mov ecx, r9d
shl esi, cl
or si, word [r15 + 0x170c]
mov word [r15 + 0x170c], si
cmp r9d, eax
jle 0x1404d9720
mov r9, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea eax, [rcx + 1]
mov dword [r15 + 0x28], eax
mov byte [r9 + rcx], sil
mov r9b, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov esi, dword [r15 + 0x28]
lea eax, [rsi + 1]
mov dword [r15 + 0x28], eax
mov byte [rcx + rsi], r9b
mov eax, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, al
shr ebp, cl
mov word [r15 + 0x170c], bp
lea r9d, [rbx + rax]
add r9d, 0xfffffff0
mov esi, ebp
jmp 0x1404d9723
add r9d, ebx
add edi, 0xfff6
movzx edi, di
mov eax, edi
mov ecx, r9d
shl eax, cl
mov dword [r15 + 0x1710], r9d
or esi, eax
mov word [r15 + 0x170c], si
cmp r9d, 0xa
jl 0x1404d9792
mov rax, qword [r15 + 0x10]
mov ecx, dword [r15 + 0x28]
lea ebp, [rcx + 1]
mov dword [r15 + 0x28], ebp
mov byte [rax + rcx], sil
mov al, byte [r15 + 0x170d]
mov rcx, qword [r15 + 0x10]
mov ebp, dword [r15 + 0x28]
lea ebx, [rbp + 1]
mov dword [r15 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r15 + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [r15 + 0x170c], di
add r9d, 0xfffffff7
jmp 0x1404d9796
add r9d, 7
mov dword [r15 + 0x1710], r9d
xor ebx, ebx
test r10w, r10w
jne 0x1404d97b1
mov ecx, 0x8a
mov esi, 3
jmp 0x1404d97c3
xor ecx, ecx
cmp r14d, r10d
sete cl
mov esi, 4
sub esi, ecx
xor ecx, 7
mov ebp, r14d
mov edi, ebx
cmp r11, r8
jne 0x1404d9315
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret