Function at 0x402a68
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, ecx
push str.EPSON_Status_Monitor_3
lea eax, [esi + 0x62c]
push eax
call edi
push str._nUnable_to_open_Printer_Status_window_for_this_printer.
lea eax, [esi + 0x730]
push eax
call edi
push str._nUnable_to_open_Monitoring_Preferences_window_for_this_printer.
lea eax, [esi + 0x834]
push eax
call edi
push str.Insufficient_memory.
lea eax, [esi + 0x938]
push eax
call edi
push str.Could_not_find_specified_file.
lea eax, [esi + 0xa3c]
push eax
call edi
mov ecx, esi
call fcn.00401f8c
test eax, eax
je 0x402ca7
push ebx
xor ebx, ebx
cmp dword [esi + 0xb40], ebx
je 0x402b14
xor ecx, ecx
lea eax, [esi + 0x210]
cmp byte [eax], bl
sete cl
push ecx
push 3
lea ecx, [esi + 8]
push ecx
push eax
push dword [esi + 0x628]
call fcn.004039e2
add esp, 0x14
push dword [esi + 0x628]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x628], ebx
xor eax, eax
jmp 0x402ca6
lea eax, [esi + 0x10c]
push eax
lea eax, [esi + 0x314]
push eax
lea edi, [esi + 0xcb8]
push edi
call fcn.00403f13
add esp, 0xc
test eax, eax
je 0x402ca3
cmp byte [edi], bl
je 0x402ca3
mov ecx, esi
call fcn.004022aa
test eax, eax
je 0x402ca3
lea eax, [esi + 0xbb4]
push eax
mov ecx, esi
call fcn.0040226d
test eax, eax
je 0x402ca3
push 1
push dword [esi + 0xb50]
mov ecx, esi
call fcn.0040216c
test eax, eax
je 0x402b0d
push 0x321
push dword [esi + 0xbb0]
call dword [sym.imp.USER32.dll_LoadMenuA]
push ebx
push eax
mov dword [esi + 0x624], eax
call dword [sym.imp.USER32.dll_GetSubMenu]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x402b0d
lea edi, [esi + 0x210]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x402bba
lea eax, [esi + 8]
push eax
jmp 0x402bbb
push edi
mov edi, 0x384
push edi
push 0x400
push ebx
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_ModifyMenuA]
push 0x30
lea eax, [ebp - 0x34]
push ebx
push eax
call fcn.00405830
add esp, 0xc
lea eax, [ebp - 0x34]
push eax
push ebx
push edi
push dword [ebp - 4]
mov dword [ebp - 0x34], 0x30
mov dword [ebp - 0x30], 0x11
call dword [sym.imp.USER32.dll_GetMenuItemInfoA]
test eax, eax
je 0x402c39
lea eax, [esi + 0x210]
cmp byte [eax], bl
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x1000
je 0x402c19
mov dword [ebp - 0x10], eax
jmp 0x402c1f
lea ecx, [esi + 8]
mov dword [ebp - 0x10], ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x34]
push eax
push ebx
push edi
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_SetMenuItemInfoA]
push dword [ebp - 4]
mov ecx, esi
call fcn.004026e4
mov eax, dword [esi + 0xbb0]
cmp eax, ebx
je 0x402c5a
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0xbb0], ebx
lea eax, [esi + 0xcb8]
cmp byte [eax], bl
je 0x402c7e
push eax
push ebx
push str.TrayIconEndTime
lea eax, [esi + 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esi + 0xdc0], eax
mov eax, dword [esi + 0xdc0]
cmp eax, ebx
je 0x402c9e
push ebx
push eax
push 2
push dword [esi + 0x620]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 0xdbc], eax
xor eax, eax
inc eax
jmp 0x402ca6
or eax, 0xffffffff
pop ebx
pop edi
pop esi
leave
ret