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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30c
mov eax, dword [0x412014]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x100
lea eax, [ebp - 0x104]
mov ebx, ecx
push 0
push eax
mov dword [ebp - 0x30c], ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x104]
push 0
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x104]
push eax
push str._sdl.ini
push 0x4133a0
call fcn.004085b0
lea eax, [ebp - 0x104]
push eax
push 0x40dba0
push 0x412fa0
call fcn.004085b0
lea eax, [ebp - 0x104]
push eax
push 0x40dbb0
push 0x412ba0
call fcn.004085b0
add esp, 0x24
push 0x412fa0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x402f09
push 0
push 0x412fa0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x200
lea eax, [ebp - 0x304]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x4133a0
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__1]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [eax]
lea eax, [ebp - 0x304]
push 0x100
push eax
push 0x40dbc0
push 0x40dbc8
push 0x40dbd4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov esi, dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebx + 0x2e8]
call esi
push 0x100
lea eax, [ebp - 0x304]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x4133a0
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__1]
push dword [eax]
lea eax, [ebp - 0x304]
push 0x100
push eax
push str.20000
push 0x40dbec
push 0x40dbd4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebx + 0x4e8]
call esi
push 0x100
lea eax, [ebp - 0x304]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x4133a0
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__1]
push dword [eax]
lea eax, [ebp - 0x304]
push 0x100
push eax
push 0x40dbf8
push 0x40dc00
push 0x40dbd4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebx + 0x9f8]
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x4133a0
push 0
push 0x40dc10
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x208]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
call edi
push 0x4133a0
push 0
push 0x40dc28
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x488]
call edi
push 0x4133a0
push 0
push 0x40dc34
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x408]
call edi
push 0x4133a0
push 0
push 0x40dc3c
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x288]
call edi
push 0x4133a0
push 0
push 0x40dc48
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x688]
call edi
push 0x4133a0
push 0
push 0x40dc54
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0xb18]
call edi
push 0x4133a0
push 0
push 0x40dc5c
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x608]
call edi
push 0x4133a0
push 1
push 0x40dc60
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0x918]
call edi
push 0x4133a0
push 0
push 0x40dc6c
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0xa98]
call edi
push 0x4133a0
push 0
push 0x40dc78
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0xb98]
call edi
push 0x4133a0
push 0
push 0x40dc84
push 0x40dc1c
call esi
push 0
push eax
push 0xf1
push dword [ebx + 0xc18]
call edi
push 0
push 0
push 0xf0
push dword [ebx + 0xb98]
call edi
push 0
push 0
push 0xf0
push dword [ebx + 0x918]
mov dword [0x413cc0], eax
call edi
push 0x4133a0
neg eax
push 0x12c
sbb eax, eax
push 0x40dc8c
add eax, 2
push 0x40dc1c
mov dword [0x412034], eax
call esi
mov dword [0x41259c], eax
cmp eax, 0x12c
jne 0x403230
push 0
push 1
push 0xf1
push dword [ebx + 0x818]
call edi
mov eax, dword [0x41259c]
cmp eax, 0x64
jne 0x40324b
push 0
push 1
push 0xf1
push dword [ebx + 0x798]
call edi
mov eax, dword [0x41259c]
cmp eax, 0xa
jne 0x403261
push 0
push 1
push 0xf1
push dword [ebx + 0x898]
call edi
push 2
push 2
push 0x20
push 0x10
lea ecx, [ebx + 0xdc]
push 0x10
call dword [sym.imp.mfc140u.dll_CImageList::Create]
call dword [sym.imp.mfc140u.dll_AfxGetModuleState]
mov ebx, dword [sym.imp.mfc140u.dll_AfxFindResourceHandle]
push 0x8b
push 0xe
push 0x8b
call ebx
mov edi, dword [sym.imp.USER32.dll_LoadIconW]
push eax
call edi
mov esi, dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
push eax
mov eax, dword [ebp - 0x30c]
push 0xffffffffffffffff
push dword [eax + 0xe0]
call esi
call dword [sym.imp.mfc140u.dll_AfxGetModuleState]
push 0x89
push 0xe
push 0x89
call ebx
push eax
call edi
mov ebx, dword [ebp - 0x30c]
push eax
push 0xffffffffffffffff
push dword [ebx + 0xe0]
call esi
lea eax, [ebx + 0xdc]
test eax, eax
je 0x4032e6
mov eax, dword [eax + 4]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push 1
push 0x1003
push dword [ebx + 0x108]
call esi
push eax
call dword [sym.imp.mfc140u.dll_CImageList::FromHandle]
push 0
push 0
push 0x1037
push dword [ebx + 0x108]
call esi
or eax, 0x21
push eax
push 0
push 0x1036
push dword [ebx + 0x108]
call esi
mov esi, dword [sym.imp.mfc140u.dll_CListCtrl::InsertColumn]
lea edi, [ebx + 0xe8]
push 0xffffffffffffffff
push 0x28
push 2
push 0x40dc98
push 0
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x50
push 2
push 0x40dca0
push 1
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x50
push 2
push 0x40dca8
push 2
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push str.:S_rg
push 3
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x40dcb8
push 4
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x96
push 2
push 0x40dcc0
push 5
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x40dcc8
push 6
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x40dcd0
push 7
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x50
push 2
push 0x40dcd8
push 8
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x3c
push 2
push 0x40dce0
push 9
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x50
push 2
push 0x40dce8
push 0xa
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0
push 2
push 0x40dcf0
push 0xb
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x96
push 2
push 0x40dcf8
push 0xc
mov ecx, edi
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040a775
mov esp, ebp
pop ebp
ret