Function at 0x452720
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x596d78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi]
push edi
call dword [eax + 0x34]
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x1c], eax
call dword [edx + 0x30]
mov ebx, dword [esp + 0x38]
mov edi, eax
push ebx
mov dword [esp + 0x14], edi
call fcn.00404810
add esp, 4
test eax, eax
je 0x452774
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
mov ebp, eax
mov dword [esp + 0x38], ebp
jmp 0x452780
mov dword [esp + 0x38], 0
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x45278f
mov ecx, esi
call fcn.00447900
test byte [esi + 0x20], 1
je 0x452a2e
mov ecx, esi
call fcn.004479b0
mov edi, eax
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.00423dd0
test eax, eax
jne 0x452b40
mov ecx, edi
call fcn.00423e80
test eax, eax
jne 0x452b40
mov ecx, edi
call fcn.00423e10
test eax, eax
jne 0x4529ca
push edi
push 0x5b3634
call fcn.0040b380
mov edi, eax
add esp, 8
mov ecx, edi
call fcn.00429080
push ebx
call fcn.00404810
add esp, 4
test eax, eax
je 0x4529ca
push edi
mov ecx, ebx
call fcn.0042c350
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x4529ca
mov eax, dword [esp + 0x10]
cmp ebp, eax
je 0x4529ca
push eax
call fcn.00404810
add esp, 4
test eax, eax
je 0x45283c
mov ecx, dword [esp + 0x10]
call fcn.0042d5e0
mov dword [esp + 0x14], eax
jmp 0x452844
mov dword [esp + 0x14], 0x12c
mov ecx, ebp
call fcn.0042d5e0
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 0x18], eax
call dword [edx + 0xe8]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 0x3e8
mov ebp, eax
push 0
sub eax, edx
add eax, ecx
push eax
push 1
push 0xb
push 0x32
call dword [sym.imp.SanCalc.dll_int___cdecl_rnd_int__enum_RANDOM_KIND__int_]
mov ecx, dword [esp + 0x30]
lea edx, [eax + ecx + 0x96]
add esp, 0xc
push edx
call dword [sym.imp.SanCalc.dll_int___cdecl_min_int__int_]
push eax
lea eax, [ebp + 0x12c]
push eax
call dword [sym.imp.SanCalc.dll_int___cdecl_min_int__int_]
add esp, 0x10
push eax
call dword [sym.imp.SanCalc.dll_int___cdecl_minmax_int__int__int_]
add esp, 0xc
push eax
mov ecx, edi
mov dword [esp + 0x28], eax
call fcn.00428c60
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x40]
test eax, eax
jne 0x4528e8
mov eax, dword [esp + 0x1c]
push eax
call fcn.00404810
add esp, 4
test eax, eax
je 0x4529c6
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
call dword [edx + 0x40]
test eax, eax
je 0x4529c6
lea ecx, [esp + 0x3c]
call fcn.0056bc10
mov ecx, dword [esp + 0x24]
cmp ebp, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], 0
jg 0x45295d
mov edx, dword [esp + 0x18]
sub edx, eax
cmp edx, 0x64
jl 0x452959
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
push eax
push edi
push 2
push 0x264e
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x40]
call fcn.0056bec0
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x3c]
test eax, eax
mov eax, edi
jne 0x452944
mov eax, dword [esp + 0x10]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb8]
push eax
push 2
lea ecx, [esp + 0x48]
push ecx
jmp 0x4529ad
cmp ebp, ecx
jl 0x4529b5
sub eax, dword [esp + 0x18]
cmp eax, 0x64
jl 0x4529b5
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
push edx
push edi
push 2
push 0x264f
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x40]
call fcn.0056bec0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
test eax, eax
mov eax, edi
jne 0x45299a
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xb8]
push eax
push 2
lea eax, [esp + 0x48]
push eax
call fcn.00422780
add esp, 0x10
lea ecx, [esp + 0x3c]
mov dword [esp + 0x30], 0xffffffff
call fcn.0056bd20
mov ebp, dword [esp + 0x38]
push ebx
mov ecx, esi
call fcn.00447cd0
mov edi, dword [esp + 0x1c]
push edi
call fcn.00404810
add esp, 4
test eax, eax
je 0x4529ec
push edi
call fcn.0043f8d0
add esp, 4
push ebx
call fcn.00404810
add esp, 4
test eax, eax
je 0x452a02
push ebx
call fcn.0043f8d0
add esp, 4
mov edi, dword [esp + 0x10]
mov ecx, esi
call fcn.0044dfa0
cmp ebp, edi
je 0x452b0e
mov eax, dword [esi + 0x20]
test al, 2
je 0x452a4f
push 0
push 0
push 0
mov ecx, esi
call fcn.0044f340
jmp 0x452b40
push ebx
call fcn.00404810
add esp, 4
test eax, eax
je 0x452a45
push esi
mov ecx, ebx
call fcn.0042c3b0
jmp 0x452a06
push ebx
mov ecx, esi
call fcn.00447cd0
jmp 0x452a06
test al, 1
push esi
je 0x452aea
call fcn.00444600
mov ecx, dword [esp + 0x44]
add esp, 4
push ecx
mov ecx, esi
call fcn.00451440
call fcn.0043f2b0
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x452a8b
cmp ebp, ebx
je 0x452a8b
push ebp
call fcn.0043f8d0
add esp, 4
mov ecx, esi
call fcn.004479b0
mov esi, eax
test byte [0x11c811c], 8
jne 0x452acf
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0xc4]
test eax, eax
je 0x452acf
push 1
push 8
mov ecx, 0x11c80e8
call fcn.00453590
push edi
call fcn.00404810
add esp, 4
test eax, eax
je 0x452acf
push 1
mov ecx, edi
call fcn.0042f140
push esi
call fcn.00422930
add esp, 4
mov ecx, esi
call fcn.00423e10
test eax, eax
jne 0x452b40
call fcn.00422a10
jmp 0x452b40
call fcn.00444600
mov eax, dword [esp + 0x44]
add esp, 4
push eax
mov ecx, esi
call fcn.00451440
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x78]
mov ecx, esi
call fcn.0044f2c0
jmp 0x452b40
mov ecx, esi
call fcn.0044d650
test eax, eax
je 0x452b40
test dword [esi + 0x20], 0x80000
je 0x452b40
mov ecx, esi
call fcn.0044c040
mov esi, eax
push esi
call fcn.00404810
add esp, 4
test eax, eax
je 0x452b40
push ebx
mov ecx, esi
call fcn.00424160
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret 0xc