Function at 0x4015c3
Capabilities:
Check os version
Enumerate gui resources
Get number of processors
Terminate process

Disassembly:
jmp 0x435d80
push 0xffffffffffffffff
push 0x50a03c
mov eax, dword fs:[0]
push eax
sub esp, 0x360
mov eax, dword [0x53bbf0]
xor eax, esp
mov dword [esp + 0x35c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53bbf0]
xor eax, esp
push eax
lea eax, [esp + 0x374]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x38c]
mov edi, dword [esp + 0x384]
mov esi, ecx
xor ebx, ebx
mov dword [0x563918], esi
mov dword [esi + 0x22cc], 4
mov dword [esi + 0x1c], ebx
push str._quick
mov byte [0x563088], bl
push ebp
mov dword [esp + 0x30], edi
mov dword [esi + 0x214c], ebx
mov dword [esp + 0x1c], ebx
call fcn.0048d1a0
add esp, 8
test eax, eax
je 0x435e0e
mov dword [esp + 0x14], 1
push 0x401096
call fcn.0048d500
call fcn.004a74a0
call fcn.0040159b
call fcn.004aa4a0
push 0x2214
call fcn.004c1ea3
add esp, 8
mov dword [esp + 0x2c], eax
cmp eax, ebx
mov dword [esp + 0x37c], ebx
je 0x435e4e
push ebx
push edi
mov ecx, eax
call fcn.004aa520
jmp 0x435e50
xor eax, eax
mov dword [0x56390c], eax
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0x380], 0xffffffff
mov dword [esi + 0x20], ebx
mov dword [esi + 0x10], edi
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esp + 0x60], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [esp + 0x6c], 2
jne 0x435e99
cmp dword [esp + 0x60], 5
mov dword [esi], 1
jb 0x435e99
mov dword [esi + 4], 1
push 0x85e4
lea ecx, [esi + 0x2270]
push ebx
push ecx
call fcn.004c14b0
add esp, 0xc
push 0xffffffffffffffff
mov ecx, esi
call fcn.004010c8
cmp dword [esi + 0x2278], ebx
jne 0x435eda
push ebx
push 0x401f5a
push ebx
push 0x66
push edi
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, ebx
jne 0x435eda
push 1
call fcn.004c277d
cmp dword [esi + 0x2274], ebx
je 0x435eee
push ebx
push 0x40114a
call dword [sym.imp.USER32.dll_EnumWindows]
cmp dword [esi + 0x2288], 0x64
jge 0x435f04
push str.rename_.mac_.mc0
call fcn.004c4802
add esp, 4
cmp dword [esi + 0x246c], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
je 0x435f24
push pe_nt_image_headers32
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 2
jmp 0x435f30
push 0x20
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push ebx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
cmp dword [esi + 0x2348], ebx
je 0x435f49
mov dword [esp + 0x14], 1
push str._uid:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x435f6d
add eax, 5
push eax
call fcn.004c2186
add esp, 4
mov dword [esi + 0x24c4], eax
push str._launch:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x435f9d
push 8
lea edx, [esi + 0x2608]
mov ecx, 1
push edx
push eax
mov dword [esi + 0x1c], ecx
mov dword [esp + 0x20], ecx
call fcn.00402400
add esp, 0xc
push str._dirserve:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x435fd3
push 0xa
lea edi, [esi + 0x2848]
push edi
push eax
call fcn.00402400
push pe_nt_image_headers32
lea eax, [esi + 0x28c8]
push edi
push eax
call fcn.004c0c10
add esp, 0x18
push str._ticket:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x435ff7
push 8
lea ecx, [esi + 0x24c8]
push ecx
push eax
call fcn.00402400
add esp, 0xc
push str._alias:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x43601b
push 7
lea edx, [esi + 0x2588]
push edx
push eax
call fcn.00402400
add esp, 0xc
push str._delete:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x43604d
push 8
lea ecx, [esp + 0x174]
push ecx
push eax
call fcn.00402400
lea edx, [esp + 0x17c]
push edx
call fcn.004c4780
add esp, 0x10
push str._name:
push ebp
call fcn.0048d1a0
add esp, 8
cmp eax, ebx
je 0x436071
push 6
lea ecx, [esi + 0x25a8]
push ecx
push eax
call fcn.00402400
add esp, 0xc
cmp dword [esp + 0x14], ebx
jne 0x43608f
push 0x20009
push ebx
push str.loading.wav
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov ecx, esi
call fcn.004011ea
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x28]
push 0x68
push eax
mov dword [esp + 0x3c], 8
mov dword [esp + 0x40], 0x57c7c9
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edx
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push ebx
mov dword [esp + 0x50], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 4
mov dword [esp + 0x50], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0x67
mov dword [esp + 0x5c], str.HGClass
call dword [sym.imp.USER32.dll_RegisterClassA]
push 0x39
push 1
push 0x5a5008
lea edx, [esp + 0xfc]
push str._s_v_d._02d
push edx
call fcn.004c1313
mov eax, dword [esi + 0x22a4]
mov ecx, dword [esi + 0x229c]
mov edx, dword [esi + 0x22a0]
mov ebp, dword [esi + 0x22a8]
mov edi, eax
add esp, 0x14
sub edi, ecx
sub ebp, edx
cmp eax, 0x80000000
je 0x436170
cmp ecx, ebx
jl 0x436170
cmp edx, ebx
jl 0x436170
push ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp dword [esi + 0x229c], eax
jg 0x436170
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
cmp dword [esi + 0x22a0], eax
jg 0x436170
cmp edi, 0x280
jl 0x436170
cmp ebp, 0x1e0
jge 0x4361bb
mov eax, DirectSoundCreate
push 1
mov dword [esi + 0x229c], eax
mov dword [esi + 0x22a0], eax
push 0xcf0000
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], 0x1fe
mov dword [esp + 0x2c], 0x2c6
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
sub edi, dword [esp + 0x18]
sub ebp, dword [esp + 0x1c]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x22a0]
mov eax, dword [esi + 0x229c]
push ebx
push ecx
push ebx
push ebx
push ebp
push edi
push edx
push eax
push 0xcf0000
lea ecx, [esp + 0x114]
push ecx
push str.HGClass
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [esi + 0xc], eax
mov ecx, dword [0x56390c]
push eax
call fcn.004aa5a0
push str.MSWHEEL_ROLLMSG
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x563920], eax
push ebx
mov dword [esi + 0x2154], ebx
call fcn.004c2809
add esp, 4
mov edi, eax
mov dword [esp + 0x30], edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, edi
push eax
call fcn.004c119e
add esp, 4
mov ecx, esi
call fcn.004019ce
mov ecx, esi
call fcn.00401e51
mov ecx, esi
call fcn.00401a19
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov edx, dword [esi + 0xc]
push 5
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x562f88
lea ecx, [esp + 0x274]
push str._s.lst
push ecx
call fcn.004c1313
push 0x2274
call fcn.004c1ea3
add esp, 0x10
mov dword [esp + 0x2c], eax
cmp eax, ebx
mov dword [esp + 0x37c], 1
je 0x4362c6
push 0x12f2
lea edx, [esi + 0x28c8]
push edx
push 0x12f2
lea ecx, [esi + 0x2848]
push ecx
lea edx, [esp + 0x280]
push edx
push 0x562f88
mov ecx, eax
call fcn.004022bb
jmp 0x4362c8
xor eax, eax
cmp dword [esi + 0x1c], ebx
mov dword [esp + 0x37c], 0xffffffff
mov dword [esi + 0x2150], eax
jne 0x4362e5
mov ecx, esi
call fcn.0040166d
cmp byte [esi + 0x24c8], bl
jne 0x436303
mov eax, dword [esi + 0xc]
push 0x30
push str.Launch_Warning
push str.You_need_to_start_the_game_by_using_the_Station_LaunchPad_in_order_to_be_able_to_play.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp dword [esi + 0x1c], ebx
je 0x436311
mov ecx, esi
call fcn.00402388
jmp 0x43632b
mov ecx, dword [esi + 0x2150]
cmp dword [ecx + 0x1f40], ebx
jne 0x436326
call fcn.00401645
jmp 0x43632b
call fcn.00401794
mov eax, esi
mov ecx, dword [esp + 0x374]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x35c]
xor ecx, esp
call fcn.004c118f
add esp, 0x36c
ret 0x10