Function at 0x1800a1324
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x180222dbf
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
mov r10, rdx
lea rsi, [0x180000000]
and r10d, 0xf
mov rdi, rdx
sub rdi, r10
mov rbx, rdx
mov r8, rcx
xorps xmm3, xmm3
lea rax, [r10 - 1]
movdqu xmm1, xmmword [rdi]
cmp rax, 0xe
ja case.default.0x1800a1410
mov eax, dword [rsi + rax*4 + 0xa16dc]
add rax, rsi
jmp rax
psrldq xmm1, 1
jmp case.default.0x1800a1410
psrldq xmm1, 2
jmp case.default.0x1800a1410
psrldq xmm1, 3
jmp case.default.0x1800a1410
psrldq xmm1, 4
jmp case.default.0x1800a1410
psrldq xmm1, 5
jmp case.default.0x1800a1410
psrldq xmm1, 6
jmp case.default.0x1800a1410
psrldq xmm1, 7
jmp case.default.0x1800a1410
psrldq xmm1, 8
jmp case.default.0x1800a1410
psrldq xmm1, 9
jmp case.default.0x1800a1410
psrldq xmm1, 0xa
jmp case.default.0x1800a1410
psrldq xmm1, 0xb
jmp case.default.0x1800a1410
psrldq xmm1, 0xc
jmp case.default.0x1800a1410
psrldq xmm1, 0xd
jmp case.default.0x1800a1410
psrldq xmm1, 0xe
jmp case.default.0x1800a1410
psrldq xmm1, 0xf
xorps xmm0, xmm0
mov r9d, 0xf
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
je 0x1800a15c5
bsf edx, eax
test r10, r10
jne 0x1800a14a0
lea r11d, [r9 - 0xe]
jmp 0x1800a14b4
xor r11d, r11d
mov eax, edx
mov ecx, 0x10
sub rcx, r10
cmp rax, rcx
setb r11b
mov eax, r9d
sub eax, edx
cmp eax, r9d
ja case.default.0x1800a14cc
mov ecx, dword [rsi + rax*4 + 0xa1718]
add rcx, rsi
jmp rcx
pslldq xmm1, 1
psrldq xmm1, 1
jmp case.default.0x1800a14cc
pslldq xmm1, 2
psrldq xmm1, 2
jmp case.default.0x1800a14cc
pslldq xmm1, 3
psrldq xmm1, 3
jmp case.default.0x1800a14cc
pslldq xmm1, 4
psrldq xmm1, 4
jmp case.default.0x1800a14cc
pslldq xmm1, 5
psrldq xmm1, 5
jmp case.default.0x1800a14cc
pslldq xmm1, 6
psrldq xmm1, 6
jmp case.default.0x1800a14cc
pslldq xmm1, 7
psrldq xmm1, 7
jmp case.default.0x1800a14cc
pslldq xmm1, 8
psrldq xmm1, 8
jmp case.default.0x1800a14cc
pslldq xmm1, 9
psrldq xmm1, 9
jmp case.default.0x1800a14cc
pslldq xmm1, 0xa
psrldq xmm1, 0xa
jmp case.default.0x1800a14cc
pslldq xmm1, 0xb
psrldq xmm1, 0xb
jmp case.default.0x1800a14cc
pslldq xmm1, 0xc
psrldq xmm1, 0xc
jmp case.default.0x1800a14cc
pslldq xmm1, 0xd
psrldq xmm1, 0xd
jmp case.default.0x1800a14cc
pslldq xmm1, 0xe
psrldq xmm1, 0xe
jmp case.default.0x1800a14cc
pslldq xmm1, 0xf
psrldq xmm1, 0xf
jmp case.default.0x1800a14cc
xorps xmm1, xmm1
test r11d, r11d
jne 0x1800a167c
movdqu xmm2, xmmword [rdi + 0x10]
movdqa xmm0, xmm2
pcmpeqb xmm0, xmm3
pmovmskb eax, xmm0
test eax, eax
jne 0x1800a15e4
mov rdx, rbx
mov rcx, r8
mov rbx, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
pop rdi
jmp 0x1800a1324
test r10, r10
jne 0x1800a159a
cmp byte [rdi + 1], r10b
je 0x1800a167c
mov rbx, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
pop rdi
jmp 0x1800a1324
bsf ecx, eax
mov eax, ecx
sub rax, r10
add rax, 0x10
cmp rax, 0x10
ja 0x1800a15af
sub r9d, ecx
cmp r9d, 0xf
ja case.default.0x1800a160a
mov ecx, dword [rsi + r9*4 + 0xa1758]
add rcx, rsi
jmp rcx
pslldq xmm2, 1
jmp case.default.0x1800a160a
pslldq xmm2, 2
jmp case.default.0x1800a160a
pslldq xmm2, 3
jmp case.default.0x1800a160a
pslldq xmm2, 4
jmp case.default.0x1800a160a
pslldq xmm2, 5
jmp case.default.0x1800a160a
pslldq xmm2, 6
jmp case.default.0x1800a160a
pslldq xmm2, 7
jmp case.default.0x1800a160a
pslldq xmm2, 8
jmp case.default.0x1800a160a
pslldq xmm2, 9
jmp case.default.0x1800a160a
pslldq xmm2, 0xa
jmp case.default.0x1800a160a
pslldq xmm2, 0xb
jmp case.default.0x1800a160a
pslldq xmm2, 0xc
jmp case.default.0x1800a160a
pslldq xmm2, 0xd
jmp case.default.0x1800a160a
pslldq xmm2, 0xe
jmp case.default.0x1800a160a
pslldq xmm2, 0xf
jmp case.default.0x1800a160a
xorps xmm2, xmm2
por xmm1, xmm2
movzx eax, byte [r8]
test al, al
je 0x1800a16bc
nop dword [rax]
nop dword [rax + rax]
movsx eax, al
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklbw xmm0, xmm0
pshufd xmm0, xmm0, 0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
jne 0x1800a16ca
movzx eax, byte [r8 + 1]
inc r8
test al, al
jne 0x1800a1690
xor eax, eax
mov rbx, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
pop rdi
ret
mov rbx, qword [rsp + 0x10]
mov rax, r8
mov rsi, qword [rsp + 0x18]
pop rdi
ret