Function at 0x140023d00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
xor edi, edi
mov r14, rcx
mov word [rbp - 0x19], 0x15ff
mov dword [rbp - 0x17], 2
mov word [rbp - 0x13], 0x8eb
mov word [rbp - 0x39], 0x25ff
mov qword [rbp - 0x11], rdi
mov dword [rbp - 0x37], edi
mov qword [rbp - 0x33], rdi
mov qword [rbp - 0x21], rdi
mov byte [rbp + 0x67], dil
mov r15d, edi
mov r12d, edi
mov qword [rcx + 0x20], rdi
mov qword [rbp - 0x29], 0x25ff0e70
xor r13b, r13b
nop word [rax + rax]
mov rsi, qword [r14]
movzx ebx, r13b
lea rdx, [rbp + 7]
add rbx, rsi
mov rcx, rbx
call fcn.140022f60
mov r9d, dword [rbp + 0x28]
mov r8d, eax
bt r9d, 0xc
jb 0x140024077
movzx r11d, byte [rbp + 7]
mov r10, rbx
cmp r13b, 5
jb 0x140023dbd
mov r8d, SafeArrayDestroy
mov qword [rbp - 0x33], rbx
lea r10, [rbp - 0x39]
lea r12d, [r8 - 0xd]
jmp 0x140023f3c
movzx eax, byte [rbp + 0x14]
and al, 0xc7
cmp al, 5
jne 0x140023e1a
movzx eax, byte [rbp + 0x67]
lea rdi, [rbp - 9]
mov rcx, r8
mov rsi, rbx
mov edx, ebx
lea r10, [rbp - 9]
sub edx, dword [r14 + 0x10]
rep movsb byte [rdi], byte [rsi]
mov ecx, r9d
sub edx, eax
shr rcx, 2
movzx eax, r11b
add edx, dword [rbp + 0x24]
and ecx, 0xf
sub rax, rcx
cmp byte [rbp + 0x12], 0xff
mov dword [rbp + rax - 0xd], edx
jne 0x140023f3c
cmp byte [rbp + 0x16], 4
jne 0x140023f3c
mov r12d, 1
jmp 0x140023f3c
movzx edx, byte [rbp + 0x12]
cmp dl, 0xe8
jne 0x140023e3e
movsxd rax, dword [rbp + 0x1c]
movzx ecx, r11b
lea r10, [rbp - 0x19]
add rax, rbx
add rcx, rax
mov qword [rbp - 0x11], rcx
jmp 0x140023f36
movzx eax, dl
and al, 0xfd
cmp al, 0xe9
jne 0x140023e9b
movsx rax, byte [rbp + 0x1c]
movzx ecx, r11b
add rcx, rbx
cmp dl, 0xeb
je 0x140023e5c
movsxd rax, dword [rbp + 0x1c]
add rcx, rax
cmp rsi, rcx
ja 0x140023e7e
lea rax, [rsi + 5]
cmp rcx, rax
jae 0x140023e7e
cmp r15, rcx
jae 0x140023f3c
mov r15, rcx
jmp 0x140023f3c
cmp rbx, r15
mov r12d, edi
mov qword [rbp - 0x33], rcx
lea r10, [rbp - 0x39]
mov r8d, SafeArrayDestroy
setae r12b
jmp 0x140023f3c
movzx r9d, byte [rbp + 0x13]
movzx ecx, dl
and cl, 0xf0
cmp cl, 0x70
je 0x140023ed2
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
je 0x140023ed2
movzx eax, r9b
and al, 0xf0
cmp al, 0x80
je 0x140023ed2
and dl, 0xfe
cmp dl, 0xc2
jne 0x140023f3c
cmp rbx, r15
mov r12d, edi
setae r12b
jmp 0x140023f3c
movzx edi, r11b
add rdi, rbx
cmp cl, 0x70
je 0x140023eeb
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
movsxd rax, dword [rbp + 0x1c]
jne 0x140023ef0
movsx rax, byte [rbp + 0x1c]
add rdi, rax
cmp rsi, rdi
ja 0x140023f0b
lea rax, [rsi + 5]
cmp rdi, rax
jae 0x140023f0b
cmp r15, rdi
jae 0x140023f3c
mov r15, rdi
jmp 0x140023f3c
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
je 0x140024077
cmp dl, 0xf
movzx ecx, r9b
movzx eax, dl
cmovne ecx, eax
mov qword [rbp - 0x21], rdi
lea r10, [rbp - 0x29]
and cl, 0xf
xor cl, 0x71
mov byte [rbp - 0x29], cl
mov r8d, 0x10
cmp rbx, r15
jae 0x140023f4e
movzx eax, r11b
cmp r8d, eax
jne 0x140024077
movzx ebx, byte [rbp + 0x67]
lea eax, [r8 + rbx]
cmp eax, 0x32
ja 0x140024077
mov eax, dword [r14 + 0x24]
cmp eax, 8
jae 0x140024077
mov byte [rax + r14 + 0x28], r13b
mov eax, dword [r14 + 0x24]
movzx edi, bl
mov byte [rax + r14 + 0x30], bl
add rdi, qword [r14 + 0x10]
inc dword [r14 + 0x24]
add bl, r8b
mov ecx, r8d
mov rsi, r10
add r13b, r11b
rep movsb byte [rdi], byte [rsi]
mov byte [rbp + 0x67], bl
test r12d, r12d
jne 0x140023fa2
xor edi, edi
jmp 0x140023d70
cmp r13b, 5
jae 0x140024046
mov rdi, qword [r14]
movzx r10d, r13b
movzx esi, r13b
add r10, rdi
mov edx, 5
mov rcx, r10
sub edx, esi
call fcn.140023cc0
test eax, eax
jne 0x140024046
cmp r13b, 2
jae 0x140023fea
mov edx, 2
mov rcx, r10
sub edx, esi
call fcn.140023cc0
test eax, eax
je 0x140024077
lea rcx, [rdi - 5]
lea rdx, [rbp + 7]
mov r8d, gethostbyname
call 0x14022728c
int3
mov rcx, qword [r14 + 8]
movzx edx, bl
mov eax, 1
add rdx, qword [r14 + 0x10]
mov qword [rbp - 0x33], rcx
mov ecx, dword [rbp - 0x31]
movsd xmm0, qword [rbp - 0x39]
mov qword [r14 + 0x18], rdx
movsd qword [rdx], xmm0
mov dword [rdx + 8], ecx
movzx ecx, word [rbp - 0x2d]
mov word [rdx + 0xc], cx
jmp 0x140024079
xor eax, eax
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret