Function at 0x140093580
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xf8
mov rax, qword [0x140180518]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov eax, dword [rcx + 8]
xor esi, esi
cmp rax, 2
jb 0x140093884
mov rcx, qword [rcx]
cmp eax, 2
je 0x1400935ca
cmp byte [rcx], 0x30
jne 0x1400935ca
movzx edx, byte [rcx + 1]
and dl, 0xdf
cmp dl, 0x58
sete r8b
jmp 0x1400935cd
xor r8d, r8d
mov r9d, r8d
xor r9b, 1
cmp eax, 1
jne 0x140093611
xor edx, edx
mov r10, rcx
test al, 1
je case.0x140093606.70
movsx r11d, byte [r10]
lea r10d, [r11 - 0x45]
cmp r10d, 0x2b
ja case.default.0x140093606
lea r11, [0x140093a48]
movsxd r10, dword [r11 + r10*4]
add r10, r11
jmp r10
or dl, r9b
jmp case.0x140093606.70
mov r11d, eax
and r11d, 0xfffffffe
xor edx, edx
lea rsi, [0x140093998]
lea rdi, [0x1400938e8]
mov r10, rcx
jmp 0x14009363d
or dl, r9b
add r10, 2
add r11, 0xfffffffffffffffe
je 0x1400935de
movsx ebx, byte [r10]
lea r14d, [rbx - 0x45]
cmp r14d, 0x2b
ja case.default.0x140093652
movsxd rbx, dword [rdi + r14*4]
add rbx, rdi
jmp rbx
or dl, r9b
jmp case.0x140093652.70
or dl, r8b
jmp case.0x140093652.70
cmp ebx, 0x2e
jne case.0x140093652.70
or dl, 1
jmp case.0x140093652.70
or dl, 2
nop dword [rax]
movsx ebx, byte [r10 + 1]
lea r14d, [rbx - 0x45]
cmp r14d, 0x2b
ja case.default.0x140093696
movsxd rbx, dword [rsi + r14*4]
add rbx, rsi
jmp rbx
or dl, r8b
jmp case.0x140093696.70
cmp ebx, 0x2e
jne case.0x140093696.70
or dl, 1
jmp case.0x140093696.70
or dl, 2
jmp case.0x140093696.70
or dl, r8b
jmp case.0x140093606.70
cmp r11d, 0x2e
jne case.0x140093606.70
or dl, 1
jmp case.0x140093606.70
or dl, 2
lea r10, [0x14012bdb0]
mov r11, rax
nop dword [rax]
mov r9, r11
sub r11, 1
jb 0x1400936f3
movzx esi, byte [rcx + r9 - 1]
test byte [r10 + rsi*2], 0x60
jne 0x1400936d0
cmp eax, r9d
jne 0x1400936fb
movzx esi, dl
jmp 0x140093884
xor r9d, r9d
cmp eax, r9d
je 0x1400936eb
test r8b, r8b
je 0x140093724
cmp eax, r9d
jbe 0x140093724
mov r9d, r9d
nop dword [rax + rax]
movzx r8d, byte [rcx + r9]
test byte [r10 + r8*2], 0x18
je 0x140093724
inc r9
cmp eax, r9d
ja 0x140093710
cmp eax, r9d
cmovb r9d, eax
sub rax, r9
add rcx, r9
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0xec], 0
movzx esi, dl
mov edi, esi
or edi, 2
lea rax, [0x14015a1ab]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], 1
lea rax, [0x14016096d]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 1
lea rax, [0x14015b89c]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 2
lea rax, [0x14015b15d]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], 2
lea rax, [0x14015b8b8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 2
lea rax, [0x14015bbf0]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
lea rax, [0x14015cd2f]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 3
lea rax, [0x14015e797]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov dword [rsp + 0x48], edi
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x68]
lea r9, [rsp + 0x78]
call fcn.140093b00
cmp byte [rax + 0x14], 0
je 0x1400938a3
mov esi, dword [rax + 0x10]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401213e0
mov eax, esi
add rsp, 0xf8
pop rbx
pop rdi
pop rsi
pop r14
ret
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
cmp rdx, 1
je 0x1400938ce
cmp rdx, 2
jne 0x140093884
movzx edx, word [rcx]
cmp edx, 0x6c69
je 0x1400938d3
movzx ecx, word [rcx]
cmp ecx, 0x6669
jne 0x140093884
jmp 0x1400938d3
cmp byte [rcx], 0x69
jne 0x140093884
mov ecx, edi
movabs rdx, 0x100000000
or rdx, rcx
mov qword [rax + 0x10], rdx
jmp 0x140093881