Function at 0x1009eba0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10173f73
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b01e4]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x1c], esi
mov dword [esi], 0x10186860
mov dword [esi + 4], 0x10186908
mov dword [esi + 0x1c], 0x10186858
mov dword [esi + 0x20], 0x10186850
mov dword [esi + 0x24], 0x10186830
mov dword [esi + 0x28], 0x10186824
xor edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
push 1
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x40], 0x64
call fcn.1009a150
mov ecx, dword [esi + 8]
cmp ecx, edi
je 0x1009ec28
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [esi + 0x26f4]
cmp ecx, edi
je 0x1009ec3a
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [esi + 0x26a4]
cmp eax, edi
je 0x1009ec50
mov edx, dword [eax + 4]
lea ecx, [eax + 4]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [esi + 0x26f8]
cmp ecx, edi
je 0x1009ec62
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x1009ec73
push eax
call fcn.10149646
add esp, 4
lea ecx, [esi + 0x3150]
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov byte [esp + 0x38], 0x62
call fcn.10053780
mov edi, dword [sym.imp.KERNEL32.DLL_DeleteCriticalSection]
lea ecx, [esi + 0x30a4]
mov ebx, 0x1018458c
push ecx
mov dword [esi + 0x30a0], ebx
call edi
lea edx, [esi + 0x3088]
mov ebp, 0x10186684
mov dword [esi + 0x30a0], ebp
push edx
mov dword [esi + 0x3084], ebx
call edi
mov dword [esi + 0x3084], ebp
lea eax, [esi + 0x3068]
mov dword [esi + 0x3060], 0x10186784
push eax
mov dword [esi + 0x3064], ebx
call edi
mov dword [esi + 0x3064], ebp
lea ecx, [esi + 0x3044]
mov dword [esi + 0x303c], 0x10186784
push ecx
mov dword [esi + 0x3040], ebx
call edi
mov dword [esi + 0x3040], ebp
lea edx, [esi + 0x3020]
mov dword [esi + 0x3018], 0x10186784
push edx
mov dword [esi + 0x301c], ebx
call edi
mov dword [esi + 0x301c], ebp
lea eax, [esi + 0x2fec]
mov dword [esi + 0x2fe4], 0x10186784
push eax
mov dword [esi + 0x2fe8], ebx
call edi
mov dword [esi + 0x2fe8], ebp
lea ecx, [esi + 0x2fc8]
mov dword [esi + 0x2fc0], 0x10186784
push ecx
mov dword [esi + 0x2fc4], ebx
call edi
mov dword [esi + 0x2fc4], ebp
mov dword [esi + 0x2f7c], 0x101867c0
cmp dword [esi + 0x2fb4], 0x10
jb 0x1009ed86
mov eax, dword [esi + 0x2fa0]
push eax
call fcn.10149646
add esp, 4
mov dword [esi + 0x2fb4], 0xf
mov dword [esi + 0x2fb0], 0
lea edx, [esi + 0x2f84]
mov byte [esi + 0x2fa0], 0
push edx
mov dword [esi + 0x2f80], ebx
call edi
mov dword [esi + 0x2f80], ebp
cmp dword [esi + 0x2f78], 0x10
jb 0x1009edce
mov eax, dword [esi + 0x2f64]
push eax
call fcn.10149646
add esp, 4
xor ecx, ecx
mov dword [esi + 0x2f78], 0xf
mov dword [esi + 0x2f74], ecx
lea eax, [esi + 0x2f30]
mov byte [esi + 0x2f64], cl
mov edx, dword [eax + 4]
cmp edx, ecx
je 0x1009ee1c
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x20]
push eax
push edx
call fcn.10007800
mov eax, dword [esi + 0x2f34]
push eax
call fcn.10149646
add esp, 0x14
xor ecx, ecx
mov dword [esi + 0x2f34], ecx
mov dword [esi + 0x2f38], ecx
mov dword [esi + 0x2f3c], ecx
lea ecx, [esi + 0x2ed8]
push ecx
mov dword [esi + 0x2ed4], ebx
call edi
lea edx, [esi + 0x2ebc]
mov dword [esi + 0x2ed4], ebp
push edx
mov dword [esi + 0x2eb8], ebx
call edi
mov dword [esi + 0x2eb8], ebp
lea eax, [esi + 0x2e98]
mov dword [esi + 0x2e90], 0x10186784
push eax
mov dword [esi + 0x2e94], ebx
call edi
mov dword [esi + 0x2e94], ebp
lea ecx, [esi + 0x2e74]
mov dword [esi + 0x2e6c], 0x10186784
push ecx
mov dword [esi + 0x2e70], ebx
call edi
mov dword [esi + 0x2e70], ebp
lea edx, [esi + 0x2e50]
mov dword [esi + 0x2e48], 0x10186784
push edx
mov dword [esi + 0x2e4c], ebx
call edi
mov dword [esi + 0x2e4c], ebp
lea eax, [esi + 0x2e2c]
mov dword [esi + 0x2e24], 0x10186784
push eax
mov dword [esi + 0x2e28], ebx
call edi
mov dword [esi + 0x2e28], ebp
lea ecx, [esi + 0x2e08]
mov dword [esi + 0x2e00], 0x10186784
push ecx
mov dword [esi + 0x2e04], ebx
call edi
mov dword [esi + 0x2e04], ebp
lea edx, [esi + 0x2de4]
mov dword [esi + 0x2ddc], 0x10186784
push edx
mov dword [esi + 0x2de0], ebx
call edi
mov dword [esi + 0x2de0], ebp
lea eax, [esi + 0x2dc0]
mov dword [esi + 0x2db8], 0x10186784
push eax
mov dword [esi + 0x2dbc], ebx
call edi
mov dword [esi + 0x2dbc], ebp
lea ecx, [esi + 0x2d9c]
mov dword [esi + 0x2d94], 0x10186784
push ecx
mov dword [esi + 0x2d98], ebx
call edi
mov dword [esi + 0x2d98], ebp
lea edx, [esi + 0x2d78]
mov dword [esi + 0x2d70], 0x10186784
push edx
mov dword [esi + 0x2d74], ebx
call edi
mov dword [esi + 0x2d74], ebp
lea eax, [esi + 0x2d54]
mov dword [esi + 0x2d4c], 0x10186784
push eax
mov dword [esi + 0x2d50], ebx
call edi
mov dword [esi + 0x2d50], ebp
lea ecx, [esi + 0x2d30]
mov dword [esi + 0x2d28], 0x10186784
push ecx
mov dword [esi + 0x2d2c], ebx
call edi
mov dword [esi + 0x2d2c], ebp
mov dword [esi + 0x2d04], 0x10186784
mov dword [esi + 0x2d08], ebx
lea edx, [esi + 0x2d0c]
push edx
call edi
mov dword [esi + 0x2d08], ebp
lea eax, [esi + 0x2ce8]
mov dword [esi + 0x2ce0], 0x10186784
push eax
mov dword [esi + 0x2ce4], ebx
call edi
mov dword [esi + 0x2ce4], ebp
lea ecx, [esi + 0x2cc4]
mov dword [esi + 0x2cbc], 0x10186784
push ecx
mov dword [esi + 0x2cc0], ebx
call edi
mov dword [esi + 0x2cc0], ebp
lea edx, [esi + 0x2ca0]
mov dword [esi + 0x2c98], 0x10186784
push edx
mov dword [esi + 0x2c9c], ebx
call edi
mov dword [esi + 0x2c9c], ebp
lea eax, [esi + 0x2c7c]
mov dword [esi + 0x2c74], 0x10186784
push eax
mov dword [esi + 0x2c78], ebx
call edi
mov dword [esi + 0x2c78], ebp
lea ecx, [esi + 0x2c58]
mov dword [esi + 0x2c50], 0x10186784
push ecx
mov dword [esi + 0x2c54], ebx
call edi
mov dword [esi + 0x2c54], ebp
lea edx, [esi + 0x2c34]
mov dword [esi + 0x2c2c], 0x10186784
push edx
mov dword [esi + 0x2c30], ebx
call edi
mov dword [esi + 0x2c30], ebp
lea eax, [esi + 0x2c10]
mov dword [esi + 0x2c08], 0x10186784
push eax
mov dword [esi + 0x2c0c], ebx
call edi
mov dword [esi + 0x2c0c], ebp
lea ecx, [esi + 0x2bec]
mov dword [esi + 0x2be4], 0x10186784
push ecx
mov dword [esi + 0x2be8], ebx
call edi
mov dword [esi + 0x2be8], ebp
lea edx, [esi + 0x2bc8]
mov dword [esi + 0x2bc0], 0x10186784
push edx
mov dword [esi + 0x2bc4], ebx
call edi
mov dword [esi + 0x2bc4], ebp
lea eax, [esi + 0x2ba4]
mov dword [esi + 0x2b9c], 0x10186784
push eax
mov dword [esi + 0x2ba0], ebx
call edi
mov dword [esi + 0x2ba0], ebp
lea ecx, [esi + 0x2b80]
mov dword [esi + 0x2b78], 0x10186784
push ecx
mov dword [esi + 0x2b7c], ebx
call edi
mov dword [esi + 0x2b7c], ebp
lea edx, [esi + 0x2b5c]
mov dword [esi + 0x2b54], 0x10186784
push edx
mov dword [esi + 0x2b58], ebx
call edi
mov dword [esi + 0x2b58], ebp
lea eax, [esi + 0x2b38]
mov dword [esi + 0x2b30], 0x10186784
push eax
mov dword [esi + 0x2b34], ebx
call edi
mov dword [esi + 0x2b34], ebp
lea ecx, [esi + 0x2b14]
mov dword [esi + 0x2b0c], 0x10186784
push ecx
mov dword [esi + 0x2b10], ebx
call edi
mov dword [esi + 0x2b10], ebp
lea edx, [esi + 0x2af0]
mov dword [esi + 0x2ae8], 0x10186784
push edx
mov dword [esi + 0x2aec], ebx
call edi
mov dword [esi + 0x2aec], ebp
lea eax, [esi + 0x2acc]
mov dword [esi + 0x2ac4], 0x10186784
push eax
mov dword [esi + 0x2ac8], ebx
call edi
mov dword [esi + 0x2ac8], ebp
lea ecx, [esi + 0x2aa8]
mov dword [esi + 0x2aa0], 0x10186784
push ecx
mov dword [esi + 0x2aa4], ebx
call edi
mov dword [esi + 0x2aa4], ebp
lea edx, [esi + 0x2a84]
mov dword [esi + 0x2a7c], 0x10186784
push edx
mov dword [esi + 0x2a80], ebx
call edi
mov dword [esi + 0x2a80], ebp
lea eax, [esi + 0x2a60]
mov dword [esi + 0x2a58], 0x10186784
push eax
mov dword [esi + 0x2a5c], ebx
call edi
mov dword [esi + 0x2a5c], ebp
lea ecx, [esi + 0x2a3c]
mov dword [esi + 0x2a34], 0x10186784
push ecx
mov dword [esi + 0x2a38], ebx
call edi
mov dword [esi + 0x2a38], ebp
lea edx, [esi + 0x2a18]
mov dword [esi + 0x2a10], 0x10186784
push edx
mov dword [esi + 0x2a14], ebx
call edi
mov dword [esi + 0x2a14], ebp
lea eax, [esi + 0x29f4]
mov dword [esi + 0x29ec], 0x10186784
push eax
mov dword [esi + 0x29f0], ebx
call edi
mov dword [esi + 0x29f0], ebp
lea ecx, [esi + 0x29d0]
mov dword [esi + 0x29c8], 0x10186784
push ecx
mov dword [esi + 0x29cc], ebx
call edi
mov dword [esi + 0x29cc], ebp
lea edx, [esi + 0x29a4]
mov dword [esi + 0x2998], 0x10185b2c
push edx
mov dword [esi + 0x29a0], ebx
call edi
mov dword [esi + 0x29a0], ebp
lea eax, [esi + 0x297c]
mov dword [esi + 0x2974], 0x10186784
push eax
mov dword [esi + 0x2978], ebx
call edi
mov dword [esi + 0x2978], ebp
lea ecx, [esi + 0x2958]
mov dword [esi + 0x2950], 0x10186784
push ecx
mov dword [esi + 0x2954], ebx
call edi
mov dword [esi + 0x2954], ebp
mov dword [esi + 0x292c], 0x10186784
mov dword [esi + 0x2930], ebx
lea edx, [esi + 0x2934]
push edx
call edi
mov dword [esi + 0x2930], ebp
lea eax, [esi + 0x2910]
mov dword [esi + 0x2908], 0x10186784
push eax
mov dword [esi + 0x290c], ebx
call edi
mov dword [esi + 0x290c], ebp
lea ecx, [esi + 0x28ec]
mov dword [esi + 0x28e4], 0x10186784
push ecx
mov dword [esi + 0x28e8], ebx
call edi
mov dword [esi + 0x28e8], ebp
lea edx, [esi + 0x28c8]
mov dword [esi + 0x28c0], 0x10186784
push edx
mov dword [esi + 0x28c4], ebx
call edi
mov dword [esi + 0x28c4], ebp
lea eax, [esi + 0x28a4]
mov dword [esi + 0x289c], 0x10186784
push eax
mov dword [esi + 0x28a0], ebx
call edi
mov dword [esi + 0x28a0], ebp
lea ecx, [esi + 0x2880]
mov dword [esi + 0x2878], 0x10186784
push ecx
mov dword [esi + 0x287c], ebx
call edi
mov dword [esi + 0x287c], ebp
lea edx, [esi + 0x285c]
mov dword [esi + 0x2854], 0x10186784
push edx
mov dword [esi + 0x2858], ebx
call edi
mov dword [esi + 0x2858], ebp
lea eax, [esi + 0x2838]
mov dword [esi + 0x2830], 0x10186784
push eax
mov dword [esi + 0x2834], ebx
call edi
mov dword [esi + 0x2834], ebp
lea ecx, [esi + 0x2814]
mov dword [esi + 0x280c], 0x10186784
push ecx
mov dword [esi + 0x2810], ebx
call edi
mov dword [esi + 0x2810], ebp
lea edx, [esi + 0x27f0]
mov dword [esi + 0x27e8], 0x10186784
push edx
mov dword [esi + 0x27ec], ebx
call edi
mov dword [esi + 0x27ec], ebp
lea eax, [esi + 0x27cc]
mov dword [esi + 0x27c4], 0x10186784
push eax
mov dword [esi + 0x27c8], ebx
call edi
mov dword [esi + 0x27c8], ebp
lea ecx, [esi + 0x27a8]
mov dword [esi + 0x27a0], 0x10186784
push ecx
mov dword [esi + 0x27a4], ebx
call edi
mov dword [esi + 0x27a4], ebp
lea edx, [esi + 0x277c]
mov dword [esi + 0x2770], 0x10185b2c
push edx
mov dword [esi + 0x2778], ebx
call edi
mov dword [esi + 0x2778], ebp
lea eax, [esi + 0x274c]
mov dword [esi + 0x2740], 0x10185b2c
push eax
mov dword [esi + 0x2748], ebx
call edi
mov dword [esi + 0x2748], ebp
lea ecx, [esi + 0x271c]
mov dword [esi + 0x2710], 0x10185b2c
push ecx
mov dword [esi + 0x2718], ebx
call edi
lea ecx, [esi + 0x26b8]
mov dword [esi + 0x2718], ebp
mov byte [esp + 0x38], 0x20
call fcn.100e6d48
lea edx, [esi + 0x2680]
mov dword [esi + 0x2678], 0x10186784
push edx
mov dword [esi + 0x267c], ebx
call edi
lea ecx, [esi + 0x2658]
mov dword [esi + 0x267c], ebp
mov byte [esp + 0x38], 0x1e
call fcn.1003a120
lea eax, [esi + 0x2634]
mov dword [esi + 0x2628], 0x10185b2c
push eax
mov dword [esi + 0x2630], ebx
call edi
lea eax, [esi + 0x25e8]
mov dword [esi + 0x2630], ebp
mov ecx, dword [eax + 4]
xor edx, edx
cmp ecx, edx
je 0x1009f559
mov edx, dword [eax + 8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
call fcn.10007800
mov eax, dword [esi + 0x25ec]
push eax
call fcn.10149646
add esp, 0x14
xor edx, edx
mov dword [esi + 0x25ec], edx
mov dword [esi + 0x25f0], edx
mov dword [esi + 0x25f4], edx
lea ecx, [esi + 0x2584]
mov dword [esi + 0x257c], 0x10186784
push ecx
mov dword [esi + 0x2580], ebx
call edi
mov dword [esi + 0x2580], ebp
cmp dword [esi + 0x2578], 0x10
jb 0x1009f5a2
mov eax, dword [esi + 0x2564]
push eax
call fcn.10149646
add esp, 4
mov dword [esi + 0x2578], 0xf
mov dword [esi + 0x2574], 0
mov byte [esi + 0x2564], 0
lea edx, [esi + 0x253c]
mov dword [esi + 0x2534], 0x10186784
push edx
mov dword [esi + 0x2538], ebx
call edi
lea ecx, [esi + 0x240c]
mov dword [esi + 0x2538], ebp
call fcn.1000d9c0
lea eax, [esi + 0x23d8]
mov dword [esi + 0x23d0], 0x10186784
push eax
mov dword [esi + 0x23d4], ebx
call edi
mov dword [esi + 0x23d4], ebp
lea ecx, [esi + 0x23b4]
mov dword [esi + 0x23ac], 0x10186784
push ecx
mov dword [esi + 0x23b0], ebx
call edi
mov dword [esi + 0x23b0], ebp
lea edx, [esi + 0x2388]
mov dword [esi + 0x2380], 0x10186784
push edx
mov dword [esi + 0x2384], ebx
call edi
mov dword [esi + 0x2384], ebp
lea eax, [esi + 0x232c]
mov dword [esi + 0x2324], 0x10186784
push eax
mov dword [esi + 0x2328], ebx
call edi
mov dword [esi + 0x2328], ebp
lea ecx, [esi + 0x22fc]
mov dword [esi + 0x22f4], 0x10186784
push ecx
mov dword [esi + 0x22f8], ebx
call edi
mov dword [esi + 0x22f8], ebp
lea edx, [esi + 0x22d8]
mov dword [esi + 0x22d0], 0x10186784
push edx
mov dword [esi + 0x22d4], ebx
call edi
mov dword [esi + 0x22d4], ebp
lea eax, [esi + 0x22ac]
mov dword [esi + 0x22a0], 0x10185b2c
push eax
mov dword [esi + 0x22a8], ebx
call edi
mov dword [esi + 0x22a8], ebp
cmp dword [esi + 0x2290], 0x10
jb 0x1009f6d8
mov eax, dword [esi + 0x227c]
push eax
call fcn.10149646
add esp, 4
mov dword [esi + 0x2290], 0xf
mov dword [esi + 0x228c], 0
mov byte [esi + 0x227c], 0
cmp dword [esi + 0x2274], 0x10
jb 0x1009f70b
mov eax, dword [esi + 0x2260]
push eax
call fcn.10149646
add esp, 4
mov dword [esi + 0x2274], 0xf
mov dword [esi + 0x2270], 0
mov byte [esi + 0x2260], 0
lea ecx, [esi + 0x2214]
mov dword [esi + 0x220c], 0x10186784
push ecx
mov dword [esi + 0x2210], ebx
call edi
mov dword [esi + 0x2210], ebp
lea edx, [esi + 0x21f0]
mov dword [esi + 0x21e8], 0x10186784
push edx
mov dword [esi + 0x21ec], ebx
call edi
mov dword [esi + 0x21ec], ebp
lea eax, [esi + 0x21cc]
mov dword [esi + 0x21c4], 0x10186784
push eax
mov dword [esi + 0x21c8], ebx
call edi
mov dword [esi + 0x21c8], ebp
lea ecx, [esi + 0x21a8]
mov dword [esi + 0x21a0], 0x10186784
push ecx
mov dword [esi + 0x21a4], ebx
call edi
lea ecx, [esi + 0x20e0]
mov dword [esi + 0x21a4], ebp
call fcn.10088720
lea ecx, [esi + 0x1e78]
call fcn.1004f290
lea edx, [esi + 0x1e44]
mov dword [esi + 0x1e38], 0x10185b2c
push edx
mov dword [esi + 0x1e40], ebx
call edi
mov dword [esi + 0x1e40], ebp
mov eax, dword [esi + 0x1e2c]
xor ecx, ecx
cmp eax, ecx
je 0x1009f7ee
push eax
call fcn.10149646
add esp, 4
xor ecx, ecx
mov dword [esi + 0x1e2c], ecx
mov dword [esi + 0x1e30], ecx
mov dword [esi + 0x1e34], ecx
mov eax, dword [esi + 0x1e1c]
cmp eax, ecx
je 0x1009f815
push eax
call fcn.10149646
add esp, 4
xor ecx, ecx
mov dword [esi + 0x1e1c], ecx
mov dword [esi + 0x1e20], ecx
mov dword [esi + 0x1e24], ecx
lea eax, [esi + 0x1de8]
mov dword [esi + 0x1de0], 0x10186784
push eax
mov dword [esi + 0x1de4], ebx
call edi
mov dword [esi + 0x1de4], ebp
lea ecx, [esi + 0x1dc4]
mov dword [esi + 0x1dbc], 0x10186784
push ecx
mov dword [esi + 0x1dc0], ebx
call edi
mov dword [esi + 0x1dc0], ebp
lea edx, [esi + 0x1da0]
mov dword [esi + 0x1d98], 0x10186784
push edx
mov dword [esi + 0x1d9c], ebx
call edi
lea ecx, [esi + 0x1d30]
mov dword [esi + 0x1d9c], ebp
mov byte [esp + 0x38], 2
call fcn.100ec367
lea eax, [esi + 0x1d18]
push eax
mov dword [esi + 0x1d14], ebx
call edi
mov dword [esi + 0x1d14], ebp
mov ecx, esi
mov dword [esi + 4], 0x10184930
mov dword [esp + 0x38], 0xffffffff
call fcn.10033b70
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret