Function at 0x4061a5
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x83c
and byte [ebp - 0x634], 0
push ebx
push esi
mov edx, 0x81
push edi
mov ecx, edx
xor eax, eax
lea edi, [ebp - 0x633]
rep stosd dword es:[edi], eax
and byte [ebp - 0x224], 0
mov ecx, edx
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
lea edi, [ebp - 0x223]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x224]
push 0x47dc0c
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathA]
lea eax, [ebp - 0x224]
push 0x40db10
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, dword [sym.imp.USER32.dll_AppendMenuA]
push str.Show
mov edi, 0x1000
push 1
push edi
push eax
mov dword [ebp - 4], eax
call esi
push 0x40dd00
mov ebx, 0x800
push 0
push ebx
push dword [ebp - 4]
call esi
push str.Scan
push 2
push edi
push dword [ebp - 4]
call esi
push str.Option
push 3
push edi
push dword [ebp - 4]
call esi
push 0x40dd00
push 0
push ebx
push dword [ebp - 4]
call esi
lea eax, [ebp - 0x224]
push eax
push 4
push edi
push dword [ebp - 4]
call esi
push 0x40dd00
push 0
push ebx
push dword [ebp - 4]
call esi
push str.About
push 5
push edi
push dword [ebp - 4]
call esi
push 0x40dd00
push 0
push ebx
mov ebx, dword [ebp - 4]
push ebx
call esi
push str.Exit
push 6
push edi
push ebx
call esi
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
xor esi, esi
cmp dword [0x47ce98], esi
je 0x4062ef
lea eax, [ebp - 0x1c]
push eax
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x1c]
mov dword [0x47ce98], esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
push esi
push dword [0x47ef28]
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0x100
push ebx
call dword [sym.imp.USER32.dll_TrackPopupMenu]
push ebx
mov edi, eax
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, edi
dec eax
je 0x4063f5
dec eax
je 0x40638c
dec eax
je 0x40637e
dec eax
je 0x406342
dec eax
je 0x406338
dec eax
jne 0x406403
call fcn.00406999
jmp 0x406403
call fcn.004078e5
jmp 0x406403
lea eax, [ebp - 0x83c]
push 0x47dc0c
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x83c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathQuoteSpacesA]
lea eax, [ebp - 0x634]
push 5
push eax
lea eax, [ebp - 0x83c]
push eax
call fcn.004055dd
add esp, 0xc
jmp 0x406403
push dword [0x47ef28]
call fcn.00409899
pop ecx
jmp 0x406403
and byte [ebp - 0x42c], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x42b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.00405536
push 0x47e42c
lea eax, [ebp - 0x42c]
push 0x208
push eax
push 0x40dd00
push str.ScanProgram
push str.MAIN
call dword [sym.imp.KERNEL32.DLL_GetPrivateProfileStringA]
cmp byte [ebp - 0x42c], 0
jne 0x4063e0
call fcn.004064a9
jmp 0x406403
push esi
push esi
push 0x8001
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x406403
push 5
push dword [0x47ef28]
call dword [sym.imp.USER32.dll_ShowWindow]
pop edi
pop esi
pop ebx
leave
ret