Function at 0x140029dd8
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test edx, edx
jle 0x14002a064
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x14007e328]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov r14d, dword [rsp + 0x80]
mov ebx, r8d
mov qword [rsp + 0x68], rbp
sub ebx, r14d
movsxd rsi, r9d
mov r15d, r8d
mov rdi, rcx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x70], r12
mov ebp, edx
nop
mov r8, r14
lea rcx, [rsp + 0x20]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r10d, r10d
mov eax, r14d
sub eax, 2
je 0x140029f9e
sub eax, 1
je 0x140029f4d
sub eax, 1
je 0x140029f02
xor ecx, ecx
cmp eax, 1
je 0x140029eb0
test ebx, ebx
js 0x140029fe7
xor r11d, r11d
nop dword [rax]
nop word [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
xor edx, edx
add r10d, eax
lea eax, [r14 + rcx]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, r10d
div r14d
mov byte [r9 + rdi], al
cmp ecx, ebx
jle 0x140029e70
jmp 0x140029fe7
test ebx, ebx
js 0x140029fe7
xor r11d, r11d
nop dword [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx - 3]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, 0xcccccccd
mul r10d
shr edx, 2
mov byte [r9 + rdi], dl
cmp ecx, ebx
jle 0x140029ec0
jmp 0x140029fe7
xor ecx, ecx
test ebx, ebx
js 0x140029fe7
xor r11d, r11d
nop
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx - 4]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, r10d
shr eax, 2
mov byte [r9 + rdi], al
cmp ecx, ebx
jle 0x140029f10
jmp 0x140029fe7
xor ecx, ecx
test ebx, ebx
js 0x140029fe7
xor r11d, r11d
nop word [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx + 3]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, 0xaaaaaaab
mul r10d
shr edx, 1
mov byte [r9 + rdi], dl
cmp ecx, ebx
jle 0x140029f60
jmp 0x140029fe7
xor ecx, ecx
test ebx, ebx
js 0x140029fe7
xor r11d, r11d
nop word [rax + rax]
mov eax, ecx
movsxd r9, r11d
and eax, 7
add r11d, esi
movzx r8d, byte [r9 + rdi]
movzx edx, byte [rsp + rax + 0x20]
mov eax, r8d
sub eax, edx
add r10d, eax
lea eax, [rcx + 2]
and eax, 7
inc ecx
mov byte [rsp + rax + 0x20], r8b
mov eax, r10d
shr eax, 1
mov byte [r9 + rdi], al
cmp ecx, ebx
jle 0x140029fb0
cmp ecx, r15d
jge 0x14002a035
mov eax, esi
movsxd r9, ecx
imul eax, ecx
movsxd r8, eax
mov eax, r15d
add r8, rdi
sub eax, ecx
mov ecx, eax
nop dword [rax]
nop word [rax + rax]
mov rax, r9
xor edx, edx
and eax, 7
inc r9
movzx eax, byte [rsp + rax + 0x20]
sub r10d, eax
mov eax, r10d
div r14d
mov byte [r8], al
add r8, rsi
sub rcx, 1
jne 0x14002a010
inc rdi
sub rbp, 1
jne 0x140029e20
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140045420
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret