Function at 0x140051664
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov ebp, r9d
mov r15, r8
mov rbx, rcx
test r8, r8
je 0x1400518af
mov r13, qword [rsp + 0x90]
test r13, r13
je 0x1400518af
mov r12, qword [rsp + 0xa8]
test r12, r12
je 0x1400518af
mov rax, qword [rcx]
test rax, rax
je 0x140051737
xor esi, esi
cmp dword [rax + 8], esi
jle 0x140051737
xor r14d, r14d
test r14, r14
js 0x1400518c9
cmp esi, dword [rax + 8]
jge 0x1400518c9
mov rdi, qword [rax]
add rdi, r14
cmp rdx, qword [rdi]
jne 0x140051729
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [r15 + rcx], 0
jne 0x1400516e4
mov rdx, qword [rdi + 0x20]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x1400516f6
cmp rcx, rax
jb 0x140051724
movsxd r8, dword [rdx - 0x10]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
test eax, eax
jne 0x140051724
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x140051741
call rax
test al, al
jne 0x140051741
mov rdx, qword [rsp + 0x78]
inc esi
add r14, 0x48
mov rax, qword [rbx]
cmp esi, dword [rax + 8]
jl 0x1400516c3
mov eax, 1
jmp 0x1400518b4
cmp byte [rbx + 9], 0
jne 0x140051757
cmp byte [rbx + 8], 0
jne 0x140051757
cmp byte [rdi + 0x40], 0
je 0x140051869
call fcn.140002dfc
mov rcx, rax
test rax, rax
je 0x1400518d9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
mov rdx, r15
lea rcx, [rsp + 0x20]
call fcn.140009504
nop
mov r9, qword [rsp + 0x20]
lea r8, str.ANSI
lea rdx, str.VsDetour:_matched___s_:__s_r_n
lea rcx, [rsp + 0x80]
call fcn.14000a5cc
cmp byte [rbx + 8], 0
jne 0x1400517b4
cmp byte [rdi + 0x40], 0
je 0x140051827
call fcn.140002dfc
mov rcx, rax
test rax, rax
je 0x1400518e4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
mov r9, qword [rsp + 0x80]
lea r8, str.VisualStudio
lea rdx, str.Error:__s:__s_n
lea rcx, [rsp + 0xa0]
call fcn.14000a5cc
mov rbx, qword [rsp + 0xa0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140051827
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140051847
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140051869
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r8, qword [rsp + 0x98]
mov rdx, r15
mov rcx, rdi
call fcn.140051ebc
test eax, eax
js 0x1400518b4
mov rax, qword [rdi + 8]
mov qword [r13], rax
mov dword [r12], ebp
cmp byte [rdi + 0x10], 0
je 0x140051899
or ebp, 1
mov dword [r12], ebp
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x1400518ab
mov al, byte [rdi + 0x11]
mov byte [rcx], al
xor eax, eax
jmp 0x1400518b4
mov eax, 0x80070057
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 1
mov ecx, 0xc000008c
call fcn.140002f94
int3
mov ecx, 0x80004005
call fcn.140002fa4
nop
mov ecx, 0x80004005
call fcn.140002fa4
int3