Function at 0x140004e00
Capabilities:
Access the windows event log
Terminate thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push r12
push r14
mov rbp, rsp
sub rsp, 0x60
mov qword [rsp + 0x88], r15
lea rdx, str._ELAN_Service__Enter_CServiceBase::OnStop_...
lea r15, [0x140038e60]
mov rcx, r15
call qword [sym.imp.USER32.dll_wsprintfW]
xorps xmm0, xmm0
lea r14, str.ELAN_Service
mov rdx, r14
xor ecx, ecx
movdqu xmmword [rbp - 0x10], xmm0
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
xor esi, esi
mov rbx, rax
lea r12d, [rsi + 2]
test rax, rax
je 0x140004ea0
mov qword [rsp + 0x40], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
lea edx, [rsi + 4]
mov dword [rsp + 0x30], esi
xor r8d, r8d
mov word [rsp + 0x28], r12w
mov r9d, 0x36b0
mov rcx, rbx
mov qword [rsp + 0x20], rsi
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r15
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [0x140039060]
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp qword [0x140038e48], rsi
je 0x1400051af
xorps xmm0, xmm0
mov qword [rsp + 0x80], rdi
mov rdx, r14
xor ecx, ecx
movdqu xmmword [rbp - 0x10], xmm0
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x140004f28
mov qword [rsp + 0x40], rsi
lea rax, str._ELAN_Service__Wait_Thread_to_be_terminated...
mov qword [rbp - 8], rax
xor r8d, r8d
lea rax, [rbp - 0x10]
mov qword [rbp - 0x10], r14
mov qword [rsp + 0x38], rax
mov r9d, 0x36b0
mov dword [rsp + 0x30], esi
mov rcx, rbx
mov word [rsp + 0x28], r12w
lea edx, [r8 + 4]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [0x140038e58]
mov edx, 0xbb8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rdx, str._ELAN_Service__Event_trigger___
mov rcx, r15
mov ebx, eax
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, r14
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rdi, rax
test rax, rax
je 0x140004fa3
mov qword [rsp + 0x40], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], esi
mov r9d, 0x36b0
mov word [rsp + 0x28], r12w
mov rcx, rdi
mov qword [rbp - 0x10], r14
lea edx, [r8 + 4]
mov qword [rbp - 8], r15
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rdi, qword [rsp + 0x80]
mov rcx, r15
test ebx, ebx
jne 0x140005027
lea rdx, str._ELAN_Service__Thread_termination_gracefully_completed_for_PollingFPStatusThread___
call qword [sym.imp.USER32.dll_wsprintfW]
xorps xmm0, xmm0
mov rdx, r14
xor ecx, ecx
movdqu xmmword [rbp - 0x10], xmm0
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x1400050bf
mov qword [rsp + 0x40], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], esi
mov r9d, 0x36b0
mov word [rsp + 0x28], r12w
mov rcx, rbx
mov qword [rbp - 0x10], r14
lea edx, [r8 + 4]
mov qword [rbp - 8], r15
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
jmp 0x1400050bf
cmp ebx, 0x102
jne 0x14000503e
lea rdx, str._ELAN_Service__Wait_OnServiceStopEvent_timeout_Terminate_the_PollingFPStatusThread...
call qword [sym.imp.USER32.dll_wsprintfW]
jmp 0x14000504e
mov r8d, ebx
lea rdx, str._ELAN_Service__WaitForSingleObject_error__EventTriggerCode___d___Terminate_the_PollingFPStatusThread___
call qword [sym.imp.USER32.dll_wsprintfW]
xorps xmm0, xmm0
mov rdx, r14
xor ecx, ecx
movdqu xmmword [rbp - 0x10], xmm0
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x1400050ad
mov qword [rsp + 0x40], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], esi
mov r9d, 0x36b0
mov word [rsp + 0x28], r12w
mov rcx, rbx
mov qword [rsp + 0x20], rsi
lea edx, [r8 + 4]
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r15
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [0x140038e48]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, qword [0x140038e48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x140005140
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._ELAN_Service__Closing_fdo_pdx__m_FpMainThread_was_unsuccessful._GetLastError____0x_X___
mov rcx, r15
mov r8d, eax
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, r14
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x140005140
mov qword [rsp + 0x40], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], esi
mov r9d, 0x36b0
mov word [rsp + 0x28], r12w
mov rcx, rbx
mov qword [rbp - 0x10], r14
lea edx, [r8 + 4]
mov qword [rbp - 8], r15
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea rdx, str._ELAN_Service__Destroying_FpMainThread_complete.___
mov rcx, r15
call qword [sym.imp.USER32.dll_wsprintfW]
xorps xmm0, xmm0
mov rdx, r14
xor ecx, ecx
movdqu xmmword [rbp - 0x10], xmm0
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x1400051af
mov qword [rsp + 0x40], rsi
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], esi
mov r9d, 0x36b0
mov word [rsp + 0x28], r12w
mov rcx, rbx
mov qword [rbp - 0x10], r14
lea edx, [r8 + 4]
mov qword [rbp - 8], r15
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
mov rcx, qword [0x140039060]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140038e40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140038e50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, r14
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov r15, qword [rsp + 0x88]
mov rbx, rax
test rax, rax
je 0x14000523c
mov qword [rsp + 0x40], rsi
lea rax, str._ELAN_Service__EFDService_in_OnStop_Finish
mov qword [rbp - 8], rax
xor r8d, r8d
lea rax, [rbp - 0x10]
mov qword [rbp - 0x10], r14
mov qword [rsp + 0x38], rax
mov r9d, 0x36b0
mov dword [rsp + 0x30], esi
mov rcx, rbx
mov word [rsp + 0x28], r12w
lea edx, [r8 + 4]
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rbp
ret