I think this is a decryptor routine. Sorry, i'm newbie here
anybody can tell me the algorithm?

Code:
00403164     66:AD                LODS WORD PTR DS:[ESI]
00403166     51                   PUSH ECX
00403167     DB0424               FILD DWORD PTR SS:[ESP]
0040316A     90                   NOP
0040316B     90                   NOP
0040316C     DA8D 7D104000        FIMUL DWORD PTR SS:[EBP+40107D]
00403172     90                   NOP
00403173     DB1C24               FISTP DWORD PTR SS:[ESP]
00403176     D1E1                 SHL ECX,1
00403178     90                   NOP
00403179     90                   NOP
0040317A     290C24               SUB DWORD PTR SS:[ESP],ECX
0040317D     330424               XOR EAX,DWORD PTR SS:[ESP]
00403180     90                   NOP
00403181     D1E9                 SHR ECX,1
00403183     90                   NOP
00403184     66:AB                STOS WORD PTR ES:[EDI]
00403186     58                   POP EAX
00403187     49                   DEC ECX
00403188     8BC1                 MOV EAX,ECX
0040318A     74 02                JE SHORT 0040318E
0040318C   ^ EB D6                JMP SHORT 00403164