Function at 0x79c340
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x79ce56
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
test eax, eax
je 0x79c37a
mov edx, dword [0x8a9588]
cmp dword [eax + 0x2f8], 0
jne 0x79c37e
xor ebx, ebx
jmp 0x79c380
mov bl, 1
mov byte [ebp - 0x39], 0
call fcn.00876110
test al, al
je 0x79c93e
xor eax, eax
push ebp
push 0x79c937
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.007939cc
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.007af630
xor ecx, ecx
mov dl, 1
mov eax, dword [0x629c30]
call fcn.0062ad18
mov dword [ebp - 8], eax
xor edx, edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, dword [ebp - 8]
call fcn.00637aa0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 8]
call fcn.0062cc08
call fcn.0044773c
mov dx, 2
call fcn.00447704
test al, al
jne 0x79c410
push 8
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
jne 0x79c410
push 0x11
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
je 0x79c56a
mov eax, dword [ebp - 8]
call fcn.00637aa0
call fcn.005f0104
test bl, bl
je 0x79c588
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
cmp dword [eax + 0xe64], 0
jne 0x79c450
cmp dword [eax + 0xe60], 0
jbe 0x79c588
jmp 0x79c456
jle 0x79c588
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
cmp dword [eax + 0xe5c], 0
je 0x79c588
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov esi, eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0xe5c]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp esi, eax
jne 0x79c588
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0xe5c]
mov edx, dword [eax]
call dword [edx + 8]
cmp esi, eax
jne 0x79c588
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
call fcn.00839948
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov edx, dword [eax + 0xe64]
mov eax, dword [eax + 0xe60]
cmp edx, dword [ebp - 0x34]
jne 0x79c588
cmp eax, dword [ebp - 0x38]
jne 0x79c588
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x7f0]
mov edx, dword [edx + 0x2f8]
mov edx, dword [edx + 0xe5c]
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov byte [ebp - 0x39], 1
jmp 0x79c588
push 3
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
jne 0x79c580
push 0xe
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
je 0x79c588
mov eax, dword [ebp - 8]
call fcn.00885b18
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x79c921
or edi, 0xffffffff
or esi, 0xffffffff
mov dword [ebp - 0x14], 0x14
test bl, bl
je 0x79c721
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
cmp byte [eax + 0x46d], 0
je 0x79c691
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0062cd08
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0062cc80
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
inc eax
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x7f0]
mov edx, dword [edx + 0x2f8]
cmp eax, dword [edx + 0xe54]
jne 0x79c721
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0062cd4c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0062ccc4
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
inc eax
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x7f0]
mov edx, dword [edx + 0x2f8]
cmp eax, dword [edx + 0xe58]
jne 0x79c721
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov edi, dword [eax + 0xe4c]
add edi, dword [ebp - 0x14]
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov esi, dword [eax + 0xe50]
add esi, dword [ebp - 0x14]
jmp 0x79c721
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x7f0]
mov edx, dword [edx + 0x2f8]
cmp eax, dword [edx + 0xe54]
jne 0x79c721
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x7f0]
mov edx, dword [edx + 0x2f8]
cmp eax, dword [edx + 0xe58]
jne 0x79c721
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov edi, dword [eax + 0xe4c]
add edi, dword [ebp - 0x14]
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7f0]
mov eax, dword [eax + 0x2f8]
mov esi, dword [eax + 0xe50]
add esi, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x2f0]
fild dword [ebx + 0x3e8]
fld qword [ebx + 0x3f0]
fdiv dword [0x79ce68]
fdivp st(1)
call fcn.00402f7c
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
fild dword [ebx + 0x3ec]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f0]
fdiv dword [0x79ce68]
fdivp st(1)
call fcn.00402f7c
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov eax, dword [eax + 0x3e8]
add eax, dword [ebx + 0x41c]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f0]
fdiv dword [0x79ce68]
fdivp st(1)
call fcn.00402f7c
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov eax, dword [eax + 0x3ec]
add eax, dword [ebx + 0x420]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f0]
fdiv dword [0x79ce68]
fdivp st(1)
call fcn.00402f7c
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
cmp edi, 0xffffffff
jne 0x79c7f5
cmp esi, 0xffffffff
je 0x79c80f
cmp edi, dword [ebp - 0x18]
jl 0x79c809
cmp edi, dword [ebp - 0x20]
jg 0x79c809
cmp esi, dword [ebp - 0x1c]
jl 0x79c809
cmp esi, dword [ebp - 0x24]
jle 0x79c80f
or edi, 0xffffffff
or esi, 0xffffffff
cmp edi, 0xffffffff
je 0x79c81d
cmp esi, 0xffffffff
jne 0x79c89d
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
sar eax, 1
jns 0x79c834
adc eax, 0
push eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x2f0]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x110]
mov edx, eax
sar edx, 1
jns 0x79c851
adc edx, 0
mov eax, esi
call fcn.0062d088
mov edi, eax
pop eax
sub edi, eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
sar eax, 1
jns 0x79c874
adc eax, 0
push eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x2f0]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x114]
mov edx, eax
sar edx, 1
jns 0x79c891
adc edx, 0
mov eax, esi
call fcn.0062d14c
pop edx
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, edi
cmp eax, dword [ebp - 0x20]
jle 0x79c8c9
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, dword [ebp - 0x20]
sub edi, eax
cmp edi, dword [ebp - 0x18]
jge 0x79c8d1
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
add eax, esi
cmp eax, dword [ebp - 0x24]
jle 0x79c8fd
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov esi, dword [ebp - 0x24]
sub esi, eax
cmp esi, dword [ebp - 0x1c]
jge 0x79c905
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
push eax
mov al, byte [ebp - 0x39]
push eax
mov ecx, esi
mov edx, edi
mov eax, dword [ebp - 4]
call fcn.0079be48
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x79ce3b
lea eax, [ebp - 8]
call fcn.00411378
ret
mov eax, dword [0x8a9770]
mov eax, dword [eax]
push eax
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
je 0x79ce3b
mov eax, dword [ebp - 4]
call fcn.007939cc
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.007af630
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0058023c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x78c]
cmp byte [eax + 0x170], 0
jne 0x79c990
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00795490
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc1c]
add eax, eax
lea eax, [eax + eax*4]
mov ebx, eax
mov esi, eax
fld dword [0x79ce6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fmul qword [eax + 0x3f0]
fdiv dword [0x79ce68]
fstp qword [ebp - 0x50]
wait
mov eax, dword [0x8a9588]
mov eax, dword [eax]
cmp dword [eax + 0x7c4], 0
jne 0x79c9e0
cmp dword [eax + 0x7c0], 0
jbe 0x79ca7f
jmp 0x79c9e6
jle 0x79ca7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f0]
call fcn.00402f7c
push edx
push eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7bc]
cdq
cmp edx, dword [esp + 4]
jne 0x79ca13
cmp eax, dword [esp]
pop edx
pop eax
jne 0x79ca7f
fld qword [ebp - 0x50]
fcomp dword [0x79ce70]
fnstsw ax
sahf
jbe 0x79ca7f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov eax, dword [eax + 0x3e8]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
sub eax, dword [edx + 0x7b4]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fdiv qword [ebp - 0x50]
call fcn.00402f7c
add ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov eax, dword [eax + 0x3ec]
mov edx, dword [0x8a9588]
mov edx, dword [edx]
sub eax, dword [edx + 0x7b8]
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fdiv qword [ebp - 0x50]
call fcn.00402f7c
add esi, eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
push dword [eax + 0x7c4]
push dword [eax + 0x7c0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov ecx, esi
mov edx, ebx
call fcn.005abfa0
mov ebx, eax
test bl, bl
je 0x79cadf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
fld qword [eax + 0x3f0]
call fcn.00402f7c
push edx
push eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x7bc]
cdq
cmp edx, dword [esp + 4]
jne 0x79cad7
cmp eax, dword [esp]
pop edx
pop eax
je 0x79cc34
xor eax, eax
push ebp
push 0x79cc2a
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edi, dword [eax + 0x94c]
dec edi
cmp edi, 0
jl 0x79cb89
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, edi
call fcn.00591a40
mov esi, eax
test esi, esi
jl 0x79cb83
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.0057f524
add ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.0057f704
sar eax, 1
jns 0x79cb4d
adc eax, 0
add ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.0057f6a0
add eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.0057f76c
sar eax, 1
jns 0x79cb7a
adc eax, 0
pop edx
add edx, eax
mov dword [ebp - 0x40], edx
inc dword [ebp - 0x44]
dec edi
cmp edi, 0xffffffff
jne 0x79cb0e
cmp dword [ebp - 0x44], 0
jle 0x79cc20
mov dword [ebp - 0x58], ebx
fild dword [ebp - 0x58]
fild dword [ebp - 0x44]
fdivp st(1)
call fcn.00402f7c
mov ebx, eax
fild dword [ebp - 0x40]
fild dword [ebp - 0x44]
fdivp st(1)
call fcn.00402f7c
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x110]
mov edx, eax
sar edx, 1
jns 0x79cbcf
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0062d088
sub eax, ebx
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [eax]
call dword [edx + 0x114]
mov edx, eax
sar edx, 1
jns 0x79cbfb
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.0062d14c
mov esi, eax
sub esi, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov ecx, esi
mov edx, ebx
call fcn.0059c448
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x79cc34
mov eax, dword [ebp - 4]
mov byte [eax + 0xde0], 1
mov eax, dword [ebp - 4]
inc dword [eax + 0xc1c]
mov eax, dword [ebp - 4]
cmp dword [eax + 0xc1c], 0x14
jle 0x79cc60
mov eax, dword [ebp - 4]
mov dword [eax + 0xc1c], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov eax, dword [eax + 0x94c]
dec eax
test eax, eax
jl 0x79ce3b
inc eax
mov dword [ebp - 0x54], eax
xor edi, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, edi
call fcn.00591a40
mov ebx, eax
mov eax, dword [0x8a9588]
mov eax, dword [eax]
inc dword [eax + 0x1540]
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1540]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.00598cac
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.007a86e0
test al, al
je 0x79cd5e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.0057fa74
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.007bb5bc
mov esi, eax
test esi, esi
jl 0x79cd47
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.0079fbe0
cmp eax, 0x14
jne 0x79cd47
mov eax, dword [0x8a9588]
mov eax, dword [eax]
inc dword [eax + 0x153c]
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov ecx, dword [eax + 0x153c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.0057f788
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov ecx, dword [eax + 0x153c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.0057f788
jmp 0x79ce31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor ecx, ecx
mov edx, ebx
call fcn.0057f788
jmp 0x79ce31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.0057f3ec
cmp al, 1
jne 0x79ce31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.00598994
cmp eax, 0x64
jne 0x79ce31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.0057fa74
cmp eax, 0xa
jle 0x79ce31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.0057fa74
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.007bb6dc
mov esi, eax
test esi, esi
jl 0x79ce1f
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.007a86e0
test al, al
je 0x79ce1f
mov eax, dword [0x8a9588]
mov eax, dword [eax]
inc dword [eax + 0x153c]
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov ecx, dword [eax + 0x153c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.0057f788
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov ecx, dword [eax + 0x153c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.0057f788
jmp 0x79ce31
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor ecx, ecx
mov edx, ebx
call fcn.0057f788
inc edi
dec dword [ebp - 0x54]
jne 0x79cc7e
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2f0]
mov eax, dword [ebp - 4]
call fcn.007a3af4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x79ce60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret