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

Disassembly:
sub esp, 0xc
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, ecx
push 0
push 0
push 1
push 0
mov dword [esp + 0x20], 0
call edi
mov dword [0x43f2b8], eax
test eax, eax
jne 0x408516
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x4084af
cmp dword [str._CBrowseSvc::FInitOLAPRedirectionERRRET__Failed_to_create_AnalysisServiceListener_registry_watch_event:__dWINERR_n], eax
je 0x4084af
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitOLAPRedirectionERRRET__Failed_to_create_AnalysisServiceListener_registry_watch_event:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x59000
push eax
call fcn.00405110
add esp, 0x10
call esi
mov dword [esp + 8], eax
call esi
push str.SQLBrowser
push 0
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x4084ff
lea eax, [esp + 8]
push eax
push 0
push 4
push 0
push 0
push 0xc04e000b
push 0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
xor eax, eax
pop esi
add esp, 0xc
ret
push 0
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
xor eax, eax
pop esi
add esp, 0xc
ret
mov ecx, eax
call fcn.004089d0
test eax, eax
jne 0x408558
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x4084af
cmp dword [str._CBrowseSvc::FInitOLAPRedirectionERRRET__Failed_to_register_Analysis_Service_Listener_registry_change_notification:__dWINERR_n], eax
je 0x4084af
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitOLAPRedirectionERRRET__Failed_to_register_Analysis_Service_Listener_registry_change_notification:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x5b400
jmp 0x4084a6
push 0
push 0
push 0
push 0
call edi
mov dword [esi + 0x2c], eax
test eax, eax
je 0x40859f
lea eax, [esp + 0x10]
push eax
push 0
push esi
push 0x4068e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esi + 0x2c]
push 0xffffffffffffffff
mov dword [esi + 0x28], eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc]
push 0
push eax
push 2
mov dword [esp + 0x18], ecx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp dword [esi + 0x28], 0
jne 0x408611
test byte [0x43f278], 2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
je 0x4085d9
cmp dword [str._CBrowseSvc::FInitOLAPRedirectionERR__creating_olap_thread:__dWINERR_n], 0
je 0x4085d9
call esi
push eax
mov eax, dword [str._CBrowseSvc::FInitOLAPRedirectionERR__creating_olap_thread:__dWINERR_n]
push eax
mov eax, dword [str.sql_ntdbms_browser_sqlbrowser_brwssvc.cpp]
push 0x62000
push eax
call fcn.00405110
add esp, 0x10
call esi
mov dword [esp + 8], eax
call esi
push str.SQLBrowser
push 0
mov edi, eax
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x4084ff
lea eax, [esp + 8]
push eax
push 0
push 4
push 0
push 0
push 0xc04e0009
jmp 0x4084de
pop edi
mov dword [0x43f2b0], 1
mov eax, 1
pop esi
add esp, 0xc
ret