Function at 0x42d7c0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x44abf7
mov eax, dword fs:[0]
push eax
mov eax, 0xb078
call fcn.0043ec90
mov eax, dword [0x4537b0]
xor eax, esp
mov dword [esp + 0xb074], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4537b0]
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 0x42ded6
push eax
lea ecx, [esp + 0x2c58]
call fcn.00408d60
push edi
push esi
lea ecx, [esp + 0x2c5c]
mov dword [esp + 0xb09c], ebp
call fcn.00409000
test al, al
je 0x42debf
cmp byte [esp + 0x9a2a], 0
mov al, byte [esp + 0x9a26]
jne 0x42de9d
test al, al
je 0x42de9d
mov al, byte [esp + 0x7330]
shr al, 4
and al, 1
push 0x7b
lea ecx, [esp + 0x2c58]
mov byte [esp + 0x1a], al
call fcn.0040bb90
test eax, eax
je 0x42d8a2
test byte [esp + 0x8034], 4
mov byte [esp + 0x17], 1
jne 0x42d8a7
mov byte [esp + 0x17], 0
lea ecx, [esp + 0x2c54]
call fcn.0041a170
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 0x42d8c0
push edi
push esi
mov dword [esp + 0x20], ebp
call fcn.0041b210
test al, al
je 0x42d974
cmp byte [esp + 0x16], 0
sete byte [esp + 0x24]
push 0xc20
call fcn.0043ee74
add esp, 4
mov dword [esp + 0x3c], eax
mov byte [esp + 0xb094], 1
test eax, eax
je 0x42d90f
mov ecx, eax
call fcn.0041a0f0
mov ebx, eax
jmp 0x42d911
xor ebx, ebx
push edi
push esi
mov ecx, ebx
mov byte [esp + 0xb09c], 0
call fcn.0041aa40
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.00427be0
push edi
push esi
call fcn.0041b210
test al, al
jne 0x42d8e7
cmp ebp, 0xff
mov dword [esp + 0x18], ebp
jl 0x42d96b
push 0xe70
call fcn.00430730
push eax
push esi
call fcn.00412810
add esp, 8
jmp 0x42debf
cmp ebp, 1
je 0x42debf
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 0x42d9d3
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 0x42d9de
lea ebp, [edi - 1]
mov dword [esp + 0x2c], ebp
lea edx, [edi + ebp]
cmp edx, 0xff
jle 0x42da08
push 0xe70
call fcn.00430730
push eax
push esi
call fcn.00412810
mov ebp, 0xff
add esp, 8
sub ebp, edi
mov dword [esp + 0x2c], ebp
lea eax, [esp + 0xa888]
push eax
call fcn.004276c0
mov esi, eax
test esi, esi
je 0x42da60
cmp byte [esp + 0x16], 0
je 0x42da5d
lea ecx, [esp + 0xa888]
push ecx
call fcn.00427b10
mov esi, eax
lea edx, [esp + 0xa888]
cmp esi, edx
jbe 0x42da5d
lea esp, [esp]
movsx eax, byte [esi - 1]
push eax
call fcn.0043f50f
add esp, 4
test eax, eax
je 0x42da5d
dec esi
lea ecx, [esp + 0xa888]
cmp esi, ecx
ja 0x42da40
mov byte [esi], 0
mov ecx, dword [ebx]
call fcn.0041a3f0
push edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.00435130
mov dword [esp + 0x1c], eax
test ebp, ebp
jle 0x42dbe0
mov esi, dword [esp + 0x24]
mov ebx, 1
mov dword [esp + 0x28], ebp
mov edi, edi
cmp byte [esp + 0x17], 0
je 0x42dad1
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0xa658]
push str.__s__0_dd.rev
push eax
call fcn.0043e325
push ebx
lea ecx, [esp + 0xa898]
push ecx
lea edx, [esp + 0xa668]
push edx
lea eax, [esp + 0xaca0]
push eax
call fcn.0043e325
add esp, 0x1c
jmp 0x42db0d
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.0043e325
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.0043e325
add esp, 0x2c
push 0xc20
call fcn.0043ee74
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0xb094], 2
test eax, eax
je 0x42db33
mov ecx, eax
call fcn.0041a0f0
jmp 0x42db35
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.00419df0
test al, al
jne 0x42dba5
cmp byte [esp + 0x16], al
jne 0x42db88
lea eax, [esp + 0xac88]
push eax
mov ecx, 0x45d404
call fcn.00416820
movzx ecx, byte [esp + 0x16]
neg ecx
sbb ecx, ecx
and ecx, 0xf6
add ecx, 9
push ecx
mov ecx, 0x45d404
call fcn.004166c0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi]
push edx
push eax
call fcn.0041ab00
lea ecx, [esp + 0xac88]
push ecx
push 0xe56
call fcn.00430730
push eax
call fcn.00412060
add esp, 8
inc ebx
add esi, 4
sub dword [esp + 0x28], 1
jne 0x42da90
xor ebx, ebx
push 0x44c3e0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], 0xffffffff
call fcn.00412060
add esp, 4
push ebp
lea ecx, [esp + 0x4c]
call fcn.00432760
lea esp, [esp]
call fcn.00435950
cmp edi, ebx
mov dword [esp + 0x1c], ebx
jle 0x42dd7f
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.0041ada0
mov esi, eax
cmp esi, 0x8000
je 0x42dc67
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.0043e830
add esp, 0xc
mov eax, dword [esp + 0x1c]
cmp esi, eax
jle 0x42dc75
mov eax, esi
mov dword [esp + 0x1c], eax
inc ebx
add edi, 0x8000
cmp ebx, dword [esp + 0x18]
jl 0x42dc23
test eax, eax
je 0x42dd7f
xor edi, edi
test eax, eax
jle 0x42dcfb
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 0x42dca2
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.00432050
xor eax, eax
test ebp, ebp
jle 0x42dcf4
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 0x42dce0
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x42dc90
mov ebx, dword [esp + 0x1c]
xor esi, esi
test ebp, ebp
jle 0x42dd29
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.0041ab90
inc esi
add edi, 0x8000
cmp esi, ebp
jl 0x42dd10
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.00434e60
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b4], 0
mov esi, eax
jne 0x42dd69
cmp esi, dword [esp + 0x28]
je 0x42dd69
push esi
push str._b_b_b_b_3d__
call fcn.00412060
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 0x42dc10
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x28b4], 0
jne 0x42dd99
push str._b_b_b_b100__
call fcn.00412060
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 0x42de7b
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x20]
mov esi, dword [eax + ebx*4]
je 0x42de5e
cmp ebx, dword [esp + 0x18]
jl 0x42de5e
mov ecx, esi
call fcn.0041a320
mov edi, edx
mov ebp, eax
test edi, edi
jl 0x42de7b
jg 0x42ddec
cmp ebp, 4
jb 0x42de7b
mov ecx, ebp
sub ecx, 7
push 0
mov edx, edi
sbb edx, 0
push edx
push ecx
mov ecx, esi
call fcn.0041aac0
mov al, byte [esp + 0x18]
dec al
movzx ecx, al
push ecx
mov ecx, esi
call fcn.0041aeb0
mov dl, byte [esp + 0x2c]
dec dl
movzx eax, dl
push eax
mov ecx, esi
call fcn.0041aeb0
mov cl, bl
sub cl, byte [esp + 0x18]
movzx edx, cl
push edx
mov ecx, esi
call fcn.0041aeb0
push 0
sub ebp, 4
sbb edi, 0
push edi
push ebp
push esi
call fcn.0041bfe0
mov ebp, eax
xor edi, edi
mov ecx, edi
mov eax, ebp
shr eax, cl
mov ecx, esi
push eax
call fcn.0041aeb0
add edi, 8
cmp edi, 0x20
jl 0x42de48
mov ecx, esi
call fcn.0041a170
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4], 0
inc ebx
cmp ebx, dword [esp + 0x24]
jl 0x42ddb2
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b6], 0
jne 0x42debf
push 0xd16
call fcn.00430730
push eax
call fcn.00412060
add esp, 4
jmp 0x42debf
movzx eax, al
neg eax
sbb eax, eax
and eax, 0xfffffec0
push esi
add eax, 0xe48
push eax
call fcn.00430730
push eax
push esi
call fcn.00412810
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.0043e316
add esp, 0xb084
ret 0xc