int GetVbrTag(VBRTAGDATA *pTagData, unsigned char buf) { int i, head_flags; int h_bitrate,h_id, h_mode, h_sr_index; int enc_delay,enc_padding; / get Vbr header data / pTagData->flags = 0; / get selected MPEG header data / h_id = (buf[1] >> 3) & 1; h_sr_index = (buf[2] >> 2) & 3; h_mode = (buf[3] >> 6) & 3; h_bitrate = ((buf[2]>>4)&0xf); h_bitrate = bitrate_table[h_id][h_bitrate]; / check for FFE syncword */ if ((buf[1]>>4)==0xE) pTagData->samprate = samplerate_table[2][h_sr_index]; else pTagData->samprate = samplerate_table[h_id][h_sr_index]; ...
.text:100607D0 GetVbrTag proc near ; CODE XREF: sub_10059240+77p .text:100607D0 .text:100607D0 arg_0 = dword ptr 4 .text:100607D0 arg_4 = dword ptr 8 .text:100607D0 .text:100607D0 mov ecx, [esp+arg_4] .text:100607D4 push ebx .text:100607D5 push ebp .text:100607D6 push esi .text:100607D7 xor eax, eax .text:100607D9 push edi .text:100607DA mov edi, [esp+10h+arg_0] .text:100607DE mov dword ptr [edi+8], 0 .text:100607E5 mov dl, [ecx+1] .text:100607E8 movzx ebx, byte ptr [ecx+3] .text:100607EC mov al, dl .text:100607EE and dl, 0F0h .text:100607F1 shr ebx, 6 .text:100607F4 shr eax, 3 .text:100607F7 and eax, 1 .text:100607FA mov ebp, eax .text:100607FC movzx eax, byte ptr [ecx+2] .text:10060800 mov esi, eax .text:10060802 mov [esp+10h+arg_0], ebp .text:10060806 shr eax, 4 .text:10060809 shl ebp, 4 .text:1006080C add eax, ebp .text:1006080E mov eax, ds:bitrate_table[eax*4] .text:10060815 mov ebp, [esp+10h+arg_0] .text:10060819 shr esi, 2 .text:1006081C and esi, 3 .text:1006081F cmp dl, 0E0h .text:10060822 mov [esp+10h+arg_4], eax .text:10060826 jnz short loc_10060831 .text:10060828 mov edx, ds:samplerate_table2[esi*4] .text:1006082F jmp short loc_1006083B
There are 31,328 total registered users.
[+] expand