Function at 0x14000a960
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x60
movzx r10d, r8w
mov r8d, r10d
and r8d, 0x3f
mov edi, r10d
shr edi, 6
and edi, 0x3f
mov r14d, r10d
shr r14d, 0xc
movzx eax, byte [rdx + r8 - 0x60]
cmp r10d, 0x7000
jb 0x14000a9c7
lea r10d, [r14 - 7]
cmp r10d, 4
jae 0x14000a9c7
lea eax, [r14 - 6]
mov r10d, r10d
lea r11, [0x140057c18]
mov r10, qword [r11 + r10*8 + 8]
movsd xmm0, qword [r10 + 0x20]
subsd xmm0, qword [0x140070d58]
jmp 0x14000a9f5
and eax, 7
cmp r14d, 5
jne 0x14000a9da
movsd xmm0, qword [0x140070d58]
jmp 0x14000a9f5
movzx r10d, byte [rdx + rdi - 0x60]
and r10d, 7
lea r11, [0x140057c18]
mov r10, qword [r11 + r10*8]
movsd xmm0, qword [r10 + 0x20]
cvttsd2si r10d, xmm0
sub r10d, r9d
js 0x14000ad8d
mov eax, eax
lea r9, [0x140057c18]
mov rax, qword [r9 + rax*8]
xorps xmm0, xmm0
cvtsi2sd xmm0, r10d
subsd xmm0, qword [rax + 0x20]
cvttsd2si esi, xmm0
mov al, 1
test esi, esi
jns 0x14000adb4
mov byte [rsp + 4], cl
mov rax, qword [rdx - 0xa0]
mov rbx, qword [rdx - 0x98]
mov r11, rbx
mov qword [rsp + 8], rax
or r11, rax
mov rax, r11
btc rax, r8
movzx edi, di
bts rax, rdi
cmp r14d, 5
jne 0x14000aa64
movzx ecx, byte [rdx - 0x20]
btc rax, rcx
lea rcx, [0x140058930]
mov r14, qword [rcx + rdi*8]
mov r15, r14
and r15, r11
lea rcx, [0x140058d30]
mov rcx, qword [rcx + rdi*8]
mov qword [rsp + 0x50], rcx
imul r15, rcx
mov qword [rsp + 0x58], r14
not r14
mov r8, r14
shr r8, 1
movabs rcx, 0x5555555555555555
and r8, rcx
sub r14, r8
movabs r9, 0x3333333333333333
mov r8, r14
and r8, r9
shr r14, 2
and r14, r9
add r14, r8
mov r8, r14
shr r8, 4
add r8, r14
movabs r14, 0xf0f0f0f0f0f0f0f
and r8, r14
lea r12, [0x140058b30]
mov r10, qword [r12 + rdi*8]
mov r12, r10
not r12
mov r13, r12
shr r13, 1
and r13, rcx
movabs rbp, 0x101010101010101
imul r8, rbp
shr r8, 0x38
mov ecx, r8d
shr r15, cl
mov qword [rsp + 0x48], r10
and r11, r10
sub r12, r13
mov rcx, r12
and rcx, r9
shr r12, 2
and r12, r9
lea r9, [0x140058f30]
mov r9, qword [r9 + rdi*8]
mov qword [rsp + 0x40], r9
imul r11, r9
add r12, rcx
mov r9, r12
shr r9, 4
add r9, r12
and r9, r14
imul r9, rbp
shr r9, 0x38
mov ecx, r9d
shr r11, cl
lea rcx, [0x1400576e0]
mov r12, qword [rdx - 0x90]
mov r14, qword [rcx + rdi*8]
and r14, r12
and r14, rbx
mov rbx, qword [rdx - 0x88]
mov rcx, qword [rcx + rdi*8 + 0x200]
and rcx, r12
and rcx, qword [rsp + 8]
or rcx, r14
lea r10, [0x1400562e0]
mov r10, qword [r10 + rdi*8]
mov qword [rsp + 0x28], rbx
and r10, rbx
or r10, rcx
mov rcx, rdi
shl rcx, 0xf
lea rbx, [0x1400e3000]
add rbx, rcx
lea rcx, [0x1400564e0]
mov rbp, qword [rdx - 0x68]
and rbp, qword [rcx + rdi*8]
mov r13, qword [rdx - 0x70]
mov rcx, qword [rdx - 0x78]
mov r14, r13
mov qword [rsp + 0x18], rcx
or r14, rcx
mov qword [rsp + 8], rbx
mov rcx, qword [rbx + r15*8]
mov qword [rsp + 0x38], r14
and rcx, r14
or rcx, r10
mov r10, rdi
shl r10, 0xc
lea rdi, [0x1400a3000]
add rdi, r10
mov r10, qword [rdx - 0x80]
mov qword [rsp + 0x10], r13
mov qword [rsp + 0x20], r10
or r13, r10
mov qword [rsp + 0x30], rdi
mov r10, qword [rdi + r11*8]
and r10, r13
or rbp, r10
or rbp, rcx
movzx r10d, byte [rsp + 4]
mov ecx, 1
mov dword [rsp + 4], r10d
sub ecx, r10d
and rbp, rax
jmp 0x14000ac61
and rbp, rax
not esi
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
mov ecx, 1
lea r10, [0x140057c18]
mov r10, qword [r10 + r14*8]
subsd xmm0, qword [r10 + 0x20]
sub ecx, r11d
cvttsd2si esi, xmm0
test esi, esi
jns 0x14000ad91
mov r11d, ecx
movsxd rcx, ecx
mov rdi, qword [rdx + rcx*8 - 0xa0]
test rdi, rbp
je 0x14000adaa
mov r14, rdi
and r14, r12
xor ebx, ebx
mov r15d, 0
mov r10d, 0
test r14, rbp
jne 0x14000ace5
mov r10, rdi
and r10, qword [rsp + 0x28]
test r10, rbp
je 0x14000aca6
mov r10d, 1
jmp 0x14000ace0
mov r10, rdi
and r10, qword [rsp + 0x20]
test r10, rbp
je 0x14000acbb
mov r10d, 2
jmp 0x14000ace0
mov r10, rdi
and r10, qword [rsp + 0x18]
test r10, rbp
je 0x14000ad63
mov r10d, 3
nop word cs:[rax + rax]
xor ebx, ebx
xor r15d, r15d
mov r14d, r10d
and rdi, qword [rdx + r14*8 - 0x90]
and rdi, rbp
mov rcx, rdi
neg rcx
and rcx, rdi
xor rax, rcx
test bl, bl
jne 0x14000ad09
and r10d, 0xfffffffd
jne 0x14000ad2c
mov r10, qword [rsp + 0x48]
and r10, rax
imul r10, qword [rsp + 0x40]
mov ecx, r9d
shr r10, cl
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + r10*8]
and rcx, r13
or rbp, rcx
lea ecx, [r14 - 3]
cmp ecx, 1
ja 0x14000ac30
mov r10, qword [rsp + 0x58]
and r10, rax
imul r10, qword [rsp + 0x50]
mov ecx, r8d
shr r10, cl
mov rcx, qword [rsp + 8]
mov rcx, qword [rcx + r10*8]
and rcx, qword [rsp + 0x38]
or rbp, rcx
jmp 0x14000ac30
mov r10, rdi
and r10, qword [rsp + 0x10]
test r10, rbp
je 0x14000ad7d
mov r10d, 4
mov bl, 1
jmp 0x14000ace2
mov r10d, 5
mov r15b, 1
xor ebx, ebx
jmp 0x14000ace5
xor eax, eax
jmp 0x14000adb4
test r15b, r15b
je 0x14000ada7
movsxd rax, ecx
test qword [rdx + rax*8 - 0xa0], rbp
cmove r11d, eax
jmp 0x14000adaa
mov r11d, ecx
mov eax, dword [rsp + 4]
cmp r11d, eax
setne al
add rsp, 0x60
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret