Function at 0x4019e9
Capabilities:
Check if file exists
Check mutex on windows
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x4e8
mov eax, dword [0x415010]
xor eax, ebp
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x70]
push ebx
push edi
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp + 0x78]
xor ebx, ebx
push 0x30
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x41c]
push ebx
push eax
mov dword [ebp - 0x420], ebx
call fcn.00407640
push 0x30
lea eax, [ebp - 0x47c]
push ebx
push eax
mov dword [ebp - 0x480], ebx
call fcn.00407640
mov dword [ebp - 0x43c], ebx
xor eax, eax
lea edi, [ebp - 0x438]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0x18
stosd dword es:[edi], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0x415f2c
push 0x4169bc
call fcn.00402e6e
pop ecx
pop ecx
test al, al
jne 0x401a86
push 0x10
push 0x4115f4
push 0x4115d4
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x40200d
push esi
push 0xc0
push dword [0x4169bc]
call fcn.00402e17
pop ecx
pop ecx
test al, al
jne 0x401aca
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x1e
lea eax, [ebp + 0x28]
push eax
push 0x91
push ebx
call esi
push 0xc8
lea eax, [ebp - 0x1e0]
push eax
push 0x93
push ebx
call esi
jmp 0x401ff8
cmp dword [0x415f2c], ebx
je 0x401adc
mov dword [0x416abc], 0x100
call fcn.0040115d
test eax, eax
jne 0x401b07
push 0x1e
lea eax, [ebp + 0x28]
push eax
push 0x91
push ebx
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x10
lea eax, [ebp + 0x28]
push eax
push str.Load_DLL_failed__
jmp 0x402005
lea eax, [ebp - 0x44c]
push eax
call dword [sym.imp.KERNEL32.DLL_GetLocalTime]
mov edi, 0x7df
mov eax, edi
cmp word [ebp - 0x44c], ax
ja 0x401fbd
jne 0x401b48
cmp word [ebp - 0x44a], 4
ja 0x401fbd
jne 0x401b48
cmp word [ebp - 0x446], 1
jae 0x401fbd
push str.A3C4E518_62F1_4fdc_8C6D_D77B00B185C1
push 1
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov dword [ebp - 0x424], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x401bce
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x1e
lea eax, [ebp + 0x28]
push eax
push 0x91
push ebx
call esi
push 0x3c
lea eax, [ebp - 0x50]
push eax
push 0xb2
push ebx
call esi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x1e0]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x30
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x1e0]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [ebp + 0x28]
push eax
push ebx
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x40200c
push 0x416368
mov esi, 0x104
push esi
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
lea eax, [eax*2 + 0x416366]
cmp word [eax], 0x5c
jne 0x401bf1
xor ecx, ecx
mov word [eax], cx
push esi
mov edi, 0x416160
push edi
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
push 0x411558
lea eax, [eax*2 + 0x41615a]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
push edi
mov edi, dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
call edi
cmp eax, 0xffffffff
jne 0x401c28
xor eax, eax
mov word [0x416160], ax
push esi
lea eax, [ebp - 0x3e8]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
push str.LiuRebootFlag
lea eax, [ebp - 0x3e8]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcatW]
lea eax, [ebp - 0x3e8]
push eax
call edi
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
mov edi, 0xc8
cmp eax, 0xffffffff
je 0x401cac
push 0x1e
lea eax, [ebp + 0x28]
push eax
push 0x91
push ebx
call esi
push edi
lea eax, [ebp - 0x1e0]
push eax
push 0xbe
push ebx
call esi
push 0x134
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x1e0]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x40200c
lea eax, [ebp - 0x3e8]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
push 0x1e
lea eax, [ebp + 0x28]
push eax
push 0x91
push ebx
call esi
push edi
lea eax, [ebp - 0x1e0]
push eax
push 0xbb
push ebx
call esi
push 0x40
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x1e0]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x1e
push 0x416980
push 0x86
push ebx
call esi
push 0x1e
mov edi, eax
pop eax
sub eax, edi
push eax
lea eax, [edi*2 + 0x416980]
push eax
push 0x87
push ebx
call esi
push 0x1e
add edi, eax
pop eax
sub eax, edi
push eax
lea eax, [edi*2 + 0x416980]
push eax
push 0x8b
push ebx
call esi
cmp dword [0x415f2c], ebx
je 0x401d35
push str.__x64_
push 0x416980
call dword [sym.imp.KERNEL32.DLL_lstrcatW]
mov eax, dword [ebp - 0x3ec]
mov esi, dword [sym.imp.COMCTL32.dll_CreatePropertySheetPageW]
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x420]
mov edi, 0x800
push eax
mov dword [ebp - 0x420], 0x34
mov dword [ebp - 0x41c], edi
mov dword [ebp - 0x408], 0x40137d
mov dword [ebp - 0x414], 0x6b
call esi
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x41c], 0x3000
mov dword [ebp - 0x3f8], 0x95
mov dword [ebp - 0x3f4], 0x96
mov dword [ebp - 0x408], 0x401521
mov dword [ebp - 0x414], 0x6d
call esi
mov dword [ebp - 0x438], eax
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x41c], 0x3000
mov dword [ebp - 0x3f8], 0x99
mov dword [ebp - 0x3f4], 0x9a
mov dword [ebp - 0x408], 0x401656
mov dword [ebp - 0x414], 0x6f
call esi
mov dword [ebp - 0x434], eax
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x41c], edi
mov dword [ebp - 0x408], 0x401732
mov dword [ebp - 0x414], 0x6c
call esi
mov dword [ebp - 0x430], eax
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x41c], edi
mov dword [ebp - 0x408], 0x40183d
mov dword [ebp - 0x414], 0x70
call esi
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x474], eax
push 0xa0
push dword [0x4169bc]
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x480], 0x34
mov dword [ebp - 0x478], ebx
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x47c], 0x1088004
mov dword [ebp - 0x458], 0x85
mov dword [ebp - 0x450], 0x84
call fcn.00402e17
movzx eax, al
neg eax
pop ecx
sbb eax, eax
pop ecx
push dword [ebp - 0x428]
and eax, 0xffffff95
add eax, 0x6b
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x468], 5
call dword [sym.imp.USER32.dll_CharUpperW]
push 0x1f0
lea eax, [ebp - 0x3d0]
push ebx
push eax
call fcn.00407640
add esp, 0xc
push ebx
lea eax, [ebp - 0x3d4]
push eax
push ebx
push 0x29
mov dword [ebp - 0x3d4], 0x1f4
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
push 0x17
pop ecx
push str.PMingLiU
lea eax, [ebp - 0x18]
lea esi, [ebp - 0x23c]
lea edi, [ebp - 0x34]
rep movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x24], 0x2bc
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x5a
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
imul eax, eax, 0xc
push 0xffffffffffffffb8
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push esi
push ebx
mov dword [0x415f30], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
push dword [0x415f30]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.DLL_ReleaseMutex]
push 0xc0
push dword [0x4169bc]
call fcn.00402e17
pop ecx
pop ecx
test al, al
je 0x40200c
cmp dword [0x416d10], ebx
je 0x40200c
call fcn.00401079
test eax, eax
jne 0x40200c
push 0x30
push 0x411504
push 0x4114dc
jmp 0x402005
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x1e
lea eax, [ebp + 0x28]
push eax
push 0x91
push ebx
call esi
push 0x3c
lea eax, [ebp - 0x50]
push eax
push 0x94
push ebx
call esi
push 1
push 4
push edi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x1e0]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0x10
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x1e0]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
pop esi
mov ecx, dword [ebp + 0x64]
pop edi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0040762a
add ebp, 0x68
leave
ret 0x10