Function at 0x41bd53
Capabilities:
Enumerate files on windows
Read .ini file

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff684
mov edi, eax
mov ebx, edx
push ebx
push dword [edi + 4]
call sub.USER32.dll_KillTimer
cmp ebx, 6
ja case.0x41bd73.0
jmp dword [ebx*4 + 0x41bd7a]
mov eax, dword [edi + 0x18]
mov edx, dword [eax*4 + 0x4532e8]
test edx, edx
jne 0x41beaa
xor ecx, ecx
mov dword [edi + 0x18], ecx
mov eax, dword [0x45d9b4]
cmp eax, 1
je 0x41bdcd
cmp eax, 2
je 0x41bdcd
push 0x453fcf
push 0x6d
push dword [edi + 4]
call sub.USER32.dll_SetDlgItemTextA
jmp 0x41be4a
push 0x45d8b0
push 0x103
lea edx, [esp + 0x20]
push edx
push 0x4533b5
push 0x453ff7
push 0x4538d3
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x45d8b0
push 0x103
lea ecx, [esp + 0x124]
push ecx
push 0x4533b5
push 0x453ffc
push 0x4538d3
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [esp + 0x11c]
push eax
lea edx, [esp + 0x1c]
push edx
push 0x454009
lea ecx, [esp + 0x22c]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0x10
lea eax, [esp + 0x220]
push eax
push 0x6d
push dword [edi + 4]
call sub.USER32.dll_SetDlgItemTextA
push 0x45402d
add esp, 0xfffffffc
xor edx, edx
mov ecx, 0x454026
mov dword [esp], edx
mov edx, 0x45d8b0
lea eax, [esp + 8]
call fcn.00445db0
mov ecx, dword [esp]
test ecx, ecx
setne al
and eax, 1
test al, al
je 0x41bec2
push 0
call fcn.0044f400
pop ecx
mov ebx, eax
mov esi, ebx
mov dword [esp + 4], esi
mov eax, dword [esp]
cmp esi, eax
setge dl
and edx, 1
test dl, dl
je 0x41bec2
lea eax, [edi + 0x52a7]
mov edx, 0xfffffffe
call fcn.00443a87
jmp 0x41bec2
mov ecx, dword [edi + 0x18]
mov eax, dword [ecx*4 + 0x4532e8]
push eax
push 0x6d
push dword [edi + 4]
call sub.USER32.dll_SetDlgItemTextA
inc dword [edi + 0x18]
push 0
push 0x1f40
push 1
push dword [edi + 4]
call sub.USER32.dll_SetTimer
mov edx, dword [0x45d9b8]
dec edx
jne case.0x41bd73.0
mov dword [0x45d9b8], 2
push 0x30
push 0x454194
push 0x454037
push dword [edi + 4]
call sub.USER32.dll_MessageBoxA
mov dword [esp + 8], 0x450434
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x450f68
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x41bf3e
lea edx, [esp + 8]
push edx
push 0x404768
push ebx
push 4
push dword [0x46e788]
call sub.USER32.dll_DialogBoxParamA
dec eax
sete cl
and ecx, 1
xor eax, eax
mov dword [0x45d9b8], eax
jmp case.0x41bd73.0
push 0
mov ecx, 0x4541a4
mov edx, 0x453917
mov eax, 0x45d8b0
call fcn.00445c9e
test al, al
je case.0x41bd73.0
mov edx, dword [edi + 0x52b7]
test edx, edx
je 0x41bfa8
mov ecx, dword [edi + 0x52bb]
test ecx, ecx
je 0x41bfa8
mov eax, edx
mov edx, dword [eax + 0x5854]
test edx, edx
je 0x41bf9b
mov ecx, dword [eax + 0x5858]
test ecx, ecx
jne 0x41bf9f
mov eax, dword [eax + 0x5877]
dec eax
je 0x41bf9f
xor eax, eax
jmp 0x41bfa4
mov eax, 1
test al, al
je 0x41bfbe
push 0
push 0x1b58
push 2
push dword [edi + 4]
call sub.USER32.dll_SetTimer
jmp case.0x41bd73.0
xor ebx, ebx
lea eax, [esp + 0x530]
push eax
push 0x45dbc4
lea edx, [esp + 0x678]
push edx
call fcn.00446208
add esp, 8
mov edx, 0x4538fa
lea eax, [esp + 0x674]
call fcn.00445579
lea ecx, [esp + 0x674]
push ecx
call sub.KERNEL32.dll_FindFirstFileA
mov dword [esp + 0x52c], eax
jmp 0x41c229
lea esi, [edi + 0x52bf]
cmp eax, 0xffffffff
je 0x41c01b
lea ebp, [esp + 0x55c]
jmp 0x41c020
mov ebp, 0x4533b5
push 0x45dbc4
lea eax, [esp + 0x778]
push eax
call fcn.00446208
add esp, 8
mov edx, ebp
lea eax, [esp + 0x774]
call fcn.00445579
mov cl, byte [esi]
test cl, cl
je 0x41c055
push esi
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
lea eax, [esp + 0x774]
push eax
push esi
call fcn.00446208
add esp, 8
mov dl, byte [esp + 0x774]
test dl, dl
je 0x41c084
lea ecx, [esp + 0x774]
push ecx
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
push 0
mov ecx, 0x4541b8
mov edx, 0x4538fc
lea esi, [edi + 0x52bf]
mov eax, esi
call fcn.00445c9e
test al, al
je 0x41c1e4
push 0
mov ecx, 0x4541a4
mov edx, 0x4538fc
mov eax, esi
call fcn.00445c9e
test al, al
je 0x41c1e4
mov bl, 1
push 0
mov ecx, 0x4541c3
mov edx, 0x4538fc
mov eax, esi
call fcn.00445c49
mov dword [esp + 0x10], eax
push 2
mov ecx, 0x4541d3
mov edx, 0x4538fc
mov eax, esi
call fcn.00445c49
mov edx, dword [esp + 0x10]
cmp eax, edx
jle 0x41c1e4
push 0
call fcn.0044f400
pop ecx
mov dword [esp + 0x14], eax
push 0
mov ecx, 0x4541e6
mov edx, 0x4538fc
mov eax, esi
call fcn.00445c49
mov ebp, eax
push 0x14
mov ecx, 0x4541fb
mov edx, 0x4538fc
mov eax, esi
call fcn.00445c49
imul eax, eax, 0x3c
mov edx, dword [esp + 0x14]
sub edx, eax
cmp ebp, edx
jge 0x41c1e4
push esi
push 0x103
lea ecx, [esp + 0x880]
push ecx
push 0x4533b5
push 0x45420f
push 0x4538fc
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov eax, dword [edi + 0x52b7]
test eax, eax
je 0x41c180
mov edx, dword [edi + 0x52bb]
cmp edx, 1
jb 0x41c180
lea edx, [esp + 0x878]
call fcn.004236a7
push dword [esp + 0x14]
mov ecx, 0x4541e6
mov edx, 0x4538fc
lea ebx, [edi + 0x52bf]
mov eax, ebx
call fcn.00445c10
mov eax, dword [esp + 0x10]
mov ecx, 0x4541c3
inc eax
mov edx, 0x4538fc
push eax
mov eax, ebx
call fcn.00445c10
push 0
push 0x1f40
push 2
push dword [edi + 4]
call sub.USER32.dll_SetTimer
mov edx, dword [esp + 0x52c]
cmp edx, 0xffffffff
je case.0x41bd73.0
push dword [esp + 0x52c]
call sub.KERNEL32.dll_FindClose
jmp case.0x41bd73.0
mov ecx, dword [esp + 0x52c]
cmp ecx, 0xffffffff
jne 0x41c1f4
xor eax, eax
jmp 0x41c229
lea edx, [esp + 0x530]
push edx
push dword [esp + 0x530]
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
jne 0x41c227
push dword [esp + 0x52c]
call sub.KERNEL32.dll_FindClose
mov dword [esp + 0x52c], 0xffffffff
xor eax, eax
jmp 0x41c229
mov al, 1
mov eax, dword [esp + 0x52c]
cmp eax, 0xffffffff
setne dl
and edx, 1
test dl, dl
jne 0x41c007
mov eax, ebx
test al, al
je 0x41c24e
mov edx, 0x453925
jmp 0x41c253
mov edx, 0x45392a
mov eax, edx
push 0x45d8b0
push eax
push 0x4541a4
push 0x453917
call sub.KERNEL32.dll_WritePrivateProfileStringA
test bl, bl
je 0x41c27f
push 0
push 0x1b58
push 2
push dword [edi + 4]
call sub.USER32.dll_SetTimer
mov eax, dword [esp + 0x52c]
cmp eax, 0xffffffff
je case.0x41bd73.0
push eax
call sub.KERNEL32.dll_FindClose
jmp case.0x41bd73.0
mov eax, edi
call fcn.00419730
jmp case.0x41bd73.0
mov eax, dword [edi + 0x53c3]
test eax, eax
je case.0x41bd73.0
push eax
call sub.USER32.dll_DestroyWindow
xor edx, edx
mov dword [edi + 0x53c3], edx
jmp case.0x41bd73.0
mov eax, edi
call fcn.004199c7
push 0
push 0x36ee80
push 5
push dword [edi + 4]
call sub.USER32.dll_SetTimer
jmp case.0x41bd73.0
lea eax, [edi + 0x52a7]
mov edx, 0xfffffffe
call fcn.00443a87
add esp, 0x97c
pop ebp
pop edi
pop esi
pop ebx
ret