Function at 0x140016910
Capabilities:
Create thread
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0xc0
cmp dword [0x14008be58], 0
je 0x14001693d
mov ecx, 0x800000
mov edx, 0x200000
jmp 0x140016947
mov ecx, 0x4000000
mov edx, 0x10000
call fcn.1400010e0
mov edx, 0x70
mov rcx, rax
mov rbp, rax
call fcn.1400012c0
xorps xmm0, xmm0
mov qword [0x14008bdd0], rax
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
mov qword [rax], rbp
mov qword [rax + 0x10], 0x400
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rbx, qword [0x14008bdd0]
mov eax, dword [rsp + 0x50]
mov rcx, qword [rbx + 0x10]
cmp rcx, rax
jb 0x1400169e8
xorps xmm0, xmm0
lea rcx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [rsp + 0x80]
mov rbx, qword [0x14008bdd0]
mov qword [rbx + 0x18], rcx
mov rcx, rbp
mov rbx, qword [rbx + 0x10]
shl rbx, 4
mov rdx, rbx
mov qword [rsp + 0xd0], rdi
call fcn.1400012c0
mov rcx, rax
mov r8, rbx
xor edx, edx
call fcn.1400734b0
mov rcx, qword [0x14008bdd0]
mov rbx, qword [rcx + 0x18]
mov qword [rcx + 0x20], rax
mov rcx, rbp
shl rbx, 5
mov rdx, rbx
call fcn.1400012c0
mov rcx, rax
mov r8, rbx
xor edx, edx
call fcn.1400734b0
mov rdx, qword [0x14008bdd0]
xor r14d, r14d
mov esi, r14d
mov qword [rdx + 0x28], rax
cmp qword [rdx + 0x18], r14
jbe 0x140016af2
mov edi, r14d
nop dword [rax]
cmp dword [0x14008be58], r14d
je 0x140016a75
mov ecx, 0x800000
mov edx, 0x200000
jmp 0x140016a7f
mov ecx, 0x4000000
mov edx, 0x10000
call fcn.1400010e0
mov rcx, qword [0x14008bdd0]
mov rdx, qword [rcx + 0x28]
mov ecx, 4
mov qword [rdi + rdx], rax
call fcn.140017800
mov rbx, rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeConditionVariable]
mov rcx, qword [0x14008bdd0]
mov rdx, qword [rcx + 0x28]
mov ecx, 3
mov qword [rdx + rdi + 8], rbx
call fcn.140017800
mov rbx, rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeSRWLock]
mov rdx, qword [0x14008bdd0]
inc rsi
mov rcx, qword [rdx + 0x28]
mov qword [rcx + rdi + 0x10], rbx
add rdi, 0x20
cmp rsi, qword [rdx + 0x18]
jb 0x140016a60
mov qword [rdx + 0x30], 0x100000
mov rcx, rbp
mov edx, 0x100000
call fcn.1400012c0
mov rdx, qword [0x14008bdd0]
mov ecx, 2
mov qword [rdx + 0x38], rax
call fcn.140017800
mov rbx, rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rdx, qword [0x14008bdd0]
mov ecx, 4
mov qword [rdx + 0x50], rbx
call fcn.140017800
mov rbx, rax
lea rcx, [rax + 0x10]
call qword [sym.imp.KERNEL32.dll_InitializeConditionVariable]
mov rcx, qword [0x14008bdd0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rcx + 0x58], rbx
lea rcx, [rsp + 0x90]
movups xmmword [rsp + 0xb0], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [0x14008bdd0]
mov rcx, rbp
mov ebx, dword [rsp + 0xb0]
dec rbx
mov qword [rax + 0x68], rbx
shl rbx, 4
mov rdx, rbx
call fcn.1400012c0
mov rcx, rax
mov r8, rbx
xor edx, edx
call fcn.1400734b0
mov rcx, qword [0x14008bdd0]
mov rsi, r14
mov qword [rcx + 0x60], rax
cmp qword [rcx + 0x68], r14
jbe 0x140016c68
mov rdi, r14
lea rbp, [0x140017060]
cmp dword [0x14008be58], r14d
je 0x140016be7
mov ecx, 0x800000
mov edx, 0x200000
jmp 0x140016bf1
mov ecx, 0x4000000
mov edx, 0x10000
call fcn.1400010e0
mov rcx, qword [0x14008bdd0]
mov rdx, qword [rcx + 0x60]
mov ecx, 1
mov qword [rdi + rdx], rax
call fcn.140017800
mov r9, rax
lea r8, [0x140017be0]
xor edx, edx
mov rbx, rax
lea rcx, [rax + 0x28]
mov dword [rax + 0xc], 3
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [0x14008bdd0]
inc rsi
mov qword [rbx + 0x20], rax
mov rax, qword [rcx + 0x60]
mov qword [rax + rdi + 8], rbx
add rdi, 0x10
cmp rsi, qword [rcx + 0x68]
jb 0x140016bd2
mov rdi, qword [rsp + 0xd0]
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret