Function at 0x42d770
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x44ab47
mov eax, dword fs:[0]
push eax
mov eax, 0xb078
call fcn.0043ece0
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 0x42de86
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 0x42de6f
cmp byte [esp + 0x9a2a], 0
mov al, byte [esp + 0x9a26]
jne 0x42de4d
test al, al
je 0x42de4d
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 0x42d852
test byte [esp + 0x8034], 4
mov byte [esp + 0x17], 1
jne 0x42d857
mov byte [esp + 0x17], 0
lea ecx, [esp + 0x2c54]
call fcn.0041a150
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 0x42d870
push edi
push esi
mov dword [esp + 0x20], ebp
call fcn.0041b1f0
test al, al
je 0x42d924
cmp byte [esp + 0x16], 0
sete byte [esp + 0x24]
push 0xc20
call fcn.0043eec4
add esp, 4
mov dword [esp + 0x3c], eax
mov byte [esp + 0xb094], 1
test eax, eax
je 0x42d8bf
mov ecx, eax
call fcn.0041a0d0
mov ebx, eax
jmp 0x42d8c1
xor ebx, ebx
push edi
push esi
mov ecx, ebx
mov byte [esp + 0xb09c], 0
call fcn.0041aa20
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.00427b30
push edi
push esi
call fcn.0041b1f0
test al, al
jne 0x42d897
cmp ebp, 0xff
mov dword [esp + 0x18], ebp
jl 0x42d91b
push 0xe70
call fcn.00430700
push eax
push esi
call fcn.004127e0
add esp, 8
jmp 0x42de6f
cmp ebp, 1
je 0x42de6f
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 0x42d983
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 0x42d98e
lea ebp, [edi - 1]
mov dword [esp + 0x2c], ebp
lea edx, [edi + ebp]
cmp edx, 0xff
jle 0x42d9b8
push 0xe70
call fcn.00430700
push eax
push esi
call fcn.004127e0
mov ebp, 0xff
add esp, 8
sub ebp, edi
mov dword [esp + 0x2c], ebp
lea eax, [esp + 0xa888]
push eax
call fcn.00427610
mov esi, eax
test esi, esi
je 0x42da0d
cmp byte [esp + 0x16], 0
je 0x42da0a
lea ecx, [esp + 0xa888]
push ecx
call fcn.00427a60
mov esi, eax
lea edx, [esp + 0xa888]
cmp esi, edx
jbe 0x42da0a
lea esp, [esp]
movsx eax, byte [esi - 1]
push eax
call fcn.00435050
test al, al
je 0x42da0a
dec esi
lea ecx, [esp + 0xa888]
cmp esi, ecx
ja 0x42d9f0
mov byte [esi], 0
mov ecx, dword [ebx]
call fcn.0041a3d0
push edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.00435160
mov dword [esp + 0x1c], eax
test ebp, ebp
jle 0x42db90
mov esi, dword [esp + 0x24]
mov ebx, 1
mov dword [esp + 0x28], ebp
jmp 0x42da40
cmp byte [esp + 0x17], 0
je 0x42da81
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0xa658]
push str.__s__0_dd.rev
push eax
call fcn.0043e375
push ebx
lea ecx, [esp + 0xa898]
push ecx
lea edx, [esp + 0xa668]
push edx
lea eax, [esp + 0xaca0]
push eax
call fcn.0043e375
add esp, 0x1c
jmp 0x42dabd
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.0043e375
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.0043e375
add esp, 0x2c
push 0xc20
call fcn.0043eec4
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0xb094], 2
test eax, eax
je 0x42dae3
mov ecx, eax
call fcn.0041a0d0
jmp 0x42dae5
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.00419dd0
test al, al
jne 0x42db55
cmp byte [esp + 0x16], al
jne 0x42db38
lea eax, [esp + 0xac88]
push eax
mov ecx, 0x45d404
call fcn.00416800
movzx ecx, byte [esp + 0x16]
neg ecx
sbb ecx, ecx
and ecx, 0xf6
add ecx, 9
push ecx
mov ecx, 0x45d404
call fcn.004166a0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi]
push edx
push eax
call fcn.0041aae0
lea ecx, [esp + 0xac88]
push ecx
push 0xe56
call fcn.00430700
push eax
call fcn.00412050
add esp, 8
inc ebx
add esi, 4
sub dword [esp + 0x28], 1
jne 0x42da40
xor ebx, ebx
push 0x44c3e0
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], 0xffffffff
call fcn.00412050
add esp, 4
push ebp
lea ecx, [esp + 0x4c]
call fcn.00432760
lea esp, [esp]
call fcn.004359b0
cmp edi, ebx
mov dword [esp + 0x1c], ebx
jle 0x42dd2f
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.0041ad80
mov esi, eax
cmp esi, 0x8000
je 0x42dc17
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.0043e880
add esp, 0xc
mov eax, dword [esp + 0x1c]
cmp esi, eax
jle 0x42dc25
mov eax, esi
mov dword [esp + 0x1c], eax
inc ebx
add edi, 0x8000
cmp ebx, dword [esp + 0x18]
jl 0x42dbd3
test eax, eax
je 0x42dd2f
xor edi, edi
test eax, eax
jle 0x42dcab
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 0x42dc52
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 0x42dca4
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 0x42dc90
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x42dc40
mov ebx, dword [esp + 0x1c]
xor esi, esi
test ebp, ebp
jle 0x42dcd9
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.0041ab70
inc esi
add edi, 0x8000
cmp esi, ebp
jl 0x42dcc0
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.00434e80
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b4], 0
mov esi, eax
jne 0x42dd19
cmp esi, dword [esp + 0x28]
je 0x42dd19
push esi
push str._b_b_b_b_3d__
call fcn.00412050
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 0x42dbc0
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x28b4], 0
jne 0x42dd49
push str._b_b_b_b100__
call fcn.00412050
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 0x42de2b
cmp byte [esp + 0x17], 0
mov eax, dword [esp + 0x20]
mov esi, dword [eax + ebx*4]
je 0x42de0e
cmp ebx, dword [esp + 0x18]
jl 0x42de0e
mov ecx, esi
call fcn.0041a300
mov edi, edx
mov ebp, eax
test edi, edi
jl 0x42de2b
jg 0x42dd9c
cmp ebp, 4
jb 0x42de2b
mov ecx, ebp
sub ecx, 7
push 0
mov edx, edi
sbb edx, 0
push edx
push ecx
mov ecx, esi
call fcn.0041aaa0
mov al, byte [esp + 0x18]
dec al
movzx ecx, al
push ecx
mov ecx, esi
call fcn.0041ae90
mov dl, byte [esp + 0x2c]
dec dl
movzx eax, dl
push eax
mov ecx, esi
call fcn.0041ae90
mov cl, bl
sub cl, byte [esp + 0x18]
movzx edx, cl
push edx
mov ecx, esi
call fcn.0041ae90
push 0
sub ebp, 4
sbb edi, 0
push edi
push ebp
push esi
call fcn.0041bfc0
mov ebp, eax
xor edi, edi
mov ecx, edi
mov eax, ebp
shr eax, cl
mov ecx, esi
push eax
call fcn.0041ae90
add edi, 8
cmp edi, 0x20
jl 0x42ddf8
mov ecx, esi
call fcn.0041a150
mov ecx, dword [esp + 0x20]
mov dword [ecx + ebx*4], 0
inc ebx
cmp ebx, dword [esp + 0x24]
jl 0x42dd62
mov edx, dword [esp + 0x30]
cmp byte [edx + 0x28b6], 0
jne 0x42de6f
push 0xd16
call fcn.00430700
push eax
call fcn.00412050
add esp, 4
jmp 0x42de6f
movzx eax, al
neg eax
sbb eax, eax
and eax, 0xfffffec0
push esi
add eax, 0xe48
push eax
call fcn.00430700
push eax
push esi
call fcn.004127e0
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.0043e366
add esp, 0xb084
ret 0xc