Function at 0x10146600
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10283240
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
lea edx, [ebx + 0x1c]
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebp + 8]
push edx
call fcn.10056850
mov ecx, dword [ebp + 0x10]
lea eax, [ebx + 0x20]
push eax
call fcn.10056850
lea ecx, [ebx + 0x24]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.10056850
mov dl, byte [ebp + 0x1c]
xor esi, esi
mov eax, 0xa
mov dword [ebx + 0x34], eax
mov byte [ebx + 0x38], dl
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x14]
push edx
push esi
lea eax, [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
push 0x102bd354
mov dword [esp + 0x20], vtable.CAtlListBuilder_class_CAutoString__class_ATL::CElementTraits_class_CAutoString___class_ATL::CAtlList_class_CAutoString__class_ATL::CElementTraits_class_CAutoString___.0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], esi
call fcn.101e8f20
mov edi, dword [esp + 0x34]
cmp edi, esi
jne 0x101466e2
mov dword [esp + 0x78], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.10093f20
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18
xor esi, esi
xor eax, eax
cmp edi, esi
setne al
cmp eax, esi
je 0x10146863
mov eax, edi
mov edi, dword [edi]
lea ecx, [eax + 8]
call fcn.10003840
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0x10], eax
mov byte [esp + 0x78], 2
lea ecx, [esp + 0x10]
call fcn.1005a750
mov ecx, eax
call fcn.1005a7a0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
push eax
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0x14], eax
mov byte [esp + 0x78], 4
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0x78], 5
mov dword [esp + 0x2c], 1
mov byte [esp + 0x78], 6
lea esi, [esp + 0x14]
call fcn.10147130
mov byte [esp + 0x78], 7
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1014679e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
push eax
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0x78], 0xb
lea ecx, [esp + 0x54]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0x78], 0xc
mov dword [esp + 0x64], 1
mov byte [esp + 0x78], 0xd
mov edx, dword [ebx + 0x60]
lea esi, [ebx + 0x5c]
push 0
push edx
lea eax, [esp + 0x54]
push eax
mov ecx, esi
call fcn.10094120
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x101467f7
mov dword [ecx], eax
jmp 0x101467f9
mov dword [esi], eax
mov dword [esi + 4], eax
mov byte [esp + 0x78], 0xe
lea ecx, [esp + 0x54]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10146831
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x78], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10146856
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
jne 0x101466e0
jmp 0x101466ba
push esi
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
int3