Function at 0x101631b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x1c]
xor ebx, ebx
push edi
mov dword [esi], sym.OOXMLDocument.dll_const_OOXML::VML::CGroup::vftablefor__CSDExtObject
mov dword [esi + 0x18], sym.OOXMLDocument.dll_const_OOXML::VML::CGroup::vftablefor__OOXML::VML::AG_CAllCoreAttributes
cmp eax, ebx
je 0x101631d8
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x1c], ebx
mov edi, dword [esi + 0x20]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp edi, ebx
je 0x10163210
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163204
push eax
call ebp
test eax, eax
jg 0x10163204
mov eax, dword [edi]
sub eax, 0xc
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x20], ebx
mov edi, dword [esi + 0x24]
cmp edi, ebx
je 0x10163242
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163236
push eax
call ebp
test eax, eax
jg 0x10163236
mov ecx, dword [edi]
sub ecx, 0xc
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x24], ebx
mov edi, dword [esi + 0x28]
cmp edi, ebx
je 0x10163274
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163268
push eax
call ebp
test eax, eax
jg 0x10163268
mov edx, dword [edi]
sub edx, 0xc
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x28], ebx
mov edi, dword [esi + 0x2c]
cmp edi, ebx
je 0x101632a6
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x1016329a
push eax
call ebp
test eax, eax
jg 0x1016329a
mov eax, dword [edi]
sub eax, 0xc
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x2c], ebx
mov edi, dword [esi + 0x30]
cmp edi, ebx
je 0x101632d8
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x101632cc
push eax
call ebp
test eax, eax
jg 0x101632cc
mov ecx, dword [edi]
sub ecx, 0xc
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x30], ebx
mov edi, dword [esi + 0x34]
cmp edi, ebx
je 0x1016330a
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x101632fe
push eax
call ebp
test eax, eax
jg 0x101632fe
mov edx, dword [edi]
sub edx, 0xc
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x34], ebx
mov edi, dword [esi + 0x38]
cmp edi, ebx
je 0x1016333c
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163330
push eax
call ebp
test eax, eax
jg 0x10163330
mov eax, dword [edi]
sub eax, 0xc
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x38], ebx
mov edi, dword [esi + 0x3c]
cmp edi, ebx
je 0x1016336e
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163362
push eax
call ebp
test eax, eax
jg 0x10163362
mov ecx, dword [edi]
sub ecx, 0xc
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x3c], ebx
mov edi, dword [esi + 0x40]
cmp edi, ebx
je 0x101633a0
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163394
push eax
call ebp
test eax, eax
jg 0x10163394
mov edx, dword [edi]
sub edx, 0xc
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x40], ebx
mov edi, dword [esi + 0x44]
cmp edi, ebx
je 0x101633d2
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x101633c6
push eax
call ebp
test eax, eax
jg 0x101633c6
mov eax, dword [edi]
sub eax, 0xc
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x44], ebx
mov eax, dword [esi + 0x48]
cmp eax, ebx
je 0x101633e5
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x48], ebx
mov edi, dword [esi + 0x4c]
cmp edi, ebx
je 0x10163417
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x1016340b
push eax
call ebp
test eax, eax
jg 0x1016340b
mov ecx, dword [edi]
sub ecx, 0xc
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x4c], ebx
mov edi, dword [esi + 0x50]
cmp edi, ebx
je 0x10163449
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x1016343d
push eax
call ebp
test eax, eax
jg 0x1016343d
mov edx, dword [edi]
sub edx, 0xc
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x50], ebx
mov edi, dword [esi + 0x54]
cmp edi, ebx
je 0x1016347b
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x1016346f
push eax
call ebp
test eax, eax
jg 0x1016346f
mov eax, dword [edi]
sub eax, 0xc
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x54], ebx
mov eax, dword [esi + 0x58]
cmp eax, ebx
je 0x1016348e
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x58], ebx
mov eax, dword [esi + 0x5c]
cmp eax, ebx
je 0x101634a1
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x5c], ebx
mov eax, dword [esi + 0x60]
cmp eax, ebx
je 0x101634b4
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x60], ebx
mov eax, dword [esi + 0x64]
cmp eax, ebx
je 0x101634c7
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x64], ebx
mov eax, dword [esi + 0x68]
cmp eax, ebx
je 0x101634da
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x68], ebx
mov eax, dword [esi + 0x6c]
cmp eax, ebx
je 0x101634ed
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x6c], ebx
mov eax, dword [esi + 0x70]
cmp eax, ebx
je 0x10163500
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x70], ebx
mov eax, dword [esi + 0x74]
cmp eax, ebx
je 0x10163513
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x74], ebx
mov eax, dword [esi + 0x78]
cmp eax, ebx
je 0x10163526
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x78], ebx
mov eax, dword [esi + 0x7c]
cmp eax, ebx
je 0x10163539
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x7c], ebx
mov eax, dword [esi + 0x84]
cmp eax, ebx
je 0x10163552
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x84], ebx
mov eax, dword [esi + 0x88]
cmp eax, ebx
je 0x1016356b
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x88], ebx
mov eax, dword [esi + 0x8c]
cmp eax, ebx
je 0x10163584
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x8c], ebx
mov edi, dword [esi + 0x90]
cmp edi, ebx
je 0x101635bc
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x101635ad
push eax
call ebp
test eax, eax
jg 0x101635ad
mov ecx, dword [edi]
sub ecx, 0xc
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x90], ebx
mov edi, dword [esi + 0x94]
cmp edi, ebx
je 0x101635f4
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x101635e5
push eax
call ebp
test eax, eax
jg 0x101635e5
mov edx, dword [edi]
sub edx, 0xc
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x94], ebx
mov edi, dword [esi + 0x98]
cmp edi, ebx
je 0x1016362c
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x1016361d
push eax
call ebp
test eax, eax
jg 0x1016361d
mov eax, dword [edi]
sub eax, 0xc
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x98], ebx
mov edi, dword [esi + 0x9c]
cmp edi, ebx
je 0x10163664
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x10163655
push eax
call ebp
test eax, eax
jg 0x10163655
mov ecx, dword [edi]
sub ecx, 0xc
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0x9c], ebx
mov eax, dword [esi + 0xa0]
cmp eax, ebx
je 0x1016367d
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0xa0], ebx
mov eax, dword [esi + 0xa4]
cmp eax, ebx
je 0x10163696
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0xa4], ebx
mov eax, dword [esi + 0xa8]
cmp eax, ebx
je 0x101636af
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0xa8], ebx
mov eax, dword [esi + 0xb0]
cmp eax, ebx
je 0x101636c8
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0xb0], ebx
mov edi, dword [esi + 0xb4]
cmp edi, ebx
je 0x10163700
mov eax, dword [edi]
add eax, 0xfffffff4
cmp dword [eax], 0xfffffffe
je 0x101636f1
push eax
call ebp
test eax, eax
jg 0x101636f1
mov edx, dword [edi]
sub edx, 0xc
push edx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0xb4], ebx
pop edi
mov dword [esi + 0x18], sym.OOXMLDocument.dll_const_OOXML::VML::AG_CAllCoreAttributes::vftable
mov ecx, esi
pop esi
pop ebp
pop ebx
jmp sym.OOXMLDocument.dll_public_virtual:_void___thiscall_CSDExtObject::destructor_void_