Function at 0x10005a20
Capabilities:
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10019022
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x1001f008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x5c], ecx
push 1
push 0
push 0
push 0
push 0x179
push 0x1c8
push 0
push 0
sub esp, 0x18
mov dword [ebp - 0x70], ecx
mov ebx, esp
mov dword [ebp - 0x24], 0x7c
sub esp, 0xc
mov dword [ebp - 0x20], 0x29
mov edi, esp
mov dword [ebp - 0x1c], 0x91
mov dword [ebp - 0x18], 0x98
mov ecx, edi
mov dword [ebp - 0x14], 0x99
push 5
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.10009290
mov esi, dword [edi]
lea eax, [ebp - 0x24]
push 0x14
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
lea eax, [esi + 0x14]
mov ecx, ebx
mov dword [edi + 4], eax
call fcn.10015790
mov ebx, dword [ebp - 0x64]
add esp, 0xc
mov ecx, ebx
call fcn.1000f540
mov dword [ebp - 4], 0
mov dword [ebx], vtable.GUIShopDialog.0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov byte [ebp - 4], 2
lea esi, [ebx + 0x38]
lea eax, [ebp - 0x5c]
mov dword [ebx + 0x6c], 0xffffffff
push eax
mov ecx, esi
mov dword [ebx + 0x70], 0xffffffff
mov dword [ebx + 0x74], 0xffffffff
mov dword [ebx + 0x78], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], esi
call fcn.10009320
lea edi, [ebx + 0x2c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x18], 5
mov ecx, dword [eax]
mov eax, dword [edi]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x23], 0
mov eax, dword [eax + ecx*4]
mov ecx, 0xffffffd0
imul eax, dword [eax + 0x30], 0x35
sub ecx, eax
mov eax, dword [str.Close]
mov dword [ebp - 0x28], eax
mov al, byte [0x1001a4b0]
mov byte [ebp - 0x24], al
mov byte [ebp - 4], 3
push 1
push 1
push 0
push 0xfffffffffffffffc
push ecx
push ebx
push 0x1000e810
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x60], esp
push eax
call fcn.10008f00
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 4
push eax
mov ecx, esi
mov dword [ebp - 0x5c], 0
call fcn.10009320
mov ecx, dword [eax]
mov eax, dword [edi]
mov ecx, dword [eax + ecx*4]
mov byte [ebp - 4], 3
call fcn.1000cc30
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x10005c13
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10005c09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10005c09
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10017f6a
add esp, 8
push 0x44
push 0x53
push 4
mov ecx, ebx
call fcn.1000f3c0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x60], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 5
push eax
mov ecx, esi
mov dword [ebp - 0x5c], 4
call fcn.10009320
sub esp, 0x14
mov ecx, dword [eax]
mov eax, dword [edi]
mov ecx, dword [eax + ecx*4]
mov eax, esp
mov byte [ebp - 4], 2
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 1
call fcn.1000d360
push 0x21
push 0xf6
push 5
mov ecx, ebx
call fcn.1000f3c0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x60], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 6
push eax
mov ecx, esi
mov dword [ebp - 0x5c], 5
call fcn.10009320
sub esp, 0x14
mov ecx, dword [eax]
mov eax, dword [edi]
mov ecx, dword [eax + ecx*4]
mov eax, esp
mov byte [ebp - 4], 2
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 0
call fcn.1000d360
push 0x2e
push 0xf6
push 6
mov ecx, ebx
call fcn.1000f3c0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x60], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
mov dword [ebp - 0x5c], 6
call fcn.10009320
mov ecx, dword [eax]
mov eax, dword [edi]
mov ecx, dword [eax + ecx*4]
sub esp, 0x14
mov byte [ebp - 4], 2
mov eax, esp
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 0
call fcn.1000d360
push 0x4c
mov dword [ebp - 0x60], 7
call fcn.10017f3a
mov esi, eax
mov dword [ebp - 0x5c], esi
push 0
push 0xb4
push 0x40
push 0xf6
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.1000eb10
mov dword [esi], vtable.LabelEx.0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov byte [ebp - 4], 2
mov dword [esi + 0x38], 1
mov dword [esi + 0x44], 0xff
mov dword [esi + 0x40], 0xff
mov dword [esi + 0x3c], 0xff
mov dword [esi + 0x48], 0
mov eax, dword [edi + 4]
mov dword [ebp - 0x5c], esi
cmp eax, dword [edi + 8]
je 0x10005dfc
mov dword [eax], esi
add dword [edi + 4], 4
jmp 0x10005e08
lea ecx, [ebp - 0x5c]
push ecx
push eax
mov ecx, edi
call fcn.1000e9b0
mov dword [esi + 0x20], ebx
cmp dword [ebx + 0x40], 0
jne 0x10005e1e
cmp byte [esi + 0x1a], 0
je 0x10005e1e
mov dword [ebx + 0x40], esi
mov byte [esi + 0x1b], 1
mov esi, dword [edi + 4]
lea eax, [ebp - 0x60]
sub esi, dword [edi]
lea ecx, [ebx + 0x38]
push eax
sar esi, 2
call fcn.10009320
lea ecx, [esi - 1]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov dword [eax], ecx
mov byte [ebp - 0x40], 0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebx + 0x38]
mov dword [ebp - 0x60], 7
call fcn.10009320
mov ecx, dword [eax]
mov eax, dword [edi]
mov edi, dword [eax + ecx*4]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x40]
mov dword [edi + 0x38], 1
sub esp, 0x18
mov dword [edi + 0x3c], 0xbf
mov ecx, esp
mov dword [edi + 0x40], 0xbf
mov dword [edi + 0x44], 0xbf
push eax
mov dword [edi + 0x48], 0
call fcn.10008f00
push dword [edi + 0x10]
mov edx, dword [edi + 0x38]
lea ecx, [ebp - 0x1c]
call fcn.100144c0
add esp, 0x1c
lea ecx, [edi + 0x2c]
push eax
call fcn.1000d690
lea ecx, [ebp - 0x1c]
call fcn.1000c8f0
mov ecx, dword [edi + 0x30]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x2c]
imul ecx
mov byte [ebp - 4], 2
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x2c]
add eax, eax
mov dword [edi + 0x14], eax
cmp ecx, 0x10
jb 0x10005f24
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10005f1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10005f1a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10017f6a
add esp, 8
push 0x136
push 0x164
push 8
mov ecx, ebx
call fcn.1000f300
push 1
push 0
push 0
push 0
push 0
push ebx
push 0x100055e0
sub esp, 0x18
mov dword [ebp - 0x58], 0x72
mov dword [ebp - 0x5c], esp
mov ebx, esp
sub esp, 0xc
mov dword [ebp - 0x54], 0x30
mov edi, esp
mov dword [ebp - 0x50], 0xa5
mov dword [ebp - 0x4c], 0xa9
mov ecx, edi
mov dword [ebp - 0x48], 0x50
mov dword [ebp - 0x44], 0xa0
mov dword [ebp - 0x40], 0xa2
mov dword [ebp - 0x3c], 0x9f
mov dword [ebp - 0x38], 0x94
mov dword [ebp - 0x34], 0xa5
mov dword [ebp - 0x30], 0x93
mov dword [ebp - 0x2c], 0xa4
push 0xc
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.10009290
mov esi, dword [edi]
lea eax, [ebp - 0x58]
push 0x30
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
lea eax, [esi + 0x30]
mov ecx, ebx
mov dword [edi + 4], eax
call fcn.10015790
add esp, 0xc
mov edi, dword [ebp - 0x68]
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xb
mov ecx, edi
push eax
mov dword [ebp - 0x60], 8
call fcn.10009320
mov esi, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [esi]
mov ecx, dword [eax + ecx*4]
mov byte [ebp - 4], 2
call fcn.1000cc30
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], 8
push eax
mov ecx, edi
call fcn.10009320
mov dword [ebp - 0x5c], 1
mov ecx, dword [eax]
mov eax, dword [esi]
mov ebx, dword [eax + ecx*4]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebx + 0x2c]
call fcn.1000d310
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0xd], 0
jne 0x1000605b
cmp dword [eax + 0x10], 1
ja 0x1000605b
cmp eax, dword [ebx + 0x2c]
je 0x1000605b
mov eax, dword [eax + 0x14]
jmp 0x1000605d
xor eax, eax
mov ebx, dword [ebp - 0x64]
push ecx
push 0x8a
push ecx
push 0xf
push 9
mov ecx, ebx
mov byte [eax + 0x1a], 0
call fcn.1000f170
push ecx
push 0x114
push ecx
push 0xa5
push 0xa
mov ecx, ebx
call fcn.1000f170
push 0x13b
push 0x15e
push 0xb
mov ecx, ebx
call fcn.1000f3c0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x5c], esp
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xc
push eax
mov ecx, edi
mov dword [ebp - 0x60], 0xb
call fcn.10009320
sub esp, 0x14
mov ecx, dword [eax]
mov eax, dword [esi]
mov ecx, dword [eax + ecx*4]
mov eax, esp
mov byte [ebp - 4], 2
mov dword [eax], 1
mov dword [eax + 4], 0xbf
mov dword [eax + 8], 0xbf
mov dword [eax + 0xc], 0xbf
mov dword [eax + 0x10], 2
call fcn.1000d360
push 0x136
push 0xf
push 0xc
mov ecx, ebx
call fcn.1000f300
push 1
push 0
push 0
push 0x24
push 0
push ebx
push 0x10005720
sub esp, 0x18
mov dword [ebp - 0x50], 0x82
mov dword [ebp - 0x5c], esp
mov ebx, esp
sub esp, 0xc
mov dword [ebp - 0x4c], 0x40
mov edi, esp
mov dword [ebp - 0x48], 0xb5
mov dword [ebp - 0x44], 0xb9
mov ecx, edi
mov dword [ebp - 0x40], 0x60
mov dword [ebp - 0x3c], 0xa3
mov dword [ebp - 0x38], 0xaf
mov dword [ebp - 0x34], 0xa9
mov dword [ebp - 0x30], 0xae
mov dword [ebp - 0x2c], 0xb3
push 0xa
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
call fcn.10009290
mov esi, dword [edi]
push 0x28
lea eax, [ebp - 0x50]
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
lea eax, [esi + 0x28]
mov ecx, ebx
mov dword [edi + 4], eax
call fcn.10015790
add esp, 0xc
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - 0x60], 0xc
call fcn.10009320
mov ecx, dword [ebp - 0x6c]
mov edx, dword [eax]
mov ecx, dword [ecx]
mov ecx, dword [ecx + edx*4]
mov byte [ebp - 4], 2
call fcn.1000cc30
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10017d2f
mov esp, ebp
pop ebp
ret