Function at 0x100ca463
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 0x1026b5d9
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
mov eax, dword [0x10285008]
xor eax, esp
mov dword [esp + 0xf0], eax
push ebx
push esi
push edi
mov eax, dword [0x10285008]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov dword [esp + 0x18], edx
mov esi, ecx
xor ebx, ebx
lea eax, [esp + 0x30]
inc ebx
push ebx
push ecx
push 0x64
pop edi
push edi
push eax
lea ecx, [esp + 0x2c]
call fcn.100b5e5f
mov dword [esp + 0x110], ebx
mov eax, dword [ebp + 8]
test eax, eax
jne 0x100ca4d9
cmp dword [esi + 0xc], eax
jne 0x100ca9b3
cmp dword [esi + 0xc], eax
jne 0x100ca9b3
test eax, eax
je 0x100ca4f1
push 0x1005d96c
call fcn.100d3a67
pop ecx
test byte [esi + 0x2c], 4
push 0x65
pop ebx
je 0x100ca517
mov eax, dword [esi + 0x30]
test eax, eax
jns 0x100ca515
and eax, 0x40000000
neg eax
sbb eax, eax
and eax, 0xfffffff2
add eax, 0x77
movzx edi, ax
jmp 0x100ca517
mov edi, ebx
movzx eax, di
push eax
push dword [esi + 0x14]
push 0x1005d978
call fcn.100d3a67
mov ecx, dword [0x102c7ff4]
add esp, 0xc
mov eax, dword [esi + 0xec]
cmp eax, dword [ecx + 0x504]
je 0x100ca566
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0xf0]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4 + 0x508]
push dword [eax + 0x10]
push 0x1005d988
call fcn.100d3a67
pop ecx
pop ecx
mov ecx, dword [0x102c7ff4]
cmp dword [esi + 0x28], 3
mov edi, 0x1005d9d0
jne 0x100ca58b
mov eax, dword [ecx + 0x538]
cmp byte [eax + 0x28], 0
je 0x100ca584
push 0x1005d990
jmp 0x100ca5f2
push 0x1005d9b8
jmp 0x100ca5f2
test byte [esi + 0x2c], 2
jne 0x100ca5da
push edi
call fcn.100d3a67
pop ecx
lea ecx, [esi + 0xf8]
call fcn.100b3dc5
xor eax, eax
cmp dword [esi + 0x28], eax
jne 0x100ca5f8
mov ecx, dword [esp + 0x18]
cmp byte [ecx], al
jne 0x100ca5f8
test byte [0x102ba3a8], 1
je 0x100ca5f8
push eax
push eax
push 0x1005d9d4
push dword [esi + 0x10c]
xor edx, edx
or ecx, 0xffffffff
push dword [esi + 0x108]
call fcn.101f4466
jmp 0x100ca5f8
mov eax, dword [ecx + 0x538]
cmp byte [eax + 0x28], 0
je 0x100ca5ed
push 0x1005d9e8
jmp 0x100ca5f2
push 0x1005da10
call fcn.100d3a67
pop ecx
mov eax, dword [esi + 0x28]
dec eax
je 0x100ca615
dec eax
je 0x100ca608
push 0x100594a8
jmp 0x100ca60d
push 0x1005da34
call fcn.100d3a67
pop ecx
jmp 0x100ca64c
mov eax, dword [esi + 0x40]
dec eax
je 0x100ca635
dec eax
je 0x100ca631
dec eax
je 0x100ca635
dec eax
je 0x100ca638
sub eax, 4
je 0x100ca62d
push 0x3f
jmp 0x100ca637
push 0x69
jmp 0x100ca637
push 0x77
jmp 0x100ca637
push 0x72
pop ebx
push dword [esi + 0x3c]
movzx eax, bx
push eax
push 0x1005da28
call fcn.100d3a67
add esp, 0xc
test byte [esi + 0x2c], 0x10
je 0x100ca65d
push 0x1005da3c
call fcn.100d3a67
pop ecx
push dword [esi + 0x44]
push dword [esi + 0x48]
push 0x1005da44
call fcn.100d3a67
add esp, 0xc
test byte [esi + 0x2c], 2
jne 0x100ca750
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
test eax, eax
je 0x100ca6c0
cmp dword [eax + 8], 2
je 0x100ca68f
cmp dword [eax + 8], 3
jne 0x100ca6c0
push dword [ecx + 0x3c]
push 0x1005da64
call fcn.100d3a67
mov eax, dword [esi + 0x50]
pop ecx
pop ecx
test eax, eax
je 0x100ca6b5
push dword [eax + 8]
push 0x1005da74
call fcn.100d3a67
pop ecx
jmp 0x100ca6bf
push 0x1005da84
call fcn.100d3a67
pop ecx
cmp dword [esi + 0x28], 3
jne 0x100ca704
push dword [esi + 0x60]
push 0x1005da90
call fcn.100d3a67
pop ecx
pop ecx
xor ebx, ebx
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x100ca84c
lea eax, [esp + 0x14]
push eax
lea edx, [esp + 0x20]
call fcn.101f37fd
push dword [esp + 0x14]
push 0x1005dac8
call fcn.100d3a67
pop ecx
jmp 0x100ca84b
test dword [esi + 0x30], 0x20000000
je 0x100ca6d5
push edi
call fcn.100d3a67
pop ecx
xor ebx, ebx
or ecx, 0xffffffff
push ebx
push dword [esi + 0x10c]
push dword [esi + 0x108]
push 0x11
pop edx
call fcn.101f4199
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100ca746
push dword [eax + 0x60]
push 0x1005da9c
call fcn.100d3a67
pop ecx
pop ecx
jmp 0x100ca6d7
cmp dword [esi + 0x60], ebx
je 0x100ca6d7
push dword [esi + 0x60]
jmp 0x100ca738
push dword [esi + 0x58]
push 0x1005dad4
call fcn.100d3a67
cmp dword [esi + 0x28], 0xa
pop ecx
pop ecx
jne 0x100ca770
push 0x1005dae0
call fcn.100d3a67
pop ecx
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x100ca795
lea eax, [esp + 0x14]
push eax
lea edx, [esp + 0x20]
call fcn.101f37fd
push dword [esp + 0x14]
push 0x1005dac8
call fcn.100d3a67
pop ecx
pop ecx
xor ebx, ebx
cmp dword [esi + 0x8c], ebx
je 0x100ca84c
push 0x1005db14
call fcn.100d3a67
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x8c], ebx
jbe 0x100ca841
lea edi, [esi + 0x90]
mov ecx, dword [esi + 0x54]
push ebx
push dword [edi + 4]
push dword [edi]
call fcn.1017f835
test eax, eax
je 0x100ca7e6
push dword [edi + 0xc]
push dword [edi + 8]
push dword [eax + 0x50]
push 0x1005db34
jmp 0x100ca825
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x100ca80d
cmp dword [eax + 8], 2
je 0x100ca7fb
cmp dword [eax + 8], 3
jne 0x100ca805
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x100ca80f
mov ecx, dword [eax + 0x538]
jmp 0x100ca80f
mov ecx, ebx
push dword [edi + 0xc]
push dword [edi + 8]
push dword [edi + 4]
push dword [edi]
call fcn.100b4821
push eax
push 0x1005db44
call fcn.100d3a67
mov eax, dword [esp + 0x24]
add esp, 0x10
inc eax
add edi, 0x10
mov dword [esp + 0x14], eax
cmp eax, dword [esi + 0x8c]
jb 0x100ca7c4
push 0x1005db58
call fcn.100d3a67
pop ecx
push 0x100597b0
call fcn.100d3a67
mov eax, dword [esi + 0x70]
or eax, dword [esi + 0x74]
pop ecx
jne 0x100ca879
mov eax, dword [esi + 0x78]
or eax, dword [esi + 0x7c]
jne 0x100ca879
mov eax, dword [esi + 0x80]
or eax, dword [esi + 0x84]
je 0x100ca983
push 0x100594a8
call fcn.100d3a67
mov eax, dword [esi + 0x70]
or eax, dword [esi + 0x74]
pop ecx
je 0x100ca8cd
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x100ca8b3
cmp dword [eax + 8], 2
je 0x100ca8a1
cmp dword [eax + 8], 3
jne 0x100ca8ab
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x100ca8b5
mov ecx, dword [eax + 0x538]
jmp 0x100ca8b5
mov ecx, ebx
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.100b4821
push eax
push 0x1005db5c
call fcn.100d3a67
pop ecx
pop ecx
mov eax, dword [esi + 0x78]
or eax, dword [esi + 0x7c]
je 0x100ca916
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x100ca8fc
cmp dword [eax + 8], 2
je 0x100ca8ea
cmp dword [eax + 8], 3
jne 0x100ca8f4
mov ecx, dword [eax + 0x544]
test ecx, ecx
jne 0x100ca8fe
mov ecx, dword [eax + 0x538]
jmp 0x100ca8fe
mov ecx, ebx
push dword [esi + 0x7c]
push dword [esi + 0x78]
call fcn.100b4821
push eax
push 0x1005db8c
call fcn.100d3a67
pop ecx
pop ecx
mov ecx, dword [esi + 0x80]
mov eax, ecx
mov edx, dword [esi + 0x84]
or eax, edx
je 0x100ca978
mov eax, dword [0x102c7ff4]
test eax, eax
je 0x100ca94d
cmp dword [eax + 8], 2
je 0x100ca93d
cmp dword [eax + 8], 3
jne 0x100ca947
mov ebx, dword [eax + 0x544]
test ebx, ebx
jne 0x100ca94d
mov ebx, dword [eax + 0x538]
cmp dword [esi + 0x88], 1
mov edi, 0x1005dbbc
je 0x100ca960
mov edi, 0x1005dbd0
push edx
push ecx
mov ecx, ebx
call fcn.100b4821
push eax
push edi
push 0x1005dbe0
call fcn.100d3a67
add esp, 0xc
push 0x100597b0
call fcn.100d3a67
pop ecx
cmp dword [ebp + 8], 0
jne 0x100ca9b3
cmp dword [esi + 0x28], 3
jne 0x100ca9b3
mov eax, dword [0x102c7ff8]
mov ecx, dword [eax + 0x78]
test ecx, ecx
je 0x100ca9b3
mov edi, dword [ecx + 4]
cmp dword [ecx + 0xc], esi
jne 0x100ca9ad
mov edx, dword [esp + 0x18]
push esi
call fcn.100ca463
mov ecx, edi
test edi, edi
jne 0x100ca99b
or dword [esp + 0x110], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.100b5ef7
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.10236010
mov esp, ebp
pop ebp
ret 4