Function at 0x1400675f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov edi, r8d
mov rbx, rdx
mov rsi, rcx
movabs r12, 0x54e2c14a5fd70aa2
mov rax, qword [0x1403074f0]
add rax, r12
call rax
cdqe
lea rcx, [0x140258adc]
movzx ecx, byte [rcx + rax*4]
mov eax, edi
mov r14, rax
shr r14, cl
mov rax, qword [0x1403074f8]
add rax, r12
call rax
cdqe
lea rcx, [0x140258ae8]
mov ebp, r14d
add ebp, dword [rcx + rax*4]
mov rax, qword [0x140307500]
add rax, r12
call rax
cdqe
lea rcx, [0x140258af4]
and ebp, dword [rcx + rax*4]
mov edx, ebp
mov rax, qword [0x140307508]
add rax, r12
mov r8d, 6
mov rcx, rbx
call rax
test rax, rax
je 0x14006795f
mov r15, rax
mov rax, qword [0x140307510]
add rax, r12
mov rcx, rbx
mov rdx, r15
call rax
test rax, rax
je 0x14006795f
mov rcx, rax
mov rax, qword [0x140307518]
add rax, r12
call rax
test rax, rax
je 0x14006795f
mov r14, rax
mov qword [rsp + 0x20], rsi
mov rsi, rax
mov rax, qword [0x140307520]
add rax, r12
mov rcx, rbx
mov rdx, r15
call rax
mov ebx, eax
mov rax, qword [0x140307528]
add rax, r12
call rax
cdqe
lea rcx, [0x140258b00]
mov ebp, edi
and ebp, dword [rcx + rax*4]
mov rax, qword [0x140307530]
add rax, r12
call rax
imul eax, dword [0x1402a2e4c], 0x1aae0bb6
imul ecx, dword [0x1402a2e50], 0x9e6719c8
lea edi, [rax + rcx]
add edi, 0x32561162
mov rax, qword [0x140307538]
add rax, r12
call rax
imul eax, dword [0x1402a2e54], 0x905512fb
imul ecx, dword [0x1402a2e58], 0x1f6330e6
add eax, ecx
add eax, 0xc8dfa9ab
cmp ebx, eax
setne al
movzx ecx, byte [0x1404b8a23]
add cl, byte [0x1404b8a24]
cmp ebp, edi
mov edx, 0
mov dl, al
movzx ecx, cl
cmovne ecx, edx
test cl, 1
je 0x140067954
mov ebx, ebx
mov eax, ebx
add r14, rax
lea rdi, reloc.WS2_32.dll_accept
lea rbx, reloc.OLEAUT32.dll_SysReAllocString
lea r15, [0x140258b48]
nop dword [rax]
movzx eax, word [rsi]
mov r13d, eax
mov rax, qword [0x140307540]
add rax, r12
call rax
cdqe
movzx ecx, byte [rdi + rax*8]
shl r13, cl
mov rax, qword [0x140307548]
add rax, r12
call rax
cdqe
add r13, qword [rbx + rax*8]
add r13, rsi
mov rax, qword [0x140307550]
add rax, r12
call rax
cdqe
add ebp, dword [r15 + rax*4]
mov rax, qword [0x140307558]
add rax, r12
call rax
imul eax, dword [0x1402a2e5c], 0x588e4ca7
imul ecx, dword [0x1402a2e60], 0x33d4109c
add ecx, eax
add ecx, 0x81d7da9b
cmp r13, r14
setb al
cmp ebp, ecx
je 0x140067972
mov rsi, r13
mov rcx, r13
cmp r13, r14
jb 0x140067790
test al, al
je 0x14006795f
mov r14, rcx
movzx edi, word [rcx]
mov esi, edi
mov rax, qword [0x140307560]
add rax, r12
call rax
movzx eax, word [0x1402a2e64]
movzx ecx, word [0x1402a2e66]
imul eax, eax, 0xfffff3a6
imul ecx, ecx, 0x3d58
add eax, ecx
add eax, 0x621a
test r14, r14
sete cl
cmp di, ax
mov eax, 0
mov al, cl
movzx ecx, byte [reloc.WS2_32.dll_accept]
cmovne ecx, eax
mov eax, 0
test cl, 1
jne 0x140067961
lea rbx, [r14 + 2]
mov r13, qword [rsp + 0x20]
mov r15, qword [r13]
mov esi, dword [r15 - 8]
mov rax, qword [0x140307568]
add rax, r12
call rax
cdqe
lea rcx, [0x140258b54]
mov eax, dword [rcx + rax*4]
sub eax, esi
mov ecx, dword [r15 - 0xc]
sub ecx, edi
mov esi, ecx
or esi, eax
mov rax, qword [0x140307570]
add rax, r12
call rax
imul eax, dword [0x1402a2e6c], 0xc489d839
imul ecx, dword [0x1402a2e70], 0x82541457
add eax, ecx
add eax, 0x5563c2a6
mov r9d, edi
cmp esi, eax
jge 0x1400678f8
mov rax, qword [0x140307578]
add rax, r12
mov rcx, r13
mov edx, edi
call rax
mov r15, qword [r13]
movzx r9d, word [r14]
mov rcx, r15
mov rax, qword [0x140307580]
add rax, r12
mov edx, edi
mov r8, rbx
call rax
mov rax, qword [r13]
cmp dword [rax - 0xc], edi
jl 0x14006797f
mov dword [rax - 0x10], edi
mov rsi, qword [r13]
mov edi, edi
add r12, qword [0x140307590]
call r12
movzx eax, word [0x1402a2e7c]
movzx ecx, word [0x1402a2e7e]
imul eax, eax, 0x73c0
imul ecx, ecx, 0x4def
add eax, ecx
add eax, 0x28ca
mov word [rsi + rdi*2], ax
mov eax, 1
jmp 0x140067961
mov rcx, rsi
test al, al
jne 0x14006781f
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
test al, al
jne 0x14006781f
jmp 0x14006795f
mov eax, dword [0x1402a2e74]
mov ecx, dword [0x1402a2e78]
shrd ecx, eax, 0xf
xor ecx, 0x1ff08ac0
add r12, qword [0x140307588]
call r12
int3