Function at 0x42d8f0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x44ad47
mov eax, dword fs:[0]
push eax
mov eax, 0xb078
call fcn.0043eed0
mov eax, dword [0x4537c0]
xor eax, esp
mov dword [esp + 0xb074], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4537c0]
xor eax, esp
push eax
lea eax, [esp + 0xb08c]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb09c]
mov esi, dword [esp + 0xb0a0]
mov edi, dword [esp + 0xb0a4]
xor ebp, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
cmp dword [eax + 0x28b0], ebp
je 0x42e006
push eax
lea ecx, [esp + 0x2c58]
call fcn.00408d80
push edi
push esi
lea ecx, [esp + 0x2c5c]
mov dword [esp + 0xb09c], ebp
call fcn.00409020
test al, al
je 0x42dfef
cmp byte [esp + 0x9a2a], 0
mov al, byte [esp + 0x9a26]
jne 0x42dfcd
test al, al
je 0x42dfcd
mov al, byte [esp + 0x7330]
shr al, 4
and al, 1
push 0x7b
lea ecx, [esp + 0x2c58]
mov byte [esp + 0x1a], al
call fcn.0040bbb0
test eax, eax
je 0x42d9d2
test byte [esp + 0x8034], 4
mov byte [esp + 0x17], 1
jne 0x42d9d7
mov byte [esp + 0x17], 0
lea ecx, [esp + 0x2c54]
call fcn.0041a260
lea edx, [esp + 0xa888]
mov eax, esi
sub edx, esi
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x42d9f0
push edi
push esi
mov dword [esp + 0x20], ebp
call fcn.0041b310
test al, al
je 0x42daa4
cmp byte [esp + 0x16], 0
sete byte [esp + 0x24]
push 0xc20
call fcn.0043f0b4
add esp, 4
mov dword [esp + 0x3c], eax
mov byte [esp + 0xb094], 1
test eax, eax
je 0x42da3f
mov ecx, eax
call fcn.0041a1e0
mov ebx, eax
jmp 0x42da41
xor ebx, ebx
push edi
push esi
mov ecx, ebx
mov byte [esp + 0xb09c], 0
call fcn.0041ab30
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ecx
push 0x400
push edi
mov dword [eax + ebp*4], ebx
push esi
inc ebp
call fcn.00427da0
push edi
push esi
call fcn.0041b310
test al, al
jne 0x42da17
cmp ebp, 0xff
mov dword [esp + 0x18], ebp
jl 0x42da9b
push 0xe70
call fcn.004308b0
push eax
push esi
call fcn.004128f0
add esp, 8
jmp 0x42dfef
cmp ebp, 1
je 0x42dfef
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov eax, edi
shl eax, 0xf
add eax, dword [ebx + 0x400]
lea edx, [ebx + edi*4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
mov ebp, dword [eax + 0x28b0]
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], ebp
test ebp, ebp
jge 0x42db03
mov ecx, ebp
imul ecx, edi
neg ecx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
sub ecx, edx
mov ecx, 0
setne cl
add ecx, eax
mov ebp, ecx
mov dword [esp + 0x2c], ebp
cmp ebp, edi
jl 0x42db0e
lea ebp, [edi - 1]
mov dword [esp + 0x2c], ebp
lea edx, [edi + ebp]
cmp edx, 0xff
jle 0x42db38
push 0xe70
call fcn.004308b0
push eax
push esi
call fcn.004128f0
mov ebp, 0xff
add esp, 8
sub ebp, edi
mov dword [esp + 0x2c], ebp
lea eax, [esp + 0xa888]
push eax
call fcn.00427880
mov esi, eax
test esi, esi
je 0x42db8d
cmp byte [esp + 0x16], 0
je 0x42db8a
lea ecx, [esp + 0xa888]
push ecx
call fcn.00427cd0
mov esi, eax
lea edx, [esp + 0xa888]
cmp esi, edx
jbe 0x42db8a
lea esp, [esp]
movsx eax, byte [esi - 1]
push eax
call fcn.00435210
test al, al
je 0x42db8a
dec esi
lea ecx, [esp + 0xa888]
cmp esi, ecx
ja 0x42db70
mov byte [esi], 0
mov ecx, dword [ebx]
call fcn.0041a4e0
push edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.00435320
mov dword [esp + 0x1c], eax
test ebp, ebp
jle 0x42dd10
mov esi, dword [esp + 0x24]
mov ebx, 1
mov dword [esp + 0x28], ebp
jmp 0x42dbc0
cmp byte [esp + 0x17], 0
je 0x42dc01
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0xa658]
push str.__s__0_dd.rev
push eax
call fcn.0043e565
push ebx
lea ecx, [esp + 0xa898]
push ecx
lea edx, [esp + 0xa668]
push edx
lea eax, [esp + 0xaca0]
push eax
call fcn.0043e565
add esp, 0x1c
jmp 0x42dc3d
mov eax, dword [esp + 0x1c]
push eax
push eax
push eax
lea ecx, [esp + 0xa660]
push str.__s__0_dd___0_dd___0_dd.rev
push ecx
call fcn.0043e565
push ebx
push ebp
push edi
lea edx, [esp + 0xa8a8]
push edx
lea eax, [esp + 0xa678]
push eax
lea ecx, [esp + 0xacb0]
push ecx
call fcn.0043e565
add esp, 0x2c
push 0xc20
call fcn.0043f0b4
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0xb094], 2
test eax, eax
je 0x42dc63
mov ecx, eax
call fcn.0041a1e0
jmp 0x42dc65
xor eax, eax
mov ecx, dword [esp + 0x30]
push 0
push 0x7fffffff
push 0x7fffffff
lea edx, [esp + 0x22]
push edx
mov dword [esi], eax
mov edx, dword [ecx + 0x28a4]
push edx
push 0
lea edx, [esp + 0xaca0]
push edx
push eax
push ecx
mov byte [esp + 0xb0b8], 0
call fcn.00419ee0
test al, al
jne 0x42dcd5
cmp byte [esp + 0x16], al
jne 0x42dcb8
lea eax, [esp + 0xac88]
push eax
mov ecx, 0x45d404
call fcn.00416910
movzx ecx, byte [esp + 0x16]
neg ecx
sbb ecx, ecx
and ecx, 0xf6
add ecx, 9
push ecx
mov ecx, 0x45d404
call fcn.004167b0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi]
push edx
push eax
call fcn.0041abf0
lea ecx, [esp + 0xac88]
push ecx
push 0xe56
call fcn.004308b0
push eax
call fcn.00412160
add esp, 8
inc ebx
add esi, 4
sub dword [esp + 0x28], 1
jne 0x42dbc0
xor ebx, ebx
push 0x44c3e0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], 0xffffffff
call fcn.00412160
add esp, 4
push ebp
lea ecx, [esp + 0x4c]
call fcn.00432900
lea esp, [esp]
call fcn.00435b40
cmp edi, ebx
mov dword [esp + 0x1c], ebx
jle 0x42deaf
xor edi, edi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x400]
mov ecx, dword [ecx + ebx*4]
add eax, edi
push 0x8000
push eax
call fcn.0041ae90
mov esi, eax
cmp esi, 0x8000
je 0x42dd97
mov ecx, dword [esp + 0x20]
mov edx, 0x8000
sub edx, esi
push edx
lea eax, [edi + esi]
add eax, dword [ecx + 0x400]
push 0
push eax
call fcn.0043ea70
add esp, 0xc
mov eax, dword [esp + 0x1c]
cmp esi, eax
jle 0x42dda5
mov eax, esi
mov dword [esp + 0x1c], eax
inc ebx
add edi, 0x8000
cmp ebx, dword [esp + 0x18]
jl 0x42dd53
test eax, eax
je 0x42deaf
xor edi, edi
test eax, eax
jle 0x42de2b
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0x400]
mov esi, dword [esp + 0x18]
xor eax, eax
add ecx, edi
mov dl, byte [ecx]
mov byte [esp + eax + 0xa688], dl
inc eax
add ecx, 0x8000
cmp eax, esi
jl 0x42ddd2
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xa788]
push eax
push ecx
lea edx, [esp + 0xa690]
push edx
lea ecx, [esp + 0x54]
call fcn.004321f0
xor eax, eax
test ebp, ebp
jle 0x42de24
mov ecx, dword [esp + 0x3c]
add ecx, edi
mov dl, byte [esp + eax + 0xa788]
mov byte [ecx], dl
inc eax
add ecx, 0x8000
cmp eax, ebp
jl 0x42de10
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x42ddc0
mov ebx, dword [esp + 0x1c]
xor esi, esi
test ebp, ebp
jle 0x42de59
mov edi, dword [esp + 0x3c]
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + esi*4]
push ebx
push edi
call fcn.0041ac80
inc esi
add edi, 0x8000
cmp esi, ebp
jl 0x42de40
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
call fcn.00435010
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b4], 0
mov esi, eax
jne 0x42de99
cmp esi, dword [esp + 0x28]
je 0x42de99
push esi
push str._b_b_b_b_3d__
call fcn.00412160
add esp, 8
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x18]
mov eax, ebx
cdq
add dword [esp + 0x34], eax
adc dword [esp + 0x38], edx
xor ebx, ebx
jmp 0x42dd40
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x28b4], 0
jne 0x42dec9
push str._b_b_b_b100__
call fcn.00412160
add esp, 4
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx]
xor ebx, ebx
mov dword [esp + 0x24], eax
test eax, eax
jle 0x42dfab
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x20]
mov esi, dword [eax + ebx*4]
je 0x42df8e
cmp ebx, dword [esp + 0x18]
jl 0x42df8e
mov ecx, esi
call fcn.0041a410
mov edi, edx
mov ebp, eax
test edi, edi
jl 0x42dfab
jg 0x42df1c
cmp ebp, 4
jb 0x42dfab
mov ecx, ebp
sub ecx, 7
push 0
mov edx, edi
sbb edx, 0
push edx
push ecx
mov ecx, esi
call fcn.0041abb0
mov al, byte [esp + 0x18]
dec al
movzx ecx, al
push ecx
mov ecx, esi
call fcn.0041afa0
mov dl, byte [esp + 0x2c]
dec dl
movzx eax, dl
push eax
mov ecx, esi
call fcn.0041afa0
mov cl, bl
sub cl, byte [esp + 0x18]
movzx edx, cl
push edx
mov ecx, esi
call fcn.0041afa0
push 0
sub ebp, 4
sbb edi, 0
push edi
push ebp
push esi
call fcn.0041c0e0
mov ebp, eax
xor edi, edi
mov ecx, edi
mov eax, ebp
shr eax, cl
mov ecx, esi
push eax
call fcn.0041afa0
add edi, 8
cmp edi, 0x20
jl 0x42df78
mov ecx, esi
call fcn.0041a260
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4], 0
inc ebx
cmp ebx, dword [esp + 0x24]
jl 0x42dee2
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b6], 0
jne 0x42dfef
push 0xd16
call fcn.004308b0
push eax
call fcn.00412160
add esp, 4
jmp 0x42dfef
movzx eax, al
neg eax
sbb eax, eax
and eax, 0xfffffec0
push esi
add eax, 0xe48
push eax
call fcn.004308b0
push eax
push esi
call fcn.004128f0
add esp, 0xc
lea ecx, [esp + 0x2c54]
mov dword [esp + 0xb094], 0xffffffff
call fcn.00401fb0
mov ecx, dword [esp + 0xb08c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb074]
xor ecx, esp
call fcn.0043e556
add esp, 0xb084
ret 0xc