Function at 0x4152e0
Capabilities:
Create process on windows
Get common file path
Get startup folder

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x432746
mov eax, dword fs:[0]
push eax
mov eax, 0x1698
call fcn.0042eaa0
mov eax, dword [0x44c060]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x16a4]
lea ecx, [ebp - 0x16a0]
mov dword [ebp - 0x16a0], 0
mov dword [ebp - 0x16a4], 0
call fcn.0041e3d0
mov eax, dword [ebp - 0x16a0]
and eax, 0xff00
cmp eax, 0x1500
setae al
test al, al
je 0x415378
mov eax, dword [0x44ef7c]
test al, 1
jne 0x41536d
or eax, 1
push 0x434480
mov dword [0x44ef7c], eax
call fcn.0042e223
add esp, 4
push esi
call fcn.00420410
jmp 0x41556f
push 8
xor eax, eax
push str._select_
lea ecx, [ebp - 0x169c]
mov dword [ebp - 0x1688], 7
mov dword [ebp - 0x168c], 0
mov word [ebp - 0x169c], ax
call fcn.00403d00
push 1
push 0x438148
lea ecx, [ebp - 0x169c]
mov dword [ebp - 4], 0
call fcn.0040b130
xor eax, eax
push 0x144e
push eax
mov word [ebp - 0x166c], ax
lea eax, [ebp - 0x166a]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x166c]
push 0xa28
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x41542d
cmp word [ebp - 0x166c], 0
jne 0x41540b
xor ecx, ecx
push ecx
lea eax, [ebp - 0x166c]
push eax
jmp 0x415451
lea ecx, [ebp - 0x166c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415414
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x166c]
push eax
jmp 0x415451
cmp word [esi], 0
jne 0x415437
xor ecx, ecx
jmp 0x41544f
mov ecx, esi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x415440
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x169c]
call fcn.0040b130
push 1
push 0x438148
lea ecx, [ebp - 0x169c]
call fcn.0040b130
push 0
push 0x24
lea eax, [ebp - 0x21c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
xor eax, eax
mov dword [ebp - 0x1670], 7
mov dword [ebp - 0x1674], 0
mov word [ebp - 0x1684], ax
cmp word [ebp - 0x21c], ax
jne 0x4154ab
xor ecx, ecx
jmp 0x4154c3
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4154b4
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x1684]
call fcn.00403d00
push 9
push str.explorer
lea ecx, [ebp - 0x1684]
mov byte [ebp - 4], 1
call fcn.0040b130
cmp dword [ebp - 0x1688], 8
push 1
lea ecx, [ebp - 0x169c]
cmovae ecx, dword [ebp - 0x169c]
cmp dword [ebp - 0x1670], 8
push 0
push ecx
lea eax, [ebp - 0x1684]
cmovae eax, dword [ebp - 0x1684]
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [ebp - 0x1670], 8
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
jb 0x41553e
push dword [ebp - 0x1684]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0x1688], 8
mov dword [ebp - 0x1670], 7
mov dword [ebp - 0x1674], 0
mov word [ebp - 0x1684], ax
jb 0x41556f
push dword [ebp - 0x169c]
call esi
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042e0d6
mov esp, ebp
pop ebp
ret 4