Function at 0x140093d70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov rsi, rdx
mov qword [rbp + 0x10], rcx
mov rcx, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
mov qword [rbp + 0x28], r8
call fcn.140093700
mov rcx, rax
mov r9, qword [rsi]
mov qword [rbp + 0x18], rsi
mov rdx, qword [rsi + 8]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor eax, eax
mov qword [rbp + 8], rax
pcmpeqd xmm1, xmm1
mov qword [rbp + 0x20], rdx
and rcx, rdx
movdqu xmm2, xmmword [r9 + rcx]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r8d, xmm3
test r8d, r8d
je 0x140093fc0
mov rax, qword [rbp + 0x28]
movzx eax, byte [rax]
mov qword [rbp], rax
mov qword [rbp - 8], rcx
jmp 0x140093e49
test r9b, r9b
je 0x14009412b
lea r8d, [r11 - 1]
and r8d, r11d
test r8w, r8w
mov rdx, qword [rbp + 0x20]
mov r9, rcx
mov rcx, qword [rbp - 8]
mov rax, qword [rbp]
je 0x140093fc0
mov r11d, r8d
tzcnt r14d, r11d
add r14, rcx
and r14, rdx
mov r8, r14
neg r8
lea r8, [r8 + r8*4]
shl r8, 4
lea r15, [r9 + r8]
mov rcx, r9
add r8, r9
add r8, 0xffffffffffffffb0
cmp eax, 1
je 0x140093f10
cmp eax, 2
jne 0x14009412b
movzx r9d, byte [r8]
cmp r9b, 2
jne 0x140093e20
mov rax, qword [rbp + 0x28]
mov r9, qword [rax + 8]
mov rdi, qword [r9 + 0x10]
mov rsi, qword [r15 - 0x48]
cmp rdi, qword [rsi + 0x10]
jne 0x140093e29
mov r13, qword [r9 + 8]
mov rsi, qword [rsi + 8]
mov r12, rdi
neg r12
mov r9, 0xffffffffffffffff
nop word [rax + rax]
lea rbx, [r12 + r9]
cmp rbx, 0xffffffffffffffff
je 0x140093f40
movzx ebx, byte [r13 + r9 + 1]
movzx edx, byte [rsi + r9 + 1]
lea r10d, [rbx - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
lea eax, [rdx - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or r10b, bl
or al, dl
inc r9
cmp r10b, al
je 0x140093ec0
cmp r9, rdi
jb 0x140093e29
jmp 0x140093f40
movzx r9d, byte [r8]
cmp r9b, 1
jne 0x140093e20
mov rax, qword [rbp + 0x28]
cmp byte [rax + 1], 0
movzx r9d, byte [r15 - 0x4f]
je 0x140093f37
test r9b, r9b
jne 0x140093f40
jmp 0x140093e29
test r9b, r9b
jne 0x140093e29
mov rax, qword [rbp + 0x28]
mov r12, qword [rax + 0x20]
cmp r12, qword [r15 - 0x30]
jne 0x140093e29
mov rax, qword [rbp + 0x28]
mov r13, qword [rax + 0x18]
mov rsi, qword [r15 - 0x38]
mov rdi, r12
neg rdi
mov r9, 0xffffffffffffffff
nop dword [rax + rax]
lea rax, [rdi + r9]
cmp rax, 0xffffffffffffffff
je 0x140093fea
movzx eax, byte [r13 + r9 + 1]
movzx edx, byte [rsi + r9 + 1]
lea r10d, [rax - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r10b, al
or bl, dl
inc r9
cmp r10b, bl
je 0x140093f70
cmp r9, r12
jb 0x140093e29
jmp 0x140093fea
pcmpeqb xmm2, xmm1
pmovmskb r8d, xmm2
test r8d, r8d
jne 0x1400940ae
mov rax, qword [rbp + 8]
add rcx, rax
add rcx, 0x10
add rax, 0x10
mov qword [rbp + 8], rax
jmp 0x140093de1
shl r14, 4
lea rdx, [r14 + r14*4]
sar rdx, 4
movabs rax, 0xcccccccccccccccd
imul rax, rdx
lea r9, [rax - 0x10]
and r9, qword [rbp + 0x20]
movdqu xmm0, xmmword [rcx + r9]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rcx + rax]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
je 0x140094041
bsr r10w, r10w
xor r10d, 0xf
jmp 0x140094046
mov r10w, reloc.WS2_32.dll_recv
mov r11, qword [rbp + 0x18]
or edx, 0x10000
tzcnt edx, edx
add r10d, edx
mov dl, 0x80
cmp r10w, 0xf
ja 0x140094066
inc qword [r11 + 0x10]
mov dl, 0xff
mov byte [rcx + rax], dl
mov byte [r9 + rcx + 0x10], dl
dec qword [r11 + 0x18]
movups xmm0, xmmword [r8]
movdqu xmm1, xmmword [r8 + 0x10]
movdqu xmm2, xmmword [r8 + 0x20]
movdqu xmm3, xmmword [r8 + 0x30]
movaps xmmword [rbp - 0x60], xmm0
movdqu xmm0, xmmword [r8 + 0x40]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmmword [rbp - 0x30], xmm3
movdqa xmmword [rbp - 0x40], xmm2
movdqa xmmword [rbp - 0x50], xmm1
movzx eax, byte [rbp - 0x60]
cmp al, 3
jne 0x1400940bb
mov rax, qword [rbp + 0x10]
mov qword [rax], 0
jmp 0x140094116
movdqa xmm0, xmmword [rbp - 0x30]
movdqa xmm1, xmmword [rbp - 0x20]
mov rcx, qword [rbp + 0x10]
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
cmp al, 2
jb 0x140094103
mov r8, qword [rbp - 0x58]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
lea rcx, [r8 + 0x18]
mov qword [rbp + 0x20], r8
mov r8, qword [r8 + 0x10]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023c258]
xor edx, edx
mov r8, qword [rbp + 0x20]
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rbp - 0x38]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.internal_error:_entered_unreachable_code_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_threadmod.rs
lea r8, str.C:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.11_srcuri_scheme.rs
mov edx, 0x28
call fcn.140186b70
ud2