Function at 0x407950
Capabilities:
Create directory
Get common file path
Get file attributes
Get graphical window text
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30c
mov eax, dword [0x41b014]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x100
lea eax, [ebp - 0x304]
mov ebx, ecx
push 0
push eax
mov dword [ebp - 0x30c], ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x304]
push 0
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x304]
push eax
push 0x415d70
push 0x41c0a8
call fcn.00403990
lea eax, [ebp - 0x304]
push eax
push 0x415d80
push 0x41bca8
call fcn.00403990
add esp, 0x18
push 0x41bca8
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x4079e3
push 0
push 0x41bca8
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x200
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x415d90
push 0x415d98
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0x1d4]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
mov esi, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoll]
lea eax, [ebp - 0x204]
push eax
call esi
push 0x100
mov dword [0x41c6c0], eax
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x416598
push 0x415db0
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0x4d4]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x415dc0
push 0x415dc4
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0x13ac]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
lea eax, [ebp - 0x204]
push eax
call esi
push 0x100
push 0
lea eax, [ebp - 0x204]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x415dd4
push 0x415dd8
push 0x415da4
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 - 0x204]
push eax
lea ecx, [ebx + 0x162c]
call esi
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x415de8
push 0x415dec
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0x7ac]
call esi
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x415df4
push 0x415dfc
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0xe2c]
call esi
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push str.20000
push 0x415e10
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0xeac]
call esi
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push 0x415e1c
push 0x415e1c
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0x2d4]
call esi
push 0x100
lea eax, [ebp - 0x204]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x308]
push 0x41c0a8
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
push dword [eax]
lea eax, [ebp - 0x204]
push 0x100
push eax
push str.gzx1122
push 0x415e38
push 0x415da4
call edi
lea ecx, [ebp - 0x308]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebx + 0x5d4]
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x41c0a8
push 0
push 0x415e44
push 0x415e54
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push eax
push 0xf1
push dword [ebx + 0x574]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x574]
call esi
push 0x41c0a8
push 0
push 0x415e60
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x274]
call esi
push 0x41c0a8
push 0
push 0x415e68
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x134c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x134c]
call esi
push 0x41c0a8
push 0
push 0x415e74
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x144c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x144c]
call esi
push 0x41c0a8
push 0
push 0x415e80
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x14cc]
call esi
push 0x41c0a8
push 0
push 0x415e8c
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x154c]
call esi
push 0x41c0a8
push 0
push 0x415e94
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x15cc]
call esi
push 0x41c0a8
push 0
push 0x415e9c
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x16cc]
call esi
push 0x41c0a8
push 0
push 0x415ea8
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x174c]
call esi
push 0x41c0a8
push 0
push 0x415eb4
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x474]
call esi
push 0x41c0a8
push 0
push 0x415ec0
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x67c]
call esi
push 0x41c0a8
push 0
push 0x415ecc
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x10cc]
call esi
push 0x41c0a8
push 0
push 0x415ed4
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x114c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x114c]
call esi
push 0x41c0a8
push 0
push 0x415ee0
push 0x415e54
mov dword [0x41c6c8], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x11cc]
call esi
push 0x41c0a8
push 0
push 0x415ef0
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x124c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x124c]
call esi
push 0
push 1
push 0xf1
push dword [ebx + 0x12cc]
mov dword [0x41bc68], eax
call esi
push 0
push 0
mov dword [0x41bc64], 1
push 0xf0
push dword [ebx + 0x10cc]
call esi
push 0x41c0a8
push 0
push 0x415efc
push 0x415e54
mov dword [0x41bc70], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xc4c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0xc4c]
call esi
push 0x41c0a8
push 0
push 0x415f04
push 0x415e54
mov dword [0x41bc84], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xc4c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x374]
call esi
push 0x41c0a8
push 0
push 0x415f0c
push 0x415e54
mov dword [0x41c6cc], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xdcc]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0xdcc]
call esi
push 0x41c0a8
push 0
push 0x415f14
push 0x415e54
mov dword [0x41bc74], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x3f4]
call esi
push 0x41c0a8
push 0
push 0x415f1c
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x84c]
call esi
push 0x41c0a8
push 0
push 0x415f28
push 0x415e54
call edi
push 0
cmp eax, 1
jne 0x408138
push eax
jmp 0x40813a
push 0
push 0xf1
push dword [ebx + 0x104c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x104c]
call esi
push 0x41c0a8
neg eax
push 0
sbb al, al
push 0x415f04
add al, 2
push 0x415e54
mov byte [0x41b068], al
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x374]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x374]
call esi
push 0x41c0a8
push 0
push 0x415f0c
push 0x415e54
mov dword [0x41c6cc], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xdcc]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0xdcc]
call esi
push 0x41c0a8
push 0
push 0x415f34
push 0x415e54
mov dword [0x41bc74], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xf4c]
call esi
push 0x41c0a8
push 0
push 0x415f40
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x9cc]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x9cc]
call esi
push 0x41c0a8
push 0
push 0x415f14
push 0x415e54
mov dword [0x41c4a8], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x3f4]
call esi
push 0x41c0a8
push 0
push 0x415f1c
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x84c]
call esi
push 0x41c0a8
push 0
push 0x415f48
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x94c]
call esi
push 0x41c0a8
push 0
push 0x415f54
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xa4c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0xa4c]
call esi
push 0x41c0a8
push 0
push 0x415f5c
push 0x415e54
mov byte [0x41bc7c], al
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xd4c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0xd4c]
call esi
push 0x41c0a8
push 0
push 0x415f40
push 0x415e54
mov dword [0x41bc6c], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x9cc]
call esi
push 0x41c0a8
push 0
push 0x415f60
push 0x415e54
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xb4c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0xb4c]
call esi
lea edi, [ebx + 0xaac]
mov dword [0x41bc78], eax
mov ebx, dword [sym.imp.mfc140u.dll_CWnd::ShowWindow]
mov ecx, edi
push 0
call ebx
mov esi, dword [ebp - 0x30c]
push 0
lea ecx, [esi + 0x354]
call ebx
push 1
mov ecx, edi
call ebx
push 1
lea ecx, [esi + 0x354]
call ebx
push 1
lea ecx, [esi + 0xc2c]
call ebx
push 1
lea ecx, [esi + 0xcac]
call ebx
mov ebx, esi
push 0
push 0x415f68
push 0x50
lea esi, [ebx + 0x654]
mov ecx, esi
call dword [sym.imp.mfc140u.dll_CFont::CreatePointFont]
test esi, esi
jne 0x4083cf
xor eax, eax
jmp 0x4083d2
mov eax, dword [esi + 4]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push eax
push 0x30
push dword [ebx + 0xf4]
call esi
push 0
push 0
push 0x1037
push dword [ebx + 0xf4]
call esi
or eax, 0x21
push eax
push 0
push 0x1036
push dword [ebx + 0xf4]
call esi
mov esi, dword [sym.imp.mfc140u.dll_CListCtrl::InsertColumn]
lea edi, [ebx + 0xd4]
push 0xffffffffffffffff
push 0x24
push 2
push 0x415f70
push 0
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x4b
push 2
push 0x415f78
push 1
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0xa
push 2
push 0x415f80
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 0x415f90
push 4
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x415dfc
push 5
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x415f98
push 6
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x3c
push 2
push 0x415fa0
push 7
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x3c
push 2
push 0x415fa8
push 8
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x50
push 2
push 0x415fb0
push 9
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x28
push 2
push 0x415fb8
push 0xa
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x96
push 2
push 0x415fc0
push 0xb
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x415fc8
push 0xc
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x415c1c
push 0xd
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x64
push 2
push 0x415fd0
push 0xe
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0
push 2
push str._S_u
push 0xf
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0
push 2
push 0x415fe0
push 0x10
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x14
push 2
push 0x415fe8
push 0x11
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x14
push 2
push 0x415ff0
push 0x12
mov ecx, edi
call esi
push 0x415ff8
lea ecx, [ebx + 0x8ac]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x415ff8
push 0
push 0x14a
push dword [ebx + 0x8cc]
call esi
push 0x416000
push 1
push 0x14a
push dword [ebx + 0x8cc]
call esi
push 0x416008
push 2
push 0x14a
push dword [ebx + 0x8cc]
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00411c65
mov esp, ebp
pop ebp
ret