Function at 0x1400e3030
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x56f8
lea rbp, [rsp + 0x80]
vmovups xmmword [rbp + 0x5660], xmm6
and rsp, 0xffffffffffffffc0
vmovsd xmm1, qword [rcx]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x18], rax
mov rdi, qword [rcx + 0x18]
mov r8, qword [rcx + 0x20]
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0x38], rax
vxorps xmm0, xmm0, xmm0
vmovups ymmword [rsp + 0x1c0], ymm0
vmovups ymmword [rsp + 0x1a0], ymm0
vmovups ymmword [rsp + 0x180], ymm0
vmovups ymmword [rsp + 0x160], ymm0
vmovups ymmword [rsp + 0x140], ymm0
vmovups ymmword [rsp + 0x120], ymm0
vmovups ymmword [rsp + 0x100], ymm0
vmovups ymmword [rsp + 0xe0], ymm0
vmovups ymmword [rsp + 0xc0], ymm0
vmovups ymmword [rsp + 0xa0], ymm0
vmovups ymmword [rsp + 0x80], ymm0
vmovups ymmword [rsp + 0x60], ymm0
mov r15d, dword [rcx + 0x30]
vmovups ymmword [rsp + 0x40], ymm0
test r15d, r15d
jle 0x1400e3627
vxorps xmm2, xmm2, xmm2
mov ecx, 0xffffffff
xor r11d, r11d
vxorps xmm3, xmm3, xmm3
xor ebx, ebx
xor r12d, r12d
xor r14d, r14d
vxorps xmm0, xmm0, xmm0
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rdi
jmp 0x1400e3168
test r13d, r13d
mov ecx, dword [rsp + 0x14]
mov r9d, dword [rsp + 0x10]
jle 0x1400e3270
movsxd rax, ecx
shl rax, 4
lea rdx, [rsp + 0xa80]
mov word [rax + rdx + 0x18], r13w
vmovlps qword [rax + rdx + 0x10], xmm4
inc ecx
mov word [rax + rdx + 0x1a], r9w
vsubps xmm0, xmm0, xmm4
xor r12d, r12d
inc r11
cmp r14d, r15d
jge 0x1400e335b
mov r10d, r14d
movsx r9d, word [rdi + r11*2]
mov r14d, r9d
add r14d, r10d
mov rax, qword [rsp + 0x38]
movzx edx, word [rax + r11*2]
test edx, edx
je 0x1400e3270
mov dword [rsp + 0x14], ecx
mov dword [rsp + 0x10], r9d
cmp r9w, 0x11
jge 0x1400e3290
mov dword [rsp + 0x24], r14d
mov rax, qword [rsp + 0x18]
mov r9, qword [rax]
mov rsi, qword [rax + 8]
movsxd rax, ebx
lea r12, [rsp + rax*8]
add r12, 0x3500
lea rax, [rsp + rax*2]
add rax, 0x200
vxorps xmm4, xmm4, xmm4
xor r13d, r13d
mov r14d, 1
nop word cs:[rax + rax]
xor ecx, ecx
tzcnt ecx, edx
lea r15d, [rcx + r10]
movsxd r15, r15d
vmovss xmm5, dword [r9 + r15*4]
vinsertps xmm5, xmm5, dword [rsi + r15*4], 0x10
movzx r15d, word [r8 + r15*2]
vmulps xmm5, xmm5, xmm1
movzx edi, r15b
shr edi, 2
vmovsd xmm6, qword [rsp + rdi*8 + 0x40]
vsubps xmm6, xmm6, xmm5
vmovlps qword [rsp + rdi*8 + 0x40], xmm6
mov word [rax + r13*2], r15w
mov edi, r15d
shr edi, 0xa
vmovsd xmm6, qword [rsp + rdi*8 + 0x40]
vsubps xmm6, xmm6, xmm5
vmovlps qword [rsp + rdi*8 + 0x40], xmm6
vmovlps qword [r12 + r13*8], xmm5
shlx ecx, r14d, ecx
inc r13
xor edx, ecx
vaddps xmm4, xmm5, xmm4
jne 0x1400e31e0
add ebx, r13d
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
mov ecx, dword [rsp + 0x14]
mov r14d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x10]
jmp 0x1400e3132
movsxd rax, ecx
test r12d, r12d
je 0x1400e332f
shl rax, 4
add word [rsp + rax + 0xa8a], r9w
jmp 0x1400e3350
mov rax, qword [rsp + 0x18]
mov rdx, qword [rax]
mov r9, qword [rax + 8]
movsxd r10, r10d
movsxd rsi, r14d
vxorps xmm4, xmm4, xmm4
xor r13d, r13d
jmp 0x1400e3311
movzx eax, word [r8 + r10*2]
vinsertps xmm5, xmm6, xmm5, 0x10
vmulps xmm5, xmm5, xmm1
movzx ecx, al
shr ecx, 2
vmovsd xmm6, qword [rsp + rcx*8 + 0x40]
vsubps xmm6, xmm6, xmm5
vmovlps qword [rsp + rcx*8 + 0x40], xmm6
movsxd rbx, ebx
mov word [rsp + rbx*2 + 0x200], ax
shr eax, 0xa
vmovsd xmm6, qword [rsp + rax*8 + 0x40]
vsubps xmm6, xmm6, xmm5
vmovlps qword [rsp + rax*8 + 0x40], xmm6
vaddps xmm4, xmm5, xmm4
vmovlps qword [rsp + rbx*8 + 0x3500], xmm5
inc ebx
inc r13d
inc r10
cmp r10, rsi
jge 0x1400e3120
vmovss xmm5, dword [r9 + r10*4]
vmovss xmm6, dword [rdx + r10*4]
vucomiss xmm6, xmm3
jne 0x1400e32b0
jp 0x1400e32b0
vucomiss xmm5, xmm3
jne 0x1400e32b0
jnp 0x1400e3305
jmp 0x1400e32b0
inc ecx
shl rax, 4
lea rdx, [rsp + 0xa80]
mov word [rax + rdx + 0x18], 0
vmovlps qword [rax + rdx + 0x10], xmm2
mov word [rax + rdx + 0x1a], r9w
mov r12d, 1
jmp 0x1400e315c
xor ecx, ecx
xor r9d, r9d
xor r11d, r11d
jmp 0x1400e337f
inc rcx
mov r11d, r10d
cmp r10d, r15d
jge 0x1400e34ee
mov rax, rcx
shl rax, 4
movsx r10d, word [rsp + rax + 0xa8a]
add r10d, r11d
movsx esi, word [rsp + rax + 0xa88]
test esi, esi
je 0x1400e34b0
add esi, r9d
mov edx, r9d
nop dword [rax + rax]
mov edi, edx
movzx ebx, byte [rsp + rdi*2 + 0x200]
movzx r14d, byte [rsp + rdi*2 + 0x201]
shr ebx, 2
shr r14d, 2
vmovsd xmm1, qword [rsp + rdi*8 + 0x3500]
vmovsd xmm2, qword [rsp + rbx*8 + 0x40]
vaddps xmm2, xmm2, xmm1
vmovlps qword [rsp + rbx*8 + 0x40], xmm2
vmovsd xmm2, qword [rsp + r14*8 + 0x40]
vaddps xmm1, xmm2, xmm1
vmovlps qword [rsp + r14*8 + 0x40], xmm1
inc edx
cmp edx, esi
jb 0x1400e33b0
vmovsd xmm1, qword [rsp + rax + 0xa80]
vaddps xmm0, xmm1, xmm0
nop dword [rax + rax]
mov eax, r11d
movzx edx, byte [r8 + rax*2]
movzx edi, byte [r8 + rax*2 + 1]
shr edx, 2
shr edi, 2
vmovsd xmm2, qword [rsp + rdx*8 + 0x40]
vmovsd xmm3, qword [rsp + rdi*8 + 0x40]
vaddps xmm2, xmm2, xmm3
vsubps xmm2, xmm0, xmm2
vmovlps qword [rsp + rax*8 + 0x1300], xmm2
inc r11d
cmp r11d, r10d
jb 0x1400e3410
nop dword [rax]
mov eax, r9d
movzx edx, byte [rsp + rax*2 + 0x200]
movzx r11d, byte [rsp + rax*2 + 0x201]
shr edx, 2
shr r11d, 2
vmovsd xmm2, qword [rsp + rax*8 + 0x3500]
vmovsd xmm3, qword [rsp + rdx*8 + 0x40]
vaddps xmm3, xmm3, xmm2
vmovlps qword [rsp + rdx*8 + 0x40], xmm3
vmovsd xmm3, qword [rsp + r11*8 + 0x40]
vaddps xmm2, xmm3, xmm2
vmovlps qword [rsp + r11*8 + 0x40], xmm2
inc r9d
cmp r9d, esi
jb 0x1400e3450
vaddps xmm0, xmm0, xmm1
mov r9d, esi
jmp 0x1400e3370
mov eax, r11d
movzx edx, byte [r8 + rax*2]
movzx esi, byte [r8 + rax*2 + 1]
shr edx, 2
shr esi, 2
vmovsd xmm1, qword [rsp + rdx*8 + 0x40]
vmovsd xmm2, qword [rsp + rsi*8 + 0x40]
vaddps xmm1, xmm1, xmm2
vsubps xmm1, xmm0, xmm1
vmovlps qword [rsp + rax*8 + 0x1300], xmm1
inc r11d
cmp r11d, r10d
jb 0x1400e34b0
jmp 0x1400e3370
mov rax, qword [rsp + 0x18]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
cmp r15d, 4
jb 0x1400e35b3
mov eax, r15d
shr eax, 2
shl rax, 4
xor r8d, r8d
nop word cs:[rax + rax]
vmovss xmm0, dword [rsp + r8*2 + 0x1300]
vmovss dword [rdx + r8], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x1304]
vmovss dword [rcx + r8], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x1308]
vmovss dword [rdx + r8 + 4], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x130c]
vmovss dword [rcx + r8 + 4], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x1310]
vmovss dword [rdx + r8 + 8], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x1314]
vmovss dword [rcx + r8 + 8], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x1318]
vmovss dword [rdx + r8 + 0xc], xmm0
vmovss xmm0, dword [rsp + r8*2 + 0x131c]
vmovss dword [rcx + r8 + 0xc], xmm0
add r8, 0x10
cmp rax, r8
jne 0x1400e3520
mov eax, r15d
and eax, 0xfffffffc
and r15d, 3
cmp r15, 1
je 0x1400e360b
cmp r15d, 2
je 0x1400e35ed
cmp r15d, 3
jne 0x1400e3627
vmovss xmm0, dword [rsp + rax*8 + 0x1310]
vmovss dword [rdx + rax*4 + 8], xmm0
vmovss xmm0, dword [rsp + rax*8 + 0x1314]
vmovss dword [rcx + rax*4 + 8], xmm0
vmovss xmm0, dword [rsp + rax*8 + 0x1308]
vmovss dword [rdx + rax*4 + 4], xmm0
vmovss xmm0, dword [rsp + rax*8 + 0x130c]
vmovss dword [rcx + rax*4 + 4], xmm0
vmovss xmm0, dword [rsp + rax*8 + 0x1300]
vmovss dword [rdx + rax*4], xmm0
vmovss xmm0, dword [rsp + rax*8 + 0x1304]
vmovss dword [rcx + rax*4], xmm0
vmovups xmm6, xmmword [rbp + 0x5660]
lea rsp, [rbp + 0x5678]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
vzeroupper
ret