Function at 0x41f4d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
fld dword [0x7692e8]
fcomp dword [ebp + 0xc]
push ebx
push esi
push edi
fnstsw ax
test ah, 0x41
jne 0x41f7db
mov eax, dword [ebp + 8]
test eax, eax
jge 0x41f509
or ecx, 0xffffffff
sub ecx, eax
push ecx
call fcn.0041f380
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [eax + eax*2]
mov ebx, dword [ebp + 0x14]
lea edi, [edx*4 + 0x948460]
mov dword [ebp - 0xc], edi
mov edx, dword [edi]
mov dword [ebp + 8], edx
mov al, byte [edx + 0x10]
cmp al, 3
jae 0x41f54d
and eax, 0xff
mov esi, dword [ebp + 0x18]
shl eax, 2
fld dword [eax + ebx]
fsub dword [edx + 0xc]
fstp dword [ebp + 0x14]
fld dword [eax + esi]
fsub dword [edx + 0xc]
fstp dword [ebp + 8]
fld dword [eax + 0xb0a530]
jmp 0x41f5d5
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
fld dword [eax]
fmul dword [ecx]
fld dword [eax + 4]
fmul dword [ecx + 4]
fld dword [eax + 8]
fmul dword [ecx + 8]
fxch st(1)
faddp st(2)
faddp st(1)
fstp dword [ebp - 8]
fld dword [ebp - 8]
fsub dword [edx + 0xc]
fstp dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
fld dword [eax]
fmul dword [ecx]
fld dword [eax + 4]
fmul dword [ecx + 4]
fld dword [eax + 8]
fmul dword [ecx + 8]
fxch st(1)
faddp st(2)
faddp st(1)
fstp dword [ebp - 8]
fld dword [ebp - 8]
mov eax, dword [0xd0a774]
fsub dword [edx + 0xc]
test eax, eax
fstp dword [ebp + 8]
je 0x41f5ae
fld dword [0x44c308]
jmp 0x41f5d2
fld dword [0xb0a538]
fmul dword [edx + 8]
fabs
fld dword [0xb0a534]
fmul dword [edx + 4]
fabs
faddp st(1)
fld dword [0xb0a530]
fmul dword [edx]
fabs
faddp st(1)
mov esi, dword [ebp + 0x18]
fld dword [ebp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x41f60c
fld dword [ebp + 8]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x41f60c
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi + 4]
push esi
push ebx
push eax
push ecx
push edx
fstp st(0)
call fcn.0041f4d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fld st(0)
fchs
fld dword [ebp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x41f649
fld dword [ebp + 8]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x41f64b
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi + 8]
push esi
push ebx
push eax
push ecx
push edx
fstp st(0)
call fcn.0041f4d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fld dword [ebp + 0x14]
fcomp dword [ebp + 8]
fld dword [ebp + 0x14]
fnstsw ax
test ah, 1
je 0x41f6a5
fsub dword [ebp + 8]
mov dword [ebp - 4], 1
fdivr qword [0x44c318]
fld st(1)
fadd dword [ebp + 0x14]
fadd qword [0x44c908]
fld st(1)
fmulp st(1)
fstp dword [ebp + 8]
fld dword [ebp + 0x14]
fsubrp st(2)
fxch st(1)
fadd qword [0x44c908]
fxch st(1)
fmulp st(1)
fcom dword [0x44c308]
fnstsw ax
test ah, 1
je 0x41f6f3
fstp st(0)
fld dword [0x44c308]
jmp 0x41f708
fcomp dword [ebp + 8]
fnstsw ax
test ah, 0x41
jne 0x41f6db
fld dword [ebp + 0x14]
fsub dword [ebp + 8]
mov dword [ebp - 4], 0
fdivr qword [0x44c318]
fld dword [ebp + 0x14]
fsub st(2)
fsub qword [0x44c908]
fld st(1)
fmulp st(1)
fstp dword [ebp + 8]
fxch st(1)
fadd dword [ebp + 0x14]
jmp 0x41f684
fstp st(0)
fld dword [0x44c470]
mov dword [ebp - 4], 0
mov dword [ebp + 8], 0
jmp 0x41f708
fcom dword [0x44c470]
fnstsw ax
test ah, 0x41
jne 0x41f708
fstp st(0)
fld dword [0x44c470]
fld dword [ebp + 0x10]
fsub dword [ebp + 0xc]
lea edi, [ebp - 0x18]
sub esi, ebx
mov eax, ebx
sub edi, ebx
mov ecx, 3
fst dword [ebp - 8]
fmul st(1)
fadd dword [ebp + 0xc]
fstp dword [ebp + 0x14]
fld dword [esi + eax]
fsub dword [eax]
add eax, 4
dec ecx
fmul st(1)
fadd dword [eax - 4]
fstp dword [edi + eax - 4]
jne 0x41f727
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
push ebx
push ecx
mov ecx, dword [ebp - 4]
push edx
fstp st(0)
mov edx, dword [eax + ecx*4 + 4]
push edx
call fcn.0041f4d0
fld dword [ebp + 8]
fcomp dword [0x44c308]
add esp, 0x14
fnstsw ax
test ah, 1
je 0x41f776
mov dword [ebp + 8], 0
jmp 0x41f78d
fld dword [ebp + 8]
fcomp dword [0x44c470]
fnstsw ax
test ah, 0x41
jne 0x41f78d
mov dword [ebp + 8], 0x3f800000
fld dword [ebp - 8]
fmul dword [ebp + 8]
mov eax, ebx
mov ecx, 3
fadd dword [ebp + 0xc]
fstp dword [ebp + 0x14]
fld dword [eax + esi]
fsub dword [eax]
add eax, 4
dec ecx
fmul dword [ebp + 8]
fadd dword [eax - 4]
fstp dword [eax + edi - 4]
jne 0x41f7a0
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
lea ecx, [ebp - 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp - 0xc]
push edx
push eax
mov eax, dword [ebp - 4]
xor eax, 1
mov edx, dword [ecx + eax*4 + 4]
push edx
call fcn.0041f4d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret