Function at 0x140072d10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rdi, qword [rcx + 0x20]
lea r12, [rcx + 0x20]
mov rbp, rcx
mov ebx, r9d
mov r14, r8
mov r9, rdx
movabs r15, 0x7fffffffffff
mov rcx, qword [rdi]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x140072dc4
mov rdx, qword [rdx]
and rcx, r15
movzx r8d, word [rcx + 0xa]
lea rax, [r8 + r8*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x140072d98
nop word [rax + rax]
movzx ecx, cx
lea rax, [rcx + rcx*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x140072d80
mov eax, ecx
movzx edx, cx
and eax, 0xf0000000
mov rcx, r9
cmp eax, 0x20000000
cmovne edx, r8d
mov r8d, ebx
call fcn.140076790
test rax, rax
jne 0x140072e4b
mov r9, qword [rsp + 0x78]
mov rsi, qword [rbp + 0x28]
lea rcx, [rdi + 8]
cmp rcx, rsi
jae 0x140072ea2
mov rcx, qword [rcx]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffff5
jne 0x140072ea2
mov rdx, qword [r9]
and rcx, r15
movzx r8d, word [rcx + 0xa]
lea rax, [r8 + r8*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
jne 0x140072e28
nop dword [rax + rax]
movzx ecx, cx
lea rax, [rcx + rcx*2]
mov ecx, dword [rdx + rax*8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x80000000
je 0x140072e10
mov eax, ecx
movzx edx, cx
and eax, 0xf0000000
mov rcx, r9
cmp eax, 0x20000000
cmovne edx, r8d
mov r8d, ebx
call fcn.140076790
test rax, rax
je 0x140072ea2
mov rax, qword [rax]
lea r8, [rbp + 0x28]
mov rdx, qword [r8]
xor ebx, ebx
mov rcx, qword [rdi - 8]
mov qword [rdi - 0x10], rax
movabs rax, 0xfffc800000000000
or rbp, rax
mov qword [rdx], rbx
lea rax, [rdx + 0x18]
sub rax, rdi
mov qword [rdx + 8], rcx
add rax, 0xa
mov qword [rdx + 0x10], rbp
mov qword [rdx + 0x18], rax
lea rax, [rdx + 0x20]
mov qword [r8], rax
mov qword [r12], rax
xor eax, eax
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x80], r13
mov r13d, 0xffffffff
mov r15d, r13d
cmp ebx, 4
jne 0x140072ef8
mov rax, qword [r14 + 8]
xor ebx, ebx
cmp qword [r14], rax
sete bl
inc rbx
shl rbx, 0x2f
not rbx
mov qword [rsi - 8], rbx
mov rax, qword [rbp + 0x10]
mov qword [rax + 0xf0], rbx
lea eax, [r13 + 2]
mov r13, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
xor ebx, ebx
lea rax, [rsp + 0x20]
sub r14, rax
lea r8, [0x140110300]
mov esi, ebx
movabs r9, 0x2aaaaaaaaaaaaaab
lea rax, [r14 + 0x10]
mov qword [rsp + 0x70], rax
nop
lea r14, [rsp + 0x20]
add r14, rsi
mov rdx, qword [rax + r14]
test rdx, rdx
je 0x140072f97
mov rax, qword [r12]
mov rcx, qword [rsi + rax]
sar rcx, 0x2f
cmp ecx, 0xfffffff5
jne 0x140072f97
mov edi, dword [rdx]
xor r8d, r8d
mov rax, qword [rsp + 0x78]
mov rcx, rbp
sub rdx, qword [rax]
mov rax, r9
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
call fcn.140076940
add rax, 0x18
lea r8, [0x140110300]
and edi, 0xf0000000
mov ecx, ebx
cmp edi, 0x50000000
movabs r9, 0x2aaaaaaaaaaaaaab
cmovne ecx, r13d
mov r13d, ecx
jmp 0x140072fc3
mov rax, qword [r12]
mov rcx, qword [rsi + rax]
mov eax, ebx
sar rcx, 0x2f
cmp ecx, 0xfffffffb
cmovne eax, r15d
mov r15d, eax
cmp ecx, 0xfffffff2
ja 0x140072fbb
mov ecx, reloc.WS2_32.dll_listen
jmp 0x140072fbd
not ecx
mov eax, ecx
mov rax, qword [r8 + rax*8]
inc ebx
mov qword [r14], rax
mov rax, qword [rsp + 0x70]
add rsi, 8
cmp ebx, 2
jl 0x140072f20
mov eax, r15d
xor eax, r13d
cmp eax, 1
je 0x140073027
mov eax, dword [rsp + 0x88]
cmp eax, 5
jne 0x140072ff8
mov edx, 0xcba
jmp 0x140073014
cmp eax, 8
jne 0x140073004
mov edx, 0xcd8
jmp 0x140073014
cmp eax, 0xa
mov edx, 0xcfd
mov ecx, 0xd2c
cmovl edx, ecx
mov r9, qword [rsp + 0x28]
mov rcx, rbp
mov r8, qword [rsp + 0x20]
call fcn.140078980
int3
movsxd r9, r13d
mov edx, 0xc9e
movsxd r8, r15d
mov rcx, rbp
mov r9, qword [rsp + r9*8 + 0x20]
mov r8, qword [rsp + r8*8 + 0x20]
call fcn.140078980
int3