Function at 0x10060d90
Capabilities:
Get number of processors
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006adc9
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x1007b040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
nop
push str.mss32.dll
call esi
test eax, eax
je 0x10060de1
push str.materialsystem.dll
call esi
test eax, eax
je 0x10060de1
push str.shaderapidx9.dll
call esi
test eax, eax
jne 0x10060df9
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0xaf
mov dword [ebp - 0x14], 0
call fcn.10061cb0
jmp 0x10060dc0
push str.steamclient.dll
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10060e26
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060e26
push 0
push str.SteamClient017
call eax
add esp, 8
mov ecx, eax
jmp 0x10060e28
xor ecx, ecx
mov eax, dword [0x1014964c]
mov dword [eax + 0x5c], ecx
mov eax, dword [0x1014964c]
mov ecx, dword [eax + 0x5c]
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [0x1014964c]
mov edi, eax
push edi
mov ecx, dword [ecx + 0x5c]
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [0x1014964c]
push str.SteamUser017
push edi
push eax
mov ecx, dword [ecx + 0x5c]
mov edx, dword [ecx]
call dword [edx + 0x14]
mov ecx, dword [0x1014964c]
mov dword [ecx + 0x60], eax
mov ecx, dword [0x101496dc]
call fcn.1002aa80
push str.client.dll
call esi
test eax, eax
je 0x10060e9d
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060e9d
push 0
push str.VClient017
call eax
add esp, 8
mov ecx, eax
jmp 0x10060e9f
xor ecx, ecx
mov eax, dword [0x1014964c]
mov dword [eax], ecx
call fcn.10061df0
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 4], ecx
call fcn.10062070
push str.vstdlib.dll
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 8], ecx
call esi
test eax, eax
je 0x10060eed
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060eed
push 0
push str.VEngineCvar004
call eax
add esp, 8
mov ecx, eax
jmp 0x10060eef
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.engine.dll
mov dword [eax + 0xc], ecx
call esi
test eax, eax
je 0x10060f1e
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060f1e
push 0
push str.VDebugOverlay003
call eax
add esp, 8
mov ecx, eax
jmp 0x10060f20
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.engine.dll
mov dword [eax + 0x10], ecx
call esi
test eax, eax
je 0x10060f4f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060f4f
push 0
push str.VEngineClient013
call eax
add esp, 8
mov ecx, eax
jmp 0x10060f51
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.engine.dll
mov dword [eax + 0x14], ecx
call esi
test eax, eax
je 0x10060f80
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060f80
push 0
push str.EngineTraceClient003
call eax
add esp, 8
mov ecx, eax
jmp 0x10060f82
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.engine.dll
mov dword [eax + 0x18], ecx
call esi
test eax, eax
je 0x10060fb1
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060fb1
push 0
push str.VEngineVGui002
call eax
add esp, 8
mov ecx, eax
jmp 0x10060fb3
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.client.dll
mov dword [eax + 0x1c], ecx
call esi
test eax, eax
je 0x10060fe2
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10060fe2
push 0
push str.VClientEntityList003
call eax
add esp, 8
mov ecx, eax
jmp 0x10060fe4
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.engine.dll
mov dword [eax + 0x20], ecx
call esi
test eax, eax
je 0x10061013
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10061013
push 0
push str.GAMEEVENTSMANAGER002
call eax
add esp, 8
mov ecx, eax
jmp 0x10061015
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.client.dll
mov dword [eax + 0x24], ecx
call esi
test eax, eax
je 0x10061044
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10061044
push 0
push str.GameMovement001
call eax
add esp, 8
mov ecx, eax
jmp 0x10061046
xor ecx, ecx
mov eax, dword [0x1014964c]
mov dword [eax + 0x28], ecx
call fcn.100622f0
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 0x2c], ecx
call fcn.10062570
push str.engine.dll
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 0x30], ecx
call esi
test eax, eax
je 0x10061095
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10061095
push 0
push str.VModelInfoClient006
call eax
add esp, 8
mov ecx, eax
jmp 0x10061097
xor ecx, ecx
mov eax, dword [0x1014964c]
mov dword [eax + 0x34], ecx
call fcn.100627f0
push str.vphysics.dll
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 0x40], ecx
call esi
test eax, eax
je 0x100610d7
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x100610d7
push 0
push str.VPhysics031
call eax
add esp, 8
mov ecx, eax
jmp 0x100610d9
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.vphysics.dll
mov dword [eax + 0x44], ecx
call esi
test eax, eax
je 0x10061108
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10061108
push 0
push str.VPhysicsCollision007
call eax
add esp, 8
mov ecx, eax
jmp 0x1006110a
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.vphysics.dll
mov dword [eax + 0x48], ecx
call esi
test eax, eax
je 0x10061139
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x10061139
push 0
push str.VPhysicsSurfaceProps001
call eax
add esp, 8
mov ecx, eax
jmp 0x1006113b
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.client.dll
mov dword [eax + 0x4c], ecx
call esi
test eax, eax
je 0x1006116a
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1006116a
push 0
push str.VClientPrediction001
call eax
add esp, 8
mov ecx, eax
jmp 0x1006116c
xor ecx, ecx
mov eax, dword [0x1014964c]
mov dword [eax + 0x50], ecx
call fcn.10062a70
push str.engine.dll
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 0x54], ecx
call esi
test eax, eax
je 0x100611aa
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x100611aa
push 0
push str.VEngineRenderView014
call eax
add esp, 8
mov ecx, eax
jmp 0x100611ac
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.studiorender.dll
mov dword [eax + 0x58], ecx
call esi
test eax, eax
je 0x100611db
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x100611db
push 0
push str.VStudioRender025
call eax
add esp, 8
mov ecx, eax
jmp 0x100611dd
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.vguimatsurface.dll
mov dword [eax + 0x64], ecx
call esi
test eax, eax
je 0x1006120c
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1006120c
push 0
push str.VGUI_Surface030
call eax
add esp, 8
mov ecx, eax
jmp 0x1006120e
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.vgui2.dll
mov dword [eax + 0x68], ecx
call esi
test eax, eax
je 0x1006123d
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1006123d
push 0
push str.VGUI_Panel009
call eax
add esp, 8
mov ecx, eax
jmp 0x1006123f
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.engine.dll
mov dword [eax + 0x6c], ecx
call esi
test eax, eax
je 0x1006126e
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1006126e
push 0
push str.VEngineModel016
call eax
add esp, 8
mov ecx, eax
jmp 0x10061270
xor ecx, ecx
mov eax, dword [0x1014964c]
push str.materialsystem.dll
mov dword [eax + 0x38], ecx
call esi
test eax, eax
je 0x1006129f
push str.CreateInterface
push eax
call ebx
test eax, eax
je 0x1006129f
push 0
push str.VMaterialSystem081
call eax
add esp, 8
mov ecx, eax
jmp 0x100612a1
xor ecx, ecx
mov eax, dword [0x1014964c]
mov dword [eax + 0x3c], ecx
call fcn.10062cf0
mov edx, str.55_8B_EC_81_EC_________53_57_8B_F9_8B_9F_________89_5D_E0_85_DB_0F_84
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [0x1014964c]
mov dword [eax + 0x70], ecx
mov ecx, str.client.dll
call fcn.1004cc00
mov ecx, dword [0x1014964c]
mov edx, str.55_8B_EC_83_EC_0C_56_57_8B_F1_E8_________8B_F8_85_FF_74_10_8B_17_8B_CF_8B_92_________FF_D2
mov dword [ecx + 0x20c], eax
mov ecx, str.client.dll
call fcn.1004cc00
mov ecx, dword [0x1014964c]
mov dword [ecx + 0x208], eax
call fcn.10044220
call fcn.10037570
call fcn.10039830
call fcn.1004e6e0
cmp dword [0x101482d4], 0
jne 0x1006131e
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [0x101482d4], eax
xor eax, eax
mov ebx, 0x101482d0
xchg dword [ebx], eax
call fcn.100490c0
push 0x10149878
mov edx, 0x100445c0
mov ecx, eax
call fcn.1004e730
call fcn.10049340
push 0x101498a0
mov edx, 0x10044600
mov ecx, eax
call fcn.1004e730
call fcn.100495c0
push 0x1014988c
mov edx, 0x10044640
mov ecx, eax
call fcn.1004e730
call fcn.10049840
push 0x1014983c
mov edx, 0x10044760
mov ecx, eax
call fcn.1004e730
call fcn.10049ac0
push 0x101495d4
mov edx, 0x10044770
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10044b00
push 0x101497fc
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov ecx, dword [eax + 0x4c]
call fcn.1004e730
call fcn.10049d40
push 0x1014984c
mov edx, 0x10044e50
mov ecx, eax
call fcn.1004e730
call fcn.10049fe0
push 0x1014987c
mov edx, fcn.10044e70
mov ecx, eax
call fcn.1004e730
call fcn.1004a260
push 0x10149860
mov edx, 0x10006860
mov ecx, eax
call fcn.1004e730
call fcn.1004a620
push 0x101495d0
mov edx, 0x10044e80
mov ecx, eax
call fcn.1004e730
call fcn.1004a8a0
push 0x10148248
mov edx, 0x10045100
mov ecx, eax
call fcn.1004e730
mov edx, str.55_8B_EC_81_EC_________A1_________8D
mov ecx, str.engine.dll
call fcn.1004ab20
push 0x101495c8
mov edx, 0x10045150
mov ecx, eax
call fcn.1004e730
mov edx, str.55_8B_EC_83_EC___53_56_8B_F1_8B_0D_________57_E8
mov ecx, str.client.dll
call fcn.1004ab20
push 0x10149858
mov edx, 0x10045400
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10045620
push 0x10149884
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x54]
call fcn.1004e730
call fcn.1004af10
push 0x10149888
mov edx, 0x10045a30
mov ecx, eax
call fcn.1004e730
call fcn.1004b190
push 0x10149894
mov edx, 0x10045a40
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10045bb0
push 0x1014981c
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x90]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10045d70
push 0x10149804
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x9c]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10045f40
push 0x10149854
mov eax, dword [eax + 0x38]
mov eax, dword [eax]
mov ecx, dword [eax + 0x4c]
call fcn.1004e730
call fcn.1004b410
push 0x10149808
mov edx, 0x10046420
mov ecx, eax
call fcn.1004e730
call fcn.1004b690
push 0x10149874
mov edx, 0x10046460
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x100464e0
push 0x1014989c
mov eax, dword [eax + 0x38]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10046530
push 0x10149838
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x8c]
call fcn.1004e730
call fcn.1004b910
push 0x10149864
mov edx, 0x10046e50
mov ecx, eax
call fcn.1004e730
call fcn.1004bb90
push 0x1014982c
mov edx, 0x10047170
mov ecx, eax
call fcn.1004e730
call fcn.1004be10
push 0x10149818
mov edx, 0x100474f0
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x100476e0
push 0x10149810
mov eax, dword [eax + 0x30]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
call fcn.1004e730
call fcn.1004c200
push 0x10149844
mov edx, 0x10047740
mov ecx, eax
call fcn.1004e730
call fcn.1004c480
push 0x101495cc
mov edx, 0x100478d0
mov ecx, eax
call fcn.1004e730
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10148038]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x101497b4]
cmp eax, dword [esi + 4]
jle 0x1006164a
push 0x101497b4
call fcn.10063e80
add esp, 4
cmp dword [0x101497b4], 0xffffffff
jne 0x1006164a
mov dword [ebp - 4], 0
call fcn.1004c700
push 0x101497b4
mov dword [0x101497ac], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10063e2f
add esp, 4
mov ecx, dword [0x101497ac]
mov edx, 0x10047930
push 0x10149824
call fcn.1004e730
mov eax, dword [0x101497b8]
cmp eax, dword [esi + 4]
jle 0x100616a7
push 0x101497b8
call fcn.10063e80
add esp, 4
cmp dword [0x101497b8], 0xffffffff
jne 0x100616a7
mov dword [ebp - 4], 1
call fcn.1004c980
push 0x101497b8
mov dword [0x10149908], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10063e2f
add esp, 4
mov ecx, dword [0x10149908]
mov edx, 0x10047950
push 0x10149820
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10047a70
push 0x1014980c
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10047a90
push 0x10149800
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10047b40
push 0x101481f8
mov eax, dword [eax + 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 0xf8]
call fcn.1004e730
mov eax, dword [0x10149900]
cmp eax, dword [esi + 4]
jle 0x10061764
push 0x10149900
call fcn.10063e80
add esp, 4
cmp dword [0x10149900], 0xffffffff
jne 0x10061764
mov edx, str.E8_________83_7E_1C_00
mov dword [ebp - 4], 2
mov ecx, str.materialsystem.dll
call fcn.1004cc00
inc eax
mov dword [ebp - 4], 0xffffffff
push 0x10149900
mov dword [0x101497b0], eax
call fcn.10063e2f
add esp, 4
mov ecx, dword [0x101497b0]
mov edx, 0x10047b80
push 0x10149898
mov eax, dword [ecx]
add ecx, 4
add ecx, eax
call fcn.1004e730
call fcn.1004cd70
push 0x1014985c
mov edx, 0x10006860
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10047ba0
push 0x10149828
mov eax, dword [eax + 0x68]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x1bc]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10047be0
push 0x10149840
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x40]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10047dc0
push 0x10149830
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x38]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10048060
push 0x10149848
mov eax, dword [eax + 0x6c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xa4]
call fcn.1004e730
mov edx, str.55_8B_EC_A1_________83_EC___8B_40___56_8B_F1_39_86
mov ecx, str.client.dll
call fcn.1004ab20
push 0x101495c4
mov edx, 0x100480f0
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10048100
push 0x10149834
mov eax, dword [eax + 0x70]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x18]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10048670
push 0x10149850
mov eax, dword [eax + 0x50]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x44]
call fcn.1004e730
call fcn.1004cff0
push 0x101498ac
mov edx, 0x100486e0
mov ecx, eax
call fcn.1004e730
mov edx, str.55_8B_EC_B8_________E8_________A1_________53_56_8B_D9
mov ecx, str.engine.dll
call fcn.1000d130
push 0x101498a4
mov edx, 0x10048960
mov ecx, eax
call fcn.1004e730
call fcn.1004d270
push 0x10149870
mov edx, 0x10048a70
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
push 0x101498a8
mov eax, dword [eax + 0x64]
mov ecx, dword [eax]
mov edx, 0x10048a80
mov ecx, dword [ecx + 0x70]
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, 0x10048ad0
push 0x10149890
mov eax, dword [eax + 0x64]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6c]
call fcn.1004e730
call fcn.1004d4f0
push 0x1014986c
mov edx, 0x10048ae0
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x1014964c]
mov edx, fcn.10044e70
push 0x10149880
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x60]
call fcn.1004e730
mov edx, str.55_8B_EC_83_EC_0C_56_57_8B_F1_E8_________8B_F8_85_FF_74_10_8B_17_8B_CF_8B_92_________FF_D2
mov ecx, str.client.dll
call fcn.1004ab20
push 0x10149868
mov edx, 0x10048b60
mov ecx, eax
call fcn.1004e730
call fcn.1004d770
push 0x10149814
mov edx, 0x10006860
mov ecx, eax
call fcn.1004e730
mov eax, dword [0x10148200]
test eax, eax
jne 0x10061980
mov esi, dword [sym.imp.USER32.dll_FindWindowW]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push str.Valve001
call esi
push 0x64
mov dword [0x10148200], eax
call edi
mov eax, dword [0x10148200]
test eax, eax
je 0x10061965
push 0x10048b80
push 0xfffffffffffffffc
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x101481fc], eax
call fcn.1004e6e0
cmp dword [0x101482d4], 0
je 0x100619ab
mov ecx, 1
call fcn.1004e5e0
xor eax, eax
xchg dword [ebx], eax
mov eax, dword [0x1014964c]
mov esi, dword [0x101496ac]
push 0
push str.player_hurt
mov ecx, dword [eax + 0x24]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [0x1014964c]
push 0
push str.player_connect
push esi
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [0x1014964c]
push 0
push str.player_disconnect
push esi
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [0x1014964c]
push 0
push str.player_changeclass
push esi
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [0x1014964c]
push 0
push str.player_changename
push esi
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [0x1014964c]
push 0
push str.vote_cast
push esi
mov ecx, dword [eax + 0x24]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [0x1014964c]
push str.r_drawtracers_firstperson
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x34]
push 1
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
call dword [eax]
call fcn.10060660
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret