1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567
| .text:74D2A078 .text:74D2A078 ; =============== S U B R O U T I N E ======================================= .text:74D2A078 .text:74D2A078 ; Attributes: bp-based frame .text:74D2A078 .text:74D2A078 ; void __thiscall CTableLayout::CalculateMinMax(CTableLayout *this, struct CTableCalcInfo *, struct tagSIZE *, int) .text:74D2A078 ?CalculateMinMax@CTableLayout@@QAEXPAVCTableCalcInfo@@H@Z proc near .text:74D2A078 ; CODE XREF: CTableLayout::CalcSizeVirtual(CCalcInfo *,tagSIZE *,tagSIZE *)-F2696↑p .text:74D2A078 ; CTableLayout::CalculateLayout(CTableCalcInfo *,CSize *,int,int)+15C↓p .text:74D2A078 ; CTableLayoutBlock::CalculateLayout(CTableCalcInfo *,CSize *,int,int)+3A4↓p .text:74D2A078 .text:74D2A078 var_94= dword ptr -94h .text:74D2A078 var_90= dword ptr -90h .text:74D2A078 var_8C= dword ptr -8Ch .text:74D2A078 var_88= dword ptr -88h .text:74D2A078 var_84= dword ptr -84h .text:74D2A078 var_7C= dword ptr -7Ch .text:74D2A078 var_78= dword ptr -78h .text:74D2A078 var_74= dword ptr -74h .text:74D2A078 var_70= dword ptr -70h .text:74D2A078 var_6C= dword ptr -6Ch .text:74D2A078 var_68= dword ptr -68h .text:74D2A078 var_64= dword ptr -64h .text:74D2A078 var_60= dword ptr -60h .text:74D2A078 var_5C= dword ptr -5Ch .text:74D2A078 var_58= dword ptr -58h .text:74D2A078 var_54= dword ptr -54h .text:74D2A078 var_50= dword ptr -50h .text:74D2A078 var_4C= dword ptr -4Ch .text:74D2A078 var_48= dword ptr -48h .text:74D2A078 var_44= dword ptr -44h .text:74D2A078 var_40= dword ptr -40h .text:74D2A078 var_3C= dword ptr -3Ch .text:74D2A078 var_38= dword ptr -38h .text:74D2A078 var_34= dword ptr -34h .text:74D2A078 var_30= dword ptr -30h .text:74D2A078 var_2C= dword ptr -2Ch .text:74D2A078 var_28= dword ptr -28h .text:74D2A078 var_24= dword ptr -24h .text:74D2A078 var_20= dword ptr -20h .text:74D2A078 var_1C= dword ptr -1Ch .text:74D2A078 var_18= dword ptr -18h .text:74D2A078 var_14= dword ptr -14h .text:74D2A078 var_10= dword ptr -10h .text:74D2A078 var_C= dword ptr -0Ch .text:74D2A078 var_8= dword ptr -8 .text:74D2A078 arg_0= dword ptr 8 .text:74D2A078 arg_4= dword ptr 0Ch .text:74D2A078 arg_8= dword ptr 10h .text:74D2A078 .text:74D2A078 ; FUNCTION CHUNK AT .text:74C2D451 SIZE 0000006D BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C74ADE SIZE 00000015 BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C75092 SIZE 00000058 BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C75404 SIZE 0000000F BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C75578 SIZE 00000008 BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C81C6F SIZE 0000000B BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C82115 SIZE 0000000E BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74C82AE0 SIZE 0000018F BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74D02AE1 SIZE 0000000D BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74D2B8C6 SIZE 0000001D BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74D2BA60 SIZE 0000020F BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74D31F0E SIZE 0000000E BYTES .text:74D2A078 ; FUNCTION CHUNK AT .text:74EBF1D0 SIZE 000006AB BYTES .text:74D2A078 .text:74D2A078 8B FF mov edi, edi .text:74D2A07A 55 push ebp .text:74D2A07B 8B EC mov ebp, esp .text:74D2A07D 81 EC 98 00 00 00 sub esp, 98h .text:74D2A083 53 push ebx ; struct tagSIZE * .text:74D2A084 8B 5D 08 mov ebx, [ebp+arg_0] .text:74D2A087 56 push esi ; struct CTableCalcInfo * .text:74D2A088 8B 75 0C mov esi, [ebp+arg_4] .text:74D2A08B 8B 46 28 mov eax, [esi+28h] .text:74D2A08E 89 85 70 FF FF FF mov [ebp+var_90], eax .text:74D2A094 8B 43 54 mov eax, [ebx+54h] .text:74D2A097 89 45 08 mov [ebp+arg_0], eax .text:74D2A09A 8B 83 28 01 00 00 mov eax, [ebx+128h] .text:74D2A0A0 C1 E8 02 shr eax, 2 .text:74D2A0A3 89 45 B8 mov [ebp+var_48], eax .text:74D2A0A6 57 push edi ; void * .text:74D2A0A7 33 FF xor edi, edi .text:74D2A0A9 8D 45 94 lea eax, [ebp+var_6C] .text:74D2A0AC 50 push eax .text:74D2A0AD 8B C3 mov eax, ebx .text:74D2A0AF 89 7D D8 mov [ebp+var_28], edi .text:74D2A0B2 89 7D DC mov [ebp+var_24], edi .text:74D2A0B5 89 7D F8 mov [ebp+var_8], edi .text:74D2A0B8 89 7D CC mov [ebp+var_34], edi .text:74D2A0BB E8 08 0D 00 00 call ?GetSpecifiedPixelWidth@CTableLayout@@QAEJPAVCTableCalcInfo@@PAH@Z ; CTableLayout::GetSpecifiedPixelWidth(CTableCalcInfo *,int *) .text:74D2A0BB .text:74D2A0C0 89 45 B4 mov [ebp+var_4C], eax .text:74D2A0C3 33 C0 xor eax, eax .text:74D2A0C5 89 7D D4 mov [ebp+var_2C], edi .text:74D2A0C8 8D BD 78 FF FF FF lea edi, [ebp+var_88] .text:74D2A0CE AB stosd .text:74D2A0CF AB stosd .text:74D2A0D0 AB stosd .text:74D2A0D1 AB stosd .text:74D2A0D2 8B 43 08 mov eax, [ebx+8] .text:74D2A0D5 89 45 A8 mov [ebp+var_58], eax .text:74D2A0D8 8B 43 44 mov eax, [ebx+44h] .text:74D2A0DB C1 E8 09 shr eax, 9 .text:74D2A0DE 83 E0 01 and eax, 1 .text:74D2A0E1 83 7D 08 00 cmp [ebp+arg_0], 0 .text:74D2A0E5 C7 85 78 FF FF FF 94 A5 C2 74 mov [ebp+var_88], offset ??_7CAryAutomationRules@CStyleSheet@@6B@ ; const CStyleSheet::CAryAutomationRules::`vftable' .text:74D2A0EF 89 45 C8 mov [ebp+var_38], eax .text:74D2A0F2 0F 84 D8 50 19 00 jz loc_74EBF1D0 .text:74D2A0F2 .text:74D2A0F8 8B 45 08 mov eax, [ebp+arg_0] .text:74D2A0FB 8D 0C 00 lea ecx, [eax+eax] .text:74D2A0FE B8 FF FF FF 7F mov eax, 7FFFFFFFh .text:74D2A103 99 cdq .text:74D2A104 F7 F9 idiv ecx .text:74D2A106 89 45 90 mov [ebp+var_70], eax .text:74D2A106 .text:74D2A109 .text:74D2A109 loc_74D2A109: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+19515F↓j .text:74D2A109 8B 75 A8 mov esi, [ebp+var_58] .text:74D2A10C F7 46 1C 00 02 00 00 test dword ptr [esi+1Ch], 200h .text:74D2A113 74 17 jz short loc_74D2A12C .text:74D2A113 .text:74D2A115 8B CE mov ecx, esi ; this .text:74D2A117 E8 81 DC 0A 00 call ?GetMarkupPtr@CElement@@QBEPAVCMarkup@@XZ ; CElement::GetMarkupPtr(void) .text:74D2A117 .text:74D2A11C 81 B8 C0 00 00 00 70 11 01 00 cmp dword ptr [eax+0C0h], 11170h .text:74D2A126 0F 8D E9 7F F5 FF jge loc_74C82115 .text:74D2A126 .text:74D2A12C .text:74D2A12C loc_74D2A12C: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+9B↑j .text:74D2A12C 33 FF xor edi, edi .text:74D2A12E 89 7D A0 mov [ebp+var_60], edi .text:74D2A12E .text:74D2A131 .text:74D2A131 loc_74D2A131: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-A7F5A↑j .text:74D2A131 39 7D B4 cmp [ebp+var_4C], edi .text:74D2A134 0F 85 35 7B F5 FF jnz loc_74C81C6F .text:74D2A134 .text:74D2A13A 39 7D 94 cmp [ebp+var_6C], edi .text:74D2A13D 0F 85 2C 7B F5 FF jnz loc_74C81C6F .text:74D2A13D .text:74D2A143 8B 4E 14 mov ecx, [esi+14h] ; this .text:74D2A146 E8 CE 10 0F 00 call ?GetFancyFormat@CTreeNode@@QAEPBVCFancyFormat@@XZ ; CTreeNode::GetFancyFormat(void) .text:74D2A146 .text:74D2A14B F6 00 20 test byte ptr [eax], 20h .text:74D2A14E 0F 85 1B 7B F5 FF jnz loc_74C81C6F .text:74D2A14E .text:74D2A154 8B 75 0C mov esi, [ebp+arg_4] .text:74D2A157 39 BB 00 01 00 00 cmp [ebx+100h], edi .text:74D2A15D 0F 85 79 50 19 00 jnz loc_74EBF1DC .text:74D2A15D .text:74D2A163 .text:74D2A163 loc_74D2A163: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195170↓j .text:74D2A163 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195189↓j .text:74D2A163 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195196↓j .text:74D2A163 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1951A7↓j .text:74D2A163 33 C0 xor eax, eax .text:74D2A165 39 7D B4 cmp [ebp+var_4C], edi .text:74D2A168 0F 95 C0 setnz al .text:74D2A16B 89 45 94 mov [ebp+var_6C], eax .text:74D2A16B .text:74D2A16E .text:74D2A16E loc_74D2A16E: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-A8403↑j .text:74D2A16E 56 push esi .text:74D2A16F 53 push ebx ; struct CDocInfo * .text:74D2A170 C7 46 28 03 00 00 00 mov dword ptr [esi+28h], 3 .text:74D2A177 E8 78 F4 FF FF call ?CalculateBorderAndSpacing@CTableLayout@@QAEXPAVCDocInfo@@@Z ; CTableLayout::CalculateBorderAndSpacing(CDocInfo *) .text:74D2A177 .text:74D2A17C 8B 45 A8 mov eax, [ebp+var_58] .text:74D2A17F 89 7B 58 mov [ebx+58h], edi .text:74D2A182 89 7B 60 mov [ebx+60h], edi .text:74D2A185 89 7D AC mov [ebp+var_54], edi .text:74D2A188 89 7D B0 mov [ebp+var_50], edi .text:74D2A18B 89 BB E0 00 00 00 mov [ebx+0E0h], edi .text:74D2A191 E8 CB F8 FF FF call ?GetAAcols@CTable@@QBEHXZ ; CTable::GetAAcols(void) .text:74D2A191 .text:74D2A196 39 45 08 cmp [ebp+arg_0], eax .text:74D2A199 8B 4D 08 mov ecx, [ebp+arg_0] .text:74D2A19C 7C 02 jl short loc_74D2A1A0 .text:74D2A19C .text:74D2A19E 8B C8 mov ecx, eax .text:74D2A19E .text:74D2A1A0 .text:74D2A1A0 loc_74D2A1A0: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+124↑j .text:74D2A1A0 8B 55 08 mov edx, [ebp+arg_0] .text:74D2A1A3 8B C2 mov eax, edx .text:74D2A1A5 2B C1 sub eax, ecx .text:74D2A1A7 89 45 E4 mov [ebp+var_1C], eax .text:74D2A1AA 6A 00 push 0 .text:74D2A1AC 58 pop eax .text:74D2A1AD 0F 94 C0 setz al .text:74D2A1B0 89 4B 50 mov [ebx+50h], ecx .text:74D2A1B3 C1 E0 08 shl eax, 8 .text:74D2A1B6 33 43 44 xor eax, [ebx+44h] .text:74D2A1B9 25 00 01 00 00 and eax, 100h .text:74D2A1BE 31 43 44 xor [ebx+44h], eax .text:74D2A1C1 F6 46 2C 01 test byte ptr [esi+2Ch], 1 .text:74D2A1C5 0F 85 59 50 19 00 jnz loc_74EBF224 .text:74D2A1C5 .text:74D2A1CB .text:74D2A1CB loc_74D2A1CB: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1951AE↓j .text:74D2A1CB 33 C0 xor eax, eax .text:74D2A1CB .text:74D2A1CD .text:74D2A1CD loc_74D2A1CD: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1951B7↓j .text:74D2A1CD 09 45 C8 or [ebp+var_38], eax .text:74D2A1D0 39 7D 10 cmp [ebp+arg_8], edi .text:74D2A1D3 0F 85 5B 50 19 00 jnz loc_74EBF234 .text:74D2A1D3 .text:74D2A1D9 8B 83 94 00 00 00 mov eax, [ebx+94h] .text:74D2A1DF C1 E8 02 shr eax, 2 .text:74D2A1E2 3B C2 cmp eax, edx .text:74D2A1E4 7D 39 jge short loc_74D2A21F .text:74D2A1E4 .text:74D2A1E6 3B D7 cmp edx, edi .text:74D2A1E8 8D B3 90 00 00 00 lea esi, [ebx+90h] .text:74D2A1EE 0F 8C 86 32 F0 FF jl loc_74C2D47A .text:74D2A1EE .text:74D2A1F4 3B 56 08 cmp edx, [esi+8] .text:74D2A1F7 76 13 jbe short loc_74D2A20C .text:74D2A1F7 .text:74D2A1F9 6A 1C push 1Ch .text:74D2A1FB 8B C2 mov eax, edx .text:74D2A1FD 8B FE mov edi, esi .text:74D2A1FF E8 9A 92 0C 00 call ?EnsureSizeWorker@CImplAry@@AAEJIJ@Z ; CImplAry::EnsureSizeWorker(uint,long) .text:74D2A1FF .text:74D2A204 .text:74D2A204 loc_74D2A204: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-FCBF9↑j .text:74D2A204 85 C0 test eax, eax .text:74D2A206 0F 85 AC 02 00 00 jnz loc_74D2A4B8 .text:74D2A206 .text:74D2A20C .text:74D2A20C loc_74D2A20C: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+17F↑j .text:74D2A20C 8B 46 04 mov eax, [esi+4] .text:74D2A20F 8B 4D 08 mov ecx, [ebp+arg_0] .text:74D2A212 83 E0 03 and eax, 3 .text:74D2A215 C1 E1 02 shl ecx, 2 ; this .text:74D2A218 0B C1 or eax, ecx .text:74D2A21A 89 46 04 mov [esi+4], eax .text:74D2A21D 33 FF xor edi, edi .text:74D2A21D .text:74D2A21F .text:74D2A21F loc_74D2A21F: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+16C↑j .text:74D2A21F 39 7D 08 cmp [ebp+arg_0], edi .text:74D2A222 8B B3 9C 00 00 00 mov esi, [ebx+9Ch] .text:74D2A228 89 7D EC mov [ebp+var_14], edi .text:74D2A22B 89 75 D8 mov [ebp+var_28], esi .text:74D2A22E 7E 3B jle short loc_74D2A26B .text:74D2A22E .text:74D2A230 .text:74D2A230 loc_74D2A230: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1EE↓j .text:74D2A230 8D 46 18 lea eax, [esi+18h] .text:74D2A233 50 push eax .text:74D2A234 89 7E 08 mov [esi+8], edi .text:74D2A237 89 7E 04 mov [esi+4], edi .text:74D2A23A 89 3E mov [esi], edi .text:74D2A23C E8 10 2A 02 00 call ?SetNull@CUnitValue@@QAEXXZ ; CUnitValue::SetNull(void) .text:74D2A23C .text:74D2A241 8B 4D EC mov ecx, [ebp+var_14] ; this .text:74D2A244 83 66 14 C1 and dword ptr [esi+14h], 0FFFFFFC1h .text:74D2A248 8B C3 mov eax, ebx .text:74D2A24A 89 7E 0C mov [esi+0Ch], edi .text:74D2A24D E8 4F F0 01 00 call ?GetCol@CTableLayout@@QAEPAVCTableCol@@H@Z ; CTableLayout::GetCol(int) .text:74D2A24D .text:74D2A252 3B C7 cmp eax, edi .text:74D2A254 0F 85 17 50 19 00 jnz loc_74EBF271 .text:74D2A254 .text:74D2A25A .text:74D2A25A loc_74D2A25A: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195200↓j .text:74D2A25A ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+19520A↓j .text:74D2A25A FF 45 EC inc [ebp+var_14] .text:74D2A25D 8B 45 EC mov eax, [ebp+var_14] .text:74D2A260 83 C6 1C add esi, 1Ch .text:74D2A263 3B 45 08 cmp eax, [ebp+arg_0] .text:74D2A266 7C C8 jl short loc_74D2A230 .text:74D2A266 .text:74D2A268 89 75 D8 mov [ebp+var_28], esi .text:74D2A268 .text:74D2A26B .text:74D2A26B loc_74D2A26B: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1B6↑j .text:74D2A26B 8B 43 08 mov eax, [ebx+8] .text:74D2A26E 39 78 30 cmp [eax+30h], edi .text:74D2A271 0F 85 10 50 19 00 jnz loc_74EBF287 .text:74D2A271 .text:74D2A277 81 63 44 FF FF DF FF and dword ptr [ebx+44h], 0FFDFFFFFh .text:74D2A277 .text:74D2A27E .text:74D2A27E loc_74D2A27E: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+19523C↓j .text:74D2A27E ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+19524C↓j .text:74D2A27E F7 43 44 00 20 00 00 test dword ptr [ebx+44h], 2000h .text:74D2A285 0F 85 55 88 F5 FF jnz loc_74C82AE0 .text:74D2A285 .text:74D2A28B 8B 45 B8 mov eax, [ebp+var_48] .text:74D2A28E 89 45 E0 mov [ebp+var_20], eax .text:74D2A291 8B 83 30 01 00 00 mov eax, [ebx+130h] .text:74D2A297 8B 7D E0 mov edi, [ebp+var_20] .text:74D2A297 .text:74D2A29A .text:74D2A29A loc_74D2A29A: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1951F4↓j .text:74D2A29A 83 BB 00 01 00 00 1A cmp dword ptr [ebx+100h], 1Ah .text:74D2A2A1 89 45 EC mov [ebp+var_14], eax .text:74D2A2A4 0F 8F FD 51 19 00 jg loc_74EBF4A7 .text:74D2A2A4 .text:74D2A2AA 83 4B 44 20 or dword ptr [ebx+44h], 20h .text:74D2A2AE 85 FF test edi, edi .text:74D2A2B0 0F 8E 16 01 00 00 jle loc_74D2A3CC .text:74D2A2B0 .text:74D2A2B6 .text:74D2A2B6 loc_74D2A2B6: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+318↓j .text:74D2A2B6 8B 45 EC mov eax, [ebp+var_14] .text:74D2A2B9 8B 00 mov eax, [eax] .text:74D2A2BB E8 B2 AC 00 00 call ?RowLayoutCache@CTableRow@@QAEPAVCTableRowLayout@@PAVCLayoutContext@@@Z ; CTableRow::RowLayoutCache(CLayoutContext *) .text:74D2A2BB .text:74D2A2C0 89 45 9C mov [ebp+var_64], eax .text:74D2A2C3 85 C0 test eax, eax .text:74D2A2C5 0F 84 BA 00 00 00 jz loc_74D2A385 .text:74D2A2C5 .text:74D2A2CB 8B F0 mov esi, eax .text:74D2A2CD 8B 46 40 mov eax, [esi+40h] .text:74D2A2D0 C1 E8 02 shr eax, 2 .text:74D2A2D3 3B 45 08 cmp eax, [ebp+arg_0] .text:74D2A2D6 0F 8C EA 51 19 00 jl loc_74EBF4C6 .text:74D2A2D6 .text:74D2A2DC .text:74D2A2DC loc_74D2A2DC: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195457↓j .text:74D2A2DC 8D 46 50 lea eax, [esi+50h] .text:74D2A2DF 50 push eax .text:74D2A2E0 E8 6C 29 02 00 call ?SetNull@CUnitValue@@QAEXXZ ; CUnitValue::SetNull(void) .text:74D2A2E0 .text:74D2A2E5 8B 46 48 mov eax, [esi+48h] .text:74D2A2E8 89 45 C0 mov [ebp+var_40], eax .text:74D2A2EB 8B 46 08 mov eax, [esi+8] .text:74D2A2EE 8B 40 14 mov eax, [eax+14h] .text:74D2A2F1 E8 27 2E 0E 00 call ?GetCharFormat@CTreeNode@@QAEPBVCCharFormat@@XZ ; CTreeNode::GetCharFormat(void) .text:74D2A2F1 .text:74D2A2F6 0F B7 00 movzx eax, word ptr [eax] .text:74D2A2F9 8B 7D EC mov edi, [ebp+var_14] .text:74D2A2FC 8B 75 0C mov esi, [ebp+arg_4] .text:74D2A2FF C1 E8 05 shr eax, 5 .text:74D2A302 83 E0 01 and eax, 1 .text:74D2A305 89 85 6C FF FF FF mov [ebp+var_94], eax .text:74D2A30B 8B 07 mov eax, [edi] .text:74D2A30D 89 86 88 00 00 00 mov [esi+88h], eax .text:74D2A313 8B 07 mov eax, [edi] .text:74D2A315 8B 48 14 mov ecx, [eax+14h] ; this .text:74D2A318 E8 FC 0E 0F 00 call ?GetFancyFormat@CTreeNode@@QAEPBVCFancyFormat@@XZ ; CTreeNode::GetFancyFormat(void) .text:74D2A318 .text:74D2A31D FF 76 0C push dword ptr [esi+0Ch] ; struct CLayoutContext * .text:74D2A320 89 86 90 00 00 00 mov [esi+90h], eax .text:74D2A326 8B 0F mov ecx, [edi] ; this .text:74D2A328 E8 D7 8F 0E 00 call ?GetUpdatedLayout@CElement@@QAEPAVCLayout@@PAVCLayoutContext@@@Z ; CElement::GetUpdatedLayout(CLayoutContext *) .text:74D2A328 .text:74D2A32D 89 86 8C 00 00 00 mov [esi+8Ch], eax .text:74D2A333 8B 45 08 mov eax, [ebp+arg_0] .text:74D2A336 8B B3 9C 00 00 00 mov esi, [ebx+9Ch] .text:74D2A33C 89 45 F4 mov [ebp+var_C], eax .text:74D2A33F 85 C0 test eax, eax .text:74D2A33F .text:74D2A341 .text:74D2A341 loc_74D2A341: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+30B↓j .text:74D2A341 89 75 D8 mov [ebp+var_28], esi .text:74D2A344 7E 3F jle short loc_74D2A385 .text:74D2A344 .text:74D2A346 F6 46 14 20 test byte ptr [esi+14h], 20h .text:74D2A34A 75 18 jnz short loc_74D2A364 .text:74D2A34A .text:74D2A34C 8B 45 C0 mov eax, [ebp+var_40] .text:74D2A34F 8B 08 mov ecx, [eax] .text:74D2A351 8B C1 mov eax, ecx .text:74D2A353 83 E0 FC and eax, 0FFFFFFFCh .text:74D2A356 F7 D1 not ecx .text:74D2A358 89 45 A4 mov [ebp+var_5C], eax .text:74D2A35B F6 C1 01 test cl, 1 .text:74D2A35E 0F 85 28 17 00 00 jnz loc_74D2BA8C .text:74D2A35E .text:74D2A364 .text:74D2A364 loc_74D2A364: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+2D2↑j .text:74D2A364 C7 45 C4 01 00 00 00 mov [ebp+var_3C], 1 .text:74D2A364 .text:74D2A36B .text:74D2A36B loc_74D2A36B: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1A4D↓j .text:74D2A36B ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1BC6↓j .text:74D2A36B ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1BD3↓j .text:74D2A36B ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1BEA↓j .text:74D2A36B 8B 45 C4 mov eax, [ebp+var_3C] .text:74D2A36E 8B 4D C0 mov ecx, [ebp+var_40] .text:74D2A371 29 45 F4 sub [ebp+var_C], eax .text:74D2A374 8D 0C 81 lea ecx, [ecx+eax*4] .text:74D2A377 6B C0 1C imul eax, 1Ch .text:74D2A37A 03 F0 add esi, eax .text:74D2A37C 83 7D F4 00 cmp [ebp+var_C], 0 .text:74D2A380 89 4D C0 mov [ebp+var_40], ecx .text:74D2A383 EB BC jmp short loc_74D2A341 .text:74D2A383 .text:74D2A385 ; --------------------------------------------------------------------------- .text:74D2A385 .text:74D2A385 loc_74D2A385: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+24D↑j .text:74D2A385 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+2CC↑j .text:74D2A385 FF 4D E0 dec [ebp+var_20] .text:74D2A388 83 45 EC 04 add [ebp+var_14], 4 .text:74D2A38C 83 7D E0 00 cmp [ebp+var_20], 0 .text:74D2A390 0F 8F 20 FF FF FF jg loc_74D2A2B6 .text:74D2A390 .text:74D2A396 83 7D DC 00 cmp [ebp+var_24], 0 .text:74D2A39A 74 30 jz short loc_74D2A3CC .text:74D2A39A .text:74D2A39C 8B 85 7C FF FF FF mov eax, [ebp+var_84] .text:74D2A3A2 83 65 C0 00 and [ebp+var_40], 0 .text:74D2A3A6 83 65 E4 00 and [ebp+var_1C], 0 .text:74D2A3AA C1 E8 02 shr eax, 2 .text:74D2A3AD 85 C0 test eax, eax .text:74D2A3AF 0F 8F 03 53 19 00 jg loc_74EBF6B8 .text:74D2A3AF .text:74D2A3B5 .text:74D2A3B5 loc_74D2A3B5: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195701↓j .text:74D2A3B5 8B 45 DC mov eax, [ebp+var_24] .text:74D2A3B8 2B 45 C0 sub eax, [ebp+var_40] .text:74D2A3BB 74 0F jz short loc_74D2A3CC .text:74D2A3BB .text:74D2A3BD FF 75 10 push [ebp+arg_8] .text:74D2A3C0 FF 75 D4 push [ebp+var_2C] ; int .text:74D2A3C3 FF 75 0C push [ebp+arg_4] ; struct CTableColCalc * .text:74D2A3C6 53 push ebx ; struct CTableCalcInfo * .text:74D2A3C7 E8 5F AB F4 FF call ?AdjustForColSpan@CTableLayout@@QAEXPAVCTableCalcInfo@@PAVCTableColCalc@@H@Z ; CTableLayout::AdjustForColSpan(CTableCalcInfo *,CTableColCalc *,int) .text:74D2A3C7 .text:74D2A3CC .text:74D2A3CC loc_74D2A3CC: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+238↑j .text:74D2A3CC ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+322↑j .text:74D2A3CC ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+343↑j .text:74D2A3CC 8B 43 44 mov eax, [ebx+44h] .text:74D2A3CF A8 02 test al, 2 .text:74D2A3D1 74 0B jz short loc_74D2A3DE .text:74D2A3D1 .text:74D2A3D3 A9 00 04 00 00 test eax, 400h .text:74D2A3D8 0F 85 03 87 FD FF jnz loc_74D02AE1 .text:74D2A3D8 .text:74D2A3DE .text:74D2A3DE loc_74D2A3DE: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+359↑j .text:74D2A3DE 8B 4D 0C mov ecx, [ebp+arg_4] .text:74D2A3E1 F6 41 7C 04 test byte ptr [ecx+7Ch], 4 .text:74D2A3E5 0F 85 F6 86 FD FF jnz loc_74D02AE1 .text:74D2A3E5 .text:74D2A3EB .text:74D2A3EB loc_74D2A3EB: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-A7427↑j .text:74D2A3EB ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-A740E↑j .text:74D2A3EB ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-2758F↑j .text:74D2A3EB ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195433↓j .text:74D2A3EB 8B 83 34 01 00 00 mov eax, [ebx+134h] .text:74D2A3F1 85 C0 test eax, eax .text:74D2A3F3 0F 85 8B 53 19 00 jnz loc_74EBF784 .text:74D2A3F3 .text:74D2A3F9 .text:74D2A3F9 loc_74D2A3F9: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195748↓j .text:74D2A3F9 33 C9 xor ecx, ecx .text:74D2A3FB 33 C0 xor eax, eax .text:74D2A3FD 39 4D 08 cmp [ebp+arg_0], ecx .text:74D2A400 74 3E jz short loc_74D2A440 .text:74D2A400 .text:74D2A402 8B B3 9C 00 00 00 mov esi, [ebx+9Ch] .text:74D2A408 3B 75 D4 cmp esi, [ebp+var_2C] .text:74D2A40B 77 33 ja short loc_74D2A440 .text:74D2A40B .text:74D2A40D 8B 53 44 mov edx, [ebx+44h] .text:74D2A410 C1 EA 15 shr edx, 15h .text:74D2A413 83 E2 01 and edx, 1 .text:74D2A413 .text:74D2A416 .text:74D2A416 loc_74D2A416: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+3C6↓j .text:74D2A416 03 46 04 add eax, [esi+4] .text:74D2A419 03 0E add ecx, [esi] .text:74D2A41B BF FF FF FF 3F mov edi, 3FFFFFFFh .text:74D2A420 3B C7 cmp eax, edi .text:74D2A422 0F 8F A0 53 19 00 jg loc_74EBF7C8 .text:74D2A422 .text:74D2A428 .text:74D2A428 loc_74D2A428: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195752↓j .text:74D2A428 85 D2 test edx, edx .text:74D2A42A 75 0C jnz short loc_74D2A438 .text:74D2A42A .text:74D2A42C F6 46 14 28 test byte ptr [esi+14h], 28h .text:74D2A430 75 06 jnz short loc_74D2A438 .text:74D2A430 .text:74D2A432 FF 83 E0 00 00 00 inc dword ptr [ebx+0E0h] .text:74D2A432 .text:74D2A438 .text:74D2A438 loc_74D2A438: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+3B2↑j .text:74D2A438 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+3B8↑j .text:74D2A438 83 C6 1C add esi, 1Ch .text:74D2A43B 3B 75 D4 cmp esi, [ebp+var_2C] .text:74D2A43E 76 D6 jbe short loc_74D2A416 .text:74D2A43E .text:74D2A440 .text:74D2A440 loc_74D2A440: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+388↑j .text:74D2A440 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+393↑j .text:74D2A440 39 4B 58 cmp [ebx+58h], ecx .text:74D2A443 7D 03 jge short loc_74D2A448 .text:74D2A443 .text:74D2A445 89 4B 58 mov [ebx+58h], ecx .text:74D2A445 .text:74D2A448 .text:74D2A448 loc_74D2A448: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+3CB↑j .text:74D2A448 39 43 60 cmp [ebx+60h], eax .text:74D2A44B 7D 03 jge short loc_74D2A450 .text:74D2A44B .text:74D2A44D 89 43 60 mov [ebx+60h], eax .text:74D2A44D .text:74D2A450 .text:74D2A450 loc_74D2A450: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+3D3↑j .text:74D2A450 8B 4B 58 mov ecx, [ebx+58h] .text:74D2A453 33 D2 xor edx, edx .text:74D2A455 3B CA cmp ecx, edx .text:74D2A457 0F 84 B1 7A 00 00 jz loc_74D31F0E .text:74D2A457 .text:74D2A45D .text:74D2A45D loc_74D2A45D: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+7E9F↓j .text:74D2A45D 8B 83 E0 00 00 00 mov eax, [ebx+0E0h] .text:74D2A463 40 inc eax .text:74D2A464 0F AF 83 C0 00 00 00 imul eax, [ebx+0C0h] .text:74D2A46B 03 83 BC 00 00 00 add eax, [ebx+0BCh] .text:74D2A471 03 83 B4 00 00 00 add eax, [ebx+0B4h] .text:74D2A477 03 C8 add ecx, eax .text:74D2A479 01 43 60 add [ebx+60h], eax .text:74D2A47C 89 4B 58 mov [ebx+58h], ecx .text:74D2A47C .text:74D2A47F .text:74D2A47F loc_74D2A47F: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+7E99↓j .text:74D2A47F 39 55 94 cmp [ebp+var_6C], edx .text:74D2A482 0F 85 47 53 19 00 jnz loc_74EBF7CF .text:74D2A482 .text:74D2A488 .text:74D2A488 loc_74D2A488: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195766↓j .text:74D2A488 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+19577A↓j .text:74D2A488 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+195783↓j .text:74D2A488 8B B3 4C 01 00 00 mov esi, [ebx+14Ch] .text:74D2A48E 8B 83 54 01 00 00 mov eax, [ebx+154h] .text:74D2A494 C1 EE 02 shr esi, 2 .text:74D2A497 3B F2 cmp esi, edx .text:74D2A499 89 45 10 mov [ebp+arg_8], eax .text:74D2A49C 0F 8F 5E 53 19 00 jg loc_74EBF800 .text:74D2A49C .text:74D2A4A2 .text:74D2A4A2 loc_74D2A4A2: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+1957FB↓j .text:74D2A4A2 83 7D B4 00 cmp [ebp+var_4C], 0 .text:74D2A4A6 0F 85 FB 2F F0 FF jnz loc_74C2D4A7 .text:74D2A4A6 .text:74D2A4AC .text:74D2A4AC loc_74D2A4AC: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-FCBCB↑j .text:74D2A4AC ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-FCBBF↑j .text:74D2A4AC ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+19525A↓j .text:74D2A4AC 8B 85 70 FF FF FF mov eax, [ebp+var_90] .text:74D2A4B2 8B 4D 0C mov ecx, [ebp+arg_4] ; this .text:74D2A4B5 89 41 28 mov [ecx+28h], eax .text:74D2A4B5 .text:74D2A4B8 .text:74D2A4B8 loc_74D2A4B8: ; CODE XREF: CTableLayout::CalculateMinMax(CTableCalcInfo *,int)-FCBE5↑j .text:74D2A4B8 ; CTableLayout::CalculateMinMax(CTableCalcInfo *,int)+18E↑j .text:74D2A4B8 8D 85 78 FF FF FF lea eax, [ebp+var_88] .text:74D2A4BE E8 63 D6 0A 00 call ??1CImplAry@@QAE@XZ ; CImplAry::~CImplAry(void) .text:74D2A4BE .text:74D2A4C3 5F pop edi .text:74D2A4C4 5E pop esi .text:74D2A4C5 5B pop ebx .text:74D2A4C6 C9 leave .text:74D2A4C7 C2 0C 00 retn 0Ch .text:74D2A4C7 .text:74D2A4C7 ?CalculateMinMax@CTableLayout@@QAEXPAVCTableCalcInfo@@H@Z endp .text:74D2A4C7 .text:74D2A4C7 ; ---------------------------------------------------------------------------
|