Function at 0x402be0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x60
mov ebx, dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov dword [esp], 0x44c371
call ebx
mov dword [ebp - 0x20], 0
sub esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 0x45678
mov dword [ebp - 0x18], 0x66661234
mov dword [ebp - 0x14], 0x984567ff
mov dword [ebp - 0x10], 0x56341276
mov dword [esp], 0x44c371
call ebx
mov edi, dword [sym.imp.kernel32.dll_GetProcAddress]
sub esp, 4
mov ebx, eax
mov dword [esp + 4], str.CStdStubBuffer_QueryInterface
mov dword [esp], eax
call edi
sub esp, 8
mov dword [ebp - 0x28], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_AddRef
call edi
sub esp, 8
mov dword [ebp - 0x2c], eax
mov dword [esp], ebx
mov dword [esp + 4], str.NdrCStdStubBuffer_Release
call edi
sub esp, 8
mov dword [ebp - 0x4c], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_Connect
call edi
sub esp, 8
mov dword [ebp - 0x40], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_Disconnect
call edi
sub esp, 8
mov dword [ebp - 0x44], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_Invoke
call edi
sub esp, 8
mov dword [ebp - 0x30], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_IsIIDSupported
call edi
sub esp, 8
mov dword [ebp - 0x34], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_CountRefs
call edi
sub esp, 8
mov dword [ebp - 0x48], eax
mov dword [esp], ebx
mov dword [esp + 4], str.CStdStubBuffer_DebugServerQueryInterface
call edi
sub esp, 8
mov dword [ebp - 0x38], eax
mov dword [esp], ebx
lea ebx, [ebp - 0x20]
mov dword [esp + 4], str.CStdStubBuffer_DebugServerRelease
call edi
mov esi, dword [sym.imp.rpcrt4.dll_NdrDllGetClassObject]
mov dword [ebp - 0x3c], eax
sub esp, 8
lea eax, [ebp - 0x1c]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], 0x473044
mov dword [esp + 0x10], 0x44a330
mov dword [esp + 0xc], 0x44a148
mov dword [esp + 4], 0x44d4a0
mov dword [esp], eax
mov dword [ebp - 0x50], esi
call esi
sub esp, 0x18
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x1f5
xor eax, eax
cmp ebx, 0x80040111
sete al
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x20]
mov dword [esp], eax
mov dword [esp + 4], str.NdrDllGetClassObject_with_unknown_clsid_should_have_returned_CLASS_E_CLASSNOTAVAILABLE_instead_of_0x_lx_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x1f6
xor eax, eax
mov dword [esp + 4], str.NdrDllGetClassObject_should_have_set_ppsf_to_NULL_on_failure_n
mov edx, dword [ebp - 0x20]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00401990
mov dword [esp + 8], ebx
mov dword [esp + 0x14], 0x473044
mov dword [esp + 0x10], 0x44a330
mov dword [esp + 0xc], 0x44a148
mov dword [esp + 4], 0x44d4a0
mov dword [esp], 0x44a330
call esi
sub esp, 0x18
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x1fb
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.ret__08lx_n
call fcn.00401990
mov eax, 0x1fc
call fcn.004015e0
mov dword [esp + 4], str.ppsf__NULL_n
mov ecx, dword [ebp - 0x20]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00401990
mov eax, dword [0x47304c]
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x200
xor eax, eax
mov dword [esp + 4], str.pfl_not_the_same_n
cmp dword [0x47304c], 0x44a148
sete al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x201
xor eax, eax
cmp ebx, 0x44a178
sete al
mov dword [esp + 4], str.proxy_vtbllist_not_the_same_n
mov dword [esp], eax
call fcn.00401990
mov eax, 0x202
call fcn.004015e0
xor eax, eax
cmp esi, 0x44a164
mov dword [esp + 4], str.stub_vtbllist_not_the_same_n
sete al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x28]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x212
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.QueryInterfacevtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x2c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x213
mov eax, dword [esi]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.AddRefvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x4c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x214
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Releasevtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x40]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x215
mov eax, dword [esi]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Connectvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x44]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x216
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Disconnectvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x30]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x217
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Invokevtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x34]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x218
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.IsIIDSupportedvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x48]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x219
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.CountRefsvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x38]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x21a
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.DebugServerQueryInterfacevtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x3c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x21b
mov eax, dword [esi]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.DebugServerReleasevtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x28]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x21d
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x10]
mov eax, ecx
mov dword [ebp - 0x54], ecx
call fcn.00401400
mov edx, dword [ebp - 0x28]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x54]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], str.QueryInterfacevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x2c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x21e
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x14]
mov eax, ecx
mov dword [ebp - 0x54], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x54]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], str.AddRefvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x4c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x21f
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 1
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Releasevtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x40]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x220
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 1
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Connectvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x44]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x221
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 1
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Disconnectvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x30]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x222
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x24]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov edx, dword [ebp - 0x30]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], str.Invokevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x34]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x223
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x28]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], str.IsIIDSupportedvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x48]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x224
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 1
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.CountRefsvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x38]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x225
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x30]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], str.DebugServerQueryInterfacevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x3c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x226
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x34]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], str.DebugServerReleasevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x28]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x228
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x10]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov edx, dword [ebp - 0x28]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.QueryInterfacevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x2c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x229
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.AddRefvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x22a
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x18]
mov dword [esp + 8], 2
mov dword [esp + 4], str.Releasevtbl__d_not_null__p_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x40]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x22b
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x1c]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov edx, dword [ebp - 0x40]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.Connectvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x44]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x22c
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x44]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.Disconnectvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x30]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x22d
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x24]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov edx, dword [ebp - 0x30]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.Invokevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x34]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x22e
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x28]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.IsIIDSupportedvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x48]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x22f
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x2c]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov edx, dword [ebp - 0x48]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.CountRefsvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x38]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x230
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x30]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.DebugServerQueryInterfacevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x3c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x231
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x34]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 2
mov dword [esp + 4], str.DebugServerReleasevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x28]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x233
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, ecx
mov dword [ebp - 0x4c], ecx
call fcn.00401400
mov edx, dword [ebp - 0x28]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 3
mov dword [esp + 4], str.QueryInterfacevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x2c]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x234
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x14]
mov eax, ecx
mov dword [ebp - 0x28], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 3
mov dword [esp + 4], str.AddRefvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x235
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp + 8], 3
mov dword [esp + 4], str.Releasevtbl__d_not_null__p_n
test eax, eax
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x40]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x236
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 3
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Connectvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov ecx, dword [ebp - 0x44]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x237
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 3
cmp eax, ecx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.Disconnectvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x30]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x238
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x24]
mov eax, ecx
mov dword [ebp - 0x28], ecx
call fcn.00401400
mov edx, dword [ebp - 0x30]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 3
mov dword [esp + 4], str.Invokevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x34]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x239
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x28]
mov eax, ecx
mov dword [ebp - 0x28], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x34]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 3
mov dword [esp + 4], str.IsIIDSupportedvtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x48]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x23a
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 3
cmp eax, edx
mov dword [esp + 0xc], eax
setne al
mov dword [esp + 4], str.CountRefsvtbl__d_updated__p__p_n
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [ebp - 0x38]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x23b
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x30]
mov eax, ecx
mov dword [ebp - 0x28], ecx
call fcn.00401400
mov ecx, dword [ebp - 0x38]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 3
mov dword [esp + 4], str.DebugServerQueryInterfacevtbl__d_not_updated__p__p_n
call fcn.00401990
mov eax, 0x23c
call fcn.004015e0
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x3c]
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.00401400
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 3
mov dword [esp + 4], str.DebugServerReleasevtbl__d_not_updated__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, 0x448a98
mov dword [eax + 4], 0x244
mov dword [eax], 0x44c06a
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x448a98
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
mov eax, 0x245
call fcn.004015e0
mov eax, dword [ebx]
mov edx, 0x448a90
mov esi, dword [eax + 8]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x448a90
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, 0x448aa0
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x246
mov eax, dword [ebx]
mov esi, dword [eax + 0xc]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x448aa0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
mov eax, 0x247
call fcn.004015e0
mov eax, dword [ebx]
mov edx, section..text
mov esi, dword [eax + 0x10]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x401000
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, 0x401620
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x248
mov eax, dword [ebx]
mov esi, dword [eax + 0x14]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x401620
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
mov eax, 0x24a
call fcn.004015e0
mov dword [esp + 4], str.IUnknown_QueryInterface_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov esi, eax
mov eax, dword [ebx + 4]
sub esp, 8
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28], ecx
mov dword [esp + 4], str.IUnknown_QueryInterface_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov edx, eax
mov eax, dword [ebx + 4]
sub esp, 8
mov eax, dword [eax + 4]
call fcn.00401400
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x24b
mov dword [esp + 4], str.IUnknown_AddRef_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov esi, eax
mov eax, dword [ebx + 4]
sub esp, 8
mov ecx, dword [eax + 8]
mov dword [ebp - 0x28], ecx
mov dword [esp + 4], str.IUnknown_AddRef_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov edx, eax
mov eax, dword [ebx + 4]
sub esp, 8
mov eax, dword [eax + 8]
call fcn.00401400
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x24c
mov dword [esp + 4], str.IUnknown_Release_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov esi, eax
mov eax, dword [ebx + 4]
sub esp, 8
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x28], ecx
mov dword [esp + 4], str.IUnknown_Release_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov edx, eax
mov eax, dword [ebx + 4]
sub esp, 8
mov eax, dword [eax + 0xc]
call fcn.00401400
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x24d
mov dword [esp + 0xc], 3
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov esi, dword [eax + 0x10]
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x24e
mov dword [esp + 0xc], 4
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x14]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x24f
mov dword [esp + 0xc], 5
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x18]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x250
mov dword [esp + 0xc], 6
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x1c]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x251
mov dword [esp + 0xc], 7
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x20]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x252
mov dword [esp + 0xc], 8
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x24]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x253
mov dword [esp + 0xc], 9
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov edx, dword [eax + 0x28]
xor eax, eax
test edx, edx
setne al
mov dword [esp], eax
call fcn.00401990
mov eax, 0x254
call fcn.004015e0
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x2c]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x255
mov dword [esp + 0xc], 0xb
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov esi, dword [eax + 0x30]
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00401990
mov eax, 0x256
call fcn.004015e0
mov dword [esp + 0xc], 0xc
mov dword [esp + 8], 1
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x34]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, 0x448a98
mov dword [eax + 4], 0x258
mov dword [eax], 0x44c06a
mov eax, dword [ebx + 8]
mov esi, dword [eax + 4]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x448a98
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
mov eax, 0x259
call fcn.004015e0
mov eax, dword [ebx + 8]
mov edx, 0x448a90
mov esi, dword [eax + 8]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x448a90
mov dword [esp + 0xc], 1
mov dword [esp + 8], 2
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, 0x448aa0
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x25a
mov eax, dword [ebx + 8]
mov esi, dword [eax + 0xc]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x448aa0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov edx, section..text
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x25b
mov eax, dword [ebx + 8]
mov esi, dword [eax + 0x10]
mov eax, esi
call fcn.00401400
mov dword [esp + 0x10], esi
mov dword [esp], eax
mov dword [esp + 0x14], 0x401000
mov dword [esp + 0xc], 3
mov dword [esp + 8], 2
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
mov esi, dword [0x4b3310]
call fcn.00448020
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
add edx, edx
test esi, esi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x404098
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x25c
mov dword [esp + 0xc], 4
mov dword [esp + 8], 2
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x14]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x404050
mov eax, 0x25e
call fcn.004015e0
mov dword [esp + 4], str.IUnknown_QueryInterface_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov esi, eax
mov eax, dword [ebx + 0xc]
sub esp, 8
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28], ecx
mov dword [esp + 4], str.IUnknown_QueryInterface_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov edx, eax
mov eax, dword [ebx + 0xc]
sub esp, 8
mov eax, dword [eax + 4]
call fcn.00401400
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
mov eax, 0x25f
call fcn.004015e0
mov dword [esp + 4], str.IUnknown_AddRef_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov esi, eax
mov eax, dword [ebx + 0xc]
sub esp, 8
mov ecx, dword [eax + 8]
mov dword [ebp - 0x28], ecx
mov dword [esp + 4], str.IUnknown_AddRef_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov edx, eax
mov eax, dword [ebx + 0xc]
sub esp, 8
mov eax, dword [eax + 8]
call fcn.00401400
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x260
mov dword [esp + 4], str.IUnknown_Release_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov esi, eax
mov eax, dword [ebx + 0xc]
sub esp, 8
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x28], ecx
mov dword [esp + 4], str.IUnknown_Release_Proxy
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call edi
mov edx, eax
mov eax, dword [ebx + 0xc]
sub esp, 8
mov eax, dword [eax + 0xc]
call fcn.00401400
mov dword [esp + 0x14], esi
mov ecx, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 2
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u__p__p_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x261
mov dword [esp + 0xc], 3
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + 0x10]
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x262
mov dword [esp + 0xc], 4
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 0xc]
mov edi, dword [eax + 0x14]
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x263
mov dword [esp + 0xc], 5
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x18]
test eax, eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
mov eax, 0x264
call fcn.004015e0
mov dword [esp + 0xc], 6
mov dword [esp + 8], 3
mov dword [esp + 4], str.wrong_proxy__u_func__u_is_NULL_n
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x1c]
test eax, eax
setne al
xor esi, esi
movzx eax, al
mov dword [esp], eax
call fcn.00401990
call fcn.00448020
mov edx, dword [esi*4 + 0x44cb38]
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x26d
mov eax, dword [ebx + esi*4]
mov eax, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 0x10], edx
cmp edx, eax
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 4], str.wrong_proxy__u_iid__p__p_n
add esi, 1
movzx eax, al
mov dword [esp], eax
call fcn.00401990
cmp esi, 4
jne 0x404304
mov eax, 0x270
call fcn.004015e0
mov eax, dword [0x473048]
mov dword [esp + 4], str.ref_count__ld_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401990
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x20]
sub esp, 4
mov dword [esp + 0x14], 0x473044
mov dword [esp + 0x10], 0x44a330
mov dword [esp + 0xc], 0x44a148
mov dword [esp + 8], eax
mov dword [esp + 4], 0x44d4a0
mov dword [esp], 0x44a350
mov edi, dword [ebp - 0x50]
call edi
sub esp, 0x18
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x276
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.ret__08lx_n
call fcn.00401990
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x277
xor eax, eax
mov dword [esp + 4], str.ppsf__NULL_n
mov edx, dword [ebp - 0x20]
test edx, edx
setne al
mov dword [esp], eax
call fcn.00401990
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x20]
sub esp, 4
mov dword [esp + 0x14], 0x473044
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x44a148
mov dword [esp + 8], eax
mov dword [esp + 4], 0x44d4a0
mov dword [esp], 0x44a350
call edi
sub esp, 0x18
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x27c
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.ret__08lx_n
call fcn.00401990
mov eax, 0x27d
call fcn.004015e0
mov dword [esp + 4], str.ppsf__NULL_n
mov ecx, dword [ebp - 0x20]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00401990
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x20]
sub esp, 4
mov dword [esp + 0x14], 0x473044
mov dword [esp + 0x10], 0x44a330
mov dword [esp + 0xc], 0x44a148
mov dword [esp + 8], eax
mov dword [esp + 4], 0x44d4a0
mov dword [esp], 0x44d100
call edi
sub esp, 0x18
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x283
xor eax, eax
cmp ebx, 0x80040111
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.ret__08lx_n
call fcn.00401990
lea eax, [ebp - 0x20]
mov dword [esp + 0x14], 0x473044
mov dword [esp + 0x10], 0x44a330
mov dword [esp + 0xc], 0x44a148
mov dword [esp + 8], eax
mov dword [esp + 4], 0x44d4a0
mov dword [esp], 0x44a330
call edi
sub esp, 0x18
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x288
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.ret__08lx_n
call fcn.00401990
mov eax, 0x289
call fcn.004015e0
mov dword [esp + 4], str.ppsf__NULL_n
mov ebx, dword [ebp - 0x20]
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00401990
mov ebx, dword [sym.imp.ole32.dll_CoRegisterPSClsid]
mov dword [esp + 4], 0x44a330
mov dword [esp], 0x44a370
call ebx
sub esp, 8
mov esi, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x290
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.ret__08lx_n
mov dword [esp], eax
call fcn.00401990
mov dword [esp + 4], 0x44a330
mov dword [esp], 0x44a360
call ebx
sub esp, 8
mov esi, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x292
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.ret__08lx_n
mov dword [esp], eax
call fcn.00401990
mov dword [esp + 4], 0x44a330
mov dword [esp], 0x44a350
call ebx
sub esp, 8
mov esi, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x294
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.ret__08lx_n
mov dword [esp], eax
call fcn.00401990
mov dword [esp + 4], 0x44a330
mov dword [esp], 0x44a340
call ebx
sub esp, 8
mov ebx, eax
call fcn.00448020
mov dword [eax], 0x44c06a
mov dword [eax + 4], 0x296
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.ret__08lx_n
call fcn.00401990
mov eax, dword [ebp - 0x20]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret