Function at 0x140092670
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [rcx]
xor r14d, r14d
mov rbx, qword [rcx + 0x18]
mov r13, r8
mov rbp, rdx
mov qword [rsp + 0x30], r14
mov r15, rcx
mov esi, r14d
mov r10, qword [rax]
mov r12d, r14d
mov r11, qword [r10]
mov qword [rsp + 0x38], r11
cmp byte [r11 + 0x51], r14b
je 0x1400926ca
lea eax, [r14 + 7]
jmp 0x140092e3c
test byte [rbx + 0x28], 0x20
mov qword [rsp + 0x120], rdi
je 0x1400926df
mov ecx, 0x18
jmp 0x1400926f5
cmp dword [r8 + 0x50], esi
jle 0x1400926f0
test byte [rdx + 0x3c], 8
mov ecx, 0xbf
je 0x1400926f5
mov ecx, 0x3f
mov eax, dword [r8 + 0x5c]
mov r9d, ecx
mov r8, qword [r8 + 8]
and r9d, 0xffffffc3
mov r10d, dword [rdx + 0x48]
and al, 4
movzx eax, word [rbx + 0x18]
cmove r9d, ecx
movsx rdi, word [r8 + rax*2]
mov rax, qword [r15 + 8]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
test edi, edi
js 0x140092776
mov rcx, qword [r13 + 0x18]
lea rdx, [rdi + rdi*2]
add rdx, rdx
mov rax, qword [rcx + 8]
movzx ecx, byte [rax + rdx*8 + 0x29]
movsx eax, word [r8]
mov byte [rsp + 0x68], cl
mov ecx, r14d
cmp eax, edi
je 0x140092764
movzx edx, word [r13 + 0x58]
cmp ecx, edx
jg 0x1400927ac
movsx eax, word [r8 + 2]
add r8, 2
inc ecx
cmp eax, edi
jne 0x140092751
mov rax, qword [r13 + 0x40]
movsxd rcx, ecx
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x60], rcx
jmp 0x140092780
mov byte [rsp + 0x68], sil
mov qword [rsp + 0x60], r14
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x6c], r9d
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x74], r10d
mov dword [rsp + 0x78], edi
mov word [rsp + 0x69], 0x202
call fcn.14008c5e0
mov r11, qword [rsp + 0x38]
mov r14, rax
movzx eax, word [rbx + 0x2e]
xor edx, edx
movzx r8d, word [rbx + 0x18]
movzx r9d, word [rbx + 0x2c]
mov r10d, dword [rbx + 0x28]
mov word [rsp + 0x2a], ax
mov rax, qword [rbx]
mov qword [rsp + 0x40], rax
movzx eax, word [rbx + 0x16]
mov word [rsp + 0x20], ax
mov word [rbx + 0x12], dx
mov rax, qword [r13 + 0x10]
mov word [rsp + 0x22], r8w
mov word [rsp + 0x24], r9w
mov dword [rsp + 0x2c], r10d
movzx eax, word [rax]
movzx ecx, ax
mov word [rsp + 0x28], ax
call fcn.14008e1c0
mov word [rsp + 0x26], ax
mov ecx, 0x80
mov qword [rsp + 0x48], rdi
nop
test r14, r14
je 0x140092d45
movzx r15d, word [r14 + 0x1a]
cmp r15w, cx
jne 0x140092847
test rdi, rdi
js 0x140092cf2
mov rax, qword [rbp + 0x20]
lea rcx, [rdi + rdi*2]
add rcx, rcx
mov rax, qword [rax + 8]
cmp byte [rax + rcx*8 + 0x28], 0
jne 0x140092cf2
mov rax, qword [rbx + 8]
test qword [r14 + 0x28], rax
jne 0x140092cf2
mov word [rbx + 0x18], r8w
mov rdx, rbx
movzx r8d, r9w
mov rcx, r11
inc r8d
mov dword [rbx + 0x28], r10d
mov word [rbx + 0x2c], r9w
call fcn.140091ee0
test eax, eax
jne 0x140092d2c
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], r14
movzx r8d, word [rbx + 0x2c]
mov rax, qword [rbx + 8]
inc r8w
mov word [rbx + 0x2c], r8w
not rax
mov rcx, qword [r14 + 0x28]
or rcx, qword [rsp + 0x40]
and rcx, rax
mov qword [rbx], rcx
test r15b, 1
je 0x140092996
mov rax, qword [r14]
or dword [rbx + 0x28], 4
test dword [rax + 4], 0x800
je 0x1400928d9
mov rcx, qword [rsp + 0x30]
mov ebp, 0x2e
xor r10d, r10d
jmp 0x140092a56
mov rcx, qword [rax + 0x20]
xor edx, edx
mov ebp, edx
test rcx, rcx
je 0x140092989
movsxd rax, dword [rcx]
test eax, eax
je 0x140092989
lea ecx, [rdx + 0x28]
cmp rax, 8
jae 0x14009292f
cmp rax, 2
jae 0x140092920
mov rcx, qword [rsp + 0x30]
movzx eax, dx
movzx ebp, dx
xor r10d, r10d
jmp 0x140092a56
add cx, 0xfff6
add rax, rax
cmp rax, 8
jb 0x140092920
jmp 0x14009296d
cmp rax, 0xff
jbe 0x140092950
nop word [rax + rax]
add cx, 0x28
shr rax, 4
cmp rax, 0xff
ja 0x140092940
cmp rax, 0xf
jbe 0x14009296d
nop word [rax + rax]
add cx, 0xa
shr rax, 1
cmp rax, 0xf
ja 0x140092960
and eax, 7
lea rdx, [0x140000000]
movzx eax, word [rdx + rax*2 + 0x1233c0]
sub ax, 0xa
add ax, cx
movzx ebp, ax
mov rcx, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x140092a56
mov edx, dword [rbx + 0x28]
test r15b, 2
je 0x1400929f6
mov r8d, edx
or r8d, 1
mov dword [rbx + 0x28], r8d
test rdi, rdi
js 0x1400929e3
cmp word [rsp + 0x128], 0
jne 0x1400929ec
movzx ecx, word [r13 + 0x56]
movzx eax, word [rbx + 0x18]
dec ecx
cmp eax, ecx
jne 0x1400929ec
cmp byte [r13 + 0x5a], 0
jne 0x1400929e3
mov rcx, qword [rsp + 0x30]
bts r8d, 0x10
mov dword [rbx + 0x28], r8d
xor r10d, r10d
jmp 0x140092a52
or edx, 0x1001
mov dword [rbx + 0x28], edx
mov rcx, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x140092a52
test r15b, r15b
jns 0x140092a0b
mov rcx, qword [rsp + 0x30]
or edx, 8
mov dword [rbx + 0x28], edx
xor r10d, r10d
jmp 0x140092a52
test r15b, 0x24
je 0x140092a27
or edx, 0x22
mov r12, r14
xor r10d, r10d
mov dword [rbx + 0x28], edx
mov ecx, r10d
mov qword [rsp + 0x30], rcx
jmp 0x140092a52
or edx, 0x12
xor r10d, r10d
mov dword [rbx + 0x28], edx
mov rcx, r14
mov qword [rsp + 0x30], rcx
test dl, 0x20
je 0x140092a4f
mov rax, qword [rbx + 0x38]
movzx ecx, r8w
mov r12, qword [rax + rcx*8 - 0x10]
mov rcx, r14
jmp 0x140092a52
mov r12, r10
movzx ebp, r10w
mov r9d, dword [rbx + 0x28]
test r9b, 2
je 0x140092af2
movsx edx, word [rbx + 0x16]
mov r8d, edx
test r12, r12
je 0x140092a84
movzx eax, word [r12 + 0x18]
test ax, ax
jg 0x140092a80
add dx, ax
jmp 0x140092a84
add dx, 0xffec
test rcx, rcx
je 0x140092aa0
movzx eax, word [rcx + 0x18]
lea ecx, [rdx + rax]
sub dx, 0x14
test ax, ax
cmovle dx, cx
mov rcx, qword [rsp + 0x30]
test r12, r12
je 0x140092abe
cmp word [r12 + 0x18], 0
jle 0x140092abe
test rcx, rcx
je 0x140092abe
cmp word [rcx + 0x18], 0
jle 0x140092abe
sub dx, 0x14
test r12, r12
mov eax, r10d
setne al
sub r8d, eax
mov eax, r10d
test rcx, rcx
setne al
sub r8d, eax
cmp dx, 0xa
jge 0x140092ae1
mov edx, 0xa
movzx edi, dx
cmp edi, r8d
cmovge di, r8w
mov word [rbx + 0x16], di
jmp 0x140092b47
movzx ecx, word [rbx + 0x18]
inc cx
mov word [rbx + 0x18], cx
movzx eax, word [r14 + 0x18]
test ax, ax
jg 0x140092b19
test rdi, rdi
js 0x140092b19
sub ax, bp
add word [rbx + 0x16], ax
movzx edi, word [rbx + 0x16]
jmp 0x140092b47
mov rax, qword [r13 + 0x10]
movzx ecx, cx
movzx edx, word [rax + rcx*2]
sub dx, word [rax + rcx*2 - 2]
add dx, word [rbx + 0x16]
mov word [rbx + 0x16], dx
movzx eax, dx
movzx edi, dx
test r15b, r15b
jns 0x140092b47
add ax, 0xa
mov word [rbx + 0x16], ax
movzx edi, ax
mov rax, qword [rsp + 0x118]
lea r10, [0x140000000]
movsx r15d, word [rsp + 0x26]
mov rax, qword [rax + 0x20]
movsx ecx, word [rax + 0x46]
movsx eax, word [r13 + 0x54]
imul eax, eax, 0xf
cdq
idiv ecx
add ax, di
movsx edx, ax
inc edx
lea ecx, [rax + 1]
cmp r15w, cx
jl 0x140092bac
lea eax, [rdx + 0x31]
mov ecx, r15d
cmp r15d, eax
jg 0x140092bd3
lea eax, [rdx + 0x1f]
cmp ecx, eax
jle 0x140092b98
lea ecx, [r15 + 1]
jmp 0x140092bd3
sub ecx, edx
movsxd rax, ecx
movzx ecx, byte [rax + r10 + 0x124730]
add cx, r15w
jmp 0x140092bd3
lea eax, [r15 + 0x31]
cmp edx, eax
jg 0x140092bd3
lea eax, [r15 + 0x1f]
cmp edx, eax
jle 0x140092bc1
inc cx
jmp 0x140092bd3
sub edx, r15d
movsxd rax, edx
movzx eax, byte [rax + r10 + 0x124730]
add cx, ax
test r9d, 0x140
jne 0x140092c49
movsx r8d, di
lea r9d, [rdi + 0x10]
add r8d, 0x10
movsx edx, cx
cmp cx, r9w
jl 0x140092c1a
lea eax, [r8 + 0x31]
cmp edx, eax
jg 0x140092c49
lea eax, [r8 + 0x1f]
cmp edx, eax
jle 0x140092c06
inc cx
jmp 0x140092c49
sub edx, r8d
movsxd rax, edx
movzx eax, byte [rax + r10 + 0x124730]
add cx, ax
jmp 0x140092c49
lea eax, [rdx + 0x31]
cmp r8d, eax
jle 0x140092c28
movzx ecx, r9w
jmp 0x140092c49
lea eax, [rdx + 0x1f]
cmp r8d, eax
jle 0x140092c36
lea ecx, [r9 + 1]
jmp 0x140092c49
sub r8d, edx
movsxd rax, r8d
movzx ecx, byte [rax + r10 + 0x124730]
add cx, r9w
movzx r14d, word [rsp + 0x128]
lea eax, [rcx + rbp]
mov r15, qword [rsp + 0x110]
add ax, r14w
movzx r8d, word [rsp + 0x28]
mov rdx, rbx
mov word [rbx + 0x14], ax
lea eax, [rdi + rbp]
add ax, r14w
mov rcx, qword [r15 + 8]
mov word [rbx + 0x16], ax
call fcn.1400924e0
mov rdx, rbx
mov rcx, r15
call fcn.140092280
mov edx, dword [rbx + 0x28]
mov esi, eax
movzx eax, word [rsp + 0x20]
test dl, 2
movzx ecx, ax
cmove cx, di
mov word [rbx + 0x16], cx
test dl, 0x10
jne 0x140092cdf
movzx ecx, word [r13 + 0x58]
cmp word [rbx + 0x18], cx
jae 0x140092cdf
lea r9d, [r14 + rbp]
mov r8, r13
mov rbp, qword [rsp + 0x118]
mov rcx, r15
mov rdx, rbp
call fcn.140092670
movzx eax, word [rsp + 0x20]
mov rdi, qword [rsp + 0x48]
mov word [rbx + 0x16], ax
jmp 0x140092cfa
mov rbp, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x48]
mov word [rbx + 0x16], ax
jmp 0x140092cfa
mov r15, qword [rsp + 0x110]
lea rcx, [rsp + 0x50]
call fcn.14008c5e0
movzx r8d, word [rsp + 0x22]
mov r14, rax
movzx r9d, word [rsp + 0x24]
mov ecx, 0x80
mov r10d, dword [rsp + 0x2c]
mov r11, qword [rsp + 0x38]
test esi, esi
je 0x140092810
jmp 0x140092d45
mov r15, qword [rsp + 0x110]
movzx r8d, word [rsp + 0x22]
movzx r9d, word [rsp + 0x24]
mov r10d, dword [rsp + 0x2c]
movzx r12d, word [rsp + 0x2a]
mov rax, qword [rsp + 0x40]
movzx r14d, word [rsp + 0x20]
mov qword [rbx], rax
mov word [rbx + 0x18], r8w
mov word [rbx + 0x2e], r12w
mov dword [rbx + 0x28], r10d
mov word [rbx + 0x16], r14w
mov word [rbx + 0x2c], r9w
cmp r8w, r12w
jne 0x140092e32
movzx eax, word [r13 + 0x56]
movzx ecx, r8w
inc ecx
cmp ecx, eax
jae 0x140092e32
test byte [r13 + 0x5c], 0x40
jne 0x140092e32
mov rax, qword [r13 + 0x10]
movzx edi, r8w
cmp word [rax + rdi*2 + 2], 0x2a
jl 0x140092e32
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
movzx r8d, r9w
inc r8d
call fcn.140091ee0
mov esi, eax
test eax, eax
jne 0x140092e32
inc word [rbx + 0x18]
xor edx, edx
inc word [rbx + 0x2e]
mov r8, r13
movzx ecx, word [rbx + 0x2c]
mov rax, qword [rbx + 0x38]
mov qword [rax + rcx*8], rdx
mov rdx, rbp
inc word [rbx + 0x2c]
mov rcx, r15
or dword [rbx + 0x28], 0x8000
mov rax, qword [r13 + 0x10]
movzx r9d, word [rax + rdi*2]
sub r9w, word [rax + rdi*2 + 2]
sub word [rbx + 0x16], r9w
add r9w, 5
add r9w, word [rsp + 0x128]
call fcn.140092670
movzx eax, word [rsp + 0x22]
mov word [rbx + 0x18], ax
mov eax, dword [rsp + 0x2c]
mov dword [rbx + 0x28], eax
mov word [rbx + 0x16], r14w
mov word [rbx + 0x2e], r12w
mov rdi, qword [rsp + 0x120]
mov eax, esi
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret