Function at 0x180058ac0
Capabilities:
Access the windows event log

Disassembly:
or esi, edi
push qword [rbx]
shr cl, 0xcd
add dword [rax], eax
add byte [rax - 0x77], cl
pushfq
and al, 0xb0
add byte [rax], al
add byte [rax - 0x77], cl
mov ah, 0x24
rol byte [rax], 0
add byte [rax - 0x77], cl
mov esp, 0xc824
add byte [rcx + rcx*4 - 0x54], cl
and al, 0x88
add byte [rax], al
add byte [rbx + rcx*4 + 0x6d], al
out dx, eax
mov esi, r15d
shr r13d, 3
test r13d, r13d
jle 0x1800506aa
mov rdi, r12
cmp dword [rdi], 0x200
jne 0x18005069b
xor eax, eax
xor edx, edx
lea r9, [rbp - 0x19]
mov qword [rbp + 7], rax
mov qword [rbp - 1], rax
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x1f], eax
mov rax, qword [rdi]
mov qword [rbp - 1], rax
lea rax, [rbp - 0xd]
lea r8, [rbp - 1]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x15]
lea ecx, [rdx + 6]
mov dword [rbp + 7], 0x100
mov dword [rbp + 0xb], 0x100
mov dword [rbp + 0xf], 1
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x15], r15d
mov dword [rbp - 0xd], 4
call qword [0x1800d4290]
test eax, eax
jne 0x180050712
cmp dword [rbp - 0x15], 0x202
jne 0x18005069b
mov ecx, 0xe1
mov dword [rbp + 7], 0x200
mov dword [rbp + 0xf], 1
mov dword [rbp - 9], 0xe1
call fcn.180030dfc
mov rbx, rax
test rax, rax
je 0x180050712
xor edx, edx
mov r8d, 0xe1
mov rcx, rax
call fcn.180031610
xor edx, edx
lea r11, [rbp - 9]
mov qword [rsp + 0x28], r11
lea r9, [rbp - 0x19]
lea r8, [rbp - 1]
lea ecx, [rdx + 6]
mov qword [rsp + 0x20], rbx
call qword [0x1800d4290]
test eax, eax
jne 0x1800506fe
cmp dword [rbx + 4], 0x18
je 0x180050693
movzx r8d, byte [rbx + 0x14]
mov edx, dword [r14 + 8]
mov rcx, r14
call fcn.180023630
movzx r8d, byte [rbx + 0x15]
mov edx, dword [r14 + 8]
mov rcx, r14
call fcn.180023630
movzx r8d, byte [rbx + 0x16]
mov edx, dword [r14 + 8]
mov rcx, r14
call fcn.180023630
movzx r8d, byte [rbx + 0x17]
mov edx, dword [r14 + 8]
mov rcx, r14
call fcn.180023630
movzx r8d, byte [rbx + 0x18]
mov edx, dword [r14 + 8]
mov rcx, r14
call fcn.180023630
movzx r8d, byte [rbx + 0x19]
mov edx, dword [r14 + 8]
mov rcx, r14
call fcn.180023630
mov rcx, rbx
call fcn.180030eb4
inc esi
add rdi, 8
cmp esi, r13d
jl 0x180050541
mov rcx, r12
call fcn.180030eb4
mov eax, 1
mov r13, qword [rsp + 0x88]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x90]
mov r15, qword [rsp + 0x80]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.18002f7c0
add rsp, 0x98
pop r14
pop rbp
ret
mov rcx, r12
call fcn.180030eb4
mov rcx, rbx
call fcn.180030eb4
xor eax, eax
jmp 0x1800506b7
mov rcx, r12
call fcn.180030eb4
xor eax, eax
jmp 0x1800506b7
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r13
mov eax, 0x278
call fcn.180031bb0
sub rsp, rax
lea rbp, [rsp + 0x50]
mov rax, qword [0x1800bc650]
xor rax, rbp
mov qword [rbp + 0x210], rax
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
je 0x180058b40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileType]
test eax, eax
je 0x180058b40
lea rbx, [rbp + 0x268]
call fcn.18003ea3c
mov rdx, qword [rbp + 0x260]
lea rcx, [rax + 0x60]
mov r8, rbx
call fcn.18006dcd4
jmp 0x180058d08
mov r8, qword [rbp + 0x260]
mov rcx, r8
call fcn.180058810
inc eax
mov edi, eax
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180058b69
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180031bb0
sub rsp, rcx
xor esi, esi
lea rbx, [rsp + 0x50]
test rbx, rbx
jne 0x180058b90
lea rbx, str.no_stack_
jmp 0x180058c63
mov r9d, edi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x180058bd9
mov rdx, rsi
test rdi, rdi
je 0x180058bd9
nop word [rax + rax]
mov rax, qword [rbp + 0x260]
inc rdx
movsx ecx, byte [rdx + rax - 1]
mov word [rbx + rdx*2 - 2], cx
cmp rdx, rdi
jb 0x180058bc0
mov rdx, rsi
test rdi, rdi
je 0x180058c63
mov r10d, 0x53
lea r9, [0x180000000]
lea r11d, [r10 + 0x20]
lea r12d, [r10 - 0x10]
lea r13d, [r10 + 0x10]
nop
cmp word [rbx + rdx*2], 0x25
jne case.0x180058c32.47
lea r8, [rbx + rdx*2 + 2]
nop dword [rax]
movzx eax, word [r8]
add eax, 0xffffffd6
cmp eax, 0x49
ja case.0x180058c32.47
cdqe
movzx eax, byte [r9 + rax + 0x58d40]
mov ecx, dword [r9 + rax*4 + 0x58d28]
add rcx, r9
jmp rcx
inc rdx
add r8, 2
jmp 0x180058c10
mov word [rbx + rdx*2 + 2], r10w
jmp case.0x180058c32.47
mov word [rbx + rdx*2 + 2], r11w
jmp case.0x180058c32.47
mov word [rbx + rdx*2 + 2], r12w
jmp case.0x180058c32.47
mov word [rbx + rdx*2 + 2], r13w
inc rdx
cmp rdx, rdi
jb 0x180058c00
lea r9, [rbp + 0x268]
lea rcx, [rbp + 0x10]
mov r8, rbx
mov edx, 0xff
call fcn.180030a88
mov word [rbp + 0x20e], si
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x180058cef
call fcn.180058990
test eax, eax
jle 0x180058cef
lea rdx, str.OPENSSL
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov qword [rsp + 0x40], rsi
mov ecx, 1
mov rbx, rax
lea rax, [rbp + 0x10]
mov edx, ecx
mov qword [rbp], rax
lea rax, [rbp]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov word [rsp + 0x28], cx
mov rcx, rbx
xor r9d, r9d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_ReportEventW]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
jmp 0x180058d08
lea r8, str.OpenSSL:_FATAL
lea rdx, [rbp + 0x10]
mov r9d, reloc.WS2_32.dll_recv
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, qword [rbp + 0x210]
xor rcx, rbp
call fcn.18002f7c0
lea rsp, [rbp + 0x228]
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret