Function at 0x1800ddce0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
lea eax, [rdx - 0x3000]
cmp ax, 0x15
ja 0x1800ddd3e
lea rax, [0x1801b24b0]
xor r8d, r8d
lea r9, [0x1801b2546]
nop
cmp word [rax], dx
je 0x1800dde69
cmp word [rax + 2], dx
je 0x1800dde54
cmp word [rax + 4], dx
je 0x1800dde59
cmp word [rax + 6], dx
je 0x1800dde5f
cmp word [rax + 8], dx
je 0x1800dde65
add r8, 5
add rax, 0xa
cmp rax, r9
jne 0x1800ddd00
xor r9d, r9d
lea r10, [0x1801b25fa]
lea r11, [0x1801b2696]
nop
movzx eax, word [r10 + r9*2]
movzx esi, word [r10 + r9*2 + 2]
sub esi, eax
mov r8d, edx
sub r8w, word [r11 + r9*2]
cmp r8w, si
jb 0x1800ddd92
cmp r9, 0x4c
je 0x1800dddc0
movzx eax, word [r10 + r9*2 + 2]
movzx esi, word [r10 + r9*2 + 4]
mov r8d, edx
sub r8w, word [r11 + r9*2 + 2]
add r9, 2
sub esi, eax
cmp r8w, si
jae 0x1800ddd50
add r8d, eax
movzx eax, r8w
shr eax, 1
imul edx, eax, 0xae4d
shr edx, 0x15
lea eax, [rdx + 0xa3]
imul edx, edx, 0x5e
sub r8d, edx
add r8d, 0xa1
movzx r8d, r8w
jmp case.0x1800dde01.230
lea eax, [rdx - 0xaa]
movzx eax, ax
cmp eax, 0xbd
ja 0x1800dde11
movzx r9d, dx
add r9d, 0xffffff56
cmp r9d, 0xbd
ja case.0x1800dde01.171
mov r8d, 0xa1
mov eax, 0xa9
lea r10, [0x1801c0250]
movsxd r9, dword [r10 + r9*4]
add r9, r10
jmp r9
mov r8d, 0xa3
mov eax, 0xa8
jmp case.0x1800dde01.230
lea eax, [rdx - 0x2500]
cmp ax, 0x4b
ja case.0x1800dde01.171
movzx r8d, dx
mov eax, 0xa6
add r8d, 0xffffdb00
cmp r8d, 0x4b
ja case.0x1800dde49.9476
lea r9, [0x1801c0120]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov r8d, 0xa1
jmp case.0x1800dde01.230
inc r8
jmp 0x1800dde69
add r8, 2
jmp 0x1800dde69
add r8, 3
jmp 0x1800dde69
add r8, 4
add r8, 0xa1
mov eax, 0xa1
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r8
mov eax, 1
mov qword [rcx], rax
pop rsi
ret
mov r8d, 0xac
jmp case.0x1800dde01.230
mov r8d, 0xa2
jmp case.0x1800dde01.230
mov r8d, 0xad
jmp case.0x1800dde01.230
mov r8d, 0xa3
jmp case.0x1800dde01.230
mov r8d, 0xae
jmp case.0x1800dde01.230
mov r8d, 0xa4
jmp case.0x1800dde01.230
mov r8d, 0xaf
jmp case.0x1800dde01.230
mov r8d, 0xa6
jmp case.0x1800dde01.230
mov r8d, 0xa5
jmp case.0x1800dde01.230
mov r8d, 0xb0
jmp case.0x1800dde01.230
mov r8d, 0xa7
jmp case.0x1800dde01.230
mov r8d, 0xa9
jmp case.0x1800dde01.230
mov r8d, 0xaa
jmp case.0x1800dde01.230
mov r8d, 0xab
jmp case.0x1800dde01.230
mov r8d, 0xac
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xa2
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xaa
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xad
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xa4
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xa6
mov eax, 0xa8
jmp case.0x1800dde01.230
mov eax, 0xa8
mov r8d, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xa9
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xaf
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xab
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xae
mov eax, 0xa8
jmp case.0x1800dde01.230
mov r8d, 0xc8
jmp case.0x1800dde01.230
mov r8d, 0xc7
jmp case.0x1800dde01.230
mov r8d, 0xc2
jmp case.0x1800dde01.230
mov r8d, 0xc1
jmp case.0x1800dde01.230
mov r8d, 0xc6
jmp case.0x1800dde01.230
mov r8d, 0xc5
jmp case.0x1800dde01.230
mov r8d, 0xb1
jmp case.0x1800dde01.230
mov r8d, 0xc4
jmp case.0x1800dde01.230
mov r8d, 0xc3
jmp case.0x1800dde01.230
mov r8d, 0xbc
jmp case.0x1800dde01.230
mov r8d, 0xc9
jmp case.0x1800dde01.230
mov r8d, 0xca
jmp case.0x1800dde01.230
mov r8d, 0xb7
jmp case.0x1800dde01.230
mov r8d, 0xcb
jmp case.0x1800dde01.230
mov r8d, 0xcc
jmp case.0x1800dde01.230
mov r8d, 0xb2
jmp case.0x1800dde01.230
mov r8d, 0xbe
jmp case.0x1800dde01.230
mov r8d, 0xcd
jmp case.0x1800dde01.230
mov r8d, 0xce
jmp case.0x1800dde01.230
mov r8d, 0xb9
jmp case.0x1800dde01.230
mov r8d, 0xcf
jmp case.0x1800dde01.230
mov r8d, 0xd0
jmp case.0x1800dde01.230
mov r8d, 0xb4
jmp case.0x1800dde01.230
mov r8d, 0xd1
jmp case.0x1800dde01.230
mov r8d, 0xd2
jmp case.0x1800dde01.230
mov r8d, 0xb8
jmp case.0x1800dde01.230
mov r8d, 0xbd
jmp case.0x1800dde01.230
mov r8d, 0xd3
jmp case.0x1800dde01.230
mov r8d, 0xd4
jmp case.0x1800dde01.230
mov r8d, 0xb3
jmp case.0x1800dde01.230
mov r8d, 0xd5
jmp case.0x1800dde01.230
mov r8d, 0xd6
jmp case.0x1800dde01.230
mov r8d, 0xba
jmp case.0x1800dde01.230
mov r8d, 0xbf
jmp case.0x1800dde01.230
mov r8d, 0xd7
jmp case.0x1800dde01.230
mov r8d, 0xd8
jmp case.0x1800dde01.230
mov r8d, 0xb5
jmp case.0x1800dde01.230
mov r8d, 0xd9
jmp case.0x1800dde01.230
mov r8d, 0xda
jmp case.0x1800dde01.230
mov r8d, 0xbb
jmp case.0x1800dde01.230
mov r8d, 0xdb
jmp case.0x1800dde01.230
mov r8d, 0xdc
jmp case.0x1800dde01.230
mov r8d, 0xc0
jmp case.0x1800dde01.230
mov r8d, 0xdd
jmp case.0x1800dde01.230
mov r8d, 0xde
jmp case.0x1800dde01.230
mov r8d, 0xdf
jmp case.0x1800dde01.230
mov r8d, 0xe0
jmp case.0x1800dde01.230
mov r8d, 0xb6
jmp case.0x1800dde01.230
lea r8d, [rdx - 0x2547]
cmp r8w, 4
jae case.0x1800dde01.171
movzx r8d, r8w
add r8, 0xe1
jmp case.0x1800dde01.230
movd xmm0, edx
pshuflw xmm0, xmm0, 0
paddw xmm0, xmmword [0x1801bfe70]
pxor xmm0, xmmword [0x1801bfe80]
movdqa xmm1, xmmword [0x1801bfe90]
pcmpgtw xmm1, xmm0
punpcklwd xmm1, xmm1
movmskps eax, xmm1
test eax, eax
jne 0x1800de21b
lea eax, [rdx - 0x2c7]
cmp ax, 0x16
jbe 0x1800de21b
xor eax, eax
mov qword [rcx], rax
pop rsi
ret
xor eax, eax
lea r8, [0x1801b24b0]
lea r10, [0x1801b25fa]
xor r9d, r9d
cmp word [r8 + r9*2 + 6], dx
je 0x1800de28e
lea r11, [r8 + r9*2]
add r11, 6
cmp word [r11 + 2], dx
je 0x1800de273
cmp word [r11 + 4], dx
je 0x1800de278
cmp word [r11 + 6], dx
je 0x1800de27e
cmp word [r11 + 8], dx
je 0x1800de284
cmp word [r11 + 0xa], dx
je 0x1800de28a
add r9, 6
add r11, 0xc
cmp r11, r10
jne 0x1800de22e
jmp 0x1800dde82
inc r9
jmp 0x1800de28e
add r9, 2
jmp 0x1800de28e
add r9, 3
jmp 0x1800de28e
add r9, 4
jmp 0x1800de28e
add r9, 5
cmp r9, 0x5b
mov eax, 0xa2
sbb rax, 0
lea r8, [r9 + 0x46]
lea rdx, [r9 + 0xa4]
cmp r9, 0x5b
cmovb r8, rdx
jmp case.0x1800dde01.230