Function at 0x10003fc0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10023080
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1002b060]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov edi, str.d3d11.dll
lea esi, [esp + 0x28]
mov byte [esp + 0x80], 4
call fcn.10001030
mov esi, eax
cmp esi, ebp
jne 0x10004075
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x10004038
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x10004050
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x28]
cmp eax, ebp
je 0x1000405f
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
mov ebx, dword [esp + 0x28]
cmp ebx, ebp
je 0x1000408d
push str.D3D11CreateDevice
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebp
jne 0x100040de
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x100040a5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x100040bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp ebx, ebp
je 0x100040c8
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x1c]
push ecx
push 7
push ebp
push ebp
push ebp
push ebp
push 3
push ebp
mov dword [esp + 0x5c], 0xb000
call eax
cmp eax, ebp
jge 0x10004151
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x1000411c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x10004134
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
sub edx, esi
mov dword [0x1003668c], edx
mov ecx, dword [ecx + 8]
sub ecx, esi
mov dword [0x10036690], ecx
mov dword [esp + 0x20], ebp
mov byte [esp + 0x80], 5
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x20], ebp
mov edx, dword [eax]
mov edx, dword [edx]
push 0x10027900
push eax
call edx
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x1000423a
mov dword [esp + 0x34], ebp
mov dword [esp + 0x24], ebp
lea edx, [esp + 0x34]
mov byte [esp + 0x80], 8
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
je 0x100041f4
mov esi, eax
xor eax, eax
mov dword [esp + 0x24], eax
cmp ecx, ebp
je 0x100041e4
mov edx, dword [ecx]
lea eax, [esp + 0x24]
push eax
push 0x10027910
push ecx
mov ecx, dword [edx]
call ecx
mov eax, dword [esp + 0x24]
cmp esi, ebp
je 0x100041f4
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x10027920
push eax
mov eax, dword [ecx + 0x18]
call eax
mov byte [esp + 0x80], 7
mov eax, dword [esp + 0x24]
cmp eax, ebp
je 0x1000421e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 6
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x10004236
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
jne 0x100042be
mov byte [esp + 0x80], 5
cmp eax, ebp
je 0x1000425a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x80], 4
cmp ecx, ebp
je 0x1000426e
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 8]
call ecx
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x10004286
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x1000429e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0x80004005
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
mov edi, str.dxgi.dll
lea esi, [esp + 0x30]
call fcn.10001030
mov esi, eax
cmp esi, ebp
jne 0x10004360
mov byte [esp + 0x80], 5
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x100042ee
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 4
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x10004306
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x1000431e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x10004336
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x30]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp eax, ebp
je 0x10004347
push eax
call esi
push ebx
call esi
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
push 0x103
push 0x1003643c
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [esp + 0x20]
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
sub eax, esi
mov dword [0x10036694], eax
mov dword [esp + 0x2c], ebp
push 0x3c
lea ecx, [esp + 0x40]
push ebp
push ecx
mov byte [esp + 0x8c], 9
call fcn.10014110
mov edx, dword [esp + 0x94]
add esp, 0xc
mov dword [esp + 0x68], edx
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x18]
mov ebx, 1
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x54], 0x1c
mov dword [esp + 0x4c], 0x3c
mov dword [esp + 0x50], ebx
mov dword [esp + 0x68], 0x20
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x74], ebx
mov eax, dword [edi]
mov edx, dword [eax + 0x28]
push ecx
push edi
call edx
cmp eax, ebp
jge 0x100044a6
mov byte [esp + 0x80], 6
mov eax, dword [esp + 0x2c]
cmp eax, ebp
je 0x10004418
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 5
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x10004430
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 4
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x10004448
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x10004460
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x10004478
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x30]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp eax, ebp
je 0x10004489
push eax
call esi
mov eax, dword [esp + 0x28]
push eax
call esi
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
sub eax, esi
push eax
push ecx
mov dword [0x10036698], eax
call fcn.10002260
mov byte [esp + 0x88], 6
mov eax, dword [esp + 0x34]
add esp, 8
cmp eax, ebp
je 0x100044d8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 5
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x100044f0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 4
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x10004508
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 3
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x10004520
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x80], 2
mov eax, dword [esp + 0x14]
cmp eax, ebp
je 0x10004538
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x30]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp eax, ebp
je 0x10004549
push eax
call esi
mov eax, dword [esp + 0x28]
push eax
call esi
mov eax, ebx
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret