Function at 0x10015e4
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x314
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [0x1003024], eax
push esi
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor esi, esi
mov dword [ebp - 0x2a4], eax
cmp eax, esi
je 0x100186c
push edi
xor edi, edi
inc edi
cmp dword [ebp - 0x29c], edi
jne 0x100182c
push 6
push esi
call dword [sym.imp.ole32.dll_CoInitializeEx]
cmp eax, esi
mov dword [ebp - 0x290], eax
jl 0x100185d
push ebx
push esi
push esi
push esi
push esi
push esi
push dword [sym.imp.SHLWAPI.dll_Ordinal_240]
call sub.SHLWAPI.dll_SHCreateWorkerWindowW
mov ebx, eax
mov dword [ebp - 0x2a0], ebx
cmp ebx, esi
je 0x100169f
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.01001434
test eax, eax
jl 0x100169f
push esi
push edi
push edi
push dword [ebp - 0x290]
push dword [ebp - 0x294]
push esi
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [ebp - 0x298]
push eax
push 0x1001234
push 0x100116c
push ebx
call fcn.01001526
cmp eax, esi
mov dword [ebp - 0x290], eax
jl 0x1001727
push esi
push dword [ebp - 0x298]
call dword [sym.imp.ole32.dll_CoAllowSetForegroundWindow]
lea eax, [ebp - 0x294]
push eax
call fcn.0100138f
push 0xb
pop eax
mov word [ebp - 0x2b4], ax
mov eax, dword [ebp - 0x294]
push esi
lea edx, [ebp - 0x2b4]
push edx
neg eax
push esi
sbb eax, eax
push 0x64
mov word [ebp - 0x2ac], ax
mov eax, dword [ebp - 0x298]
mov ecx, dword [eax]
push 0x100115c
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x298]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1001818
cmp eax, 0x800704ec
jne 0x1001818
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x100121c
call edi
mov dword [ebp - 0x294], eax
cmp eax, esi
je 0x1001818
mov ebx, dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea ecx, [ebp - 0x28c]
push ecx
push 0x2607
push eax
call ebx
test eax, eax
je 0x1001806
push 0x10011dc
call edi
mov edi, eax
cmp edi, esi
je 0x1001806
push 0x40
lea eax, [ebp - 0x84]
push eax
push 0x46
push edi
call ebx
test eax, eax
je 0x10017ff
push 0x60
pop ebx
push ebx
lea eax, [ebp - 0x314]
push esi
push eax
call sub.msvcrt.dll_memset
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x310], eax
mov eax, dword [0x1003024]
add esp, 0xc
mov dword [ebp - 0x30c], eax
lea eax, [ebp - 0x84]
push esi
mov dword [ebp - 0x300], eax
lea eax, [ebp - 0x28c]
push esi
mov dword [ebp - 0x2f4], eax
push esi
lea eax, [ebp - 0x314]
push eax
mov dword [ebp - 0x314], ebx
mov dword [ebp - 0x304], 1
mov dword [ebp - 0x2fc], 0xfffe
call dword [sym.imp.COMCTL32.dll_Ordinal_345]
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [ebp - 0x294]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebx, dword [ebp - 0x2a0]
cmp ebx, esi
je 0x1001823
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
call dword [sym.imp.ole32.dll_CoUninitialize]
pop ebx
jmp 0x100185d
cmp dword [ebp - 0x29c], 2
jne 0x1001853
push edi
push 0xffffffffffffffff
push dword [eax + 4]
push 0xffffffffffffffff
push 0x100117c
call dword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
mov dword [ebp - 0x290], esi
cmp eax, 2
je 0x100185d
mov dword [ebp - 0x290], 0x80070057
push dword [ebp - 0x2a4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
jmp 0x1001877
call fcn.0100136c
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x290]
xor ecx, ebp
pop esi
call fcn.01001d1f
leave
ret 0x10