Function at 0x140420a01
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
movsx r9d, bx
add si, r14w
mov rdx, qword [rcx]
and r9w, r14w
mov r9, qword [rcx + 0x18]
mov esi, dword [rdx + 4]
imul esi, dword [rdx]
cmc
clc
test r15w, ax
cmp dword [rdx + 0xc], 3
jmp 0x140420a2a
jne 0x140420b6d
test esi, esi
jmp 0x140420a37
je 0x140420e06
lea ecx, [rsi - 1]
stc
cmp ecx, 3
jmp 0x140420a49
jb 0x140420af9
mov ecx, esi
xor dx, 0x254a
sar dx, 0x86
and ecx, 0xfffffffc
test r9w, di
rol dh, 0x2c
nop dword [rax]
dec dh
bsr ax, r10w
movzx edx, byte [r9]
sbb eax, edi
movzx eax, byte [r9 + 2]
stc
cmp r10b, cl
mov byte [r9], al
add ax, 0x5587
mov byte [r9 + 2], dl
movzx eax, byte [r9 + 3]
movzx edx, byte [r9 + 5]
mov byte [r9 + 3], dl
and dx, di
ror dh, cl
cmp ebx, eax
mov byte [r9 + 5], al
movzx eax, byte [r9 + 6]
neg edx
sub dl, r10b
movzx edx, byte [r9 + 8]
jmp 0x140420ab5
mov byte [r9 + 6], dl
shl rdx, cl
rcl dl, 0x2c
test r14, 0x332e6fdc
mov byte [r9 + 8], al
btr dx, 0x5a
movzx eax, byte [r9 + 9]
mov dl, 0x49
cwd
movzx edx, byte [r9 + 0xb]
stc
mov byte [r9 + 9], dl
cmp r15w, bx
stc
clc
mov byte [r9 + 0xb], al
add r9, 0xc
add ecx, 0xfffffffc
jne 0x140420a6e
test sil, 3
jmp 0x140420b02
je 0x140420e06
and esi, 3
rcl rax, 0xfd
mov rax, r11
lea rsi, [rsi + rsi*2]
not al
sub ecx, ecx
adc al, r8b
sub rax, r10
nop word cs:[rax + rax]
sbb ax, 0x1438
movzx edx, byte [r9 + rcx]
ror al, cl
btc ax, r11w
movzx eax, byte [r9 + rcx + 2]
cmp al, r11b
mov byte [r9 + rcx], al
mov byte [r9 + rcx + 2], dl
cmp r8w, 0x3905
add rcx, 3
stc
test r14w, ax
clc
cmp esi, ecx
jne 0x140420b32
jmp 0x140420e06
mov eax, dword [0x1400b9350]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
sal cx, cl
lea rcx, [rax + 0x18]
btr edx, esp
lea rdx, [0x1400b925c]
cmp byte [rax + 0x1c], 0
jmp 0x140420ba0
cmovne rdx, rcx
clc
cmp dword [rdx], 0
je 0x140420cd8
test esi, esi
jmp 0x140420bb5
je 0x140420e06
mov r8d, esi
cmp al, 0xf3
test bpl, 0x69
sub ecx, ecx
jmp 0x140420bcb
jmp 0x140420bfc
movzx edx, byte [r9 + rcx*4 + 2]
jmp 0x140420bdb
mov byte [r9 + rcx*4], dl
mov byte [r9 + rcx*4 + 2], al
jmp 0x140420be9
inc rcx
cmp r14d, 0x4020cb0
cmp r8d, ecx
je 0x140420e06
movzx r10d, byte [r9 + rcx*4 + 3]
movzx eax, byte [r9 + rcx*4]
stc
test al, bh
test r10d, r10d
jmp 0x140420c12
je 0x140420bd0
movzx esi, al
cqo
sar r11, 0x98
shr ah, 0xa
mov r11d, r10d
cqo
btc rax, rdx
shl edx, 0xd7
shr r11d, 1
movzx edx, byte [r9 + rcx*4 + 2]
mov eax, edx
cmc
shl eax, 8
jmp 0x140420c44
sub eax, edx
cmp sp, 0x515a
add eax, r11d
sub edx, edx
clc
cmp si, 0x5034
div r10w
or dh, 0x5a
mov byte [r9 + rcx*4], al
movzx edx, byte [r9 + rcx*4 + 1]
mov eax, edx
test r9, 0x6e502690
shl eax, 8
cmp bl, 0xe7
sub eax, edx
stc
test sil, bl
jmp 0x140420c81
add eax, r11d
cmc
clc
sub edx, edx
stc
div r10w
cmc
cmp bpl, r14b
mov byte [r9 + rcx*4 + 1], al
btc rax, r10
mov eax, esi
clc
cmp r14d, 0x364608b7
shl eax, 8
sub eax, esi
test r8w, si
add eax, r11d
cmp r15b, 0x6a
xor edx, edx
cmp si, bp
test r8w, 0x701f
stc
div r10w
jmp 0x140420cc9
mov byte [r9 + rcx*4 + 2], al
jmp 0x140420cd3
jmp 0x140420be9
test esi, esi
je 0x140420e06
lea eax, [rsi - 1]
cmp eax, 3
jmp 0x140420ceb
jb 0x140420da2
mov ecx, esi
bt rax, r13
cmp r8b, dl
bt ax, 0xc1
and ecx, 0xfffffffc
nop word cs:[rax + rax]
movzx eax, byte [r9]
or dl, spl
movsx rdx, r12w
movzx edx, byte [r9 + 2]
stc
cmp r14b, 0x62
test r9b, r14b
mov byte [r9], dl
cdq
clc
mov byte [r9 + 2], al
shrd ax, r15w, 0xfd
shl rdx, cl
movzx eax, byte [r9 + 4]
movzx edx, byte [r9 + 6]
jmp 0x140420d49
mov byte [r9 + 4], dl
neg dx
shr dl, cl
bsr dx, bx
mov byte [r9 + 6], al
clc
movzx eax, byte [r9 + 8]
rol dh, 0x6f
movzx edx, byte [r9 + 0xa]
mov byte [r9 + 8], dl
not dx
mov byte [r9 + 0xa], al
movzx eax, byte [r9 + 0xc]
mov dh, 0x72
stc
movzx edx, byte [r9 + 0xe]
test sp, ax
mov byte [r9 + 0xc], dl
test spl, bl
mov byte [r9 + 0xe], al
add r9, 0x10
clc
add ecx, 0xfffffffc
jmp 0x140420d9c
jne 0x140420d0d
test sil, 3
jmp 0x140420dab
je 0x140420e06
and esi, 3
movzx ax, sil
bsr dx, r13w
stc
xor ecx, ecx
movzx rax, bp
cdqe
nop word [rax + rax]
movzx eax, byte [r9 + rcx*4]
movzx edx, byte [r9 + rcx*4 + 2]
jmp 0x140420ddd
mov byte [r9 + rcx*4], dl
jmp 0x140420de6
mov byte [r9 + rcx*4 + 2], al
jmp 0x140420df0
inc rcx
cmc
jmp 0x140420df9
cmp esi, ecx
jmp 0x140420e00
jne 0x140420dcd
pop rsi
jmp 0x140420e0c
ret