Function at 0x14003a780
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, rcx
mov ecx, 0x18
call fcn.1400c2704
mov rdx, rax
mov rcx, rbx
mov rdi, rax
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
call fcn.140046bc0
mov rax, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, rax
sar rcx, 3
test rcx, rcx
je 0x14003a999
lea rcx, str._AsusSync_CommMgr__ReleaseV1DeviceList___To_release_each_device._n
call fcn.140095ab0
mov rcx, qword [rdi + 8]
mov eax, 8
sub rcx, qword [rdi]
sar rcx, 3
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400c26fc
mov r10, qword [rdi + 8]
xor r15d, r15d
mov rdx, qword [rdi]
mov rcx, r10
sub rcx, rdx
mov r13, rax
sar rcx, 3
test rcx, rcx
je 0x14003a8dd
xor r14d, r14d
nop word [rax + rax]
cmp rcx, r14
jbe 0x14003aa95
mov rsi, qword [rdx + r14*8]
test rsi, rsi
je 0x14003a8ba
lea rcx, [rbx + 0x958]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
mov r11, qword [rbx]
xor r9d, r9d
mov r10, qword [rbx + 8]
xor eax, eax
sub r10, r11
sar r10, 3
test r10, r10
je 0x14003a8ad
cmp r10, rax
jbe 0x14003aaa1
lfence
mov rdx, qword [r11 + rax*8]
cmp qword [rdx + 0x98], rsi
je 0x14003aa22
mov r8, qword [rbx + 8]
inc r9d
sub r8, qword [rbx]
inc rax
sar r8, 3
movsxd rdx, r9d
cmp rdx, r8
jb 0x14003a877
lea rcx, [rbx + 0x958]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rcx, qword [rdi + 8]
inc r15d
mov rdx, qword [rdi]
mov r10, rcx
sub rcx, rdx
movsxd rax, r15d
sar rcx, 3
inc r14
cmp rax, rcx
jb 0x14003a840
sub r10, rdx
mov r9d, 0x4e20
sar r10, 3
mov r8d, 1
mov ecx, r10d
mov rdx, r13
call qword [sym.imp.api_ms_win_core_synch_l1_2_1.dll_WaitForMultipleObjects]
lea rcx, str._AsusSync_CommMgr__ReleaseV1DeviceList___Wait_finish._n
call fcn.140095ab0
mov rcx, qword [rdi + 8]
xor r14d, r14d
sub rcx, qword [rdi]
sar rcx, 3
test rcx, rcx
je 0x14003a976
xor ebp, ebp
mov rsi, r13
xor r15d, r15d
cmp rcx, rbp
jbe 0x14003aa95
lfence
mov rdx, qword [rdi]
mov rcx, rbx
sub rdx, r13
mov rdx, qword [rdx + rsi]
call fcn.140046770
test al, al
je 0x14003a94d
mov rcx, rbx
call fcn.140046ca0
mov rcx, qword [rsi]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rsi], r15
inc r14d
mov rcx, qword [rdi + 8]
inc rbp
sub rcx, qword [rdi]
add rsi, 8
sar rcx, 3
movsxd rax, r14d
cmp rax, rcx
jb 0x14003a923
mov edx, 8
mov rcx, r13
call fcn.1400c2470
mov rax, qword [rbx]
lea rcx, str._AsusSync_CommMgr__ReleaseV1DeviceList___done._n
mov qword [rbx + 8], rax
call fcn.140095ab0
mov rax, qword [rdi]
test rax, rax
je 0x14003a9ed
mov rdx, qword [rdi + 0x10]
sub rdx, rax
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x14003a9ce
mov rcx, qword [rax - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003aa9b
mov rax, rcx
mov rcx, rax
call fcn.1400c2470
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov edx, 0x18
mov rcx, rdi
call fcn.1400c2470
lea rcx, str._AsusSync_CommMgr__ReleaseV1DeviceList___done._n
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp fcn.140095ab0
lea rcx, [rbx + 0x958]
mov r12, rdx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov r8, qword [rdi + 8]
lea edx, [r15 + 1]
sub r8, qword [rdi]
lea rcx, str._AsusSync_CommMgr__ReleaseV1DeviceList___Release_device__d__d_._n
sar r8, 3
call fcn.140095ab0
mov ecx, 0x18
call fcn.1400c2704
mov qword [rsp + 0x28], 0
lea r8, [0x14003a0d0]
mov r9, rax
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
mov qword [rax], rbx
mov qword [rax + 8], 2
mov qword [rax + 0x10], r12
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [r13 + r14*8], rax
jmp 0x14003a8ba
call fcn.14000a150
int3
call fcn.1400c8b64
int3
call fcn.14000a150
int3