Function at 0x100066f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000db75
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x1001700c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movaps xmm0, xmm2
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x14], xmm1
mov ebx, dword [0x100181e8]
cvttss2si ecx, xmm2
movss xmm0, dword [ebx + 0x10]
mulss xmm0, dword [0x1001466c]
push ecx
addss xmm0, xmm1
cvttss2si eax, xmm0
push eax
push ecx
push eax
push 0x10017f5c
call dword [sym.imp.USER32.dll_SetRect]
cmp dword [ebx + 4], 0
je 0x100069cb
mov eax, dword [0x1001823c]
mov edx, dword [ebp + 8]
movss xmm1, dword [0x10014694]
test eax, eax
jne 0x100067fe
movss xmm0, dword [ebp - 0x18]
cvttss2si ecx, dword [ebp - 0x14]
push edx
sub esp, 0x14
subss xmm0, xmm1
cvttss2si edx, xmm0
call fcn.100065e0
add esp, 0x18
mov ecx, 0xc5
xor edx, edx
nop word [eax + eax]
mov al, byte [edx + 0x10010300]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x34], al
and ecx, 0x800000ff
jns 0x100067bd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x100067a0
mov byte [ebp - 0x28], 0
movss xmm0, dword [ebp - 0x14]
lea eax, [ebp - 0x34]
sub esp, 8
mov dword [ebp - 4], 0
addss xmm0, dword [0x100146c0]
push eax
mov eax, dword [0x1001753c]
add eax, 0x1f
push eax
cvttss2si eax, xmm0
push eax
call fcn.100063e0
mov dword [ebp - 4], 0xffffffff
jmp 0x10006871
cmp eax, 1
jne 0x1000687c
movss xmm0, dword [ebp - 0x18]
cvttss2si ecx, dword [ebp - 0x14]
push edx
sub esp, 0x14
subss xmm0, xmm1
cvttss2si edx, xmm0
call fcn.100065e0
mov dword [ebp - 0x30], 0x454e5552
mov dword [ebp - 0x2c], 0x5a444f4d
mov byte [ebp - 0x28], 0
movss xmm0, dword [ebp - 0x14]
lea eax, [ebp - 0x30]
add esp, 0x10
mov dword [ebp - 4], 1
addss xmm0, dword [0x100146c0]
push eax
mov eax, dword [0x1001753c]
add eax, 0x1f
push eax
cvttss2si eax, xmm0
push eax
call fcn.100063e0
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
movq qword [ebp - 0x30], xmm0
mov byte [ebp - 0x28], 0
mov edx, dword [ebp + 8]
movss xmm1, dword [0x10014694]
movss xmm0, dword [ebp - 0x18]
xor esi, esi
addss xmm0, dword [ebx + 0x14]
mov dword [ebp - 0x1c], esi
movss dword [ebp - 0x18], xmm0
cmp dword [ebx], esi
jle 0x100069cb
cvttss2si ecx, dword [ebp - 0x14]
nop dword [eax]
subss xmm0, xmm1
push edx
sub esp, 0xc
cvttss2si eax, xmm0
push eax
push ecx
call fcn.100064a0
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi*4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x100068c4
mov ecx, dword [ecx]
jmp 0x100068c6
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp esi, dword [ebx + 0xc]
jne 0x100068d5
mov edi, 0xffcefb2d
jmp 0x100068fc
mov eax, dword [eax]
cmp eax, 1
jne 0x100068e3
mov edi, 0xff00ff00
jmp 0x100068fc
cmp eax, 2
jne 0x100068ef
mov edi, 0xffffff00
jmp 0x100068fc
or edi, 0xffffffff
mov eax, 0xff68d2ff
test ecx, ecx
cmovne edi, eax
cvttss2si esi, dword [ebp - 0x18]
cvttss2si eax, dword [ebp - 0x14]
push esi
push eax
push esi
push eax
push 0x10018008
call dword [sym.imp.USER32.dll_SetRect]
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [ebx + 0x10]
push esi
cvttss2si eax, xmm0
push eax
push esi
push eax
push 0x10018158
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x1c]
mov ecx, dword [0x1001814c]
push edi
push pe_nt_image_headers32
mov eax, dword [eax + esi*4]
mov edx, dword [ecx]
push 0x10018008
push 0xffffffffffffffff
push dword [eax + 4]
push 0
push ecx
call dword [edx + 0x38]
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x24], eax
mov edx, dword [eax + 8]
test edx, edx
je 0x100069a0
cmp dword [eax], 2
mov eax, dword [0x1001814c]
push edi
push 0x102
push 0x10018158
mov ecx, dword [eax]
push 0xffffffffffffffff
jne 0x1000698b
push edx
push 0
push eax
call dword [ecx + 0x38]
jmp 0x100069a0
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov edi, dword [esi + 8]
push dword [edi + edx*4]
push 0
push eax
call dword [ecx + 0x38]
mov esi, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x18]
inc esi
addss xmm0, dword [ebx + 0x14]
movss xmm1, dword [0x10014694]
cvttss2si ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esi
movss dword [ebp - 0x18], xmm0
cmp esi, dword [ebx]
jl 0x100068a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4