Function at 0x1400d13d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r10, qword [rsp + 0xa0]
xor r12d, r12d
mov rax, qword [rcx]
mov rdi, r8
mov qword [rsp + 0x30], rax
mov r8, rcx
mov r13d, r12d
test r10, r10
je 0x1400d1561
mov r11d, dword [rsp + 0xb0]
bt r11d, 0x12
jb 0x1400d1561
cmp byte [rdi + 0x52], r12b
jne 0x1400d1561
mov eax, dword [r10]
mov r15d, r12d
mov rcx, qword [r10 + 8]
mov r14d, r12d
movsxd rsi, dword [rsp + 0xa8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
test eax, eax
jle 0x1400d1622
mov ebp, r12d
nop
cmp r14d, dword [rdi + 0x48]
jg 0x1400d160a
mov rbx, qword [rcx]
cmp byte [rbx], 0x98
jne 0x1400d160a
cmp dword [rbx + 0x30], r9d
jne 0x1400d160a
mov rdx, rbx
mov rcx, r8
call fcn.140095bc0
mov r9, rax
test rax, rax
jne 0x1400d149c
mov rax, qword [rsp + 0x30]
mov r9, qword [rax + 0x10]
cmp qword [rdi], r12
je 0x1400d14d3
cmp r14d, dword [rdi + 0x48]
jge 0x1400d14d3
mov rax, qword [rdi + 8]
mov r10d, dword [rax + rbp*4]
mov rax, qword [rdi + 0x18]
cmp r10d, dword [rax + 8]
mov eax, 0xffffffff
cmove r10d, eax
mov rax, qword [rdi + 0x38]
movzx r11d, byte [rax + rbp]
mov rax, qword [rdi + 0x40]
lea rdx, [rax + rbp*8]
jmp 0x1400d14df
mov r10d, 0xffffffff
mov r11d, r12d
mov rdx, r9
movsx eax, word [rbx + 0x34]
mov rdx, qword [rdx]
cmp eax, r10d
jne 0x1400d15cc
mov r9, qword [r9]
lea rbx, [0x1400f8f30]
movzx r8d, byte [r9]
test r8b, r8b
je 0x1400d1534
movzx eax, r8b
sub r9, rdx
nop dword [rax]
movzx ecx, al
movzx r8d, al
movzx eax, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x1400d1534
movzx eax, byte [r9 + rdx + 1]
inc rdx
movzx r8d, al
test al, al
jne 0x1400d1510
movzx eax, r8b
movzx ecx, byte [rax + rbx]
movzx eax, byte [rdx]
movzx eax, byte [rax + rbx]
cmp ecx, eax
jne 0x1400d15cc
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + 0x18]
xor eax, r11d
cmp rbp, rsi
jle 0x1400d157b
cmp eax, r13d
je 0x1400d157e
xor eax, eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r13d, eax
add rcx, 0x20
inc r15d
mov qword [rsp + 0x28], rcx
test r10d, r10d
jns 0x1400d15d6
mov r9d, dword [rsp + 0x98]
mov r8d, r15d
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xa0]
call fcn.1400d1030
test eax, eax
jne 0x1400d15d1
mov rax, qword [rsp + 0xb8]
test r13d, r13d
setne r12b
mov dword [rax], r12d
mov eax, 1
jmp 0x1400d1563
cmp rbp, rsi
jge 0x1400d15f8
mov rcx, qword [rsp + 0x28]
inc r14d
inc rbp
cmp r15d, dword [rsp + 0x20]
jge 0x1400d15b3
mov r9d, dword [rsp + 0x98]
mov r8, qword [rsp + 0x80]
jmp 0x1400d1460
cmp r14d, dword [rdi + 0x48]
jne 0x1400d1561
mov r9d, dword [rsp + 0x98]
mov r11d, dword [rsp + 0xb0]
mov rdx, qword [rsp + 0x88]
mov r10, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb8]
test r13d, r13d
mov eax, r12d
setne al
mov dword [rcx], eax
cmp r15d, dword [rsp + 0x20]
jl 0x1400d1646
mov eax, 1
jmp 0x1400d1563
cmp byte [rdi + 0x50], r12b
je 0x1400d1561
cmp r14d, dword [rdi + 0x48]
jne 0x1400d1561
bt r11d, 0x13
jb 0x1400d1561
mov r8d, r15d
mov rcx, r10
call fcn.1400d1030
test eax, eax
jne 0x1400d1561
mov rax, qword [rdi + 0x18]
movsxd r11, dword [rdi + 0x48]
mov r10, qword [rax + 0x10]
cmp esi, r11d
jge 0x1400d16c2
mov rax, qword [rdi + 8]
mov rdx, rsi
lea r8, [rax + rsi*4]
nop dword [rax]
nop dword [rax + rax]
movsxd rax, dword [r8]
lea rcx, [rax + rax*2]
add rcx, rcx
cmp byte [r10 + rcx*8 + 0x28], r12b
je 0x1400d16bf
inc esi
inc rdx
add r8, 4
cmp rdx, r11
jl 0x1400d16a0
cmp esi, r11d
sete r12b
mov eax, r12d
jmp 0x1400d1563