Function at 0x439870
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 0x439879
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x439892
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 0xdbf4be
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 0x439940
lea edx, [ebp - 0x20]
mov eax, dword [ebx + 0x20]
call fcn.00419f68
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.0042ff90
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.0042ff90
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.0042ff90
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.0042ff90
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 [0xdc3654]
cmp byte [eax], 0
je 0x439a49
push esi
push 0
push 0
push 5
push 0
call fcn.0041a860
jmp 0x439a57
push esi
push 0
push 0
push 5
push 0
call fcn.0041a858
test eax, eax
jne 0x439a88
lea eax, [ebp - 0x58]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x54]
call fcn.0042ff90
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 0x439a93
lea eax, [ebx + 0x10]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439ab6
push esi
push 0
push 0
push 0x2e
push 0
call fcn.0041a860
jmp 0x439ac4
push esi
push 0
push 0
push 0x2e
push 0
call fcn.0041a858
test eax, eax
jne 0x439af5
lea eax, [ebp - 0x64]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x64]
lea edx, [ebp - 0x60]
call fcn.0042ff90
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 0x439b00
lea eax, [ebx + 0x28]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439b23
push esi
push 0
push 0
push 0x26
push 0
call fcn.0041a860
jmp 0x439b31
push esi
push 0
push 0
push 0x26
push 0
call fcn.0041a858
test eax, eax
jne 0x439b62
lea eax, [ebp - 0x70]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x6c]
call fcn.0042ff90
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 0x439b6d
lea eax, [ebx + 0x2c]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439b90
push esi
push 0
push 0
push 0x23
push 0
call fcn.0041a860
jmp 0x439b9e
push esi
push 0
push 0
push 0x23
push 0
call fcn.0041a858
test eax, eax
jne 0x439bcf
lea eax, [ebp - 0x7c]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.0042ff90
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 0x439bda
lea eax, [ebx + 0x30]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439bfd
push esi
push 0
push 0
push 0x2b
push 0
call fcn.0041a860
jmp 0x439c0b
push esi
push 0
push 0
push 0x2b
push 0
call fcn.0041a858
test eax, eax
jne 0x439c48
lea eax, [ebp - 0x88]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x84]
call fcn.0042ff90
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 0x439c53
lea eax, [ebx + 0x34]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439c76
push esi
push 0
push 0
push 0x27
push 0
call fcn.0041a860
jmp 0x439c84
push esi
push 0
push 0
push 0x27
push 0
call fcn.0041a858
test eax, eax
jne 0x439cc7
lea eax, [ebp - 0x94]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 0x90]
call fcn.0042ff90
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 0x439cd2
lea eax, [ebx + 0x38]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439cf5
push esi
push 0
push 0
push 0x22
push 0
call fcn.0041a860
jmp 0x439d03
push esi
push 0
push 0
push 0x22
push 0
call fcn.0041a858
test eax, eax
jne 0x439d46
lea eax, [ebp - 0xa0]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0x9c]
call fcn.0042ff90
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 0x439d51
lea eax, [ebx + 0x3c]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439d74
push esi
push 0
push 0
push 0x21
push 0
call fcn.0041a860
jmp 0x439d82
push esi
push 0
push 0
push 0x21
push 0
call fcn.0041a858
test eax, eax
jne 0x439dc5
lea eax, [ebp - 0xac]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xa8]
call fcn.0042ff90
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 0x439dd0
lea eax, [ebx + 0x40]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439df3
push esi
push 0
push 0
push 0x20
push 0
call fcn.0041a860
jmp 0x439e01
push esi
push 0
push 0
push 0x20
push 0
call fcn.0041a858
test eax, eax
jne 0x439e44
lea eax, [ebp - 0xb8]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0xb4]
call fcn.0042ff90
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 0x439e4f
lea eax, [ebx + 0x44]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439e72
push esi
push 0
push 0
push 0x1a
push 0
call fcn.0041a860
jmp 0x439e80
push esi
push 0
push 0
push 0x1a
push 0
call fcn.0041a858
test eax, eax
jne 0x439ec3
lea eax, [ebp - 0xc4]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xc0]
call fcn.0042ff90
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 0x439ece
lea eax, [ebx + 0x48]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439ef1
push esi
push 0
push 0
push 0x1c
push 0
call fcn.0041a860
jmp 0x439eff
push esi
push 0
push 0
push 0x1c
push 0
call fcn.0041a858
test eax, eax
jne 0x439f42
lea eax, [ebp - 0xd0]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0xcc]
call fcn.0042ff90
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 0x439f4d
lea eax, [ebx + 0x4c]
mov edx, dword [ebx + 0x20]
call fcn.00404d0c
mov edx, edi
mov eax, esi
call fcn.00406ed0
mov eax, dword [0xdc3654]
cmp byte [eax], 0
je 0x439f70
push esi
push 0
push 0
push 0x28
push 0
call fcn.0041a860
jmp 0x439f7e
push esi
push 0
push 0
push 0x28
push 0
call fcn.0041a858
test eax, eax
jne 0x439fc1
lea eax, [ebp - 0xdc]
mov edx, esi
call fcn.00404e18
mov eax, dword [ebp - 0xdc]
lea edx, [ebp - 0xd8]
call fcn.0042ff90
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 0x439fcc
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 0xdbf4c5
lea eax, [ebp - 0xdc]
mov edx, 0x36
call fcn.00404ce8
ret