Function at 0xa37880
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xab4930
mov eax, dword fs:[0]
push eax
sub esp, 0x664
mov eax, dword [0xaf408c]
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.00a8dc10
push 0x104
lea eax, [ebp - 0x670]
push 0
push eax
call fcn.00a8dc10
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.009f4d40
push 0x100
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.00a8dc10
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call fcn.009f3200
xor ebx, ebx
mov dword [ebp - 0x55c], 3
add edi, 0x30
mov dword [ebp - 0x550], ebx
mov dword [ebp - 0x518], edi
jmp 0xa37946
mov ebx, dword [ebp - 0x550]
push 0x200
lea eax, [ebp - 0x510]
push 0
push eax
call fcn.00a8dc10
add esp, 0xc
lea eax, [ebp - 0x310]
push 0
push eax
push 0x200
push 0
lea eax, [ebp - 0x510]
push eax
call fcn.00a30d50
test ebx, ebx
je 0xa379a1
mov ecx, 4
mov eax, ebx
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0xa37983
push ebx
call fcn.00a3c1ec
add esp, 4
mov dword [ebp - 0x550], 0x8123
push 0x380
call fcn.00a3c1e3
push 0x380
mov esi, eax
push 0
push esi
call fcn.00a8dc10
lea eax, [ebp - 0x110]
push eax
push 0x380
push esi
call fcn.00a93a84
lea eax, [ebp - 0x510]
push eax
push 0x380
push esi
call fcn.00a93a84
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.00a3a0a0
mov byte [ebp - 0x541], al
test al, al
jne 0xa37c3c
lea eax, [ebp - 0x56c]
push eax
call fcn.004371f0
mov ecx, dword [ebp - 0x568]
cmp ecx, 0x7fffffff
jg 0xa37a6b
mov eax, dword [ebp - 0x56c]
jl 0xa37a55
cmp eax, 0xc46535ff
jae 0xa37a6b
add eax, 0x3b9aca00
mov dword [ebp - 0x548], eax
adc ecx, 0
mov dword [ebp - 0x558], ecx
jmp 0xa37a80
mov dword [ebp - 0x548], 0xffffffff
mov dword [ebp - 0x558], SysReAllocString
nop
call fcn.00a3d5bf
mov esi, eax
mov ebx, edx
mov dword [ebp - 0x560], esi
mov dword [ebp - 0x54c], ebx
call fcn.00a3d5a8
cmp esi, 0x989680
jne 0xa37ab2
test ebx, ebx
jne 0xa37ab2
push ebx
push 0x64
push edx
push eax
call fcn.00a3c2b0
jmp 0xa37b01
push ebx
push ebx
push esi
push edx
push eax
call fcn.00a3c8a0
mov edi, ebx
pop ebx
nop
push 0
push 0x3b9aca00
push edx
push eax
mov esi, ecx
call fcn.00a3c2b0
push 0
push 0x3b9aca00
push edi
push esi
mov ebx, eax
mov dword [ebp - 0x554], edx
call fcn.00a3c2b0
push dword [ebp - 0x54c]
push dword [ebp - 0x560]
push edx
push eax
call fcn.00a3c7f0
add eax, ebx
adc edx, dword [ebp - 0x554]
mov ebx, dword [ebp - 0x558]
cmp edx, ebx
jg 0xa37bd5
mov ecx, dword [ebp - 0x548]
jl 0xa37b1f
cmp eax, ecx
jae 0xa37bd5
mov esi, ecx
sub esi, eax
mov dword [ebp - 0x554], esi
sbb ebx, edx
mov dword [ebp - 0x54c], ebx
call fcn.00a3d637
push 0
push 0x64
push edx
push eax
call fcn.00a3c2b0
mov ebx, edx
mov ecx, esi
mov edx, dword [ebp - 0x54c]
mov edi, eax
call fcn.00a3cab0
comisd xmm0, xmmword [0xab6b88]
jbe 0xa37b7d
mov esi, edi
mov eax, ebx
add esi, 0xad160000
mov ecx, 0x311cd
adc eax, 0x311cd
mov dword [ebp - 0x560], eax
mov eax, 0xad160000
jmp 0xa37b95
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.00a3c7f0
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.00a3d6a9
add esp, 4
jmp 0xa37a80
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 0xa37c23
mov ecx, dword [ebp - 0x530]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0xa37c19
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0xa37d74
push edx
push ecx
call fcn.00a3c1d5
add esp, 8
test edi, edi
mov edi, dword [ebp - 0x518]
jg 0xa37940
mov bl, byte [ebp - 0x541]
jmp 0xa37d2c
cmp byte [ebp + 0x10], 0
je 0xa37cd5
xor esi, esi
mov dword [ebp - 0x548], 0
cmp dword [ebp - 0x520], esi
jbe 0xa37cd1
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.00a94a3d
add esp, 4
test eax, eax
je 0xa37cb5
xor eax, eax
mov word [ebp - 0x518], ax
lea eax, [ebp - 0x518]
push eax
mov byte [ebp - 0x518], bl
call fcn.00a94933
mov ecx, dword [ebp - 0x548]
add esp, 4
add ecx, eax
mov dword [ebp - 0x548], ecx
jmp 0xa37cbb
mov ecx, dword [ebp - 0x548]
inc esi
cmp esi, dword [ebp - 0x520]
jb 0xa37c60
test ecx, ecx
je 0xa37cd1
test cl, 1
jne 0xa37cd1
mov bl, 1
jmp 0xa37cdb
xor bl, bl
jmp 0xa37cdb
mov bl, byte [ebp - 0x541]
mov edx, dword [ebp - 0x51c]
cmp edx, 0x10
jb 0xa37d11
mov ecx, dword [ebp - 0x530]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0xa37d07
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0xa37d74
push edx
push ecx
call fcn.00a3c1d5
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 0xa37d54
mov ecx, 4
mov eax, edx
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0xa37d40
push edx
call fcn.00a3c1ec
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.00a3bfd6
mov esp, ebp
pop ebp
ret 0xc
call fcn.00a91621
int3