Function at 0x889460
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0xa6c408
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0xcdc190]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esp + 0x38]
push eax
call fcn.008c1f40
mov ebp, dword [esp + 0x34]
push ebp
mov ecx, esi
call fcn.00897df0
lea ecx, [esp + 0x1c]
lea ebx, [esi + 0x64]
push ecx
mov ecx, ebx
call fcn.006481f0
lea edx, [esp + 0x14]
push edx
mov ecx, ebx
mov dword [esp + 0x30], 0
call fcn.00648210
mov edi, dword [esp + 0x20]
cmp edi, dword [eax + 4]
mov ecx, dword [0xd955a4]
setne al
mov dword [esp + 0x14], vtable.phListSpace::_phListIterator_class_uWnd___struct_String_32___struct_StrHashGen_.0
mov dword [esp + 0x18], ecx
test al, al
je 0x88951a
mov ecx, dword [edi + 8]
push ebp
call fcn.00897df0
mov edi, dword [edi + 0x34]
lea edx, [esp + 0x14]
push edx
mov ecx, ebx
mov dword [esp + 0x24], edi
call fcn.00648210
cmp edi, dword [eax + 4]
mov ecx, dword [0xd955a4]
setne al
mov dword [esp + 0x14], vtable.phListSpace::_phListIterator_class_uWnd___struct_String_32___struct_StrHashGen_.0
mov dword [esp + 0x18], ecx
test al, al
jne 0x8894e2
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x23c], edx
mov ecx, dword [esi + 0x240]
push eax
mov dword [esp + 0x30], 0xffffffff
call fcn.008ba280
mov edx, dword [esi + 0x240]
movzx eax, word [edx + 0x5e]
mov cx, word [esi + 0x5c]
mov edx, dword [esi]
mov edx, dword [edx + 0x38]
add ax, 0x5a
mov word [esp + 0x36], ax
lea eax, [esp + 0x34]
mov word [esp + 0x34], cx
push eax
mov ecx, esi
call edx
movzx eax, word [esi + 0x5c]
mov bx, word [esi + 0x5e]
mov edx, dword [esi + 0x23c]
mov word [esp + 0x40], ax
mov word [esp + 0x42], bx
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff6
shr edx, 3
mov word [esp + 0x38], cx
mov word [esp + 0x3a], bx
push str.NewCommonMsgCancel
mov ecx, esi
test dl, 1
je 0x8895ee
call fcn.00899b10
mov edi, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x3c]
push 1
mov ecx, edi
call edx
mov ax, word [edi + 0x5c]
mov cx, word [edi + 0x5e]
mov word [esp + 0x14], ax
mov word [esp + 0x16], cx
mov edx, 0xfffffffc
sub edx, dword [esp + 0x14]
mov eax, 0xfffffff4
sub eax, dword [esp + 0x16]
add word [esp + 0x38], dx
add word [esp + 0x3a], ax
mov edx, dword [edi]
mov edx, dword [edx + 0x34]
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call edx
jmp 0x8895fe
call fcn.00899b10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
push 0
call eax
mov ecx, dword [esi + 0x23c]
shr ecx, 2
test cl, 1
push str.NewCommonMsgOk
mov ecx, esi
je 0x88966a
call fcn.00899b10
mov edi, eax
mov edx, dword [edi]
mov eax, dword [edx + 0x3c]
push 1
mov ecx, edi
call eax
mov cx, word [edi + 0x5c]
mov dx, word [edi + 0x5e]
mov eax, 0xfffffffc
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
sub eax, dword [esp + 0x14]
add word [esp + 0x38], ax
cmp word [esp + 0x3a], bx
jne 0x88965a
mov ecx, 0xfffffff4
sub ecx, dword [esp + 0x16]
add word [esp + 0x3a], cx
mov edx, dword [edi]
mov edx, dword [edx + 0x34]
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call edx
jmp 0x88967a
call fcn.00899b10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
push 0
call eax
mov ecx, dword [esi + 0x23c]
shr ecx, 1
test cl, 1
push str.NewCommonMsgNo
mov ecx, esi
je 0x8896e5
call fcn.00899b10
mov edi, eax
mov edx, dword [edi]
mov eax, dword [edx + 0x3c]
push 1
mov ecx, edi
call eax
mov cx, word [edi + 0x5c]
mov dx, word [edi + 0x5e]
mov eax, 0xfffffffc
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
sub eax, dword [esp + 0x14]
add word [esp + 0x38], ax
cmp word [esp + 0x3a], bx
jne 0x8896d5
mov ecx, 0xfffffff4
sub ecx, dword [esp + 0x16]
add word [esp + 0x3a], cx
mov edx, dword [edi]
mov edx, dword [edx + 0x34]
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call edx
jmp 0x8896f5
call fcn.00899b10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
push 0
call eax
test byte [esi + 0x23c], 1
push str.NewCommonMsgYes
mov ecx, esi
je 0x88975c
call fcn.00899b10
mov edi, eax
mov edx, dword [edi]
mov eax, dword [edx + 0x3c]
push 1
mov ecx, edi
call eax
mov cx, word [edi + 0x5c]
mov dx, word [edi + 0x5e]
mov eax, 0xfffffffc
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
sub eax, dword [esp + 0x14]
add word [esp + 0x38], ax
cmp word [esp + 0x3a], bx
jne 0x88974c
mov ecx, 0xfffffff4
sub ecx, dword [esp + 0x16]
add word [esp + 0x3a], cx
mov edx, dword [edi]
mov edx, dword [edx + 0x34]
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call edx
jmp 0x88976c
call fcn.00899b10
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x3c]
push 0
call eax
mov edx, dword [esi]
mov eax, dword [esp + 0x44]
mov edx, dword [edx + 0xc4]
push eax
mov ecx, esi
call edx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x14