Function at 0x401eb6
Capabilities:
Delete file
Read .ini file
Set current directory
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 4
push 0x3000
push 0xff00
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
push 0x408970
push 0xfe00
push esi
push 0x40606c
push 0
push str.Files
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x402192
push 0x4083a0
push 0xf3
call fcn.00401153
add esp, 8
lea eax, [0x4083a0]
push eax
push 0
push 0x180
xor edi, edi
push 0x3ed
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push esi
mov dword [ebp - 8], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x402085
lea ebx, [esi + edi]
push ebx
call fcn.004010dd
add esp, 4
test eax, eax
je 0x402068
push 0x408970
push 0
push ebx
push str.Files
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 4], eax
test eax, eax
je 0x401fda
push ebx
push 0x40720c
push 0xf7
call fcn.00401153
add esp, 8
push eax
push 0x4070e0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x24
push 0x40720c
push 0xaa
call fcn.00401153
add esp, 8
push eax
push 0x4070e0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
je 0x401fd3
push ebx
push 0
push 0x180
push 0x3ea
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x401fda
mov dword [ebp - 4], 0
cmp dword [ebp - 4], 0
jne 0x402068
push pe_nt_image_headers32
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x402068
push ebx
push 0x40720c
push 0xee
call fcn.00401153
add esp, 8
push eax
push 0x4070e0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x24
push 0x40720c
push 0xaa
call fcn.00401153
add esp, 8
push eax
push 0x4070e0
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x40204f
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [esi + edi]
push eax
push 0
push 0x180
push 0x3ea
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + edi + 1]
lea eax, [esi + edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x401f43
mov ebx, 0xfe00
push ebx
push 0
push esi
call fcn.00402d30
add esp, 0xc
push 0x408970
push ebx
push esi
xor ebx, ebx
push 0x40606c
push 0
push str.Directories
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x4020d8
lea eax, [esi + ebx]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ebx, [eax + ebx + 1]
lea eax, [esi + ebx]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x4020bc
mov edi, 0x4070e0
sub ebx, 2
test ebx, ebx
jle 0x4020f1
cmp byte [esi + ebx], 0
je 0x4020ef
dec ebx
test ebx, ebx
jg 0x4020e4
test ebx, ebx
je 0x4020f4
inc ebx
lea eax, [esi + ebx]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push edi
call fcn.0040102f
add esp, 8
push 0x408570
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push dword [ebp + 8]
push edi
call fcn.00401cab
add esp, 8
test ebx, ebx
jne 0x4020dd
push 0x8000
xor edi, edi
push edi
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFree]
push 0x4072d4
push 0xa1
call fcn.00401153
add esp, 8
mov esi, 0x3ed
push eax
push 0x4083a0
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
push dword [ebp - 8]
push 0x182
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
lea eax, [0x4083a0]
push eax
push edi
push 0x180
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push edi
push eax
push 0x186
push esi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret