Function at 0x7de8597c
Capabilities:
Get number of processors

Disassembly:
test al, 0x40
jne 0x7de83ce5
test dl, al
jne 0x7de83ce5
or eax, edx
mov dword [ebp + 8], eax
jmp 0x7de85a02
mov ecx, dword [ebp - 8]
mov byte [ebp - 2], bl
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x10], ebx
cmp ecx, dword [0x7ffe03a4]
je 0x7de85a86
jmp 0x7dec2fe1
push dword [ebp - 0x18]
lea eax, [ebp - 0xc]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push ebx
push dword [ebp - 0x10]
push eax
push dword [ebp - 8]
push dword [ebp + 8]
call fcn.7de8cd4b
mov esi, eax
jmp 0x7de8d417
mov eax, dword fs:[0x18]
push dword [eax + 0xfc0]
mov byte [ebp - 3], bl
call 0x7de68b20
mov eax, dword fs:[0x18]
mov dword [eax + 0xfc0], ebx
jmp 0x7de8d361
test dl, al
je 0x7de85a0d
mov esi, 0xc000000d
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xfbc]
mov eax, dword [eax + 4]
jmp 0x7de85ac9
test eax, 0x100
je 0x7de85a3c
jmp 0x7de83ce5
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x24], ebx
mov byte [ebp - 3], bl
mov dword [ebp - 8], ebx
mov byte [ebp - 4], bl
mov dword [ebp - 0x18], ebx
test al, 0x20
je 0x7de971f9
mov byte [ebp - 1], 1
test al, 0x10
je 0x7de971f9
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
je 0x7de859d0
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
test eax, 0xfffefc83
jne 0x7de83ce5
mov ecx, eax
and ecx, 8
je 0x7de926e1
cmp ecx, ebx
je 0x7de859f2
test al, 4
jne 0x7de83ce5
mov edi, 0x10000
push 0x30
pop edx
test edi, eax
jne 0x7de81ce0
mov ecx, eax
and ecx, 0x40
jne 0x7de83cdd
cmp ecx, ebx
jne 0x7de85a19
test dl, al
je 0x7dec2fa4
mov ecx, dword [ebp + 0x14]
cmp ecx, ebx
je 0x7de83ce5
cmp dword [ecx], ebx
jbe 0x7de85a31
cmp dword [ebp + 0x10], ebx
je 0x7dec2faf
test eax, 0x200
jne 0x7de83e54
lea eax, [ebp - 8]
push eax
call 0x7de6e0b7
cmp eax, ebx
jl 0x7de85bf4
cmp byte [ebp - 1], bl
je 0x7de85a64
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
cmp eax, dword [0x7ffe03a4]
jne 0x7dec2fb9
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
and dword [ebp - 0x28], edi
jne 0x7de81cfa
mov ecx, dword fs:[0x18]
cmp dword [ecx + 0xfb8], ebx
jne 0x7dec3063
test al, 0x40
jne 0x7de85ae8
push dword [ebp - 8]
push ebx
call fcn.7de85102
mov esi, eax
cmp esi, ebx
jl 0x7de85bcf
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xfbc]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xfbc]
cmp dword [eax + 4], ebx
jne 0x7de83e40
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x20]
push ebx
push dword [ebp - 8]
mov dword [ebp - 0x18], eax
call fcn.7de850a6
mov esi, eax
cmp esi, ebx
jl 0x7de85bcf
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword fs:[0x18]
cmp dword [eax + 0xfc0], ebx
setne byte [ebp - 3]
cmp byte [ebp - 3], bl
je 0x7de8626f
cmp byte [ebp - 1], bl
je 0x7de8d361
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xfc0]
test byte [eax + 0x20], 0x80
jne 0x7de835f6
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xf98]
mov ecx, dword [ebp - 8]
cmp eax, dword [ecx + 0x10]
jne 0x7de835f6
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0xfc0]
mov dword [ebp - 0xc], eax
push dword [ebp + 0xc]
push ebx
cmp byte [ebp - 1], bl
je 0x7de8d361
cmp dword [ebp - 0x10], ebx
jne 0x7de8d361
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x38], ebx
je 0x7de8d361
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x7de8d361
test byte [eax + 0x20], 0x40
je 0x7de8d361
mov eax, dword [ecx + 0x38]
test byte [eax + 0x20], 0x80
jne 0x7de8d361
mov dword [ebp - 0xc], eax
mov eax, dword fs:[0x18]
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 0x10]
mov dword [eax + 0xf98], ecx
jmp 0x7de85b47
cmp dword [ebp - 0x28], ebx
jne 0x7de8d39a
mov esi, 0x7df72140
push esi
push 0x7df72024
call 0x7de6e076
push esi
call 0x7de582b0
mov eax, dword [ebp - 8]
push ebx
push dword [eax + 0x2c]
call fcn.7de8d4df
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
push esi
mov dword [ebp - 0x2c], eax
call 0x7de58270
push ebx
push 0x19
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
call fcn.7de8d429
mov esi, eax
cmp esi, ebx
jl 0x7de85bcf
test byte [ebp + 8], 0x40
push ebx
jne 0x7de835d3
push 0x19
push dword [ebp - 8]
lea eax, [ebp - 0x20]
push eax
call fcn.7de8d429
push ebx
push dword [ebp - 0x18]
lea eax, [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push eax
push dword [ebp - 8]
push dword [ebp + 8]
call fcn.7de8cd4b
mov esi, eax
cmp esi, ebx
jl 0x7de8d40f
cmp byte [ebp - 1], bl
je 0x7de97201
xor eax, eax
inc eax
lea ecx, [ebp - 0xc]
push ecx
push dword [ebp - 0x20]
push dword [ebp - 8]
push eax
call fcn.7de8c728
mov esi, eax
push dword [ebp - 0x20]
call 0x7de68b20
cmp esi, ebx
jge 0x7de85b47
jmp 0x7de85bcf
test al, 4
jne 0x7de859e6
or eax, 8
mov dword [ebp + 8], eax
jmp 0x7de859f2
mov byte [ebp - 1], bl
jmp 0x7de859c4
test byte [ebp + 8], 0x10
jne 0x7de8d3fa
xor eax, eax
jmp 0x7de8d3fd
add byte [edx + 0x36f9800e], cl
cmp cl, 0x36
jne 0x7deaf6c0
cmp byte [esi + 1], 0x34
jne 0x7deaf6c0
inc esi
inc esi
or dword [ebp - 0x210], 0x8000
mov dword [ebp + 0xc], esi
jmp 0x7deafd3f
cmp cl, 0x33
jne 0x7deaf6df
cmp byte [esi + 1], 0x32
jne 0x7deaf6df
inc esi
inc esi
and dword [ebp - 0x210], 0xffff7fff
mov dword [ebp + 0xc], esi
jmp 0x7deafd3f
cmp cl, 0x64
je 0x7deafd3f
cmp cl, 0x69
je 0x7deafd3f
cmp cl, 0x6f
je 0x7deafd3f
cmp cl, 0x75
je 0x7deafd3f
cmp cl, 0x78
je 0x7deafd3f
cmp cl, 0x58
je 0x7deafd3f
mov dword [ebp - 0x248], ebx
jmp 0x7deafd28
mov ecx, dword [ebp - 0x240]
lea esi, [ebp - 0x224]
mov dword [ebp - 0x234], ebx
call fcn.7deaf48e
invalid
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ecx, 4
add esi, 0x10
mov dword [edx + 0x68], ecx
push 4
mov edi, eax
pop ecx
xor eax, eax
mov dword [ebp - 0x2c], esi
repe cmpsd dword [esi], dword es:[edi]
jne 0x7deb04e3
invalid
mov esi, dword [ebx]
mov edx, dword [ebx + 4]
mov edi, dword [ebp - 0x18]
mov ebx, esi
add ebx, 1
mov ecx, edx
mov dword [ebp - 0x38], edx
adc ecx, 0
enter 0xffffffffffffd183, 0
mov eax, esi
lock cmpxchg8b qword [edi]
cmp eax, esi
jne 0x7ded38f7
cmp edx, dword [ebp - 0x38]
jne 0x7ded38f7
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x2c]
add esi, 4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x24]
push eax
movsd dword es:[edi], dword [esi]
call fcn.7deae44f
test eax, eax
jne 0x7df110fa
mov edi, dword [ebp - 0x18]
mov esi, dword [edi]
mov edx, dword [edi + 4]
mov ebx, esi
add ebx, 1
mov ecx, edx
mov dword [ebp - 0x38], edx
adc ecx, 0
mov eax, esi
lock cmpxchg8b qword [edi]
cmp eax, esi
jne 0x7dec301a
cmp edx, dword [ebp - 0x38]
jne 0x7dec301a
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x7deb04e3
jmp 0x7df111ca
dec eax
je 0x7deeb685
dec eax
jne 0x7def8cef
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
mov ebx, edi
jmp 0x7dec2fd0
push 0xc
pop esi
cmp dword [ebp + 0x1c], esi
jb 0x7def8d2a
xor eax, eax
mov edi, dword [ebp + 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push dword [ebp + 0x18]
push ecx
push ebx
call fcn.7deeb6c3
mov dword [ebp - 0x20], eax
cmp eax, ebx
jl 0x7deaf6a1
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x7deaf69e
jmp 0x7def8d44
sal byte [esi + eax - 0x75], 8
jne 0x7def8d1c
mov byte [ebx + eax], dl
add byte [eax], al
sub bl, byte [esi]
adc eax, dword [eax + eax]
adc dword [edx + ebx], eax
inc byte [ecx]
sub al, 5
sub esp, dword [ecx]
sbb edx, dword [ebx]
add al, 0
adc dword [esi + edx], eax
inc byte [ecx]
sub al, 3
pop ss
adc eax, dword [eax + eax]
adc dword [esi + ebx], eax
inc byte [ecx]
sub al, 2
sub eax, dword [0xffff7b38]
dec dword [eax]
pop ss
salc
or al, 8
or dword [esi + 0x168f32b7], ecx
sub al, byte [eax]