Function at 0x1016c90
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24c
push ebx
push esi
push edi
call fcn.01015e10
test eax, eax
jne 0x1016cb0
mov dword [ebp + 0x10], 0
call fcn.01009730
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push eax
call fcn.01009710
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24c], eax
jmp 0x1017eb7
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0103bae9
test eax, eax
jge 0x1016cf0
jmp case.0x1017edc.19
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0x10], 0
je 0x1016d22
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a050
jmp 0x1016d54
lea eax, [ebp - 0xc]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a050
test eax, eax
je 0x1016d54
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018560
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.01016230
jmp case.0x1017edc.19
lea eax, [ebp - 0x30]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x1016d94
jmp case.0x1017edc.19
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x1016dc5
lea eax, [ebp - 0x2c]
push eax
push 0
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a1f0
jmp 0x1016df3
lea eax, [ebp - 0x2c]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a1f0
test eax, eax
je 0x1016df3
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01017f90
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
lea eax, [ebp - 0x54]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x1016e30
jmp case.0x1017edc.19
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x1016e61
lea eax, [ebp - 0x50]
push eax
push 0
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a2c0
jmp 0x1016e8f
lea eax, [ebp - 0x50]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a2c0
test eax, eax
je 0x1016e8f
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010180b0
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 1
lea eax, [ebp - 0x78]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x1016eda
jmp case.0x1017edc.19
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x1016f0b
lea eax, [ebp - 0x74]
push eax
push 0
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a390
jmp 0x1016f39
lea eax, [ebp - 0x74]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a390
test eax, eax
je 0x1016f39
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010181e0
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
lea eax, [ebp - 0xcc]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x1016f79
jmp case.0x1017edc.19
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
lea eax, [ebp - 0xc4]
push eax
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a530
test eax, eax
jne 0x1016fbc
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
push 1
lea eax, [ebp - 0xc4]
push eax
call fcn.01016920
mov word [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 1
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
call dword [eax + 0x18]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x101707c
push 0x51b
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::GetCanFormat:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0xd0]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0xd0]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
je 0x1017180
mov dword [ebp - 0x94], 0
lea eax, [ebp - 0xa4]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a5f0
cmp dword [ebp - 0xa0], 0
je 0x101717b
push 0x40
push str.Cl32Test___ansi
push str.non_NULL_ptd_returned_from_IDataObject::GetCanonicalFormatEtc
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [ebp - 0x84]
push eax
push 1
call dword [sym.imp.ole32.dll_CoGetMalloc]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x1017150
push 0x52b
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 - 0xd0]
push eax
call fcn.0102e6d7
jmp 0x101717b
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x10171a5
cmp dword [ebp - 0xa0], 0
je 0x10171a5
push 0x30
push str.Cl32Test___ansi
push str.ERROR:_non_NULL_ptd_returned_on_error
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
lea eax, [ebp - 0xc4]
push eax
call fcn.01016920
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
lea eax, [ebp - 0xf4]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x10171fc
jmp case.0x1017edc.19
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x1017236
lea eax, [ebp - 0xf0]
push eax
push 0
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a460
jmp 0x101726d
lea eax, [ebp - 0xf0]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a460
test eax, eax
je 0x101726d
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018270
lea eax, [ebp - 0xf0]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0xf4]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
mov dword [ebp - 0x100], 1
mov dword [ebp - 0x104], 0
lea eax, [ebp - 0x12c]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x10172ca
jmp case.0x1017edc.19
lea eax, [ebp - 0xf8]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01015e30
test eax, eax
jne 0x10172fb
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
mov dword [ebp - 0x130], 1
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
call dword [eax + 0x20]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
je 0x1017386
push 0x572
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::EnumFormatEtc:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x134]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x134]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
jne 0x10173e0
cmp dword [ebp - 0x130], 0
je 0x10173c9
push 0x30
push str.Cl32Test___ansi
push str.ERROR:_non_NULL_lpEnumFormatEtc_returned_on_error
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
mov dword [ebp - 0x120], 1
cmp dword [ebp - 0x100], 0
je 0x1017500
push 0
lea eax, [ebp - 0x124]
push eax
push 1
mov eax, dword [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x130]
mov eax, dword [eax]
call dword [eax + 0xc]
test eax, eax
jne 0x1017500
mov dword [ebp - 0x104], 1
lea eax, [ebp - 0x124]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a680
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x120], 0
je 0x10174f1
push 0x40
push str.Cl32Test___ansi
push str.non_NULL_ptd_enumerated_by_IDataObject::EnumFormatEtc
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
lea eax, [ebp - 0xfc]
push eax
push 1
call dword [sym.imp.ole32.dll_CoGetMalloc]
test eax, eax
je 0x10174c1
push 0x58b
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 - 0x134]
push eax
call fcn.0102e6d7
jmp 0x10174ec
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax]
call dword [eax + 0x14]
mov eax, dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x10174fb
mov dword [ebp - 0x120], 1
jmp 0x10173ea
cmp dword [ebp - 0x104], 0
jne 0x101752a
push 0x40
push str.Cl32Test___ansi
push str.No_FORMATETCs_enumerated.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x101754f
cmp dword [ebp - 0x100], 0
je 0x101754f
push 0x40
push str.Cl32Test___ansi
push str.No_more_FORMATETCs_enumerated.
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x130]
mov eax, dword [eax]
call dword [eax + 8]
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
lea eax, [ebp - 0x158]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x101759a
jmp case.0x1017edc.19
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x10175d8
lea eax, [ebp - 0x154]
push eax
push 0
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x158]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a720
jmp 0x1017615
lea eax, [ebp - 0x154]
push eax
push 0
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a720
test eax, eax
je 0x1017615
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x158]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010183e0
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
mov dword [ebp - 0x15c], 0
lea eax, [ebp - 0x160]
push eax
push 0x1001858
mov eax, dword [ebp + 8]
push eax
call fcn.01016be0
test eax, eax
jge 0x1017668
jmp case.0x1017edc.19
cmp dword [ebp + 0x10], 0
je 0x1017690
lea eax, [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x160]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a800
jmp 0x10176c5
lea eax, [ebp - 0x15c]
push eax
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a800
test eax, eax
je 0x10176c5
mov eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x160]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010184e0
mov eax, dword [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.01016230
jmp case.0x1017edc.19
mov dword [ebp - 0x184], 0
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x180]
add esi, 0x7c
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x168], 0
cmp dword [ebp + 0x10], 0
je 0x101774e
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x180]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01009d20
jmp 0x1017793
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x180]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.01009d20
test eax, eax
je 0x1017793
mov eax, dword [ebp - 0x184]
push eax
lea eax, [ebp - 0x180]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018600
jmp case.0x1017edc.19
cmp dword [ebp + 0x10], 0
je 0x10177c0
lea eax, [ebp - 0x188]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01009e00
jmp 0x10177f5
lea eax, [ebp - 0x188]
push eax
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.01009e00
test eax, eax
je 0x10177f5
mov eax, dword [ebp - 0x188]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.010186d0
jmp case.0x1017edc.19
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x1a4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
call dword [eax + 0x20]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
je 0x10178be
push 0x613
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.IViewObject::GetAdvise:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x1b8]
push eax
call fcn.0102e6d7
mov dword [ebp - 0x1b4], 1
cmp dword [ebp - 0x194], 0
je 0x1017959
mov eax, dword [ebp + 8]
add eax, 8
cmp dword [ebp - 0x194], eax
je 0x1017942
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 0x61a
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]
mov dword [ebp - 0x1b4], 1
mov eax, dword [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x194]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x101796d
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x198], 0
cmp dword [ebp + 0x10], 0
je 0x10179a7
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x1b4]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01009b00
jmp 0x10179f7
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x1b4]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.01009b00
test eax, eax
je 0x10179f7
mov eax, dword [ebp - 0x18c]
push eax
lea eax, [ebp - 0x1ac]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018750
jmp case.0x1017edc.19
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1dc]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01009c00
test eax, eax
jne 0x1017a65
jmp case.0x1017edc.19
mov dword [ebp - 0x1c0], 1
cmp dword [ebp - 0x1e8], 0
je 0x1017a8b
mov dword [ebp - 0x240], 0
jmp 0x1017a97
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x1e4], 0
je 0x1017ab3
mov dword [ebp - 0x244], 0
jmp 0x1017abf
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x1dc], 0
je 0x1017adb
mov dword [ebp - 0x248], 0
jmp 0x1017ae7
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x240]
push eax
mov eax, dword [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
call dword [eax + 0x20]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x1ec], eax
cmp dword [ebp - 0x1ec], 0
je 0x1017b6f
push 0x649
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.IViewObject::GetAdvise:
mov eax, dword [0x104ed80]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x104ed80]
push eax
mov eax, dword [ebp - 0x1ec]
push eax
call fcn.0102e6d7
mov eax, dword [ebp - 0x1ec]
and eax, 0x80000000
mov ecx, 0x80000000
and ecx, 0x80000000
cmp eax, ecx
je 0x1017c5a
lea eax, [ebp - 0x1d8]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01009c90
cmp dword [ebp - 0x1e8], 0
jne 0x1017c55
cmp dword [ebp - 0x1c0], 0
je 0x1017c3d
mov eax, dword [ebp + 8]
add eax, 8
cmp dword [ebp - 0x1c0], eax
je 0x1017c26
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 0x653
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]
mov eax, dword [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0x1c0]
mov eax, dword [eax]
call dword [eax + 8]
jmp 0x1017c55
push 0x30
push str.Cl32Test___ansi
push str.ERROR:_NULL_Sink_returned_from_IViewObject::GetAdvise
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x1017c8c
cmp dword [ebp - 0x1e8], 0
jne 0x1017c8c
cmp dword [ebp - 0x1c0], 0
je 0x1017c8c
push 0x30
push str.Cl32Test___ansi
push str.ERROR:_non_NULL_Sink_returned_on_error
mov eax, dword [0x10566c0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp case.0x1017edc.19
mov eax, dword [ebp + 8]
push eax
call fcn.01016840
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x1017cb2
jmp case.0x1017edc.19
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x1017cec
lea eax, [ebp - 0x20c]
push eax
push 0
mov eax, dword [ebp - 0x210]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100a990
jmp 0x1017d23
lea eax, [ebp - 0x20c]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100a990
test eax, eax
je 0x1017d23
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp - 0x210]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018810
mov eax, dword [ebp - 0x210]
push eax
mov eax, dword [ebp - 0x210]
mov eax, dword [eax]
call dword [eax + 8]
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
jmp case.0x1017edc.19
mov dword [ebp - 0x214], 0
mov eax, dword [ebp + 8]
push eax
call fcn.01016840
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jne 0x1017d75
jmp case.0x1017edc.19
cmp dword [ebp + 0x10], 0
je 0x1017d9d
lea eax, [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100aa60
jmp 0x1017dd2
lea eax, [ebp - 0x214]
push eax
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100aa60
test eax, eax
je 0x1017dd2
mov eax, dword [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018900
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x218]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.01016230
jmp case.0x1017edc.19
mov eax, dword [ebp + 8]
push eax
call fcn.01016840
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
jne 0x1017e1a
jmp case.0x1017edc.19
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016b50
cmp dword [ebp + 0x10], 0
je 0x1017e54
lea eax, [ebp - 0x238]
push eax
push 0
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.0100ac00
jmp 0x1017e8b
lea eax, [ebp - 0x238]
push eax
push 0
push 0
mov eax, dword [0x10566c0]
push eax
call fcn.0100ac00
test eax, eax
je 0x1017e8b
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [0x10566c0]
push eax
call fcn.01018980
lea eax, [ebp - 0x238]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.01016bc0
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x23c]
mov eax, dword [eax]
call dword [eax + 8]
jmp case.0x1017edc.19
sub dword [ebp - 0x24c], 0x133
cmp dword [ebp - 0x24c], 0x41
ja case.0x1017edc.19
mov eax, dword [ebp - 0x24c]
xor ecx, ecx
mov cl, byte [eax + 0x1017f33]
jmp dword [ecx*4 + 0x1017ee3]
mov eax, dword [ebp - 4]
push eax
call fcn.01009710
pop edi
pop esi
pop ebx
leave
ret 0xc