Function at 0x4821f8
Capabilities:
Access peb ldr_data
Get ntdll base address
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x10
push 0
push 0
dec ecx
jne 0x482200
push ebx
push esi
push edi
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x48358a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
add eax, 0x4b0
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x425cd4]
call fcn.00425dd4
mov dword [ebp - 0x10], eax
xor ecx, ecx
push ebp
push 0x482d8c
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0x10]
call fcn.00425e74
xor ecx, ecx
push ebp
push 0x482d6f
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor ecx, ecx
mov edx, 0x4835a0
mov eax, dword [ebp - 0x10]
call fcn.00425ed8
test al, al
je 0x482bf3
xor eax, eax
push ebp
push 0x4822a8
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x20]
mov edx, 0x4835c0
mov eax, dword [ebp - 0x10]
call 0x42627c
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
call fcn.00404e70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4822ba
xor eax, eax
push ebp
push 0x482309
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x24]
mov edx, 0x4835d8
mov eax, dword [ebp - 0x10]
call 0x42627c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
add eax, 4
call fcn.00404e70
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0
jne 0x4822ff
mov eax, dword [ebp - 0x18]
add eax, 4
mov edx, 0x4835f0
call fcn.00404e70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482323
xor eax, eax
push ebp
push 0x482372
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x28]
mov edx, 0x483600
mov eax, dword [ebp - 0x10]
call 0x42627c
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
add eax, 8
call fcn.00404e70
mov eax, dword [ebp - 0x18]
cmp dword [eax + 8], 0
jne 0x482368
mov eax, dword [ebp - 0x18]
add eax, 8
mov edx, 0x48361c
call fcn.00404e70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48238c
xor eax, eax
push ebp
push 0x4823b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483628
mov eax, dword [ebp - 0x10]
call 0x426344
mov edx, dword [ebp - 0x18]
mov byte [edx + 0xc], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4823c8
xor ecx, ecx
push ebp
push 0x482422
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov edx, 0x483644
mov eax, dword [ebp - 0x10]
call 0x426308
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x448]
movsx ecx, word [edx + 0x258]
cmp eax, ecx
jl 0x48240e
movsx edx, word [edx + 0x25a]
cmp eax, edx
jle 0x482418
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x10], 0x1f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482436
xor ecx, ecx
push ebp
push 0x482490
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov edx, 0x48365c
mov eax, dword [ebp - 0x10]
call 0x426308
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 0x44c]
movsx ecx, word [edx + 0x258]
cmp eax, ecx
jl 0x48247c
movsx edx, word [edx + 0x25a]
cmp eax, edx
jle 0x482486
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x14], 0x1f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4824a4
xor edx, edx
push ebp
push 0x4824e9
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 0x483670
mov eax, dword [ebp - 0x10]
call 0x426308
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x18]
cmp eax, 0xffffffff
jl 0x4824d5
cmp eax, 2
jle 0x4824df
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x18], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4824fd
xor eax, eax
push ebp
push 0x482528
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483684
mov eax, dword [ebp - 0x10]
call 0x426344
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x1c], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482539
xor eax, eax
push ebp
push 0x482588
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x2c]
mov edx, 0x483698
mov eax, dword [ebp - 0x10]
call 0x42627c
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
add eax, 0x20
call fcn.00404e70
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x20], 0
jne 0x48257e
mov eax, dword [ebp - 0x18]
add eax, 0x20
mov edx, 0x4836ac
call fcn.00404e70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4825a2
xor eax, eax
push ebp
push 0x4825dd
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x4836c0
mov eax, dword [ebp - 0x10]
call 0x426308
mov ebx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x24], ebx
test ebx, ebx
jg 0x4825d3
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x24], 0xc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4825f1
xor eax, eax
push ebp
push 0x48261c
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x4836d4
mov eax, dword [ebp - 0x10]
call 0x426308
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x28], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482630
xor eax, eax
push ebp
push 0x48266c
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x30]
mov edx, 0x4836e8
mov eax, dword [ebp - 0x10]
call 0x42627c
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
lea ecx, [edx + 0x2c]
mov edx, dword [0x4266f4]
call fcn.004743dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482683
xor eax, eax
push ebp
push 0x4826af
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483700
mov eax, dword [ebp - 0x10]
call 0x426370
mov eax, dword [ebp - 0x18]
fstp qword [eax + 0x30]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4826ca
xor eax, eax
push ebp
push 0x4826f6
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483714
mov eax, dword [ebp - 0x10]
call 0x426370
mov eax, dword [ebp - 0x18]
fstp qword [eax + 0x38]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482711
xor eax, eax
push ebp
push 0x48273d
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483728
mov eax, dword [ebp - 0x10]
call 0x426370
mov eax, dword [ebp - 0x18]
fstp qword [eax + 0x40]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482758
xor eax, eax
push ebp
push 0x482784
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x48373c
mov eax, dword [ebp - 0x10]
call 0x426370
mov eax, dword [ebp - 0x18]
fstp qword [eax + 0x48]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48279f
xor eax, eax
push ebp
push 0x4827d8
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483754
mov eax, dword [ebp - 0x10]
call 0x426308
mov ebx, eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x50], bl
sub bl, 2
jb 0x4827ce
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x50], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4827e9
xor eax, eax
push ebp
push 0x482836
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483768
mov eax, dword [ebp - 0x10]
call 0x426370
mov eax, dword [ebp - 0x18]
fstp qword [eax + 0x58]
wait
mov eax, dword [ebp - 0x18]
fld qword [eax + 0x58]
fcomp dword [0x4836f4]
wait
fnstsw ax
sahf
jae 0x48282c
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], 0x40180000
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48284f
xor eax, eax
push ebp
push 0x482888
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483780
mov eax, dword [ebp - 0x10]
call 0x426308
mov ebx, eax
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x60], ebx
test ebx, ebx
jge 0x48287e
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [eax + 0x60], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x48289a
xor eax, eax
push ebp
push 0x4828d6
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x34]
mov edx, 0x483798
mov eax, dword [ebp - 0x10]
call 0x42627c
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
lea ecx, [edx + 0x64]
mov edx, dword [0x47d40c]
call fcn.004743dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4828f2
xor eax, eax
push ebp
push 0x482920
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x4837cc
mov eax, dword [ebp - 0x10]
call 0x426344
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x84], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482934
xor eax, eax
push ebp
push 0x482962
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x4837e4
mov eax, dword [ebp - 0x10]
call 0x426344
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x85], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482976
xor eax, eax
push ebp
push 0x4829c5
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x38]
mov edx, 0x483800
mov eax, dword [ebp - 0x10]
call 0x42627c
mov edx, dword [ebp - 0x38]
mov eax, dword [0x47d384]
call 0x473a68
mov ebx, eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x86], bl
sub bl, 0xd
jb 0x4829bb
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x86], 2
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4829d9
xor eax, eax
push ebp
push 0x482a07
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483814
mov eax, dword [ebp - 0x10]
call 0x426344
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x87], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x482a1b
xor eax, eax
push ebp
push 0x482ab0
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x417f5c]
call fcn.00403f60
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x482a9f
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x483838
mov eax, dword [ebp - 0x10]
call 0x426224
mov edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx]
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 4]
mov edx, 0x483838
mov eax, dword [ebp - 0x10]
call 0x4263b8
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x538]
mov eax, dword [ebp - 0x14]
call fcn.004819ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x482aa6
mov eax, dword [ebp - 0x14]
call fcn.00403f90
ret
mov eax, dword [ebp - 0x18]
call 0x404e1c
mov eax, dword [ebp - 0x18]
add eax, 4
mov edx, 0x4835f0
call fcn.00404e70
mov eax, dword [ebp - 0x18]
add eax, 8
mov edx, 0x48361c
call fcn.00404e70
mov eax, dword [ebp - 0x18]
mov byte [eax + 0xc], 1
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x10], 0x1f4
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x14], 0x1f4
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x18], 2
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0x18]
add eax, 0x20
mov edx, 0x4836ac
call fcn.00404e70
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x24], 0xc
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x28], 0xee
mov eax, dword [ebp - 0x18]
movzx edx, byte [0x4836f4]
mov byte [eax + 0x2c], dl
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x30], 0x66666666
mov dword [eax + 0x34], 0x40296666
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x38], 0x66666666
mov dword [eax + 0x3c], 0x40296666
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x40], 0x66666666
mov dword [eax + 0x44], 0x40296666
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x48], 0x66666666
mov dword [eax + 0x4c], 0x40296666
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x50], 0
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], 0x40180000
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [eax + 0x60], edx
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x64]
mov esi, 0x4837a4
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x84], 1
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x85], 1
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x86], 2
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x87], 0
mov eax, dword [ebp - 0x18]
add eax, 0x8c
call 0x404e1c
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x90], 0x66666666
mov dword [eax + 0x94], 0x40296666
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x98], 0x66666666
mov dword [eax + 0x9c], 0x40296666
mov eax, dword [ebp - 0x18]
mov byte [eax + 0xa0], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x482d76
mov eax, dword [ebp - 0x10]
call fcn.00425e44
ret