Function at 0x140011040
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rbx, rcx
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1400112b3
call fcn.140010ef0
lea r8, str.windows_init_clock
test eax, eax
je 0x140011091
lea r9, str.could_not_resolve_DLL_functions
mov edx, 1
mov rcx, rbx
call fcn.140003000
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rsp + 0x50]
lea r9, str.hires_timer_available__Frequency:__I64u_Hz_
xor edx, edx
mov qword [0x1401082d8], rcx
movabs rax, 0xe8d4a51000
mov qword [rsp + 0x20], rcx
div rcx
mov edx, 4
xor ecx, ecx
mov qword [0x1401082d0], rax
call fcn.140003000
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x14001127f
mov r9, qword [rsp + 0x48]
test r9, r9
je 0x14001127f
xor r8d, r8d
test r9b, 1
jne 0x14001111d
mov ecx, 1
rol ecx, 0
nop dword [rax + rax]
rol ecx, 1
inc r8d
movsxd rax, ecx
test r9, rax
je 0x140011110
mov ecx, r8d
mov dword [rsp + 0x20], r8d
mov eax, 1
lea r9, str.timer_thread_will_run_on_core__d
shl eax, cl
lea r8, str.windows_init_clock
cdqe
mov edx, 4
xor ecx, ecx
mov qword [rsp + 0x48], rax
call fcn.140003000
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov rdi, rax
test rax, rax
jne 0x140011197
xor ecx, ecx
call fcn.140010990
lea r9, str.could_not_create_event:__s
mov qword [rsp + 0x20], rax
lea r8, str.windows_init_clock
mov rcx, rbx
lea edx, [rdi + 1]
call fcn.140003000
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rax, [0x140107f78]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x140011390]
xor edx, edx
mov dword [rsp + 0x20], 0
xor ecx, ecx
call fcn.14009dfec
mov qword [0x140107f60], rax
test rax, rax
jne 0x1400111f9
lea r9, str.unable_to_create_timer_thread___aborting
mov rcx, rbx
lea r8, str.windows_init_clock
lea edx, [rax + 1]
call fcn.140003000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
test rax, rax
jne 0x140011225
lea r9, str.unable_to_set_timer_thread_affinity__timer_discrepancies_may_arise
mov rcx, rbx
lea r8, str.windows_init_clock
lea edx, [rax + 2]
call fcn.140003000
or edx, 0xffffffff
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140011266
lea r9, str.failed_to_wait_for_timer_thread_to_become_ready___aborting
mov edx, 1
lea r8, str.windows_init_clock
mov rcx, rbx
call fcn.140003000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
xor ecx, ecx
call fcn.140010990
lea r9, str.could_not_get_process_affinity:__s
mov qword [rsp + 0x20], rax
lea r8, str.windows_init_clock
mov edx, 1
mov rcx, rbx
call fcn.140003000
xor eax, eax
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea r9, str.no_hires_timer_available_on_this_platform
mov edx, 4
lea r8, str.windows_init_clock
xor ecx, ecx
call fcn.140003000
mov rbx, qword [rsp + 0x40]
mov eax, 1
mov qword [0x1401082d8], 0
mov qword [0x1401082d0], 0
add rsp, 0x30
pop rdi
ret