Function at 0x14000a540
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rsi
push r12
push r13
sub rsp, 0xa0
mov qword [rax + 8], rbp
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rbp, rcx
xor ecx, ecx
mov esi, r8d
mov r12, rdx
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rsp + 0x30], xmm12
call fcn.14014eda4
mov rcx, rax
call fcn.14014e9b4
call fcn.14014e9cc
movsd xmm6, qword [0x140183498]
mov r11d, eax
mov eax, 0x94f2095
imul r11d
sar edx, 2
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
imul edx, edx, 0x6e
sub r11d, edx
movd xmm7, r11d
cvtdq2pd xmm7, xmm7
mulsd xmm7, qword [0x140183490]
divsd xmm7, xmm6
movapd xmm0, xmm7
call section.text_1
lea rcx, [0x1402115c0]
xor r13d, r13d
mov rdx, rbp
mov dword [rbp], r13d
movapd xmm10, xmm0
movapd xmm12, xmm0
mulsd xmm10, qword [0x140183488]
divsd xmm10, qword [0x140183480]
call fcn.140004660
lea edx, [r13 + 0xa]
mov rcx, rax
mov rbx, rax
call fcn.140006bc0
mov rcx, rbx
call fcn.1400030e0
xorpd xmm8, xmm8
comisd xmm10, xmm8
jb 0x14000a756
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd0], r14
movaps xmmword [rsp + 0x60], xmm9
movapd xmm0, xmm7
movaps xmmword [rsp + 0x40], xmm11
mulsd xmm12, xmm6
movaps xmmword [rsp + 0x20], xmm13
call fcn.140a17490
lea r14d, [r13 + 4]
movsd xmm13, qword [0x140183478]
movsd xmm9, qword [0x140183470]
movapd xmm11, xmm0
mulsd xmm11, xmm6
nop dword [rax]
movapd xmm2, xmm8
movapd xmm7, xmm12
movapd xmm6, xmm11
lea rcx, [0x1402113c0]
mulsd xmm2, xmm13
mulsd xmm7, xmm8
mulsd xmm6, xmm8
movapd xmm1, xmm8
mulsd xmm2, xmm8
subsd xmm7, xmm2
call fcn.140004480
movapd xmm1, xmm6
mov rcx, rax
call fcn.140004480
mov rcx, rax
movapd xmm1, xmm7
call fcn.140004480
mov dl, 0xa
mov rcx, rax
mov rdi, rax
call fcn.140006a80
mov rcx, qword [rdi]
mov ebx, r13d
movsxd rcx, dword [rcx + 4]
test byte [rcx + rdi + 0x10], 6
jne 0x14000a700
mov rcx, qword [rcx + rdi + 0x48]
mov rdx, qword [rcx]
call qword [rdx + 0x68]
cmp eax, 0xffffffff
cmove ebx, r14d
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
add rcx, rdi
test ebx, ebx
je 0x14000a724
mov edx, dword [rcx + 0x10]
or edx, ebx
cmp qword [rcx + 0x48], r13
jne 0x14000a71c
or edx, r14d
xor r8d, r8d
call fcn.140001580
addsd xmm8, xmm9
comisd xmm10, xmm8
jae 0x14000a680
movaps xmm13, xmmword [rsp + 0x20]
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x60]
mov r14, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xc8]
movaps xmm12, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x70]
lea r11, [rbp + 8]
mov dword [rbp + 4], r13d
mov rbp, qword [rsp + 0xc0]
mov rcx, r11
mov eax, r13d
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
nop
mov dword [rcx], eax
inc eax
add rcx, 4
cmp eax, 0x100
jl 0x14000a790
mov r9d, r13d
mov ebx, r13d
mov r10, r13
nop dword [rax + rax]
mov r8d, dword [r11 + r10*4]
mov eax, r9d
inc r9d
cdq
idiv esi
mov eax, ebx
movsxd rcx, edx
cdq
idiv esi
movzx eax, byte [rcx + r12]
add al, dl
add al, bl
add al, r8b
cmp r9d, esi
movzx ebx, al
cmovge r9d, r13d
inc r10
mov eax, dword [r11 + rbx*4]
mov dword [r11 + r10*4 - 4], eax
mov dword [r11 + rbx*4], r8d
cmp r10, 0x100
jl 0x14000a7b0
mov rbx, qword [rsp + 0xd8]
add rsp, 0xa0
pop r13
pop r12
pop rsi
ret