Function at 0x42d7b0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x44aba7
mov eax, dword fs:[0]
push eax
mov eax, 0xb078
call fcn.0043ed40
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 0x42dec6
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 0x42deaf
cmp byte [esp + 0x9a2a], 0
mov al, byte [esp + 0x9a26]
jne 0x42de8d
test al, al
je 0x42de8d
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 0x42d892
test byte [esp + 0x8034], 4
mov byte [esp + 0x17], 1
jne 0x42d897
mov byte [esp + 0x17], 0
lea ecx, [esp + 0x2c54]
call fcn.0041a190
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 0x42d8b0
push edi
push esi
mov dword [esp + 0x20], ebp
call fcn.0041b230
test al, al
je 0x42d964
cmp byte [esp + 0x16], 0
sete byte [esp + 0x24]
push 0xc20
call fcn.0043ef24
add esp, 4
mov dword [esp + 0x3c], eax
mov byte [esp + 0xb094], 1
test eax, eax
je 0x42d8ff
mov ecx, eax
call fcn.0041a110
mov ebx, eax
jmp 0x42d901
xor ebx, ebx
push edi
push esi
mov ecx, ebx
mov byte [esp + 0xb09c], 0
call fcn.0041aa60
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.00427b70
push edi
push esi
call fcn.0041b230
test al, al
jne 0x42d8d7
cmp ebp, 0xff
mov dword [esp + 0x18], ebp
jl 0x42d95b
push 0xe70
call fcn.00430740
push eax
push esi
call fcn.00412810
add esp, 8
jmp 0x42deaf
cmp ebp, 1
je 0x42deaf
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 0x42d9c3
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 0x42d9ce
lea ebp, [edi - 1]
mov dword [esp + 0x2c], ebp
lea edx, [edi + ebp]
cmp edx, 0xff
jle 0x42d9f8
push 0xe70
call fcn.00430740
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.00427650
mov esi, eax
test esi, esi
je 0x42da4d
cmp byte [esp + 0x16], 0
je 0x42da4a
lea ecx, [esp + 0xa888]
push ecx
call fcn.00427aa0
mov esi, eax
lea edx, [esp + 0xa888]
cmp esi, edx
jbe 0x42da4a
lea esp, [esp]
movsx eax, byte [esi - 1]
push eax
call fcn.004350b0
test al, al
je 0x42da4a
dec esi
lea ecx, [esp + 0xa888]
cmp esi, ecx
ja 0x42da30
mov byte [esi], 0
mov ecx, dword [ebx]
call fcn.0041a410
push edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.004351c0
mov dword [esp + 0x1c], eax
test ebp, ebp
jle 0x42dbd0
mov esi, dword [esp + 0x24]
mov ebx, 1
mov dword [esp + 0x28], ebp
jmp 0x42da80
cmp byte [esp + 0x17], 0
je 0x42dac1
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0xa658]
push str.__s__0_dd.rev
push eax
call fcn.0043e3d5
push ebx
lea ecx, [esp + 0xa898]
push ecx
lea edx, [esp + 0xa668]
push edx
lea eax, [esp + 0xaca0]
push eax
call fcn.0043e3d5
add esp, 0x1c
jmp 0x42dafd
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.0043e3d5
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.0043e3d5
add esp, 0x2c
push 0xc20
call fcn.0043ef24
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0xb094], 2
test eax, eax
je 0x42db23
mov ecx, eax
call fcn.0041a110
jmp 0x42db25
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.00419e10
test al, al
jne 0x42db95
cmp byte [esp + 0x16], al
jne 0x42db78
lea eax, [esp + 0xac88]
push eax
mov ecx, 0x45d404
call fcn.00416830
movzx ecx, byte [esp + 0x16]
neg ecx
sbb ecx, ecx
and ecx, 0xf6
add ecx, 9
push ecx
mov ecx, 0x45d404
call fcn.004166d0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi]
push edx
push eax
call fcn.0041ab20
lea ecx, [esp + 0xac88]
push ecx
push 0xe56
call fcn.00430740
push eax
call fcn.00412080
add esp, 8
inc ebx
add esi, 4
sub dword [esp + 0x28], 1
jne 0x42da80
xor ebx, ebx
push 0x44c3e0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], 0xffffffff
call fcn.00412080
add esp, 4
push ebp
lea ecx, [esp + 0x4c]
call fcn.004327c0
lea esp, [esp]
call fcn.00435a10
cmp edi, ebx
mov dword [esp + 0x1c], ebx
jle 0x42dd6f
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.0041adc0
mov esi, eax
cmp esi, 0x8000
je 0x42dc57
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.0043e8e0
add esp, 0xc
mov eax, dword [esp + 0x1c]
cmp esi, eax
jle 0x42dc65
mov eax, esi
mov dword [esp + 0x1c], eax
inc ebx
add edi, 0x8000
cmp ebx, dword [esp + 0x18]
jl 0x42dc13
test eax, eax
je 0x42dd6f
xor edi, edi
test eax, eax
jle 0x42dceb
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 0x42dc92
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.004320b0
xor eax, eax
test ebp, ebp
jle 0x42dce4
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 0x42dcd0
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x42dc80
mov ebx, dword [esp + 0x1c]
xor esi, esi
test ebp, ebp
jle 0x42dd19
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.0041abb0
inc esi
add edi, 0x8000
cmp esi, ebp
jl 0x42dd00
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.00434ee0
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b4], 0
mov esi, eax
jne 0x42dd59
cmp esi, dword [esp + 0x28]
je 0x42dd59
push esi
push str._b_b_b_b_3d__
call fcn.00412080
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 0x42dc00
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x28b4], 0
jne 0x42dd89
push str._b_b_b_b100__
call fcn.00412080
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 0x42de6b
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x20]
mov esi, dword [eax + ebx*4]
je 0x42de4e
cmp ebx, dword [esp + 0x18]
jl 0x42de4e
mov ecx, esi
call fcn.0041a340
mov edi, edx
mov ebp, eax
test edi, edi
jl 0x42de6b
jg 0x42dddc
cmp ebp, 4
jb 0x42de6b
mov ecx, ebp
sub ecx, 7
push 0
mov edx, edi
sbb edx, 0
push edx
push ecx
mov ecx, esi
call fcn.0041aae0
mov al, byte [esp + 0x18]
dec al
movzx ecx, al
push ecx
mov ecx, esi
call fcn.0041aed0
mov dl, byte [esp + 0x2c]
dec dl
movzx eax, dl
push eax
mov ecx, esi
call fcn.0041aed0
mov cl, bl
sub cl, byte [esp + 0x18]
movzx edx, cl
push edx
mov ecx, esi
call fcn.0041aed0
push 0
sub ebp, 4
sbb edi, 0
push edi
push ebp
push esi
call fcn.0041c000
mov ebp, eax
xor edi, edi
mov ecx, edi
mov eax, ebp
shr eax, cl
mov ecx, esi
push eax
call fcn.0041aed0
add edi, 8
cmp edi, 0x20
jl 0x42de38
mov ecx, esi
call fcn.0041a190
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4], 0
inc ebx
cmp ebx, dword [esp + 0x24]
jl 0x42dda2
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b6], 0
jne 0x42deaf
push 0xd16
call fcn.00430740
push eax
call fcn.00412080
add esp, 4
jmp 0x42deaf
movzx eax, al
neg eax
sbb eax, eax
and eax, 0xfffffec0
push esi
add eax, 0xe48
push eax
call fcn.00430740
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.0043e3c6
add esp, 0xb084
ret 0xc