Function at 0x1016230
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0
cmp dword [ebp + 0xc], 0
jne 0x101627a
mov word [ebp - 0x30], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 4], 1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x48], eax
jmp 0x1016448
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0103bae9
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x10162ab
jmp 0x10167fb
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
call dword [eax + 0x54]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x101630d
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
push 0x24a
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..citem2.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.IOleObject::EnumAdvise:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x101646b
lea eax, [ebp - 0x40]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x101633d
jmp 0x10167fb
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x101639f
push 0x25f
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..citem2.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.IDataObject::EnumAdvise:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x101646b
mov eax, dword [ebp + 8]
push eax
call fcn.01016840
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x10163cb
jmp 0x10167fb
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
call dword [eax + 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x101642d
push 0x272
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..citem2.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.IOleCache::EnumCache:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x101646b
cmp dword [ebp - 0x48], 0
je 0x101628c
cmp dword [ebp - 0x48], 1
je 0x101631e
cmp dword [ebp - 0x48], 2
je 0x10163b0
jmp 0x10167fb
mov eax, dword [ebp - 0x3c]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
jne 0x10164ad
cmp dword [ebp - 4], 0
je 0x10164a8
push 0x30
push str.Cl32Test___ansi
push str.ERROR:_non_NULL_lpEnumStatData_returned_on_error
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10167fb
cmp dword [ebp - 4], 0
jne 0x10164d4
push 0x40
push str.Cl32Test___ansi
push str.NULL_lpEnumStatData_returned
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10167fb
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0xc], 0
je 0x1016730
push 0
lea eax, [ebp - 0x30]
push eax
push 1
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
jne 0x1016730
mov dword [ebp - 0x10], 1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
jmp 0x101657d
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a140
mov dword [ebp - 0xc], eax
jmp 0x10165a0
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a8e0
mov dword [ebp - 0xc], eax
jmp 0x10165a0
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100ab40
mov dword [ebp - 0xc], eax
jmp 0x10165a0
cmp dword [ebp - 0x4c], 0
je 0x101651a
cmp dword [ebp - 0x4c], 1
je 0x1016538
cmp dword [ebp - 0x4c], 2
je 0x1016556
jmp 0x10165a0
cmp dword [ebp + 0xc], 2
je 0x1016614
mov eax, dword [ebp + 8]
add eax, 8
cmp eax, dword [ebp - 0x18]
je 0x1016614
push 0x30
push str.Cl32Test___ansi
push str.Different_Sink_returned
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x2a5
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..citem2.c
push str.Cl32Test___ansi
push str.Assert_Failure__Module:__s__file__s__line__d_r_n
push 0x1056c90
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0x1056c90
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.Different_Sink_returned
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x104c08c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [ebp - 0x2c], 0
je 0x10166b9
cmp dword [ebp + 0xc], 0
jne 0x1016645
push 0x30
push str.Cl32Test___ansi
push str.Error:_non_Null_ptd_enumerated
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10166b9
lea eax, [ebp - 8]
push eax
push 1
call dword [sym.imp.ole32.dll_CoGetMalloc]
test eax, eax
je 0x101669d
push 0x2b2
push str.c:_ntprivatectoleuiole2.0_appscl2testchicago..citem2.c
mov eax, dword [0x1056d98]
push eax
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push str.OleGetMalloc:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0102e6d7
jmp 0x10166b9
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call dword [eax + 0x14]
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call dword [eax + 8]
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x18], 0
je 0x1016702
cmp dword [ebp + 0xc], 2
jne 0x10166f1
push 0x30
push str.Cl32Test___ansi
push str.Error:_non_Null_Sink_enumerated
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10166fd
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x1016724
cmp dword [ebp + 0xc], 2
je 0x1016724
push 0x30
push str.Cl32Test___ansi
push str.NULL_Sink_enumerated
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0x18], 1
jmp 0x10164e2
cmp dword [ebp - 0x10], 0
jne 0x1016792
cmp dword [ebp + 0xc], 0
je 0x101674e
cmp dword [ebp + 0xc], 1
jne 0x101676b
push 0x40
push str.Cl32Test___ansi
push str.No_Advise_connections_enumerated.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x101678d
cmp dword [ebp + 0xc], 2
jne 0x101678d
push 0x40
push str.Cl32Test___ansi
push str.No_Caches_enumerated.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10167ef
cmp dword [ebp - 0xc], 0
je 0x10167ef
cmp dword [ebp + 0xc], 0
je 0x10167b0
cmp dword [ebp + 0xc], 1
jne 0x10167cd
push 0x40
push str.Cl32Test___ansi
push str.No_more_Advise_connections_enumerated.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x10167ef
cmp dword [ebp + 0xc], 2
jne 0x10167ef
push 0x40
push str.Cl32Test___ansi
push str.No_more_Caches_enumerated.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
call dword [eax + 8]
pop edi
pop esi
pop ebx
leave
ret 8