Function at 0x34816532
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x348503ea
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x3485dd14]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
xor ebp, ebp
push ebp
push ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
call dword [sym.imp.OLEAUT32.dll_CreateErrorInfo]
mov edi, dword [esp + 0x30]
mov eax, dword [edi + 8]
add eax, 0x64
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x3c]
cmp eax, ebp
mov dword [esp + 0x28], ebp
je 0x3481658e
mov dword [eax], ebp
mov ebx, dword [esp + 0x40]
cmp ebx, ebp
je 0x34816598
mov dword [ebx], ebp
mov esi, dword [esp + 0x44]
test esi, esi
je 0x348165a6
mov dword [esi], 0
test eax, eax
je 0x34823b80
test ebx, ebx
je 0x34823b80
test esi, esi
je 0x34823b80
cmp dword [esp + 0x34], 0
jne 0x34823b75
mov eax, dword [edi + 8]
cmp dword [eax + 0x80], 0
je 0x34823b8a
mov eax, dword [0x34866048]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push 0x28
push eax
call edx
test eax, eax
mov dword [esi], eax
je 0x34823b94
mov ecx, 9
mov esi, str..____
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, dword [esp + 0x34]
test esi, esi
jne 0x34823bb5
mov eax, dword [esp + 0x3c]
mov dword [eax], 0x10
mov eax, dword [0x34866048]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push 0x180
push eax
call edx
test eax, eax
mov dword [ebx], eax
je 0x34823b9e
xor esi, esi
mov eax, dword [esp + 0x44]
mov edx, dword [ebx]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esi + 0x34865630]
push ecx
add edx, esi
push edx
push eax
call fcn.348166ea
mov ebp, eax
test ebp, ebp
jl 0x34823ba8
mov dword [esp + 0x18], 1
add esi, 0x18
cmp esi, 0x180
jb 0x34816636
test ebp, ebp
jl 0x34823c8f
mov eax, 1
cmp dword [esp + 0x14], eax
je 0x34823c7a
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x34816694
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov eax, ebp
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x18
cmp dword [esp + 0x38], 0
jne 0x348165c9
mov ebp, 0x80070057
jmp 0x34823c93
mov ebp, 0x8000ffff
jmp 0x34823c93
mov ebp, 0x8007000e
jmp 0x34823c93
mov ebp, 0x8007000e
jmp 0x34823c8f
mov dword [esp + 0x14], 1
jmp 0x34816663
mov ecx, dword [esp + 0x3c]
mov dword [ecx], esi
mov eax, dword [0x34866048]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esi + esi*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
push eax
call edx
test eax, eax
mov dword [ebx], eax
jne 0x34823be2
mov ebp, 0x8007000e
jmp 0x34823c8f
xor edi, edi
test esi, esi
jbe 0x34816685
xor esi, esi
nop
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + edi*4]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.3482c47e
mov edx, dword [ebx]
xor ecx, ecx
cmp eax, ecx
jne 0x34823c3a
mov dword [esi + edx], ecx
mov eax, dword [ebx]
mov dword [esi + eax + 4], ecx
mov edx, dword [ebx]
mov dword [esi + edx + 8], ecx
mov eax, dword [ebx]
mov edx, dword [esp + 0x38]
mov edx, dword [edx + edi*4]
mov dword [esi + eax + 0xc], edx
mov eax, dword [ebx]
mov dword [esi + eax + 0x10], ecx
mov edx, dword [ebx]
mov dword [esi + edx + 0x14], ecx
mov dword [esp + 0x14], 1
jmp 0x34823c65
mov ecx, dword [esp + 0x44]
push ecx
push eax
mov eax, dword [esp + 0x38]
add edx, esi
push edx
push eax
call fcn.348166ea
mov ebp, eax
test ebp, ebp
jge 0x34823c5d
mov dword [esp + 0x14], 1
jmp 0x34823c65
mov dword [esp + 0x18], 1
add edi, 1
add esi, 0x18
cmp edi, dword [esp + 0x34]
jae 0x3481666e
jmp 0x34823bef
cmp dword [esp + 0x18], eax
jne 0x34823c8a
mov ebp, 0x40eda
jmp 0x34816685
mov ebp, 0x80040e21
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
push 0x34853388
push ebp
push edx
call fcn.3481febc
test ebp, ebp
jge 0x34816685
test esi, esi
je 0x34823cd1
mov eax, dword [esi]
test eax, eax
je 0x34823cd1
mov ecx, dword [0x34866048]
test ecx, ecx
je 0x34823ccb
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x14]
push ecx
call eax
mov dword [esi], 0
cmp ebp, 0x80040e21
je 0x34816685
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x34823ceb
mov dword [eax], 0
test ebx, ebx
je 0x34816685
mov eax, dword [ebx]
test eax, eax
je 0x34816685
mov ecx, dword [0x34866048]
test ecx, ecx
je 0x34823d10
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x14]
push ecx
call eax
mov dword [ebx], 0
jmp 0x34816685