Function at 0x462838
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x462841
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
test dl, dl
je 0x46285b
add esp, 0xfffffff0
call fcn.004044d8
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x462caf
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.0041fe14
push esi
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
push eax
call fcn.00420fb0
mov dword [0x48ce14], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], eax
lea edi, [esi + 0x5c]
lea edx, [ebp - 4]
mov eax, 0x462ce0
call fcn.00457a78
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.00405024
lea edx, [ebp - 8]
mov eax, 0x462cf8
call fcn.00457a78
mov edx, dword [ebp - 8]
lea eax, [edi + 4]
call fcn.00405024
lea eax, [edi + 8]
mov edx, 0x462d08
call fcn.00405024
lea edx, [ebp - 0xc]
mov eax, 0x462d14
call fcn.00457a78
mov edx, dword [ebp - 0xc]
lea eax, [edi + 0xc]
call fcn.00405024
lea edx, [ebp - 0x10]
mov eax, 0x462d28
call fcn.00457a78
mov edx, dword [ebp - 0x10]
lea eax, [edi + 0x10]
call fcn.00405024
lea edx, [ebp - 0x14]
mov eax, 0x462d3c
call fcn.00457a78
mov edx, dword [ebp - 0x14]
lea eax, [edi + 0x14]
call fcn.00405024
lea edx, [ebp - 0x18]
mov eax, 0x462d4c
call fcn.00457a78
mov edx, dword [ebp - 0x18]
lea eax, [edi + 0x18]
call fcn.00405024
lea edx, [ebp - 0x1c]
mov eax, 0x462d60
call fcn.00457a78
mov edx, dword [ebp - 0x1c]
lea eax, [edi + 0x1c]
call fcn.00405024
lea edx, [ebp - 0x20]
mov eax, 0x462d78
call fcn.00457a78
mov edx, dword [ebp - 0x20]
lea eax, [edi + 0x20]
call fcn.00405024
lea eax, [edi + 0x24]
mov edx, 0x462d88
call fcn.00405024
lea edx, [ebp - 0x24]
mov eax, 0x462d94
call fcn.00457a78
mov edx, dword [ebp - 0x24]
lea eax, [edi + 0x28]
call fcn.00405024
lea edx, [ebp - 0x28]
mov eax, 0x462da8
call fcn.00457a78
mov edx, dword [ebp - 0x28]
lea eax, [edi + 0x2c]
call fcn.00405024
lea edx, [ebp - 0x2c]
mov eax, 0x462dc0
call fcn.00457a78
mov edx, dword [ebp - 0x2c]
lea eax, [edi + 0x30]
call fcn.00405024
lea edx, [ebp - 0x30]
mov eax, 0x462dd0
call fcn.00457a78
mov edx, dword [ebp - 0x30]
lea eax, [edi + 0x34]
call fcn.00405024
lea edx, [ebp - 0x34]
mov eax, 0x462de4
call fcn.00457a78
mov edx, dword [ebp - 0x34]
lea eax, [edi + 0x38]
call fcn.00405024
lea edx, [ebp - 0x38]
mov eax, 0x462df8
call fcn.00457a78
mov edx, dword [ebp - 0x38]
lea eax, [edi + 0x3c]
call fcn.00405024
lea edx, [ebp - 0x3c]
mov eax, 0x462e14
call fcn.00457a78
mov edx, dword [ebp - 0x3c]
lea eax, [edi + 0x40]
call fcn.00405024
lea edx, [ebp - 0x40]
mov eax, 0x462e28
call fcn.00457a78
mov edx, dword [ebp - 0x40]
lea eax, [edi + 0x44]
call fcn.00405024
lea edx, [ebp - 0x44]
mov eax, 0x462e3c
call fcn.00457a78
mov edx, dword [ebp - 0x44]
lea eax, [edi + 0x48]
call fcn.00405024
lea edx, [ebp - 0x48]
mov eax, 0x462e50
call fcn.00457a78
mov edx, dword [ebp - 0x48]
lea eax, [edi + 0x4c]
call fcn.00405024
lea edx, [ebp - 0x4c]
mov eax, 0x462e68
call fcn.00457a78
mov edx, dword [ebp - 0x4c]
lea eax, [edi + 0x50]
call fcn.00405024
lea edx, [ebp - 0x50]
mov eax, 0x462e84
call fcn.00457a78
mov edx, dword [ebp - 0x50]
lea eax, [edi + 0x54]
call fcn.00405024
lea edx, [ebp - 0x54]
mov eax, 0x462ea4
call fcn.00457a78
mov edx, dword [ebp - 0x54]
lea eax, [edi + 0x58]
call fcn.00405024
lea edx, [ebp - 0x58]
mov eax, 0x462eb4
call fcn.00457a78
mov edx, dword [ebp - 0x58]
lea eax, [edi + 0x5c]
call fcn.00405024
lea edx, [ebp - 0x5c]
mov eax, 0x462ec4
call fcn.00457a78
mov edx, dword [ebp - 0x5c]
lea eax, [edi + 0x60]
call fcn.00405024
lea edx, [ebp - 0x60]
mov eax, 0x462ed4
call fcn.00457a78
mov edx, dword [ebp - 0x60]
lea eax, [edi + 0x64]
call fcn.00405024
lea edx, [ebp - 0x64]
mov eax, 0x462ee4
call fcn.00457a78
mov edx, dword [ebp - 0x64]
lea eax, [edi + 0x68]
call fcn.00405024
lea edx, [ebp - 0x68]
mov eax, 0x462ef4
call fcn.00457a78
mov edx, dword [ebp - 0x68]
lea eax, [edi + 0x6c]
call fcn.00405024
lea edx, [ebp - 0x6c]
mov eax, 0x462f04
call fcn.00457a78
mov edx, dword [ebp - 0x6c]
lea eax, [edi + 0x70]
call fcn.00405024
lea edx, [ebp - 0x70]
mov eax, 0x462f14
call fcn.00457a78
mov edx, dword [ebp - 0x70]
lea eax, [edi + 0x74]
call fcn.00405024
lea edx, [ebp - 0x74]
mov eax, 0x462f24
call fcn.00457a78
mov edx, dword [ebp - 0x74]
lea eax, [edi + 0x78]
call fcn.00405024
lea edx, [ebp - 0x78]
mov eax, 0x462f34
call fcn.00457a78
mov edx, dword [ebp - 0x78]
lea eax, [edi + 0x7c]
call fcn.00405024
lea edx, [ebp - 0x7c]
mov eax, 0x462f44
call fcn.00457a78
mov edx, dword [ebp - 0x7c]
lea eax, [edi + 0x80]
call fcn.00405024
lea edx, [ebp - 0x80]
mov eax, 0x462f54
call fcn.00457a78
mov edx, dword [ebp - 0x80]
lea eax, [edi + 0x84]
call fcn.00405024
lea edx, [ebp - 0x84]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x20]
call fcn.0040e724
lea eax, [ebp - 0x84]
mov edx, 0x462f64
call fcn.00405298
mov eax, dword [ebp - 0x84]
call fcn.00409c28
test al, al
jne 0x462c0b
lea edx, [ebp - 0x88]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x20]
call fcn.0040e724
lea eax, [ebp - 0x88]
mov edx, 0x462f64
call fcn.00405298
mov eax, dword [ebp - 0x88]
call fcn.00409c5c
lea edx, [ebp - 0x8c]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x20]
call fcn.0040e724
push dword [ebp - 0x8c]
push 0x462f70
call 0x40ba20
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x90]
mov eax, 0x462f80
call 0x40c834
push dword [ebp - 0x90]
lea eax, [esi + 0x34]
mov edx, 3
call fcn.00405350
mov eax, dword [esi + 0x34]
call fcn.00409c28
test al, al
je 0x462c91
lea edx, [ebp - 0x98]
mov eax, dword [esi + 0x34]
call fcn.0045721c
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x94]
call fcn.00457a78
mov edx, dword [ebp - 0x94]
mov eax, 0x48ce18
call fcn.00405024
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x462cb6
lea eax, [ebp - 0x98]
mov edx, 0x26
call fcn.00404ff4
ret