Function at 0x423b90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
movzx eax, word [0x44b35c]
movsx ecx, ax
mov dword [ebp - 4], ecx
push ebx
push esi
fild dword [ebp - 4]
push edi
fld qword [0x44b400]
or edi, 0xffffffff
fsub qword [0x444f10]
fsubp st(1)
fistp qword [ebp - 8]
movzx edx, word [ebp - 8]
mov word [0x44b35c], dx
movzx eax, word [0x44b184]
movzx ecx, word [0x44b168]
cwde
imul ecx, eax
mov word [0x44b168], cx
add word [0x44b184], di
movzx edx, word [0x44b114]
mov ecx, dword [0x44b0ac]
add word [0x44b114], di
movsx eax, dx
add eax, 0xb14d79a7
add ecx, eax
cmp ecx, 0xaf169451
lea eax, [edi + 2]
jl 0x423c23
mov edx, dword [0x44b2d8]
sub dword [0x44b3f8], edx
add dword [0x44b2d8], eax
add word [0x44b418], di
fld dword [0x44b40c]
mov edx, dword [0x44b1f0]
mov ecx, dword [ebp + 8]
mov dword [ebp + 8], edx
fisub dword [ebp + 8]
fld qword [0x44b3a0]
mov dx, word [0x44b418]
movsx edx, dx
mov dword [ebp + 8], edx
mov edx, dword [ebp + 0xc]
lea esi, [ecx + edx*4]
fild dword [ebp + 8]
fsubp st(2)
fsubrp st(1)
fstp qword [0x44b3a0]
fld dword [0x44b40c]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44b40c]
add dword [0x44b1f0], eax
mov eax, dword [0x44b1f0]
mov edx, dword [0x44b0c0]
add eax, 0x8ad8b7fe
add edx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
mov edx, 0x9fb334e6
fadd dword [0x44b314]
fstp dword [0x44b314]
add dword [0x44b0c0], edi
mov ebx, dword [0x44b14c]
sub edx, ebx
add dword [0x44b02c], edx
add dword [0x44b14c], edi
cmp ecx, esi
je 0x423e03
fld qword [0x444f08]
fld qword [0x444f00]
fld qword [0x444ef8]
fld qword [0x444ef0]
mov dword [0x44b204], 0x752ebc15
xor dword [ecx], eax
fld dword [0x44b0a4]
fadd dword [0x44b3f4]
ror eax, 1
mov dword [ebp + 8], eax
shr eax, 8
fmul dword [0x44b308]
fstp dword [0x44b308]
fld dword [0x44b3f4]
fsub st(5)
fstp dword [0x44b3f4]
mov edx, dword [0x44b208]
imul edx, edx, 0x4288dad8
mov dword [0x44b208], edx
fld dword [0x44b3a8]
mov edx, dword [0x44b1a4]
fsub st(4)
mov dword [ebp + 0xc], edx
movzx edx, word [0x44b17c]
fisub dword [ebp + 0xc]
movsx edx, dx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fmulp st(1)
fistp qword [ebp - 8]
movzx edx, word [ebp - 8]
mov word [0x44b17c], dx
inc dword [0x44b1a4]
mov ebx, dword [0x44b220]
mov dl, byte [ebp + 8]
mov dword [ebp + 0xc], ebx
add al, dl
add dl, al
fild dword [ebp + 0xc]
mov byte [ebp + 9], al
fld dword [0x44b200]
mov byte [ebp + 8], dl
fadd st(4)
fsub st(3)
fsubp st(1)
fistp qword [ebp - 0x10]
mov ebx, dword [ebp - 0x10]
mov dword [0x44b220], ebx
fld dword [0x44b308]
fcomp st(1)
fnstsw ax
fld dword [0x44b308]
fadd st(5)
fstp dword [0x44b308]
test ah, 0x41
jne 0x423ded
movzx eax, word [0x44b00c]
movsx edx, ax
movzx eax, word [0x44b0a0]
cwde
sub eax, edx
movzx edx, word [0x44b2f0]
lea eax, [edx + eax - 0xe0a8d19]
mov word [0x44b0a0], ax
inc word [0x44b00c]
add word [0x44b2f0], di
mov eax, dword [ebp + 8]
add ecx, 4
cmp ecx, esi
jne 0x423ce3
fstp st(4)
fstp st(2)
fstp st(0)
fstp st(0)
mov cx, word [0x44b080]
fstp st(0)
movsx edx, cx
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fmul dword [0x44b1f4]
fstp dword [0x44b1f4]
add word [0x44b080], di
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret