Function at 0x439650
Capabilities:
Check for peb ntglobalflag flag
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x1b
push 0
push 0
dec ecx
jne 0x439659
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x439672
add esp, 0xfffffff0
call fcn.00403da8
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov ebx, eax
lea eax, [ebp - 8]
call fcn.00405190
xor eax, eax
push ebp
push 0x4ba29e
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, ebx
call fcn.00403b30
lea eax, [ebx + 4]
mov edx, dword [ebp - 8]
call fcn.00404d0c
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0041a1e0
mov edx, dword [ebp - 0xc]
lea eax, [ebx + 8]
call fcn.00404d0c
lea ecx, [ebp - 0x10]
mov eax, dword [ebx + 8]
xor edx, edx
call fcn.0041a070
mov edx, dword [ebp - 0x10]
lea eax, [ebx + 0xc]
call fcn.00404d0c
lea edx, [ebp - 0x14]
mov eax, dword [ebx + 4]
call fcn.0041a104
mov edx, dword [ebp - 0x14]
lea eax, [ebx + 0x20]
call fcn.00404d0c
mov eax, dword [ebx + 0x20]
xor edx, edx
call fcn.0040502c
je 0x439720
lea edx, [ebp - 0x20]
mov eax, dword [ebx + 0x20]
call fcn.00419f68
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0042fe8c
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.00419f68
mov edx, dword [ebp - 0x18]
lea eax, [ebx + 0x20]
call fcn.00404d0c
mov edi, 0xfffe
mov eax, edi
call fcn.00403268
mov esi, eax
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov edx, edi
mov eax, esi
call fcn.00415984
lea eax, [ebp - 0x2c]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x28]
call fcn.0042fe8c
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.00419f68
mov edx, dword [ebp - 0x24]
lea eax, [ebx + 0x18]
call fcn.00404d0c
lea edx, [ebp - 0x34]
mov eax, dword [ebx + 0x18]
call fcn.0041a13c
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x30]
call fcn.00419f68
mov edx, dword [ebp - 0x30]
lea eax, [ebx + 0x1c]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov edx, esi
mov eax, edi
call fcn.00415790
lea eax, [ebp - 0x40]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.0042fe8c
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x38]
call fcn.00419f68
mov edx, dword [ebp - 0x38]
lea eax, [ebx + 0x24]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov edx, edi
mov eax, esi
call fcn.004158ec
lea eax, [ebp - 0x4c]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.0042fe8c
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00419f68
mov edx, dword [ebp - 0x44]
lea eax, [ebx + 0x14]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439829
push esi
push 0
push 0
push 5
push 0
call fcn.0041a860
jmp 0x439837
push esi
push 0
push 0
push 5
push 0
call fcn.0041a858
test eax, eax
jne 0x439868
lea eax, [ebp - 0x58]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.0042fe8c
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00419f68
mov edx, dword [ebp - 0x50]
lea eax, [ebx + 0x10]
call fcn.00404d0c
jmp 0x439873
lea eax, [ebx + 0x10]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439896
push esi
push 0
push 0
push 0x2e
push 0
call fcn.0041a860
jmp 0x4398a4
push esi
push 0
push 0
push 0x2e
push 0
call fcn.0041a858
test eax, eax
jne 0x4398d5
lea eax, [ebp - 0x64]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.0042fe8c
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.00419f68
mov edx, dword [ebp - 0x5c]
lea eax, [ebx + 0x28]
call fcn.00404d0c
jmp 0x4398e0
lea eax, [ebx + 0x28]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439903
push esi
push 0
push 0
push 0x26
push 0
call fcn.0041a860
jmp 0x439911
push esi
push 0
push 0
push 0x26
push 0
call fcn.0041a858
test eax, eax
jne 0x439942
lea eax, [ebp - 0x70]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x6c]
call fcn.0042fe8c
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
call fcn.00419f68
mov edx, dword [ebp - 0x68]
lea eax, [ebx + 0x2c]
call fcn.00404d0c
jmp 0x43994d
lea eax, [ebx + 0x2c]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439970
push esi
push 0
push 0
push 0x23
push 0
call fcn.0041a860
jmp 0x43997e
push esi
push 0
push 0
push 0x23
push 0
call fcn.0041a858
test eax, eax
jne 0x4399af
lea eax, [ebp - 0x7c]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.0042fe8c
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x74]
call fcn.00419f68
mov edx, dword [ebp - 0x74]
lea eax, [ebx + 0x30]
call fcn.00404d0c
jmp 0x4399ba
lea eax, [ebx + 0x30]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x4399dd
push esi
push 0
push 0
push 0x2b
push 0
call fcn.0041a860
jmp 0x4399eb
push esi
push 0
push 0
push 0x2b
push 0
call fcn.0041a858
test eax, eax
jne 0x439a28
lea eax, [ebp - 0x88]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x84]
call fcn.0042fe8c
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x80]
call fcn.00419f68
mov edx, dword [ebp - 0x80]
lea eax, [ebx + 0x34]
call fcn.00404d0c
jmp 0x439a33
lea eax, [ebx + 0x34]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439a56
push esi
push 0
push 0
push 0x27
push 0
call fcn.0041a860
jmp 0x439a64
push esi
push 0
push 0
push 0x27
push 0
call fcn.0041a858
test eax, eax
jne 0x439aa7
lea eax, [ebp - 0x94]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0x90]
call fcn.0042fe8c
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00419f68
mov edx, dword [ebp - 0x8c]
lea eax, [ebx + 0x38]
call fcn.00404d0c
jmp 0x439ab2
lea eax, [ebx + 0x38]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439ad5
push esi
push 0
push 0
push 0x22
push 0
call fcn.0041a860
jmp 0x439ae3
push esi
push 0
push 0
push 0x22
push 0
call fcn.0041a858
test eax, eax
jne 0x439b26
lea eax, [ebp - 0xa0]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0x9c]
call fcn.0042fe8c
mov eax, dword [ebp - 0x9c]
lea edx, [ebp - 0x98]
call fcn.00419f68
mov edx, dword [ebp - 0x98]
lea eax, [ebx + 0x3c]
call fcn.00404d0c
jmp 0x439b31
lea eax, [ebx + 0x3c]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439b54
push esi
push 0
push 0
push 0x21
push 0
call fcn.0041a860
jmp 0x439b62
push esi
push 0
push 0
push 0x21
push 0
call fcn.0041a858
test eax, eax
jne 0x439ba5
lea eax, [ebp - 0xac]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xa8]
call fcn.0042fe8c
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call fcn.00419f68
mov edx, dword [ebp - 0xa4]
lea eax, [ebx + 0x40]
call fcn.00404d0c
jmp 0x439bb0
lea eax, [ebx + 0x40]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439bd3
push esi
push 0
push 0
push 0x20
push 0
call fcn.0041a860
jmp 0x439be1
push esi
push 0
push 0
push 0x20
push 0
call fcn.0041a858
test eax, eax
jne 0x439c24
lea eax, [ebp - 0xb8]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xb4]
call fcn.0042fe8c
mov eax, dword [ebp - 0xb4]
lea edx, [ebp - 0xb0]
call fcn.00419f68
mov edx, dword [ebp - 0xb0]
lea eax, [ebx + 0x44]
call fcn.00404d0c
jmp 0x439c2f
lea eax, [ebx + 0x44]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439c52
push esi
push 0
push 0
push 0x1a
push 0
call fcn.0041a860
jmp 0x439c60
push esi
push 0
push 0
push 0x1a
push 0
call fcn.0041a858
test eax, eax
jne 0x439ca3
lea eax, [ebp - 0xc4]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xc0]
call fcn.0042fe8c
mov eax, dword [ebp - 0xc0]
lea edx, [ebp - 0xbc]
call fcn.00419f68
mov edx, dword [ebp - 0xbc]
lea eax, [ebx + 0x48]
call fcn.00404d0c
jmp 0x439cae
lea eax, [ebx + 0x48]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439cd1
push esi
push 0
push 0
push 0x1c
push 0
call fcn.0041a860
jmp 0x439cdf
push esi
push 0
push 0
push 0x1c
push 0
call fcn.0041a858
test eax, eax
jne 0x439d22
lea eax, [ebp - 0xd0]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xcc]
call fcn.0042fe8c
mov eax, dword [ebp - 0xcc]
lea edx, [ebp - 0xc8]
call fcn.00419f68
mov edx, dword [ebp - 0xc8]
lea eax, [ebx + 0x4c]
call fcn.00404d0c
jmp 0x439d2d
lea eax, [ebx + 0x4c]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0x4be614]
cmp byte [eax], 0
je 0x439d50
push esi
push 0
push 0
push 0x28
push 0
call fcn.0041a860
jmp 0x439d5e
push esi
push 0
push 0
push 0x28
push 0
call fcn.0041a858
test eax, eax
jne 0x439da1
lea eax, [ebp - 0xdc]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0xd8]
call fcn.0042fe8c
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0xd4]
call fcn.00419f68
mov edx, dword [ebp - 0xd4]
lea eax, [ebx + 0x50]
call fcn.00404d0c
jmp 0x439dac
lea eax, [ebx + 0x50]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov eax, esi
call fcn.00403288
lea eax, [ebx + 0x54]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
lea eax, [ebx + 0x58]
mov edx, dword [ebx + 0x18]
call fcn.00404d0c
lea eax, [ebx + 0x5c]
mov edx, dword [ebx + 0x14]
call fcn.00404d0c
lea eax, [ebx + 0x60]
mov edx, dword [ebx + 0x10]
call fcn.00404d0c
lea eax, [ebx + 0x64]
mov edx, dword [ebx + 0x2c]
call fcn.00404d0c
lea eax, [ebx + 0x68]
mov edx, dword [ebx + 0x34]
call fcn.00404d0c
lea eax, [ebx + 0x6c]
mov edx, dword [ebx + 0x28]
call fcn.00404d0c
lea eax, [ebx + 0x70]
mov edx, dword [ebx + 0x38]
call fcn.00404d0c
lea eax, [ebx + 0x74]
mov edx, dword [ebx + 0x3c]
call fcn.00404d0c
lea eax, [ebx + 0x78]
mov edx, dword [ebx + 0x40]
call fcn.00404d0c
lea eax, [ebx + 0x7c]
mov edx, dword [ebx + 0x44]
call fcn.00404d0c
lea eax, [ebx + 0x80]
mov edx, dword [ebx + 0x48]
call fcn.00404d0c
lea eax, [ebx + 0x84]
mov edx, dword [ebx + 0x24]
call fcn.00404d0c
lea eax, [ebx + 0x88]
mov edx, dword [ebx + 0x30]
call fcn.00404d0c
lea eax, [ebx + 0x8c]
mov edx, dword [ebx + 0x4c]
call fcn.00404d0c
lea eax, [ebx + 0x90]
mov edx, dword [ebx + 0x1c]
call fcn.00404d0c
lea eax, [ebx + 0x94]
mov edx, dword [ebx + 0x50]
call fcn.00404d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ba2a5
lea eax, [ebp - 0xdc]
mov edx, 0x36
call fcn.00404ce8
ret