Function at 0x140038439
Capabilities:
Encrypt data using rc4 prga

Disassembly:
test rcx, rcx
je 0x140038717
push rbx
sub rsp, 0x40
mov rax, qword [0x140073010]
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 0x140038705
lea edx, [rax + 1]
lea ecx, [rax + 0x25]
call fcn.1400462ec
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.RPCRT4.dll_UuidToStringA]
test eax, eax
jne 0x140038705
lea edx, [rax + 1]
lea ecx, [rax + 0x27]
call fcn.1400462ec
mov qword [rbx], rax
test rax, rax
je 0x140038705
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 0x1400384ce
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 0x1400384ec
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 0x14003850b
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 0x14003852b
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 0x14003854b
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 0x14003856b
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 0x14003858b
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 0x1400385ab
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 0x1400385cb
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 0x1400385eb
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 0x14003860b
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 0x14003862b
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 0x14003864b
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 0x14003866b
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 0x14003868b
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 0x1400386ab
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 0x1400386cb
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 0x1400386eb
sub r8b, 0x20
add rdx, 0x12
mov byte [rax + rcx + 0x11], r8b
cmp rdx, 0x25
jle 0x1400384b0
mov rax, qword [rbx]
mov byte [rax + 0x25], 0x7d
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140043fc0
add rsp, 0x40
pop rbx
ret