Function at 0x4f1ee0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c2a28
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x615370]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov esi, edx
test edi, edi
je 0x4f2152
mov dword [ebp - 4], 0
mov eax, dword [edi]
cmp eax, 0x784
jne 0x4f1fc6
push 0
push str.XLauncherWnd
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x4f1f57
lea ecx, [ebp - 0x1c]
push ecx
push 0x3e8
push 0
push 0
push 0
push 0xbd0
push eax
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
push esi
call fcn.004f3a90
mov edx, dword [esi + 0x124]
mov eax, dword [edx + 0xc]
lea ecx, [esi + 0x124]
call eax
mov ebx, 1
test byte [0x624874], bl
jne 0x4f1f8e
or dword [0x624874], ebx
push 0x5c5610
call fcn.00588d7c
add esp, 4
mov esi, dword [edi + 8]
test esi, esi
je 0x4f2152
call fcn.00407cf0
push esi
push eax
call fcn.005307a0
test eax, eax
je 0x4f2152
call fcn.00417210
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2710
jne 0x4f2131
mov ebx, 1
test byte [0x623fb8], bl
jne 0x4f1ff0
or dword [0x623fb8], ebx
mov dword [0x623fbc], 0
jmp 0x4f1ff8
cmp dword [0x623fbc], ebx
je 0x4f2008
call fcn.00440ea0
mov eax, dword [eax]
cmp eax, 2
jne 0x4f20c7
lea ecx, [ebp - 0x18]
push ecx
mov ecx, str.SMLTaskBarBtn_Win10.ini
call fcn.00406c20
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], bl
call fcn.0052fd70
add esp, 8
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4f204c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x1c]
push ecx
push 0
push str.SwitchFlag
push str.StartMenuCustom
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [esi + 0x1bc], eax
neg eax
sbb eax, eax
add eax, 0xbd1
push eax
call fcn.00530d00
mov eax, dword [esi + 0x1bc]
add esp, 4
cmp eax, ebx
je 0x4f209d
cmp eax, 2
je 0x4f209d
push esi
mov dword [0x618078], ebx
mov dword [esi + 0x1c8], ebx
call fcn.004f3fb0
jmp 0x4f20a4
push ebx
push esi
call fcn.004f3930
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4f20c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14]
push str.SMLSoftMgrLite.exe
push ecx
call fcn.0051640f
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4f20fa
mov ecx, dword [ebp - 0x14]
push ebx
push str._restart
push 0
call fcn.00417760
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4f2152
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2711
je 0x4f2183
cmp eax, 0x27da
jne 0x4f2166
mov ecx, dword [esi + 0x58]
push 0
push 0
push 0x1788
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2713
jne 0x4f217c
mov edx, dword [esi + 0x58]
push 0
push 1
push 0x1789
push edx
jmp 0x4f214c
cmp eax, 0x2714
jne 0x4f2152
push 1
mov ecx, esi
call fcn.004f6b10
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret