Function at 0x180001710
Capabilities:
Access the windows event log
Enumerate processes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x590
mov rax, qword [0x18001a2b0]
xor rax, rsp
mov qword [rsp + 0x580], rax
mov r12, rdx
mov r14, rcx
lea rdx, str.Application
xor ecx, ecx
mov rsi, r9
mov r13d, r8d
call qword [sym.imp.ADVAPI32.dll_OpenEventLogA]
xor ebp, ebp
mov rdi, rax
test rax, rax
je 0x1800018fc
lea rcx, str.msi.dll
lea rbx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rsp + 0x48]
mov rcx, rdi
mov qword [0x18001be08], rax
call qword [sym.imp.ADVAPI32.dll_GetOldestEventLogRecord]
lea r11, [rsp + 0x44]
mov qword [rsp + 0x30], r11
lea rax, [rsp + 0x40]
lea r9, [rsp + 0x180]
mov qword [rsp + 0x28], rax
lea edx, [rbp + 5]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], 0x200
call qword [sym.imp.ADVAPI32.dll_ReadEventLogA]
test eax, eax
je 0x1800018f3
nop dword [rax]
cmp dword [rsp + 0x40], ebp
jbe 0x1800018af
nop word [rax + rax]
lea rcx, [rbx + 0x38]
lea rdx, str.MsiInstaller
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x180001898
cmp dword [rbx + 0x14], 0x3f6
jne 0x180001898
mov rdx, qword [0x18001be08]
mov r9d, 0x409
lea rax, [rsp + 0x380]
mov qword [rsp + 0x30], rbp
lea r8d, [r9 - 0x13]
mov ecx, 0x800
mov dword [rsp + 0x28], 0x200
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
movzx r11d, word [rbx + 0x18]
sub r11d, 1
je 0x18000188c
sub r11d, 1
je 0x180001883
sub r11d, 2
je 0x18000187a
sub r11d, 4
je 0x180001871
cmp r11d, 8
je 0x180001868
lea rcx, str.Unknown___n
jmp 0x180001893
lea rcx, str.EVENTLOG_AUDIT_FAILURE___n
jmp 0x180001893
lea rcx, str.EVENTLOG_AUDIT_SUCCESS___n
jmp 0x180001893
lea rcx, str.EVENTLOG_INFORMATION_TYPE___n
jmp 0x180001893
lea rcx, str.EVENTLOG_WARNING_TYPE___n
jmp 0x180001893
lea rcx, str.EVENTLOG_ERROR_TYPE___n
call fcn.180003fd4
mov ecx, dword [rsp + 0x40]
sub ecx, dword [rbx]
mov dword [rsp + 0x40], ecx
mov eax, dword [rbx]
add rbx, rax
test ecx, ecx
jne 0x1800017e0
lea rax, [rsp + 0x44]
xor r8d, r8d
lea r9, [rsp + 0x180]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
lea edx, [r8 + 5]
mov qword [rsp + 0x28], rax
mov rcx, rdi
lea rbx, [rsp + 0x180]
mov dword [rsp + 0x20], 0x200
call qword [sym.imp.ADVAPI32.dll_ReadEventLogA]
test eax, eax
jne 0x1800017d0
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseEventLog]
lea rcx, [rsp + 0x54]
xor edx, edx
mov r8d, 0x12c
mov edi, ebp
call fcn.1800045f0
xor edx, edx
lea ecx, [rdx + 2]
mov dword [rsp + 0x50], 0x130
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
lea rdx, [rsp + 0x50]
mov rcx, rax
mov rbx, rax
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x180001969
nop word [rax + rax]
mov ecx, dword [0x18001be04]
cmp dword [rsp + 0x58], ecx
je 0x18000195f
lea rdx, [rsp + 0x50]
mov rcx, rbx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x180001940
jmp 0x180001969
mov eax, dword [rsp + 0x70]
mov dword [0x18001be04], eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r11d, ebp
test r13d, r13d
jle 0x1800019ff
sub r12, rsi
lea eax, [rbp + 1]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movsxd rbp, eax
movzx r8d, byte [rbp + r14]
lea eax, [rdi + r8]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movsxd rdi, eax
movzx ecx, byte [rdi + r14]
mov byte [rbp + r14], cl
mov byte [rdi + r14], r8b
movzx eax, byte [rbp + r14]
add eax, r8d
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movsxd rcx, eax
mov eax, r11d
movzx r8d, byte [rcx + r14]
cdq
and eax, 1
xor eax, edx
cmp eax, edx
je 0x1800019e6
not r8b
jmp 0x1800019e9
xor r8b, r11b
movzx eax, byte [r12 + rsi]
inc r11d
inc rsi
xor al, r8b
cmp r11d, r13d
mov byte [rsi - 1], al
jl 0x180001981
xor edx, edx
mov r8d, 0x100
mov rcx, r14
call fcn.1800045f0
mov rcx, qword [rsp + 0x580]
xor rcx, rsp
call fcn.1800045c0
lea r11, [rsp + 0x590]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret