Function at 0x100014ba
Capabilities:
Get common file path
Read .ini file

Disassembly:
jmp 0x10013360
push 0xffffffffffffffff
push 0x1002190c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2bc
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push edi
lea eax, [esp + 0xc0]
push 0x104
push eax
call esi
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
xor ebx, ebx
push str._sys_config.ini
lea ecx, [esp + 0x18]
mov dword [esp + 0x2d4], ebx
call fcn.1001f296
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x5d]
mov byte [esp + 0x5c], bl
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x14]
stosw word es:[edi], ax
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x60]
push 0x64
push eax
push 0x1002dab8
push str.OPenTime
push str.ClientParameter
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
mov edx, dword [esp + 0xc]
push 0x400
push ebx
push edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x2dc], 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
call sub.MFC42.DLL_COleDateTime::ParseDateTime
test eax, eax
jne 0x10013448
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CheckClientIsCloseMachine___ParseDateTime_Error:__d____szOpenTime:__s_
call fcn.10001672
add esp, 0xc
jmp 0x1001361a
lea ecx, [esp + 0x50]
push ecx
call sub.MFC42.DLL_COleDateTime::GetTickCount
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x4c], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
push edx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], ebx
call sub.MFC42.DLL_COleDateTimeSpan::SetDateTimeSpan
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x50]
push eax
push ecx
lea ecx, [esp + 0x4c]
call sub.MFC42.DLL_COleDateTime::operator_
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 8]
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], edx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2d0], 2
call sub.MFC42.DLL_COleDateTime::GetSecond
push eax
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_COleDateTime::GetMinute
push eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_COleDateTime::GetHour
push eax
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_COleDateTime::GetDay
push eax
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_COleDateTime::GetMonth
push eax
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_COleDateTime::GetYear
push eax
lea eax, [esp + 0x28]
push str._04d__02d__02d__02d:_02d:_02d
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x20
lea ecx, [esp + 0x38]
lea edx, [esp + 0x50]
push ecx
push edx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_COleDateTime::operator__1
push eax
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_COleDateTimeSpan::operator
fld qword [esp + 0x2c]
fmul qword [0x100241b8]
fadd qword [0x100241a8]
call sub.MSVCRT.dll__ftol
mov ecx, eax
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xf
jle 0x10013609
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push eax
push edx
push ecx
push str.CheckClientIsCloseMachine___nSecond:__d__15
call fcn.10001672
add esp, 0x10
lea eax, [esp + 0x1c4]
push 0x104
push eax
call esi
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_1
push str._sys_config.ini
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2d4], 3
call fcn.1001f296
push 0x1002ba14
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString_1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push edx
push eax
push str.NormalExit
push str.ClientParameter
call esi
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push ecx
push edx
push str.OPenTime
push str.ClientParameter
call esi
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x2d0], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x2d0], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x2d0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x2d0], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x2c8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c8
ret