Function at 0x506e40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ecx, 0x455b20
vmovd xmm0, ecx
mov ebp, esp
push ebx
and esp, 0xffffffe0
sub esp, 0xf0
mov eax, dword [ebp + 8]
lea edx, [esp + 0x64]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0xc]
lea ebx, [esp + 0x54]
vmovd xmm2, edx
vmovd xmm1, ecx
lea edx, [esp + 0x60]
lea ecx, [esp + 0x58]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x10]
vmovd xmm3, ebx
lea ebx, [esp + 0x50]
vpinsrd xmm3, xmm3, ebx, 1
vpinsrd xmm2, xmm2, edx, 1
vpinsrd xmm1, xmm1, ecx, 1
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0x14]
vpunpcklqdq xmm1, xmm1, xmm3
lea edx, [esp + 0x44]
lea ecx, [esp + 0x3c]
lea ebx, [esp + 0x34]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x18]
vmovd xmm3, ebx
lea ebx, [esp + 0x30]
vpinsrd xmm3, xmm3, ebx, 1
lea ebx, [esp + 0x70]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x44]
mov dword [esp + 0xc8], 1
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x58]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x18], eax
mov eax, dword [0xd42044]
mov dword [esp + 0xec], eax
mov eax, 0x455b50
vpinsrd xmm0, xmm0, eax, 1
lea eax, [esp + 0x6c]
vmovq qword [esp + 0xe0], xmm0
vmovd xmm0, eax
lea eax, [esp + 0x68]
vpinsrd xmm0, xmm0, eax, 1
lea eax, [esp + 0x4c]
vpunpcklqdq xmm0, xmm0, xmm2
vmovd xmm2, edx
lea edx, [esp + 0x40]
vinserti128 ymm0, ymm0, xmm1, 1
vmovd xmm1, ecx
lea ecx, [esp + 0x38]
vmovdqu ymmword [esp + 0x70], ymm0
vmovd xmm0, eax
lea eax, [esp + 0x48]
vpinsrd xmm2, xmm2, edx, 1
vpinsrd xmm1, xmm1, ecx, 1
vpinsrd xmm0, xmm0, eax, 1
lea edx, [esp + 0x24]
vpunpcklqdq xmm1, xmm1, xmm3
vpunpcklqdq xmm0, xmm0, xmm2
lea eax, [esp + 0x2c]
vinserti128 ymm0, ymm0, xmm1, 1
vmovd xmm1, edx
lea edx, [esp + 0x20]
vmovdqu ymmword [esp + 0x90], ymm0
vmovd xmm0, eax
lea eax, [esp + 0x28]
vpinsrd xmm1, xmm1, edx, 1
vpinsrd xmm0, xmm0, eax, 1
lea eax, [esp + 0x1c]
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [esp + 0xb0], xmm0
vmovd xmm0, eax
lea eax, [esp + 0x18]
vpinsrd xmm0, xmm0, eax, 1
mov eax, 0x455b50
vmovq qword [esp + 0xc0], xmm0
vzeroupper
jmp 0x507037
mov eax, dword [esp + eax*4 + 0xe0]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 0xc8]
cmp eax, 1
jbe 0x507030
mov eax, dword [esp + 0xec]
sub eax, dword [0xd42044]
jne 0x50705c
mov ebx, dword [ebp - 4]
leave
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop