Function at 0x140006e79
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x1400ff9d0
mov byte [rsp + 0x20], r9b
mov byte [rsp + 0x18], r8b
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0xd0], 0
je 0x1400ffa41
movzx eax, byte [rsp + 0x120]
test eax, eax
je 0x1400ffa41
lea rax, str.m_numAllocatedCores__0___fInitialAllocation
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x1e8
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1400ffa41
int3
xor eax, eax
test eax, eax
jne 0x1400ff9ea
xor eax, eax
test eax, eax
jne 0x1400ff9ea
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0xe4], 0
je 0x1400ffaa4
movzx eax, byte [rsp + 0x120]
test eax, eax
je 0x1400ffaa4
lea rax, str.m_numExternalThreads__0___fInitialAllocation
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x1e9
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1400ffaa4
int3
xor eax, eax
test eax, eax
jne 0x1400ffa4d
xor eax, eax
test eax, eax
jne 0x1400ffa4d
mov dword [rsp + 0x60], 0
mov qword [rsp + 0xc0], 0
movzx eax, byte [rsp + 0x120]
test eax, eax
je 0x1400ffb27
mov rcx, qword [rsp + 0x110]
call fcn.1400045a2
mov rcx, qword [rsp + 0x110]
cmp dword [rcx + 0xb4], eax
je 0x1400ffb27
lea rax, str._fInitialAllocation__m_minimumHardwareThreads__MinHWThreads__
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x1f5
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1400ffb27
int3
xor eax, eax
test eax, eax
jne 0x1400ffac4
xor eax, eax
test eax, eax
jne 0x1400ffac4
movzx eax, byte [rsp + 0x128]
test eax, eax
je 0x1400ffb9b
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xd0]
add eax, dword [rsp + 0x118]
mov dword [rsp + 0xac], eax
mov rcx, qword [rsp + 0x110]
call fcn.1400045a2
mov ecx, dword [rsp + 0xac]
cmp ecx, eax
jbe 0x1400ffb80
mov dword [rsp + 0x9c], 1
jmp 0x1400ffb8b
mov dword [rsp + 0x9c], 0
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0xa0], eax
jmp 0x1400ffba6
mov dword [rsp + 0xa0], 0
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x118], eax
jbe 0x1400ffbd6
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x118]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xa4], eax
jmp 0x1400ffbe1
mov dword [rsp + 0xa4], 0
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x38], 0
jbe 0x1400ffc0a
cmp dword [rsp + 0x118], 0
jne 0x1400ffc0a
mov dword [rsp + 0x84], 1
jmp 0x1400ffc15
mov dword [rsp + 0x84], 0
movzx eax, byte [rsp + 0x84]
mov byte [rsp + 0x31], al
movzx eax, byte [rsp + 0x128]
test eax, eax
je 0x1400ffc41
cmp dword [rsp + 0x38], 0
jne 0x1400ffc41
mov dword [rsp + 0x88], 1
jmp 0x1400ffc4c
mov dword [rsp + 0x88], 0
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x33], al
mov dword [rsp + 0x80], 0xffffffff
mov dword [rsp + 0x4c], 0xffffffff
mov qword [rsp + 0x58], 0
movzx eax, byte [rsp + 0x128]
test eax, eax
je 0x1400ffcac
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xc8], rax
xor edx, edx
mov rcx, qword [rsp + 0xc8]
call fcn.14000894a
mov dword [rsp + 0x8c], eax
jmp 0x1400ffcb7
mov dword [rsp + 0x8c], 0xffffffff
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x74], eax
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x1400ffd22
mov rcx, qword [rsp + 0x110]
call fcn.1400045a2
mov rcx, qword [rsp + 0x110]
cmp dword [rcx + 0xd0], eax
ja 0x1400ffd22
lea rax, str._fRemoveVProcs___m_numAllocatedCores___MinHWThreads___
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x20d
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1400ffd22
int3
xor eax, eax
test eax, eax
jne 0x1400ffcc2
xor eax, eax
test eax, eax
jne 0x1400ffcc2
mov dword [rsp + 0x34], 0
cmp dword [rsp + 0x70], 0
jbe 0x1400ffe31
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0xd4], 0
jbe 0x1400ffd70
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x110]
mov ecx, dword [rcx + 0xb0]
cmp dword [rax + 0xd4], ecx
jbe 0x1400ffdaa
lea rax, str.m_numFullySubscribedCores___0__m_numFullySubscribedCores___m_desiredHardwareThreads
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x212
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1400ffdaa
int3
xor eax, eax
test eax, eax
jne 0x1400ffd41
xor eax, eax
test eax, eax
jne 0x1400ffd41
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xd4]
cmp dword [rsp + 0x70], eax
ja 0x1400ffde5
mov rax, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x70]
imul ecx, dword [rax + 0xc0]
mov eax, ecx
mov dword [rsp + 0x34], eax
jmp 0x1400ffe31
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x110]
mov eax, dword [rax + 0xd4]
imul eax, dword [rcx + 0xc0]
mov rcx, qword [rsp + 0x110]
mov ecx, dword [rcx + 0xd4]
mov edx, dword [rsp + 0x70]
sub edx, ecx
mov ecx, edx
mov rdx, qword [rsp + 0x110]
mov edx, dword [rdx + 0xc0]
dec edx
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x34], eax
movzx eax, byte [rsp + 0x120]
test eax, eax
je 0x1400ffe9f
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xb8]
cmp dword [rsp + 0x34], eax
jb 0x1400ffe65
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xbc]
cmp dword [rsp + 0x34], eax
jbe 0x1400ffe9f
lea rax, str._fInitialAllocation___vprocCount___m_minConcurrency__vprocCount___m_maxConcurrency_
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x21e
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1400ffe9f
int3
xor eax, eax
test eax, eax
jne 0x1400ffe31
xor eax, eax
test eax, eax
jne 0x1400ffe31
cmp dword [rsp + 0x34], 0
jbe 0x1400fff0d
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0xd0], rax
mov eax, 8
mov rcx, qword [rsp + 0xd0]
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov r9d, 0x220
lea r8, str.d:_agent_work2_s_src_vctoolscrtcrtw32concrt_schedulerproxy.cpp
movzx edx, byte [rsp + 0x78]
mov rcx, rax
call fcn.140002888
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xb8], rax
jmp 0x1400fff19
mov qword [rsp + 0xb8], 0
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x64], 0
movzx eax, byte [rsp + 0x128]
test eax, eax
jne 0x1400fff4a
mov dword [rsp + 0x90], 1
jmp 0x1400fff55
mov dword [rsp + 0x90], 0
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x30], al
mov dword [rsp + 0x40], 0
jmp 0x1400fff75
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x60], eax
jb 0x1400fff8f
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140100574
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xf0]
cmp dword [rsp + 0x40], eax
jae 0x140100574
mov eax, dword [rsp + 0x40]
imul rax, rax, 0x40
mov rcx, qword [rsp + 0x110]
add rax, qword [rcx + 0x20]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x20], 0
ja 0x1400fffda
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x24], 0
jbe 0x14010056f
mov dword [rsp + 0x3c], 0
jmp 0x1400fffee
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x118]
cmp dword [rsp + 0x60], eax
jb 0x140100008
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140100563
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 8]
cmp dword [rsp + 0x3c], eax
jae 0x140100563
mov eax, dword [rsp + 0x3c]
imul rax, rax, 0x48
mov rcx, qword [rsp + 0x50]
add rax, qword [rcx + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp dword [rax], 3
jne 0x1401003a3
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x14010006d
mov eax, dword [rsp + 0x118]
dec eax
cmp dword [rsp + 0x60], eax
je 0x140100060
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x74], eax
jne 0x14010006d
mov dword [rsp + 0x94], 1
jmp 0x140100078
mov dword [rsp + 0x94], 0
movzx eax, byte [rsp + 0x94]
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x32]
test eax, eax
je 0x1401000a1
cmp dword [rsp + 0x38], 0
je 0x1401000a1
mov dword [rsp + 0x98], 0
jmp 0x1401000ac
mov dword [rsp + 0x98], 1
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x34], 0
jne 0x1401000ce
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x38], 0
je 0x140100108
lea rax, str.pCore__m_numAssignedThreads__0__pCore__m_numFixedThreads__0
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x23c
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100108
int3
xor eax, eax
test eax, eax
jne 0x1401000b8
xor eax, eax
test eax, eax
jne 0x1401000b8
mov rax, qword [rsp + 0x68]
mov dword [rax], 4
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 8]
cmp dword [rax + 0x24], ecx
jb 0x14010016b
lea rax, str.pNode__m_allocatedCores___pNode__m_coreCount
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x23e
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x14010016b
int3
xor eax, eax
test eax, eax
jne 0x14010011f
xor eax, eax
test eax, eax
jne 0x14010011f
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x24]
inc eax
mov rcx, qword [rsp + 0x50]
mov dword [rcx + 0x24], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xd0]
inc eax
mov rcx, qword [rsp + 0x110]
mov dword [rcx + 0xd0], eax
movzx eax, byte [rsp + 0x32]
test eax, eax
je 0x1401001c7
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x4c], eax
mov byte [rsp + 0x30], 1
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x140100394
movzx eax, byte [rsp + 0x32]
test eax, eax
je 0x140100220
movzx eax, byte [rsp + 0x33]
test eax, eax
jne 0x140100220
lea rax, str._assignExternalThread__fShareExternalThreadCore
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x24e
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100220
int3
xor eax, eax
test eax, eax
jne 0x1401001d4
xor eax, eax
test eax, eax
jne 0x1401001d4
mov dword [rsp + 0x48], 0
mov rax, qword [rsp + 0x110]
cmp dword [rax + 0xd4], 0
jbe 0x140100277
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xc0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xd4]
dec eax
mov rcx, qword [rsp + 0x110]
mov dword [rcx + 0xd4], eax
jmp 0x14010028b
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xc0]
dec eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x34]
add eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x34], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xe0]
add eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x110]
mov dword [rcx + 0xe0], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0x48]
dec eax
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0xa8], 0
jbe 0x140100344
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
mov r8d, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xe8]
call qword [0x1402f0010]
mov ecx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xb0]
mov qword [rdx + rcx*8], rax
mov eax, dword [rsp + 0x64]
inc eax
mov dword [rsp + 0x64], eax
jmp 0x1401002bf
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x64], eax
jbe 0x140100388
lea rax, str.vprocIndex___vprocCount
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x266
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100388
int3
xor eax, eax
test eax, eax
jne 0x140100344
xor eax, eax
test eax, eax
jne 0x140100344
mov eax, dword [rsp + 0x60]
inc eax
mov dword [rsp + 0x60], eax
jmp 0x14010055e
mov rax, qword [rsp + 0x68]
cmp dword [rax], 4
jne 0x14010050e
movzx eax, byte [rsp + 0x33]
test eax, eax
je 0x14010046e
movzx eax, byte [rsp + 0x31]
test eax, eax
jne 0x1401003ce
cmp dword [rsp + 0x38], 0
je 0x140100408
lea rax, str._fRemoveVProcs__externalThreadCores__0
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x275
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100408
int3
xor eax, eax
test eax, eax
jne 0x1401003be
xor eax, eax
test eax, eax
jne 0x1401003be
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x34]
mov rcx, qword [rsp + 0x68]
add eax, dword [rcx + 0x3c]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x7c], eax
jb 0x14010044c
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x7c], eax
jne 0x140100469
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x40], eax
jne 0x140100469
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x4c], eax
jmp 0x14010050c
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x14010050c
cmp dword [rsp + 0x38], 1
je 0x1401004bc
lea rax, str.externalThreadCores__1
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x283
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1401004bc
int3
xor eax, eax
test eax, eax
jne 0x14010047b
xor eax, eax
test eax, eax
jne 0x14010047b
mov rcx, qword [rsp + 0x68]
call fcn.140007379
movzx eax, al
test eax, eax
jne 0x14010050c
cmp qword [rsp + 0x58], 0
je 0x1401004eb
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x40], eax
jne 0x14010050c
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x40], eax
jne 0x14010050c
mov byte [rsp + 0x30], 1
jmp 0x14010055e
mov rax, qword [rsp + 0x68]
cmp dword [rax], 1
je 0x140100552
lea rax, str.pCore__m_coreState__ProcessorCore::Unassigned
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x292
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100552
int3
xor eax, eax
test eax, eax
jne 0x14010050e
xor eax, eax
test eax, eax
jne 0x14010050e
jmp 0x1400fffe4
mov rax, qword [rsp + 0x50]
mov dword [rax + 0x20], 0
jmp 0x1400fff6b
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x64], eax
je 0x1401005b8
lea rax, str.vprocIndex__vprocCount
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x299
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1401005b8
int3
xor eax, eax
test eax, eax
jne 0x140100574
xor eax, eax
test eax, eax
jne 0x140100574
cmp dword [rsp + 0x34], 0
jbe 0x140100602
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x110]
call fcn.140004331
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0xf0]
call fcn.140006104
movzx eax, byte [rsp + 0x128]
test eax, eax
je 0x1401008a4
cmp qword [rsp + 0x58], 0
je 0x140100621
cmp dword [rsp + 0x4c], 0xffffffff
jne 0x14010065b
lea rax, str.pExternalThreadNode___0__externalThreadCoreIndex____unsigned_int___1
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2a2
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x14010065b
int3
xor eax, eax
test eax, eax
jne 0x140100612
xor eax, eax
test eax, eax
jne 0x140100612
movzx eax, byte [rsp + 0x33]
test eax, eax
je 0x1401006c2
cmp dword [rsp + 0x38], 0
je 0x1401006b1
lea rax, str.externalThreadCores__0
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2a5
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1401006b1
int3
xor eax, eax
test eax, eax
jne 0x140100670
xor eax, eax
test eax, eax
jne 0x140100670
jmp 0x140100885
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x140100838
cmp dword [rsp + 0x38], 1
je 0x140100710
lea rax, str.externalThreadCores__1
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2a9
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100710
int3
xor eax, eax
test eax, eax
jne 0x1401006cf
xor eax, eax
test eax, eax
jne 0x1401006cf
mov rcx, qword [rsp + 0x110]
call fcn.1400045a2
mov rcx, qword [rsp + 0x110]
cmp dword [rcx + 0xd0], eax
ja 0x140100773
lea rax, str.m_numAllocatedCores___MinHWThreads__
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2aa
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100773
int3
xor eax, eax
test eax, eax
jne 0x14010071c
xor eax, eax
test eax, eax
jne 0x14010071c
mov r8d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x110]
call fcn.14000730b
mov eax, dword [rsp + 0x4c]
imul rax, rax, 0x48
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x38]
mov dword [rax + rcx], 4
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 8]
cmp dword [rax + 0x24], ecx
jb 0x1401007fa
lea rax, str.pExternalThreadNode__m_allocatedCores___pExternalThreadNode__m_coreCount
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2b0
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x1401007fa
int3
xor eax, eax
test eax, eax
jne 0x1401007ae
xor eax, eax
test eax, eax
jne 0x1401007ae
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x24]
inc eax
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x24], eax
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0xd0]
inc eax
mov rcx, qword [rsp + 0x110]
mov dword [rcx + 0xd0], eax
jmp 0x140100885
cmp dword [rsp + 0x38], 1
je 0x140100879
lea rax, str.externalThreadCores__1
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2b6
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100879
int3
xor eax, eax
test eax, eax
jne 0x140100838
xor eax, eax
test eax, eax
jne 0x140100838
mov r8d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x110]
call fcn.140007928
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x110]
call fcn.1400045a2
mov rcx, qword [rsp + 0x110]
cmp dword [rcx + 0xd0], eax
jb 0x1401008de
mov rcx, qword [rsp + 0x110]
call fcn.140009c0a
mov rcx, qword [rsp + 0x110]
cmp dword [rcx + 0xd0], eax
jbe 0x140100918
lea rax, str.m_numAllocatedCores___MinHWThreads____m_numAllocatedCores___DesiredHWThreads__
mov qword [rsp + 0x28], rax
lea rax, [0x1402441f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x2bf
lea rdx, [0x14025f4a0]
mov ecx, 2
call fcn.140003f6c
cmp eax, 1
jne 0x140100918
int3
xor eax, eax
test eax, eax
jne 0x1401008a4
xor eax, eax
test eax, eax
jne 0x1401008a4
mov rax, qword [rsp + 0xc0]
add rsp, 0x108
ret