Function at 0x459630
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x641304
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov ecx, dword [0x6a09fc]
push 3
call fcn.004d6b60
mov ebx, dword [0x6a09fc]
push 0xe8
mov edi, eax
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 0
je 0x45968a
push esi
mov ecx, eax
call fcn.004580e0
jmp 0x45968c
xor eax, eax
mov dword [esi + 0x174], eax
mov edx, dword [eax]
or ebp, 0xffffffff
push 0x9f
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx]
push 0x9c
call dword [eax + 0x44]
mov ecx, dword [esi + 0x174]
push 0x7af738
call fcn.00424350
mov ecx, dword [esi + 0x174]
mov edx, dword [ecx]
push ebp
call dword [edx + 0x2c]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx]
push ebp
call dword [eax + 0x24]
mov ecx, dword [esi + 0x174]
mov dword [ecx + 0x88], 0x4592b0
mov eax, dword [esi + 0x174]
push 0
push 4
mov ecx, ebx
mov dword [eax + 4], 1
call fcn.004d6920
mov ecx, dword [esi + 0x174]
push eax
push edi
call fcn.004581d0
push 1
push 4
mov ecx, ebx
call fcn.004d6aa0
mov ecx, dword [esi + 0x174]
push eax
push edi
call fcn.004581d0
push 2
push 4
mov ecx, ebx
call fcn.004d69e0
mov ecx, dword [esi + 0x174]
push eax
push edi
call fcn.004581d0
push 3
push 4
mov ecx, ebx
call fcn.004d6860
mov ecx, dword [esi + 0x174]
push eax
push edi
call fcn.004581d0
mov eax, dword [esi + 0x174]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xe8]
push 0x154
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x30], 1
je 0x459795
push ebx
push esi
mov ecx, eax
call fcn.004a8b20
jmp 0x459797
xor eax, eax
mov dword [esi + 0x148], eax
mov edx, dword [eax]
push 0x1d
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x148]
mov eax, dword [ecx]
push 0x45
call dword [eax + 0x44]
mov ecx, dword [esi + 0x148]
mov edx, dword [ecx]
push 0x77
call dword [edx + 0x4c]
mov ecx, dword [esi + 0x148]
mov eax, dword [ecx]
push 0x4d
call dword [eax + 0x54]
mov eax, dword [esi + 0x148]
mov dword [eax + 4], ebx
mov ecx, dword [esi + 0x148]
mov edx, dword [ecx]
push ebp
call dword [edx + 0x24]
mov ecx, dword [esi + 0x148]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
push 0xd8
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov dword [esp + 0x30], 2
je 0x45981e
push esi
mov ecx, eax
call fcn.004a4520
jmp 0x459820
xor eax, eax
mov dword [esi + 0x14c], eax
mov edx, dword [eax]
push 0xb
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x14c]
mov eax, dword [ecx]
push 0x12
call dword [eax + 0x44]
mov ecx, dword [esi + 0x14c]
mov edx, dword [ecx]
push ebp
call dword [edx + 0x2c]
mov ecx, dword [esi + 0x14c]
push 1
call fcn.0042c200
mov ecx, dword [esi + 0x14c]
push 0x7bd338
call fcn.00429030
mov ecx, dword [esi + 0x14c]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
push 0xd8
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov dword [esp + 0x30], 3
je 0x4598a1
push esi
mov ecx, eax
call fcn.004a4520
jmp 0x4598a3
xor eax, eax
mov dword [esi + 0x150], eax
mov edx, dword [eax]
push 0xe
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x150]
mov eax, dword [ecx]
push 0x2d
call dword [eax + 0x44]
mov ecx, dword [esi + 0x150]
mov edx, dword [ecx]
push ebp
call dword [edx + 0x2c]
mov ecx, dword [esi + 0x150]
push 1
call fcn.0042c200
mov ecx, dword [esi + 0x150]
push 0x7bd538
call fcn.00429030
mov ecx, dword [esi + 0x150]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
mov ecx, dword [0x6a09fc]
push 0x3f
call fcn.004d6b60
push 0xdc
mov edi, eax
mov dword [esp + 0x14], ebx
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
mov dword [esp + 0x30], 4
je 0x459937
push esi
mov ecx, eax
call fcn.004ba2c0
jmp 0x459939
xor eax, eax
mov dword [esi + 0x154], eax
mov edx, dword [eax]
push 0x9e
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x154]
mov eax, dword [ecx]
push 0x44
call dword [eax + 0x44]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x6a09fc]
push 0xd
push 0xd
call fcn.004d67c0
mov ecx, dword [esp + 0x10]
push ebx
call fcn.0041ef50
push 0xd
push 0x1a
push ebx
mov ebx, dword [sym.imp.user32.dll_SetRect]
push 0xd
lea edx, [esp + 0x28]
push edx
call ebx
mov ecx, dword [esp + 0x10]
push 0
push edi
push 0
push 0
lea eax, [esp + 0x28]
push eax
call fcn.0041f9b0
push 0x60
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 5
je 0x4599c6
mov ecx, eax
call fcn.0049ec40
jmp 0x4599c8
xor eax, eax
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, eax
mov dword [esp + 0x34], ebp
mov dword [esi + 0x168], eax
call fcn.0049f010
mov edx, dword [esi + 0x168]
mov ecx, dword [0x6a07e4]
push edx
call fcn.004a0440
mov ecx, dword [esi + 0x154]
mov edx, dword [esi + 0x168]
mov eax, dword [ecx]
push edx
call dword [eax + 0xe0]
mov ecx, dword [esi + 0x154]
mov eax, dword [ecx]
push 0
call dword [eax + 0x5c]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x459a28
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esp + 0x10], 0
mov ecx, dword [esi + 0x154]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
push 0xdc
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 6
je 0x459a60
push esi
mov ecx, eax
call fcn.004ba2c0
jmp 0x459a62
xor eax, eax
mov dword [esi + 0x158], eax
mov edx, dword [eax]
push 0x9e
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x158]
mov eax, dword [ecx]
push 0x54
call dword [eax + 0x44]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x6a09fc]
push 0xd
push 0xd
call fcn.004d67c0
mov ecx, dword [esp + 0x10]
push 0
call fcn.0041ef50
push 0xd
push 0x26
push 0
push 0x1a
lea edx, [esp + 0x28]
push edx
call ebx
mov ecx, dword [esp + 0x10]
push 0
push edi
push 0
push 0
lea eax, [esp + 0x28]
push eax
call fcn.0041f9b0
push 0x60
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 7
je 0x459aeb
mov ecx, eax
call fcn.0049ec40
jmp 0x459aed
xor eax, eax
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, eax
mov dword [esp + 0x34], ebp
mov dword [esi + 0x16c], eax
call fcn.0049f010
mov edx, dword [esi + 0x16c]
mov ecx, dword [0x6a07e4]
push edx
call fcn.004a0440
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x16c]
mov eax, dword [ecx]
push edx
call dword [eax + 0xe0]
mov ecx, dword [esi + 0x158]
mov eax, dword [ecx]
push 0
call dword [eax + 0x5c]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x459b4d
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esp + 0x10], 0
mov ecx, dword [esi + 0x158]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
push 0xdc
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 8
je 0x459b85
push esi
mov ecx, eax
call fcn.004ba2c0
jmp 0x459b87
xor eax, eax
mov dword [esi + 0x15c], eax
mov edx, dword [eax]
push 0x9e
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x15c]
mov eax, dword [ecx]
push 0x64
call dword [eax + 0x44]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [0x6a09fc]
push 0xd
push 0xd
call fcn.004d67c0
mov ecx, dword [esp + 0x10]
push 0
call fcn.0041ef50
push 0xd
push 0xd
push 0
push 0
lea edx, [esp + 0x28]
push edx
call ebx
mov ecx, dword [esp + 0x10]
push 0
push edi
push 0
push 0
lea eax, [esp + 0x28]
push eax
call fcn.0041f9b0
push 0x60
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 9
je 0x459c10
mov ecx, eax
call fcn.0049ec40
jmp 0x459c12
xor eax, eax
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, eax
mov dword [esp + 0x34], ebp
mov dword [esi + 0x170], eax
call fcn.0049f010
mov edx, dword [esi + 0x170]
mov ecx, dword [0x6a07e4]
push edx
call fcn.004a0440
mov ecx, dword [esi + 0x15c]
mov edx, dword [esi + 0x170]
mov eax, dword [ecx]
push edx
call dword [eax + 0xe0]
mov ecx, dword [esi + 0x15c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x5c]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x459c72
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esp + 0x10], 0
mov ecx, dword [esi + 0x15c]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
push 0xdc
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 0xa
je 0x459caa
push esi
mov ecx, eax
call fcn.004ba2c0
jmp 0x459cac
xor eax, eax
mov dword [esi + 0x160], eax
mov edx, dword [eax]
push 0x9e
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x160]
mov eax, dword [ecx]
push 0x74
call dword [eax + 0x44]
mov ecx, dword [esi + 0x160]
mov eax, dword [esi + 0x170]
mov edx, dword [ecx]
push eax
call dword [edx + 0xe0]
mov ecx, dword [esi + 0x160]
mov edx, dword [ecx]
push 0
call dword [edx + 0x5c]
mov ecx, dword [esi + 0x160]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
push 0xdc
call fcn.00614bf2
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x30], 0xb
je 0x459d29
push esi
mov ecx, eax
call fcn.004ba2c0
jmp 0x459d2b
xor eax, eax
mov dword [esi + 0x164], eax
mov edx, dword [eax]
push 0x9e
mov ecx, eax
mov dword [esp + 0x34], ebp
call dword [edx + 0x3c]
mov ecx, dword [esi + 0x164]
mov eax, dword [ecx]
push 0x84
call dword [eax + 0x44]
mov ecx, dword [esi + 0x164]
mov eax, dword [esi + 0x170]
mov edx, dword [ecx]
push eax
call dword [edx + 0xe0]
mov ecx, dword [esi + 0x164]
mov edx, dword [ecx]
push 0
call dword [edx + 0x5c]
mov ecx, dword [esi + 0x164]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xe8]
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret