Function at 0x140044e00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
sub rsp, 0x10
movzx edx, byte [rcx + 0x91]
mov r9, rcx
movzx esi, byte [rcx + 0x92]
movzx eax, dl
and al, 0xc
movzx r8d, dl
sar r8b, 7
and r8b, 0x44
neg al
mov eax, dword [r9 + 0x3cc]
sbb cl, cl
and cl, 4
or r8b, cl
neg eax
movzx eax, byte [r9 + 0x388]
sbb cl, cl
and al, 1
and cl, 0x25
shl al, 4
or r8b, cl
and dl, 3
or r8b, al
or r8b, dl
cmp sil, r8b
je 0x140045788
mov qword [rsp + 0x20], rbx
lea rax, [r9 + 0xf88]
mov qword [rsp + 0x28], rbp
movzx ecx, r8b
mov qword [rsp + 0x30], rdi
and cl, 0x30
mov qword [rsp + 8], r14
mov qword [rsp], r15
lea r15, [0x14001b010]
mov byte [r9 + 0x92], r8b
cmp cl, 0x10
jne 0x140044ed5
movzx ecx, word [0x1400f77fe]
movzx edx, word [0x1400f7804]
add rcx, r15
movzx r10d, word [0x1400f77ec]
add rdx, r15
movzx r11d, word [0x1400f780a]
add r10, r15
movzx ebx, word [0x1400f7812]
add r11, r15
movzx edi, word [0x1400f7818]
jmp 0x140044eff
mov rcx, qword [rax + 0x750]
lea r10, [0x14001c539]
mov rdx, qword [rax + 0x768]
mov r11, qword [rax + 0x780]
movzx ebx, word [0x1400f7814]
movzx edi, word [0x1400f781a]
lea rbp, [rdi + r15]
mov qword [rax + 0x748], rcx
lea r14, [rbx + r15]
mov qword [rax + 0x760], rdx
movzx edi, r8b
mov qword [rax + 0x700], r10
movzx ebx, r8b
mov qword [rax + 0x778], r11
xor dil, sil
and bl, 4
test dil, 0x64
je 0x14004504e
test bl, bl
jne 0x140044fe8
mov rdx, rax
lea rcx, [rax + 0x4d0]
mov r10d, 5
nop dword [rax]
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub r10, 1
jne 0x140044f60
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
mov rcx, qword [rcx + 0x40]
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm1
mov qword [rdx + 0x40], rcx
test r8b, 2
je 0x1400450b5
jmp 0x140045074
test r8b, 0x40
je 0x140044ff7
lea rdx, [0x14001ebcb]
jmp 0x14004500d
test r8b, 0x20
lea rdx, [0x14001ea37]
lea rcx, [0x14001ea0f]
cmovne rdx, rcx
mov rcx, rax
mov r10d, 0xb
nop word [rax + rax]
mov qword [rcx], rdx
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rdx
lea rcx, [rcx + 0x40]
mov qword [rcx - 0x28], rdx
mov qword [rcx - 0x20], rdx
mov qword [rcx - 0x18], rdx
mov qword [rcx - 0x10], rdx
mov qword [rcx - 8], rdx
sub r10, 1
jne 0x140045020
mov qword [rcx], rdx
jmp 0x1400450b5
test bl, bl
jne 0x1400450b5
mov qword [rax + 0x278], rcx
mov qword [rax + 0x290], rdx
mov qword [rax + 0x230], r10
mov qword [rax + 0x2a8], r11
test r8b, 2
je 0x140045099
lea rcx, [0x14001ea2a]
mov qword [rax + 0x248], rcx
mov qword [rax + 0x250], rcx
mov qword [rax + 0x258], rcx
mov qword [rax + 0x260], rcx
jmp 0x1400450b5
movups xmm0, xmmword [rax + 0x718]
movups xmmword [rax + 0x248], xmm0
movups xmm1, xmmword [rax + 0x728]
movups xmmword [rax + 0x258], xmm1
mov rbx, qword [rsp + 0x20]
test dil, 1
mov rdi, qword [rsp + 0x30]
je 0x1400456f9
test r8b, 1
jne 0x140045529
movzx ecx, word [0x1400f7812]
add rcx, r15
mov qword [rax + 0x2c8], rcx
movzx ecx, word [0x1400f7814]
add rcx, r15
mov qword [rax + 0x2d0], rcx
movzx ecx, word [0x1400f7816]
add rcx, r15
mov qword [rax + 0x2d8], rcx
movzx ecx, word [0x1400f7818]
add rcx, r15
mov qword [rax + 0x2e0], rcx
movzx ecx, word [0x1400f781a]
add rcx, r15
mov qword [rax + 0x2e8], rcx
movzx ecx, word [0x1400f781c]
add rcx, r15
mov qword [rax + 0x2f0], rcx
movzx ecx, word [0x1400f781e]
add rcx, r15
mov qword [rax + 0x2f8], rcx
movzx ecx, word [0x1400f7820]
add rcx, r15
mov qword [rax + 0x300], rcx
movzx ecx, word [str.__q_]
add rcx, r15
mov qword [rax + 0x308], rcx
movzx ecx, word [0x1400f7824]
add rcx, r15
mov qword [rax + 0x310], rcx
movzx ecx, word [0x1400f7826]
add rcx, r15
mov qword [rax + 0x318], rcx
movzx ecx, word [0x1400f7828]
add rcx, r15
mov qword [rax + 0x320], rcx
movzx ecx, word [0x1400f782a]
add rcx, r15
mov qword [rax + 0x328], rcx
movzx ecx, word [0x1400f782c]
add rcx, r15
mov qword [rax + 0x330], rcx
movzx ecx, word [0x1400f782e]
add rcx, r15
mov qword [rax + 0x338], rcx
movzx ecx, word [0x1400f7830]
add rcx, r15
mov qword [rax + 0x340], rcx
movzx ecx, word [0x1400f7832]
add rcx, r15
mov qword [rax + 0x348], rcx
movzx ecx, word [0x1400f7834]
add rcx, r15
mov qword [rax + 0x350], rcx
movzx ecx, word [0x1400f7836]
add rcx, r15
mov qword [rax + 0x358], rcx
movzx ecx, word [0x1400f7838]
add rcx, r15
mov qword [rax + 0x360], rcx
movzx ecx, word [0x1400f783a]
add rcx, r15
mov qword [rax + 0x368], rcx
movzx ecx, word [0x1400f783c]
add rcx, r15
mov qword [rax + 0x370], rcx
movzx ecx, word [0x1400f783e]
add rcx, r15
mov qword [rax + 0x378], rcx
movzx ecx, word [0x1400f7840]
add rcx, r15
mov qword [rax + 0x380], rcx
movzx ecx, word [0x1400f7842]
add rcx, r15
mov qword [rax + 0x388], rcx
movzx ecx, word [0x1400f7844]
add rcx, r15
mov qword [rax + 0x390], rcx
movzx ecx, word [0x1400f7846]
add rcx, r15
mov qword [rax + 0x398], rcx
movzx ecx, word [0x1400f7848]
add rcx, r15
mov qword [rax + 0x3a0], rcx
movzx ecx, word [0x1400f784a]
add rcx, r15
mov qword [rax + 0x3a8], rcx
movzx ecx, word [0x1400f784c]
add rcx, r15
mov qword [rax + 0x3b0], rcx
movzx ecx, word [0x1400f784e]
add rcx, r15
mov qword [rax + 0x3b8], rcx
movzx ecx, word [0x1400f7850]
add rcx, r15
mov qword [rax + 0x3c0], rcx
movzx ecx, word [0x1400f7852]
add rcx, r15
mov qword [rax + 0x3c8], rcx
movzx ecx, word [0x1400f7854]
add rcx, r15
mov qword [rax + 0x3d0], rcx
movzx ecx, word [0x1400f7856]
add rcx, r15
mov qword [rax + 0x3d8], rcx
movzx ecx, word [0x1400f7858]
add rcx, r15
mov qword [rax + 0x3e0], rcx
movzx ecx, word [0x1400f785a]
add rcx, r15
mov qword [rax + 0x3e8], rcx
movzx ecx, word [0x1400f785c]
add rcx, r15
mov qword [rax + 0x3f0], rcx
movzx ecx, word [0x1400f785e]
add rcx, r15
mov qword [rax + 0x3f8], rcx
movzx ecx, word [0x1400f7860]
add rcx, r15
mov qword [rax + 0x400], rcx
movzx ecx, word [0x1400f7862]
add rcx, r15
mov qword [rax + 0x408], rcx
movzx ecx, word [0x1400f7864]
add rcx, r15
mov qword [rax + 0x410], rcx
movzx ecx, word [0x1400f7866]
add rcx, r15
mov qword [rax + 0x418], rcx
movzx ecx, word [0x1400f7868]
add rcx, r15
mov qword [rax + 0x420], rcx
movzx ecx, word [0x1400f786a]
add rcx, r15
mov qword [rax + 0x428], rcx
movzx ecx, word [0x1400f786c]
add rcx, r15
mov qword [rax + 0x430], rcx
movzx ecx, word [0x1400f786e]
add rcx, r15
mov qword [rax + 0x438], rcx
movzx ecx, word [0x1400f7870]
add rcx, r15
mov qword [rax + 0x440], rcx
movzx ecx, word [0x1400f7872]
add rcx, r15
mov qword [rax + 0x448], rcx
movzx ecx, word [0x1400f7874]
add rcx, r15
mov qword [rax + 0x450], rcx
movzx ecx, word [0x1400f7876]
add rcx, r15
mov qword [rax + 0x458], rcx
movzx ecx, word [0x1400f7878]
add rcx, r15
mov qword [rax + 0x460], rcx
movzx ecx, word [0x1400f787a]
add rcx, r15
mov qword [rax + 0x468], rcx
movzx ecx, word [0x1400f787c]
add rcx, r15
mov qword [rax + 0x470], rcx
movzx ecx, word [0x1400f787e]
add rcx, r15
mov qword [rax + 0x478], rcx
movzx ecx, word [0x1400f7880]
add rcx, r15
mov qword [rax + 0x480], rcx
movzx ecx, word [0x1400f7882]
add rcx, r15
mov qword [rax + 0x488], rcx
movzx ecx, word [0x1400f7884]
add rcx, r15
mov qword [rax + 0x490], rcx
movzx ecx, word [0x1400f7886]
add rcx, r15
mov qword [rax + 0x498], rcx
movzx ecx, word [0x1400f7888]
add rcx, r15
mov qword [rax + 0x4a0], rcx
movzx ecx, word [0x1400f788a]
add rcx, r15
mov qword [rax + 0x4a8], rcx
movzx ecx, word [0x1400f788c]
add rcx, r15
mov qword [rax + 0x4b0], rcx
movzx ecx, word [0x1400f788e]
add rcx, r15
mov qword [rax + 0x4b8], rcx
movzx ecx, word [0x1400f7890]
add rcx, r15
mov qword [rax + 0x4c0], rcx
movzx ecx, word [0x1400f7892]
add rcx, r15
mov qword [rax + 0x4c8], rcx
jmp 0x1400456ff
lea rcx, [0x14001eacd]
mov qword [rax + 0x2c8], rcx
mov qword [rax + 0x2d0], rcx
mov qword [rax + 0x2d8], rcx
mov qword [rax + 0x2e0], rcx
mov qword [rax + 0x2e8], rcx
mov qword [rax + 0x2f0], rcx
mov qword [rax + 0x2f8], rcx
mov qword [rax + 0x300], rcx
mov qword [rax + 0x308], rcx
mov qword [rax + 0x310], rcx
mov qword [rax + 0x318], rcx
mov qword [rax + 0x320], rcx
mov qword [rax + 0x328], rcx
mov qword [rax + 0x330], rcx
mov qword [rax + 0x338], rcx
mov qword [rax + 0x340], rcx
mov qword [rax + 0x348], rcx
mov qword [rax + 0x350], rcx
mov qword [rax + 0x358], rcx
mov qword [rax + 0x360], rcx
mov qword [rax + 0x368], rcx
mov qword [rax + 0x370], rcx
mov qword [rax + 0x378], rcx
mov qword [rax + 0x380], rcx
mov qword [rax + 0x388], rcx
mov qword [rax + 0x390], rcx
mov qword [rax + 0x398], rcx
mov qword [rax + 0x3a0], rcx
mov qword [rax + 0x3a8], rcx
mov qword [rax + 0x3b0], rcx
mov qword [rax + 0x3b8], rcx
mov qword [rax + 0x3c0], rcx
mov qword [rax + 0x3c8], rcx
mov qword [rax + 0x3d0], rcx
mov qword [rax + 0x3d8], rcx
mov qword [rax + 0x3e0], rcx
mov qword [rax + 0x3e8], rcx
mov qword [rax + 0x3f0], rcx
mov qword [rax + 0x3f8], rcx
mov qword [rax + 0x400], rcx
mov qword [rax + 0x408], rcx
mov qword [rax + 0x410], rcx
mov qword [rax + 0x418], rcx
mov qword [rax + 0x420], rcx
mov qword [rax + 0x428], rcx
mov qword [rax + 0x430], rcx
mov qword [rax + 0x438], rcx
mov qword [rax + 0x440], rcx
mov qword [rax + 0x448], rcx
mov qword [rax + 0x450], rcx
mov qword [rax + 0x458], rcx
mov qword [rax + 0x460], rcx
mov qword [rax + 0x468], rcx
mov qword [rax + 0x470], rcx
mov qword [rax + 0x478], rcx
mov qword [rax + 0x480], rcx
mov qword [rax + 0x488], rcx
mov qword [rax + 0x490], rcx
mov qword [rax + 0x498], rcx
mov qword [rax + 0x4a0], rcx
mov qword [rax + 0x4a8], rcx
mov qword [rax + 0x4b0], rcx
mov qword [rax + 0x4b8], rcx
mov qword [rax + 0x4c0], rcx
mov qword [rax + 0x4c8], rcx
jmp 0x14004570d
test r8b, 1
jne 0x14004570d
mov qword [rax + 0x2c8], r14
mov qword [rax + 0x2e0], rbp
mov r15, qword [rsp]
mov r14, qword [rsp + 8]
mov rbp, qword [rsp + 0x28]
test r8b, 0x10
je 0x140045788
test sil, 0x10
jne 0x140045788
movzx eax, word [r9 + 0x95c]
add ax, ax
dec ax
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or ecx, eax
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movups xmmword [r9 + 0xf08], xmm0
movups xmmword [r9 + 0xf18], xmm0
movups xmmword [r9 + 0xf28], xmm0
movups xmmword [r9 + 0xf38], xmm0
movups xmmword [r9 + 0xf48], xmm0
movups xmmword [r9 + 0xf58], xmm0
movups xmmword [r9 + 0xf68], xmm0
movups xmmword [r9 + 0xf78], xmm0
add rsp, 0x10
pop rsi
ret