Function at 0x4442d0
Capabilities:
Create process on windows
Get graphical window text
Read .ini file
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa74
mov eax, dword [0x4c4004]
xor eax, esp
mov dword [esp + 0xa6c], eax
push ebx
push ebp
push esi
push edi
cmp ecx, 0x2a23
jg 0x44466e
je 0x444629
add ecx, 0xffffd6f0
cmp ecx, 0x29
ja case.default.0x44467d
movzx eax, byte [ecx + 0x444948]
jmp dword [eax*4 + 0x444920]
push 0
push 0
push 0x130b
push 0x290f
push dword [0x4def88]
call dword [sym.imp.user32.dll_GetDlgItem]
push eax
call dword [sym.imp.user32.dll_SendMessageW]
test eax, eax
jne 0x444340
push 0x15
jmp 0x444342
push 0x16
push 0xf
push 0x4de958
push dword [0x4def88]
call fcn.00401149
jmp case.default.0x44467d
call fcn.00447690
call fcn.00446fe0
jmp case.default.0x44467d
call fcn.00447340
jmp case.default.0x44467d
call fcn.00447180
jmp case.default.0x44467d
cmp edx, 9
jne case.default.0x44467d
call fcn.00447690
jmp case.default.0x44467d
call fcn.004479b0
jmp case.default.0x44467d
mov ebx, dword [sym.imp.kernel32.dll_GetPrivateProfileStringW]
push Shell_NotifyIconW
push 0x400
push 0x4c4980
push 0
push 0x4ad98c
push 0x4b0a6c
call ebx
mov edi, dword [sym.imp.kernel32.dll_lstrlenW]
xor esi, esi
push 0x4c4980
call edi
lea ebp, [esi + 0xa]
test eax, eax
jle 0x4443f1
cmp word [esi*2 + 0x4c4980], 0x7e
jne 0x4443e5
mov word [esi*2 + 0x4c4980], bp
push 0x4c4980
inc esi
call edi
cmp esi, eax
jl 0x4443d2
push 0x4c4980
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
push Shell_NotifyIconW
push 0x400
push 0x4c4980
push 0
push 0x4ad984
push 0x4b0a6c
call ebx
push 0x4c4980
xor esi, esi
call edi
test eax, eax
jle 0x44444f
nop dword [eax + eax]
cmp word [esi*2 + 0x4c4980], 0x7e
jne 0x444443
mov word [esi*2 + 0x4c4980], bp
push 0x4c4980
inc esi
call edi
cmp esi, eax
jl 0x444430
mov ebp, dword [sym.imp.user32.dll_MessageBoxW]
lea eax, [esp + 0x70]
push 0x24
push eax
push 0x4c4980
push dword [0x4def88]
call ebp
cmp eax, 6
jne case.default.0x44467d
call fcn.00475f50
push 0
push 0
push 0x130b
push 0x290f
push dword [0x4def88]
call dword [sym.imp.user32.dll_GetDlgItem]
push eax
call dword [sym.imp.user32.dll_SendMessageW]
sub eax, 0
je 0x4444b5
sub eax, 1
je 0x4444ae
sub eax, 1
jne 0x4444ba
call fcn.004485f0
jmp 0x4444ba
call fcn.00447f60
jmp 0x4444ba
call fcn.00447cf0
push Shell_NotifyIconW
push 0x400
push 0x4c4980
push 0
push 0x4ad99c
push 0x4b0a6c
call ebx
push 0x4c4980
xor esi, esi
call edi
test eax, eax
jle 0x444515
lea ebp, [esi + 0xa]
nop word [eax + eax]
cmp word [esi*2 + 0x4c4980], 0x7e
jne 0x444503
mov word [esi*2 + 0x4c4980], bp
push 0x4c4980
inc esi
call edi
cmp esi, eax
jl 0x4444f0
mov ebp, dword [sym.imp.user32.dll_MessageBoxW]
push 0x4c4980
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
push Shell_NotifyIconW
push 0x400
push 0x4c4980
push 0
push 0x4ad994
push 0x4b0a6c
call ebx
push 0x4c4980
xor esi, esi
call edi
test eax, eax
jle 0x444577
lea ebp, [esi + 0xa]
cmp word [esi*2 + 0x4c4980], 0x7e
jne 0x444565
mov word [esi*2 + 0x4c4980], bp
push 0x4c4980
inc esi
call edi
cmp esi, eax
jl 0x444552
mov ebp, dword [sym.imp.user32.dll_MessageBoxW]
push 0x30
lea eax, [esp + 0x74]
push eax
push 0x4c4980
push dword [0x4def88]
call ebp
jmp case.default.0x44467d
push 0x4b38d4
push 0x4bf780
lea eax, [esp + 0x78]
mov dword [esp + 0x30], 0x44
push 0xff
push eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x64], 1
mov dword [esp + 0x68], 1
mov dword [esp + 0x6c], 0
call fcn.0040a370
add esp, 0x10
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
push 0
push 0x20
push 0
push 0
push 0
lea eax, [esp + 0x90]
push eax
push 0
call dword [sym.imp.kernel32.dll_CreateProcessW]
test eax, eax
je case.default.0x44467d
push dword [esp + 0x1c]
mov esi, dword [sym.imp.kernel32.dll_CloseHandle]
call esi
push dword [esp + 0x18]
call esi
jmp case.default.0x44467d
cmp edx, 0x100
jne case.default.0x44467d
cmp dword [0x4d2db0], 0
jne case.default.0x44467d
push 0x4ad29c
push 0x2a23
push dword [0x4def88]
mov dword [0x4d2db0], 1
call dword [sym.imp.user32.dll_GetDlgItem]
push eax
call dword [sym.imp.user32.dll_SetWindowTextW]
jmp case.default.0x44467d
add ecx, 0xffffd5dc
cmp ecx, 6
ja case.default.0x44467d
jmp dword [ecx*4 + 0x444974]
cmp dword [0x4d2db0], 0
jne 0x4446d0
mov edx, 0x4adc40
mov ecx, 0x4b0a6c
call fcn.004773a0
push eax
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
lea eax, [esp + 0x70]
mov edx, 0x4adc28
push 0x30
push eax
mov ecx, 0x4b0a6c
call fcn.004773a0
push eax
push dword [0x4def88]
call dword [sym.imp.user32.dll_MessageBoxW]
jmp case.default.0x44467d
xor eax, eax
push 0x7fe
push eax
mov word [esp + 0x280], ax
lea eax, [esp + 0x282]
push eax
call fcn.0048e770
add esp, 0xc
xor eax, eax
mov word [esp + 0x70], ax
push 0x206
push eax
lea eax, [esp + 0x7a]
push eax
call fcn.0048e770
add esp, 0xc
lea eax, [esp + 0x70]
push 0x104
push eax
push 0x2a23
push dword [0x4def88]
call dword [sym.imp.user32.dll_GetDlgItem]
push eax
call dword [sym.imp.user32.dll_GetWindowTextW]
lea eax, [esp + 0x70]
push eax
push 0x4b3828
lea eax, [esp + 0x280]
push 0x400
push eax
call fcn.0040a370
add esp, 0x10
lea eax, [esp + 0x278]
push 1
push 0
push eax
jmp 0x4448ea
push 1
push 0
push 0x4b3890
jmp 0x4448ea
push 1
push 0
push 0x4b3724
jmp 0x4448ea
push 0x4bf544
mov dword [esp + 0x18], 0
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov ebx, dword [sym.imp.kernel32.dll_FreeLibrary]
mov esi, eax
mov ebp, dword [sym.imp.kernel32.dll_LoadLibraryW]
test esi, esi
jne 0x4447aa
push 0x4bf544
call ebp
mov esi, eax
test esi, esi
je 0x4447c4
push 0x4c0888
push esi
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x4447c1
lea ecx, [esp + 0x14]
push ecx
call eax
push esi
call ebx
mov edi, dword [esp + 0x14]
push 1
push 0
push 0x4b375c
push 0x4b0574
push 0x4af6a8
push dword [0x4def88]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
test edi, edi
je case.default.0x44467d
push 0x4bf544
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
jne 0x444811
push 0x4bf544
call ebp
mov esi, eax
test esi, esi
je case.default.0x44467d
push 0x4c08a8
push esi
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x444824
push edi
call eax
push esi
call ebx
jmp case.default.0x44467d
push 0x4bf544
mov dword [esp + 0x18], 0
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov ebx, dword [sym.imp.kernel32.dll_FreeLibrary]
mov esi, eax
mov ebp, dword [sym.imp.kernel32.dll_LoadLibraryW]
test esi, esi
jne 0x44485e
push 0x4bf544
call ebp
mov esi, eax
test esi, esi
je 0x444878
push 0x4c0888
push esi
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
je 0x444875
lea ecx, [esp + 0x14]
push ecx
call eax
push esi
call ebx
mov edi, dword [esp + 0x14]
push 1
push 0
push 0x4b3784
push 0x4b0574
push 0x4af6a8
push dword [0x4def88]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
test edi, edi
je case.default.0x44467d
push 0x4bf544
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
jne 0x4448bd
push 0x4bf544
call ebp
mov esi, eax
test esi, esi
je case.default.0x44467d
push 0x4c08a8
push esi
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
jne 0x444821
push esi
call ebx
jmp case.default.0x44467d
push 1
push 0
push 0x4b37b0
jmp 0x4448ea
push 1
push 0
push 0x4b37e8
push 0x4b0574
push 0x4af6a8
push dword [0x4def88]
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [esp + 0xa7c]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048d815
add esp, 0xa74
ret