Function at 0x1400a434c
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x20], r9d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xe0
movaps xmmword [rax - 0x48], xmm6
mov rsi, r8
movaps xmmword [rax - 0x58], xmm7
mov r8d, 1
movaps xmmword [rax - 0x68], xmm8
mov rbp, rdx
movaps xmmword [rax - 0x78], xmm9
mov rdi, rcx
movss xmm6, dword [rsi]
mov ebx, 0x100
movaps xmmword [rax - 0x88], xmm10
xorps xmm10, xmm10
comiss xmm6, xmm10
mov dword [rsp + 0x120], r8d
movaps xmmword [rax - 0x98], xmm11
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x60], eax
jbe 0x1400a440c
movsxd r11, dword [rdx + 0x24]
mov r10, qword [rdx + 8]
movsx ecx, bx
movzx eax, byte [r11 + r10 + 7]
movzx r8d, byte [r11 + r10 + 5]
movzx edx, byte [r11 + r10 + 6]
imul edx, ecx
movsx ecx, bx
add dx, ax
movzx eax, byte [r11 + r10 + 4]
imul eax, ecx
movsx r9d, dx
add ax, r8w
mov r8d, dword [rsp + 0x120]
cwde
sub eax, r9d
movd xmm0, eax
jmp 0x1400a442e
movsxd rdx, dword [rdx + 0x1c]
mov rax, qword [rbp + 8]
xorps xmm6, xmmword [0x1402142e0]
movzx ecx, byte [rdx + rax + 0x12]
movzx eax, byte [rdx + rax + 0x13]
shl ecx, 8
add ecx, eax
movd xmm0, ecx
movzx edx, byte [rsi + 0x20]
xor r9d, r9d
movss xmm9, dword [0x140213290]
mov dword [rdi + 0x24], edx
movaps xmm11, xmm9
movzx ecx, byte [rsi + 0x21]
mov dword [rdi + 0x28], ecx
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rdx
divss xmm11, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, rcx
divss xmm9, xmm0
test edx, edx
jne 0x1400a4477
xorps xmm8, xmm8
jmp 0x1400a4497
mov eax, 1
movd xmm0, edx
sub eax, edx
cvtdq2ps xmm0, xmm0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
addss xmm0, xmm0
divss xmm8, xmm0
test ecx, ecx
jne 0x1400a44a0
xorps xmm7, xmm7
jmp 0x1400a44bd
mov eax, 1
movd xmm0, ecx
sub eax, ecx
cvtdq2ps xmm0, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
addss xmm0, xmm0
divss xmm7, xmm0
mov r12d, r9d
cmp dword [rsi + 0x10], r9d
jle 0x1400a4803
mov rbx, qword [rsp + 0x140]
mov rcx, r9
mov qword [rsp + 0x70], rcx
add rbx, 8
mov r14, r9
cmp dword [rbx + 4], r9d
je 0x1400a47da
movzx r13d, word [rbx - 4]
test r13w, r13w
je 0x1400a47da
movzx eax, word [rbx - 2]
mov word [rsp + 0x138], ax
test ax, ax
je 0x1400a47da
mov rax, qword [rsi + 8]
mov r15, qword [rsi + 0x18]
test rax, rax
jne 0x1400a4524
mov edx, dword [rsi + 4]
add edx, r12d
jmp 0x1400a4527
mov edx, dword [rcx + rax]
mov rcx, rbp
call fcn.1400a0308
movzx ecx, word [rdi + 0x1c]
mov r10d, eax
add word [rbx], cx
sub r13w, cx
add word [rbx + 2], cx
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x138]
sub ax, cx
mov word [rbx - 4], r13w
mov word [rbx - 2], ax
mov r8, qword [rbp + 8]
movsxd rax, dword [rbp + 0x24]
movzx ecx, byte [rax + r8 + 0x23]
movzx eax, byte [rax + r8 + 0x22]
shl eax, 8
add eax, ecx
cmp r10d, eax
jge 0x1400a45a4
movsxd rdx, dword [rbp + 0x28]
lea eax, [r10*4]
cdqe
mov ecx, 0x100
add rax, r8
movsx ecx, cx
movzx r8d, byte [rdx + rax]
movzx eax, byte [rdx + rax + 1]
imul r8d, ecx
add r8w, ax
jmp 0x1400a45cb
movsxd r9, dword [rbp + 0x28]
shl eax, 2
mov ecx, eax
add r8, rcx
mov ecx, 0x100
movsx ecx, cx
movzx edx, byte [r9 + r8 - 4]
movzx r8d, byte [r9 + r8 - 3]
imul edx, ecx
add r8w, dx
mov eax, dword [rdi + 0x28]
xorps xmm3, xmm3
xorps xmm2, xmm2
movsx r13d, r8w
mov edx, r10d
mov rcx, rbp
cvtsi2ss xmm3, rax
mov eax, dword [rdi + 0x24]
cvtsi2ss xmm2, rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x54]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm10
mulss xmm3, xmm6
mulss xmm2, xmm6
movss dword [rsp + 0x20], xmm10
call fcn.1400a2214
mov eax, dword [rdi + 0x28]
xorps xmm1, xmm1
mov ecx, dword [rdi + 0x24]
xorps xmm0, xmm0
mov r10d, dword [rdi + 0x18]
movzx r9d, word [rbx - 2]
movzx r8d, word [rbx - 4]
sub r9d, eax
cvtsi2ss xmm1, rax
movzx eax, word [rbx + 2]
sub r8d, ecx
inc r9d
inc r8d
imul eax, r10d
cvtsi2ss xmm0, rcx
mov rcx, rbp
movsxd rdx, eax
mulss xmm1, xmm6
movzx eax, word [rbx]
add rdx, rax
mulss xmm0, xmm6
mov eax, dword [rsp + 0x58]
add rdx, qword [rdi + 0x30]
mov dword [rsp + 0x48], eax
movss dword [rsp + 0x40], xmm10
movss dword [rsp + 0x38], xmm10
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r10d
call fcn.1400a3c88
mov r10d, dword [rdi + 0x24]
cmp r10d, 1
jbe 0x1400a46e0
movzx eax, word [rbx + 2]
mov r9d, dword [rdi + 0x18]
movzx r8d, word [rbx - 2]
movzx edx, word [rbx - 4]
imul eax, r9d
mov dword [rsp + 0x20], r10d
movsxd rcx, eax
movzx eax, word [rbx]
add rcx, rax
add rcx, qword [rdi + 0x30]
call fcn.1400a3e74
mov r10d, dword [rdi + 0x28]
cmp r10d, 1
jbe 0x1400a4716
movzx eax, word [rbx + 2]
mov r9d, dword [rdi + 0x18]
movzx r8d, word [rbx - 2]
movzx edx, word [rbx - 4]
imul eax, r9d
mov dword [rsp + 0x20], r10d
movsxd rcx, eax
movzx eax, word [rbx]
add rcx, rax
add rcx, qword [rdi + 0x30]
call fcn.1400a40e8
movzx eax, word [rbx]
movd xmm1, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x120]
mov word [r14 + r15], ax
movzx eax, word [rbx + 2]
mov word [r14 + r15 + 2], ax
movzx eax, word [rbx - 4]
add ax, word [rbx]
mov word [r14 + r15 + 4], ax
movzx eax, word [rbx + 2]
add ax, word [rbx - 2]
mov word [r14 + r15 + 6], ax
cvtdq2ps xmm1, xmm1
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm11
mulss xmm0, xmm6
addss xmm1, xmm8
movss dword [r14 + r15 + 0x10], xmm0
movd xmm0, dword [rsp + 0x54]
cvtdq2ps xmm0, xmm0
movss dword [r14 + r15 + 8], xmm1
mulss xmm0, xmm9
addss xmm0, xmm7
movss dword [r14 + r15 + 0xc], xmm0
movzx eax, word [rbx - 4]
add eax, dword [rsp + 0x50]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm11
addss xmm0, xmm8
movss dword [r14 + r15 + 0x14], xmm0
movzx eax, word [rbx - 2]
add eax, dword [rsp + 0x54]
xor r9d, r9d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm9
addss xmm0, xmm7
movss dword [r14 + r15 + 0x18], xmm0
jmp 0x1400a47e5
mov r8d, r9d
mov dword [rsp + 0x120], r9d
add rcx, 4
add rbx, 0x10
inc r12d
mov qword [rsp + 0x70], rcx
add r14, 0x1c
cmp r12d, dword [rsi + 0x10]
jl 0x1400a44e1
mov eax, dword [rsp + 0x5c]
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov dword [rdi + 0x24], eax
mov eax, dword [rsp + 0x60]
mov dword [rdi + 0x28], eax
mov eax, r8d
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret