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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r13, rdx
mov rsi, rcx
movzx ecx, word [rcx + 2]
movzx eax, word [rdx + 2]
cmp cx, ax
jle 0x140033997
movsx r9d, cx
movsx r8d, ax
mov r14d, r9d
sub r14d, r8d
movsx ebx, word [rsi]
lea eax, [r14 + rbx]
cmp eax, 0x80
jg 0x140033a52
movzx ecx, bx
not r8d
test cx, cx
jle 0x140033968
cmp bx, 8
jb 0x140033937
lea r10, [rcx - 1]
lea r11d, [rbx + r9]
add r11d, r8d
mov ebp, r11d
sub ebp, r10d
mov edx, 4
mov rax, r10
mul rdx
seto dl
cmp ebp, r11d
jg 0x140033937
shr r10, 0x20
jne 0x140033937
movsxd r10, r11d
lea rbp, [rsi + r10*4]
add rbp, 4
cmp rax, rbp
ja 0x140033937
test dl, dl
jne 0x140033937
lea rbp, [rsi + rcx*4]
cmp rax, rbp
ja 0x140033937
test dl, dl
jne 0x140033937
lea rdx, [r10*4 + 8]
lea rbp, [rcx*4]
sub rdx, rbp
add rdx, rsi
lea rbp, [rsi + rcx*4]
add rbp, 4
cmp rdx, rbp
jae 0x14003387b
lea rdx, [rsi + r10*4]
add rdx, 8
lea rbp, [rsi + 4]
cmp rdx, rbp
ja 0x140033937
mov r10d, ecx
and r10d, 0xfffffff8
lea rdx, [r10 - 8]
mov r15, rdx
shr r15, 3
add r15, 1
test rdx, rdx
je 0x1400338fa
lea rdx, [rax + rsi]
add rdx, 0xfffffffffffffff8
mov rax, r15
and rax, 0xfffffffffffffffe
neg rax
xor r12d, r12d
nop dword [rax + rax]
movups xmm0, xmmword [rdx - 0x10]
movups xmm1, xmmword [rdx]
movsxd r11, r11d
movups xmmword [rsi + r11*4 - 8], xmm1
movups xmmword [rsi + r11*4 - 0x18], xmm0
mov ebp, r12d
xor ebp, 0xfffffff7
add ebp, ebx
movups xmm0, xmmword [rdx - 0x30]
movups xmm1, xmmword [rdx - 0x20]
add ebp, r14d
movsxd rbp, ebp
movups xmmword [rsi + rbp*4 - 8], xmm1
movups xmmword [rsi + rbp*4 - 0x18], xmm0
add r12, 0x10
add rdx, 0xffffffffffffffc0
add r11d, 0xfffffff0
add rax, 2
jne 0x1400338b0
jmp 0x1400338fd
xor r12d, r12d
test r15b, 1
je 0x14003392c
mov rax, r12
not rax
add rax, rcx
not r12d
add r12d, ebx
movups xmm0, xmmword [rsi + rax*4 - 0x18]
movups xmm1, xmmword [rsi + rax*4 - 8]
add r12d, r14d
movsxd rax, r12d
movups xmmword [rsi + rax*4 - 8], xmm1
movups xmmword [rsi + rax*4 - 0x18], xmm0
cmp r10, rcx
je 0x140033968
and ecx, 7
sub ebx, r10d
add rcx, 1
add ebx, r9d
add ebx, r8d
nop word cs:[rax + rax]
nop dword [rax + rax]
mov eax, dword [rsi + rcx*4 - 4]
movsxd rbx, ebx
mov dword [rsi + rbx*4 + 4], eax
add rcx, 0xffffffffffffffff
add ebx, 0xffffffff
cmp rcx, 1
jg 0x140033950
test r14d, r14d
jle 0x140033983
lea rcx, [rsi + 4]
add r8d, r9d
lea r8, [r8*4 + 4]
xor edx, edx
call sub.ntdll.dll_memset
add word [rsi], r14w
movzx ecx, word [rsi + 2]
sub ecx, r14d
mov word [rsi + 2], cx
movzx eax, word [r13 + 2]
cmp word [r13], 0
jle 0x140033a0c
cwde
movsx ecx, cx
sub eax, ecx
xor ecx, ecx
xor edi, edi
nop dword [rax]
lea edx, [rax + rcx]
movsxd rbp, edx
mov ebx, dword [rsi + rbp*4 + 4]
sub ebx, dword [r13 + rcx*4 + 4]
add ebx, edi
mov edx, ebx
and edx, 0xfffffff
mov dword [rsi + rbp*4 + 4], edx
mov edi, ebx
sar edi, 0x1f
add rcx, 1
movsx rdx, word [r13]
cmp rcx, rdx
jl 0x1400339b0
test ebx, ebx
jns 0x140033a0c
add rax, rcx
nop word [rax + rax]
cdqe
mov ecx, dword [rsi + rax*4 + 4]
add ecx, 0xffffffff
mov edx, ecx
and edx, 0xfffffff
mov dword [rsi + rax*4 + 4], edx
add eax, 1
test ecx, ecx
js 0x1400339f0
movzx eax, word [rsi]
test ax, ax
jle 0x140033a39
nop word cs:[rax + rax]
nop
movzx ecx, ax
cmp dword [rsi + rcx*4], 0
jne 0x140033a41
lea ecx, [rax - 1]
mov word [rsi], cx
cmp ax, 1
mov eax, ecx
jg 0x140033a20
jmp 0x140033a3b
jne 0x140033a41
mov word [rsi + 2], 0
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3