Function at 0x450630
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x596ce1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
call fcn.0056bc10
xor ebp, ebp
lea ecx, [esp + 0x18]
mov dword [esp + 0xbc], ebp
call fcn.0056bc10
lea ecx, [esp + 0x14]
mov byte [esp + 0xbc], 1
call fcn.0056bc10
mov eax, dword [esi]
mov ecx, esi
mov byte [esp + 0xbc], 2
call dword [eax + 0x40]
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x2c], eax
call dword [edx + 0xbc]
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xb8]
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x20], eax
call dword [edx + 0x30]
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.0044b560
mov ecx, esi
mov dword [esp + 0x1c], ebp
call fcn.00448a10
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4507cf
cmp dword [esp + 0xc4], ebx
jne 0x45073f
push ebp
lea ecx, [esi + 0x4c]
call fcn.004545c0
mov eax, dword [esp + 0xc8]
test eax, eax
mov dword [esp + 0x1c], 1
je 0x450727
mov ecx, esi
call fcn.004489a0
cmp ebx, eax
je 0x450709
mov dword [esp + 0xc8], ebp
push esi
call fcn.00444600
add esp, 4
push 0xffffffffffffffff
mov ecx, esi
call fcn.004479a0
push 0
mov ecx, esi
call fcn.00447e20
or ebx, 0xffffffff
mov eax, dword [esp + 0xcc]
push eax
call fcn.00404810
add esp, 4
test eax, eax
jne 0x4513d7
cmp ebx, 0xffffffff
je 0x4507cf
push ebx
call fcn.004405e0
mov ebp, eax
push ebp
call fcn.00404810
add esp, 8
test eax, eax
je 0x450793
mov ecx, ebp
call fcn.00423dd0
test eax, eax
jne 0x4507b4
mov ecx, ebp
call fcn.00423de0
test eax, eax
jne 0x4507b4
mov ecx, ebp
call fcn.00423e80
test eax, eax
jne 0x4507cf
mov ecx, ebp
call fcn.00424310
test eax, eax
jne 0x4507cf
push ebp
mov ecx, esi
call fcn.00447c00
jmp 0x4507b0
push ebx
call fcn.0043f0f0
mov ebx, eax
push ebx
call fcn.00404810
add esp, 8
test eax, eax
je 0x4507b4
push ebx
mov ecx, esi
call fcn.00447c50
test eax, eax
jne 0x4507cf
push esi
call fcn.00444600
add esp, 4
mov ecx, esi
push 0xffffffffffffffff
call fcn.004479a0
mov ecx, esi
push 0
call fcn.00447e20
mov edx, dword [esi]
or eax, 0xffffffff
push 1
mov ecx, esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], eax
call dword [edx + 0x8c]
mov ecx, esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], 0
call fcn.004479b0
mov ebx, eax
mov eax, dword [esi + 0x58]
cmp eax, 0x27
mov dword [esp + 0x34], ebx
jne 0x4508db
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4513d7
call fcn.0044b8c0
mov ebp, eax
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x450bc7
push ebx
push ebp
push edi
push 3
push 0x2724
call fcn.0053f010
add esp, 0x14
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebp
push edi
push 2
push 0x1b5c
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2647
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
call fcn.0056bec0
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push esi
push 0x5b3c4c
call fcn.0040b380
add esp, 8
push eax
push edi
push 0
lea ecx, [esp + 0x28]
call fcn.0056c060
push eax
call fcn.00422540
mov eax, dword [esp + 0x44]
add esp, 0x18
test eax, eax
je 0x450bc7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push 1
push 0
push 0xa5
push eax
push ecx
push 1
lea edx, [esp + 0x2c]
push edx
push edi
lea eax, [esp + 0x38]
push eax
jmp 0x450bbf
cmp eax, 0x28
jl 0x4509ce
cmp eax, 0x32
jg 0x4509ce
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4513d7
mov ecx, esi
call fcn.0044bf70
mov ebp, eax
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x450bc7
mov ecx, ebp
call fcn.00423de0
test eax, eax
je 0x450bc7
push ebx
push ebp
push edi
push 3
push 0x272d
call fcn.0053f010
add esp, 0x14
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebp
push edi
push 2
push 0x1b61
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2648
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
call fcn.0056bec0
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push esi
push 0x5b3c4c
call fcn.0040b380
add esp, 8
push eax
push edi
push 0
lea ecx, [esp + 0x28]
call fcn.0056c060
push eax
call fcn.00422540
mov eax, dword [esp + 0x44]
add esp, 0x18
test eax, eax
je 0x450bc7
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push 1
push 0
push 0xa5
push ecx
push edx
push 1
lea eax, [esp + 0x2c]
push eax
push edi
lea ecx, [esp + 0x38]
push ecx
jmp 0x450bbf
cmp eax, 0x34
jne 0x450afa
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4513d7
mov ecx, esi
call fcn.0044b8c0
mov ebp, eax
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x4513d7
cmp ebp, ebx
jne 0x450a33
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x64]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x24]
push eax
mov ecx, esi
call dword [edx + 0x34]
mov ecx, eax
call fcn.0042f430
mov ebx, eax
push ebx
call fcn.00404810
add esp, 4
test eax, eax
je 0x450a33
push ebx
mov ecx, esi
call fcn.004534e0
mov ecx, esi
call fcn.0044b8c0
mov ebp, eax
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x450bc7
push ebx
push ebp
push edi
push 3
push 0x273f
call fcn.0053f010
add esp, 0x14
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebx
push ebp
push edi
push 3
push 0x1b66
call fcn.0053f010
add esp, 0x14
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2649
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
call fcn.0056bec0
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push esi
push 0x5b3c4c
call fcn.0040b380
add esp, 8
push eax
push edi
push 0
lea ecx, [esp + 0x28]
call fcn.0056c060
push eax
call fcn.00422540
mov eax, dword [esp + 0x44]
add esp, 0x18
test eax, eax
je 0x450bc7
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push 1
push 0
push 0xa5
push eax
push ecx
push 1
lea edx, [esp + 0x2c]
push edx
push edi
lea eax, [esp + 0x38]
push eax
jmp 0x450bbf
cmp eax, 0x33
jne 0x450bdc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4513d7
mov ecx, esi
call fcn.0044b8c0
mov ebp, eax
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x450bc7
push ebx
push ebp
push edi
push 3
push 0x2736
call fcn.0053f010
add esp, 0x14
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1c]
call fcn.0056be60
push edi
push 1
push 0x264d
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
call fcn.0056bec0
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push esi
push 0x5b3c4c
call fcn.0040b380
add esp, 8
push eax
push edi
push 0
lea ecx, [esp + 0x28]
call fcn.0056c060
push eax
call fcn.00422540
mov eax, dword [esp + 0x44]
add esp, 0x18
test eax, eax
je 0x450bc7
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
push 1
push 0
push 0xa5
push edx
push eax
push 1
lea ecx, [esp + 0x2c]
push ecx
push edi
lea edx, [esp + 0x38]
push edx
call fcn.00422650
add esp, 0x24
push esi
call fcn.00444600
add esp, 4
mov ecx, esi
call fcn.0044dd90
jmp 0x4513d7
cmp eax, 0x26
jne 0x450e25
lea ecx, [esp + 0x44]
call fcn.00454010
push 0
lea eax, [esp + 0x48]
push eax
mov ecx, esi
mov byte [esp + 0xc4], 3
call fcn.00448820
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x450cb1
push esi
lea ecx, [esp + 0x48]
call fcn.00454240
test eax, eax
je 0x450cb1
lea ecx, [esp + 0x44]
call fcn.00454090
mov ecx, dword [esp + 0xcc]
push ecx
mov dword [esp + 0x20], eax
call fcn.00404810
add esp, 4
test eax, eax
je 0x450c6b
mov edx, dword [esp + 0x1c]
test byte [edx + 0x20], 1
je 0x450e14
mov eax, dword [esp + 0xcc]
push eax
mov ecx, edx
call fcn.00447c80
test eax, eax
jne 0x450e14
mov ecx, dword [esp + 0x1c]
test byte [ecx + 0x20], 1
je 0x450c87
mov edx, dword [ecx]
call dword [edx + 0x30]
push eax
call fcn.00404810
add esp, 4
test eax, eax
je 0x450c9b
mov eax, dword [esp + 0x1c]
push eax
mov ecx, esi
call fcn.00447c50
test eax, eax
je 0x450e14
lea ecx, [esp + 0x44]
mov byte [esp + 0xbc], 2
call fcn.00454520
jmp 0x4513d7
lea ecx, [esp + 0x44]
call fcn.00454050
mov ebp, eax
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x450e14
mov ecx, ebp
call fcn.00423dd0
test eax, eax
jne 0x450e14
mov ecx, ebp
call fcn.00423de0
test eax, eax
jne 0x450e14
mov ecx, ebp
call fcn.00423e80
test eax, eax
jne 0x450e14
push ebp
mov ecx, esi
call fcn.00447ce0
test eax, eax
je 0x450e14
push esi
call fcn.00444600
add esp, 4
push ebp
lea ecx, [esp + 0xa0]
call fcn.00454a60
lea ecx, [esp + 0x9c]
push ecx
mov ecx, esi
mov byte [esp + 0xc0], 4
call fcn.0044b850
push 0
mov ecx, esi
call fcn.00447a20
push ebp
push edi
push 2
push 0x2748
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebp
push edi
push 2
push 0x2650
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x18]
call fcn.0056bec0
push ebp
push 1
push 0x1b81
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push esi
push 0x5b3c4c
call fcn.0040b380
add esp, 8
push eax
push edi
push 0
lea ecx, [esp + 0x28]
call fcn.0056c060
push eax
call fcn.00422540
mov eax, dword [esp + 0x44]
add esp, 0x18
test eax, eax
je 0x450dea
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
push 1
push 0
push 0xa5
push edx
push eax
push 1
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edi
push edx
call fcn.00422650
add esp, 0x24
lea ecx, [esp + 0x9c]
mov byte [esp + 0xbc], 3
call fcn.00454520
lea ecx, [esp + 0x44]
mov byte [esp + 0xbc], 2
call fcn.00454520
jmp 0x4513d7
lea ecx, [esp + 0x44]
mov byte [esp + 0xbc], 2
call fcn.00454520
lea ecx, [esp + 0x7c]
call fcn.0045cd50
mov eax, dword [esp + 0xcc]
push eax
push 0xa
lea ecx, [esp + 0x84]
push ecx
mov ecx, esi
mov byte [esp + 0xc8], 5
call fcn.0044b770
lea ecx, [esp + 0x5c]
call fcn.00455510
mov edx, dword [esp + 0xcc]
push edx
push 0xa
lea eax, [esp + 0x64]
push eax
mov ecx, esi
mov byte [esp + 0xc8], 6
call fcn.00448610
mov eax, dword [esp + 0x88]
test eax, eax
mov dword [esp + 0x38], 0xffffffff
jne 0x450e95
mov ecx, dword [esp + 0x68]
test ecx, ecx
je switch.0x004510c8
xor ebx, ebx
test eax, eax
mov dword [esp + 0x1c], ebx
je 0x450f32
mov ebp, dword [esp + 0x80]
test ebp, ebp
je 0x450eeb
mov edi, edi
mov eax, ebp
mov ebx, dword [eax + 8]
test ebx, ebx
mov ebp, dword [ebp]
je 0x450edb
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x10]
test eax, eax
je 0x450edb
push 0x5b4074
mov ecx, ebx
call fcn.00591e20
test eax, eax
je 0x450edb
mov ecx, ebx
jmp 0x450edd
xor ecx, ecx
mov eax, dword [esp + 0x20]
push eax
call fcn.004487d0
test ebp, ebp
jne 0x450eb0
push 1
push 0x457570
lea ecx, [esp + 0x84]
call fcn.004583f0
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 8]
push edx
push 0x5b4074
call fcn.0040b380
mov ebx, eax
push ebx
mov dword [esp + 0x28], ebx
call fcn.00404810
add esp, 0xc
test eax, eax
je 0x450f2b
mov eax, dword [ebx + 8]
jmp 0x450f2e
or eax, 0xffffffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
xor ebp, ebp
test eax, eax
je 0x450fc4
mov ebp, dword [esp + 0x60]
test ebp, ebp
je 0x450f83
mov eax, ebp
mov ebx, dword [eax + 8]
test ebx, ebx
mov ebp, dword [ebp]
je 0x450f73
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
test eax, eax
je 0x450f73
push 0x5b3440
mov ecx, ebx
call fcn.00591e20
test eax, eax
je 0x450f73
mov ecx, ebx
jmp 0x450f75
xor ecx, ecx
mov edx, dword [esp + 0x20]
push edx
call fcn.00425080
test ebp, ebp
jne 0x450f48
push 1
push 0x457570
lea ecx, [esp + 0x64]
call fcn.004583f0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 8]
push ecx
push 0x5b3440
call fcn.0040b380
mov ebp, eax
push ebp
call fcn.00404810
add esp, 0xc
test eax, eax
je 0x450fb9
mov eax, dword [ebp + 8]
jmp 0x450fbc
or eax, 0xffffffff
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x40]
test ecx, ecx
jge 0x450fdb
mov eax, dword [esp + 0x24]
test eax, eax
jge 0x45100c
xor eax, eax
jmp 0x4510c4
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x450fe7
cmp ecx, eax
jg 0x45100c
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx + 0x8c]
mov edx, dword [ebx]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 4]
mov ecx, ebx
mov dword [esp + 0x38], eax
call dword [edx + 0xbc]
xor ebp, ebp
jmp 0x45102f
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x8c]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp]
mov dword [esp + 0x38], ecx
mov ecx, ebp
mov dword [esp + 0x24], eax
call dword [edx + 0xbc]
push 1
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.0044a910
test eax, eax
mov eax, dword [edi + 0x78]
je 0x451085
test eax, eax
je 0x45107e
cmp eax, 1
je 0x45107e
mov ecx, dword [esp + 0x3c]
xor ebx, ebx
cmp eax, 2
mov eax, dword [esp + 0x24]
push eax
push 0x64
push ecx
sete bl
call dword [sym.imp.SanCalc.dll_int___cdecl_muldiv_int__int__int_]
add esp, 0xc
neg ebx
sbb ebx, ebx
and ebx, 0x19
add eax, ebx
cmp eax, 0x64
jg 0x45107e
mov eax, 2
jmp 0x4510c4
mov eax, 1
jmp 0x4510c4
cmp eax, 3
je 0x4510bf
cmp eax, 2
je 0x4510bf
mov edx, dword [esp + 0x24]
push edx
xor ebx, ebx
cmp eax, 1
mov eax, dword [esp + 0x40]
push 0x64
push eax
sete bl
call dword [sym.imp.SanCalc.dll_int___cdecl_muldiv_int__int__int_]
add esp, 0xc
neg ebx
sbb ebx, ebx
and ebx, 0x19
sub eax, ebx
cmp eax, 0x64
mov eax, 4
jge 0x4510c4
mov eax, 3
mov ebx, dword [esp + 0x34]
jmp dword [eax*4 + 0x451428]
push edi
push 1
push 0x26f1
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push edi
push 1
push 0x1997
call fcn.0053f010
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2628
jmp 0x451229
push ebp
call fcn.00404810
add esp, 4
test eax, eax
je 0x451160
push ebp
push edi
push 2
push 0x2703
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebp
push edi
push 2
push 0x1ae6
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2624
jmp 0x4512df
mov ebx, dword [esp + 0x30]
push ebx
push edi
push 2
push 0x26fa
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebx
push edi
push 2
push 0x19a0
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2623
jmp 0x4512df
mov ebx, dword [esp + 0x30]
push ebx
push edi
push 2
push 0x270c
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebx
push edi
push 2
push 0x19a9
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x2629
jmp 0x451229
push ebx
push edi
push 2
push 0x2711
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
call fcn.0056bec0
push ebx
push edi
push 2
push 0x19b2
call fcn.0053f010
add esp, 0x10
push eax
lea ecx, [esp + 0x1c]
call fcn.0056bec0
push edi
push 1
push 0x262a
call fcn.0053f010
add esp, 0xc
lea ecx, [esp + 0x14]
push eax
call fcn.0056bec0
push esi
call fcn.00444600
add esp, 4
mov ecx, esi
call fcn.0044dd90
jmp 0x45135b
call fcn.0053f010
add esp, 0xc
lea ecx, [esp + 0x14]
push eax
call fcn.0056bec0
push esi
call fcn.00444600
push ebp
call fcn.00404810
add esp, 8
test eax, eax
je 0x451328
mov ebp, dword [ebp + 4]
mov ecx, dword [esp + 0x28]
push ebp
push 0x26
push ecx
call fcn.00441a70
add esp, 0xc
test eax, eax
jne 0x451328
push eax
push 0x20000
mov ecx, esi
call fcn.00448220
push 1
push 0x26
mov ecx, esi
call fcn.004485a0
mov edx, dword [esp + 0x38]
push edx
mov ecx, esi
call fcn.00447990
push 0
mov ecx, esi
call fcn.00447a20
push 0
call fcn.00447e20
push 1
push 0x1000000
call fcn.00448220
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push esi
push 0x5b3c4c
call fcn.0040b380
add esp, 8
push eax
push edi
push 0
lea ecx, [esp + 0x28]
call fcn.0056c060
push eax
call fcn.00422540
mov eax, dword [esp + 0x44]
add esp, 0x18
test eax, eax
je 0x4513b5
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push 1
push 0
push 0xa5
push eax
push ecx
push 1
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x34]
push edi
push eax
call fcn.00422650
add esp, 0x24
lea ecx, [esp + 0x5c]
mov byte [esp + 0xbc], 5
call fcn.00455530
lea ecx, [esp + 0x7c]
mov byte [esp + 0xbc], 2
call fcn.0045cd70
lea ecx, [esp + 0x14]
mov byte [esp + 0xbc], 1
call fcn.0056bd20
lea ecx, [esp + 0x18]
mov byte [esp + 0xbc], 0
call fcn.0056bd20
lea ecx, [esp + 0x10]
mov dword [esp + 0xbc], 0xffffffff
call fcn.0056bd20
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb0
ret 0xc