all your base are belong to us xor eax, eax mov esi, offset drive mov ecx, 4 mov edi, esi @loop: lodsb cmp al, 0 jne @F ror eax, 8 jmp @pack @@: and al, 0fh cmp al, 0 jl @err cmp al, 0eh je @loop cmp al, 9 jg @err cmp ecx, 1 je @F shl eax, 8 @@: loop @loop @pack: rol eax, 16 rol al, 4 ror ax, 4 rol eax, 16 rol al, 4 rol ax, 4 ror eax, 8 mov word ptr [buffer+7], ax mov eax, 17d sub eax, ecx xor ecx, ecx sub ecx, eax push ecx fbld buffer fild dword ptr [esp] pop ecx fldl2t fmulp st(1), st fld st frndint fsub st(1),st fxch st(1) f2xm1 fld1 faddp st(1),st fscale fstp st(1) fmulp st(1), st