Function at 0x1400218d0
Capabilities:
Print debug messages

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov qword [r11 - 0x68], 0xfffffffffffffffe
mov rax, qword [0x14005d030]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov r12, r9
mov qword [r11 - 0x80], r9
mov rsi, r8
mov rbx, rdx
mov r14, rcx
mov qword [rsp + 0x80], rcx
mov qword [r11 - 0x60], r8
mov qword [r11 - 0x70], r9
mov rcx, qword [r9]
mov qword [rsp + 0x48], rcx
test rcx, rcx
je 0x140021932
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsp + 0x48]
call fcn.140021660
mov qword [r14 + 0x10], rbx
lea rcx, [r14 + 0x18]
cmp rcx, rsi
je 0x140021993
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x140021956
mov r9, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rax, qword [rcx + 0x18]
cmp rdx, rax
ja 0x14002198e
mov r15, rcx
cmp rax, 8
jb 0x14002196f
mov r15, qword [rcx]
mov qword [rcx + 0x10], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
mov rcx, r15
call fcn.140026830
xor edi, edi
mov word [rbx + r15], di
jmp 0x140021995
call fcn.140015b00
xor edi, edi
mov eax, dword [0x14005da8c]
cmp eax, 3
je 0x140021d22
test eax, eax
jne 0x140021d16
xorps xmm0, xmm0
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xa0], rdi
mov dword [rsp + 0xa8], edi
mov qword [rsp + 0xb0], rdi
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140022720
cmp qword [rax + 0x18], 8
jb 0x1400219e5
mov rax, qword [rax]
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test eax, eax
jne 0x140021a29
mov ebx, edi
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], edi
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140021a6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021a66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021da4
call fcn.140024800
lea r13, vtable.std::exception.0
test ebx, ebx
je 0x140021ab3
mov qword [rsp + 0x58], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
lea rbx, str.DtsService::CodecSupport::Failed_to_read_registry_key_from_path
mov qword [rsp + 0x48], rbx
mov byte [rsp + 0x50], 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.1400263a0
mov qword [rsp + 0x58], r13
lea rcx, [rsp + 0x60]
call fcn.140026430
nop
mov byte [0x14005da88], 1
mov byte [rsp + 0x40], 0
mov r8b, 1
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa0]
call fcn.140022850
cmp eax, 3
jne 0x140021c7c
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x140021afe
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, rdi
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0xa8], edi
mov byte [r14 + 0x51], 1
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140022720
mov r15, rax
cmp qword [rax + 0x18], 8
jb 0x140021b24
mov r15, qword [rax]
mov qword [rsp + 0x48], rdi
mov r12, qword [rsp + 0xb0]
test r12, r12
je 0x140021bac
cmp qword [r12], 0
je 0x140021b9c
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x140021b58
lea r15d, [rax + 1]
jmp 0x140021bff
lea rdx, str.RegOpenKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140021ba4
mov qword [rsp + 0x30], rdi
mov r8, qword [r12]
mov qword [rsp + 0x28], r8
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x20], rdx
mov r9d, 0x20019
xor r8d, r8d
mov rdx, r15
mov rcx, 0xffffffff80000002
call rax
jmp 0x140021bcf
cmp dword [r12 + 8], 0
jne 0x140021bac
mov r15d, 1
jmp 0x140021bd2
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, r15
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov r15d, eax
test r15d, r15d
jne 0x140021bff
mov r15d, edi
test rbx, rbx
je 0x140021beb
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r15d, eax
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0xa8], edi
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140021c41
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021c3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021daa
call fcn.140024800
test r15d, r15d
jne 0x140021ca8
mov byte [rsp + 0x41], r15b
movzx r8d, byte [0x14005da88]
lea rdx, [rsp + 0x41]
lea rcx, [rsp + 0xa0]
call fcn.140022850
cmp eax, 3
jne 0x140021c7c
mov byte [0x14005da88], r15b
cmp byte [rsp + 0x40], r15b
je 0x140021c8b
mov byte [r14 + 0x51], r15b
mov rbx, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x78]
jmp 0x140021d08
cmp byte [rsp + 0x41], 0
je 0x140021c99
mov byte [r14 + 0x51], 1
jmp 0x140021c7c
lea rcx, str.DtsService::CodecSupport::_Failed_to_find_form_factor_registry_path
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x140021c7c
mov qword [rsp + 0x58], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
lea rax, str.DtsService::CodecSupport::Failed_to_read_registry_key_from_path
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.1400263a0
mov qword [rsp + 0x58], r13
lea rcx, [rsp + 0x60]
call fcn.140026430
jmp 0x140021c84
test rbx, rbx
je 0x140021d16
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [r14 + 0x40], rdi
mov qword [r14 + 0x48], rdi
mov byte [r14], 1
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140021d5d
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140021d58
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140021d9e
mov rcx, r8
call fcn.140024800
mov word [rsi], di
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rdi
mov rcx, qword [r12]
test rcx, rcx
je 0x140021d7b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.1400247e0
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.14002bf94
nop
call fcn.14002bf94
nop
call fcn.14002bf94
int3