Function at 0x10034090
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1004c978
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10077990]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
push 0
push 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
call dword [sym.imp.OLEAUT32.dll_CreateErrorInfo]
mov ebx, dword [esp + 0x38]
mov esi, dword [ebx + 8]
add esi, 0x64
push esi
mov dword [esp + 0x28], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], 0
test eax, eax
je 0x1003410c
mov dword [eax], 0
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x100342c1
cmp dword [esp + 0x40], 0
je 0x100342c1
test eax, eax
je 0x100342c1
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x14]
push eax
add ecx, 0x40
call fcn.10034d70
mov edi, eax
test edi, edi
js 0x100342c6
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x14]
push eax
add ecx, 0x40
call fcn.10034be0
mov edi, eax
test edi, edi
js 0x100342c6
mov eax, dword [esp + 0x40]
mov ecx, dword [ebx + 8]
add eax, 0xc
push eax
add ecx, 0x40
call fcn.10035490
test eax, eax
jne 0x10034180
mov edi, 0x80040e71
jmp 0x100342c6
mov ecx, dword [ebx + 8]
push ebp
add ecx, 0x40
call fcn.10035380
mov edi, eax
test edi, edi
js 0x100342c6
mov ecx, dword [ebx + 8]
push dword [ebp + 4]
add ecx, 0x40
call fcn.100352f0
mov dword [esp + 0x38], eax
test eax, eax
jne 0x100341b6
mov edi, 0x80040e6d
jmp 0x100342c6
mov eax, dword [ebp]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + ecx*8]
mov ecx, dword [ebx + 8]
add eax, 0xffffffd8
add ecx, 0x40
push eax
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x48]
push dword [eax]
call fcn.10035020
mov edi, eax
test edi, edi
js 0x100342c6
mov ecx, dword [esp + 0x38]
mov eax, 0x10062b54
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10034216
test dx, dx
je 0x10034212
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10034216
add eax, 4
add ecx, 4
test dx, dx
jne 0x100341f0
xor eax, eax
jmp 0x1003421b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10034226
mov eax, str.MSysDb
jmp 0x10034239
mov eax, dword [ebp + 4]
cmp dword [eax + 0x20], 2
jne 0x10034234
mov eax, dword [eax + 0x24]
jmp 0x10034239
mov eax, 0x100627dc
test eax, eax
mov ecx, 0x10062b78
cmovne ecx, eax
xor eax, eax
cmp ax, word [ecx]
je 0x10034250
mov edx, dword [esp + 0x38]
jmp 0x10034256
mov ecx, dword [esp + 0x38]
xor edx, edx
mov eax, dword [ebx + 8]
lea ebp, [esp + 0x20]
push ebp
lea ebp, [esp + 0x1c]
push ebp
mov ebp, dword [esp + 0x48]
push 0
push dword [ebp + 0x1c]
push ecx
push edx
push dword [eax + 0x4c]
push dword [eax + 0x44]
call sub.msjet40.dll_Ordinal_131
mov edx, eax
mov dword [esp + 0x14], edx
cmp edx, 0xfffffae7
jg 0x100342a7
je 0x100342a0
cmp edx, 0xfffff88d
je 0x10034299
cmp edx, 0xfffff8f6
jne 0x100342a7
mov edi, 0x80040e09
jmp 0x100342ca
mov edi, 0x80040e6d
jmp 0x100342ce
mov ecx, dword [esp + 0x18]
and ecx, dword [esp + 0x1c]
cmp dword [esp + 0x1c], ecx
jne 0x100342ca
mov eax, dword [esp + 0x44]
mov dword [eax], 1
jmp 0x100342ca
mov edi, 0x80070057
mov edx, dword [esp + 0x14]
test edx, edx
je 0x100342e2
mov eax, dword [ebx + 8]
push 0x10068ea8
push edx
push edi
push dword [eax + 0x44]
call fcn.100106d0
jmp 0x100342f5
test edi, edi
jns 0x100342f5
push 0
push 0x10068ea8
push edi
push 0
call fcn.10010420
test esi, esi
je 0x10034300
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0x10