Function at 0x14002c040
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
mov rax, qword [0x140123108]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
mov r14, qword [rbp + 0x600]
lea rcx, [rsp + 0x50]
mov rsi, qword [rbp + 0x608]
mov rbx, r8
mov r15, rdx
mov rdi, r9
xor edx, edx
and dword [r14], 0
and dword [rsi], 0
and dword [r8], 0
mov r8d, 0x100
and dword [r9], 0
call fcn.140087fe0
xor edx, edx
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 0x10]
call fcn.140087fe0
lea rax, [rsp + 0x50]
mov byte [rsp + 0x40], 0x1a
mov qword [rsp + 0x30], rax
mov r8b, 6
lea rax, [rsp + 0x40]
mov byte [rsp + 0x42], 0x2a
mov qword [rsp + 0x28], rax
mov rdx, r15
mov dword [rsp + 0x20], 0xc0
mov byte [rsp + 0x44], 0xc0
call fcn.14002aa14
test eax, eax
je 0x14002c158
mov al, byte [rsp + 0x50]
xor ecx, ecx
and al, 0x3f
cmp al, 0x2a
je 0x14002c11c
lea rdx, [rsp + 0x50]
cmp ecx, 0x100
jae 0x14002c114
inc rdx
inc ecx
mov al, byte [rdx]
and al, 0x3f
cmp al, 0x2a
jne 0x14002c0ff
cmp ecx, 0xd8
jae 0x14002c141
movsxd rdx, ecx
movzx eax, byte [rsp + rdx + 0x59]
movzx ecx, byte [rsp + rdx + 0x58]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + rdx + 0x73]
mov dword [rbx], ecx
movzx ecx, byte [rsp + rdx + 0x72]
shl ecx, 8
add ecx, eax
mov dword [rdi], ecx
mov ecx, 0xba2e8ba3
mov eax, ecx
mul dword [rbx]
mov eax, ecx
shr edx, 7
mov dword [rbx], edx
mul dword [rdi]
shr edx, 7
mov dword [rdi], edx
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x648
call fcn.140087fe0
xor edx, edx
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 0x10]
call fcn.140087fe0
lea rax, [rsp + 0x50]
mov byte [rsp + 0x40], 0xac
mov qword [rsp + 0x30], rax
mov r8b, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rax, [rsp + 0x40]
mov word [rsp + 0x49], 0x301
mov qword [rsp + 0x28], rax
mov rdx, r15
mov dword [rsp + 0x20], SafeArrayPutElement
call fcn.14002aa14
test eax, eax
je 0x14002c2ee
movzx eax, byte [rsp + 0x51]
movzx ecx, byte [rsp + 0x50]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x52]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x53]
shl ecx, 8
or ecx, eax
je 0x14002c2ee
movzx eax, byte [rsp + 0x61]
mov r10d, 0x6e4
movzx ecx, byte [rsp + 0x60]
mov r11d, 0x5ea306d7
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x62]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x63]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x65]
mov dword [r14], ecx
movzx ecx, byte [rsp + 0x64]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x66]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x67]
shl ecx, 8
or ecx, eax
mov eax, 0x2e8ba2e9
mov dword [rsi], ecx
mov r9d, dword [r14]
imul r9d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [r9 + r9*4]
imul ecx, edx, 0x6e4
lea edx, [rax + rax]
mov eax, edx
sub eax, ecx
sub ecx, edx
test eax, eax
cmovns ecx, eax
lea eax, [r9 - 0xbae]
sub r10d, ecx
cmp ecx, 0x372
cmovle r10d, ecx
cmp eax, 0x29a
ja 0x14002c285
lea eax, [rdx - 0x81d8]
jmp 0x14002c2a5
mov eax, r11d
mov ecx, r9d
imul r9d
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x569
sub ecx, eax
lea eax, [rcx + rcx*4]
add eax, eax
cdq
mov r8d, 0x361a
xor eax, edx
sub eax, edx
sub r8d, eax
cmp eax, 0x1b0d
cmovle r8d, eax
mov eax, 0x2aaaaaab
imul r10d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, r10d
shl ecx, 3
sub ecx, edx
cmp r8d, ecx
jg 0x14002c2ee
mov eax, r11d
mul r9d
mov eax, r11d
shr edx, 9
mov dword [r14], edx
mul dword [rsi]
shr edx, 9
mov dword [rsi], edx
mov al, 1
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.1400697f0
mov rbx, qword [rsp + 0x6e0]
add rsp, 0x6b0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret