Function at 0x1400475d4
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x138
movaps xmmword [rax - 0x58], xmm6
mov r13, rcx
movsd xmm6, qword [0x140214a28]
xorps xmm5, xmm5
xorps xmm4, xmm4
xorps xmm3, xmm3
movaps xmm2, xmm3
movaps xmm1, xmm3
mulsd xmm2, qword [0x140214a10]
movaps xmm0, xmm3
mulsd xmm1, qword [0x14020d1f8]
mulsd xmm0, xmm3
mulsd xmm2, xmm3
mulsd xmm1, xmm3
subsd xmm2, xmm0
addsd xmm1, qword [0x1402149b0]
divsd xmm2, xmm1
addsd xmm4, xmm2
comisd xmm4, xmmword [0x1402149c8]
jbe 0x14004765c
movaps xmm0, xmm3
mulsd xmm0, qword [0x140214980]
subsd xmm4, xmm0
addsd xmm3, qword [0x14020d170]
comisd xmm6, xmm3
ja 0x14004760a
comisd xmm5, xmm4
jbe 0x14004767f
call fcn.14004aa49
call fcn.14004a9ef
jmp 0x140047c93
xor eax, eax
lea rcx, [rsp + 0x20]
mov byte [rcx], al
inc eax
inc rcx
cmp eax, 0x100
jb 0x140047686
xor r13d, r13d
mov r9d, 0xff
mov r10d, r13d
mov cl, r13b
mov r11d, 1
mov ebx, r13d
cmp r9d, r11d
jbe 0x1400476be
lea r11d, [r11*2 + 1]
cmp r11d, r9d
jb 0x1400476b1
movzx eax, cl
mov dl, byte [rsp + rax + 0x20]
mov eax, r10d
test r10d, r10d
je 0x14004770a
sub eax, 1
je 0x140047700
sub eax, 1
je 0x1400476f6
cmp eax, 1
je 0x1400476ec
lea ecx, [r10 - 4]
lea rax, [fcn.14004aa49]
mov al, byte [rcx + rax]
jmp 0x14004770f
cvttsd2si rax, xmm4
shr eax, 0x18
jmp 0x14004770f
cvttsd2si rax, xmm4
shr eax, 0x10
jmp 0x14004770f
cvttsd2si rax, xmm4
shr eax, 8
jmp 0x14004770f
cvttsd2si rax, xmm4
add al, dl
lea r8d, [r10 + 1]
movzx edx, al
cmp r8d, 0x1f
lea eax, [rdx + 0x1f]
movzx ecx, al
cmovb ecx, edx
sbb r10d, r10d
movzx edi, cl
and r10d, r8d
mov eax, edi
inc ebx
and eax, r11d
cmp ebx, 0xb
jbe 0x140047741
xor edx, edx
div r9d
mov eax, edx
mov cl, dil
cmp eax, r9d
ja 0x1400476be
je 0x14004776c
mov edx, eax
mov ecx, r9d
mov al, byte [rsp + rdx + 0x20]
xor byte [rsp + rcx + 0x20], al
mov al, byte [rsp + rcx + 0x20]
xor byte [rsp + rdx + 0x20], al
mov al, byte [rsp + rdx + 0x20]
xor byte [rsp + rcx + 0x20], al
mov cl, dil
add r9d, 0xffffffff
jne 0x1400476a3
movzx r10d, byte [rsp + rdi + 0x20]
lea r12, [fcn.14004a9ef]
movzx edx, byte [rsp + 0x27]
lea rdi, [fcn.14004a9ef]
movzx esi, byte [rsp + 0x21]
mov r15b, byte [rsp + 0x25]
movzx r11d, byte [rsp + r10 + 0x20]
mov bl, byte [r12]
mov r14b, byte [rsp + rsi + 0x20]
sub bl, 5
add r14b, byte [rsp + 0x23]
inc sil
mov cl, byte [r12 + 1]
mov r12b, byte [r12 + 2]
add cl, 0x6f
mov r13, qword [rbp + 0x80]
sub r12b, 5
movzx r9d, r14b
add r14b, r11b
shl bl, 4
or bl, cl
shl r12b, 4
movzx ecx, sil
inc sil
mov al, byte [rsp + r9 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rdx + 0x20]
mov byte [rsp + r9 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + rdx + 0x20], al
mov byte [rsp + rcx + 0x20], r11b
add r15b, byte [rsp + r11 + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rcx, rax
movzx r10d, r14b
movzx eax, byte [rsp + rdx + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rax, r11
movzx r9d, bl
movzx eax, al
mov dl, byte [rsp + rcx + 0x20]
mov cl, byte [rdi + 3]
add cl, 0x6f
xor dl, byte [rsp + rax + 0x20]
or r12b, cl
mov al, byte [rsp + r10 + 0x20]
xor dl, bl
movzx ebx, byte [rsp + r9 + 0x20]
mov byte [rsp + r9 + 0x20], al
movzx r8d, dl
mov edx, ebx
movzx ecx, sil
mov byte [rbp + 0x88], bl
mov al, byte [rsp + r8 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + r8 + 0x20], al
mov byte [rsp + rcx + 0x20], bl
add r15b, byte [rsp + rbx + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rcx, rax
movzx eax, byte [rsp + r8 + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rax, rbx
lea rbx, [r13 + 0x2e]
movzx eax, al
mov dl, byte [rsp + rcx + 0x20]
xor dl, byte [rsp + rax + 0x20]
xor dl, r12b
movsx eax, dl
mov word [rbx], ax
mov r8b, byte [rbp + 0x88]
mov ecx, 1
mov rax, rdi
sub rax, r13
mov qword [rbp + 0x90], rax
lea r13d, [rcx + 0x12]
mov r11b, byte [rax + rbx - 0x2a]
inc rcx
mov al, byte [rax + rbx - 0x29]
add rbx, 2
add al, 0x6f
mov qword [rbp + 0x88], rcx
movzx r9d, r12b
add r14b, r8b
movzx r8d, dl
sub r11b, 5
movzx r10d, r14b
inc sil
movzx ecx, sil
movzx edi, byte [rsp + r9 + 0x20]
shl r11b, 4
mov edx, edi
or r11b, al
mov al, byte [rsp + r10 + 0x20]
mov byte [rsp + r9 + 0x20], al
mov r12b, r11b
mov al, byte [rsp + r8 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + r8 + 0x20], al
mov byte [rsp + rcx + 0x20], dil
add r15b, byte [rsp + rdi + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rcx, rax
movzx eax, byte [rsp + r8 + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rax, rdi
movzx eax, al
mov dl, byte [rsp + rcx + 0x20]
mov rcx, qword [rbp + 0x88]
xor dl, byte [rsp + rax + 0x20]
xor dl, r11b
test rcx, rcx
jle 0x1400479a8
movsx eax, dl
mov word [rbx], ax
mov rax, qword [rbp + 0x90]
mov r8b, dil
sub r13, 1
jne 0x1400478f0
movzx r8d, dl
lea rax, [fcn.14004a9ef]
mov bl, byte [rax + 0x2a]
add r14b, dil
mov al, byte [rax + 0x2b]
sub bl, 5
mov rdi, qword [rbp + 0x80]
add al, 0x6f
movzx r10d, r14b
inc sil
movzx r9d, r12b
mov r13d, 0x15
movzx ecx, sil
shl bl, 4
or bl, al
mov qword [rbp + 0x98], r13
movzx r12d, byte [rsp + r9 + 0x20]
mov al, byte [rsp + r10 + 0x20]
mov edx, r12d
mov byte [rsp + r9 + 0x20], al
mov al, byte [rsp + r8 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + r8 + 0x20], al
mov byte [rsp + rcx + 0x20], r12b
add r15b, byte [rsp + r12 + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rcx, rax
movzx eax, byte [rsp + r8 + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rax, r12
movzx eax, al
mov dl, byte [rsp + rcx + 0x20]
xor dl, byte [rsp + rax + 0x20]
xor dl, bl
add rdi, 0x56
movsx eax, dl
mov word [rdi], ax
mov rax, qword [rbp + 0x90]
lea rdi, [rdi + 2]
movzx r8d, dl
add r14b, r12b
movzx r9d, bl
inc sil
movzx r10d, r14b
inc r13
mov r11b, byte [rdi + rax - 0x2c]
mov al, byte [rdi + rax - 0x2b]
sub r11b, 5
movzx ebx, byte [rsp + r9 + 0x20]
add al, 0x6f
movzx ecx, sil
mov edx, ebx
shl r11b, 4
or r11b, al
mov byte [rbp + 0x88], bl
mov al, byte [rsp + r10 + 0x20]
mov byte [rsp + r9 + 0x20], al
mov al, byte [rsp + r8 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + r8 + 0x20], al
mov byte [rsp + rcx + 0x20], bl
add r15b, byte [rsp + rbx + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rcx, rax
movzx eax, byte [rsp + r8 + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rax, rbx
mov bl, r11b
movzx eax, al
mov dl, byte [rsp + rcx + 0x20]
xor dl, byte [rsp + rax + 0x20]
xor dl, r11b
test r13, r13
jle 0x140047b26
movsx eax, dl
mov word [rdi], ax
sub qword [rbp + 0x98], 1
mov cl, byte [rbp + 0x88]
mov r12b, cl
jne 0x140047a70
mov r13, qword [rbp + 0x80]
lea r12, [fcn.14004a9ef]
mov r11b, byte [r12 + 0x56]
add r14b, cl
mov al, byte [r12 + 0x57]
sub r11b, 5
add al, 0x6f
movzx r9d, bl
movzx r8d, dl
inc sil
movzx r10d, r14b
movzx ecx, sil
inc sil
movzx edi, byte [rsp + r9 + 0x20]
shl r11b, 4
add r14b, dil
or r11b, al
mov al, byte [rsp + r10 + 0x20]
mov byte [rsp + r9 + 0x20], al
mov al, byte [rsp + r8 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + r8 + 0x20], al
mov byte [rsp + rcx + 0x20], dil
add r15b, byte [rsp + rdi + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rcx, rax
movzx r9d, r11b
movzx eax, byte [rsp + r8 + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rax, rdi
movzx r10d, r14b
movzx eax, al
mov dl, byte [rsp + rcx + 0x20]
movzx ecx, sil
xor dl, byte [rsp + rax + 0x20]
xor dl, r11b
movzx r11d, byte [rsp + r9 + 0x20]
movzx r8d, dl
movsx eax, dl
mov word [r13 + 0x82], ax
mov al, byte [r12 + 0x59]
mov bl, byte [r12 + 0x58]
add al, 0x6f
sub bl, 5
shl bl, 4
or bl, al
mov al, byte [rsp + r10 + 0x20]
mov byte [rsp + r9 + 0x20], al
mov al, byte [rsp + r8 + 0x20]
mov byte [rsp + r10 + 0x20], al
mov al, byte [rsp + rcx + 0x20]
mov byte [rsp + r8 + 0x20], al
mov byte [rsp + rcx + 0x20], r11b
add r15b, byte [rsp + r11 + 0x20]
movzx eax, r15b
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r9 + 0x20]
add rcx, rax
movzx eax, byte [rsp + r8 + 0x20]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x20]
movzx eax, byte [rsp + r10 + 0x20]
add rax, r11
movzx eax, al
mov r8b, byte [rsp + rcx + 0x20]
xor r8b, byte [rsp + rax + 0x20]
xor r8b, bl
movsx eax, r8b
mov word [r13 + 0x84], ax
xor eax, eax
mov word [r13 + 0x86], ax
movaps xmm6, xmmword [rsp + 0x120]
lea rax, [r13 + 0x2e]
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret