Function at 0x2e01c926
Capabilities:
Access the windows event log
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x698
mov eax, dword [0x2e0030d4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x698], eax
xor eax, eax
mov esi, 0x206
push esi
mov word [ebp - 0x23c], ax
xor edi, edi
lea eax, [ebp - 0x23a]
push edi
push eax
call sub.MSVCR90.dll_memset
xor eax, eax
push 0x2e
mov word [ebp - 0x34], ax
lea eax, [ebp - 0x32]
push edi
push eax
call sub.MSVCR90.dll_memset
xor eax, eax
push esi
mov word [ebp - 0x444], ax
lea eax, [ebp - 0x442]
push edi
push eax
call sub.MSVCR90.dll_memset
add esp, 0x24
lea eax, [ebp - 0x444]
push 0x104
push eax
push edi
mov dword [ebp - 0x68c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [eax - 1]
cmp ecx, 0x102
ja 0x2e01c9e3
lea eax, [ebp + eax*2 - 0x446]
jmp 0x2e01c9c3
cmp word [eax], 0x5c
je 0x2e01c9d9
dec eax
dec eax
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x68c], eax
cmp eax, ecx
ja 0x2e01c9bb
cmp word [eax], 0x5c
jne 0x2e01c9ec
inc eax
inc eax
mov dword [ebp - 0x68c], eax
jmp 0x2e01c9ec
xor eax, eax
mov word [ebp - 0x444], ax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], edi
call fcn.2e01c61b
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push eax
mov ebx, 0x20019
push ebx
push edi
push 0x2e003134
push 0x80000000
call esi
test eax, eax
jne 0x2e01cad1
lea ecx, [ebp - 0x688]
mov dword [ebp - 0x688], edi
call fcn.2e01c61b
push eax
push ebx
push edi
push dword [ebp - 0x698]
push dword [ebp - 0x694]
call esi
test eax, eax
jne 0x2e01cabd
lea ecx, [ebp - 0x684]
mov dword [ebp - 0x684], edi
call fcn.2e01c61b
push eax
push ebx
push edi
push 0x2e003270
push dword [ebp - 0x688]
call esi
test eax, eax
jne 0x2e01caa9
lea eax, [ebp - 0x690]
push eax
lea eax, [ebp - 0x23c]
push eax
push edi
push edi
push 0x2e001d54
push dword [ebp - 0x684]
mov dword [ebp - 0x690], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x2e01caa0
mov word [ebp - 0x36], ax
jmp 0x2e01caa9
xor eax, eax
mov word [ebp - 0x23c], ax
cmp dword [ebp - 0x684], edi
je 0x2e01cabd
push dword [ebp - 0x684]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x688], edi
je 0x2e01cad1
push dword [ebp - 0x688]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp word [ebp - 0x23c], di
je 0x2e01cbbe
push 0x2e003258
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x2e003240
push eax
mov dword [ebp - 0x684], eax
call esi
lea ecx, [ebp - 0x688]
push ecx
lea ecx, [ebp - 0x23c]
push ecx
call eax
mov dword [ebp - 0x688], eax
cmp eax, edi
jne 0x2e01cb22
xor eax, eax
mov word [ebp - 0x34], ax
jmp 0x2e01cbbe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
cmp ebx, edi
je 0x2e01cbbe
push 0x2e00322c
push dword [ebp - 0x684]
call esi
push ebx
push dword [ebp - 0x688]
lea ecx, [ebp - 0x23c]
push edi
push ecx
call eax
test eax, eax
je 0x2e01cbaf
push 0x2e00321c
push dword [ebp - 0x684]
call esi
lea ecx, [ebp - 0x684]
push ecx
lea ecx, [ebp - 0x690]
push ecx
push 0x2e003218
push ebx
call eax
test eax, eax
je 0x2e01cbaf
mov eax, dword [ebp - 0x690]
movzx ecx, word [eax + 0xc]
push ecx
movzx ecx, word [eax + 0xe]
push ecx
movzx ecx, word [eax + 8]
movzx eax, word [eax + 0xa]
push ecx
push eax
lea eax, [ebp - 0x34]
push 0x2e003200
push eax
call fcn.2e01c7eb
add esp, 0x18
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
push 0x23a
mov word [ebp - 0x680], ax
lea eax, [ebp - 0x67e]
push edi
push eax
call sub.MSVCR90.dll_memset
push dword [ebp - 0x698]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x680]
push 0x2e0031ec
push eax
call fcn.2e01c805
lea eax, [ebp - 0x680]
mov dword [ebp - 0x690], eax
mov eax, dword [ebp - 0x68c]
add esp, 0x20
pop ebx
cmp word [eax], di
jne 0x2e01cc1b
mov eax, 0x2e003118
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
cmp esi, 0xffffffff
je 0x2e01cc50
cmp esi, edi
je 0x2e01cc50
push edi
lea eax, [ebp - 0x690]
push eax
push edi
push 1
push edi
push 0x60005330
push edi
push 4
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
cmp dword [ebp - 0x694], edi
pop edi
pop esi
je 0x2e01cc66
push dword [ebp - 0x694]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.2e01c5d1
leave
ret 4