Ignore:
Timestamp:
Apr 18, 2002, 3:35:24 AM (23 years ago)
Author:
bird
Message:

Identical enough.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/profilerfix/cppopa4.asm

    r8280 r8281  
    1 
    2 
     1; $Id: cppopa4.asm,v 1.2 2002-04-18 01:35:24 bird Exp $
    32;
    4 ; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    5 ; º     This file is generated by The Interactive Disassembler (IDA)        º
    6 ; º     Copyright (c) 2000 by DataRescue sa/nv, <ida@datarescue.com>        º
    7 ; º                      Licensed to: PMSC AS, 1 user                       º
    8 ; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ
     3; File Name         : G:\fun\cpppan40.obj\cpppan40.obj
     4; Format            : Object Module Format (OMF/IBM)
     5; Module name       : cppopa4.asm
     6; Translator        : ALP: Assembly Language Processor  Ver 4.00.002
     7; Debug info type   : Unknown
     8
     9
     10
     11        .586
     12        .MODEL FLAT
     13
     14    large EQU
     15
    916;
    10 ; File Name   : G:\fun\cpppan40.obj\cpppan40.obj
    11 ; Format      : Object Module Format (OMF/IBM)
    12 ; Module name      : cppopa4.asm
    13 ; Translator       : ALP: Assembly Language Processor  Ver 4.00.002
    14 ; Debug info type  : Unknown
    15 
    16 
    17 
    18         .586
    19                 .MODEL FLAT
    20 
    21     large EQU
    22 
    23 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    24 
    25 ; Segment type: Group
    26 ;FLAT           group
    27 
    28 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    29 
    30 ; Segment type: Group
    31 DGROUP          group DATA32,CONST32,BSS32
    32 
    33 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    34 
    35 ; Segment type: Externs
    36 ; extn00
     17;   Segment definitionas.
     18;
     19DATA32          segment dword public 'DATA' use32
     20DATA32          ends
     21CONST32         segment dword public 'DATA' use32
     22CONST32         ends
     23BSS32           segment dword public 'DATA' use32
     24BSS32           ends
     25
     26DGROUP          group DATA32, CONST32, BSS32
     27
     28CODE32          segment dword public 'CODE' use32
     29CODE32          ends
     30
     31
     32;
     33;   Externals
     34;
     35                extrn DosExit:near
    3736                extrn DosSleep:far
    38 
    39 ; Type idx: 134
    40 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    41 
    42 ; Segment type: Pure data
    43 DATA32          segment dword public 'DATA' use32
     37                extrn DosLoadModule:near
     38                extrn DosQueryProcAddr:near
     39                extrn DosUnwindException:near
     40
     41
     42;
     43;   Global Variables
     44;
     45DATA32          segment
    4446;               assume cs:DATA32
    4547                public $$PROSEGPTR32
    46 $$PROSEGPTR32       dd 0                        ; DATA XREF: $$PROFCALL32+5r
    47                                                         ; $$PROFCALL32+2Fr ...
    48 initAdr             dd 0                        ; DATA XREF: DoInit+27o
    49                                                         ; DoInit+63r
    50 alreadyTriedInit        dd 0                    ; DATA XREF: $$PROFCALL32+13r
    51                                                         ; $$PROFCALL32+25w ...
     48$$PROSEGPTR32   dd 0                    ; DATA XREF: $$PROFCALL32+5r
     49                                        ; $$PROFCALL32+2Fr ...
     50initAdr         dd 0                    ; DATA XREF: DoInit+27o
     51                                        ; DoInit+63r
     52alreadyTriedInit dd 0                   ; DATA XREF: $$PROFCALL32+13r
     53                                        ; $$PROFCALL32+25w ...
    5254DATA32          ends
    53 
    54 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    55 
    56 ; Segment type: Zero-length
    57 CONST32         segment dword public 'DATA' use32
    58 CONST32         ends
    59 
    60 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    61 
    62 ; Segment type: Zero-length
    63 BSS32           segment dword public 'DATA' use32
    64 BSS32           ends
    65 
    66 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    67 
    68 ; Segment type: Externs
    69 ; extn06
    70                 extrn DosExit:near      ; CODE XREF: CrashAndBurn+9p
    71 ; Type idx: 183
    72                 extrn DosLoadModule:near ; CODE XREF: DoInit+10p
    73 ; Type idx: 183
    74                 extrn DosQueryProcAddr:near ; CODE XREF: DoInit+38p
    75 ; Type idx: 183
    76                 extrn DosUnwindException:near ; CODE XREF: longjmp+11p
    77 
    78 ; Type idx: 513
    79 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    8055
    8156
     
    8358;   Structures and Typedefs
    8459;
    85 PROSEG struc
    86     proseg_flags        dw ?
    87     proseg_unused       dw ?
    88     proseg_rc           dd ?
    89     proseg_rcSys        dd ?
    90     proseg_clkIntCtr    dd ?
    91     proseg_initTics_low dd ?
    92     proseg_initTics_high dd ?
    93     proseg_exitTics_low dd ?
    94     proseg_exitTics_high dd ?
    95     proseg_preTics_low dd ?
    96     proseg_preTics_high dd ?
    97     proseg_postTics_low dd ?
    98     proseg_postTics_high dd ?
     60PROSEG          struc
     61    proseg_flags            dw ?
     62    proseg_unused           dw ?
     63    proseg_rc               dd ?
     64    proseg_rcSys            dd ?
     65    proseg_clkIntCtr        dd ?
     66    proseg_initTics_low     dd ?
     67    proseg_initTics_high    dd ?
     68    proseg_exitTics_low     dd ?
     69    proseg_exitTics_high    dd ?
     70    proseg_preTics_low      dd ?
     71    proseg_preTics_high     dd ?
     72    proseg_postTics_low     dd ?
     73    proseg_postTics_high    dd ?
    9974    proseg_clockFrequency_low dd ?
    10075    proseg_clockFrequency_high dd ?
    101     proseg_logBuf1st dd ?
    102     proseg_logBufMax dd ?
    103     proseg_logBufNext dd ?
    104     proseg_logBufWrap dd ?
    105     proseg_procAddrs  dd 7 dup(?)
    106     proseg_maxTid dd ?
    107     proseg_ptrCurTid dd ?
    108     proseg_maxSuffixBytes dd ?
    109     proseg_usedSuffixBytes dd ?
    110     proseg_ptrSuffixBytes dd ?
    111     proseg_ticsEntry dd ?
    112     proseg_ticsExit dd ?
    113     proseg_ticsUser dd ?
    114     proseg_curTidNum dd ?
    115     proseg_extraDDH dd ?
    116     proseg_appDDH dd ?
    117     proseg_logDev db 16 dup(?)
    118     proseg_logDLL db 16 dup(?)
    119     proseg_procNames db 112 dup(?)
    120     ;_counterArray db 36 dup(?)
    121     _counterArray dd 9 dup(?)
    122     _command dd ?
    123     _parm dd 3 dup(?)
    124     proseg_retStacks dd ?
    125     proseg_tidDecNest dd ?
    126     proseg_tidMaxNest dd ?
    127     proseg_tidTrigger dd ?
    128     conditionalExit dd ?
    129     _cpuType dd ?
    130     _lockFlag dd ?
    131     proseg_reserved dd 2 dup(?)
    132 PROSEG ends
    133 
    134 ;
    135 TVersionId struc
     76    proseg_logBuf1st        dd ?
     77    proseg_logBufMax        dd ?
     78    proseg_logBufNext       dd ?
     79    proseg_logBufWrap       dd ?
     80    proseg_procAddrs        dd 7 dup(?)
     81    proseg_maxTid           dd ?
     82    proseg_ptrCurTid        dd ?
     83    proseg_maxSuffixBytes   dd ?
     84    proseg_usedSuffixBytes  dd ?
     85    proseg_ptrSuffixBytes   dd ?
     86    proseg_ticsEntry        dd ?
     87    proseg_ticsExit         dd ?
     88    proseg_ticsUser         dd ?
     89    proseg_curTidNum        dd ?
     90    proseg_extraDDH         dd ?
     91    proseg_appDDH           dd ?
     92    proseg_logDev           db 16 dup(?)
     93    proseg_logDLL           db 16 dup(?)
     94    proseg_procNames        db 112 dup(?)
     95    _counterArray           dd 9 dup(?)
     96    _command                dd ?
     97    _parm                   dd 3 dup(?)
     98    proseg_retStacks        dd ?
     99    proseg_tidDecNest       dd ?
     100    proseg_tidMaxNest       dd ?
     101    proseg_tidTrigger       dd ?
     102    conditionalExit         dd ?
     103    _cpuType                dd ?
     104    _lockFlag               dd ?
     105    proseg_reserved         dd 2 dup(?)
     106PROSEG          ends
     107
     108TVersionId      struc
    136109    _versionNumber      dd ?
    137110    _releaseNumber      dd ?
    138111    _modificationLevel  dd ?
    139112    _prosegSize         dd ?
    140 TVersionId ends
    141 
    142 TStackHeader struc
     113TVersionId      ends
     114
     115TStackHeader    struc
    143116    _offsetOfTop        dd ?
    144 TStackHeader ends
    145 
    146 TStackEntry struc
     117TStackHeader    ends
     118
     119TStackEntry     struc
    147120    _returnAddr         dd ?
    148121    _frameAddr          dd ?
    149 TStackEntry ends
    150 
    151 tib2_s struc
     122TStackEntry     ends
     123
     124tib2_s          struc
    152125    tib2_ultid          dd ?
    153126    tib2_ulpri          dd ?
     
    155128    tib2_usMCCount      dw ?
    156129    tib2_fMCForceFlag   dw ?
    157 tib2_s ends
    158 
    159 tib_s struc
     130tib2_s          ends
     131
     132tib_s           struc
    160133    tib_pexchain        dd ?
    161134    tib_pstack          dd ?
     
    164137    tib_version         dd ?
    165138    tib_arbpointer      dd ?
    166 tib_s ends
    167 
    168 pib_s struc
     139tib_s           ends
     140
     141pib_s           struc
    169142    pib_ulpid          dd ?
    170143    pib_ulppid         dd ?
     
    174147    pib_flstatus       dd ?
    175148    pib_ultype         dd ?
    176 pib_s ends
    177 
    178 
    179 ; Segment type: Pure code
    180 CODE32          segment dword public 'CODE' use32
    181                 assume cs:CODE32
    182                 ;org 10h
    183                 assume es:nothing, ss:nothing, ds:DGROUP, fs:nothing, gs:nothing
     149pib_s           ends
     150
     151
     152;
     153;   Code!
     154;
     155CODE32          segment
     156;                assume cs:CODE32
     157;                assume cs:FLAT
     158                assume es:nothing, ss:nothing, ds:FLAT, fs:nothing, gs:nothing
    184159
    185160; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    192167_ProfileHook32  endp
    193168
    194 ; Type idx: 513
    195 ; #line 247
    196 
    197 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
    198 
    199 
     169
     170;
     171; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     172;
    200173                public $$PROFCALL32
    201174$$PROFCALL32    proc near               ; CODE XREF: eCal+23j uCal+5p
     
    205178
    206179                pushfd
    207 ; #line 1
    208180                push    ebx
    209181                push    esi
    210182                push    edx
    211 ; #line 1
    212183                push    eax
    213184                mov     esi, $$PROSEGPTR32
     
    229200loc_6_4E:                               ; CODE XREF: $$PROFCALL32+Dj
    230201                mov     ebx, large fs:0Ch
    231 ; #line 1
    232202                test    dword ptr [esi], 10h
    233203                jnz     loc_6_FD
    234204                movzx   ebx, word ptr [ebx]
    235 ; #line 1
    236205                dec     ebx
    237206                cmp     ebx, [esi+64h]
    238207                jnb     loc_6_FD
    239 ; #line 1
    240208                mov     eax, [esi+164h]
    241209                mov     dword ptr [eax+ebx*4], 0FFFFFFFFh
    242210                mov     eax, [esi+160h]
    243211                cmp     dword ptr [eax+ebx*4], 0
    244 ; #line 1
    245212                jz      short loc_6_FD
    246213                nop
     
    250217                mov     eax, [esi+158h]
    251218                dec     dword ptr [eax+ebx*4]
    252 ; #line 1
    253219                js      short loc_6_104
    254220                nop
     
    261227                or      eax, eax
    262228                jnz     short loc_6_103
    263 ; #line 1
    264229                mov     eax, offset _ProfileHook32+0FFh
    265230                xchg    eax, [esp+18h+arg_0]
    266231                mov     edi, ebx
    267 ; #line 1
    268232                shl     edi, 0Ch
    269233                add     edi, [esi+154h]
     
    272236                call    checkForUnwindAtCall
    273237                pop     eax
    274 ; #line 1
    275238                add     dword ptr [edi], 8
    276239                add     edi, [edi]
    277240                mov     [edi], eax
    278 ; #line 1
    279241                lea     eax, [esp+18h]
    280242                mov     [edi+4], eax
    281243                mov     eax, [eax]
    282 ; #line 1
    283244                test    dword ptr [esi], 20h
    284245                jz      short loc_6_F4
     
    288249                nop
    289250                shl     ebx, 10h
    290 ; #line 1
    291251                mov     bl, 1
    292252                mov     edx, [esp+18h+var_14]
    293253                call    dword ptr [esi+58h]
    294 ; #line 1
    295254                jmp     short loc_6_FC
    296255; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    297                 align 4
     256;                align 4
     257                nop
     258                nop
     259                nop
    298260
    299261loc_6_F4:                               ; CODE XREF: $$PROFCALL32+CCj
    300262                shl     ebx, 10h
    301263                mov     bl, 40h ; '@'
    302 ; #line 1
    303264                call    dword ptr [esi+50h]
    304265
     
    309270                                        ; $$PROFCALL32+37j ...
    310271                pop     eax
    311 ; #line 1
    312272                pop     edx
    313273                pop     esi
    314274                pop     ebx
    315 ; #line 1
    316275                popfd
    317276                retn
     
    320279loc_6_103:                              ; CODE XREF: $$PROFCALL32+95j
    321280                pop     edi
    322 ; #line 1
    323281
    324282loc_6_104:                              ; CODE XREF: $$PROFCALL32+83j
     
    329287
    330288; Type idx: 513
    331 ; #line 1
    332289
    333290; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    344301                pushfd
    345302                push    eax
    346 ; #line 1
    347303                push    ebx
    348304                push    esi
    349305                push    edi
    350 ; #line 1
    351306                mov     ebx, large fs:0Ch
    352307                mov     esi, $$PROSEGPTR32
    353308                movzx   ebx, word ptr [ebx]
    354 ; #line 1
    355309                dec     ebx
    356310                mov     eax, [esi+158h]
    357311                inc     dword ptr [eax+ebx*4]
    358 ; #line 1
    359312                mov     edi, ebx
    360313                shl     edi, 0Ch
    361314                add     edi, [esi+154h]
    362 ; #line 1
    363315                push    eax
    364316                lea     eax, [esp+18h+var_4]
     
    367319                sub     dword ptr [edi], 8
    368320                add     edi, [edi]
    369 ; #line 1
    370321                mov     eax, [edi+8]
    371322                mov     [esp+14h], eax
    372323                shl     ebx, 10h
    373 ; #line 1
    374324                mov     bl, 0
    375325                call    dword ptr [esi+4Ch]
    376326                pop     edi
    377 ; #line 1
    378327                pop     esi
    379328                pop     ebx
    380329                pop     eax
    381 ; #line 1
    382330                popfd
    383331                retn
     
    396344
    397345                pushfd
    398 ; #line 1
    399346                push    ebx
    400347                push    esi
    401348                push    edx
    402 ; #line 1
    403349                push    eax
    404350                mov     esi, $$PROSEGPTR32
     
    420366loc_6_19F:                              ; CODE XREF: $$PROFTRIG32+Dj
    421367                test    dword ptr [esi], 10h
    422 ; #line 1
    423368                jnz     loc_6_24A
    424369                mov     ebx, large fs:0Ch
    425370                movzx   ebx, word ptr [ebx]
    426 ; #line 1
    427371                dec     ebx
    428372                cmp     ebx, [esi+64h]
    429373                jnb     loc_6_24A
    430 ; #line 1
    431374                mov     eax, [esi+164h]
    432375                mov     dword ptr [eax+ebx*4], 0FFFFFFFFh
    433376                mov     eax, [esi+158h]
    434377                dec     dword ptr [eax+ebx*4]
    435 ; #line 1
    436378                js      short loc_6_251
    437379                push    edi
     
    440382                or      eax, eax
    441383                jnz     short loc_6_250
    442 ; #line 1
    443384                mov     eax, offset _ProfileHook32+24Ch
    444385                xchg    eax, [esp+18h+arg_0]
    445386                cmp     eax, offset _ProfileHook32+24Ch
    446 ; #line 1
    447387                jz      short loc_6_250
    448388                mov     edi, [esi+160h]
    449389                inc     dword ptr [edi+ebx*4]
    450 ; #line 1
    451390                mov     edi, ebx
    452391                shl     edi, 0Ch
    453392                add     edi, [esi+154h]
    454 ; #line 1
    455393                push    eax
    456394                lea     eax, [esp+1Ch]
     
    459397                add     dword ptr [edi], 8
    460398                add     edi, [edi]
    461 ; #line 1
    462399                mov     [edi], eax
    463400                lea     eax, [esp+18h]
    464401                mov     [edi+4], eax
    465 ; #line 1
    466402                mov     eax, [eax]
    467403                test    dword ptr [esi], 20h
     
    471407                nop
    472408                nop
    473 ; #line 1
    474409                shl     ebx, 10h
    475410                mov     bl, 1
     
    478413                jmp     short loc_6_249
    479414; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    480                 db 3 dup(90h)
    481 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    482 ; #line 1
     415                ; align 4 ??
     416                nop
     417                nop
     418                nop
     419
     420; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    483421
    484422loc_6_241:                              ; CODE XREF: $$PROFTRIG32+C8j
     
    486424                mov     bl, 40h ; '@'
    487425                call    dword ptr [esi+50h]
    488 ; #line 1
    489426
    490427loc_6_249:                              ; CODE XREF: $$PROFTRIG32+DAj
     
    495432                pop     eax
    496433                pop     edx
    497 ; #line 1
    498434                pop     esi
    499435                pop     ebx
    500436                popfd
    501 ; #line 1
    502437                retn
    503438; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
     
    509444loc_6_251:                              ; CODE XREF: $$PROFTRIG32+73j
    510445                mov     eax, [esi+158h]
    511 ; #line 1
    512446                inc     dword ptr [eax+ebx*4]
    513447                jmp     short loc_6_24A
     
    527461
    528462                lea     esp, [esp-4]
    529 ; #line 1
    530463                pushfd
    531464                push    eax
    532465                push    ebx
    533 ; #line 1
    534466                push    esi
    535467                push    edi
    536468                mov     ebx, large fs:0Ch
    537 ; #line 1
    538469                mov     esi, $$PROSEGPTR32
    539470                movzx   ebx, word ptr [ebx]
    540471                dec     ebx
    541 ; #line 1
    542472                mov     eax, [esi+158h]
    543473                inc     dword ptr [eax+ebx*4]
    544474                mov     edi, ebx
    545 ; #line 1
    546475                shl     edi, 0Ch
    547476                add     edi, [esi+154h]
     
    550479                call    checkForUnwindAtReturn
    551480                pop     eax
    552 ; #line 1
    553481                sub     dword ptr [edi], 8
    554482                add     edi, [edi]
    555483                mov     eax, [edi+8]
    556 ; #line 1
    557484                mov     [esp+18h+var_4], eax
    558485                mov     eax, [esi+160h]
    559486                dec     dword ptr [eax+ebx*4]
    560 ; #line 1
    561487                shl     ebx, 10h
    562488                call    dword ptr [esi+4Ch]
    563489                pop     edi
    564 ; #line 1
    565490                pop     esi
    566491                pop     ebx
    567492                pop     eax
    568 ; #line 1
    569493                popfd
    570494                retn
     
    582506
    583507; Type idx: 513
    584 ; #line 1
    585508
    586509; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    599522                push    ebx
    600523                push    esi
    601 ; #line 1
    602524                push    edx
    603525                push    eax
     
    617539                or      esi, esi
    618540                jz      loc_6_40B
    619 ; #line 1
    620541
    621542loc_6_2F4:                              ; CODE XREF: $$PROFEYEC32+Dj
     
    623544                jnz     loc_6_40B
    624545                mov     ebx, large fs:0Ch
    625 ; #line 1
    626546                movzx   ebx, word ptr [ebx]
    627547                dec     ebx
    628548                cmp     ebx, [esi+64h]
    629 ; #line 1
    630549                jnb     loc_6_40B
    631550                mov     eax, [esi+160h]
    632551                cmp     dword ptr [eax+ebx*4], 0
    633 ; #line 1
    634552                jz      loc_6_40B
    635553                mov     eax, [esi+158h]
    636554                dec     dword ptr [eax+ebx*4]
    637 ; #line 1
    638555                js      loc_6_412
    639556                push    edi
     
    642559                or      eax, eax
    643560                jnz     loc_6_411
    644 ; #line 1
    645561                mov     eax, offset _ProfileHook32+0FFh
    646562                xchg    eax, [esp+18h+arg_0]
    647563                cmp     eax, offset _ProfileHook32+0FFh
    648 ; #line 1
    649564                jnz     short loc_6_36A
    650565                mov     eax, 0FFFFFFFDh
    651566                call    PERF
    652 ; #line 1
    653567                inc     dword ptr [esi+134h]
    654568                jmp     loc_6_411
     
    657571loc_6_36A:                              ; CODE XREF: $$PROFEYEC32+9Cj
    658572                mov     edi, ebx
    659 ; #line 1
    660573                shl     edi, 0Ch
    661574                add     edi, [esi+154h]
     
    664577                call    checkForUnwindAtCall
    665578                pop     eax
    666 ; #line 1
    667579                add     dword ptr [edi], 8
    668580                add     edi, [edi]
    669581                mov     [edi], eax
    670 ; #line 1
    671582                lea     eax, [esp+18h]
    672583                mov     [edi+4], eax
    673584                mov     eax, [eax]
    674 ; #line 1
    675585                push    dword ptr [edi]
    676586                test    dword ptr [esi], 20h
     
    680590                nop
    681591                nop
    682 ; #line 1
    683592                shl     ebx, 10h
    684593                mov     bl, 1
    685594                mov     edx, [esp+1Ch+var_10]
    686 ; #line 1
    687595                call    dword ptr [esi+58h]
    688596                jmp     short loc_6_3B7
    689597; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    690                 db 3 dup(90h)
     598                ; align 4 ??
     599                nop
     600                nop
     601                nop
    691602; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    692603
    693604loc_6_3AF:                              ; CODE XREF: $$PROFEYEC32+E1j
    694605                shl     ebx, 10h
    695 ; #line 1
    696606                mov     bl, 40h ; '@'
    697607                call    dword ptr [esi+50h]
     
    699609loc_6_3B7:                              ; CODE XREF: $$PROFEYEC32+F3j
    700610                pop     ebx
    701 ; #line 1
    702611                mov     ebx, [ebx]
    703612                cmp     bl, 0A9h ; '©'
    704613                jnz     short loc_6_40A
    705 ; #line 1
    706614                xor     bl, bl
    707615                lea     edi, [esp+18h+arg_4]
    708616                mov     eax, [esp+18h+var_14]
    709 ; #line 1
    710617                mov     esi, offset _ProfileHook32+3E1h
    711618
     
    714621                shl     ebx, 1
    715622                jb      short loc_6_3DD
    716 ; #line 1
    717623                add     edi, 4
    718624                shl     ebx, 1
    719625                jb      short loc_6_3EF
    720 ; #line 1
    721626                jz      short loc_6_40A
    722627                jmp     short loc_6_3CE
     
    725630loc_6_3DD:                              ; CODE XREF: $$PROFEYEC32+119j
    726631                shl     ebx, 1
    727 ; #line 1
    728632                jb      short loc_6_3E8
    729633                fstp    qword ptr [edi]
    730634                add     edi, 8
    731 ; #line 1
    732635                jmp     short loc_6_3CE
    733636; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
     
    736639                fstp    tbyte ptr [edi]
    737640                add     edi, 10h
    738 ; #line 1
    739641                jmp     short loc_6_3CE
    740642; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
     
    744646; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    745647                mov     esi, offset _ProfileHook32+3EBh
    746 ; #line 1
    747648                mov     [edi-4], eax
    748649                jmp     short loc_6_3CE
    749650; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    750651                mov     esi, offset _ProfileHook32+3F5h
    751 ; #line 1
    752652                mov     [edi-4], edx
    753653                jmp     short loc_6_3CE
     
    756656                jmp     short loc_6_3CE
    757657; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    758 ; #line 1
    759658
    760659loc_6_40A:                              ; CODE XREF: $$PROFEYEC32+106j
     
    766665                pop     eax
    767666                pop     edx
    768 ; #line 1
    769667                pop     esi
    770668                pop     ebx
    771669                popfd
    772 ; #line 1
    773670                retn
    774671; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
     
    780677loc_6_412:                              ; CODE XREF: $$PROFEYEC32+76j
    781678                mov     eax, [esi+158h]
    782 ; #line 1
    783679                inc     dword ptr [eax+ebx*4]
    784680                jmp     short loc_6_40B
     
    799695
    800696; Type idx: 183
    801 ; #line 1
    802697
    803698; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    809704                push    esi
    810705                push    ecx
    811 ; #line 1
    812706                push    edx
    813707                mov     esi, $$PROSEGPTR32
     
    837731loc_6_45A:                              ; CODE XREF: PROFITCAL+Cj
    838732                test    dword ptr [esi], 10h
    839 ; #line 1
    840733                jnz     short loc_6_494
    841734                nop
     
    845738                mov     ebx, large fs:0Ch
    846739                movzx   ebx, word ptr [ebx]
    847 ; #line 1
    848740                dec     ebx
    849741                cmp     ebx, [esi+64h]
    850742                jnb     short loc_6_494
    851 ; #line 1
    852743                mov     edx, [esi+158h]
    853744                mov     edx, [edx+ebx*4]
    854745                mov     ecx, [esi+15Ch]
    855 ; #line 1
    856746                cmp     edx, [ecx+ebx*4]
    857747                jz      short loc_6_494
    858748                push    edi
    859 ; #line 1
    860749                shl     ebx, 10h
    861750                mov     bl, 20h ; ' '
    862751                call    dword ptr [esi+50h]
    863 ; #line 1
    864752                pop     edi
    865753
     
    868756                pop     edx
    869757                pop     ecx
    870 ; #line 1
    871758                pop     esi
    872759                pop     ebx
     
    875762
    876763; Type idx: 513
    877 ; #line 1
    878764
    879765; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    885771                push    esi
    886772                push    ecx
    887 ; #line 1
    888773                push    edx
    889774                mov     esi, $$PROSEGPTR32
    890775                or      esi, esi
    891 ; #line 1
    892776                jz      short loc_6_4C9
    893777                nop
     
    897781                xor     ecx, ecx
    898782                xor     edx, edx
    899 ; #line 1
    900783                mov     dx, [esi]
    901784                mov     cx, dx
    902785                and     dx, 10h
    903 ; #line 1
    904786                xor     cx, dx
    905787                mov     [esi], cx
    906788                mov     eax, 0FFFFFFFEh
    907 ; #line 1
    908789                call    PERF
    909790
     
    911792                pop     edx
    912793                pop     ecx
    913 ; #line 1
    914794                pop     esi
    915795                pop     eax
     
    918798
    919799; Type idx: 513
    920 ; #line 1
    921800
    922801; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    928807                push    esi
    929808                push    ecx
    930 ; #line 1
    931809                push    edx
    932810                mov     esi, $$PROSEGPTR32
    933811                or      esi, esi
    934 ; #line 1
    935812                jz      short loc_6_4F8
    936813                nop
     
    940817                mov     eax, 0FFFFFFFFh
    941818                call    PERF
    942 ; #line 1
    943819                xor     ecx, ecx
    944820                xor     edx, edx
    945821                mov     cx, [esi]
    946 ; #line 1
    947822                or      cx, 10h
    948823                mov     [esi], cx
     
    950825loc_6_4F8:                              ; CODE XREF: PerfStop+Cj
    951826                pop     edx
    952 ; #line 1
    953827                pop     ecx
    954828                pop     esi
    955829                pop     eax
    956 ; #line 1
    957830                retn
    958831PerfStop        endp
     
    975848
    976849                call    _ProfileHook32
    977 ; #line 1
    978850                mov     [eax+4], ecx
    979851                mov     [eax+0Ch], ebx
    980852                mov     [eax+14h], esi
    981 ; #line 1
    982853                mov     [eax+10h], edi
    983854                mov     [eax], ebp
    984855                lea     edx, [esp+arg_0]
    985 ; #line 1
    986856                mov     [eax+8], edx
    987857                mov     edx, large fs:0
    988858                mov     [eax+18h], edx
    989 ; #line 1
    990859                fstcw   word ptr [eax+1Ch]
    991860                xor     eax, eax
     
    995864
    996865; Type idx: 513
    997 ; #line 1
    998866
    999867; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    1005873                push    eax
    1006874                push    edx
    1007 ; #line 1
    1008875                push    0
    1009876                push    offset _ProfileHook32+53Bh
    1010877                push    dword ptr [eax+18h]
    1011 ; #line 1
    1012878                call    DosUnwindException
    1013879                mov     edx, 0FCCCh
     
    1015881
    1016882; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    1017 ; #line 1
    1018883                add     esp, 0Ch
    1019884                pop     edx
    1020885                pop     eax
    1021 ; #line 1
    1022886                mov     ecx, $$PROSEGPTR32
    1023887                jecxz   short loc_6_5C2
    1024888                mov     ebx, large fs:0Ch
    1025 ; #line 1
    1026889                mov     esi, ecx
    1027890                movzx   ebx, word ptr [ebx]
    1028891                dec     ebx
    1029 ; #line 1
    1030892                cmp     ebx, [esi+64h]
    1031893                jnb     short loc_6_5C2
    1032894                push    eax
    1033 ; #line 1
    1034895                push    edx
    1035896                mov     eax, [eax+8]
    1036897                xor     ecx, ecx
    1037 ; #line 1
    1038898                mov     edi, ebx
    1039899                shl     edi, 0Ch
    1040900                add     edi, [esi+154h]
    1041 ; #line 1
    1042901
    1043902loc_6_57C:                              ; CODE XREF: CODE32:000005B0j
     
    1045904                or      edx, edx
    1046905                jz      short loc_6_5B2
    1047 ; #line 1
    1048906                cmp     eax, [edi+edx+4]
    1049907                jbe     short loc_6_5B2
    1050908                mov     edx, [edi+edx+4]
    1051909                mov     edx, [edx+4]
    1052 ; #line 1
    1053910                cmp     edx, offset _ProfileHook32+24Ch
    1054911                jnz     short loc_6_5A2
    1055912                push    eax
    1056 ; #line 1
    1057913                mov     eax, [esi+160h]
    1058914                dec     dword ptr [eax+ebx*4]
    1059915                pop     eax
    1060 ; #line 1
    1061916
    1062917loc_6_5A2:                              ; CODE XREF: CODE32:00000595j
     
    1064919                mov     eax, [esi+158h]
    1065920                inc     dword ptr [eax+ebx*4]
    1066 ; #line 1
    1067921                pop     eax
    1068922                sub     dword ptr [edi], 8
    1069923                loop    loc_6_57C
    1070 ; #line 1
    1071924
    1072925loc_6_5B2:                              ; CODE XREF: CODE32:00000580j
     
    1075928                jz      short loc_6_5DD
    1076929                mov     eax, ecx
    1077 ; #line 1
    1078930                shl     ebx, 10h
    1079931                mov     bl, 10h
    1080932                call    dword ptr [esi+50h]
    1081 ; #line 1
    1082933                pop     edx
    1083934                pop     eax
     
    1086937                                        ; CODE32:00000568j
    1087938                xchg    eax, edx
    1088 ; #line 1
    1089939                finit
    1090940                wait
    1091941                fldcw   word ptr [edx+1Ch]
    1092 ; #line 1
    1093942                mov     ebx, [edx+0Ch]
    1094943                mov     esi, [edx+14h]
    1095944                mov     edi, [edx+10h]
    1096 ; #line 1
    1097945                mov     ebp, [edx]
    1098946                mov     esp, [edx+8]
    1099947                or      eax, eax
    1100 ; #line 1
    1101948                jnz     short loc_6_5DD
    1102949                inc     eax
     
    1109956ExceptionThrownString   db 'C++ exception thrown here:',0
    1110957; Type idx: 513
    1111 ; #line 1
    1112958
    1113959; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    1119965                mov     eax, offset _ProfileHook32+5D0h
    1120966                call    PERF
    1121 ; #line 1
    1122967                pop     eax
    1123968                jmp     PERF
     
    1132977_ProfileUnwind32 proc near
    1133978                push    ebx
    1134 ; #line 1
    1135979                push    esi
    1136980                push    edi
    1137981                mov     esi, $$PROSEGPTR32
    1138 ; #line 1
    1139982                or      esi, esi
    1140983                jz      short loc_6_67A
    1141984                mov     ebx, large fs:0Ch
    1142 ; #line 1
    1143985                movzx   ebx, word ptr [ebx]
    1144986                dec     ebx
    1145987                cmp     ebx, [esi+64h]
    1146 ; #line 1
    1147988                jnb     short loc_6_67A
    1148989                xor     ecx, ecx
    1149990                mov     edi, ebx
    1150 ; #line 1
    1151991                shl     edi, 0Ch
    1152992                add     edi, [esi+154h]
     
    1154994loc_6_636:                              ; CODE XREF: _ProfileUnwind32+5Ej
    1155995                mov     edx, [edi]
    1156 ; #line 1
    1157996                or      edx, edx
    1158997                jz      short loc_6_66C
    1159998                cmp     eax, [edi+edx+4]
    1160 ; #line 1
    1161999                jbe     short loc_6_66C
    11621000                mov     edx, [edi+edx+4]
    11631001                mov     edx, [edx+4]
    1164 ; #line 1
    11651002                cmp     edx, offset _ProfileHook32+24Ch
    11661003                jnz     short loc_6_65C
    11671004                push    eax
    1168 ; #line 1
    11691005                mov     eax, [esi+160h]
    11701006                dec     dword ptr [eax+ebx*4]
    11711007                pop     eax
    1172 ; #line 1
    11731008
    11741009loc_6_65C:                              ; CODE XREF: _ProfileUnwind32+43j
     
    11761011                mov     eax, [esi+158h]
    11771012                inc     dword ptr [eax+ebx*4]
    1178 ; #line 1
    11791013                pop     eax
    11801014                sub     dword ptr [edi], 8
    11811015                loop    loc_6_636
    1182 ; #line 1
    11831016
    11841017loc_6_66C:                              ; CODE XREF: _ProfileUnwind32+2Ej
     
    11871020                jz      short loc_6_67A
    11881021                mov     eax, ecx
    1189 ; #line 1
    11901022                shl     ebx, 10h
    11911023                mov     bl, 10h
    11921024                call    dword ptr [esi+50h]
    1193 ; #line 1
    11941025
    11951026loc_6_67A:                              ; CODE XREF: _ProfileUnwind32+Bj
     
    11981029                pop     esi
    11991030                pop     ebx
    1200 ; #line 1
    12011031                retn
    12021032_ProfileUnwind32 endp
     
    12111041                push    esi
    12121042                mov     esi, $$PROSEGPTR32
    1213 ; #line 1
    12141043                mov     ecx, [esi+158h]
    12151044                dec     dword ptr [ecx]
    12161045                mov     ecx, 8
    1217 ; #line 1
    12181046
    12191047loc_6_692:                              ; CODE XREF: CODE32:000006A7j
     
    12211049                push    offset _ProfileHook32+697h
    12221050                push    offset _ProfileHook32+1
    1223 ; #line 1
    12241051                jmp     $$PROFCALL32
    12251052
     
    12281055; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    12291056                loop    loc_6_692
    1230 ; #line 1
    12311057                push    eax
    12321058                mov     eax, [esi+158h]
    12331059                inc     dword ptr [eax]
    1234 ; #line 1
    12351060                pop     eax
    12361061                pop     esi
    12371062                retn
    12381063; Type idx: 513
    1239 ; #line 1
    12401064eCal            endp
    12411065
     
    12481072                call    $$PROFCALL32
    12491073                push    esi
    1250 ; #line 1
    12511074                mov     esi, $$PROSEGPTR32
    12521075                mov     ecx, 8
     
    12541077loc_6_6CB:                              ; CODE XREF: uCal+22j
    12551078                push    ecx
    1256 ; #line 1
    12571079                call    PROFITCAL
    12581080                call    PROFITCAL
    12591081                pop     ecx
    1260 ; #line 1
    12611082                loop    loc_6_6CB
    12621083                pop     esi
     
    12651086
    12661087; Type idx: 513
    1267 ; #line 1
    12681088
    12691089; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    12751095                mov     [esi+8], eax
    12761096                push    eax
    1277 ; #line 1
    12781097                push    1
    12791098                call    DosExit
     
    12911110                                        ; $$PROFTRIG32+20p ...
    12921111                pushad
    1293 ; #line 1
    12941112                xor     ebx, ebx
    12951113                push    ebx
    12961114                mov     eax, esp
    1297 ; #line 1
    12981115                push    eax
    12991116                lea     eax, logDllName ; "CPPPAN40"
    13001117                push    eax
    1301 ; #line 1
    13021118                push    ebx
    13031119                push    ebx
    13041120                call    DosLoadModule
    13051121                add     esp, 10h
    1306 ; #line 1
    13071122                mov     edx, 0FAD8h
    13081123                or      eax, eax
    13091124                jnz     short CrashAndBurn
    1310 ; #line 1
    13111125                pop     edx
    13121126                mov     ecx, 7
    13131127                lea     edi, initAdr
    1314 ; #line 1
    13151128                push    edi
    13161129                lea     ebx, initName ; "INIT_PROSEG"
    13171130                push    ebx
    1318 ; #line 1
    13191131                push    0
    13201132                push    edx
    13211133                call    DosQueryProcAddr
    1322 ; #line 1
    13231134                add     esp, 10h
    13241135                mov     edx, 0FB3Ch
    13251136                or      eax, eax
    1326 ; #line 1
    13271137                jnz     short CrashAndBurn
    13281138                xor     ebx, ebx
    13291139                push    ebx
    1330 ; #line 1
    13311140                push    ebx
    13321141                mov     eax, esp
    13331142                mov     edx, offset _ProfileHook32+66Eh
    1334 ; #line 1
    13351143                mov     ecx, offset _ProfileHook32+6A5h
    13361144                lea     esi, $$PROSEGPTR32
    13371145                push    esi
    1338 ; #line 1
    13391146                sub     esp, 0Ch
    13401147                call    initAdr
    13411148                add     esp, 10h
    1342 ; #line 1
    13431149                or      eax, eax
    13441150                pop     edx
    13451151                pop     eax
    1346 ; #line 1
    13471152                jnz     CrashAndBurn
    13481153                popad
    13491154                mov     esi, $$PROSEGPTR32
    1350 ; #line 1
    13511155                retn
    13521156DoInit  endp
     
    13621166                test    word ptr [esi], 40h
    13631167                jz      short locret_6_7D0
    1364 ; #line 12
    13651168                test    word ptr [esi], 80h
    13661169                jz      short locret_6_7D0
    13671170                push    edx
    1368 ; #line 12
    13691171                push    ecx
    13701172                mov     edx, edi
    13711173                add     edx, [edx]
    1372 ; #line 12
    13731174                xor     ecx, ecx
    13741175
     
    13761177                cmp     edx, edi
    13771178                jbe     short loc_6_7AB
    1378 ; #line 12
    13791179                cmp     [edx+4], eax
    13801180                ja      short loc_6_7AB
    13811181                sub     edx, 8
    1382 ; #line 12
    13831182                sub     dword ptr [edi], 8
    13841183                loop    loc_6_792
    13851184                xor     eax, eax
    13861185                mov     dword ptr [eax], 0
    1387 ; #line 12
    13881186
    13891187loc_6_7AB:                              ; CODE XREF: checkForUnwindAtCall+18j
     
    13921190                jz      short loc_6_7CE
    13931191                add     [esi+ebx*4+158h], ecx
    1394 ; #line 12
    13951192                mov     eax, 0FFFFFFFCh
    13961193                call    PERF
    13971194                push    ebx
    1398 ; #line 12
    13991195                push    edi
    14001196                shl     ebx, 10h
    14011197                mov     bl, 10h
    1402 ; #line 12
    14031198                mov     eax, ecx
    14041199                call    dword ptr [esi+50h]
    14051200                pop     edi
    1406 ; #line 12
    14071201                pop     ebx
    14081202
     
    14101204                pop     ecx
    14111205                pop     edx
    1412 ; #line 12
    14131206
    14141207locret_6_7D0:                           ; CODE XREF: checkForUnwindAtCall+5j
     
    14271220                test    word ptr [esi], 40h
    14281221                jz      short locret_6_82F
    1429 ; #line 12
    14301222                test    word ptr [esi], 80h
    14311223                jz      short locret_6_82F
    14321224                cmp     dword ptr [edi], 10h
    1433 ; #line 12
    14341225                jb      short locret_6_82F
    14351226                push    edx
    14361227                push    ecx
    1437 ; #line 12
    14381228                mov     edx, edi
    14391229                add     edx, [edx]
    14401230                xor     ecx, ecx
    1441 ; #line 12
    14421231
    14431232loc_6_7EC:                              ; CODE XREF: checkForUnwindAtReturn+2Fj
     
    14451234                jnb     short loc_6_80A
    14461235                sub     edx, 8
    1447 ; #line 12
    14481236                cmp     edx, edi
    14491237                jbe     short loc_6_80A
    14501238                cmp     [edx+4], eax
    1451 ; #line 12
    14521239                ja      short loc_6_80A
    14531240                sub     dword ptr [edi], 8
    14541241                loop    loc_6_7EC
    1455 ; #line 12
    14561242                xor     eax, eax
    14571243                mov     dword ptr [eax], 0
     
    14611247                neg     ecx
    14621248                jz      short loc_6_82D
    1463 ; #line 12
    14641249                add     [esi+ebx*4+158h], ecx
    14651250                mov     eax, 0FFFFFFFBh
    14661251                call    PERF
    1467 ; #line 12
    14681252                push    ebx
    14691253                push    edi
    14701254                shl     ebx, 10h
    1471 ; #line 12
    14721255                mov     bl, 10h
    14731256                mov     eax, ecx
    14741257                call    dword ptr [esi+50h]
    1475 ; #line 12
    14761258                pop     edi
    14771259                pop     ebx
     
    14791261loc_6_82D:                              ; CODE XREF: checkForUnwindAtReturn+3Bj
    14801262                pop     ecx
    1481 ; #line 12
    14821263                pop     edx
    14831264
     
    14961277                                        ; $$PROFTRIG32+7Ap ...
    14971278                push    edi
    1498 ; #line 13
    14991279                test    word ptr [esi], 40h
    15001280                jz      short loc_6_85F
    15011281                test    word ptr [esi], 80h
    1502 ; #line 13
    15031282                jz      short loc_6_85F
    15041283                mov     edi, ebx
    15051284                shl     edi, 0Ch
    1506 ; #line 13
    15071285                add     edi, [esi+154h]
    15081286                cmp     dword ptr [edi], 0
     
    15121290                nop
    15131291                nop
    1514 ; #line 13
    15151292                cmp     eax, [edi+0Ch]
    15161293                ja      short loc_6_863
    15171294                add     edi, [edi]
    1518 ; #line 13
    15191295                cmp     eax, [edi+4]
    15201296                jz      short loc_6_86A
     
    15231299                                        ; verifyStackFrame+Dj ...
    15241300                xor     eax, eax
    1525 ; #line 13
    15261301                jmp     short loc_6_879
    15271302; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
     
    15311306                jmp     short loc_6_86F
    15321307; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
    1533 ; #line 13
    15341308
    15351309loc_6_86A:                              ; CODE XREF: verifyStackFrame+2Dj
     
    15421316loc_6_879:                              ; CODE XREF: verifyStackFrame+31j
    15431317                pop     edi
    1544 ; #line 13
    15451318                retn
    15461319verifyStackFrame endp
     
    15561329                push    ebp
    15571330                mov     ebp, esp
    1558 ; #line 14
    15591331                pushfd
    15601332                push    esi
     
    15661338                test    word ptr [esi], 10h
    15671339                jnz     short loc_6_8EE
    1568 ; #line 14
    15691340                push    edi
    15701341                push    ebx
    15711342                push    ecx
    1572 ; #line 14
    15731343                mov     ebx, large fs:0Ch
    15741344                mov     ebx, [ebx]
     
    15801350                jz      short loc_6_8EB
    15811351                mov     edi, ebx
    1582 ; #line 14
    15831352                shl     ebx, 10h
    15841353                mov     eax, [ebp+4]
    15851354                push    edx
    1586 ; #line 14
    15871355                mov     ecx, [esi+164h]
    15881356                mov     edx, [ecx+edi*4]
    15891357                cmp     edx, 0FFFFFFFFh
    1590 ; #line 14
    15911358                jz      short loc_6_8E5
    15921359                mov     bl, 5
    15931360                push    eax
    1594 ; #line 14
    15951361                push    ebx
    15961362                push    edi
    15971363                call    dword ptr [esi+58h]
    1598 ; #line 14
    15991364                pop     edi
    16001365                pop     ebx
    16011366                pop     eax
    1602 ; #line 14
    16031367                mov     ecx, [esi+164h]
    16041368                mov     dword ptr [ecx+edi*4], 0FFFFFFFFh
     
    16061370loc_6_8E5:                              ; CODE XREF: _ProfileEnterParagraph32+50j
    16071371                mov     bl, 4
    1608 ; #line 14
    16091372                pop     edx
    16101373                call    dword ptr [esi+58h]
     
    16131376                                        ; _ProfileEnterParagraph32+39j
    16141377                pop     ecx
    1615 ; #line 14
    16161378                pop     ebx
    16171379                pop     edi
     
    16201382                                        ; _ProfileEnterParagraph32+14j ...
    16211383                pop     esi
    1622 ; #line 14
    16231384                popfd
    16241385                pop     ebp
     
    16271388
    16281389; Type idx: 513
    1629 ; #line 14
    16301390
    16311391; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    16381398                mov     ebp, esp
    16391399                pushfd
    1640 ; #line 14
    16411400                push    esi
    16421401                mov     esi, $$PROSEGPTR32
     
    16481407                jnz     short loc_6_939
    16491408                push    ebx
    1650 ; #line 14
    16511409                mov     ebx, large fs:0Ch
    16521410                mov     ebx, [ebx]
     
    16581416                jz      short loc_6_938
    16591417                mov     edx, eax
    1660 ; #line 14
    16611418                mov     eax, [ebp+4]
    16621419                shl     ebx, 10h
    16631420                mov     bl, 5
    1664 ; #line 14
    16651421                call    dword ptr [esi+58h]
    16661422
     
    16721428                                        ; _ProfileExitParagraph32+14j ...
    16731429                pop     esi
    1674 ; #line 14
    16751430                popfd
    16761431                pop     ebp
     
    16791434
    16801435; Type idx: 513
    1681 ; #line 14
    16821436
    16831437; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
     
    16951449                test    word ptr [esi], 10h
    16961450                jnz     short loc_6_973
    1697 ; #line 14
    16981451                push    ebx
    16991452                push    ecx
     
    17031456                ja      short loc_6_971
    17041457                dec     ebx
    1705 ; #line 14
    17061458                mov     ecx, [esi+164h]
    17071459                mov     [ecx+ebx*4], eax
     
    17091461loc_6_971:                              ; CODE XREF: _ProfileConditionalExit32+28j
    17101462                pop     ecx
    1711 ; #line 14
    17121463                pop     ebx
    17131464
     
    17161467                pop     esi
    17171468                popfd
    1718 ; #line 14
    17191469                retn
    17201470_ProfileConditionalExit32 endp
     
    17291479                pushfd
    17301480                push    esi
    1731 ; #line 14
    17321481                mov     esi, $$PROSEGPTR32
    17331482                or      esi, esi
     
    17391488                push    ebx
    17401489                push    ecx
    1741 ; #line 14
    17421490                mov     ebx, large fs:0Ch
    17431491                mov     ebx, [ebx]
     
    17471495                mov     ecx, [esi+164h]
    17481496                mov     dword ptr [ecx+ebx*4], 0FFFFFFFFh
    1749 ; #line 14
    17501497
    17511498loc_6_9AE:                              ; CODE XREF: _ProfileCancelExit32+28j
     
    17561503                                        ; _ProfileCancelExit32+11j ...
    17571504                pop     esi
    1758 ; #line 14
    17591505                popfd
    17601506                retn
     
    17701516_ProfileNameString32 proc near
    17711517                push    ebp
    1772 ; #line 14
    17731518                mov     ebp, esp
    17741519                pushfd
    17751520                push    esi
    1776 ; #line 14
    17771521                mov     esi, $$PROSEGPTR32
    17781522                or      esi, esi
     
    17841528                push    ebx
    17851529                push    ecx
    1786 ; #line 14
    17871530                mov     ebx, large fs:0Ch
    17881531                mov     ebx, [ebx]
     
    17941537                jz      short loc_6_A0F
    17951538                mov     ecx, [ebp+4]
    1796 ; #line 14
    17971539                mov     [esi+148h], ecx
    17981540                mov     [esi+14Ch], eax
    17991541                mov     [esi+150h], edx
    1800 ; #line 14
    18011542                mov     dword ptr [esi+144h], 2
    18021543                int     3               ; Trap to Debugger
     
    18081549                pop     ecx
    18091550                pop     ebx
    1810 ; #line 14
    18111551
    18121552loc_6_A11:                              ; CODE XREF: _ProfileNameString32+Dj
     
    18151555                popfd
    18161556                pop     ebp
    1817 ; #line 14
    18181557                retn
    18191558_ProfileNameString32 endp
Note: See TracChangeset for help on using the changeset viewer.