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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
push esi
mov esi, ecx
mov dword [esp + 0x10], 0
push edi
mov edi, dword [sym.imp.ole32.dll_PropVariantClear]
mov dword [esp + 0xc], esi
cmp byte [esi + 0x18], 0
mov eax, dword [sym.imp.KERNEL32.dll_InitOnceExecuteOnce]
push 0
push 0
push 0x100139e0
push 0x1005dbe4
je 0x1001436d
call eax
test eax, eax
je 0x10014684
push dword [esp + 0x14]
push dword [0x1005e154]
call dword [sym.imp.COMCTL32.dll_DPA_GetPtr]
mov esi, eax
mov dword [esp + 0x1c], esi
jmp 0x1001438d
call eax
test eax, eax
je 0x10014684
push dword [esp + 0x14]
push dword [0x1005e158]
call dword [sym.imp.COMCTL32.dll_DPA_GetPtr]
mov esi, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
test esi, esi
je 0x10014689
test eax, eax
je 0x10014557
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], 0
push ecx
push eax
mov dword [esp + 0x18], 0
call dword [sym.imp.SHLWAPI.dll_SHStrDupW]
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0
push eax
push 0x10052c1c
push dword [esp + 0x18]
call dword [sym.imp.msvcrt.dll_wcstok_s]
add esp, 0xc
mov dword [esp + 0x3c], eax
test eax, eax
je 0x100145c0
nop dword [eax + eax]
movups xmm0, xmmword [0x100530a0]
mov eax, dword [0x100530b0]
lea ecx, [esp + 0x80]
mov dword [esp + 0x90], eax
xor esi, esi
mov eax, dword [0x100530c4]
xor edi, edi
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0xa4], eax
movups xmm0, xmmword [0x100530b4]
mov eax, dword [0x1004f6b8]
mov dword [esp + 0xb8], eax
mov eax, dword [0x1005309c]
movups xmmword [esp + 0x94], xmm0
mov dword [esp + 0xcc], eax
movups xmm0, xmmword [0x1004f6a8]
mov dword [esp + 0x18], ecx
movups xmmword [esp + 0xa8], xmm0
movups xmm0, xmmword [0x1005308c]
movups xmmword [esp + 0xbc], xmm0
nop dword [eax + eax]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
push ecx
mov eax, dword [edx]
push edx
movaps xmmword [esp + 0x4c], xmm0
call dword [eax + 0x14]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100144be
push dword [esp + 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x100144ac
mov ecx, 0xa
sub ecx, edi
add esi, ecx
cmp eax, dword [esp + 0x48]
jne 0x100144b3
inc esi
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.ole32.dll_PropVariantClear]
add dword [esp + 0x18], 0x14
inc edi
cmp edi, 4
jb 0x10014470
test esi, esi
je 0x100145ba
mov edi, dword [esp + 0x34]
lea eax, [esp + 0x38]
push eax
push 0x10052c1c
add edi, esi
push 0
mov dword [esp + 0x40], edi
call dword [sym.imp.msvcrt.dll_wcstok_s]
mov edx, eax
add esp, 0xc
mov dword [esp + 0x3c], edx
test edx, edx
jne 0x100143f0
test edi, edi
je 0x100145ba
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x70]
push ecx
push 0x1005198c
push esi
mov eax, dword [esi]
call dword [eax + 0x14]
cmp dword [esp + 0x78], 0
jne 0x10014524
add edi, 0x64
mov eax, 3
mov dword [esp + 0x58], edi
lea ecx, [esp + 0x50]
mov word [esp + 0x50], ax
mov eax, dword [esi]
push ecx
push 0x10052f88
push esi
call dword [eax + 0x18]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10014551
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov edi, dword [sym.imp.ole32.dll_PropVariantClear]
mov eax, dword [esi]
lea ecx, [esp + 0x60]
push ecx
push 0x1005198c
xorps xmm0, xmm0
push esi
movaps xmmword [esp + 0x6c], xmm0
call dword [eax + 0x14]
cmp dword [esp + 0x68], 0
lea ecx, [esp + 0x20]
mov eax, dword [esi]
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
mov byte [esp + 0xb], 1
push ecx
mov eax, dword [eax + 0x14]
je 0x100145dc
push 0x1005193c
push esi
call eax
test eax, eax
js 0x10014656
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10014656
push eax
call fcn.10014030
and al, 1
mov byte [esp + 0xb], al
jmp 0x10014656
mov edi, dword [sym.imp.ole32.dll_PropVariantClear]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x100145cf
push eax
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov esi, dword [esp + 0xc]
inc dword [esp + 0x14]
jmp 0x10014332
push 0x10051978
push esi
call eax
test eax, eax
js 0x100145fc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100145fc
push eax
call fcn.10013fa0
and al, 1
mov byte [esp + 0xb], al
lea eax, [esp + 0x20]
push eax
call edi
mov eax, dword [esi]
lea ecx, [esp + 0x20]
push ecx
push 0x10051950
push esi
call dword [eax + 0x14]
test eax, eax
js 0x10014629
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10014629
push eax
call fcn.10013fa0
and byte [esp + 0xb], al
lea eax, [esp + 0x20]
push eax
call edi
mov eax, dword [esi]
lea ecx, [esp + 0x20]
push ecx
push 0x10051964
push esi
call dword [eax + 0x14]
test eax, eax
js 0x10014656
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10014656
push eax
call fcn.10013fa0
and byte [esp + 0xb], al
lea eax, [esp + 0x20]
push eax
call edi
cmp byte [esp + 0xb], 0
je 0x100145cf
push esi
mov esi, dword [esp + 0x10]
push SHChangeNotifyRegister
push dword [esi + 8]
call dword [sym.imp.COMCTL32.dll_DPA_InsertPtr]
inc dword [esp + 0x14]
jmp 0x10014332
mov eax, dword [esi + 4]
jmp 0x1001468d
mov esi, dword [esp + 0xc]
test eax, eax
je 0x100146a2
mov eax, dword [esi + 8]
push dword [eax]
push 0x10014250
push eax
call dword [sym.imp.COMCTL32.dll_DPA_Sort]
pop edi
pop esi
mov esp, ebp
pop ebp
ret