????????????Bottom????????????

??0Bottom@@QAE@HHHH@Z PROC                ; Bottom::Bottom?? COMDAT
; _this$ = ecx

; 28   :     Bottom(int ll?? int jj?? int kk?? int ii) : Top(ii)?? Left(jj?? ii)?? Right(kk?? ii) {

    push    ebp
    mov    ebp?? esp
    push    ecx;??ecx???????????????b???????????
    mov    DWORD PTR _this$[ebp]?? ecx;ecx???汣???????b?????????????????
    cmp    DWORD PTR _$initVBases$[ebp]?? 0;_$initVBases???????????????????????????Bottom???????????????????1
                                       ;??????0???б??
    je    SHORT $LN1@Bottom;???????????????????????$LN1@Bottom??У??????????У?????????????
    mov    eax?? DWORD PTR _this$[ebp];??????b?????????????eax
    mov    DWORD PTR [eax]?? OFFSET ??_8Bottom@@7BLeft@@@;??Bottom-Left??vtable????д?????b?????????
    mov    ecx?? DWORD PTR _this$[ebp];??????b?????????????ecx
    mov    DWORD PTR [ecx+8]?? OFFSET ??_8Bottom@@7BRight@@@;??Bottom-Right??vtable????д????????b????8byte??
                                                        ;??д?????Right???????????
    mov    edx?? DWORD PTR _ii$[ebp];??????ii??????????edx
    push    edx;???????edx?????????????????????????Top
    mov    ecx?? DWORD PTR _this$[ebp];??????b?????????????ecx
    add    ecx?? 20                    ; ??????b??????????20??????????Top?????????????????ecx???????????????????????Top???????
    call    ??0Top@@QAE@H@Z                ; ?????????Top???????
$LN1@Bottom:;
    push    0;???0???????????ù??????Top??????????????Right??Left??????????????????????
    mov    eax?? DWORD PTR _ii$[ebp];??????ii??????????eax
    push    eax;??eax????Left??????????????
    mov    ecx?? DWORD PTR _jj$[ebp];??????jj??????????ecx
    push    ecx;??ecx????Left??????????????
    mov    ecx?? DWORD PTR _this$[ebp];??????b??????(??????Left??????)???????ecx??????????????????Left??????
    call    ??0Left@@QAE@HH@Z            ; ????Left??????
    push    0;?????0???????????ù??????Top??????????????Right??Left?????????????????????
    mov    edx?? DWORD PTR _ii$[ebp];??????ii??????????edx
    push    edx;??edx????Right?????????????
    mov    eax?? DWORD PTR _kk$[ebp];??????kk??????????eax
    push    eax;??eax????Right??????????????
    mov    ecx?? DWORD PTR _this$[ebp];??????b????????ecx
    add    ecx?? 8;??????b??????????8?????????Right????????????????ecx??????????????????Right??????
    call    ??0Right@@QAE@HH@Z            ; ????Right??????

; 29   :         l = ll;

    mov    ecx?? DWORD PTR _this$[ebp];??????b?????????????ecx
    mov    edx?? DWORD PTR _ll$[ebp];??????ll??????????edx
    mov    DWORD PTR [ecx+16]?? edx;???????edx??????д????????b????16byte????????????b????????l???

; 30   :     }

    mov    eax?? DWORD PTR _this$[ebp]
    mov    esp?? ebp
    pop    ebp
    ret    20                    ; 00000014H
??0Bottom@@QAE@HHHH@Z ENDP

??????????Left????????????

??0Left@@QAE@HH@Z PROC                    ; Left::Left?? COMDAT
; _this$ = ecx

; 12   :     Left(int jj?? int ii) : Top(ii) {

    push    ebp
    mov    ebp?? esp
    push    ecx;??ecx?????????????????Left???????????
    mov    DWORD PTR _this$[ebp]?? ecx;?????ecx???溬?ж???Left???????????????????
    cmp    DWORD PTR _$initVBases$[ebp]?? 0;_$initVBases?????????棬???溬?е???Left???????????????????0
                                       ;??????????????0?????
    je    SHORT $LN1@Left;???????????????????????$LN1@Left????У??????????У???????????????У??????????
                       ;?????Top????????????????????
                       ;??????????????????b????????????
    mov    eax?? DWORD PTR _this$[ebp];??Left???????????eax?????
    mov    DWORD PTR [eax]?? OFFSET ??_8Left@@7B@;????_8Left@@7B@????????????(??Left??vtable????)д?????Left???????????
                                             ;?????????????????b?????У???????Ч
    mov    ecx?? DWORD PTR _ii$[ebp];??????ii??????????ecx
    push    ecx;??ecx???????????Top????????????????????????????????b?????У?????????Ч
    mov    ecx?? DWORD PTR _this$[ebp];??????Left????????ecx?????
    add    ecx?? 8;??Left??????????8?????Top???????????????????????????Top???????
    call    ??0Top@@QAE@H@Z                ; ????Top?????????????????????b????????У?????????Ч
$LN1@Left:

; 13   :         j = jj;

    mov    edx?? DWORD PTR _this$[ebp];??????Left?????????????edx
    mov    eax?? DWORD PTR _jj$[ebp];??????jj???????eax
    mov    DWORD PTR [edx+4]?? eax;??eax??????????????д????????Left????4byte????棬???????????j???jj

; 14   :     }

    mov    eax?? DWORD PTR _this$[ebp]
    mov    esp?? ebp
    pop    ebp
    ret    12                    ; 0000000cH
??0Left@@QAE@HH@Z ENDP