Function at 0x4022c0
Capabilities:
Create process on windows

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x104
push esi
mov esi, ecx
and esi, 0xffff
lea eax, [esi - 0x9c41]
cmp eax, 0x15
ja case.0x4022e2.40005
jmp dword [eax*4 + 0x4025c0]
mov eax, dword [esp + 0x10c]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
xor eax, eax
pop esi
add esp, 0x104
ret
lea ecx, [esp + 4]
push 0x104
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 4]
push 0x5c
push edx
call fcn.00402d1a
mov ecx, dword [esp + 0x114]
add esp, 8
mov byte [eax + 1], 0
lea eax, [esp + 4]
push 1
push eax
push 0
push str.TruePlayer.exe
push str.open
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
xor eax, eax
pop esi
add esp, 0x104
ret
mov edx, dword [0x408030]
xor eax, eax
test edx, edx
mov edx, dword [0x40ac80]
sete al
push eax
push 0x9c42
push edx
mov dword [0x408030], eax
call sub.CoolMenu.dll_CoolMenu_CheckMenuItem
mov eax, dword [0x408030]
push eax
push 3
jmp 0x4023d9
mov esi, dword [0x408034]
mov ecx, dword [0x40ac80]
xor eax, eax
test esi, esi
sete al
push eax
push 0x9c43
push ecx
mov dword [0x408034], eax
call sub.CoolMenu.dll_CoolMenu_CheckMenuItem
xor eax, eax
pop esi
add esp, 0x104
ret
mov edx, dword [0x408038]
xor eax, eax
test edx, edx
mov edx, dword [0x40ac80]
sete al
push eax
push 0x9c44
push edx
mov dword [0x408038], eax
call sub.CoolMenu.dll_CoolMenu_CheckMenuItem
mov eax, dword [0x408038]
push eax
push 1
call fcn.00402620
add esp, 8
push 0
push 0
push 0
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
xor eax, eax
pop esi
add esp, 0x104
ret
push 0
push str.NetPlayerAgent
call fcn.004021e0
add esp, 8
xor eax, eax
pop esi
add esp, 0x104
ret
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x9c4e
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
xor eax, eax
pop esi
add esp, 0x104
ret
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x9c50
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x9c53
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x9ca0
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3e9
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3ea
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3eb
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3ee
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3ef
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3ff
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x3fd
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x9c7e
jmp 0x402425
mov eax, dword [0x40ac38]
test eax, eax
je 0x402431
push 0
push 0x9c4d
jmp 0x402425
cmp cx, 0x27b0
jb 0x402564
cmp cx, 0x27c8
ja 0x402564
push ecx
call fcn.00402100
add esp, 4
mov eax, 1
pop esi
add esp, 0x104
ret
cmp cx, 0x2792
jb 0x402431
cmp cx, 0x27aa
ja 0x402431
mov eax, dword [esi*4 + 0x3fe680]
cmp eax, 3
je 0x402599
cmp eax, 2
je 0x402599
cmp eax, 1
je 0x402599
push ecx
call fcn.00402170
add esp, 4
mov eax, dword [0x40ac38]
test eax, eax
je 0x4025b1
push 0
push esi
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
pop esi
add esp, 0x104
ret