Function at 0x14008c120
Capabilities:
Create thread
Terminate thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x140164030]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ebp, dword [rsp + 0xa0]
mov r13, r9
mov r14, qword [rsp + 0xa8]
mov rbx, rcx
mov r12, qword [rsp + 0xb0]
lea rcx, str._AsusSync_PhoneBook__RPCCmdHandler___fn___X__InSize___llu__OutSize___llu_n
mov r9d, ebp
mov r15d, r8d
mov esi, edx
call fcn.140095ab0
xor r8d, r8d
mov edi, 0x78
test r12, r12
je 0x14008c185
mov dword [r12], r8d
sub esi, 0x800001
je 0x14008c6a5
sub esi, 1
je 0x14008c456
sub esi, 1
je 0x14008c3f7
sub esi, 1
je 0x14008c3bd
cmp esi, 1
jne 0x14008c7c3
cmp r15d, 0xc
jne 0x14008c7be
movzx eax, byte [rbx + 0x64]
test al, al
jne 0x14008c1d1
mov edi, socket
jmp 0x14008c7c3
cmp al, 1
jne 0x14008c7c3
mov edi, dword [rbx + 0x70]
sub edi, dword [rbx + 0x68]
lea esi, [rdi + 4]
test ebp, ebp
je 0x14008c4ca
cmp ebp, esi
jae 0x14008c327
lfence
movsxd rcx, dword [rbx + 0xb8]
test ecx, ecx
jne 0x14008c273
cmp ebp, 4
ja 0x14008c211
lea edi, [rcx + 0x7a]
mov dword [r12], esi
jmp 0x14008c30d
lfence
lea r15, [rbx + 0xa8]
test r14, r14
je 0x14008c232
test r15, r15
je 0x14008c22d
mov eax, dword [r15]
mov dword [r14], eax
jmp 0x14008c242
xor eax, eax
mov dword [r14], eax
call fcn.1400c8c94
mov dword [rax], socket
call fcn.1400c8b44
mov r8, qword [rbx + 0x68]
lea eax, [rbp - 4]
mov edx, eax
lea rcx, [r14 + 4]
mov r9d, eax
call fcn.140085200
mov dword [r12], ebp
lea r8d, [rbp - 4]
mov edx, dword [r15]
mov edi, 0x4de
mov dword [rbx + 0xb8], r8d
jmp 0x14008c2fe
mov rax, qword [rbx + 0x68]
mov edi, dword [rbx + 0x70]
sub edi, ecx
sub edi, eax
lea r8, [rax + rcx]
lfence
mov rcx, r14
cmp ebp, edi
jbe 0x14008c2a0
mov edx, edi
mov r9d, edi
call fcn.140085200
xor ebp, ebp
mov dword [r12], edi
mov edi, ebp
jmp 0x14008c2dd
mov rdx, rbp
mov r9, rbp
call fcn.140085200
mov dword [r12], ebp
mov edi, 0x4de
add dword [rbx + 0xb8], ebp
mov ebp, 0
mov r8d, dword [rbx + 0xb8]
lea eax, [r8 + 1]
movsxd rcx, eax
mov rax, qword [rbx + 0x70]
sub rax, qword [rbx + 0x68]
cmp rcx, rax
cmove edi, ebp
jne 0x14008c2f8
mov rcx, rbx
mov dword [rbx + 0xa8], ebp
mov dword [rbx + 0xb8], ebp
call fcn.14008b7a0
mov r8d, dword [rbx + 0xb8]
mov edx, dword [rbx + 0xa8]
mov r9d, esi
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_COPY__d______offset:_dLength:_d_n
call fcn.140095ab0
mov edx, dword [rbx + 0xa8]
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_COPY__d____ERROR_CONTINUE__length:_d_is_needed_n
mov r8d, esi
call fcn.140095ab0
jmp 0x14008c7c3
lea rax, [rbx + 0xa8]
test r14, r14
je 0x14008c3a5
test rax, rax
je 0x14008c33f
mov eax, dword [rax]
mov dword [r14], eax
jmp 0x14008c352
mov dword [r14], eax
call fcn.1400c8c94
mov dword [rax], socket
call fcn.1400c8b44
mov rax, qword [rbx + 0x70]
cmp rax, qword [rbx + 0x68]
je 0x14008c373
lfence
mov r8, qword [rbx + 0x68]
lea rcx, [r14 + 4]
mov edx, edi
mov r9d, edi
call fcn.140085200
jmp 0x14008c378
mov esi, 4
mov dword [r12], esi
mov edx, dword [rbx + 0xa8]
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_COPY__d____buffer_copied_n
xor ebp, ebp
mov edi, ebp
call fcn.140095ab0
mov rcx, rbx
mov dword [rbx + 0xa8], ebp
call fcn.14008b7a0
jmp 0x14008c7c3
mov edx, dword [rax]
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_COPY__d____ERROR_NOT_ENOUGH_MEMORY_n
mov edi, 8
call fcn.140095ab0
jmp 0x14008c7c3
mov edx, dword [rbx + 0xa8]
test edx, edx
je 0x14008c3e3
mov rcx, rbx
call fcn.14008b7a0
xor r8d, r8d
mov dword [rbx + 0xa8], r8d
mov edx, r8d
mov dword [rbx + 0xb8], r8d
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_CANCEL_COPY__d__n
mov edi, r8d
call fcn.140095ab0
jmp 0x14008c7c3
cmp r15d, 0xc
jne 0x14008c7be
cmp ebp, 5
jb 0x14008c7be
cmp byte [rbx + 0x64], 2
jne 0x14008c7c3
movzx eax, byte [rbx + 0x5c]
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_GET_ERROR_return__d__d__n
mov byte [r14], al
mov edi, r8d
mov eax, dword [rbx + 0x60]
mov dword [r14 + 1], eax
mov dword [r12], 5
movzx edx, byte [rbx + 0x5c]
mov r8d, dword [rbx + 0x60]
call fcn.140095ab0
xor ebp, ebp
mov rcx, rbx
mov dword [rbx + 0xa8], ebp
call fcn.14008b7a0
jmp 0x14008c7c3
cmp r15d, 0xc
jne 0x14008c7be
movzx eax, byte [rbx + 0x64]
test al, al
je 0x14008c1c7
cmp al, 1
jne 0x14008c7c3
cmp dword [r13 + 8], 3
movabs r15, 0x7a44c6afc2dd9ca9
jne 0x14008c4ba
mov rcx, rbx
call fcn.14008b830
mov rax, qword [rbx + 0xb0]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
mov rax, r15
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul esi, edx, 0x10c
xor r8d, r8d
jmp 0x14008c4c3
mov esi, dword [rbx + 0x70]
sub esi, dword [rbx + 0x68]
add esi, 4
cmp ebp, esi
jae 0x14008c4ed
lfence
mov dword [r12], esi
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_COPY__d____ERROR_INSUFFICIENT_BUFFER__length:_d_is_needed_n
mov edx, dword [rbx + 0xa8]
mov r8d, esi
mov edi, 0x7a
call fcn.140095ab0
jmp 0x14008c7c3
test r14, r14
je 0x14008c689
cmp dword [r13 + 8], 3
jne 0x14008c646
mov r10, qword [rbx + 0xb0]
mov rax, r15
mov edi, r8d
mov r9, qword [r10]
mov rcx, qword [r10 + 8]
sub rcx, r9
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14008c62f
nop
mov rcx, qword [r10 + 8]
mov rax, r15
sub rcx, r9
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r8
jbe 0x14008c7ea
imul rdx, r8, 0x10c
imul rcx, r8, 0x10c
add rdx, r9
add rcx, r14
je 0x14008c5ec
test rdx, rdx
je 0x14008c5e1
lfence
mov eax, 2
nop dword [rax + rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rdx - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x14008c580
mov rax, qword [rdx]
mov qword [rcx], rax
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
jmp 0x14008c5fc
mov r8d, 0x10c
call fcn.1400c5120
call fcn.1400c8c94
mov dword [rax], socket
call fcn.1400c8b44
mov r10, qword [rbx + 0xb0]
inc edi
mov rax, r15
movsxd r8, edi
mov r9, qword [r10]
mov rcx, qword [r10 + 8]
sub rcx, r9
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jb 0x14008c530
mov dword [r12], esi
mov rcx, qword [rbx + 0xb0]
mov rax, qword [rcx]
mov qword [rcx + 8], rax
jmp 0x14008c37c
lfence
lea rax, [rbx + 0xa8]
test rax, rax
je 0x14008c65c
mov eax, dword [rax]
mov dword [r14], eax
jmp 0x14008c66f
mov dword [r14], eax
call fcn.1400c8c94
mov dword [rax], socket
call fcn.1400c8b44
mov r8, qword [rbx + 0x68]
lea eax, [rsi - 4]
mov edx, eax
lea rcx, [r14 + 4]
mov r9d, eax
call fcn.140085200
jmp 0x14008c378
mov edx, dword [rbx + 0xa8]
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_COPY__d____ERROR_NOT_ENOUGH_MEMORY_n
mov edi, 8
call fcn.140095ab0
jmp 0x14008c7c3
cmp r15d, 0xc
jne 0x14008c7be
mov edx, dword [r13 + 8]
lea rcx, str._AsusSync_PhoneBook__RPCCMD_PHONEBOOK_GET__d____start_to_get_phonebook_n
mov dword [rbx + 0xa8], edx
call fcn.140095ab0
mov eax, dword [rbx + 0xa8]
dec eax
cmp eax, 2
ja 0x14008c7be
cmp byte [rbx + 0x64], 1
jne 0x14008c6f2
lea rcx, str._AsusSync_PhoneBook__RPCGet___data_is_already_ready_to_get_n
call fcn.140095ab0
mov edi, 0xb7
jmp 0x14008c7c3
mov rcx, qword [rbx + 0xa0]
xor edx, edx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x14008c71b
lea rcx, str._AsusSync_PhoneBook__RPCGet___a_task_is_still_running_n
call fcn.140095ab0
mov edi, 0xaa
jmp 0x14008c7c3
mov rcx, qword [rbx + 0xa0]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ResetEvent]
mov rcx, qword [rbx + 0xc0]
cmp rcx, 0xffffffffffffffff
je 0x14008c774
xor edx, edx
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
test eax, eax
je 0x14008c75c
mov rcx, qword [rbx + 0xc0]
xor edx, edx
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TerminateThread]
lea rcx, str._AsusSync_PhoneBook__StopPullPhoneBook___a_task_is_still_running___terminate_it_n
call fcn.140095ab0
mov rcx, qword [rbx + 0xc0]
call qword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov qword [rbx + 0xc0], 0xffffffffffffffff
lea rax, [rsp + 0x30]
xor ebp, ebp
mov qword [rsp + 0x28], rax
lea r8, [0x14008b5a0]
mov r9, rbx
mov dword [rsp + 0x20], ebp
xor edx, edx
xor ecx, ecx
mov edi, ebp
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateThread]
mov qword [rbx + 0xc0], rax
test rax, rax
jne 0x14008c7c3
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edx, eax
lea rcx, str._AsusSync_ObexClient__RPCGet___CreateThread_failed:__d_n
mov edi, eax
call fcn.140095ab0
jmp 0x14008c7c3
mov edi, 0x57
mov eax, edi
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1400c2450
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000a150
int3