Function at 0x444471
Capabilities:
Create process on windows
Get graphical window text
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9f8
movzx eax, word [ebp + 0xc]
cmp eax, 0x4e21
jb 0x444c74
cmp eax, 0x4ea0
ja 0x444c74
push eax
push dword [0x4538b0]
call sub.user32.dll_SetFocus
pop eax
sub eax, 0x4e21
mov ecx, 0x115
mul ecx
add eax, 0x4539fc
push eax
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.004010a7
pop edx
inc dword [edx + 0x10d]
mov al, byte [edx + 0x104]
cmp al, 0x50
jne 0x4444ee
lea eax, [ebp - 0x108]
push eax
push 0x45cf22
call fcn.004010a7
push 1
call fcn.00427f9a
jmp 0x444c78
cmp al, 0x4b
jne 0x44451b
cmp dword [0x4538c8], 0
je 0x444c78
push dword [0x4538c8]
call sub.user32.dll_SetFocus
lea eax, [ebp - 0x108]
push eax
call fcn.0043beaa
jmp 0x444c78
cmp al, 0x4d
jne 0x44488e
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
cmp dword [0x45c484], 0
je 0x444548
push 0x9c49
call fcn.00449209
call fcn.00414330
push 1
call fcn.0042ec60
call fcn.004305a1
movzx eax, word [ebp + 0xc]
cmp eax, 0x4e25
je 0x44456f
cmp eax, 0x4e24
jne 0x44464a
cmp dword [0x44f32d], 0
je 0x44464a
cmp dword [0x44f341], 0
je 0x44464a
mov word [0x45ca0e], 0x31
cmp dword [0x44f32d], 0
je 0x4445e7
push 0x45cb12
push 0xc0
push 0x45ca0e
push 0x44ef8c
push 0x45ca0e
push str.MakeDef
call sub.kernel32.dll_GetPrivateProfileStringA
or eax, eax
jne 0x44460a
push 0x45cd1a
push 0xc0
push 0x45ca0e
push 0x44ef8c
push 0x45ca0e
push 0x45c93e
call sub.kernel32.dll_GetPrivateProfileStringA
jmp 0x44460a
push 0x45cd1a
push 0xc0
push 0x45ca0e
push 0x44ef8c
push 0x45ca0e
push str.MakeDefNoProject
call sub.kernel32.dll_GetPrivateProfileStringA
or eax, eax
je 0x44464a
cmp dword [0x44f339], 0
jne 0x44462a
call fcn.00428f52
or eax, eax
jne 0x44462a
mov dword [0x44f339], 1
cmp dword [0x44f339], 0
je 0x44464a
push 0x4e21
push dword [ebp + 8]
call fcn.00444471
or eax, eax
je 0x44464a
xor eax, eax
leave
ret 8
push 0x10
lea eax, [ebp - 0x108]
push eax
push 0
push 0x464
push dword [ebp + 8]
call fcn.00408423
mov word [ebp - 0x208], 0x33
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040ccb3
cmp eax, 0xffffffff
je 0x4446a9
mov dword [ebp - 0x608], 0x39393939
lea eax, [ebp - 0x608]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0042fa75
or eax, eax
je 0x4446a9
jmp 0x4447ec
cmp dword [0x44f32d], 0
je 0x4446be
push 0x45de5e
call fcn.00415f44
jmp 0x4446f8
cmp dword [0x4538c4], 0
je 0x4446f8
push 0x100
lea eax, [ebp - 0x208]
push eax
push dword [0x4538c4]
call sub.user32.dll_GetWindowTextA
push 0x5c
lea eax, [ebp - 0x208]
push eax
call fcn.0040cd1c
lea eax, [ebp - 0x208]
push eax
call fcn.00415f44
mov dword [ebp - 0x208], 0
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040cd48
movzx eax, word [ebp - 0x208]
or eax, eax
je 0x444804
cmp eax, 0x36
jne 0x4447d1
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0x3e9
push dword [ebp - 4]
call fcn.004275b1
or eax, eax
je 0x4447bf
push eax
lea eax, [ebp - 0x608]
push eax
call fcn.004010a7
mov dword [ebp - 8], 0
lea eax, [ebp - 0x608]
push eax
call fcn.00428ce6
cmp eax, 3
jne 0x4447c2
push 0x2e
lea eax, [ebp - 0x608]
push eax
call fcn.0040cd1c
push 1
push 0
lea eax, [ebp - 0x608]
push eax
push 0x481
push dword [ebp + 8]
call fcn.00408423
or eax, eax
jne 0x4447b7
push dword [ebp - 0x208]
lea eax, [ebp - 0x608]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0042fa75
pop dword [ebp - 0x208]
jmp 0x4447b9
xor eax, eax
or eax, eax
jne 0x4447ec
jmp 0x4447c2
inc dword [ebp - 8]
inc dword [ebp - 4]
cmp dword [ebp - 8], 0xa
jne 0x44473b
jmp 0x4447e4
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0042fa75
or eax, eax
je 0x4446a9
cmp eax, 0x4d2
je 0x4447fd
push 0x44e773
call fcn.00430605
mov eax, 1
jmp 0x44484c
mov dword [0x44f349], 0
push 0x44e763
call fcn.00430605
movzx eax, word [ebp + 0xc]
cmp eax, 0x4e21
jne 0x44482d
mov dword [0x44f339], 0
cmp dword [0x4aad2e], 0
jne 0x44484a
mov eax, dword [0x4538c8]
or eax, eax
jne 0x444844
mov eax, dword [0x4538b0]
push eax
call sub.user32.dll_SetFocus
xor eax, eax
push eax
push 0x20
push eax
push 0
push 0x465
push dword [ebp + 8]
call fcn.00408423
cmp dword [0x44f349], 0
je 0x444872
push 0x463932
call fcn.0042ed6e
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
push eax
call sub.user32.dll_SetCursor
pop eax
leave
ret 8
cmp al, 0x48
jne 0x4448f6
push 0x44f034
lea eax, [ebp - 0x108]
push eax
call fcn.0040ccb3
inc eax
jne 0x4448fe
push str..hlp
lea eax, [ebp - 0x108]
push eax
call fcn.0040ccb3
cmp eax, 0xffffffff
jne 0x4448d8
push 0xa
push 0
push 0
lea eax, [ebp - 0x108]
push eax
push 0
push dword [ebp + 8]
call sub.shell32.dll_ShellExecuteA
jmp 0x444c78
push 0x44ef8c
push 0x101
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 8]
call sub.user32.dll_WinHelpA
jmp 0x444c78
cmp al, 0x54
jne 0x444c78
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040cd48
mov al, byte [ebp - 0x208]
or al, al
je 0x444933
push 0x100
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x208]
push eax
call sub.kernel32.dll_GetShortPathNameA
mov al, byte [ebp - 0x108]
or al, al
je 0x444c5b
mov byte [ebp - 0x308], 0
mov byte [ebp - 0x408], 0
cmp dword [0x44f32d], 0
je 0x444997
push 0x45de5e
lea eax, [ebp - 0x408]
push eax
call fcn.004010a7
lea eax, [ebp - 0x408]
push eax
call fcn.004010ef
lea edx, [eax + ebp - 0x409]
mov byte [edx], 0
push 0x100
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x408]
push eax
call sub.kernel32.dll_GetShortPathNameA
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0040cd48
mov ax, word [ebp - 0x508]
cmp dword [0x44f32d], 0
jne 0x444a6a
cmp al, 0x30
jb 0x444a6a
cmp al, 0x39
ja 0x444a6a
push 0x4c
push 0x453998
call sub.kernel32.dll_RtlZeroMemory
mov dword [0x453998], 0x4c
push dword [0x4538b0]
pop dword [0x45399c]
push dword [0x453904]
pop dword [0x4539a0]
mov dword [0x4539a4], 0x44e94d
lea eax, [ebp - 0x508]
mov dword [0x4539b4], eax
mov byte [ebp - 0x508], 0
mov dword [0x4539b8], 0x100
mov dword [0x4539d4], 0
mov dword [0x4539cc], 0x1800
push 0x453998
call sub.comdlg32.dll_GetOpenFileNameA
or eax, eax
je 0x444bda
push 0x100
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x508]
push eax
call sub.kernel32.dll_GetShortPathNameA
mov eax, 1
jmp 0x444bda
cmp dword [0x44f32d], 0
je 0x444b0f
cmp al, 0x30
jb 0x444b0f
cmp al, 0x39
ja 0x444b0f
mov word [ebp - 0x508], ax
mov byte [ebp - 0x506], 0
push 0x45cb12
push 0x80
lea eax, [ebp - 0x508]
push eax
push 0x44ef8c
lea eax, [ebp - 0x508]
push eax
push str.MakeFiles
call sub.kernel32.dll_GetPrivateProfileStringA
push 0x45de5e
push 0x45cf22
call fcn.004010a7
lea eax, [ebp - 0x508]
push eax
push 0x45cf22
call fcn.004010c5
push 0x45cf22
lea eax, [ebp - 0x508]
push eax
call fcn.004010a7
push 0x100
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x508]
push eax
call sub.kernel32.dll_GetShortPathNameA
mov eax, 1
jmp 0x444bda
cmp ax, 0x2424
jne 0x444b5e
cmp dword [0x4538c8], 0
je 0x444b57
push 0x100
lea eax, [ebp - 0x508]
push eax
push dword [0x4538c4]
call sub.user32.dll_GetWindowTextA
push 0x100
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x508]
push eax
call sub.kernel32.dll_GetShortPathNameA
mov eax, 1
jmp 0x444bda
mov eax, 0
jmp 0x444bda
cmp al, 0x24
jne 0x444bda
cmp dword [0x4538c8], 0
je 0x444bd5
lea eax, [ebp - 0x507]
push eax
lea eax, [ebp - 0x608]
push eax
call fcn.004010a7
push 0x100
lea eax, [ebp - 0x508]
push eax
push dword [0x4538c4]
call sub.user32.dll_GetWindowTextA
push 0x100
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x508]
push eax
call sub.kernel32.dll_GetShortPathNameA
push 0x2e
lea eax, [ebp - 0x508]
push eax
call fcn.0040cd1c
lea eax, [ebp - 0x608]
push eax
lea eax, [ebp - 0x508]
push eax
call fcn.004010c5
mov eax, 1
jmp 0x444bda
mov eax, 0
or eax, eax
je 0x444c72
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.004010c5
mov al, byte [ebp - 0x108]
or al, al
je 0x444c15
push str.__.___t
lea eax, [ebp - 0x308]
push eax
call fcn.004010c5
jmp 0x444997
mov al, byte [ebp - 0x208]
or al, al
je 0x444c42
push 0xa
lea eax, [ebp - 0x408]
push eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x208]
push eax
push 0
push dword [ebp + 8]
call sub.shell32.dll_ShellExecuteA
jmp 0x444c59
push 0xa
push 0
push 0
lea eax, [ebp - 0x308]
push eax
push 0
push dword [ebp + 8]
call sub.shell32.dll_ShellExecuteA
jmp 0x444c72
push 0xa
push 0
push 0
lea eax, [ebp - 0x208]
push eax
push 0
push dword [ebp + 8]
call sub.shell32.dll_ShellExecuteA
jmp 0x444c78
leave
ret 8
xor eax, eax
leave
ret 8