Function at 0x4036f0
Capabilities:
Enumerate files on windows
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4412ac
mov eax, dword fs:[0]
push eax
sub esp, 0x350
mov eax, dword [0x455028]
xor eax, esp
mov dword [esp + 0x348], eax
push ebx
push esi
push edi
mov eax, dword [0x455028]
xor eax, esp
push eax
lea eax, [esp + 0x360]
mov dword fs:[0], eax
push 0xffffffffffffffff
push 0xb4
push 0
push 0x445468
push 0x445468
mov esi, ecx
push 0x445468
push str.3401068
mov dword [esp + 0x4c], esi
lea ebx, [esi + 0x74]
call sub.Languages.dll_Ordinal_4_1
push eax
push 0
mov ecx, ebx
call sub.mfc90u.dll_CListCtrl::InsertColumn
push 0xffffffffffffffff
push 0x64
push 1
push 0x445468
push 0x445468
push 0x445468
push str.3401069
call sub.Languages.dll_Ordinal_4_1
push eax
push 1
mov ecx, ebx
call sub.mfc90u.dll_CListCtrl::InsertColumn
push 0xffffffffffffffff
push 0x64
push 1
push 0x445468
push 0x445468
push 0x445468
push str.3401070
call sub.Languages.dll_Ordinal_4_1
push eax
push 2
mov ecx, ebx
call sub.mfc90u.dll_CListCtrl::InsertColumn
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push 0x208
lea ecx, [esp + 0x1c]
mov dword [esp + 0x36c], 0
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
call sub.BottDefrag.dll_GetLogPath
add esp, 4
push 0xffffffffffffffff
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::ReleaseBuffer]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
mov edi, 0x445b10
call fcn.00402200
add esp, 8
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
push 0x24c
lea edx, [esp + 0x44]
push 0
mov byte [esp + 0x370], 2
push edx
mov dword [esp + 0x48], 0
call sub.MSVCR90.dll_memset
mov ecx, dword [esp + 0x28]
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [esp + 0x24], eax
cmp eax, 0xffffffff
je 0x403a29
jmp 0x403864
mov esi, dword [esp + 0x30]
test byte [esp + 0x3c], 0x10
jne 0x403a0a
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x24]
push eax
mov edi, 0x445b18
call fcn.00402200
push eax
lea ecx, [esp + 0x34]
push ecx
lea edi, [esp + 0x78]
mov byte [esp + 0x378], 3
call fcn.00402200
add esp, 0x10
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x36c], 4
call dword [0x444764]
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x20]
mov byte [esp + 0x368], 2
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edx, dword [esp + 0x14]
push edx
push 0x64
lea eax, [esp + 0x294]
push eax
push 0x445468
push 0x445b1c
push str.main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x403a0a
push 0
push 0
push 0
mov ecx, 0x20
mov word [esp + 0x2ac], cx
push 0
lea ecx, [esp + 0x29c]
push ecx
mov edx, 0x3a
push 0
mov eax, edx
push 1
mov ecx, ebx
mov word [esp + 0x2c2], dx
mov word [esp + 0x2c8], ax
call sub.mfc90u.dll_CListCtrl::InsertItem
mov edi, eax
cmp edi, 0xffffffff
je 0x403a0a
mov ecx, dword [esi + 0x22c]
add esi, 0x220
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esi + 0x10]
jbe 0x403961
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi]
push ecx
push eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x40]
push eax
mov eax, esi
call fcn.00403b30
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ecx
push 0x64
lea edx, [esp + 0x294]
push edx
push 0x445b40
push 0x445b44
push str.main
call esi
test eax, eax
je 0x4039d4
push 0x64
lea eax, [esp + 0x290]
push eax
push 0xa
mov ecx, eax
push 0
push ecx
call dword [sym.imp.MSVCR90.dll__wcstoi64]
add esp, 0xc
push edx
push eax
call dword [sym.imp.SHLWAPI.dll_StrFormatByteSizeW]
lea edx, [esp + 0x28c]
push edx
push 1
push edi
mov ecx, ebx
call sub.mfc90u.dll_CListCtrl::SetItemText
mov eax, dword [esp + 0x14]
push eax
push 0x64
lea ecx, [esp + 0x294]
push ecx
push 0x445b40
push str.DefraggedFileCount
push str.main
call esi
test eax, eax
je 0x403a0a
lea edx, [esp + 0x28c]
push edx
push 2
push edi
mov ecx, ebx
call sub.mfc90u.dll_CListCtrl::SetItemText
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x3c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x403860
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov eax, 1
mov ecx, dword [esp + 0x360]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x348]
xor ecx, esp
call fcn.0043ec6a
mov esp, ebp
pop ebp
ret