Function at 0x406f50
Capabilities:
Create directory
Get common file path
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2f44
call fcn.0040f6e0
mov eax, dword [0x417014]
xor eax, esp
mov dword [esp + 0x2f40], eax
push ebx
push esi
push edi
push 0x400
lea eax, [esp + 0xf4c]
mov ebx, ecx
push 0
push eax
mov esi, edx
mov dword [esp + 0x1c], ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x640]
push 0x104
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x640]
push eax
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
push 0
push 0x10
lea eax, [esp + 0xf50]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push 0x400
lea eax, [esp + 0x244]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x240]
push str.D:LogInfo
push 0x411cbc
push eax
call fcn.0040c450
add esp, 0xc
lea eax, [esp + 0x240]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x407025
push 0
lea eax, [esp + 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add ebx, 4
lea eax, [esp + 0x240]
push ebx
push str.D:LogInfo_s.ini
push eax
call fcn.0040c450
add esp, 0xc
lea eax, [esp + 0x240]
push eax
push 0
push str.time
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
lea eax, [esp + 0x1348]
push 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1748]
push 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1b48]
push 0x800
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0xf48]
push eax
lea eax, [esp + 0x174c]
push str._sLoginData.ini
push eax
call fcn.0040c450
add esp, 0xc
lea eax, [esp + 0xf48]
push eax
lea eax, [esp + 0x134c]
push str._sSosoAppdata.ini
push eax
call fcn.0040c450
add esp, 0xc
lea eax, [esp + 0x1348]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
mov edi, dword [sym.imp.mfc140u.dll_CListCtrl::SetItemText]
add esp, 8
test eax, eax
jne 0x407234
movaps xmm0, xmmword [0x413390]
lea eax, [esp + 0x748]
push 0x800
push 0
push eax
movups xmmword [esp + 0x23c], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1348]
push eax
push 0x800
lea eax, [esp + 0x750]
push eax
push 0x411b40
push str.Soso
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [esp + 0x14], eax
test eax, eax
je 0x407234
push 0xc00
lea eax, [esp + 0x234c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2354]
add esp, 0xc
lea ecx, [esp + 0x748]
push eax
call fcn.004029a0
add esp, 4
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x238]
push ecx
push eax
lea eax, [esp + 0x2358]
push eax
call fcn.00406f40
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x407224
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
sub eax, dword [esp + 0x1c]
add esp, 4
cmp eax, 0x3f480
jae 0x407224
mov ecx, dword [0x418cf0]
push 0x4121f4
push 5
push esi
call edi
lea eax, [esp + 0x1ac]
push eax
lea eax, [esp + 0x128]
push eax
lea eax, [esp + 0x13c]
push eax
push ebx
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoll]
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, eax
mov edx, dword [edx]
call fcn.0040caa0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2f40]
xor ecx, esp
call fcn.0040e8e5
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x418cf0]
push 0x412200
push 5
push esi
call edi
lea eax, [esp + 0x240]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
add esp, 8
test eax, eax
jne 0x407341
movaps xmm0, xmmword [0x413390]
push 0x800
push eax
lea eax, [esp + 0x750]
push eax
movups xmmword [esp + 0x23c], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x240]
push eax
push 0x800
lea eax, [esp + 0x750]
push eax
push 0x411b40
push str.Soso
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [esp + 0x14], eax
test eax, eax
je 0x407341
push 0xc00
lea eax, [esp + 0x234c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2354]
add esp, 0xc
lea ecx, [esp + 0x748]
push eax
call fcn.004029a0
add esp, 4
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x238]
push ecx
push eax
lea eax, [esp + 0x2358]
push eax
call fcn.00406f40
add esp, 0x14
cmp dword [esp + 0x14], 0
je 0x407331
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
sub eax, dword [esp + 0x1c]
add esp, 4
cmp eax, 0x3f480
jae 0x407331
mov ecx, dword [0x418cf0]
push 0x4121f4
push 5
push esi
call edi
jmp 0x4071dd
mov ecx, dword [0x418cf0]
push 0x412200
push 5
push esi
call edi
lea eax, [esp + 0x1748]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
add esp, 8
test eax, eax
jne 0x407452
push 0x120
push eax
lea eax, [esp + 0x20]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1748]
push eax
push 0xc00
lea eax, [esp + 0x1b50]
push eax
push 0x411b40
push str.LoginData
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x1b48]
mov dword [esp + 0x14], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4073a3
sub ecx, edx
jne 0x4073ce
push ecx
lea eax, [esp + 0x244]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
add esp, 8
test eax, eax
je 0x4073ce
push 0x412214
jmp 0x407457
mov ecx, dword [0x418cf0]
push 0x4121f4
push 5
push esi
call edi
push 0x400
lea eax, [esp + 0x74c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x754]
add esp, 0xc
lea ecx, [esp + 0x1b48]
push eax
call fcn.004029a0
add esp, 4
push eax
lea eax, [esp + 0x74c]
push eax
lea eax, [esp + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
sub eax, dword [esp + 0x20]
add esp, 4
cmp eax, 0x2a300
ja 0x407452
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
jmp 0x4071f4
push 0x412220
mov ecx, dword [0x418cf0]
push 5
push esi
call edi
mov ecx, dword [esp + 0x2f4c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040e8e5
mov esp, ebp
pop ebp
ret