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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff838
mov esi, eax
push 0
push 0
push 0x1009
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
lea eax, [esp + 0x10]
push eax
push 0x45dcc8
lea edx, [esp + 0x158]
push edx
call fcn.00446208
add esp, 8
mov edx, 0x451004
lea eax, [esp + 0x154]
call fcn.00445579
lea ecx, [esp + 0x154]
push ecx
call sub.KERNEL32.dll_FindFirstFileA
mov dword [esp + 0xc], eax
jmp 0x40ba79
cmp eax, 0xffffffff
je 0x40b7b1
lea ebx, [esp + 0x3c]
jmp 0x40b7b6
mov ebx, 0x450ff1
push 0x45dcc8
lea eax, [esp + 0x258]
push eax
call fcn.00446208
add esp, 8
mov edx, ebx
lea eax, [esp + 0x254]
call fcn.00445579
push 0
lea ecx, [esp + 0x35c]
push ecx
push 0
push 0
lea eax, [esp + 0x264]
push eax
call fcn.00448bb4
add esp, 0x14
xor edi, edi
mov ecx, 0x45100e
mov edx, 0x45100a
push 1
lea eax, [esp + 0x258]
call fcn.00445c9e
test al, al
jne 0x40b816
inc edi
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
mov dword [esp + 0x45c], 0xf
push 0
push 0
mov ebx, eax
push 0x1004
push ebx
call sub.USER32.dll_SendMessageA
mov dword [esp + 0x460], eax
xor eax, eax
mov dword [esp + 0x464], eax
xor edx, edx
mov dword [esp + 0x468], edx
xor ecx, ecx
mov dword [esp + 0x46c], ecx
mov dword [esp + 0x478], edi
lea eax, [esp + 0x358]
mov dword [esp + 0x470], eax
xor edx, edx
mov dword [esp + 0x47c], edx
lea ecx, [esp + 0x45c]
push ecx
push 0
push 0x1007
push ebx
call sub.USER32.dll_SendMessageA
mov dword [esp], eax
lea eax, [esp + 0x254]
push eax
push 0x103
lea edx, [esp + 0x488]
push edx
push 0x45101a
push 0x451015
push 0x45100a
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x45101f
lea ecx, [esp + 0x484]
push ecx
call fcn.004462cc
add esp, 8
test eax, eax
setne al
and eax, 1
mov edx, dword [esp]
test al, al
je 0x40b8e8
mov ecx, 0x45102b
jmp 0x40b8ed
mov ecx, 0x451030
mov dword [esp + 0x584], 1
mov dword [esp + 0x588], edx
mov eax, ecx
mov dword [esp + 0x58c], 1
mov dword [esp + 0x598], eax
lea eax, [esp + 0x584]
push eax
push 0
push 0x1006
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
mov ecx, 0x451035
lea edx, [esp + 0x5a8]
lea eax, [esp + 0x254]
call fcn.00445bb8
mov byte [esp + 0x6ac], 0
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea eax, [esp + 0x5c0]
push eax
call sub.KERNEL32.dll_CreateFileA
mov ebx, eax
mov edi, ebx
mov dword [esp + 4], edi
push 0
lea eax, [esp + 0xc]
push eax
push 0x7f
lea edx, [esp + 0x6b8]
push edx
push edi
call sub.KERNEL32.dll_ReadFile
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x6ac], 0
mov eax, dword [esp + 4]
cmp eax, 0xffffffff
je 0x40b9ab
push eax
call sub.KERNEL32.dll_CloseHandle
mov byte [esp + 0x72b], 0
lea edx, [esp + 0x6ac]
push edx
call fcn.00446238
pop ecx
mov ecx, eax
xor edx, edx
lea eax, [esp + 0x6ac]
jmp 0x40b9db
movsx ebx, byte [eax]
cmp ebx, 0x20
jge 0x40b9d9
mov byte [eax], 0x20
inc edx
inc eax
cmp ecx, edx
ja 0x40b9ce
mov eax, dword [esp]
lea edx, [esp + 0x6ac]
mov dword [esp + 0x72c], 1
mov dword [esp + 0x730], eax
lea ecx, [esp + 0x72c]
mov dword [esp + 0x734], 2
mov dword [esp + 0x740], edx
push ecx
push 0
push 0x1006
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
mov ebx, dword [esp + 0xc]
cmp ebx, 0xffffffff
je 0x40ba5b
lea eax, [esp + 0x10]
push eax
push ebx
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
jne 0x40ba59
push dword [esp + 0xc]
call sub.KERNEL32.dll_FindClose
mov dword [esp + 0xc], 0xffffffff
xor edx, edx
jmp 0x40ba5b
mov dl, 1
mov al, byte [esp + 0x254]
test al, al
je 0x40ba79
lea ecx, [esp + 0x254]
push ecx
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
setne dl
and edx, 1
test dl, dl
jne 0x40b7a6
mov edi, dword [esi + 0xc]
mov dword [esp + 0x750], 2
mov dword [esp + 0x754], edi
lea ecx, [esp + 0x750]
push ecx
push 0xffffffffffffffff
push 0x100d
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
mov ebx, eax
test ebx, ebx
jge 0x40bacc
xor eax, eax
jmp 0x40bb04
mov dword [esp + 0x778], 3
mov dword [esp + 0x774], 3
lea edx, [esp + 0x768]
mov ebp, ebx
push edx
push ebp
push 0x102b
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
mov al, 1
test al, al
jne 0x40bb77
mov dword [esp + 0x78c], 2
xor edx, edx
mov dword [esp + 0x790], edx
lea ecx, [esp + 0x78c]
push ecx
push 0xffffffffffffffff
push 0x100d
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
mov ebx, eax
test ebx, ebx
jl 0x40bb77
mov dword [esp + 0x7b4], 3
mov dword [esp + 0x7b0], 3
lea eax, [esp + 0x7a4]
mov edi, ebx
push eax
push edi
push 0x102b
push 0x65
push dword [esi + 4]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SendMessageA
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x40bb86
push eax
call sub.KERNEL32.dll_FindClose
add esp, 0x7c8
pop ebp
pop edi
pop esi
pop ebx
ret