Function at 0x405ed0
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
lea eax, [ebp - 0x208]
sub esp, 0x260
mov dword [ebp - 0x234], eax
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 0xc], 0x100
mov dword [esp + 4], 0xe6
mov dword [esp], eax
mov dword [ebp - 0x244], 0x45
mov dword [ebp - 0x230], 0x100
mov dword [ebp - 0x224], 1
mov dword [ebp - 0x248], 0xffff0001
mov dword [ebp - 0x24c], 0xffff0000
call sym._LoadStringW_16
mov esi, dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0x10
mov dword [esp + 8], 0x60c
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov edx, 2
mov ecx, 0x49
mov byte [eax], 1
sub esp, 0xc
jmp 0x405f8a
movzx ecx, word [edx + str.Interface_]
add edx, 2
mov word [eax + edx], cx
test cx, cx
jne 0x405f80
mov dword [ebp - 0x220], eax
mov eax, dword [0x418030]
lea ebx, [ebp - 0x24c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x41867c], eax
mov eax, dword [ebp - 0x234]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xdc
mov dword [esp], eax
call sym._LoadStringW_16
sub esp, 0x10
mov dword [esp + 8], 0x60c
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov edx, 2
mov ecx, 0x54
mov byte [eax], 1
sub esp, 0xc
jmp 0x406032
movzx ecx, word [edx + str.TypeLib_]
add edx, 2
mov word [eax + edx], cx
test cx, cx
jne 0x406028
mov dword [ebp - 0x220], eax
mov eax, dword [0x418030]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x418678], eax
mov eax, dword [ebp - 0x234]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xd2
mov dword [esp], eax
call sym._LoadStringW_16
sub esp, 0x10
mov dword [esp + 8], 0x60c
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov edx, 2
mov ecx, 0x41
mov byte [eax], 3
sub esp, 0xc
jmp 0x4060da
movzx ecx, word [edx + str.AppID_]
add edx, 2
mov word [eax + edx], cx
test cx, cx
jne 0x4060d0
mov dword [ebp - 0x220], eax
mov eax, dword [0x418030]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x418674], eax
mov eax, dword [ebp - 0x234]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xc8
mov dword [esp], eax
call sym._LoadStringW_16
mov eax, dword [0x418030]
mov dword [ebp - 0x220], 0
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x418660], eax
sub esp, 0x10
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x234]
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xcc
mov dword [esp], eax
call sym._LoadStringW_16
sub esp, 0x10
mov dword [esp + 8], 0x60c
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov edx, 2
mov ecx, 0x43
mov byte [eax], 1
sub esp, 0xc
jmp 0x4061e2
movzx ecx, word [edx + str.CLSID_]
add edx, 2
mov word [eax + edx], cx
test cx, cx
jne 0x4061d8
mov dword [ebp - 0x220], eax
mov eax, dword [0x418030]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x418670], eax
mov eax, dword [ebp - 0x234]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xcb
mov dword [esp], eax
call sym._LoadStringW_16
mov eax, dword [0x418030]
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x41866c], eax
mov eax, dword [ebp - 0x234]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xca
mov dword [esp], eax
call sym._LoadStringW_16
mov eax, dword [0x418030]
mov dword [ebp - 0x220], 0
sub esp, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x418668], eax
mov eax, dword [ebp - 0x234]
sub esp, 0x10
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], eax
mov eax, dword [0x41803c]
mov dword [esp + 4], 0xc9
mov dword [esp], eax
call sym._LoadStringW_16
sub esp, 0x10
mov dword [esp + 8], 0x60c
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call esi
mov edx, 2
mov ecx, 0x43
mov byte [eax], 3
sub esp, 0xc
jmp 0x40633a
movzx ecx, word [edx + str.Component_Categories_]
add edx, 2
mov word [eax + edx], cx
test cx, cx
jne 0x406330
mov dword [ebp - 0x220], eax
mov eax, dword [0x418030]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1132
mov dword [esp], eax
call sym._SendMessageW_16
mov dword [0x418664], eax
mov eax, dword [0x418660]
sub esp, 0x10
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov eax, dword [0x418030]
mov dword [esp + 4], 0x1102
mov dword [esp], eax
call sym._SendMessageW_16
sub esp, 0x10
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret