Function at 0x402836
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.00401e3f
test eax, eax
je 0x402a75
push ebx
xor ebx, ebx
cmp dword [esi + 0xb40], ebx
je 0x4028e2
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.0040398e
add esp, 0x14
push dword [esi + 0x628]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x628], ebx
xor eax, eax
jmp 0x402a74
lea eax, [esi + 0x10c]
push eax
lea eax, [esi + 0x314]
push eax
lea edi, [esi + 0xec0]
push edi
call fcn.00403ebf
add esp, 0xc
test eax, eax
je 0x402a71
cmp byte [edi], bl
je 0x402a71
mov ecx, esi
call fcn.0040215d
test eax, eax
je 0x402a71
lea eax, [esi + 0xbb4]
push eax
mov ecx, esi
call fcn.00402120
test eax, eax
je 0x402a71
push 1
push dword [esi + 0xb50]
mov ecx, esi
call fcn.0040201f
test eax, eax
je 0x4028db
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 0x4028db
lea edi, [esi + 0x210]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jne 0x402988
lea eax, [esi + 8]
push eax
jmp 0x402989
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.004057f0
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 0x402a07
lea eax, [esi + 0x210]
cmp byte [eax], bl
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], 0x1000
je 0x4029e7
mov dword [ebp - 0x10], eax
jmp 0x4029ed
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.00402597
mov eax, dword [esi + 0xbb0]
cmp eax, ebx
je 0x402a28
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [esi + 0xbb0], ebx
lea eax, [esi + 0xec0]
cmp byte [eax], bl
je 0x402a4c
push eax
push ebx
push str.TrayIconEndTime
lea eax, [esi + 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esi + 0xfc8], eax
mov eax, dword [esi + 0xfc8]
cmp eax, ebx
je 0x402a6c
push ebx
push eax
push 2
push dword [esi + 0x620]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 0xfc4], eax
xor eax, eax
inc eax
jmp 0x402a74
or eax, 0xffffffff
pop ebx
pop edi
pop esi
leave
ret