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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1027340f
mov eax, dword fs:[0]
push eax
sub esp, 0x250
mov eax, dword [0x10285008]
xor eax, esp
mov dword [esp + 0x248], eax
push ebx
push esi
push edi
mov eax, dword [0x10285008]
xor eax, esp
push eax
lea eax, [esp + 0x260]
mov dword fs:[0], eax
mov bl, dl
mov dword [esp + 0x30], ecx
mov edi, dword [ebp + 8]
lea eax, [esp + 0x4c]
mov esi, dword [ebp + 0xc]
push 0x50
push 0
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov byte [esp + 0x4d], 1
and dword [esp + 0x268], 0
lea eax, [esp + 0x188]
push 1
push ecx
push 0x64
push eax
lea ecx, [esp + 0x184]
call fcn.100b5e5f
mov byte [esp + 0x268], 2
test bl, bl
je 0x101ca068
push esi
push edi
push 0x10096f78
call fcn.100d3bb6
mov eax, dword [0x102c7ff8]
lea ecx, [esp + 0x40]
add esp, 0xc
mov dword [esp + 0x3c], edi
xor edx, edx
xor bl, bl
mov esi, dword [eax + 0x78]
push 8
pop eax
mov word [esp + 0x34], ax
xor eax, eax
mov word [esp + 0x36], ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
call fcn.100b435e
test esi, esi
je 0x101c9ff9
mov edi, dword [esp + 0x48]
test dword [esi + 0x30], 0x20000000
je 0x101c9fca
test byte [esi + 0x2c], 2
jne 0x101c9fca
push 0
mov ecx, esi
call fcn.100cd84f
test eax, eax
je 0x101c9fca
mov eax, dword [esp + 0x44]
cmp dword [esi + 0x108], eax
jne 0x101c9fca
cmp dword [esi + 0x10c], edi
je 0x101c9fd1
mov esi, dword [esi + 4]
test esi, esi
jne 0x101c9f9a
test esi, esi
je 0x101c9ff1
push dword [esi + 0x14]
push dword [esi + 0x14]
push 0x10096fd8
call fcn.100d3bb6
mov esi, dword [esi + 4]
add esp, 0xc
mov bl, 1
test esi, esi
jne 0x101c9f9a
mov edi, dword [esp + 0x20]
test bl, bl
jne 0x101ca00e
mov ebx, dword [esp + 0x1c]
push ebx
push edi
push 0x10097038
call fcn.100d3bb6
add esp, 0xc
jmp 0x101ca012
mov ebx, dword [esp + 0x1c]
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x101ca039
cmp dword [eax + 8], 2
je 0x101ca027
cmp dword [eax + 8], 3
jne 0x101ca031
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca03b
mov ecx, dword [eax + 0x538]
jmp 0x101ca03b
xor ecx, ecx
push ebx
push edi
call fcn.100b4821
mov ecx, dword [esp + 0x30]
mov edx, 0x1009709c
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.10179be0
push 0x100597b0
call fcn.100d3bb6
pop ecx
jmp 0x101ca06c
mov ebx, dword [esp + 0x1c]
push 0
push 0x1005f420
push 0x100970a4
push ebx
xor edx, edx
or ecx, 0xffffffff
push edi
inc edx
call fcn.101f4466
mov esi, dword [0x102c7ff8]
mov ecx, esi
push 1
push ebx
push edi
call fcn.1017f835
mov edi, eax
test edi, edi
je 0x101ca33a
push 0x58
push 0
push 0x102a76a8
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [0x102a76a8], 0x58
lea eax, [esp + 0x14]
mov dword [0x102a76f8], 0x7d0
push 0x102a76a8
push eax
push ebx
push dword [esp + 0x2c]
push dword [esi + 0x50]
call dword [sym.imp.dbghelp.dll_SymFromAddrW]
test eax, eax
je 0x101ca506
mov edx, dword [0x102a76c8]
mov esi, dword [0x102c7ff8]
mov ecx, dword [0x102a76cc]
cmp dword [edi + 0x10], edx
jne 0x101ca101
cmp dword [edi + 0x14], ecx
je 0x101ca11f
mov eax, dword [esi + 0xc]
test eax, eax
je 0x101ca11f
cmp dword [eax + 0x10], edx
jne 0x101ca112
cmp dword [eax + 0x14], ecx
je 0x101ca119
mov eax, dword [eax + 4]
test eax, eax
jne 0x101ca108
test eax, eax
je 0x101ca11f
mov edi, eax
mov eax, dword [0x102a76d0]
mov edx, dword [0x102a76e4]
and eax, 0x30000
mov ebx, dword [0x102a76e0]
neg eax
mov dword [esp + 0x24], ebx
sbb eax, eax
mov dword [esp + 0x2c], edx
neg eax
mov dword [esp + 0x28], edx
je 0x101ca1e0
mov eax, dword [0x102c7ff0]
xor ecx, ecx
xor edx, edx
push edx
push edx
cmp byte [eax + 0x28], cl
setne cl
lea ecx, [ecx*4 + 4]
push ecx
push 2
push edx
push 0x102a76a8
push 0x102a76fc
push edi
push esi
lea ecx, [esp + 0x70]
call fcn.101ef709
test eax, eax
jne 0x101ca1a4
cmp dword [esp + 0x64], 0x80000014
je 0x101ca1a4
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x50]
call fcn.101ebec2
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jmp 0x101ca1a8
mov edx, dword [esp + 0x2c]
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x101ca1cf
cmp dword [eax + 8], 2
je 0x101ca1bd
cmp dword [eax + 8], 3
jne 0x101ca1c7
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca1d1
mov ecx, dword [eax + 0x538]
jmp 0x101ca1d1
xor ecx, ecx
push edx
push ebx
call fcn.100b4821
push eax
push 0x100970b8
jmp 0x101ca216
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x101ca207
cmp dword [eax + 8], 2
je 0x101ca1f5
cmp dword [eax + 8], 3
jne 0x101ca1ff
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca209
mov ecx, dword [eax + 0x538]
jmp 0x101ca209
xor ecx, ecx
push edx
push ebx
call fcn.100b4821
push eax
push 0x100970d0
call fcn.100d3a67
pop ecx
pop ecx
mov ebx, 0x102a76fc
mov esi, 0x100970dc
push ebx
push dword [edi + 0x50]
push esi
call fcn.100d3a67
mov eax, dword [esp + 0x20]
add esp, 0xc
or eax, dword [esp + 0x18]
je 0x101ca259
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.101f4c13
push eax
push 0x100970f0
call fcn.100d3a67
pop ecx
jmp 0x101ca263
push 0x100594a8
call fcn.100d3a67
mov eax, dword [0x102c7ff8]
pop ecx
push 0x102a76a8
push dword [eax + 0x50]
call dword [sym.imp.dbghelp.dll_SymNextW]
test eax, eax
je 0x101ca327
push 0x10097104
call fcn.100d3a67
test dword [0x102a76d0], 0x30000
mov eax, dword [0x102c7ff4]
pop ecx
je 0x101ca2d8
test eax, eax
je 0x101ca2bd
cmp dword [eax + 8], 2
je 0x101ca2ab
cmp dword [eax + 8], 3
jne 0x101ca2b5
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca2bf
mov ecx, dword [eax + 0x538]
jmp 0x101ca2bf
xor ecx, ecx
push dword [0x102a76e4]
push dword [0x102a76e0]
call fcn.100b4821
push eax
push 0x100970b8
jmp 0x101ca313
test eax, eax
je 0x101ca2fa
cmp dword [eax + 8], 2
je 0x101ca2e8
cmp dword [eax + 8], 3
jne 0x101ca2f2
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca2fc
mov ecx, dword [eax + 0x538]
jmp 0x101ca2fc
xor ecx, ecx
push dword [0x102a76e4]
push dword [0x102a76e0]
call fcn.100b4821
push eax
push 0x100970d0
call fcn.100d3a67
pop ecx
pop ecx
push ebx
push dword [edi + 0x50]
push esi
call fcn.100d3a67
add esp, 0xc
push 0x100597b0
call fcn.100d3a67
mov ebx, dword [esp + 0x24]
jmp 0x101ca44e
lea eax, [esp + 0x30]
xor ecx, ecx
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x180]
push eax
mov eax, dword [0x102c7ff0]
push 0
cmp byte [eax + 0x28], cl
setne cl
lea ecx, [ecx*4 + 4]
push ecx
push ecx
push ecx
push 0xffffffffffffffff
push ebx
mov ebx, dword [esp + 0x48]
lea ecx, [esp + 0x74]
push ebx
push esi
call fcn.101ef3ad
cmp dword [esp + 0x30], 0
je 0x101ca506
cmp dword [esp + 0x64], 0x80000014
mov eax, dword [0x102c7ff4]
jne 0x101ca3cf
test eax, eax
je 0x101ca3b8
cmp dword [eax + 8], 2
je 0x101ca3a6
cmp dword [eax + 8], 3
jne 0x101ca3b0
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca3ba
mov ecx, dword [eax + 0x538]
jmp 0x101ca3ba
xor ecx, ecx
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.100b4821
push eax
push 0x100970b8
jmp 0x101ca406
test eax, eax
je 0x101ca3f1
cmp dword [eax + 8], 2
je 0x101ca3df
cmp dword [eax + 8], 3
jne 0x101ca3e9
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x101ca3f3
mov ecx, dword [eax + 0x538]
jmp 0x101ca3f3
xor ecx, ecx
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.100b4821
push eax
push 0x100970d0
call fcn.100d3a67
pop ecx
pop ecx
push dword [esp + 0x174]
push 0x1009710c
call fcn.100d3a67
mov eax, dword [esp + 0x1c]
or eax, dword [esp + 0x20]
pop ecx
pop ecx
je 0x101ca444
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.101f4c13
push eax
push 0x10097118
call fcn.100d3a67
pop ecx
pop ecx
push 0x100597b0
call fcn.100d3a67
pop ecx
test edi, edi
je 0x101ca506
mov eax, dword [esp + 0x14]
or eax, dword [esp + 0x18]
jne 0x101ca506
cmp dword [0x102d0534], eax
jne 0x101ca477
mov ecx, 0x102d0530
call fcn.101cdb79
push 0x8003
push dword [0x102c7ff8]
lea ecx, [esp + 0xa4]
call fcn.101f1f59
push 0x10097124
call fcn.100d3a67
pop ecx
call fcn.100d2d40
mov eax, dword [0x102c7fec]
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa4], eax
mov eax, dword [0x102c7ff0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
push 0x101f2930
mov dword [esp + 0xa4], edi
mov dword [esp + 0xb8], 0x1005d96c
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe8], 2
call fcn.101f2096
push 0
lea edx, [esp + 0xa0]
mov ecx, edi
call fcn.101c94f9
mov byte [esp + 0x268], 0
lea ecx, [esp + 0x174]
call fcn.100b5ef7
or dword [esp + 0x268], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.100d4e50
mov ecx, dword [esp + 0x260]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x248]
xor ecx, esp
call fcn.10236010
mov esp, ebp
pop ebp
ret 8