Function at 0x140058380
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 0x140058cff
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, [0x1400293f0]
mov byte [r9 + 0x92], r8b
cmp cl, 0x10
jne 0x140058452
movzx ecx, word [0x1400ce0ae]
movzx edx, word [0x1400ce0b4]
add rcx, r15
movzx r10d, word [0x1400ce09c]
add rdx, r15
movzx r11d, word [0x1400ce0ba]
add r10, r15
movzx ebx, word [0x1400ce0c2]
add r11, r15
movzx edi, word [0x1400ce0c8]
jmp 0x14005847c
mov rcx, qword [rax + 0x750]
lea r10, [0x14002a919]
mov rdx, qword [rax + 0x768]
mov r11, qword [rax + 0x780]
movzx ebx, word [0x1400ce0c4]
movzx edi, word [0x1400ce0ca]
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 0x1400585be
test bl, bl
jne 0x140058558
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 0x1400584d0
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 0x140058625
jmp 0x1400585e4
test r8b, 0x40
je 0x140058567
lea rdx, [0x14002cf85]
jmp 0x14005857d
test r8b, 0x20
lea rdx, [0x14002cdf1]
lea rcx, [0x14002cdc9]
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 0x140058590
mov qword [rcx], rdx
jmp 0x140058625
test bl, bl
jne 0x140058625
mov qword [rax + 0x278], rcx
mov qword [rax + 0x290], rdx
mov qword [rax + 0x230], r10
mov qword [rax + 0x2a8], r11
test r8b, 2
je 0x140058609
lea rcx, [0x14002cde4]
mov qword [rax + 0x248], rcx
mov qword [rax + 0x250], rcx
mov qword [rax + 0x258], rcx
mov qword [rax + 0x260], rcx
jmp 0x140058625
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 0x140058c70
test r8b, 1
jne 0x140058aa0
movzx ecx, word [0x1400ce0c2]
add rcx, r15
mov qword [rax + 0x2c8], rcx
movzx ecx, word [0x1400ce0c4]
add rcx, r15
mov qword [rax + 0x2d0], rcx
movzx ecx, word [0x1400ce0c6]
add rcx, r15
mov qword [rax + 0x2d8], rcx
movzx ecx, word [0x1400ce0c8]
add rcx, r15
mov qword [rax + 0x2e0], rcx
movzx ecx, word [0x1400ce0ca]
add rcx, r15
mov qword [rax + 0x2e8], rcx
movzx ecx, word [0x1400ce0cc]
add rcx, r15
mov qword [rax + 0x2f0], rcx
movzx ecx, word [0x1400ce0ce]
add rcx, r15
mov qword [rax + 0x2f8], rcx
movzx ecx, word [0x1400ce0d0]
add rcx, r15
mov qword [rax + 0x300], rcx
movzx ecx, word [str.__q_]
add rcx, r15
mov qword [rax + 0x308], rcx
movzx ecx, word [0x1400ce0d4]
add rcx, r15
mov qword [rax + 0x310], rcx
movzx ecx, word [0x1400ce0d6]
add rcx, r15
mov qword [rax + 0x318], rcx
movzx ecx, word [0x1400ce0d8]
add rcx, r15
mov qword [rax + 0x320], rcx
movzx ecx, word [0x1400ce0da]
add rcx, r15
mov qword [rax + 0x328], rcx
movzx ecx, word [0x1400ce0dc]
add rcx, r15
mov qword [rax + 0x330], rcx
movzx ecx, word [0x1400ce0de]
add rcx, r15
mov qword [rax + 0x338], rcx
movzx ecx, word [0x1400ce0e0]
add rcx, r15
mov qword [rax + 0x340], rcx
movzx ecx, word [0x1400ce0e2]
add rcx, r15
mov qword [rax + 0x348], rcx
movzx ecx, word [0x1400ce0e4]
add rcx, r15
mov qword [rax + 0x350], rcx
movzx ecx, word [0x1400ce0e6]
add rcx, r15
mov qword [rax + 0x358], rcx
movzx ecx, word [0x1400ce0e8]
add rcx, r15
mov qword [rax + 0x360], rcx
movzx ecx, word [0x1400ce0ea]
add rcx, r15
mov qword [rax + 0x368], rcx
movzx ecx, word [0x1400ce0ec]
add rcx, r15
mov qword [rax + 0x370], rcx
movzx ecx, word [0x1400ce0ee]
add rcx, r15
mov qword [rax + 0x378], rcx
movzx ecx, word [0x1400ce0f0]
add rcx, r15
mov qword [rax + 0x380], rcx
movzx ecx, word [0x1400ce0f2]
add rcx, r15
mov qword [rax + 0x388], rcx
movzx ecx, word [0x1400ce0f4]
add rcx, r15
mov qword [rax + 0x390], rcx
movzx ecx, word [0x1400ce0f6]
add rcx, r15
mov qword [rax + 0x398], rcx
movzx ecx, word [0x1400ce0f8]
add rcx, r15
mov qword [rax + 0x3a0], rcx
movzx ecx, word [0x1400ce0fa]
add rcx, r15
mov qword [rax + 0x3a8], rcx
movzx ecx, word [0x1400ce0fc]
add rcx, r15
mov qword [rax + 0x3b0], rcx
movzx ecx, word [0x1400ce0fe]
add rcx, r15
mov qword [rax + 0x3b8], rcx
movzx ecx, word [0x1400ce100]
add rcx, r15
mov qword [rax + 0x3c0], rcx
movzx ecx, word [0x1400ce102]
add rcx, r15
mov qword [rax + 0x3c8], rcx
movzx ecx, word [0x1400ce104]
add rcx, r15
mov qword [rax + 0x3d0], rcx
movzx ecx, word [0x1400ce106]
add rcx, r15
mov qword [rax + 0x3d8], rcx
movzx ecx, word [0x1400ce108]
add rcx, r15
mov qword [rax + 0x3e0], rcx
movzx ecx, word [0x1400ce10a]
add rcx, r15
mov qword [rax + 0x3e8], rcx
movzx ecx, word [0x1400ce10c]
add rcx, r15
mov qword [rax + 0x3f0], rcx
movzx ecx, word [0x1400ce10e]
add rcx, r15
mov qword [rax + 0x3f8], rcx
movzx ecx, word [0x1400ce110]
add rcx, r15
mov qword [rax + 0x400], rcx
movzx ecx, word [0x1400ce112]
add rcx, r15
mov qword [rax + 0x408], rcx
movzx ecx, word [0x1400ce114]
add rcx, r15
mov qword [rax + 0x410], rcx
movzx ecx, word [0x1400ce116]
add rcx, r15
mov qword [rax + 0x418], rcx
movzx ecx, word [0x1400ce118]
add rcx, r15
mov qword [rax + 0x420], rcx
movzx ecx, word [0x1400ce11a]
add rcx, r15
mov qword [rax + 0x428], rcx
movzx ecx, word [0x1400ce11c]
add rcx, r15
mov qword [rax + 0x430], rcx
movzx ecx, word [0x1400ce11e]
add rcx, r15
mov qword [rax + 0x438], rcx
movzx ecx, word [0x1400ce120]
add rcx, r15
mov qword [rax + 0x440], rcx
movzx ecx, word [0x1400ce122]
add rcx, r15
mov qword [rax + 0x448], rcx
movzx ecx, word [0x1400ce124]
add rcx, r15
mov qword [rax + 0x450], rcx
movzx ecx, word [0x1400ce126]
add rcx, r15
mov qword [rax + 0x458], rcx
movzx ecx, word [0x1400ce128]
add rcx, r15
mov qword [rax + 0x460], rcx
movzx ecx, word [0x1400ce12a]
add rcx, r15
mov qword [rax + 0x468], rcx
movzx ecx, word [0x1400ce12c]
add rcx, r15
mov qword [rax + 0x470], rcx
movzx ecx, word [0x1400ce12e]
add rcx, r15
mov qword [rax + 0x478], rcx
movzx ecx, word [0x1400ce130]
add rcx, r15
mov qword [rax + 0x480], rcx
movzx ecx, word [0x1400ce132]
add rcx, r15
mov qword [rax + 0x488], rcx
movzx ecx, word [0x1400ce134]
add rcx, r15
mov qword [rax + 0x490], rcx
movzx ecx, word [0x1400ce136]
add rcx, r15
mov qword [rax + 0x498], rcx
movzx ecx, word [0x1400ce138]
add rcx, r15
mov qword [rax + 0x4a0], rcx
movzx ecx, word [0x1400ce13a]
add rcx, r15
mov qword [rax + 0x4a8], rcx
movzx ecx, word [0x1400ce13c]
add rcx, r15
mov qword [rax + 0x4b0], rcx
movzx ecx, word [0x1400ce13e]
add rcx, r15
mov qword [rax + 0x4b8], rcx
movzx ecx, word [0x1400ce140]
add rcx, r15
mov qword [rax + 0x4c0], rcx
movzx ecx, word [0x1400ce142]
add rcx, r15
mov qword [rax + 0x4c8], rcx
jmp 0x140058c76
lea rcx, [0x14002ce87]
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 0x140058c84
test r8b, 1
jne 0x140058c84
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 0x140058cff
test sil, 0x10
jne 0x140058cff
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