.text:0047DB3E call dword ptr [eax] ; 返回 ORG对象的地址
.text:0047DB40 mov eax, [ebp+this] ; eax 指向ORG对象
.text:0047DB43
test
eax, eax
.text:0047DB45 jz short loc_47DBB8
.text:0047DB47 mov ecx, [eax]
.text:0047DB49 push eax
.text:0047DB4A call dword ptr [ecx+2Ch] ; 返回数组的长度
.text:0047DB4D mov esi, [ebp+length]
.text:0047DB50
cmp
eax, esi ; eax=ORG数组对象的长度,esi=要赋值的新长度0xFFFFFFFF
.text:0047DB52 jge short loc_47DBA9 ;跳走触发bug,不跳就会开辟新空间扩展数组
.text:0047DB54 push 101h ; int
.text:0047DB59 sub esi, eax
.text:0047DB5B xor ecx, ecx
.text:0047DB5D push 4
.text:0047DB5F pop edx
.text:0047DB60 mov eax, esi
.text:0047DB62 mul edx
.text:0047DB64 seto cl
.text:0047DB67 neg ecx
.text:0047DB69 or ecx, eax
.text:0047DB6B push ecx ; Size
.text:0047DB6C operator new(uint,int)
……
.text:0047DBA9 loc_47DBA9:
.text:0047DBA9 mov ecx, [ebp+this]
.text:0047DBAC mov edx, [ecx]
.text:0047DBAE sub eax, esi
.text:0047DBB0 push eax
.text:0047DBB1 push esi
.text:0047DBB2 push ecx
.text:0047DBB3 call dword ptr [edx+28h] ; 未开辟空间,直接修改长度