Function at 0x44bd20
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44c
mov eax, dword [0x4f5568]
xor eax, ebp
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 0x40c], ecx
cmp byte [ecx + 0x22], dl
push ebx
sete dl
mov dword [ebp - 0x410], 0
xor eax, eax
cmp byte [ecx + 0x12], al
push esi
mov esi, dword [ebp + 8]
sete al
cmp eax, edx
mov dword [ebp - 0x448], esi
movzx eax, byte [ecx + 0x2a]
mov dword [ebp - 0x434], eax
setne bl
movzx eax, byte [ecx + 0x2b]
push edi
mov dword [ebp - 0x438], eax
movzx eax, byte [ecx + 0x2c]
push 0x400
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x404]
push 0
push eax
mov byte [ebp - 0x405], bl
call fcn.004b67a0
mov eax, dword [ebp + 0xc]
xor edi, edi
xor edx, edx
mov dword [ebp - 0x41c], edi
add esp, 0xc
mov dword [ebp - 0x418], edx
test eax, eax
jle 0x44bfd4
lea esp, [esp]
cmp edx, esi
jge 0x44bfd4
sub eax, edi
xor ecx, ecx
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x444], eax
test eax, eax
jle 0x44bfaf
mov eax, esi
sub eax, edx
add eax, 0xfffffff9
mov dword [ebp - 0x440], eax
mov eax, esi
imul eax, edi
mov dword [ebp - 0x424], eax
jmp 0x44be00
cmp ecx, dword [ebp - 0x440]
jge 0x44bfa9
mov esi, dword [ebp - 0x40c]
add ecx, eax
add ecx, edx
mov eax, dword [esi + 0x1984]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x414], eax
movzx eax, word [eax]
test bl, bl
je 0x44be33
rol ax, 8
movzx eax, ax
mov ecx, dword [ebp - 0x434]
movzx edx, ax
movzx eax, word [esi + 0x24]
mov edi, edx
movzx ecx, cx
mov esi, edx
shr edi, cl
and edi, eax
mov eax, dword [ebp - 0x438]
movzx ecx, ax
shr esi, cl
mov ecx, dword [ebp - 0x40c]
movzx eax, word [ecx + 0x26]
and esi, eax
mov eax, dword [ebp - 0x428]
movzx ecx, ax
shr edx, cl
mov ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x430], esi
movzx eax, word [ecx + 0x28]
and edx, eax
mov eax, dword [ebp - 0x414]
add eax, 2
mov dword [ebp - 0x420], edx
add dword [ebp - 0x410], 7
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x414], 7
movzx eax, word [eax]
test bl, bl
je 0x44beb3
rol ax, 8
movzx eax, ax
mov ecx, dword [ebp - 0x434]
movzx ebx, ax
movzx ecx, cx
mov esi, ebx
shr esi, cl
mov ecx, dword [ebp - 0x40c]
movzx eax, word [ecx + 0x24]
mov ecx, dword [ebp - 0x438]
and esi, eax
mov eax, esi
mov dword [ebp - 0x44c], esi
sub eax, edi
movzx ecx, cx
cdq
mov esi, ebx
mov edi, eax
shr esi, cl
mov ecx, dword [ebp - 0x40c]
xor edi, edx
sub edi, edx
movzx eax, word [ecx + 0x26]
mov ecx, dword [ebp - 0x428]
and esi, eax
mov eax, esi
movzx ecx, cx
sub eax, dword [ebp - 0x430]
cdq
xor eax, edx
shr ebx, cl
mov ecx, dword [ebp - 0x40c]
sub eax, edx
add edi, eax
mov dword [ebp - 0x430], esi
movzx eax, word [ecx + 0x28]
and ebx, eax
mov eax, ebx
sub eax, dword [ebp - 0x420]
cdq
xor eax, edx
mov dword [ebp - 0x420], ebx
mov bl, byte [ebp - 0x405]
sub eax, edx
add edi, eax
mov eax, 0xff
cmp edi, 0xff
cmovg edi, eax
mov eax, dword [ebp - 0x43c]
add eax, 2
mov dword [ebp - 0x43c], eax
inc dword [ebp + edi*4 - 0x404]
dec dword [ebp - 0x414]
mov edi, dword [ebp - 0x44c]
jne 0x44bea5
mov ecx, dword [ebp - 0x42c]
mov eax, dword [ebp - 0x424]
inc ecx
mov esi, dword [ebp - 0x448]
add eax, esi
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x424], eax
cmp ecx, dword [ebp - 0x444]
jl 0x44be00
mov edi, dword [ebp - 0x41c]
mov eax, dword [ebp + 0xc]
cmp esi, eax
jle 0x44bfbc
add edx, eax
xor edi, edi
jmp 0x44bfc0
xor edx, edx
add edi, esi
mov dword [ebp - 0x41c], edi
mov dword [ebp - 0x418], edx
cmp edi, eax
jl 0x44bdc0
mov eax, dword [ebp - 0x400]
add eax, dword [ebp - 0x404]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x410]
cmp eax, 0x5a
jge 0x44c17d
xor esi, esi
mov edx, 1
lea ebx, [ebx]
mov ecx, dword [ebp + edx*4 - 0x404]
mov eax, ecx
imul eax, edx
imul eax, edx
add esi, eax
test ecx, ecx
je 0x44c17d
mov eax, dword [ebp + edx*4 - 0x408]
add eax, eax
cmp ecx, eax
jg 0x44c17d
inc edx
cmp edx, 8
jl 0x44c000
mov ecx, 0x100
mov eax, ecx
sub eax, edx
cmp edx, ecx
jge 0x44c0f8
cmp eax, 8
jb 0x44c0f8
cmp dword [0x4f7b40], 2
jl 0x44c0f8
movdqa xmm4, xmmword [0x4edae0]
and eax, reloc.WS2_32.dll_getsockopt
jns 0x44c06b
dec eax
or eax, 0xfffffff8
inc eax
mov edi, ecx
xorps xmm2, xmm2
sub edi, eax
lea ecx, [edx + 4]
lea eax, [ebp - 0x3f4]
movdqa xmm3, xmm2
lea eax, [eax + edx*4]
movd xmm0, edx
lea eax, [eax + 0x20]
pshufd xmm1, xmm0, 0
add edx, 8
movdqu xmm0, xmmword [eax - 0x30]
paddd xmm1, xmm4
pmulld xmm0, xmm1
pmulld xmm0, xmm1
paddd xmm2, xmm0
movd xmm0, ecx
pshufd xmm1, xmm0, 0
add ecx, 8
paddd xmm1, xmm4
movdqu xmm0, xmmword [eax - 0x20]
pmulld xmm0, xmm1
pmulld xmm0, xmm1
paddd xmm3, xmm0
cmp edx, edi
jl 0x44c082
paddd xmm2, xmm3
mov ecx, 0x100
movdqa xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add esi, eax
xor edi, edi
xor ebx, ebx
cmp edx, 0x100
jge 0x44c158
sub ecx, edx
cmp ecx, 2
jl 0x44c13c
jmp 0x44c110
mov eax, dword [ebp + edx*4 - 0x404]
mov ecx, dword [ebp + edx*4 - 0x400]
imul eax, edx
imul eax, edx
add edi, eax
lea eax, [edx + 1]
imul ecx, eax
add edx, 2
imul ecx, eax
add ebx, ecx
cmp edx, 0xff
jl 0x44c110
cmp edx, 0x100
jge 0x44c153
mov ecx, dword [ebp + edx*4 - 0x404]
imul ecx, edx
imul ecx, edx
add esi, ecx
lea ecx, [ebx + edi]
add esi, ecx
mov ecx, dword [ebp - 0x410]
mov eax, esi
sub ecx, dword [ebp - 0x404]
xor edx, edx
pop edi
pop esi
div ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004aca59
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aca59
mov esp, ebp
pop ebp
ret 8