Function at 0x14003d9c0
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
neg al
movzx eax, dl
sbb r8b, r8b
sar al, 7
and al, 0x44
and r8b, 4
or r8b, al
mov eax, dword [rcx + 0x3c4]
neg eax
movzx eax, byte [r9 + 0x380]
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 0x14003e33f
mov qword [rsp + 0x20], rbx
lea rax, [r9 + 0xf80]
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, [0x14000e850]
mov byte [r9 + 0x92], r8b
cmp cl, 0x10
jne 0x14003da92
movzx ecx, word [0x1400b24de]
movzx edx, word [0x1400b24e4]
add rcx, r15
movzx r10d, word [0x1400b24cc]
add rdx, r15
movzx r11d, word [0x1400b24ea]
add r10, r15
movzx ebx, word [0x1400b24f2]
add r11, r15
movzx edi, word [0x1400b24f8]
jmp 0x14003dabc
mov rcx, qword [rax + 0x750]
lea r10, [0x14000fd79]
mov rdx, qword [rax + 0x768]
mov r11, qword [rax + 0x780]
movzx ebx, word [0x1400b24f4]
movzx edi, word [0x1400b24fa]
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 0x14003dbfe
test bl, bl
jne 0x14003db98
mov rdx, rax
lea rcx, [rax + 0x4d0]
mov r10d, 5
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 0x14003db10
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 0x14003dc65
jmp 0x14003dc24
test r8b, 0x40
je 0x14003dba7
lea rdx, [0x1400123e5]
jmp 0x14003dbbd
test r8b, 0x20
lea rdx, [0x140012251]
lea rcx, [0x140012229]
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 0x14003dbd0
mov qword [rcx], rdx
jmp 0x14003dc65
test bl, bl
jne 0x14003dc65
mov qword [rax + 0x278], rcx
mov qword [rax + 0x290], rdx
mov qword [rax + 0x230], r10
mov qword [rax + 0x2a8], r11
test r8b, 2
je 0x14003dc49
lea rcx, [0x140012244]
mov qword [rax + 0x248], rcx
mov qword [rax + 0x250], rcx
mov qword [rax + 0x258], rcx
mov qword [rax + 0x260], rcx
jmp 0x14003dc65
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 0x14003e2b0
test r8b, 1
jne 0x14003e0e0
movzx ecx, word [0x1400b24f2]
add rcx, r15
mov qword [rax + 0x2c8], rcx
movzx ecx, word [0x1400b24f4]
add rcx, r15
mov qword [rax + 0x2d0], rcx
movzx ecx, word [0x1400b24f6]
add rcx, r15
mov qword [rax + 0x2d8], rcx
movzx ecx, word [0x1400b24f8]
add rcx, r15
mov qword [rax + 0x2e0], rcx
movzx ecx, word [0x1400b24fa]
add rcx, r15
mov qword [rax + 0x2e8], rcx
movzx ecx, word [0x1400b24fc]
add rcx, r15
mov qword [rax + 0x2f0], rcx
movzx ecx, word [0x1400b24fe]
add rcx, r15
mov qword [rax + 0x2f8], rcx
movzx ecx, word [0x1400b2500]
add rcx, r15
mov qword [rax + 0x300], rcx
movzx ecx, word [str.__q_]
add rcx, r15
mov qword [rax + 0x308], rcx
movzx ecx, word [0x1400b2504]
add rcx, r15
mov qword [rax + 0x310], rcx
movzx ecx, word [0x1400b2506]
add rcx, r15
mov qword [rax + 0x318], rcx
movzx ecx, word [0x1400b2508]
add rcx, r15
mov qword [rax + 0x320], rcx
movzx ecx, word [0x1400b250a]
add rcx, r15
mov qword [rax + 0x328], rcx
movzx ecx, word [0x1400b250c]
add rcx, r15
mov qword [rax + 0x330], rcx
movzx ecx, word [0x1400b250e]
add rcx, r15
mov qword [rax + 0x338], rcx
movzx ecx, word [0x1400b2510]
add rcx, r15
mov qword [rax + 0x340], rcx
movzx ecx, word [0x1400b2512]
add rcx, r15
mov qword [rax + 0x348], rcx
movzx ecx, word [0x1400b2514]
add rcx, r15
mov qword [rax + 0x350], rcx
movzx ecx, word [0x1400b2516]
add rcx, r15
mov qword [rax + 0x358], rcx
movzx ecx, word [0x1400b2518]
add rcx, r15
mov qword [rax + 0x360], rcx
movzx ecx, word [0x1400b251a]
add rcx, r15
mov qword [rax + 0x368], rcx
movzx ecx, word [0x1400b251c]
add rcx, r15
mov qword [rax + 0x370], rcx
movzx ecx, word [0x1400b251e]
add rcx, r15
mov qword [rax + 0x378], rcx
movzx ecx, word [0x1400b2520]
add rcx, r15
mov qword [rax + 0x380], rcx
movzx ecx, word [0x1400b2522]
add rcx, r15
mov qword [rax + 0x388], rcx
movzx ecx, word [0x1400b2524]
add rcx, r15
mov qword [rax + 0x390], rcx
movzx ecx, word [0x1400b2526]
add rcx, r15
mov qword [rax + 0x398], rcx
movzx ecx, word [0x1400b2528]
add rcx, r15
mov qword [rax + 0x3a0], rcx
movzx ecx, word [0x1400b252a]
add rcx, r15
mov qword [rax + 0x3a8], rcx
movzx ecx, word [0x1400b252c]
add rcx, r15
mov qword [rax + 0x3b0], rcx
movzx ecx, word [0x1400b252e]
add rcx, r15
mov qword [rax + 0x3b8], rcx
movzx ecx, word [0x1400b2530]
add rcx, r15
mov qword [rax + 0x3c0], rcx
movzx ecx, word [0x1400b2532]
add rcx, r15
mov qword [rax + 0x3c8], rcx
movzx ecx, word [0x1400b2534]
add rcx, r15
mov qword [rax + 0x3d0], rcx
movzx ecx, word [0x1400b2536]
add rcx, r15
mov qword [rax + 0x3d8], rcx
movzx ecx, word [0x1400b2538]
add rcx, r15
mov qword [rax + 0x3e0], rcx
movzx ecx, word [0x1400b253a]
add rcx, r15
mov qword [rax + 0x3e8], rcx
movzx ecx, word [0x1400b253c]
add rcx, r15
mov qword [rax + 0x3f0], rcx
movzx ecx, word [0x1400b253e]
add rcx, r15
mov qword [rax + 0x3f8], rcx
movzx ecx, word [0x1400b2540]
add rcx, r15
mov qword [rax + 0x400], rcx
movzx ecx, word [0x1400b2542]
add rcx, r15
mov qword [rax + 0x408], rcx
movzx ecx, word [0x1400b2544]
add rcx, r15
mov qword [rax + 0x410], rcx
movzx ecx, word [0x1400b2546]
add rcx, r15
mov qword [rax + 0x418], rcx
movzx ecx, word [0x1400b2548]
add rcx, r15
mov qword [rax + 0x420], rcx
movzx ecx, word [0x1400b254a]
add rcx, r15
mov qword [rax + 0x428], rcx
movzx ecx, word [0x1400b254c]
add rcx, r15
mov qword [rax + 0x430], rcx
movzx ecx, word [0x1400b254e]
add rcx, r15
mov qword [rax + 0x438], rcx
movzx ecx, word [0x1400b2550]
add rcx, r15
mov qword [rax + 0x440], rcx
movzx ecx, word [0x1400b2552]
add rcx, r15
mov qword [rax + 0x448], rcx
movzx ecx, word [0x1400b2554]
add rcx, r15
mov qword [rax + 0x450], rcx
movzx ecx, word [0x1400b2556]
add rcx, r15
mov qword [rax + 0x458], rcx
movzx ecx, word [0x1400b2558]
add rcx, r15
mov qword [rax + 0x460], rcx
movzx ecx, word [0x1400b255a]
add rcx, r15
mov qword [rax + 0x468], rcx
movzx ecx, word [0x1400b255c]
add rcx, r15
mov qword [rax + 0x470], rcx
movzx ecx, word [0x1400b255e]
add rcx, r15
mov qword [rax + 0x478], rcx
movzx ecx, word [0x1400b2560]
add rcx, r15
mov qword [rax + 0x480], rcx
movzx ecx, word [0x1400b2562]
add rcx, r15
mov qword [rax + 0x488], rcx
movzx ecx, word [0x1400b2564]
add rcx, r15
mov qword [rax + 0x490], rcx
movzx ecx, word [0x1400b2566]
add rcx, r15
mov qword [rax + 0x498], rcx
movzx ecx, word [0x1400b2568]
add rcx, r15
mov qword [rax + 0x4a0], rcx
movzx ecx, word [0x1400b256a]
add rcx, r15
mov qword [rax + 0x4a8], rcx
movzx ecx, word [0x1400b256c]
add rcx, r15
mov qword [rax + 0x4b0], rcx
movzx ecx, word [0x1400b256e]
add rcx, r15
mov qword [rax + 0x4b8], rcx
movzx ecx, word [0x1400b2570]
add rcx, r15
mov qword [rax + 0x4c0], rcx
movzx ecx, word [0x1400b2572]
add rcx, r15
mov qword [rax + 0x4c8], rcx
jmp 0x14003e2b6
lea rcx, [0x1400122e7]
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 0x14003e2c4
test r8b, 1
jne 0x14003e2c4
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 0x14003e33f
test sil, 0x10
jne 0x14003e33f
movzx eax, word [r9 + 0x954]
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 + 0xf00], xmm0
movups xmmword [r9 + 0xf10], xmm0
movups xmmword [r9 + 0xf20], xmm0
movups xmmword [r9 + 0xf30], xmm0
movups xmmword [r9 + 0xf40], xmm0
movups xmmword [r9 + 0xf50], xmm0
movups xmmword [r9 + 0xf60], xmm0
movups xmmword [r9 + 0xf70], xmm0
add rsp, 0x10
pop rsi
ret