Function at 0x14029f570
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 0x14029fb17
mov rax, rcx
movzx r10d, word [rdx + 2]
xor r11d, r11d
test r10d, r10d
sete r11b
mov r9d, 0x8a
mov ecx, 7
cmove ecx, r9d
mov r9d, 4
sub r9d, r11d
inc r8d
xor r11d, r11d
mov ebp, 0xffffffff
xor edi, edi
jmp 0x14029f5cf
mov esi, ebp
mov ebp, esi
mov edi, ebx
cmp r11, r8
je 0x14029fb17
mov esi, r10d
movzx r10d, word [rdx + r11*4 + 6]
inc r11
lea ebx, [rdi + 1]
cmp ebx, ecx
jge 0x14029f5e7
cmp esi, r10d
je 0x14029f5c0
cmp ebx, r9d
jge 0x14029f6c0
mov r9d, esi
nop word cs:[rax + rax]
movzx ebx, word [rax + r9*4 + 0xaa6]
mov ecx, dword [rax + 0x1710]
mov r15d, 0x10
sub r15d, ebx
movzx ebp, word [rax + r9*4 + 0xaa4]
mov r14d, ebp
shl r14d, cl
cmp ecx, r15d
jle 0x14029f690
or r14w, word [rax + 0x170c]
mov word [rax + 0x170c], r14w
mov rcx, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea r12d, [r15 + 1]
mov dword [rax + 0x28], r12d
mov byte [rcx + r15], r14b
movzx ecx, byte [rax + 0x170d]
mov r14, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea r12d, [r15 + 1]
mov dword [rax + 0x28], r12d
mov byte [r14 + r15], cl
mov r14d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r14b
shr ebp, cl
mov word [rax + 0x170c], bp
lea ecx, [rbx + r14]
add ecx, 0xfffffff0
jmp 0x14029f69a
or word [rax + 0x170c], r14w
add ecx, ebx
mov dword [rax + 0x1710], ecx
sub edi, 1
setb cl
cmp byte [0x1404ee6c0], 0
jne 0x14029fae7
test cl, cl
je 0x14029f600
jmp 0x14029fae7
test esi, esi
je 0x14029f75c
cmp esi, ebp
je 0x14029f897
mov ebx, esi
movzx r9d, word [rax + rbx*4 + 0xaa6]
mov ecx, dword [rax + 0x1710]
mov r14d, 0x10
sub r14d, r9d
movzx ebx, word [rax + rbx*4 + 0xaa4]
mov ebp, ebx
shl ebp, cl
cmp ecx, r14d
jle 0x14029f885
or bp, word [rax + 0x170c]
mov word [rax + 0x170c], bp
mov rcx, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea r15d, [r14 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r14], bpl
movzx ecx, byte [rax + 0x170d]
mov r14, qword [rax + 0x10]
mov r15d, dword [rax + 0x28]
lea ebp, [r15 + 1]
mov dword [rax + 0x28], ebp
mov byte [r14 + r15], cl
mov r14d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r14b
shr ebx, cl
mov word [rax + 0x170c], bx
lea ecx, [r9 + r14]
add ecx, 0xfffffff0
jmp 0x14029f88f
cmp edi, 9
jg 0x14029f7f5
movzx ebx, word [rax + 0xaea]
mov r9d, dword [rax + 0x1710]
mov r15d, 0x10
sub r15d, ebx
movzx ebp, word [rax + 0xae8]
mov r14d, ebp
mov ecx, r9d
shl r14d, cl
cmp r9d, r15d
jle 0x14029f9bb
or r14w, word [rax + 0x170c]
mov word [rax + 0x170c], r14w
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], r14b
movzx ecx, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea r15d, [r14 + 1]
mov dword [rax + 0x28], r15d
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
mov word [rax + 0x170c], bp
add r9d, ebx
add r9d, 0xfffffff0
jmp 0x14029f9c6
movzx ebx, word [rax + 0xaee]
mov r9d, dword [rax + 0x1710]
mov r15d, 0x10
sub r15d, ebx
movzx ebp, word [rax + 0xaec]
mov r14d, ebp
mov ecx, r9d
shl r14d, cl
cmp r9d, r15d
jle 0x14029fa3c
or r14w, word [rax + 0x170c]
mov word [rax + 0x170c], r14w
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], r14b
movzx ecx, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea r15d, [r14 + 1]
mov dword [rax + 0x28], r15d
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
mov word [rax + 0x170c], bp
add r9d, ebx
add r9d, 0xfffffff0
jmp 0x14029fa47
or word [rax + 0x170c], bp
add ecx, r9d
mov dword [rax + 0x1710], ecx
mov ebx, edi
movzx edi, word [rax + 0xae6]
mov r9d, dword [rax + 0x1710]
mov r15d, 0x10
sub r15d, edi
movzx ebp, word [rax + 0xae4]
mov r14d, ebp
mov ecx, r9d
shl r14d, cl
cmp r9d, r15d
jle 0x14029f920
or r14w, word [rax + 0x170c]
mov word [rax + 0x170c], r14w
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea r15d, [r9 + 1]
mov dword [rax + 0x28], r15d
mov byte [rcx + r9], r14b
movzx ecx, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov r14d, dword [rax + 0x28]
lea r15d, [r14 + 1]
mov dword [rax + 0x28], r15d
mov byte [r9 + r14], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebp, cl
mov word [rax + 0x170c], bp
add r9d, edi
add r9d, 0xfffffff0
jmp 0x14029f92b
or word [rax + 0x170c], r14w
add r9d, edi
mov dword [rax + 0x1710], r9d
add ebx, 0xfffd
cmp byte [0x1404eec70], 0
jne 0x14029f95c
cmp r9d, 0xf
jge 0x14029f95c
mov ecx, r9d
shl ebx, cl
or word [rax + 0x170c], bx
add r9d, 2
jmp 0x14029fae0
movzx edi, bx
mov ecx, r9d
shl ebx, cl
or bx, word [rax + 0x170c]
mov word [rax + 0x170c], bx
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea ebp, [r9 + 1]
mov dword [rax + 0x28], ebp
mov byte [rcx + r9], bl
movzx ecx, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov ebx, dword [rax + 0x28]
lea ebp, [rbx + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + rbx], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr edi, cl
mov word [rax + 0x170c], di
add r9d, 0xfffffff2
jmp 0x14029fae0
or word [rax + 0x170c], r14w
add r9d, ebx
mov dword [rax + 0x1710], r9d
add edi, 0xfffe
cmp r9d, 0xe
jl 0x14029fab6
movzx ebx, di
mov ecx, r9d
shl edi, cl
or di, word [rax + 0x170c]
mov word [rax + 0x170c], di
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea ebp, [r9 + 1]
mov dword [rax + 0x28], ebp
mov byte [rcx + r9], dil
movzx ecx, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov edi, dword [rax + 0x28]
lea ebp, [rdi + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + rdi], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [rax + 0x170c], bx
add r9d, 0xfffffff3
jmp 0x14029fae0
or word [rax + 0x170c], r14w
add r9d, ebx
mov dword [rax + 0x1710], r9d
add edi, 0xfff6
cmp r9d, 0xa
jl 0x14029fac8
movzx ebx, di
mov ecx, r9d
shl edi, cl
or di, word [rax + 0x170c]
mov word [rax + 0x170c], di
mov rcx, qword [rax + 0x10]
mov r9d, dword [rax + 0x28]
lea ebp, [r9 + 1]
mov dword [rax + 0x28], ebp
mov byte [rcx + r9], dil
movzx ecx, byte [rax + 0x170d]
mov r9, qword [rax + 0x10]
mov edi, dword [rax + 0x28]
lea ebp, [rdi + 1]
mov dword [rax + 0x28], ebp
mov byte [r9 + rdi], cl
mov r9d, dword [rax + 0x1710]
mov cl, 0x10
sub cl, r9b
shr ebx, cl
mov word [rax + 0x170c], bx
add r9d, 0xfffffff7
jmp 0x14029fae0
mov ecx, r9d
shl edi, cl
or word [rax + 0x170c], di
add r9d, 3
jmp 0x14029fae0
mov ecx, r9d
shl edi, cl
or word [rax + 0x170c], di
add r9d, 7
nop dword [rax + rax]
mov dword [rax + 0x1710], r9d
xor ebx, ebx
test r10d, r10d
je 0x14029fb07
xor ecx, ecx
cmp esi, r10d
sete cl
mov r9d, 4
sub r9d, ecx
xor ecx, 7
jmp 0x14029f5c2
mov ecx, 0x8a
mov r9d, 3
jmp 0x14029f5c2
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret