Function at 0x4d5210
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x56274d
mov eax, dword fs:[0]
push eax
sub esp, 0x140
mov eax, dword [0x5b3890]
xor eax, esp
mov dword [esp + 0x13c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5b3890]
xor eax, esp
push eax
lea eax, [esp + 0x154]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edi
test ebp, ebp
jne 0x4d526f
or eax, 0xffffffff
jmp 0x4d583d
push 0
push 0
push 0
call fcn.0043abc0
add esp, 8
push edx
push eax
lea ecx, [esp + 0x94]
push 0x64
push ecx
call fcn.0043ba30
mov edx, dword [ebp + 4]
add edx, 0x138
push edx
call fcn.004d2c80
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
lea esi, [ebp + 0x1c]
push ecx
call fcn.004de1f0
add esp, 0x1c
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x7c]
mov bl, al
mov byte [esp + 0x2b], 0
call fcn.00405970
xor eax, eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x34], eax
test bl, bl
je 0x4d52e7
cmp dword [edi + 0x24], 0xffffffff
je 0x4d52e7
mov edx, dword [esi]
mov eax, dword [edx]
mov dword [esp + 0x34], eax
mov ecx, edi
call fcn.004ca860
mov ebx, eax
test ebx, ebx
je 0x4d537e
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x24]
call fcn.0049eff0
mov dword [esp + 0x1c], vtable.cWCSF.0
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x658]
push edx
push ebx
lea eax, [esp + 0x24]
push str.In_user_profile_updating___d_
push eax
mov byte [esp + 0x16c], 1
call fcn.00403e80
mov ecx, dword [ebp + 4]
add esp, 0xc
push eax
add ecx, 0x138
push str.Error:__s_tAction:__s
push ecx
call fcn.0042f3c0
add esp, 0x10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], 0
mov dword [esp + 0x1c], vtable.cWCS.0
call fcn.0049ee80
lea ecx, [esp + 0x68]
mov dword [esp + 0x15c], 0xffffffff
call fcn.00405a00
mov eax, ebx
ret
jmp 0x4d583d
mov edx, dword [ebp + 4]
push edx
lea ecx, [esp + 0x44]
call fcn.004d3450
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1b8]
push 2
push ecx
mov byte [esp + 0x164], 2
call fcn.004d2ee0
add esp, 8
test al, al
jne 0x4d53b8
mov edi, dword [ebp + 4]
call fcn.004d48f0
test al, al
jne 0x4d53c8
mov ebx, dword [ebp + 4]
call fcn.004d4020
test al, al
jne 0x4d55d2
mov edx, dword [str.UPDATING]
push edx
call fcn.004c25f0
mov ecx, dword [ebp + 4]
push eax
mov eax, dword [str.STARTED]
push eax
push ecx
call fcn.004653d0
mov ebx, dword [esp + 0x40]
push ebx
push ebp
call fcn.004d4190
mov edi, eax
add esp, 0x18
test edi, edi
je 0x4d54b2
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x24]
call fcn.0049eff0
mov dword [esp + 0x1c], vtable.cWCSF.0
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0x658]
push eax
push edi
lea ecx, [esp + 0x24]
push str.In_elements_heights_culculated___d_
push ecx
mov byte [esp + 0x16c], 3
call fcn.00403e80
mov edx, dword [ebp + 4]
add esp, 0xc
push eax
add edx, 0x138
push str.Error:__s_tAction:__s
push edx
call fcn.0042f3c0
add esp, 0x10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], 2
mov dword [esp + 0x1c], vtable.cWCS.0
call fcn.0049ee80
cmp byte [esp + 0x40], 0
mov byte [esp + 0x15c], 0
je 0x4d548e
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x154]
add eax, 0x150
and dword [eax], 0xff7fffff
mov dword [eax + 4], ecx
lea ecx, [esp + 0x44]
call fcn.00405a00
lea ecx, [esp + 0x68]
mov dword [esp + 0x15c], 0xffffffff
call fcn.00405a00
mov eax, edi
jmp 0x4d583d
mov edx, dword [ebx + 0x24]
inc edx
neg edx
sbb edx, edx
push 1
and edx, ebx
push edx
mov ecx, ebp
call fcn.004ef720
mov edi, eax
test edi, edi
je 0x4d5550
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x24]
call fcn.0049eff0
mov dword [esp + 0x1c], vtable.cWCSF.0
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0x658]
push ecx
push edi
lea edx, [esp + 0x24]
push str.In_elements_heights_culculated___d_
push edx
mov byte [esp + 0x16c], 4
call fcn.00403e80
add esp, 0xc
push eax
mov eax, dword [ebp + 4]
add eax, 0x138
push str.Error:__s_tAction:__s
push eax
call fcn.0042f3c0
add esp, 0x10
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], 2
mov dword [esp + 0x1c], vtable.cWCS.0
call fcn.0049ee80
lea ecx, [esp + 0x40]
mov byte [esp + 0x15c], 0
call fcn.004d34b0
jmp 0x4d5497
mov eax, dword [esi]
mov ecx, dword [eax]
push ecx
call fcn.004de160
add esp, 4
test al, al
jne 0x4d55bd
push 0
lea ecx, [esp + 0x20]
call fcn.0049ab60
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0xdc]
mov eax, dword [eax + 0xd8]
push edx
push eax
push 1
push esi
push 0xffffffffffffffff
push 0xffffffffffffffff
lea ecx, [esp + 0x34]
push 0x10
push ecx
mov byte [esp + 0x17c], 5
call fcn.004ea860
mov edx, dword [esp + 0x3c]
mov eax, dword [esi]
mov ecx, dword [eax]
push 0
push edx
push ecx
call fcn.004ca100
add esp, 0x2c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], 2
call fcn.0049ac30
mov edx, dword [str.STARTED]
mov eax, dword [ebp + 4]
push 0
push edx
push eax
call fcn.004653d0
add esp, 0xc
mov ecx, dword [ebp + 4]
xor esi, esi
cmp dword [ecx + 0x10c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], esi
jle 0x4d57a4
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx]
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
test al, al
jne 0x4d57a8
cmp dword [ebx + 0x1b8], 2
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 0x108]
mov edi, dword [edx + esi*4]
jne 0x4d5625
mov eax, dword [edi + 0x1a8]
dec eax
cmp eax, 1
ja 0x4d578e
mov ecx, edi
call fcn.004677d0
test al, al
je 0x4d578e
push edi
lea ecx, [esp + 0x44]
call fcn.00449c00
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
call fcn.004520d0
add esp, 0xc
test al, al
jne 0x4d5660
push edi
call fcn.00452880
add esp, 4
test al, al
jne 0x4d5660
xor eax, eax
jmp 0x4d5665
mov eax, 1
or byte [esp + 0x17], al
mov ecx, edi
call fcn.00464b70
push eax
mov eax, dword [str.STARTED]
push 0
push 1
push 0
push eax
push 0
push ebp
call fcn.004d07d0
mov ecx, dword [str.STARTED]
push 0
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
call fcn.00469760
add esp, 0x30
call fcn.004d3410
mov dword [0x5b65e0], eax
test eax, eax
jne 0x4d56d2
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x658]
push edx
push str.License_is_invalid
add eax, 0x138
push str.Error:__s_tAction:__s
push eax
call fcn.0042f3c0
add esp, 0x10
mov esi, 3
jmp 0x4d56f6
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x6c]
push ecx
push edx
push eax
push edi
push ebx
call fcn.004d4df0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4d56fa
mov dword [esp + 0x38], esi
push 0
lea ecx, [esp + 0x20]
call fcn.0049ab60
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov byte [esp + 0x15c], 6
call eax
test al, al
mov eax, 2
jne 0x4d5723
mov eax, esi
lea ecx, [esp + 0x1c]
push ecx
push eax
lea ecx, [edi + 0x98]
call fcn.00447480
mov edx, dword [esp + 0x1c]
mov eax, dword [str.FINISHED]
push edx
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
call fcn.00469760
add esp, 0x14
neg esi
sbb esi, esi
mov ecx, edi
and esi, 0x64
call fcn.00464b70
mov ecx, dword [esp + 0x1c]
mov edx, dword [str.FINISHED]
push eax
push ecx
push 1
push esi
push edx
push 0
push ebp
call fcn.004d07d0
add esp, 0x1c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x15c], 2
call fcn.0049ac30
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
mov eax, dword [ebp + 4]
inc esi
cmp esi, dword [eax + 0x10c]
mov dword [esp + 0x2c], esi
jl 0x4d55eb
jmp 0x4d57a8
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x4d57f7
cmp byte [esp + 0x17], 0
je 0x4d57d0
push str.VaultSvc
push 1
lea ecx, [esp + 0x40]
call fcn.00421880
lea ecx, [esp + 0x38]
call fcn.004216f0
mov ecx, dword [ebp + 4]
call fcn.0043d9d0
mov esi, eax
test esi, esi
jne 0x4d57f7
mov edx, dword [ebx]
mov eax, dword [edx + 0x10]
mov ecx, ebx
call eax
test al, al
jne 0x4d57f7
push 0
push ebx
lea ecx, [esp + 0x48]
call fcn.0044acb0
cmp byte [esp + 0x40], 0
mov byte [esp + 0x15c], 0
je 0x4d581e
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x154]
add eax, 0x150
and dword [eax], 0xff7fffff
mov dword [eax + 4], ecx
lea ecx, [esp + 0x44]
call fcn.00405a00
lea ecx, [esp + 0x68]
mov dword [esp + 0x15c], 0xffffffff
call fcn.00405a00
mov eax, esi
mov ecx, dword [esp + 0x154]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x13c]
xor ecx, esp
call fcn.0051916c
add esp, 0x14c
ret