Function at 0x1400ff140
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 0x1400ff630
mov r11, rcx
movzx r10d, word [rdx + 2]
xor ebp, ebp
test r10d, r10d
sete bpl
mov eax, 0x8a
mov ecx, 7
cmove ecx, eax
mov eax, 4
sub eax, ebp
inc r8d
xor r14d, r14d
mov esi, 0xffffffff
xor edi, edi
jmp 0x1400ff1a1
mov r15d, esi
mov esi, r15d
mov edi, ebx
cmp r14, r8
je 0x1400ff630
mov r15d, r10d
movzx r10d, word [rdx + r14*4 + 6]
add r14, 1
lea ebx, [rdi + 1]
cmp ebx, ecx
jge 0x1400ff1ba
cmp r15d, r10d
je 0x1400ff190
cmp ebx, eax
jge 0x1400ff25b
mov r9d, r15d
mov ecx, dword [r11 + 0x1760]
movzx edi, word [r11 + r9*4 + 0xaf6]
mov eax, 0x10
sub eax, edi
movzx ebp, word [r11 + r9*4 + 0xaf4]
mov esi, ebp
shl esi, cl
or si, word [r11 + 0x175c]
mov word [r11 + 0x175c], si
cmp ecx, eax
jg 0x1400ff211
add ecx, edi
mov dword [r11 + 0x1760], ecx
add ebx, 0xffffffff
je 0x1400ff320
jmp 0x1400ff1cc
mov r12, qword [r11 + 0x10]
mov ecx, dword [r11 + 0x28]
lea eax, [rcx + 1]
mov dword [r11 + 0x28], eax
mov byte [r12 + rcx], sil
mov r12b, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov esi, dword [r11 + 0x28]
lea eax, [rsi + 1]
mov dword [r11 + 0x28], eax
mov byte [rcx + rsi], r12b
mov eax, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebp, cl
mov word [r11 + 0x175c], bp
lea ecx, [rdi + rax]
add ecx, 0xfffffff0
jmp 0x1400ff1ff
test r15d, r15d
je 0x1400ff34d
cmp r15d, esi
je 0x1400ff50c
mov ecx, r15d
movzx eax, word [r11 + rcx*4 + 0xaf6]
mov r9d, dword [r11 + 0x1760]
mov ebp, 0x10
sub ebp, eax
movzx esi, word [r11 + rcx*4 + 0xaf4]
mov ebx, esi
mov ecx, r9d
shl ebx, cl
or bx, word [r11 + 0x175c]
mov word [r11 + 0x175c], bx
cmp r9d, ebp
jg 0x1400ff453
add r9d, eax
mov dword [r11 + 0x1760], r9d
movzx esi, word [r11 + 0xb36]
mov ebp, 0x10
movzx ebx, word [r11 + 0xb34]
mov eax, ebx
mov ecx, r9d
shl eax, cl
sub ebp, esi
or ax, word [r11 + 0x175c]
cmp r9d, ebp
jg 0x1400ff402
add r9d, esi
mov dword [r11 + 0x1760], r9d
add edi, 0xfffd
cmp r9d, 0xf
jge 0x1400ff51a
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r11 + 0x175c], ax
add r9d, 2
mov dword [r11 + 0x1760], r9d
nop dword [rax]
xor ebx, ebx
test r10d, r10d
je 0x1400ff33e
xor ecx, ecx
cmp r15d, r10d
sete cl
mov eax, 4
sub eax, ecx
xor ecx, 7
jmp 0x1400ff193
mov ecx, 0x8a
mov eax, 3
jmp 0x1400ff193
cmp edi, 9
jle 0x1400ff4a4
movzx esi, word [r11 + 0xb3e]
mov r9d, dword [r11 + 0x1760]
mov ebp, 0x10
movzx ebx, word [r11 + 0xb3c]
mov eax, ebx
mov ecx, r9d
shl eax, cl
sub ebp, esi
or ax, word [r11 + 0x175c]
cmp r9d, ebp
jg 0x1400ff58e
add r9d, esi
mov dword [r11 + 0x1760], r9d
add edi, 0xfff6
cmp r9d, 0xa
jl 0x1400ff576
movzx esi, di
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r11 + 0x175c], ax
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ebx, [rbp + 1]
mov dword [r11 + 0x28], ebx
mov byte [rcx + rbp], al
mov al, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ebx, [rbp + 1]
mov dword [r11 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr esi, cl
mov word [r11 + 0x175c], si
add r9d, 0xfffffff7
jmp 0x1400ff316
mov word [r11 + 0x175c], ax
mov r9, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ecx, [rbp + 1]
mov dword [r11 + 0x28], ecx
mov byte [r9 + rbp], al
mov r9b, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea eax, [rbp + 1]
mov dword [r11 + 0x28], eax
mov byte [rcx + rbp], r9b
mov eax, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
mov eax, ebx
jmp 0x1400ff2ec
mov r9, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ecx, [rbp + 1]
mov dword [r11 + 0x28], ecx
mov byte [r9 + rbp], bl
mov r9b, byte [r11 + 0x175d]
mov rbp, qword [r11 + 0x10]
mov ebx, dword [r11 + 0x28]
lea ecx, [rbx + 1]
mov dword [r11 + 0x28], ecx
mov byte [rbp + rbx], r9b
mov ebp, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, bpl
shr esi, cl
mov word [r11 + 0x175c], si
lea r9d, [rax + rbp]
add r9d, 0xfffffff0
jmp 0x1400ff2b3
movzx esi, word [r11 + 0xb3a]
mov r9d, dword [r11 + 0x1760]
mov ebp, 0x10
movzx ebx, word [r11 + 0xb38]
mov eax, ebx
mov ecx, r9d
shl eax, cl
sub ebp, esi
or ax, word [r11 + 0x175c]
cmp r9d, ebp
jg 0x1400ff5df
add r9d, esi
mov dword [r11 + 0x1760], r9d
add edi, 0xfffe
cmp r9d, 0xe
jge 0x1400ff63b
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r11 + 0x175c], ax
add r9d, 3
jmp 0x1400ff316
mov r9d, dword [r11 + 0x1760]
mov edi, ebx
jmp 0x1400ff2ba
movzx esi, di
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r11 + 0x175c], ax
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ebx, [rbp + 1]
mov dword [r11 + 0x28], ebx
mov byte [rcx + rbp], al
mov al, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ebx, [rbp + 1]
mov dword [r11 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr esi, cl
mov word [r11 + 0x175c], si
add r9d, 0xfffffff2
jmp 0x1400ff316
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r11 + 0x175c], ax
add r9d, 7
jmp 0x1400ff316
mov word [r11 + 0x175c], ax
mov r9, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ecx, [rbp + 1]
mov dword [r11 + 0x28], ecx
mov byte [r9 + rbp], al
mov r9b, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea eax, [rbp + 1]
mov dword [r11 + 0x28], eax
mov byte [rcx + rbp], r9b
mov eax, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
mov eax, ebx
jmp 0x1400ff38f
mov word [r11 + 0x175c], ax
mov r9, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ecx, [rbp + 1]
mov dword [r11 + 0x28], ecx
mov byte [r9 + rbp], al
mov r9b, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea eax, [rbp + 1]
mov dword [r11 + 0x28], eax
mov byte [rcx + rbp], r9b
mov eax, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, al
shr ebx, cl
lea r9d, [rsi + rax]
add r9d, 0xfffffff0
mov eax, ebx
jmp 0x1400ff4dd
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
movzx esi, di
mov ecx, r9d
shl edi, cl
or eax, edi
mov word [r11 + 0x175c], ax
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ebx, [rbp + 1]
mov dword [r11 + 0x28], ebx
mov byte [rcx + rbp], al
mov al, byte [r11 + 0x175d]
mov rcx, qword [r11 + 0x10]
mov ebp, dword [r11 + 0x28]
lea ebx, [rbp + 1]
mov dword [r11 + 0x28], ebx
mov byte [rcx + rbp], al
mov r9d, dword [r11 + 0x1760]
mov cl, 0x10
sub cl, r9b
shr esi, cl
mov word [r11 + 0x175c], si
add r9d, 0xfffffff3
jmp 0x1400ff316