Function at 0x5545608
Capabilities:
Check if file exists
Get file attributes
Read .ini file
Terminate process

Disassembly:
push 0x65c
mov eax, 0x559d233
call fcn.0557ca41
push 0x200
lea eax, [ebp - 0x610]
xor edi, edi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x610]
push 0x5c
push eax
call fcn.0557e574
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x610]
push eax
push 0x552dc6c
call fcn.05547b17
add esp, 0x10
lea ecx, [ebp - 0x628]
push eax
call fcn.0554559e
cmp dword [ebp - 0x614], 8
lea eax, [ebp - 0x628]
mov dword [ebp - 4], edi
cmovae eax, dword [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x55456cc
cmp dword [ebp - 0x614], 8
lea eax, [ebp - 0x628]
cmovae eax, dword [ebp - 0x628]
push eax
push 0x100
lea eax, [ebp - 0x210]
push eax
push 0x552da7c
push 0x552dc84
push 0x552dc98
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp word [ebp - 0x210], di
jne 0x554587c
push edi
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [ebp - 0x65c]
push eax
push 0x552dc5c
push 1
push edi
push 0x552e2e8
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x668]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov edx, dword [ebp - 0x668]
mov eax, dword [ebp - 0x65c]
or edx, 0x60
mov dword [ebp - 0x668], edx
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [ebp - 0x65c]
push 0x552dca8
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x65c]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
jns 0x5545762
push 0x10
push 0x552dcf8
push eax
push 0x552dd08
call fcn.05547b17
pop ecx
pop ecx
push eax
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
push edi
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 0x65c]
lea edx, [ebp - 0x660]
mov dword [ebp - 0x660], edi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov ecx, dword [ebp - 0x660]
test ecx, ecx
jne 0x5545794
push 0x10
push 0x552dcf8
push eax
push 0x552dd60
jmp 0x554574c
mov eax, dword [ecx]
lea edx, [ebp - 0x664]
push edx
push 0x80058000
push ecx
call dword [eax + 0x14]
test eax, eax
jns 0x55457b9
push 0x10
push 0x552dcf8
push eax
push 0x552ddc8
jmp 0x554574c
mov eax, dword [ebp - 0x65c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x660]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push dword [ebp - 0x664]
lea ecx, [ebp - 0x658]
call fcn.0554559e
push 0x552de34
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.0554591c
push eax
lea ecx, [ebp - 0x640]
call fcn.0554556b
lea ecx, [ebp - 0x658]
call fcn.055458c4
cmp dword [ebp - 0x62c], 8
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x554583a
push 0x30
push 0x552de54
push 0x552de60
jmp 0x5545754
cmp dword [ebp - 0x614], 8
lea eax, [ebp - 0x628]
cmovae eax, dword [ebp - 0x628]
push eax
push dword [ebp - 0x664]
push 0x552dc84
push 0x552dc98
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push dword [ebp - 0x664]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebp - 0x640]
call fcn.055458c4
lea ecx, [ebp - 0x628]
call fcn.055458c4
call fcn.0557c9fc
ret