Function at 0x5156ed
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x626025
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x6b9a04]
xor eax, esp
mov dword [esp + 0x248], eax
push ebx
push esi
push edi
mov eax, dword [0x6b9a04]
xor eax, esp
push eax
lea eax, [esp + 0x260]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [edi + 0xd4]
xor ecx, ecx
mov dword [esp + 0x34], edi
mov dword [edi + 0x78], 1
cmp dword [eax], ecx
je 0x51574b
mov dword [ebp + 0x10], ecx
mov dword [eax], ecx
mov ebx, 0x641040
lea ecx, [edi + 0xb4]
push ebx
call fcn.0040556d
and dword [edi + 0xd0], 0
lea esi, [edi + 4]
push ebx
mov ecx, esi
call fcn.0040bb1d
test eax, eax
jne 0x5157aa
lea eax, [esp + 0x14]
push eax
call fcn.004010a2
push 5
pop edx
mov ecx, eax
call fcn.00431ef5
and dword [esp + 0x268], 0
push eax
mov ecx, esi
call fcn.0040c7fd
or dword [esp + 0x268], 0xffffffff
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00405172
push str.PPInfo50.php
lea ecx, [esp + 0x34]
call fcn.004050f0
cmp dword [ebp + 0xc], 0x64
mov dword [esp + 0x268], 1
jne 0x5157e0
push str.PPInfo50_maint.php
lea ecx, [esp + 0x34]
call fcn.004050b9
push 0x32
push 0x3e8
jmp 0x5157fb
mov esi, 0x1f4
cmp dword [ebp + 0xc], esi
jne 0x515801
push str.PPInfo50_test.php
lea ecx, [esp + 0x34]
call fcn.004050b9
push 0x32
push esi
call dword [0x6343e0]
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x14]
push str.https:__update.esumsoft.com_POPPeeper_
push eax
call fcn.004079af
add esp, 0xc
mov byte [esp + 0x268], 2
call fcn.00549176
cmp eax, 3
jg 0x51583e
push str.http:__
push str.https:__
lea eax, [esp + 0x18]
push eax
call fcn.0042c298
lea esi, [edi + 8]
push esi
lea eax, [esp + 0x18]
push str._date
push eax
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 3
call fcn.00428d94
mov byte [esp + 0x268], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00405172
mov eax, dword [edi + 0x60]
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.004050f0
call fcn.0042c17f
pop ecx
test eax, eax
jne 0x5158a6
push 0x3c
call fcn.004010a2
mov ecx, eax
call fcn.00431cfc
test eax, eax
je 0x51591c
lea eax, [edi + 0x18]
push eax
lea ecx, [esp + 0x1c]
call fcn.00407aea
mov byte [esp + 0x268], 4
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jne 0x5158d3
push str.000000
lea ecx, [esp + 0x1c]
call fcn.004050b9
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x18]
push str.beta
push eax
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 5
call fcn.00428d94
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00405172
mov byte [esp + 0x268], 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
push ebx
mov ecx, esi
call fcn.0040bb1d
test eax, eax
je 0x51593c
cmp dword [ebp + 0x10], 0
je 0x51593c
push str.qc1
lea ecx, [esp + 0x14]
call fcn.0040bdd3
xor ebx, ebx
push ebx
push ecx
mov dword [esp + 0x1c], ebx
call fcn.0042548b
pop ecx
mov ecx, eax
call fcn.0054bfec
cmp eax, dword [0x6c1850]
jne 0x515ac8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x6428f8
call fcn.0040518c
push ecx
mov byte [esp + 0x288], 6
call fcn.0040cb83
pop ecx
push eax
mov byte [esp + 0x288], 2
call fcn.00497e7c
mov esi, eax
cmp esi, ebx
je 0x5159e0
call fcn.00495b93
test eax, eax
je 0x5159e0
lea edx, [esp + 0x78]
mov ecx, esi
call fcn.0049611e
mov byte [esp + 0x268], 7
cmp dword [eax + 0x18], 0x10
jb 0x5159ba
mov eax, dword [eax + 4]
jmp 0x5159bd
add eax, 4
lea ecx, [edi + 0xa8]
push eax
call fcn.004050b9
push ebx
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x270], 2
call fcn.004055c2
mov eax, esi
call fcn.00495b93
test eax, eax
je 0x515a2a
lea eax, [edi + 0xa8]
push eax
lea eax, [esp + 0x18]
push str.WMVer
push eax
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 8
call fcn.00428d94
mov byte [esp + 0x268], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00405172
call fcn.00416ef8
mov ebx, eax
call fcn.0040fad1
push 0
push eax
lea esi, [esp + 0x80]
mov dword [esp + 0x1c], eax
call fcn.0054986d
pop ecx
pop ecx
mov byte [esp + 0x268], 9
cmp dword [eax + 0x18], 0x10
jb 0x515a5e
mov eax, dword [eax + 4]
jmp 0x515a61
add eax, 4
push eax
lea ecx, [esp + 0x28]
call fcn.004050f0
push eax
lea eax, [esp + 0x1c]
push str.WmFlags
push eax
mov byte [esp + 0x274], 0xa
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 0xb
call fcn.00428d94
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
push 0
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x270], 2
call fcn.004055c2
lea eax, [esp + 0x120]
push eax
call fcn.00416ef8
mov ecx, eax
call fcn.0040fbd7
mov byte [esp + 0x268], 0xc
cmp dword [esp + 0x138], 0x10
mov eax, dword [esp + 0x124]
jae 0x515afc
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x1c]
call fcn.004050f0
push eax
lea eax, [esp + 0x28]
push 0x65ccec
push eax
mov byte [esp + 0x274], 0xd
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 0xe
call fcn.00428d94
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
mov byte [esp + 0x268], 0xc
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
call fcn.004254c8
call fcn.005722dd
mov esi, eax
sub esi, 0x1c5
neg esi
sbb esi, esi
push 0
push 0
inc esi
call fcn.004254c8
mov ecx, eax
call fcn.00573a4e
cmp eax, dword [0x6c1850]
jne 0x515b8b
test esi, esi
jne 0x515b8b
xor ebx, ebx
inc ebx
jmp 0x515b8d
xor ebx, ebx
push 0
push 1
call fcn.004254c8
mov ecx, eax
call fcn.00573a4e
sub eax, dword [0x6c1850]
push 0
neg eax
sbb eax, eax
inc eax
neg eax
sbb eax, eax
and eax, 8
neg ebx
sbb ebx, ebx
and ebx, 4
or eax, ebx
neg esi
sbb esi, esi
and esi, 2
or eax, esi
or eax, 1
push eax
lea esi, [esp + 0x80]
call fcn.0054986d
pop ecx
pop ecx
mov byte [esp + 0x268], 0xf
cmp dword [eax + 0x18], 0x10
jb 0x515be8
mov eax, dword [eax + 4]
jmp 0x515beb
add eax, 4
push eax
lea ecx, [esp + 0x1c]
call fcn.004050f0
push eax
lea eax, [esp + 0x28]
push str.if
push eax
mov byte [esp + 0x274], 0x10
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 0x11
call fcn.00428d94
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x270], 0xc
call fcn.004055c2
call fcn.004254c8
push eax
call fcn.00571e68
cmp eax, dword [0x6c1850]
jne 0x515d22
xor esi, esi
cmp byte [0x6c1819], 0x9b
je 0x515c78
push 0xa
pop esi
push ebx
push ebx
call fcn.004254c8
call fcn.005723d1
test eax, eax
jne 0x515c8b
add esi, 0x64
cmp esi, ebx
je 0x515d22
mov eax, esi
cdq
push edx
push eax
lea esi, [esp + 0x80]
call fcn.0054986d
pop ecx
pop ecx
mov byte [esp + 0x268], 0x12
cmp dword [eax + 0x18], 0x10
jb 0x515cb9
mov eax, dword [eax + 4]
jmp 0x515cbc
add eax, 4
push eax
lea ecx, [esp + 0x1c]
call fcn.004050f0
push eax
lea eax, [esp + 0x28]
push str.pac
push eax
mov byte [esp + 0x274], 0x13
call fcn.004079af
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 0x14
call fcn.00428d94
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
push ebx
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x270], 0xc
call fcn.004055c2
push dword [edi + 0x60]
lea ecx, [esp + 0xd0]
call fcn.0040518c
mov byte [esp + 0x268], 0x15
cmp dword [esp + 0xe0], ebx
je 0x515dd6
push ebx
lea ecx, [esp + 0xd0]
call fcn.0040b85d
cmp byte [eax], 0x76
jne 0x515d67
push 1
push ebx
lea ecx, [esp + 0xd4]
call fcn.0040522b
push str.ppver
lea ecx, [esp + 0x1c]
call fcn.004050f0
mov byte [esp + 0x268], 0x16
cmp dword [esp + 0xe4], 0x10
mov ecx, dword [esp + 0xd0]
jae 0x515d95
lea ecx, [esp + 0xd0]
push ecx
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0040b7c6
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x26c], 0x17
call fcn.00428d94
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
mov byte [esp + 0x268], 0x15
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
call fcn.0059a1c3
push eax
lea ecx, [esp + 0x24]
call fcn.0040514d
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x26c], 0x18
call fcn.0040563f
push 0xf
pop esi
push ebx
lea ecx, [esp + 0xec]
mov dword [esp + 0x104], esi
call fcn.004055a6
push ebx
lea ecx, [esp + 0x108]
mov dword [esp + 0x120], esi
call fcn.004055a6
lea ecx, [esp + 0x78]
mov byte [esp + 0x268], 0x1b
call fcn.005185f5
mov byte [esp + 0x268], 0x1c
cmp dword [eax + 0x18], 0x10
jb 0x515e46
mov eax, dword [eax + 4]
jmp 0x515e49
add eax, 4
push eax
lea ecx, [esp + 0x70]
call fcn.004050b9
push ebx
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x270], 0x1b
call fcn.004055c2
push ebx
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0x5c]
push eax
push 0x641040
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x24]
call fcn.004056ae
mov ecx, eax
call fcn.0054d226
cmp dword [esp + 0x100], 0x10
mov esi, eax
mov eax, dword [esp + 0xec]
jae 0x515eaf
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x24]
call fcn.004050b9
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x10c]
push eax
lea ecx, [edi + 0xb4]
call fcn.0040529a
mov eax, dword [esp + 0x64]
mov dword [edi + 0xd0], eax
xor eax, eax
cmp esi, ebx
sete al
mov dword [edi + 0x78], ebx
cmp eax, ebx
jne 0x515f30
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [esp + 0x10c]
call fcn.004055c2
push ebx
push edi
lea ecx, [esp + 0xf0]
call fcn.004055c2
lea esi, [esp + 0x54]
call fcn.00406a8f
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00405172
push ebx
push edi
lea ecx, [esp + 0xd4]
call fcn.004055c2
push ebx
push edi
jmp 0x516485
lea ebx, [esp + 0x20]
mov dword [esp + 0x18], 1
call fcn.0040b5bd
mov edi, eax
call fcn.0040b60b
push 0x65cbec
mov ecx, ebx
call fcn.0040bb1d
mov esi, dword [esp + 0x34]
xor edi, edi
test eax, eax
jne 0x515f67
mov dword [esp + 0x18], edi
call fcn.005153f8
push edi
call fcn.005c337e
pop ecx
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
cmp dword [esp + 0x18], edi
jne 0x516172
cmp dword [ebp + 8], edi
je 0x516429
lea eax, [esp + 0x24]
push eax
call fcn.0051563a
mov byte [esp + 0x268], 0x1d
push dword [eax]
lea ecx, [esp + 0xb4]
call fcn.0040518c
mov byte [esp + 0x268], 0x1f
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
lea eax, [esp + 0x14]
push eax
call fcn.00515688
mov byte [esp + 0x268], 0x20
push dword [eax]
lea ecx, [esp + 0x7c]
call fcn.0040518c
mov byte [esp + 0x268], 0x22
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00405172
lea ecx, [esp + 0x3c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
call fcn.005a17a3
mov byte [esp + 0x268], 0x23
cmp dword [esp + 0xc8], 0x10
mov eax, dword [esp + 0xb4]
jae 0x516025
lea eax, [esp + 0xb4]
push edi
push eax
lea ecx, [esp + 0x44]
call fcn.005a1838
test eax, eax
je 0x51604b
lea ecx, [esp + 0x3c]
call fcn.005a1564
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
call fcn.005a16c0
cmp dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x7c]
jae 0x51605d
lea eax, [esp + 0x7c]
push edi
push eax
lea ecx, [esp + 0x44]
call fcn.005a1838
cmp eax, edi
je 0x516083
lea ecx, [esp + 0x3c]
call fcn.005a1564
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
call fcn.005a16c0
push dword [esp + 0x1c]
lea ecx, [esp + 0x38]
push dword [esp + 0x1c]
call fcn.00434645
test al, al
je 0x5160af
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xbc]
call fcn.0040529a
push edi
lea ecx, [esp + 0x98]
mov dword [esp + 0xb0], 0xf
call fcn.004055a6
xor ebx, ebx
inc ebx
push ebx
lea eax, [esp + 0x98]
push 0x4000
push eax
lea eax, [esp + 0xbc]
mov byte [esp + 0x274], 0x24
call fcn.005482fb
add esp, 0xc
cmp eax, edi
je 0x51612a
cmp dword [esp + 0xa8], edi
je 0x51612a
cmp dword [esp + 0xac], 0x10
push dword [ebp + 8]
mov eax, dword [esp + 0x9c]
jae 0x516117
lea eax, [esp + 0x9c]
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.004050f0
push esi
call fcn.0051423a
push edi
push ebx
lea ecx, [esp + 0x9c]
call fcn.004055c2
lea ecx, [esp + 0x3c]
mov byte [esp + 0x268], 0x22
call fcn.005a17c9
push edi
push ebx
lea ecx, [esp + 0x80]
call fcn.004055c2
push edi
push ebx
lea ecx, [esp + 0xb8]
mov byte [esp + 0x270], 0x1b
call fcn.004055c2
jmp 0x516429
push dword [ebp + 8]
lea eax, [esp + 0x24]
push ecx
mov dword [esp + 0x2c], esp
mov ecx, esp
push eax
call fcn.00407aea
push esi
call fcn.0051423a
cmp eax, edi
je 0x516429
lea eax, [esp + 0x13c]
push eax
call fcn.004b352d
mov byte [esp + 0x268], 0x25
mov eax, dword [esp + 0x34]
push dword [eax + 0xa8]
lea ecx, [esp + 0xb4]
call fcn.0040518c
push str.WmCur
lea ecx, [esp + 0x7c]
mov byte [esp + 0x26c], 0x26
call fcn.0040518c
lea eax, [esp + 0xb0]
push eax
sub esp, 0x1c
mov byte [esp + 0x288], 0x27
mov ecx, esp
mov dword [esp + 0x44], esp
mov ebx, str.Local
push ebx
lea esi, [esp + 0x9c]
call fcn.0040518c
mov edx, esi
lea ecx, [esp + 0x15c]
call fcn.004b4e0c
push edi
push 1
mov ecx, esi
call fcn.004055c2
push edi
push 1
lea ecx, [esp + 0xb8]
mov byte [esp + 0x270], 0x25
call fcn.004055c2
push 0x65cc1c
lea ecx, [esp + 0x7c]
call fcn.0040518c
mov byte [esp + 0x268], 0x28
push edi
push dword [esp + 0x18]
lea esi, [esp + 0xb8]
call fcn.0054986d
pop ecx
pop ecx
push eax
sub esp, 0x1c
mov byte [esp + 0x288], 0x29
mov ecx, esp
mov dword [esp + 0x44], esp
push ebx
lea esi, [esp + 0x9c]
call fcn.0040518c
mov edx, esi
lea ecx, [esp + 0x15c]
call fcn.004b4e0c
push edi
push 1
lea ecx, [esp + 0xb8]
call fcn.004055c2
push edi
push 1
mov ecx, esi
mov byte [esp + 0x270], 0x25
call fcn.004055c2
push str._r_n__r_n
lea ecx, [esp + 0x24]
call fcn.0040bdd3
lea ecx, [esp + 0x78]
lea edx, [esp + 0x13c]
call fcn.004b3992
mov byte [esp + 0x268], 0x2a
cmp dword [eax + 0x18], 0x10
jb 0x5162d7
mov eax, dword [eax + 4]
jmp 0x5162da
add eax, 4
push eax
lea ecx, [esp + 0x24]
call fcn.0040bdd3
push edi
push 1
lea ecx, [esp + 0x80]
mov byte [esp + 0x270], 0x25
call fcn.004055c2
push str.__r_n
lea ecx, [esp + 0x24]
call fcn.0040bdd3
lea eax, [esp + 0x24]
push eax
call fcn.0051563a
mov byte [esp + 0x268], 0x2b
push dword [eax]
lea ecx, [esp + 0x98]
call fcn.0040518c
mov byte [esp + 0x268], 0x2d
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00405172
lea ecx, [esp + 0x3c]
call fcn.005a1e8a
mov byte [esp + 0x268], 0x2e
cmp dword [esp + 0xac], 0x10
mov eax, dword [esp + 0x98]
jae 0x516366
lea eax, [esp + 0x98]
push edi
mov esi, 0x1001
push esi
push eax
lea ecx, [esp + 0x48]
call fcn.005a229f
test eax, eax
jne 0x5163d7
lea eax, [esp + 0x18]
push eax
call fcn.00515688
mov byte [esp + 0x268], 0x2f
push dword [eax]
lea ecx, [esp + 0x98]
call fcn.0040556d
mov byte [esp + 0x268], 0x2e
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00405172
cmp dword [esp + 0xac], 0x10
mov eax, dword [esp + 0x98]
jae 0x5163c7
lea eax, [esp + 0x98]
push edi
push esi
push eax
lea ecx, [esp + 0x48]
call fcn.005a229f
test eax, eax
je 0x5163f1
mov eax, dword [esp + 0x20]
push dword [eax - 0xc]
lea ecx, [esp + 0x40]
push eax
call fcn.005a1bc0
lea ecx, [esp + 0x3c]
call fcn.005a1e24
lea ecx, [esp + 0x3c]
mov byte [esp + 0x268], 0x2d
call fcn.005a1f65
push edi
push 1
lea ecx, [esp + 0x9c]
call fcn.004055c2
lea ecx, [esp + 0x13c]
mov byte [esp + 0x268], 0x1b
call fcn.004b3604
mov esi, dword [esp + 0x34]
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x74]
push eax
push 0x2f
mov dword [esp + 0x30], ecx
call fcn.004010a2
push eax
call fcn.004320f4
xor ebx, ebx
push edi
inc ebx
push ebx
lea ecx, [esp + 0x10c]
call fcn.004055c2
push edi
push ebx
lea ecx, [esp + 0xf0]
call fcn.004055c2
lea esi, [esp + 0x54]
call fcn.00406a8f
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00405172
push edi
push ebx
lea ecx, [esp + 0xd4]
call fcn.004055c2
push edi
push ebx
lea ecx, [esp + 0x128]
call fcn.004055c2
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00405172
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00405172
mov ecx, dword [esp + 0x260]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x248]
xor ecx, esp
call fcn.005c30b2
mov esp, ebp
pop ebp
ret 0xc