Function at 0x745cec
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 8]
call fcn.00405880
xor eax, eax
push ebp
push 0x7465bc
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x746567
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x746553
push dword fs:[edx]
mov dword fs:[edx], esp
mov byte [ebp - 9], 1
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.004b0170
xor ecx, ecx
mov dl, 1
mov eax, dword [0x629c30]
call fcn.0062ad18
mov dword [ebp - 0x10], eax
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x4cc]
mov dword [eax + 0x4e0], edx
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov dl, byte [edx + 0x4d0]
mov byte [eax + 0x4e4], dl
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x4c8]
mov dword [eax + 0x4e8], edx
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov dl, byte [edx + 0x4d1]
mov byte [eax + 0x4ec], dl
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x4d4]
mov dword [eax + 0x4f0], edx
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x4d8]
mov dword [eax + 0x4f4], edx
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x4dc]
mov dword [eax + 0x4f8], edx
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x4e0]
mov dword [eax + 0x4fc], edx
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov dl, byte [edx + 0x4e4]
mov byte [eax + 0x500], dl
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov dl, byte [edx + 0x4e5]
mov byte [eax + 0x501], dl
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov dl, byte [edx + 0x4e6]
mov byte [eax + 0x502], dl
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov dl, byte [edx + 0x4e7]
mov byte [eax + 0x503], dl
mov eax, dword [ebp - 0x10]
call fcn.00637aa0
mov byte [eax + 0x30], 0
mov dl, 1
mov eax, dword [ebp - 0x10]
call fcn.00637bd4
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xfc], 1
mov eax, dword [ebp - 0x10]
call fcn.00637a4c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x68], 1
xor ecx, ecx
mov dl, 1
mov eax, dword [0x629c30]
call fcn.0062ad18
mov dword [ebp - 0x14], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x12c]
xor eax, eax
push ebp
push 0x745fdb
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x14]
call fcn.00637a4c
mov edx, dword [ebp - 8]
call fcn.00628bd8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x745fe9
mov eax, dword [0x8a9390]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x8aa28c]
xor edx, edx
mov dword [eax], edx
call fcn.0040d838
mov eax, dword [0x8a9dd8]
fstp qword [eax]
wait
cmp byte [ebp - 9], 0
jne 0x746020
call fcn.004045a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x746571
xor edx, edx
push ebp
push 0x7463b8
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
xor edx, edx
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00611314
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x320]
call fcn.006829c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x320]
xor edx, edx
call fcn.006829f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x320]
mov dl, 1
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov dl, 1
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x80]
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x320]
mov esi, dword [ebx + 0x184]
test esi, esi
jle 0x746106
imul eax, dword [ebx + 0x188], 0x64
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
mov dword [ebp - 0x30], esi
fild dword [ebp - 0x30]
fdivp st(1)
call fcn.00402f7c
push edx
push eax
lea eax, [ebp - 0x28]
call fcn.0040b1e8
lea eax, [ebp - 0x28]
mov edx, 0x7465d8
call fcn.00404e04
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
call fcn.0040544c
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.004054e4
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.004b0184
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x800]
cmp dword [eax + 0x4c8], 0
jle 0x746185
mov edx, dword [0x8a9588]
cmp byte [eax + 0x4e5], 0
je 0x746185
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00611314
dec eax
test eax, eax
jl 0x746185
inc eax
mov dword [ebp - 0x20], eax
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, edi
call fcn.006112ac
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x74617f
inc ebx
xor esi, esi
push esi
mov ecx, edi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0074581c
test al, al
je 0x74617b
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00882c1c
inc esi
dec ebx
jne 0x74615e
inc edi
dec dword [ebp - 0x20]
jne 0x746144
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00611314
dec eax
test eax, eax
jl 0x74631d
inc eax
mov dword [ebp - 0x20], eax
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov edx, edi
call fcn.006112ac
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x74626d
inc ebx
xor esi, esi
push esi
mov ecx, edi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0074581c
test al, al
je 0x746265
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x746202
mov edx, 0xffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov dl, 1
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0xdc]
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x328]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
je 0x746228
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x328]
cmp dword [eax + 0xc], 0
je 0x74622c
xor eax, eax
jmp 0x74622e
mov al, 1
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x33c]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x10]
call fcn.0088227c
call fcn.00882d78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
cmp byte [eax + 0x57], 0
je 0x746265
mov edx, dword [eax]
call dword [edx + 0x80]
inc esi
dec ebx
jne 0x7461c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00611314
dec eax
cmp edi, eax
jne 0x746291
mov eax, dword [ebp - 0x14]
call fcn.00637a4c
call fcn.00628cb8
mov byte [ebp - 0x15], 1
lea edx, [edi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x320]
call fcn.006829f0
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x320]
mov esi, dword [ebx + 0x184]
test esi, esi
jle 0x746307
imul eax, dword [ebx + 0x188], 0x64
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
mov dword [ebp - 0x30], esi
fild dword [ebp - 0x30]
fdivp st(1)
call fcn.00402f7c
push edx
push eax
lea eax, [ebp - 0x38]
call fcn.0040b1e8
lea eax, [ebp - 0x38]
mov edx, 0x7465d8
call fcn.00404e04
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
call fcn.0040544c
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0x1c]
call fcn.004054e4
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call fcn.004b0184
mov eax, dword [0x8a9c8c]
mov eax, dword [eax]
call fcn.004714e0
inc edi
dec dword [ebp - 0x20]
jne 0x7461a2
push 0xc8
call sub.kernel32.dll_Sleep_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7463c2
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x320]
xor edx, edx
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
xor edx, edx
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
call fcn.00611314
dec eax
jle 0x746398
mov eax, 0xa
call fcn.00889844
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0x314]
mov edx, dword [ebx + 0x40]
add edx, dword [ebx + 0x48]
add eax, edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x300]
cmp eax, dword [edx + 0x40]
jl 0x74639c
xor edx, edx
jmp 0x74639e
mov dl, 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x80]
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7465c3
lea eax, [ebp - 0x44]
mov edx, 3
call fcn.00405280
lea eax, [ebp - 0x38]
call fcn.00404b34
lea eax, [ebp - 0x34]
call fcn.00405268
lea eax, [ebp - 0x28]
call fcn.00404b34
lea eax, [ebp - 0x24]
call fcn.00405268
lea eax, [ebp - 0x1c]
call fcn.00405268
lea eax, [ebp - 8]
call fcn.00405268
ret