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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47933c
mov eax, dword fs:[0]
push eax
sub esp, 0x310
mov eax, dword [0x494014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x31c], ebx
push 0x100
lea eax, [ebp - 0x310]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x310]
push 0
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x310]
push eax
push 0x48bec0
push 0x495d00
call fcn.00403cb0
lea eax, [ebp - 0x310]
push eax
push 0x48bed0
push 0x495900
call fcn.00403cb0
add esp, 0x18
push 0x495900
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x407d8b
push 0
push 0x495900
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48bee0
push 0x48bee8
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
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 - 0x210]
push eax
call esi
push 0x100
mov dword [0x49634c], eax
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48c730
push 0x48bf00
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x4d4]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48bf10
push 0x48bf14
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x13ac]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
lea eax, [ebp - 0x210]
push eax
call esi
push 0x100
push 0
lea eax, [ebp - 0x210]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48bf24
push 0x48bf28
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov esi, dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x162c]
call esi
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48bf38
push 0x48bf3c
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x7ac]
call esi
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48bf44
push 0x48bf4c
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0xe2c]
call esi
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push str.20000
push 0x48bf60
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0xeac]
call esi
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48bf6c
push 0x48bf6c
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x2d4]
call esi
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push str.gzx1122
push 0x48bf88
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x5d4]
call esi
push 0x100
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x314]
push 0x495d00
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 - 0x210]
push 0x100
push eax
push 0x48c730
push 0x48bf94
push 0x48bef4
call edi
lea ecx, [ebp - 0x314]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebx + 0x182c]
call esi
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x318]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__10]
push 0
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x318]
mov eax, dword [ebp - 0x318]
push 0
push 0
push dword [eax - 0xc]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push eax
push 0
push 0
call edi
mov ecx, dword [ebp - 0x318]
mov esi, eax
push 0
push 0
push esi
push 0x496204
push dword [ecx - 0xc]
lea ecx, [ebp - 0x318]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
push 0
push 0
call edi
lea ecx, [ebp - 0x318]
mov byte [esi + 0x496204], 0
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x495d00
push 0
push 0x48bfa0
push 0x48bfb0
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 0x495d00
push 0
push 0x48bfbc
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x274]
call esi
push 0x495d00
push 0
push 0x48bfc4
push 0x48bfb0
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 0x495d00
push 0
push 0x48bfd0
push 0x48bfb0
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 0x495d00
push 0
push 0x48bfdc
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x14cc]
call esi
push 0x495d00
push 0
push 0x48bfe8
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x154c]
call esi
push 0x495d00
push 0
push 0x48bff0
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x15cc]
call esi
push 0x495d00
push 0
push 0x48bff8
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x16cc]
call esi
push 0x495d00
push 0
push 0x48c004
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x174c]
call esi
push 0x495d00
push 0
push 0x48c010
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x17cc]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x17cc]
call esi
push 0x495d00
push 0
push 0x48c01c
push 0x48bfb0
mov dword [0x496348], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x18cc]
call esi
push 0x495d00
push 0
push 0x48c028
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x10cc]
call esi
push 0x495d00
push 0
push 0x48c030
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x474]
call esi
push 0x495d00
push 0
push 0x48c03c
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x67c]
call esi
push 0x495d00
push 0
push 0x48c048
push 0x48bfb0
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 0x495d00
push 0
push 0x48c054
push 0x48bfb0
mov dword [0x496354], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x11cc]
call esi
push 0x495d00
push 0
push 0x48c064
push 0x48bfb0
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 [0x4958c0], eax
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x10cc]
mov dword [0x4958bc], 1
call esi
push 0x495d00
push 0
push 0x48c070
push 0x48bfb0
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 0x495d00
push 0
push 0x48c078
push 0x48bfb0
mov dword [0x4958d8], 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 0x495d00
push 0
push 0x48c080
push 0x48bfb0
mov dword [0x496358], 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 0x495d00
push 0
push 0x48c088
push 0x48bfb0
mov dword [0x4958c8], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x3f4]
call esi
push 0x495d00
push 0
push 0x48c090
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x84c]
call esi
push 0x495d00
push 0
push 0x48c09c
push 0x48bfb0
call edi
push 0
cmp eax, 1
jne 0x40861e
push eax
jmp 0x408620
push 0
push 0xf1
push dword [ebx + 0x104c]
call esi
push 0
push 0
push 0xf0
push dword [ebx + 0x104c]
call esi
push 0x495d00
neg eax
push 0
sbb al, al
push 0x48c078
add al, 2
push 0x48bfb0
mov byte [0x494498], 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 0x495d00
push 0
push 0x48c080
push 0x48bfb0
mov dword [0x496358], 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 0x495d00
push 0
push 0x48c0a8
push 0x48bfb0
mov dword [0x4958c8], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0xf4c]
call esi
push 0x495d00
push 0
push 0x48c0b4
push 0x48bfb0
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 0x495d00
push 0
push 0x48c088
push 0x48bfb0
mov dword [0x4958fc], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x3f4]
call esi
push 0x495d00
push 0
push 0x48c090
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x84c]
call esi
push 0x495d00
push 0
push 0x48c0bc
push 0x48bfb0
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x94c]
call esi
push 0x495d00
push 0
push 0x48c0c8
push 0x48bfb0
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 0x495d00
push 0
push 0x48c0d0
push 0x48bfb0
mov byte [0x4958d0], 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 0x495d00
push 0
push 0x48c0b4
push 0x48bfb0
mov dword [0x4958c4], eax
call edi
push 0
push eax
push 0xf1
push dword [ebx + 0x9cc]
call esi
push 0x495d00
push 0
push 0x48c0d4
push 0x48bfb0
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 [0x4958cc], eax
mov ebx, dword [sym.imp.mfc140u.dll_CWnd::ShowWindow]
mov ecx, edi
push 0
call ebx
mov esi, dword [ebp - 0x31c]
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 0x48c0dc
push 0x50
lea esi, [ebx + 0x654]
mov ecx, esi
call dword [sym.imp.mfc140u.dll_CFont::CreatePointFont]
test esi, esi
jne 0x4088b5
xor eax, eax
jmp 0x4088b8
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 0x48c0e4
push 0
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x4b
push 2
push 0x48c0ec
push 1
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0xa
push 2
push 0x48c0f4
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 0x48c104
push 4
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x48bf4c
push 5
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x48c10c
push 6
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x3c
push 2
push 0x48c114
push 7
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x3c
push 2
push 0x48c11c
push 8
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x50
push 2
push 0x48c124
push 9
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x28
push 2
push 0x48c12c
push 0xa
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x96
push 2
push 0x48c134
push 0xb
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x48c13c
push 0xc
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x32
push 2
push 0x48bd6c
push 0xd
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x64
push 2
push 0x48c144
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 0x48c154
push 0x10
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x14
push 2
push 0x48c15c
push 0x11
mov ecx, edi
call esi
push 0xffffffffffffffff
push 0x14
push 2
push 0x48c164
push 0x12
mov ecx, edi
call esi
push 0x48c16c
lea ecx, [ebx + 0x8ac]
call dword [sym.imp.mfc140u.dll_CWnd::SetWindowTextW]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x48c16c
push 0
push 0x14a
push dword [ebx + 0x8cc]
call esi
push 0x48c174
push 1
push 0x14a
push dword [ebx + 0x8cc]
call esi
push 0x48c17c
push 2
push 0x14a
push dword [ebx + 0x8cc]
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041caaf
mov esp, ebp
pop ebp
ret