Function at 0x10096e2
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xf6c
mov eax, dword [0x100e0a8]
push ebx
push esi
push edi
xor ebx, ebx
push ebx
push 0x100f4a0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push 0x1002630
push eax
call fcn.0100c94d
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0x64
push dword [0x100f4a0]
mov ecx, 0x100eff0
push 0x100e04c
mov dword [ebp - 0xf60], eax
call fcn.01007f47
push 0x100f058
push ebx
mov dword [0x100f27c], 1
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov dword [0x100f280], eax
mov esi, 0x1002628
lea edi, [ebp - 0xc]
lea eax, [ebp - 0xc]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebp - 0xf60]
movsw word es:[edi], word [esi]
call fcn.01007d8b
mov esi, eax
cmp esi, ebx
je 0x10097ac
mov edi, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x1002610
push esi
call edi
test eax, eax
pop ecx
pop ecx
je 0x10097f2
push 0x10025fc
push esi
call edi
test eax, eax
pop ecx
pop ecx
je 0x1009801
push 0x10025ec
push esi
call edi
test eax, eax
pop ecx
pop ecx
je 0x1009804
lea eax, [ebp - 0xc]
push eax
push esi
call fcn.01007d8b
mov esi, eax
cmp esi, ebx
jne 0x1009772
push 0x46
xor eax, eax
pop ecx
lea edi, [ebp - 0xf58]
rep stosd dword es:[edi], eax
mov word [ebp - 0x218], bx
mov ecx, 0x82
lea edi, [ebp - 0x216]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xf5c]
push eax
mov dword [ebp - 0xf5c], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x1009817
mov eax, 0x80004005
jmp 0x1009a4c
mov ecx, 0x100eff0
call fcn.01009018
jmp 0x1009a4c
push ebx
jmp 0x1009806
push 1
push 1
mov ecx, 0x100eff0
call fcn.01008b97
jmp 0x1009a4c
cmp dword [ebp - 0xf4c], 2
mov edi, 0xf003f
jne 0x1009984
cmp byte [ebp - 0xe42], 1
jne 0x1009984
cmp word [ebp - 0xe48], bx
jbe 0x1009984
push 0x10021c0
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0xf60], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x104
lea eax, [ebp - 0x628]
push eax
push dword [0x100eff4]
call esi
push 0x104
lea eax, [ebp - 0xc38]
push eax
push dword [0x100f4a0]
call esi
mov esi, eax
push 0x105
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x10098bb
push 0x104
lea eax, [ebp - 0x218]
push 0x1002190
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
mov eax, 0x207
sub eax, esi
push 0x100216c
push eax
lea eax, [ebp + esi*2 - 0xc38]
push eax
call dword [sym.imp.msvcrt.dll__snwprintf]
push ebx
lea eax, [ebp - 0x828]
push eax
push ebx
lea eax, [ebp - 0x628]
push ebx
push eax
call dword [sym.imp.msvcrt.dll__wsplitpath]
add esp, 0x24
lea eax, [ebp - 0x828]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
push ebx
push edi
push ebx
push ebx
lea eax, [ebp - 0x420]
push eax
push 0x80000002
lea ecx, [ebp - 0xf60]
call fcn.010032a9
mov esi, eax
cmp esi, ebx
lea ecx, [ebp - 0xf60]
jne 0x1009a45
push 0x1002148
lea eax, [ebp - 0xc38]
push eax
call fcn.01003387
mov esi, eax
cmp esi, ebx
lea ecx, [ebp - 0xf60]
jne 0x1009a45
push 0x1002128
push 0x1f
call fcn.01003364
lea ecx, [ebp - 0xf60]
mov esi, eax
call fcn.0100328b
cmp esi, ebx
jne 0x1009a4a
lea ecx, [ebp - 0xf60]
call fcn.0100328b
push edi
push 0x10022f8
push 0x80000000
lea ecx, [ebp - 0xf64]
mov dword [ebp - 0xf64], ebx
call fcn.010032fe
cmp eax, ebx
je 0x10099ab
mov esi, eax
jmp 0x1009a3f
push edi
push 0x10022a8
push dword [ebp - 0xf64]
lea ecx, [ebp - 0xf68]
mov dword [ebp - 0xf68], ebx
call fcn.010032fe
cmp eax, ebx
je 0x10099d0
mov esi, eax
jmp 0x1009a34
lea eax, [ebp - 0xf6c]
push eax
push 0x100228c
lea eax, [ebp - 0xe40]
push eax
lea ecx, [ebp - 0xf68]
mov dword [ebp - 0xf6c], 0x104
call fcn.0100333a
lea ecx, [ebp - 0xf64]
mov esi, eax
call fcn.0100328b
lea ecx, [ebp - 0xf68]
call fcn.0100328b
cmp esi, ebx
mov dword [0x100f27c], ebx
jne 0x1009a24
mov dword [0x100f27c], 1
mov ecx, 0x100eff0
call fcn.01009691
mov esi, dword [0x100f268]
lea ecx, [ebp - 0xf68]
call fcn.0100328b
lea ecx, [ebp - 0xf64]
call fcn.0100328b
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.0100b28a
leave
ret 0x10