Function at 0x40c740
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4475f9
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x45a6e4]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45a6e4]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x80], 2
push ebx
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x44f225
mov byte [ecx + 4], bl
call fcn.00401210
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 2
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x44f47c
mov dword [esp + 0x58], 1
mov byte [ecx + 4], bl
call fcn.00401210
lea eax, [esp + 0x38]
push eax
lea ebx, [esp + 0xac]
call fcn.0040c5f0
add esp, 0x24
mov byte [esp + 0x80], 3
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
cmp edi, ebp
jbe 0x40c7fc
call fcn.0042e24f
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], ebx
cmp edi, ebx
je 0x40c9f5
mov ecx, ebp
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x40c9ae
cmp edi, ebp
mov esi, edi
jbe 0x40c842
call fcn.0042e24f
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x54], esi
add esi, ecx
cmp esi, ebp
lea eax, [esp + 0x18]
mov ebx, eax
ja 0x40c85a
cmp esi, edi
jae 0x40c85f
call fcn.0042e24f
cmp esi, dword [ebx + 8]
jb 0x40c869
call fcn.0042e24f
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 0
mov byte [esp + 0x68], 0
call fcn.004015b0
push 2
push 0x44f480
lea edx, [esp + 0x60]
push edx
xor eax, eax
mov byte [esp + 0x8c], 4
call fcn.00401140
cmp eax, 0xffffffff
je 0x40ca75
push 2
push 0x44f480
lea eax, [esp + 0x60]
push eax
xor eax, eax
call fcn.00401140
mov ebp, eax
push ebp
xor ecx, ecx
lea esi, [esp + 0x38]
lea edx, [esp + 0x5c]
call fcn.00401110
mov esi, dword [eax + 0x14]
mov edx, 0x10
cmp dword [eax + 0x18], edx
jb 0x40c8e7
mov ecx, dword [eax + 4]
jmp 0x40c8ea
lea ecx, [eax + 4]
mov edi, dword [esp + 0xb8]
cmp edi, esi
mov eax, edi
jb 0x40c8f9
mov eax, esi
cmp dword [esp + 0xbc], edx
mov edx, dword [esp + 0xa8]
jae 0x40c910
lea edx, [esp + 0xa8]
call fcn.004012e0
test eax, eax
jne 0x40c92b
cmp edi, esi
jae 0x40c922
or eax, 0xffffffff
jmp 0x40c929
xor eax, eax
cmp edi, esi
setne al
test eax, eax
mov edi, 0x10
sete bl
mov byte [esp + 0x80], 4
cmp dword [esp + 0x4c], edi
jb 0x40c94e
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00411a2b
add esp, 4
test bl, bl
je 0x40ca7a
push 0xffffffffffffffff
lea ecx, [ebp + 2]
lea esi, [esp + 0x38]
lea edx, [esp + 0x5c]
call fcn.00401110
push 0xffffffffffffffff
push 0
mov byte [esp + 0x88], 6
mov ecx, dword [esp + 0x34]
push eax
call fcn.004015b0
cmp dword [esp + 0x4c], edi
jb 0x40c991
mov eax, dword [esp + 0x38]
push eax
call fcn.00411a2b
add esp, 4
cmp dword [esp + 0x70], edi
jb 0x40c9a4
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.00411a2b
add esp, 4
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
xor ebx, ebx
cmp edi, ebx
je 0x40c9f5
cmp edi, ebp
je 0x40c9ec
lea esi, [edi + 0x18]
lea esp, [esp]
cmp dword [esi], 0x10
jb 0x40c9d1
mov eax, dword [esi - 0x14]
push eax
call fcn.00411a2b
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], ebx
mov byte [esi - 0x14], 0
add esi, 0x1c
lea edx, [esi - 0x18]
cmp edx, ebp
jne 0x40c9c0
mov edi, dword [esp + 0x1c]
push edi
call fcn.00411a2b
add esp, 4
mov esi, 0x10
cmp dword [esp + 0xa0], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
jb 0x40ca1f
mov eax, dword [esp + 0x8c]
push eax
call fcn.00411a2b
add esp, 4
cmp dword [esp + 0xbc], esi
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x8c], 0
jb 0x40ca52
mov ecx, dword [esp + 0xa8]
push ecx
call fcn.00411a2b
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0042dc5d
add esp, 0x70
ret
mov edi, 0x10
mov byte [esp + 0x80], 3
cmp dword [esp + 0x70], edi
jb 0x40ca95
mov edx, dword [esp + 0x5c]
push edx
call fcn.00411a2b
add esp, 4
add dword [esp + 0x14], 1
add dword [esp + 0x28], 0x1c
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
xor ebx, ebx
jmp 0x40c808