Function at 0x1400e43d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r13d, dword [rcx]
mov eax, dword [rcx + 0xc]
mov r12, rcx
mov r15, rdx
mov r14, r8
cmp dword [rcx + 8], eax
jb 0x1400e4417
mov eax, dword [rcx + 4]
add eax, eax
cmp eax, r13d
jb 0x1400e45a0
lea edx, [r13 + 1]
call fcn.140136780
test eax, eax
js 0x1400e45b1
mov r13d, dword [r12]
mov rax, qword [r15 + 0x40]
movzx ebp, word [r15 + 0x3c]
mov r10d, r13d
lea r8d, [r13 - 1]
movsx edx, byte [rax]
lea ecx, [rdx - 0x41]
cmp ecx, 0x19
jbe 0x1400e4558
test edx, edx
jne 0x1400e455b
shr ebp, 0xc
mov r9, qword [r12 + 0x18]
and ebp, 3
add ebp, edx
mov rdx, qword [r12 + 0x10]
and ebp, r8d
mov eax, ebp
lea ecx, [rbp + rbp]
shr eax, 4
and ecx, 0x1e
lea r11, [rdx + rax*4]
mov eax, dword [r11]
mov edi, eax
shr edi, cl
and edi, 2
jne 0x1400e4600
mov qword [rsp + 0x90], r14
mov ebx, ebp
mov r14, r15
mov r15d, r13d
mov dword [rsp + 0x2c], r10d
mov r13d, ebp
mov ebp, r8d
jmp 0x1400e44c0
mov eax, ebx
mov rcx, qword [r9 + rax*8]
movzx eax, word [r14 + 0x3c]
movzx r11d, word [rcx + 0x3c]
xor eax, r11d
test ah, 0x30
je 0x1400e45c0
add edi, 1
add ebx, edi
and ebx, ebp
cmp r13d, ebx
je 0x1400e44e5
mov eax, ebx
shr eax, 4
mov eax, dword [rdx + rax*4]
lea esi, [rbx + rbx]
and esi, 0x1e
mov ecx, esi
shr eax, cl
test al, 2
jne 0x1400e4650
test al, 1
je 0x1400e4490
add edi, 1
mov r15d, ebx
add ebx, edi
and ebx, ebp
cmp r13d, ebx
jne 0x1400e44b8
mov r13d, r15d
mov r15, r14
mov r14, qword [rsp + 0x90]
mov r10d, r13d
cmp dword [r12], r10d
jne 0x1400e466d
mov eax, ebx
lea ecx, [rbx + rbx]
shr eax, 4
and ecx, 0x1e
lea r11, [rdx + rax*4]
mov eax, dword [r11]
mov esi, eax
shr esi, cl
mov edi, esi
and edi, 2
cmp r10d, r13d
je 0x1400e46dd
test edi, edi
je 0x1400e46dd
mov eax, r13d
lea ecx, [r13 + r13]
mov r10d, r13d
shr eax, 4
and ecx, 0x1e
lea r11, [rdx + rax*4]
mov eax, dword [r11]
mov esi, eax
shr esi, cl
mov edi, esi
and edi, 2
jmp 0x1400e468a
add edx, 0x20
lea r9, [rax + 1]
movzx eax, byte [rax + 1]
test al, al
je 0x1400e443e
nop dword [rax + rax]
mov ecx, edx
shl ecx, 5
sub ecx, edx
movsx edx, al
lea r11d, [rdx - 0x41]
lea eax, [rdx + 0x20]
cmp r11d, 0x1a
cmovb edx, eax
movzx eax, byte [r9 + 1]
add r9, 1
add edx, ecx
test al, al
jne 0x1400e4570
jmp 0x1400e443e
lea edx, [r13 - 1]
call fcn.140136780
test eax, eax
jns 0x1400e4413
mov eax, 0xffffffff
jmp 0x1400e463f
mov rdx, qword [r14 + 0x40]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x1400e46be
mov rdx, qword [r12 + 0x10]
mov eax, ebx
mov ecx, esi
mov r9, qword [r12 + 0x18]
shr eax, 4
mov eax, dword [rdx + rax*4]
shr eax, cl
test al, 1
cmovne r15d, ebx
jmp 0x1400e44ac
mov ebp, r10d
nop word [rax + rax]
mov edx, 3
mov qword [r9 + rbp*8], r15
movq xmm1, qword [0x14019ad90]
lea r8, [rbp*8]
shl edx, cl
not edx
and edx, eax
mov dword [r11], edx
movq xmm0, qword [r12 + 4]
paddd xmm0, xmm1
movq qword [r12 + 4], xmm0
mov rax, qword [r12 + 0x20]
mov qword [rax + r8], r14
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13d, r15d
mov r10d, dword [rsp + 0x2c]
mov r15, r14
mov r14, qword [rsp + 0x90]
cmp dword [r12], r10d
je 0x1400e4500
mov eax, r10d
lea ecx, [r10 + r10]
shr eax, 4
and ecx, 0x1e
lea r11, [rdx + rax*4]
mov eax, dword [r11]
mov esi, eax
shr esi, cl
mov edi, esi
and edi, 2
mov r8d, r10d
shl r8, 3
lea rdx, [r9 + r8]
test edi, edi
jne 0x1400e45f7
and esi, 1
mov qword [rdx], r15
je 0x1400e4634
mov edx, 3
shl edx, cl
not edx
and edx, eax
mov dword [r11], edx
add dword [r12 + 4], 1
jmp 0x1400e4634
mov r13d, r15d
mov r10d, dword [rsp + 0x2c]
mov r15, r14
mov r9, qword [r12 + 0x18]
mov r14, qword [rsp + 0x90]
mov rdx, qword [r12 + 0x10]
jmp 0x1400e4663
mov r10d, ebx
jmp 0x1400e468a