Function at 0x4f7700
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d844d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x28
push esi
push edi
mov eax, dword [0x634254]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
xor esi, esi
mov ecx, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], ecx
mov edi, dword [eax + 4]
mov dword [ebp - 0x20], edi
cmp byte [edi + 0xd], 0
jne 0x4f77f1
mov edx, dword [ebx + 0xc]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x18], eax
cmp dword [edx + 0x14], 8
mov eax, edx
mov dword [ebp - 0x20], edi
jb 0x4f7772
mov eax, dword [edx]
cmp dword [edi + 0x24], 8
lea edx, [edi + 0x10]
jb 0x4f777e
mov edx, dword [edi + 0x10]
mov esi, dword [edi + 0x20]
mov ecx, esi
cmp dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmovb ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x4f77b0
sub edx, eax
mov dword [ebp - 0x24], edx
movzx edx, word [edx + eax]
movzx esi, word [eax]
cmp dx, si
jne 0x4f77bc
mov edx, dword [ebp - 0x24]
add eax, 2
sub ecx, 1
jne 0x4f7796
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
cmp eax, esi
jbe 0x4f77c4
or eax, 0xffffffff
jmp 0x4f77c8
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4f77c8
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x4f77d7
mov edi, dword [edi + 8]
mov ecx, dword [ebp - 0x1c]
jmp 0x4f77de
mov ecx, edi
mov edi, dword [edi]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebx + 0xc]
movzx esi, al
xor esi, 1
cmp byte [edi + 0xd], 0
je 0x4f7765
cmp byte [ecx + 0xd], 0
jne 0x4f788d
cmp dword [ecx + 0x24], 8
lea eax, [ecx + 0x10]
jb 0x4f7807
mov eax, dword [ecx + 0x10]
mov edi, dword [ebx + 0xc]
mov edx, edi
cmp dword [edi + 0x14], 8
jb 0x4f7814
mov edx, dword [edi]
mov edi, dword [ecx + 0x20]
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x24], edi
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebx + 0xc]
cmp edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x28]
cmovb ecx, edi
test ecx, ecx
je 0x4f785a
sub edx, eax
mov dword [ebp - 0x28], edx
nop dword [eax + eax]
movzx edx, word [edx + eax]
movzx edi, word [eax]
cmp dx, di
jne 0x4f7869
mov edx, dword [ebp - 0x28]
add eax, 2
sub ecx, 1
jne 0x4f7840
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ecx + 0x10]
cmp edi, eax
jbe 0x4f7871
or eax, 0xffffffff
jmp 0x4f7875
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x4f7875
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
jne 0x4f788d
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov byte [eax + 4], 0
jmp 0x4f791e
mov edi, dword [ebp - 0x2c]
cmp dword [edi + 4], 0x6666666
je 0x4f7934
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], 0
push 0x28
mov dword [ebp - 0x2c], 0
call fcn.005a1c68
add esp, 4
test eax, eax
je 0x4f7939
mov ecx, dword [ebx + 0xc]
xor edx, edx
mov dword [eax + 0x10], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
movups xmm0, xmmword [ecx]
push eax
push esi
push dword [ebp - 0x20]
movups xmmword [eax + 0x10], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [eax + 0x20], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], dx
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, edi
mov word [eax + 0xc], dx
call fcn.004f7a70
mov ecx, dword [ebx + 8]
mov dword [ecx], eax
mov eax, ecx
mov byte [ecx + 4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.00403d77
push 0x630328
lea eax, [ebp - 0x11]
push eax
call fcn.0057134b
int3