Function at 0x14002b2e9
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test rcx, rcx
je 0x14002b5c7
push rbx
sub rsp, 0x40
mov rax, qword [0x140064018]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rbx, rcx
lea rcx, [rsp + 0x28]
call qword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x14002b5b5
lea edx, [rax + 1]
lea ecx, [rax + 0x25]
call fcn.14003853c
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.RPCRT4.dll_UuidToStringA]
test eax, eax
jne 0x14002b5b5
lea edx, [rax + 1]
lea ecx, [rax + 0x27]
call fcn.14003853c
mov qword [rbx], rax
test rax, rax
je 0x14002b5b5
mov byte [rax], 0x7b
mov edx, 2
nop word [rax + rax]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rbx]
movzx r8d, byte [rdx + rax - 2]
lea eax, [r8 - 0x61]
cmp al, 0x19
lea rax, [rdx - 1]
ja 0x14002b37e
sub r8b, 0x20
mov byte [rax + rcx], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rax + rcx]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b39c
sub r8b, 0x20
mov byte [rax + rcx + 1], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b3bb
sub r8b, 0x20
mov byte [rax + rcx + 2], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 1]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b3db
sub r8b, 0x20
mov byte [rax + rcx + 3], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 2]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b3fb
sub r8b, 0x20
mov byte [rax + rcx + 4], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 3]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b41b
sub r8b, 0x20
mov byte [rax + rcx + 5], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 4]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b43b
sub r8b, 0x20
mov byte [rax + rcx + 6], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 5]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b45b
sub r8b, 0x20
mov byte [rax + rcx + 7], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 6]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b47b
sub r8b, 0x20
mov byte [rax + rcx + 8], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 7]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b49b
sub r8b, 0x20
mov byte [rax + rcx + 9], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 8]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b4bb
sub r8b, 0x20
mov byte [rax + rcx + 0xa], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 9]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b4db
sub r8b, 0x20
mov byte [rax + rcx + 0xb], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 0xa]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b4fb
sub r8b, 0x20
mov byte [rax + rcx + 0xc], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 0xb]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b51b
sub r8b, 0x20
mov byte [rax + rcx + 0xd], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 0xc]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b53b
sub r8b, 0x20
mov byte [rax + rcx + 0xe], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 0xd]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b55b
sub r8b, 0x20
mov byte [rax + rcx + 0xf], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 0xe]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b57b
sub r8b, 0x20
mov byte [rax + rcx + 0x10], r8b
mov rcx, qword [rsp + 0x20]
movzx r8d, byte [rdx + rcx + 0xf]
lea ecx, [r8 - 0x61]
cmp cl, 0x19
mov rcx, qword [rbx]
ja 0x14002b59b
sub r8b, 0x20
add rdx, 0x12
mov byte [rax + rcx + 0x11], r8b
cmp rdx, 0x25
jle 0x14002b360
mov rax, qword [rbx]
mov byte [rax + 0x25], 0x7d
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140036180
add rsp, 0x40
pop rbx
ret