Function at 0x14003da20
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov eax, dword [r9]
mov r14, r9
mov r15, r8
mov rsi, rdx
mov rdi, rcx
test eax, eax
jne 0x14003dba8
mov ecx, dword [r9 + 4]
xor ebx, ebx
cmp ecx, 8
jne 0x14003dabc
test rdx, rdx
je 0x14003da7d
nop
movzx eax, byte [rbx + r8]
inc rbx
mov byte [rdi + 2], al
mov byte [rdi + 1], al
mov byte [rdi], al
mov byte [rdi + 3], 0xff
add rdi, 4
cmp rbx, rsi
jne 0x14003da60
cmp dword [r9 + 0x18], 0
je 0x14003de4e
mov rax, rsi
neg rax
lea rcx, [rdi + rax*4]
test rsi, rsi
je 0x14003de4e
nop dword [rax + rax]
movzx eax, byte [rcx]
cmp eax, dword [r9 + 0x1c]
jne 0x14003daad
mov byte [rcx + 3], 0
add rcx, 4
sub rsi, 1
jne 0x14003daa0
jmp 0x14003de4e
cmp ecx, 0x10
jne 0x14003db0f
test rsi, rsi
je 0x14003de4e
inc rdi
nop dword [rax]
movzx eax, byte [r8 + rbx*2]
mov byte [rdi + 1], al
mov byte [rdi], al
mov byte [rdi - 1], al
cmp dword [r9 + 0x18], 0
je 0x14003daf9
movzx ecx, byte [r8 + rbx*2 + 1]
shl eax, 8
add ecx, eax
cmp ecx, dword [r9 + 0x1c]
jne 0x14003daf9
xor al, al
jmp 0x14003dafb
mov al, 0xff
mov byte [rdi + 2], al
inc rbx
add rdi, 4
cmp rbx, rsi
jne 0x14003dad0
jmp 0x14003de4e
mov r11d, 1
mov r10, rbx
shl r11d, cl
dec r11d
test rsi, rsi
je 0x14003de4e
nop word [rax + rax]
mov r9d, dword [r14 + 4]
mov r8d, ebx
test r9, r9
je 0x14003db70
nop dword [rax]
movzx eax, r10b
add r8d, r8d
and al, 7
mov ecx, 7
sub cl, al
mov rax, r10
shr rax, 3
inc r10
movzx edx, byte [rax + r15]
shr dl, cl
and dl, 1
movzx eax, dl
or r8d, eax
sub r9, 1
jne 0x14003db40
imul eax, r8d, 0xff
xor edx, edx
div r11d
mov byte [rdi + 2], al
mov byte [rdi + 1], al
mov byte [rdi], al
cmp dword [r14 + 0x18], ebx
je 0x14003db94
cmp r8d, dword [r14 + 0x1c]
jne 0x14003db94
xor al, al
jmp 0x14003db96
mov al, 0xff
mov byte [rdi + 3], al
add rdi, 4
sub rsi, 1
jne 0x14003db30
jmp 0x14003de4e
cmp eax, 2
jne 0x14003dcb3
cmp dword [r9 + 4], 8
jne 0x14003dc31
test rsi, rsi
je 0x14003dbe3
mov rbx, rsi
mov r8d, 3
mov rdx, r15
mov rcx, rdi
call fcn.14003feb0
mov byte [rdi + 3], 0xff
add r15, 3
add rdi, 4
sub rbx, 1
jne 0x14003dbc0
cmp dword [r14 + 0x18], 0
je 0x14003de4e
mov rax, rsi
neg rax
lea rcx, [rdi + rax*4]
test rsi, rsi
je 0x14003de4e
movzx eax, byte [rcx]
cmp eax, dword [r14 + 0x1c]
jne 0x14003dc22
movzx eax, byte [rcx + 1]
cmp eax, dword [r14 + 0x20]
jne 0x14003dc22
movzx eax, byte [rcx + 2]
cmp eax, dword [r14 + 0x24]
jne 0x14003dc22
mov byte [rcx + 3], 0
add rcx, 4
sub rsi, 1
jne 0x14003dc01
jmp 0x14003de4e
test rsi, rsi
je 0x14003de4e
add rdi, 2
add r15, 4
movzx eax, byte [r15 - 4]
movzx edx, byte [r15 - 2]
movzx r8d, byte [r15]
mov byte [rdi - 2], al
mov byte [rdi - 1], dl
mov byte [rdi], r8b
cmp dword [r9 + 0x18], 0
je 0x14003dc9b
mov ecx, eax
movzx eax, byte [r15 - 3]
shl ecx, 8
add ecx, eax
cmp ecx, dword [r9 + 0x1c]
jne 0x14003dc9b
movzx eax, byte [r15 - 1]
mov ecx, edx
shl ecx, 8
add ecx, eax
cmp ecx, dword [r9 + 0x20]
jne 0x14003dc9b
movzx eax, byte [r15 + 1]
mov ecx, r8d
shl ecx, 8
add ecx, eax
cmp ecx, dword [r9 + 0x24]
jne 0x14003dc9b
xor al, al
jmp 0x14003dc9d
mov al, 0xff
mov byte [rdi + 1], al
add r15, 6
add rdi, 4
sub rsi, 1
jne 0x14003dc42
jmp 0x14003de4e
cmp eax, 3
jne 0x14003dd79
xor ebx, ebx
cmp dword [r9 + 4], 8
jne 0x14003dcfc
test rsi, rsi
je 0x14003de4e
nop
movzx ecx, byte [rbx + r15]
mov r8d, 4
mov rax, qword [r14 + 8]
lea rdx, [rax + rcx*4]
mov rcx, rdi
call fcn.14003feb0
inc rbx
add rdi, 4
cmp rbx, rsi
jne 0x14003dcd0
jmp 0x14003de4e
mov rbp, rbx
test rsi, rsi
je 0x14003de4e
nop dword [rax + rax]
mov r9d, dword [r14 + 4]
mov r8d, ebx
test r9, r9
je 0x14003dd50
nop dword [rax]
movzx eax, bpl
add r8d, r8d
and al, 7
mov ecx, 7
sub cl, al
mov rax, rbp
shr rax, 3
inc rbp
movzx edx, byte [rax + r15]
shr dl, cl
and dl, 1
movzx eax, dl
or r8d, eax
sub r9, 1
jne 0x14003dd20
lea edx, [r8*4]
mov rcx, rdi
add rdx, qword [r14 + 8]
mov r8d, 4
call fcn.14003feb0
add rdi, 4
sub rsi, 1
jne 0x14003dd10
jmp 0x14003de4e
cmp eax, 4
jne 0x14003ddf4
xor ebx, ebx
cmp dword [r9 + 4], 8
jne 0x14003ddba
test rsi, rsi
je 0x14003de4e
inc rdi
movzx eax, byte [r8 + rbx*2]
mov byte [rdi + 1], al
mov byte [rdi], al
mov byte [rdi - 1], al
lea rdi, [rdi + 4]
movzx eax, byte [r8 + rbx*2 + 1]
inc rbx
mov byte [rdi - 2], al
cmp rbx, rsi
jne 0x14003dd93
jmp 0x14003de4e
test rsi, rsi
je 0x14003de4e
inc rdi
nop word [rax + rax]
movzx eax, byte [r8 + rbx*4]
mov byte [rdi + 1], al
mov byte [rdi], al
mov byte [rdi - 1], al
lea rdi, [rdi + 4]
movzx eax, byte [r8 + rbx*4 + 2]
inc rbx
mov byte [rdi - 2], al
cmp rbx, rsi
jne 0x14003ddd0
jmp 0x14003de4e
cmp eax, 6
jne 0x14003de4e
cmp dword [r9 + 4], 8
jne 0x14003de12
lea r8, [rdx*4]
mov rdx, r15
call fcn.14003feb0
jmp 0x14003de4e
test rsi, rsi
je 0x14003de4e
add rdi, 2
add r15, 4
nop
movzx eax, byte [r15 - 4]
lea r15, [r15 + 8]
mov byte [rdi - 2], al
lea rdi, [rdi + 4]
movzx eax, byte [r15 - 0xa]
mov byte [rdi - 5], al
movzx eax, byte [r15 - 8]
mov byte [rdi - 4], al
movzx eax, byte [r15 - 6]
mov byte [rdi - 3], al
sub rsi, 1
jne 0x14003de20
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret