Function at 0x540d50
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x5deb68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebp
push esi
push edi
xor ebp, ebp
lea ecx, [esp + 0xc]
push ebp
mov dword [esp + 0x34], 1
call fcn.00558090
mov al, byte [esp + 0x40]
mov dword [esp + 0x1c], ebp
mov byte [esp + 0x18], al
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
push 4
lea ecx, [esp + 0x3c]
mov byte [esp + 0x34], 3
call fcn.00558380
movzx si, al
push 5
lea ecx, [esp + 0x3c]
shl esi, 8
call fcn.00558380
xor cx, cx
mov cl, al
mov al, byte [0x619c14]
add esi, ecx
cmp al, 1
jne 0x540e20
lea ecx, [esp + 0x10]
call fcn.00558060
mov byte [esp + 0x30], 4
mov edi, 0x64
mov al, byte [0x626b9c]
mov cl, al
inc al
push ecx
lea ecx, [esp + 0x14]
mov byte [0x626b9c], al
call fcn.00558500
dec edi
jne 0x540dd8
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.00558070
lea ecx, [esp + 0x10]
call fcn.00558390
lea ecx, [esp + 0x10]
mov byte [esp + 0x30], 3
call fcn.005581a0
jmp 0x540ea0
lea eax, [esp + 0x18]
lea edx, [esp + 0x3c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00558070
mov ecx, 0x626b00
call fcn.00517240
cmp ax, 1
jge 0x540e80
mov eax, dword [esp + 0x40]
push 0x60e7b0
push eax
call fcn.005bcf3d
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add esp, 8
cmp esi, edi
mov byte [esp + 0x30], 2
je 0x540f84
mov ecx, esi
call fcn.005581a0
add esi, 4
cmp esi, edi
jne 0x540e6d
jmp 0x540f80
push ebp
lea ecx, [esp + 0x1c]
call fcn.00402a80
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.00558070
lea ecx, [esp + 0x10]
call fcn.00558390
movsx eax, si
add eax, 0xffffff00
cmp eax, 4
ja case.default.0x540eb1
jmp dword [eax*4 + 0x540fd8]
push 2
lea ecx, [esp + 0x10]
call fcn.00558380
and eax, 0xff
lea ecx, [eax + eax*2]
mov eax, 0x80808081
shl ecx, 3
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
mov edx, dword [esp + 0x44]
push 0x609488
push edx
jmp 0x540f59
push 3
lea ecx, [esp + 0x10]
call fcn.00558380
and eax, 0xff
lea ecx, [eax + eax*4]
shl ecx, 3
sub ecx, eax
jmp 0x540f3b
push 4
lea ecx, [esp + 0x10]
call fcn.00558380
and eax, 0xff
lea ecx, [eax + eax*4]
shl ecx, 3
sub ecx, eax
jmp 0x540f3b
push 0xd
jmp 0x540f28
push 0xe
lea ecx, [esp + 0x10]
call fcn.00558380
and eax, 0xff
lea ecx, [eax + eax*4]
shl ecx, 1
mov eax, 0x80808081
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x40]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x609488
push ecx
call fcn.005bcf3d
add esp, 0xc
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
cmp esi, edi
mov byte [esp + 0x30], 2
je 0x540f84
mov ecx, esi
call fcn.005581a0
add esi, 4
cmp esi, edi
jne 0x540f72
mov esi, dword [esp + 0x1c]
push esi
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0xc]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov byte [esp + 0x30], 1
call fcn.005581a0
lea ecx, [esp + 0x38]
mov byte [esp + 0x30], 0
call fcn.005581a0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x30], 0xffffffff
call fcn.005581a0
mov ecx, dword [esp + 0x28]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x28
ret