rendered paste body__text:001A3FD7 _tsc_init proc near ; CODE XREF: __text:00197F18p
__text:001A3FD7
__text:001A3FD7 var_98 = dword ptr -98h
__text:001A3FD7 var_94 = dword ptr -94h
__text:001A3FD7 var_90 = dword ptr -90h
__text:001A3FD7 var_8C = dword ptr -8Ch
__text:001A3FD7 var_88 = dword ptr -88h
__text:001A3FD7 var_84 = dword ptr -84h
__text:001A3FD7 var_80 = dword ptr -80h
__text:001A3FD7 var_7C = dword ptr -7Ch
__text:001A3FD7 var_78 = dword ptr -78h
__text:001A3FD7 var_60 = dword ptr -60h
__text:001A3FD7 var_5C = dword ptr -5Ch
__text:001A3FD7 var_50 = dword ptr -50h
__text:001A3FD7 var_4C = dword ptr -4Ch
__text:001A3FD7 var_48 = dword ptr -48h
__text:001A3FD7 var_44 = dword ptr -44h
__text:001A3FD7 var_40 = dword ptr -40h
__text:001A3FD7 var_3C = dword ptr -3Ch
__text:001A3FD7 var_2C = dword ptr -2Ch
__text:001A3FD7 var_28 = dword ptr -28h
__text:001A3FD7 var_24 = dword ptr -24h
__text:001A3FD7 var_20 = dword ptr -20h
__text:001A3FD7 var_1C = dword ptr -1Ch
__text:001A3FD7
__text:001A3FD7 push ebp
__text:001A3FD8 mov ebp, esp
__text:001A3FDA push edi
__text:001A3FDB push esi
__text:001A3FDC push ebx
__text:001A3FDD sub esp, 8Ch
__text:001A3FE3 lea ebx, [ebp+var_1C]
__text:001A3FE6 mov [esp+98h+var_94], ebx
__text:001A3FEA mov [esp+98h+var_98], offset aG ; "-g"
__text:001A3FF1 call _PE_parse_boot_arg
__text:001A3FF6 test eax, eax
__text:001A3FF8 jz short loc_1A4014
__text:001A3FFA xor eax, eax
__text:001A3FFC mov edx, 0Ah
__text:001A4001 mov ebx, 0F31DC461h
__text:001A4006 mov esi, 2Ah
__text:001A400B mov [ebp+var_40], 64h
__text:001A4012 jmp short loc_1A408E
__text:001A4014 ; ---------------------------------------------------------------------------
__text:001A4014
__text:001A4014 loc_1A4014: ; CODE XREF: _tsc_init+21j
__text:001A4014 mov [esp+98h+var_94], ebx
__text:001A4018 mov [esp+98h+var_98], offset aY ; "-y"
__text:001A401F call _PE_parse_boot_arg
__text:001A4024 test eax, eax
__text:001A4026 jz short loc_1A4045
__text:001A4028 mov eax, 84CFE133h
__text:001A402D mov edx, 7
__text:001A4032 mov ebx, 4B013556h
__text:001A4037 mov esi, 20h
__text:001A403C mov [ebp+var_40], 85h
__text:001A4043 jmp short loc_1A408E
__text:001A4045 ; ---------------------------------------------------------------------------
__text:001A4045
__text:001A4045 loc_1A4045: ; CODE XREF: _tsc_init+4Fj
__text:001A4045 mov [esp+98h+var_94], ebx
__text:001A4049 mov [esp+98h+var_98], offset aZ ; "-z"
__text:001A4050 call _PE_parse_boot_arg
__text:001A4055 test eax, eax
__text:001A4057 jz short loc_1A4076
__text:001A4059 mov eax, 62B2E43h
__text:001A405E mov edx, 6
__text:001A4063 mov ebx, 0DF9063CBh
__text:001A4068 mov esi, 19h
__text:001A406D mov [ebp+var_40], 0A6h
__text:001A4074 jmp short loc_1A408E
__text:001A4076 ; ---------------------------------------------------------------------------
__text:001A4076
__text:001A4076 loc_1A4076: ; CODE XREF: _tsc_init+80j
__text:001A4076 xor eax, eax
__text:001A4078 mov edx, 5
__text:001A407D mov ebx, 798EE230h
__text:001A4082 mov esi, 15h
__text:001A4087 mov [ebp+var_40], 0C8h
__text:001A408E
__text:001A408E loc_1A408E: ; CODE XREF: _tsc_init+3Bj
__text:001A408E ; _tsc_init+6Cj ...
__text:001A408E mov [ebp+var_3C], 0
__text:001A4095 mov ds:_busFCvtt2n, eax
__text:001A409A mov ds:dword_43936C, edx
__text:001A40A0 mov [esp+98h+var_90], eax
__text:001A40A4 mov [esp+98h+var_8C], edx
__text:001A40A8 mov [esp+98h+var_98], 0FFFFFFFFh
__text:001A40AF mov [esp+98h+var_94], 0FFFFFFFFh
__text:001A40B7 call sub_3C72CD
__text:001A40BC mov ds:_busFCvtn2t, eax
__text:001A40C1 mov ds:dword_439364, edx
__text:001A40C7 mov [esp+98h+var_90], ebx
__text:001A40CB mov [esp+98h+var_8C], esi
__text:001A40CF mov [esp+98h+var_98], 0A4C68000h
__text:001A40D6 mov [esp+98h+var_94], 38D7Eh
__text:001A40DE call _tmrCvt
__text:001A40E3 mov ecx, ds:_busFCvtn2t
__text:001A40E9 mov ebx, ds:dword_439364
__text:001A40EF mov esi, ds:_busFCvtt2n
__text:001A40F5 mov edi, ds:dword_43936C
__text:001A40FB mov [esp+98h+var_78], eax
__text:001A40FF mov eax, edx
__text:001A4101 xor edx, edx
__text:001A4103 mov [esp+98h+var_7C], eax
__text:001A4107 mov [esp+98h+var_80], ecx
__text:001A410B mov ecx, ebx
__text:001A410D mov [esp+98h+var_84], ecx
__text:001A4111 mov [esp+98h+var_88], esi
__text:001A4115 mov esi, edi
__text:001A4117 mov [esp+98h+var_8C], esi
__text:001A411B mov [esp+98h+var_90], 0
__text:001A4123 mov eax, [ebp+var_40]
__text:001A4126 mov [esp+98h+var_94], eax
__text:001A412A mov [esp+98h+var_98], offset aBusFrequency6d ; " BUS: Frequency = %6d.%04dMHz, cvtt2n ="...
__text:001A4131 call _kprintf
__text:001A4136 mov eax, 1
__text:001A413B cpuid
__text:001A413D mov [ebp+var_2C], eax
__text:001A4140 mov [ebp+var_28], ebx
__text:001A4143 mov [ebp+var_24], ecx
__text:001A4146 mov [ebp+var_20], edx
__text:001A4149 mov ecx, 198h
__text:001A414E rdmsr
__text:001A4150 mov eax, edx
__text:001A4152 shr eax, 8
__text:001A4155 and eax, 1Fh
__text:001A4158 mov [ebp+var_48], eax
__text:001A415B mov [ebp+var_44], 0
__text:001A4162 mov eax, [ebp+var_48]
__text:001A4165 mov edx, [ebp+var_44]
__text:001A4168 mov ds:_tscGranularity, eax
__text:001A416D mov ds:dword_439344, edx
__text:001A4173 mov [esp+98h+var_90], eax
__text:001A4177 mov [esp+98h+var_8C], edx
__text:001A417B mov eax, ds:_busFCvtt2n
__text:001A4180 mov edx, ds:dword_43936C
__text:001A4186 mov [esp+98h+var_98], eax
__text:001A4189 mov [esp+98h+var_94], edx
__text:001A418D call sub_3C72CD
__text:001A4192 mov ebx, eax
__text:001A4194 mov esi, edx
__text:001A4196 mov ds:_tscFCvtt2n, eax
__text:001A419B mov ds:dword_439354, edx
__text:001A41A1 mov [esp+98h+var_90], eax
__text:001A41A5 mov [esp+98h+var_8C], edx
__text:001A41A9 mov [esp+98h+var_98], 0
__text:001A41B0 mov [esp+98h+var_94], 3B9ACA00h
__text:001A41B8 call sub_3C72CD
__text:001A41BD mov [ebp+var_50], eax
__text:001A41C0 mov [ebp+var_4C], edx
__text:001A41C3 mov ds:_tscFreq, eax
__text:001A41C8 mov ds:dword_43935C, edx
__text:001A41CE mov [esp+98h+var_90], ebx
__text:001A41D2 mov [esp+98h+var_8C], esi
__text:001A41D6 mov [esp+98h+var_98], 0FFFFFFFFh
__text:001A41DD mov [esp+98h+var_94], 0FFFFFFFFh
__text:001A41E5 call sub_3C72CD
__text:001A41EA mov [ebp+var_60], eax
__text:001A41ED mov [ebp+var_5C], edx
__text:001A41F0 mov ds:_tscFCvtn2t, eax
__text:001A41F5 mov ds:dword_43934C, edx
__text:001A41FB mov eax, [ebp+var_48]
__text:001A41FE mov edx, [ebp+var_44]
__text:001A4201 mov [esp+98h+var_7C], eax
__text:001A4205 mov [esp+98h+var_78], edx
__text:001A4209 mov edx, [ebp+var_60]
__text:001A420C mov [esp+98h+var_80], edx
__text:001A4210 mov edx, [ebp+var_5C]
__text:001A4213 mov eax, edx
__text:001A4215 mov [esp+98h+var_84], eax
__text:001A4219 mov [esp+98h+var_88], ebx
__text:001A421D mov ebx, esi
__text:001A421F mov [esp+98h+var_8C], ebx
__text:001A4223 mov esi, [esp+98h+var_8C]
__text:001A4227 mov [esp+98h+var_90], 0F4240h
__text:001A422F mov [esp+98h+var_8C], 0
__text:001A4237 mov eax, [ebp+var_50]
__text:001A423A mov edx, [ebp+var_4C]
__text:001A423D mov [esp+98h+var_98], eax
__text:001A4240 mov [esp+98h+var_94], edx
__text:001A4244 call sub_3C742E
__text:001A4249 mov [esp+98h+var_8C], esi
__text:001A424D mov [esp+98h+var_90], eax
__text:001A4251 mov ebx, [esp+98h+var_90]
__text:001A4255 mov esi, [esp+98h+var_8C]
__text:001A4259 mov [esp+98h+var_90], 0F4240h
__text:001A4261 mov [esp+98h+var_8C], 0
__text:001A4269 mov eax, [ebp+var_50]
__text:001A426C mov edx, [ebp+var_4C]
__text:001A426F mov [esp+98h+var_98], eax
__text:001A4272 mov [esp+98h+var_94], edx
__text:001A4276 call sub_3C72CD
__text:001A427B mov [esp+98h+var_90], ebx
__text:001A427F mov [esp+98h+var_8C], esi
__text:001A4283 mov [esp+98h+var_94], eax
__text:001A4287 mov [esp+98h+var_98], offset aTscFrequency6d ; " TSC: Frequency = %6d.%04dMHz, cvtt2n ="...
__text:001A428E call _kprintf
__text:001A4293 mov eax, ds:_tscFCvtn2t
__text:001A4298 mov edx, ds:dword_43934C
__text:001A429E mov [esp+98h+var_90], eax
__text:001A42A2 mov [esp+98h+var_8C], edx
__text:001A42A6 mov eax, ds:_busFCvtt2n
__text:001A42AB mov edx, ds:dword_43936C
__text:001A42B1 mov [esp+98h+var_98], eax
__text:001A42B4 mov [esp+98h+var_94], edx
__text:001A42B8 call _tmrCvt
__text:001A42BD mov ds:_bus2tsc, eax
__text:001A42C2 mov ds:dword_43933C, edx
__text:001A42C8 add esp, 8Ch
__text:001A42CE pop ebx
__text:001A42CF pop esi
__text:001A42D0 pop edi
__text:001A42D1 pop ebp
__text:001A42D2 retn
__text:001A42D2 _tsc_init endp