Function at 0x44c1a0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x450
mov eax, dword [0x4f5568]
xor eax, ebp
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 0x410], ecx
cmp byte [ecx + 0x22], dl
push ebx
sete dl
mov dword [ebp - 0x414], 0
xor eax, eax
cmp byte [ecx + 0x12], al
push esi
mov esi, dword [ebp + 8]
sete al
cmp eax, edx
mov dword [ebp - 0x450], esi
movzx eax, byte [ecx + 0x2a]
mov dword [ebp - 0x42c], eax
setne bl
movzx eax, byte [ecx + 0x2b]
push edi
movzx edi, word [ecx + 0x24]
mov dword [ebp - 0x424], eax
movzx eax, byte [ecx + 0x2c]
push 0x400
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x404]
push 0
push eax
mov byte [ebp - 0x405], bl
mov dword [ebp - 0x430], edi
call fcn.004b67a0
mov ecx, dword [ebp + 0xc]
xor edx, edx
add esp, 0xc
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x418], edx
test ecx, ecx
jle 0x44c47c
cmp edx, esi
jge 0x44c47c
mov eax, dword [ebp + 0xc]
xor ecx, ecx
sub eax, dword [ebp - 0x40c]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x44c], eax
test eax, eax
jle 0x44c451
mov eax, esi
sub eax, edx
add eax, 0xfffffff9
mov dword [ebp - 0x448], eax
mov eax, esi
imul eax, dword [ebp - 0x40c]
mov dword [ebp - 0x428], eax
jmp 0x44c290
cmp ecx, dword [ebp - 0x448]
jge 0x44c451
add ecx, eax
mov eax, dword [ebp - 0x410]
add ecx, edx
mov eax, dword [eax + 0x1984]
mov edx, dword [eax + ecx*4]
lea esi, [eax + ecx*4]
test bl, bl
je 0x44c2d9
mov ecx, edx
mov eax, edx
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, edx
shl edx, 0x10
and eax, 0xff00
or edx, eax
shr ecx, 8
shl edx, 8
or edx, ecx
mov ecx, dword [ebp - 0x42c]
mov eax, edx
shr eax, cl
mov ecx, dword [ebp - 0x424]
and eax, edi
mov edi, edx
mov dword [ebp - 0x440], eax
shr edi, cl
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x43c], 7
movzx eax, word [ecx + 0x26]
mov ecx, dword [ebp - 0x41c]
and edi, eax
shr edx, cl
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x444], edi
movzx eax, word [ecx + 0x28]
and edx, eax
add dword [ebp - 0x414], 7
lea eax, [esi + 4]
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x434], eax
jmp 0x44c340
mov esi, dword [eax]
test bl, bl
je 0x44c369
mov ecx, esi
mov eax, esi
shr eax, 0x10
and ecx, 0xff0000
or ecx, eax
mov eax, esi
shl esi, 0x10
and eax, 0xff00
or esi, eax
shr ecx, 8
shl esi, 8
or esi, ecx
mov ecx, dword [ebp - 0x42c]
mov edi, esi
shr edi, cl
and edi, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x424]
mov eax, edi
sub eax, dword [ebp - 0x440]
cdq
mov ebx, eax
mov dword [ebp - 0x440], edi
mov edi, esi
xor ebx, edx
shr edi, cl
sub ebx, edx
mov ecx, dword [ebp - 0x410]
movzx eax, word [ecx + 0x26]
mov ecx, dword [ebp - 0x41c]
and edi, eax
mov eax, edi
shr esi, cl
sub eax, dword [ebp - 0x444]
mov ecx, dword [ebp - 0x410]
cdq
xor eax, edx
mov dword [ebp - 0x444], edi
sub eax, edx
add ebx, eax
movzx eax, word [ecx + 0x28]
and esi, eax
mov eax, esi
sub eax, dword [ebp - 0x438]
cdq
xor eax, edx
mov dword [ebp - 0x438], esi
sub eax, edx
add ebx, eax
mov eax, 0xff
cmp ebx, 0xff
cmovg ebx, eax
mov eax, dword [ebp - 0x434]
add eax, 4
mov dword [ebp - 0x434], eax
inc dword [ebp + ebx*4 - 0x404]
dec dword [ebp - 0x43c]
mov bl, byte [ebp - 0x405]
jne 0x44c340
mov ecx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x428]
inc ecx
mov esi, dword [ebp - 0x450]
add eax, esi
mov edx, dword [ebp - 0x418]
mov edi, dword [ebp - 0x430]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x428], eax
cmp ecx, dword [ebp - 0x44c]
jl 0x44c290
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jle 0x44c45e
add edx, ecx
xor eax, eax
jmp 0x44c468
mov eax, dword [ebp - 0x40c]
xor edx, edx
add eax, esi
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x418], edx
cmp eax, ecx
jl 0x44c245
mov eax, dword [ebp - 0x400]
add eax, dword [ebp - 0x404]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x414]
cmp eax, 0x5a
jge 0x44c61d
xor esi, esi
mov edx, 1
mov ecx, dword [ebp + edx*4 - 0x404]
mov eax, ecx
imul eax, edx
imul eax, edx
add esi, eax
test ecx, ecx
je 0x44c61d
mov eax, dword [ebp + edx*4 - 0x408]
add eax, eax
cmp ecx, eax
jg 0x44c61d
inc edx
cmp edx, 8
jl 0x44c4a2
mov ecx, 0x100
mov eax, ecx
sub eax, edx
cmp edx, ecx
jge 0x44c59a
cmp eax, 8
jb 0x44c59a
cmp dword [0x4f7b40], 2
jl 0x44c59a
movdqa xmm4, xmmword [0x4edae0]
and eax, reloc.WS2_32.dll_getsockopt
jns 0x44c50d
dec eax
or eax, 0xfffffff8
inc eax
mov edi, ecx
xorps xmm3, xmm3
sub edi, eax
lea ecx, [edx + 4]
lea eax, [ebp - 0x3f4]
movdqa xmm2, xmm3
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 xmm3, 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 xmm2, xmm0
cmp edx, edi
jl 0x44c524
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 0x44c5f8
sub ecx, edx
cmp ecx, 2
jl 0x44c5dc
lea ecx, [ecx]
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 0x44c5b0
cmp edx, 0x100
jge 0x44c5f3
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 - 0x414]
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