Function at 0x403bd0
Capabilities:
Create process on windows
Find taskbar
Read .ini file

Disassembly:
mov eax, dword [0x412fc4]
sub esp, 0x100
test eax, eax
push esi
push edi
jle 0x403d2f
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
push 0
push 0x412b38
call esi
test eax, eax
je 0x403c01
mov ecx, dword [0x412fc4]
push ecx
jmp 0x403c25
push 0
push str.Brstswnd
push 0
push 0
push str.Shell_TrayWnd
call esi
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
test eax, eax
je 0x403c33
mov edx, dword [0x412fc4]
push edx
push 0
push 0x407
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x416840]
cmp eax, 1
jne 0x403ca8
mov ecx, dword [0x415f98]
mov edx, dword [0x415ec0]
mov eax, ecx
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*2]
test byte [edx + eax*4 + 0x50], 1
je 0x403c79
mov eax, dword [esp + 0x10c]
push 0
push 0
push 0x528
push eax
call fcn.004052a0
mov ecx, dword [0x415f98]
add esp, 0x10
test byte [0x415e88], 0x20
je 0x403cbd
mov edx, dword [0x415ec0]
mov eax, ecx
shl eax, 3
sub eax, ecx
push 0x4f
push str.e__12345X_PJL_USTATUS_DEVICEOFF_r_n_PJL_USTATUS_PAGEOFF_r_n_PJL_USTATUS_JOBOFF_r_n
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 4]
push eax
call fcn.00409300
add esp, 0xc
jmp 0x403cb7
cmp eax, 2
jne 0x403cb7
push 0
call fcn.00403280
add esp, 4
mov ecx, dword [0x415f98]
mov edx, dword [0x415ec0]
mov eax, ecx
shl eax, 3
sub eax, ecx
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x412bb0
push 0
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 0xc]
push eax
push 0x412bbc
call esi
push 1
lea ecx, [esp + 0xc]
push pe_nt_image_headers32
push ecx
call fcn.00403370
add esp, 0xc
lea edx, [esp + 8]
push 0x412bc8
push 0
push edx
push 0x412bd4
call esi
push 0x412be0
lea eax, [esp + 0xc]
push 0
push eax
push 0x412bec
call esi
mov dword [0x412fc4], 0xffffffff
jmp 0x403eeb
push 0
lea ecx, [esp + 0x8c]
push pe_nt_image_headers32
push ecx
mov edi, 1
call fcn.00403370
mov al, byte [esp + 0x94]
add esp, 0xc
test al, al
je 0x403eeb
mov ecx, dword [0x415f98]
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, ecx
push 0x412bf8
shl eax, 3
sub eax, ecx
lea edx, [eax + eax*2]
mov eax, dword [0x415ec0]
mov ecx, dword [eax + edx*4 + 4]
lea eax, [eax + edx*4]
push ecx
mov edx, dword [eax + 0xc]
push edx
push 0x412c04
call esi
push edi
lea eax, [esp + 0xc]
push pe_nt_image_headers32
push eax
call fcn.00403370
mov ecx, dword [0x415f98]
mov edx, dword [0x415ec0]
mov eax, ecx
add esp, 0xc
shl eax, 3
sub eax, ecx
push 0x412c10
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 0x10]
lea ecx, [esp + 0xc]
push eax
push ecx
push 0x412c1c
call esi
mov ecx, dword [0x415f98]
push 0x412c28
mov eax, ecx
shl eax, 3
sub eax, ecx
lea edx, [eax + eax*2]
mov eax, dword [0x415ec0]
mov ecx, dword [eax + edx*4 + 0xc]
lea edx, [esp + 0xc]
push ecx
push edx
push 0x412c34
call esi
cmp dword [0x416840], edi
jne 0x403e54
mov ecx, dword [0x415f98]
push 0x412c40
lea eax, [esp + 0xc]
push pe_nt_image_headers32
push eax
mov edx, dword [0x415ec0]
mov eax, ecx
push 0x415ee8
shl eax, 3
sub eax, ecx
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 0x10]
push eax
push str.Monitor
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov al, byte [esp + 8]
test al, al
je 0x403e54
lea ecx, [esp + 8]
push 0
push ecx
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x403e54
xor edi, edi
test edi, edi
je 0x403eeb
lea edx, [esp + 0x88]
push 8
push edx
call dword [sym.imp.KERNEL32.dll_WinExec]
test eax, eax
je 0x403eeb
mov eax, dword [0x416840]
test eax, eax
je 0x403eeb
mov ecx, dword [0x415f98]
mov edx, dword [0x415ec0]
mov eax, ecx
shl eax, 3
sub eax, ecx
lea eax, [eax + eax*2]
test byte [edx + eax*4 + 0x50], 1
je 0x403eb5
mov eax, dword [esp + 0x10c]
push 0
push 0
push 0x528
push eax
call fcn.004052a0
mov ecx, dword [0x415f98]
add esp, 0x10
cmp dword [0x416840], 1
jne 0x403eeb
test byte [0x415e88], 0x20
je 0x403eeb
mov edx, dword [0x415ec0]
mov eax, ecx
shl eax, 3
sub eax, ecx
push 0x5e
push str.e__12345X_PJL_USTATUS_DEVICEON_r_n_PJL_USTATUS_PAGEON_r_n_PJL_USTATUS_JOBON_r_n_PJL_INFO_STATUS_r_n
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4 + 4]
push eax
call fcn.00409300
add esp, 0xc
pop edi
mov dword [0x415f98], 0xffffffff
xor eax, eax
pop esi
add esp, 0x100
ret