Function at 0x140004930
Capabilities:
Access the windows event log
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0xa0
lea rsi, [0x140038e60]
mov rcx, rsi
lea rdx, str._ELAN_Service__Enter_CServiceBase::OnStart...
call qword [sym.imp.USER32.dll_wsprintfW]
lea rbp, str.ELAN_Service
xor ecx, ecx
mov rdx, rbp
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
xor edi, edi
mov rbx, rax
lea r14d, [rdi + 2]
test rax, rax
je 0x1400049ca
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea edx, [rdi + 4]
mov dword [rsp + 0x30], edi
xor r8d, r8d
mov word [rsp + 0x28], r14w
mov r9d, 0x36b0
mov rcx, rbx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
xor r8d, r8d
lea r9, str.pOnServiceStopEvent
xor ecx, ecx
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r8d, r8d
lea r9, str.pTerminateThreadEvent
xor ecx, ecx
mov qword [0x140039060], rax
lea edx, [r8 + 1]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
lea rdx, str._ELAN_Service__Create_PollingFPStatusThread...
mov rcx, rsi
mov qword [0x140038e58], rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x140004a6e
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], edi
mov r9d, 0x36b0
mov word [rsp + 0x28], r14w
mov rcx, rbx
mov qword [rsp + 0x50], rbp
lea edx, [r8 + 4]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
call fcn.140005680
mov edx, 1
lea rcx, [rsp + 0x78]
call qword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
xor r9d, r9d
lea rcx, [rsp + 0x78]
xor r8d, r8d
lea edx, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
lea rax, [rsp + 0x78]
mov dword [rsp + 0x60], 0x18
lea r9, str.GlobalDriverAttach
mov qword [rsp + 0x68], rax
xor r8d, r8d
mov dword [rsp + 0x70], edi
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreateEventW]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
lea r8, [0x1400043a0]
mov qword [0x140038e50], rax
xor edx, edx
mov dword [rsp + 0x20], edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x140038e48], rax
mov rcx, rsi
lea rdx, str._ELAN_Service__Create_PollingFPStatusThread_Success___
test rax, rax
jne 0x140004b06
lea rdx, str._ELAN_Service__Create_PollingFPStatusThread_Fail___
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x140004b66
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], edi
mov r9d, 0x36b0
mov word [rsp + 0x28], r14w
mov rcx, rbx
mov qword [rsp + 0x20], rdi
lea edx, [r8 + 4]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea rdx, str._ELAN_Service__EFDService_OnStart_Finish
mov rcx, rsi
call qword [sym.imp.USER32.dll_wsprintfW]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov rbx, rax
test rax, rax
je 0x140004bd0
mov qword [rsp + 0x40], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xor r8d, r8d
mov dword [rsp + 0x30], edi
mov r9d, 0x36b0
mov word [rsp + 0x28], r14w
mov rcx, rbx
mov qword [rsp + 0x50], rbp
lea edx, [r8 + 4]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret