Function at 0x428f00
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x556cd8
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x5ae9b0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ae9b0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x9c]
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x30], ecx
mov edi, edx
call fcn.00417cc0
mov ebx, eax
mov dword [esp + 0x80], 0
call fcn.00429bf0
mov ebx, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x80], 0xffffffff
call fcn.004172e0
lea esi, [esp + 0x58]
mov ecx, ebx
call fcn.00429a80
mov esi, 1
mov dword [esp + 0x80], esi
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1b], al
call fcn.00409600
mov byte [esp + 0x80], 2
mov al, byte [edi]
cmp al, 0x2b
je 0x428fbc
mov dword [esp + 0x24], 0
cmp al, 0x2d
jne 0x428fc0
mov dword [esp + 0x24], esi
call fcn.0052a7be
mov ecx, dword [eax]
mov dl, byte [ecx]
push ebp
push 0x65
push edi
mov byte [esp + 0x28], dl
mov byte [esp + 0x29], 0x65
mov byte [esp + 0x2a], 0
call fcn.00529190
add esp, 0xc
mov esi, eax
movsx eax, byte [esp + 0x1c]
push ebp
push eax
push edi
call fcn.00529190
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x429002
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x58]
call fcn.00409ec0
cmp byte [eax], 0x7f
je 0x429150
lea ecx, [esp + 0x58]
call fcn.00409ec0
cmp byte [eax], 0
jle 0x429150
push ebp
push edi
lea ecx, [esp + 0x44]
call fcn.00404eb0
test esi, esi
jne 0x429051
mov ecx, dword [esp + 0x98]
push 0x30
push ecx
lea ecx, [esp + 0x44]
call fcn.0041ada0
mov ebp, dword [esp + 0x90]
jmp 0x429089
test ebx, ebx
jne 0x42906c
mov edx, dword [esp + 0x90]
push 0x30
push edx
lea ecx, [esp + 0x44]
call fcn.0041ada0
xor ebp, ebp
jmp 0x429073
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x98]
push 0x30
push eax
sub esi, edi
push esi
lea ecx, [esp + 0x48]
call fcn.00404b10
push 0x30
test ebx, ebx
jne 0x42909b
push ebp
lea ecx, [esp + 0x44]
call fcn.0041ada0
jmp 0x4290cc
mov ecx, dword [esp + 0x98]
mov esi, ebx
sub esi, edi
push ecx
lea edx, [esi + 1]
push edx
lea ecx, [esp + 0x48]
call fcn.00404b10
push 0x30
push ebp
push esi
lea ecx, [esp + 0x48]
call fcn.00404b10
mov dword [esp + 0x94], 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x90], 0
call fcn.00409ec0
lea ecx, [esp + 0x3c]
mov edi, eax
call fcn.00409d10
lea ecx, [esp + 0x1c]
push ecx
push eax
call fcn.0052a7f0
mov esi, eax
mov al, byte [edi]
add esp, 8
cmp al, 0x7f
je 0x42912f
test al, al
jle 0x42912f
mov edx, esi
sub edx, dword [esp + 0x24]
movsx eax, al
cmp eax, edx
jae 0x42912f
push 0
sub esi, eax
push 1
push esi
lea ecx, [esp + 0x48]
call fcn.00404b10
cmp byte [edi + 1], 0
jle 0x429129
inc edi
mov al, byte [edi]
cmp al, 0x7f
jne 0x429101
lea ecx, [esp + 0x3c]
call fcn.00409d10
lea ecx, [esp + 0x3c]
mov edi, eax
mov dword [esp + 0x98], 0
call fcn.00404c30
mov ebp, eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x2c]
lea esi, [eax + ecx]
add esi, dword [esp + 0x98]
mov ecx, ebx
add esi, ebp
call fcn.00417c70
test eax, eax
jle 0x429195
mov ecx, ebx
call fcn.00417c70
cmp eax, esi
jbe 0x429195
mov ecx, ebx
call fcn.00417c70
mov ebx, eax
sub ebx, esi
mov dword [esp + 0x20], ebx
jmp 0x4291a1
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
call fcn.00417c50
and eax, 0x1c0
cmp eax, 0x40
je 0x429260
cmp eax, 0x100
je 0x4291de
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
push edx
push eax
push ecx
lea edx, [esp + 0x30]
push edx
jmp 0x42923b
cmp dword [esp + 0x24], 0
jbe 0x42921e
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
mov eax, 1
mov ecx, edi
call fcn.004297f0
mov ecx, dword [eax]
mov dword [esp + 0xac], ecx
mov edx, dword [eax + 4]
add esp, 0xc
inc edi
mov dword [esp + 0xa4], edx
dec ebp
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
push eax
push ecx
push edx
lea eax, [esp + 0x30]
push eax
mov eax, ebx
call fcn.00429860
mov ecx, dword [eax]
mov dword [esp + 0xb0], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x30], 0
mov dword [esp + 0xb4], edx
add esp, 0x10
movsx eax, byte [esp + 0x1c]
push ebp
push eax
push edi
call fcn.00529190
add esp, 0xc
test eax, eax
je 0x42935e
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov bl, byte [esp + 0x1b]
sub eax, edi
inc eax
push ecx
mov esi, eax
push edx
lea eax, [esi - 1]
push eax
lea ecx, [esp + 0x30]
push ecx
mov eax, edi
call fcn.004299e0
mov edx, dword [eax]
mov dword [esp + 0xb0], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0xb4], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0x30
push edx
push eax
mov eax, dword [esp + 0xac]
lea ecx, [esp + 0x40]
push ecx
call fcn.00429860
mov edx, dword [eax]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xc0], edx
mov eax, dword [eax + 4]
mov dword [esp + 0xc4], eax
mov edx, dword [ecx]
mov eax, dword [edx + 4]
add esp, 0x20
call eax
mov edx, dword [esp + 0xa4]
mov byte [esp + 0x30], al
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xa0]
push ecx
push edx
push eax
lea ecx, [esp + 0x30]
push ecx
mov eax, 1
call fcn.00429860
mov edx, dword [eax]
mov dword [esp + 0xb0], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0xb4], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0x30
push edx
push eax
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0x4c]
push ecx
call fcn.00429860
mov edx, dword [eax]
mov dword [esp + 0xc0], edx
mov eax, dword [eax + 4]
add esp, 0x20
add edi, esi
mov dword [esp + 0xa4], eax
sub ebp, esi
push ebp
push 0x65
push edi
call fcn.00529190
add esp, 0xc
test eax, eax
je 0x429439
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov bl, byte [esp + 0x1b]
sub eax, edi
inc eax
push ecx
mov esi, eax
push edx
lea eax, [esi - 1]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov eax, edi
call fcn.004299e0
mov edx, dword [eax]
mov dword [esp + 0xb0], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0xb4], ecx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 0x30
push edx
push eax
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x4c]
push ecx
call fcn.00429860
mov edx, dword [eax]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc0], edx
mov eax, dword [eax + 4]
add esp, 0x20
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], 0
call fcn.00417c50
mov ecx, 0x58b20c
test al, 4
jne 0x429400
mov ecx, 0x58b210
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
push edx
push eax
lea edx, [esp + 0x38]
push edx
mov eax, 1
call fcn.004297f0
mov ecx, dword [eax]
mov dword [esp + 0xac], ecx
mov edx, dword [eax + 4]
add esp, 0xc
add edi, esi
mov dword [esp + 0xa4], edx
sub ebp, esi
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov bl, byte [esp + 0x1b]
push eax
push ecx
lea edx, [esp + 0x38]
push ebp
push edx
mov eax, edi
call fcn.004299e0
mov ecx, dword [eax]
mov dword [esp + 0xb0], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xb4], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push 0x30
push ecx
push edx
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0xb8]
call fcn.00429860
mov ecx, dword [eax]
mov dword [esp + 0xc0], ecx
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x4c]
add esp, 0x20
push 0
mov dword [esp + 0xa8], edx
call fcn.00417c90
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x24]
push ecx
push edx
push esi
call fcn.00429860
add esp, 0x10
lea ecx, [esp + 0x3c]
call fcn.00409630
lea ecx, [esp + 0x58]
call fcn.00409630
mov eax, esi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00528556
add esp, 0x70
ret