Function at 0x14001a580
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x140306028]
xor rax, rsp
mov qword [rbp - 8], rax
xor esi, esi
movzx eax, byte [0x1403076de]
test al, al
jne 0x14001a68d
mov eax, 1
xchg byte [0x1403076de], al
mov qword [rbp - 0x50], 1
lea rdi, [fcn.14001a580]
mov qword [rbp - 0x20], rdi
mov rbx, qword [0x140307da8]
cmp rbx, qword [0x140307db0]
je 0x14001a67b
lea ecx, [rsi + 0x10]
call fcn.14022252c
mov qword [rax], 1
mov qword [rax + 8], rdi
mov qword [rbp - 0x20], rax
lea rdi, [rbx + 8]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x14021f780]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
je 0x14001a66d
add qword [0x140307da8], 0x10
mov eax, 9
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140222170
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov dword [rdi], esi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea r9, [rbp - 0x50]
lea r8, [rbp - 0x20]
mov rdx, rbx
call fcn.14020cb40
jmp 0x14001a63b
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], sil
lea r8, [rbp - 0x48]
call fcn.1400195e0
mov qword [0x140307e30], rax
lea rcx, [rbp - 0x48]
call fcn.1401fdef0
movzx eax, byte [0x1403076de]
test al, al
je 0x14001a63b
movabs r14, 0x7fffffffc46535ff
movabs r15, 0x7fffffffffffffff
lea r12, [0x140019dc0]
lea r13, vtable.._AU_Callback__1____updateTime_P6AXAEBV__basic_string_DU__char_traits_D_std__V__allocator_D_2__std___Z_TimeTable_timepoint__QEAAXP6AXAEBV__basic_string_DU__char_traits_D_std__V__allocator_D_2__std___Z_Z_.0
nop
call fcn.14001a4f0
nop word [rax + rax]
mov rcx, qword [0x140307e30]
test rcx, rcx
je 0x14001a71b
mov rax, qword [rcx]
call qword [rax + 0x40]
cmp eax, 1
jne 0x14001a818
lea rcx, [0x1403077d0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14001a919
mov rbx, qword [0x140307e00]
mov rdi, qword [0x140307e08]
cmp rbx, rdi
je 0x14001a762
mov rcx, rbx
call fcn.1401fdef0
add rbx, 0x20
cmp rbx, rdi
jne 0x14001a743
mov rbx, qword [0x140307e00]
mov qword [0x140307e08], rbx
lea rcx, [0x1403077d0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [0x140307e30]
test rcx, rcx
je 0x14001a785
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [0x140307e30], rsi
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14001a7aa
imul rax, rax, 0x64
jmp 0x14001a7c5
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r14
jge 0x14001a7d6
add rax, 0x3b9aca00
mov qword [rbp - 0x50], rax
jmp 0x14001a7da
mov qword [rbp - 0x50], r15
lea rcx, [rbp - 0x50]
call fcn.14020ca10
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rsi
mov qword [rbp - 0x30], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x48], 0
lea r8, [rbp - 0x48]
call fcn.1400195e0
mov qword [0x140307e30], rax
lea rcx, [rbp - 0x48]
call fcn.1401fdef0
jmp 0x14001a700
mov rcx, qword [0x140307e30]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + reloc.WS2_32.dll_htonl]
lea rcx, [0x1403077d0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x14001a910
mov rax, qword [0x140307e08]
mov rdx, qword [0x140307e00]
sub rax, rdx
sar rax, 5
test rax, rax
je 0x14001a8ce
nop word [rax + rax]
mov rcx, qword [0x140307e30]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rbx, qword [0x140307e00]
mov rdi, qword [0x140307e08]
add rbx, 0x20
cmp rbx, rdi
je 0x14001a8a0
lea rcx, [rbx - 0x20]
mov rdx, rbx
call fcn.1401fb740
add rbx, 0x20
cmp rbx, rdi
jne 0x14001a884
mov rdi, qword [0x140307e08]
lea rcx, [rdi - 0x20]
call fcn.1401fdef0
mov rax, qword [0x140307e08]
sub rax, 0x20
mov qword [0x140307e08], rax
mov rdx, qword [0x140307e00]
sub rax, rdx
sar rax, 5
test rax, rax
jne 0x14001a860
lea rcx, [0x1403077d0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r13
lea rax, [rbp - 0x20]
mov qword [rbp - 0x10], rax
mov rcx, qword [0x140307e30]
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
call qword [rax + 0x48]
movzx eax, byte [0x1403076de]
test al, al
jne 0x14001a6f0
jmp 0x14001a63b
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3