Function at 0x41de10
Capabilities:
Check if file exists
Create process on windows
Get common file path
Read .ini file

Disassembly:
sub esp, 0x8d8
mov eax, dword [0x48dd78]
xor eax, esp
mov dword [esp + 0x8d4], eax
mov eax, dword [esp + 0x8e0]
push ebx
push ebp
mov ebp, dword [esp + 0x8e4]
push esi
xor ecx, ecx
push 0x3a
push ecx
lea edx, [esp + 0x52]
push edx
mov dword [esp + 0x34], eax
mov word [esp + 0x54], cx
call fcn.0043e9f0
mov edx, dword [0x48f834]
mov ebx, dword [sym.imp.USER32.dll_LoadStringW]
add esp, 0xc
push 0x1e
xor eax, eax
lea ecx, [esp + 0x4c]
push ecx
push 0x259
push edx
mov word [esp + 0x44], ax
mov dword [esp + 0x46], eax
mov dword [esp + 0x4a], eax
mov dword [esp + 0x4e], eax
mov dword [esp + 0x52], eax
mov word [esp + 0x56], ax
call ebx
mov ecx, dword [0x48f834]
push 0xa
mov esi, eax
lea eax, [esp + 0x38]
push eax
push 0x25a
push ecx
call ebx
test esi, esi
je 0x41e1f8
test eax, eax
je 0x41e1f8
mov edx, 0x23
cmp dx, word [esp + 0x48]
je 0x41e1eb
mov eax, edx
cmp ax, word [esp + 0x34]
je 0x41e1eb
push edi
push 0x4774ac
call fcn.00402380
lea ecx, [esp + 0x3c]
push ecx
call fcn.0043f174
lea edx, [esp + 0x20]
push edx
mov edi, eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x60]
push str._u._u._u
push edx
call fcn.00441542
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
add esp, 0x1c
push 0xffffffffffffffff
push 0
push 0
push 0
push eax
push ecx
push edx
lea ecx, [esp + 0x38]
call fcn.00415e50
push 0
call fcn.00440e39
add esp, 4
mov dword [esp + 0x24], eax
sub eax, dword [esp + 0x1c]
push 0
mov dword [esp + 0x2c], edx
sbb edx, dword [esp + 0x24]
push 0x15180
push edx
push eax
call fcn.0043f510
mov esi, eax
push esi
push str.Time_diff:__d
call fcn.00402380
add esp, 8
cmp esi, edi
pop edi
jle 0x41e1f8
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0xca]
push ecx
mov word [esp + 0xcc], ax
call fcn.0043e9f0
xor edx, edx
push 0x3a
push edx
lea eax, [esp + 0x9a]
push eax
mov word [esp + 0x9c], dx
call fcn.0043e9f0
add esp, 0x18
lea ecx, [esp + 0xc0]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0xf
lea edx, [esp + 0xc4]
push 0x47745c
push edx
call fcn.0043fbc9
add esp, 0xc
lea eax, [esp + 0xc0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [esp + 0xc0]
test eax, eax
je 0x41e086
push ecx
push 0x1e
lea edx, [esp + 0x8c]
push edx
push 0x475570
push 0x477458
push 0x477450
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x84]
push eax
push str.X__W_ah
call fcn.00402380
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x98]
push str._u._u._u
push ecx
call fcn.00441542
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add esp, 0x1c
push 0xffffffffffffffff
push 0
push 0
push 0
push edx
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.00415e50
mov edx, dword [esp + 0x2c]
sub edx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
sbb eax, dword [esp + 0x24]
push 0
push 0x15180
push eax
push edx
call fcn.0043f510
test eax, eax
jne 0x41e0ab
test edx, edx
jne 0x41e0ab
jmp 0x41e1f8
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x41e0ab
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x4da]
push eax
mov word [esp + 0x4dc], dx
call fcn.0043e9f0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x6ee]
push edx
mov word [esp + 0x6f0], cx
call fcn.0043e9f0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2ea]
push ecx
mov word [esp + 0x2ec], ax
call fcn.0043e9f0
add esp, 0x24
push str._Y._m._d
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x28]
call fcn.0041dd80
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xc0]
push eax
push ecx
push 0x477458
push 0x477450
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [0x48f834]
push 0x104
lea edx, [esp + 0x6dc]
push edx
push 0xeb
push eax
call ebx
mov edx, dword [0x48f834]
push 0x104
lea ecx, [esp + 0x4d4]
push ecx
push 0xea
push edx
call ebx
push ebp
lea eax, [esp + 0x4d4]
push eax
lea ecx, [esp + 0x2d0]
push ecx
call fcn.004010c0
add esp, 0xc
push 0x24
lea edx, [esp + 0x2cc]
push edx
lea eax, [esp + 0x6e0]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x41e1e0
mov ecx, dword [esp + 0x28]
push 5
push 0
push 0
push ecx
push 0x477380
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [esp + 0x18]
call fcn.004189b0
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x8d4]
xor ecx, esp
call fcn.0043e9e1
add esp, 0x8d8
ret
lea ecx, [esp + 0x18]
call fcn.004189b0
jmp 0x41e1f8
push 0x477400
call fcn.00402380
add esp, 4
mov ecx, dword [esp + 0x8e0]
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0043e9e1
add esp, 0x8d8
ret