Function at 0x4021f2
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
push ebx
push esi
push edi
push 0x44
pop edi
push edi
xor esi, esi
lea eax, [ebp - 0x44]
push esi
push eax
call sub.MSVCR71.dll_memset
lea eax, [ebp - 0x144]
push 0x408060
push eax
mov dword [ebp - 0x44], edi
call sub.MSVCR71.dll_strcpy
lea eax, [ebp - 0x144]
push str.ATMHARMONYBRAST.EXE
push eax
call sub.MSVCR71.dll_strcat
push 0x10
push esi
mov edi, 0x4070e0
push edi
call sub.MSVCR71.dll_memset
mov ebx, dword [sym.imp.KERNEL32.dll_CreateProcessA]
add esp, 0x28
push edi
lea eax, [ebp - 0x44]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x144]
push eax
push esi
call ebx
test eax, eax
je 0x40247e
push 0x1388
push dword [0x4070e0]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push str.NOT_DEFINED
mov edi, 0x4070a0
push edi
call sub.MSVCR71.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x40231d
push 0x100
lea eax, [ebp - 0x144]
push esi
push eax
call sub.MSVCR71.dll_memset
push str.ATMHARPEMUHOST.EXE
push edi
call sub.MSVCR71.dll_strcmp
add esp, 0x14
test eax, eax
lea eax, [ebp - 0x144]
jne 0x4022d9
push 0x408060
push eax
call sub.MSVCR71.dll_strcpy
lea eax, [ebp - 0x144]
push edi
push eax
call sub.MSVCR71.dll_strcat
add esp, 0x10
jmp 0x4022e2
push edi
push eax
call sub.MSVCR71.dll_strcpy
pop ecx
pop ecx
push 0x10
push esi
mov edi, 0x407514
push edi
call sub.MSVCR71.dll_memset
add esp, 0xc
push edi
lea eax, [ebp - 0x44]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x144]
push eax
push esi
call ebx
test eax, eax
je 0x40237e
push 0x1388
push dword [0x407514]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push str.NOT_DEFINED
mov edi, 0x407b50
push edi
call sub.MSVCR71.dll_strcmp
test eax, eax
pop ecx
pop ecx
je 0x4023d1
push 0x100
lea eax, [ebp - 0x144]
push esi
push eax
call sub.MSVCR71.dll_memset
push str.ATMHARPFEP.EXE
push edi
call sub.MSVCR71.dll_strcmp
add esp, 0x14
test eax, eax
lea eax, [ebp - 0x144]
jne 0x40238d
push 0x408060
push eax
call sub.MSVCR71.dll_strcpy
lea eax, [ebp - 0x144]
push edi
push eax
call sub.MSVCR71.dll_strcat
add esp, 0x10
jmp 0x402396
mov dword [0x407040], 0x40583c
jmp 0x402488
push edi
push eax
call sub.MSVCR71.dll_strcpy
pop ecx
pop ecx
push 0x10
push esi
mov edi, 0x4070f0
push edi
call sub.MSVCR71.dll_memset
add esp, 0xc
push edi
lea eax, [ebp - 0x44]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x144]
push eax
push esi
call ebx
test eax, eax
je 0x40242a
push 0x1388
push dword [0x4070f0]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push 0x100
lea eax, [ebp - 0x144]
push esi
push eax
call sub.MSVCR71.dll_memset
push 0x10
push esi
push 0x4072e8
call sub.MSVCR71.dll_memset
push str.ATMHARPSETUP.EXE
mov edi, 0x407290
push edi
call sub.MSVCR71.dll_strcmp
add esp, 0x20
test eax, eax
lea eax, [ebp - 0x144]
jne 0x402436
push 0x408060
push eax
call sub.MSVCR71.dll_strcpy
lea eax, [ebp - 0x144]
push edi
push eax
call sub.MSVCR71.dll_strcat
add esp, 0x10
jmp 0x40243f
mov dword [0x407040], 0x405828
jmp 0x402488
push edi
push eax
call sub.MSVCR71.dll_strcpy
pop ecx
pop ecx
push 0x4072e8
lea eax, [ebp - 0x44]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x144]
push eax
push esi
call ebx
test eax, eax
je 0x402472
push 0x1388
push dword [0x4072e8]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
xor eax, eax
inc eax
jmp 0x402494
mov dword [0x407040], 0x405814
jmp 0x402488
mov dword [0x407040], 0x405800
mov dword [0x4072e4], 1
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret