Function at 0xa54400
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xad1d60
mov eax, dword fs:[0]
push eax
sub esp, 0x664
mov eax, dword [0xb1208c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x310]
push 0x200
push 0
push eax
call fcn.00aab030
push 0x104
lea eax, [ebp - 0x670]
push 0
push eax
call fcn.00aab030
add esp, 0x18
mov byte [ebp - 0x511], 0
lea eax, [ebp - 0x511]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x310]
push eax
call fcn.00a0d690
push 0x100
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.00aab030
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call fcn.00a0a630
xor ebx, ebx
mov dword [ebp - 0x55c], 3
add edi, 0x30
mov dword [ebp - 0x550], ebx
mov dword [ebp - 0x518], edi
jmp 0xa544c6
mov ebx, dword [ebp - 0x550]
push 0x200
lea eax, [ebp - 0x510]
push 0
push eax
call fcn.00aab030
add esp, 0xc
lea eax, [ebp - 0x310]
push 0
push eax
push 0x200
push 0
lea eax, [ebp - 0x510]
push eax
call fcn.00a4ea40
test ebx, ebx
je 0xa54521
mov ecx, 4
mov eax, ebx
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0xa54503
push ebx
call fcn.00a5963c
add esp, 4
mov dword [ebp - 0x550], 0x8123
push 0x380
call fcn.00a59633
push 0x380
mov esi, eax
push 0
push esi
call fcn.00aab030
lea eax, [ebp - 0x110]
push eax
push 0x380
push esi
call fcn.00ab0ea4
lea eax, [ebp - 0x510]
push eax
push 0x380
push esi
call fcn.00ab0ea4
mov dword [ebp - 0x530], 0
add esp, 0x28
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x51c], 0xf
mov byte [ebp - 0x530], 0
push 0
lea eax, [ebp - 0x530]
mov dword [ebp - 4], 0
push eax
push esi
mov ecx, edi
call fcn.00a57080
mov byte [ebp - 0x541], al
test al, al
jne 0xa547bc
lea eax, [ebp - 0x56c]
push eax
call fcn.00437ce0
mov ecx, dword [ebp - 0x568]
cmp ecx, 0x7fffffff
jg 0xa545eb
mov eax, dword [ebp - 0x56c]
jl 0xa545d5
cmp eax, 0xc46535ff
jae 0xa545eb
add eax, 0x3b9aca00
mov dword [ebp - 0x548], eax
adc ecx, 0
mov dword [ebp - 0x558], ecx
jmp 0xa54600
mov dword [ebp - 0x548], 0xffffffff
mov dword [ebp - 0x558], SysStringLen
nop
call fcn.00a5aa0f
mov esi, eax
mov ebx, edx
mov dword [ebp - 0x560], esi
mov dword [ebp - 0x54c], ebx
call fcn.00a5a9f8
cmp esi, 0x989680
jne 0xa54632
test ebx, ebx
jne 0xa54632
push ebx
push 0x64
push edx
push eax
call fcn.00a59700
jmp 0xa54681
push ebx
push ebx
push esi
push edx
push eax
call fcn.00a59cf0
mov edi, ebx
pop ebx
nop
push 0
push 0x3b9aca00
push edx
push eax
mov esi, ecx
call fcn.00a59700
push 0
push 0x3b9aca00
push edi
push esi
mov ebx, eax
mov dword [ebp - 0x554], edx
call fcn.00a59700
push dword [ebp - 0x54c]
push dword [ebp - 0x560]
push edx
push eax
call fcn.00a59c40
add eax, ebx
adc edx, dword [ebp - 0x554]
mov ebx, dword [ebp - 0x558]
cmp edx, ebx
jg 0xa54755
mov ecx, dword [ebp - 0x548]
jl 0xa5469f
cmp eax, ecx
jae 0xa54755
mov esi, ecx
sub esi, eax
mov dword [ebp - 0x554], esi
sbb ebx, edx
mov dword [ebp - 0x54c], ebx
call fcn.00a5aa87
push 0
push 0x64
push edx
push eax
call fcn.00a59700
mov ebx, edx
mov ecx, esi
mov edx, dword [ebp - 0x54c]
mov edi, eax
call fcn.00a59f00
comisd xmm0, xmmword [0xad3bf0]
jbe 0xa546fd
mov esi, edi
mov eax, ebx
add esi, 0xad160000
mov ecx, 0x311cd
adc eax, 0x311cd
mov dword [ebp - 0x560], eax
mov eax, 0xad160000
jmp 0xa54715
mov ecx, dword [ebp - 0x54c]
add esi, edi
mov eax, ecx
adc eax, ebx
mov dword [ebp - 0x560], eax
mov eax, dword [ebp - 0x554]
add edi, eax
push 0
push 0x3b9aca00
adc ebx, ecx
push ebx
push edi
call fcn.00a59c40
mov dword [ebp - 0x540], eax
imul eax, eax, 0x3b9aca00
mov dword [ebp - 0x53c], edx
sub esi, eax
lea eax, [ebp - 0x540]
push eax
mov dword [ebp - 0x538], esi
call fcn.00a5aaf9
add esp, 4
jmp 0xa54600
mov edi, dword [ebp - 0x55c]
mov edx, dword [ebp - 0x51c]
dec edi
mov dword [ebp - 0x55c], edi
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0xa547a3
mov ecx, dword [ebp - 0x530]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0xa54799
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0xa548f4
push edx
push ecx
call fcn.00a59625
add esp, 8
test edi, edi
mov edi, dword [ebp - 0x518]
jg 0xa544c0
mov bl, byte [ebp - 0x541]
jmp 0xa548ac
cmp byte [ebp + 0x10], 0
je 0xa54855
xor esi, esi
mov dword [ebp - 0x548], 0
cmp dword [ebp - 0x520], esi
jbe 0xa54851
nop word [eax + eax]
cmp dword [ebp - 0x51c], 0x10
lea eax, [ebp - 0x530]
cmovae eax, dword [ebp - 0x530]
mov bl, byte [eax + esi]
movzx eax, bl
push eax
call fcn.00ab1e5d
add esp, 4
test eax, eax
je 0xa54835
xor eax, eax
mov word [ebp - 0x518], ax
lea eax, [ebp - 0x518]
push eax
mov byte [ebp - 0x518], bl
call fcn.00ab1d53
mov ecx, dword [ebp - 0x548]
add esp, 4
add ecx, eax
mov dword [ebp - 0x548], ecx
jmp 0xa5483b
mov ecx, dword [ebp - 0x548]
inc esi
cmp esi, dword [ebp - 0x520]
jb 0xa547e0
test ecx, ecx
je 0xa54851
test cl, 1
jne 0xa54851
mov bl, 1
jmp 0xa5485b
xor bl, bl
jmp 0xa5485b
mov bl, byte [ebp - 0x541]
mov edx, dword [ebp - 0x51c]
cmp edx, 0x10
jb 0xa54891
mov ecx, dword [ebp - 0x530]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0xa54887
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0xa548f4
push edx
push ecx
call fcn.00a59625
add esp, 8
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x51c], 0xf
mov byte [ebp - 0x530], 0
mov edx, dword [ebp - 0x550]
test edx, edx
je 0xa548d4
mov ecx, 4
mov eax, edx
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0xa548c0
push edx
call fcn.00a5963c
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00a5942e
mov esp, ebp
pop ebp
ret 0xc
call fcn.00aaea41
int3