Function at 0x14023a200
Capabilities:
Set registry value

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x1403ceac0]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov r11, r9
mov r13, r8
mov r12, rdx
mov r14, rcx
mov qword [rsp + 0x58], rcx
mov rsi, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rsi
xor r15d, r15d
mov qword [rsp + 0x70], r15
mov rbx, qword [r9 + 0x10]
mov rdi, qword [r9 + 0x18]
cmp rdi, 8
jb 0x14023a259
mov r9, qword [r9]
cmp rbx, 3
jne 0x14023a2a2
mov rdx, rbx
lea rax, [0x14032c9a0]
movzx ecx, word [r9]
mov r8d, 0x53
cmp cx, r8w
jb 0x14023a2a2
sub r9, rax
cmp cx, r8w
ja 0x14023a2a2
cmp rdx, 1
je 0x14023a44e
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14023a280
mov r9, r11
cmp rdi, 8
jb 0x14023a2ae
mov r9, qword [r11]
cmp rbx, 3
jne 0x14023a2f7
mov rdx, rbx
lea rax, [0x14032c688]
movzx ecx, word [r9]
mov r8d, 0x4e
cmp cx, r8w
jb 0x14023a2f7
sub r9, rax
cmp cx, r8w
ja 0x14023a2f7
cmp rdx, 1
je 0x14023a5a2
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14023a2d5
mov r10, r11
cmp rdi, 8
jb 0x14023a303
mov r10, qword [r11]
mov r9d, 5
cmp rbx, r9
jne 0x14023a351
mov edx, r9d
lea rax, str.DWORD
movzx ecx, word [r10]
mov r8d, 0x44
cmp cx, r8w
jb 0x14023a351
sub r10, rax
cmp cx, r8w
ja 0x14023a351
cmp rdx, 1
je 0x14023a5a2
dec rdx
add rax, 2
movzx ecx, word [rax + r10]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14023a32f
mov r8, r11
cmp rdi, 8
jb 0x14023a35d
mov r8, qword [r11]
cmp rbx, 5
jne 0x14023a39e
lea rax, str.QWORD
movzx ecx, word [r8]
mov edx, 0x51
cmp cx, dx
jb 0x14023a39e
sub r8, rax
cmp cx, dx
ja 0x14023a39e
cmp r9, 1
je 0x14023a645
dec r9
add rax, 2
movzx ecx, word [rax + r8]
movzx edx, word [rax]
cmp cx, dx
jae 0x14023a37e
mov r9, r11
cmp rdi, 8
jb 0x14023a3aa
mov r9, qword [r11]
cmp rbx, 3
jne 0x14023a3f3
mov rdx, rbx
lea rax, [0x14032e1c0]
movzx ecx, word [r9]
mov r8d, 0x42
cmp cx, r8w
jb 0x14023a3f3
sub r9, rax
cmp cx, r8w
ja 0x14023a3f3
cmp rdx, 1
je 0x14023a6c7
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x14023a3d1
cmp rdi, 8
jb 0x14023a3fc
mov r11, qword [r11]
mov qword [rsp + 0x28], r11
lea rax, str.Unknown_registry_key_type:__s
mov qword [rsp + 0x20], rax
mov r9d, reloc.OLEAUT32.dll_LoadRegTypeLib
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.140213350
nop
xor al, al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140296f70
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov edi, 1
mov eax, dword [r14 + 0x10]
lea r15d, [rax*2 + 2]
mov esi, r15d
mov ecx, r15d
call fcn.1402974ec
mov rbx, rax
mov qword [rsp + 0x70], rax
cmp qword [r14 + 0x18], 8
jb 0x14023a47c
mov r14, qword [r14]
test r15d, r15d
je 0x14023a4a1
test rbx, rbx
je 0x14023a566
mov r8, rsi
mov rcx, rbx
test r14, r14
je 0x14023a55f
mov rdx, r14
call fcn.1402b53e0
mov rsi, qword [rsp + 0x50]
xor r14d, r14d
mov qword [rsp + 0x68], r14
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x14023a4bd
mov rdx, qword [r12]
movzx r8d, byte [rsp + 0xe0]
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x14023a7b8
cmp qword [r12 + 0x18], 8
jb 0x14023a50d
mov r12, qword [r12]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], eax
lea rax, str.Error___d__creating_registry_key:__s
mov qword [rsp + 0x20], rax
mov r9d, 0xab
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.140213350
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14023a8ac
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], r14
jmp 0x14023a8ac
xor edx, edx
call fcn.1402b60e0
call fcn.1402be600
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1402ba3cc
lea rax, str.memcpy_s_failed_in_SetRegistryKey
mov qword [rsp + 0x20], rax
mov r9d, 0x66
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, edi
call fcn.140213350
jmp 0x14023a8ac
call fcn.1402be600
mov rbx, rax
cmp qword [r14 + 0x18], 8
jb 0x14023a5b4
mov r14, qword [r14]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.1402c9154
mov esi, eax
cmp r14, qword [rsp + 0x60]
je 0x14023a8c2
cmp dword [rbx], 0x22
je 0x14023a8ce
mov edi, 4
mov r15d, edi
mov ecx, edi
call fcn.1402974ec
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x14023a639
call fcn.1402be600
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1402ba3cc
lea r9d, [rdi + 0x77]
lea rax, str.memcpy_s_failed_in_SetRegistryKey
mov qword [rsp + 0x20], rax
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.140213350
jmp 0x14023a42c
mov dword [rax], esi
jmp 0x14023a4a1
call fcn.1402be600
mov rbx, rax
cmp qword [r14 + 0x18], 8
jb 0x14023a657
mov r14, qword [r14]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.1402c9180
mov rsi, rax
cmp r14, qword [rsp + 0x60]
je 0x14023a8db
cmp dword [rbx], 0x22
je 0x14023a8e7
mov edi, listen
mov r15d, 8
mov ecx, r15d
call fcn.1402974ec
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x14023a6bf
call fcn.1402be600
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.1402ba3cc
mov r9d, 0x90
jmp 0x14023a610
mov qword [rax], rsi
jmp 0x14023a4a1
mov rax, qword [r14 + 0x10]
inc rax
shr rax, 1
mov r15d, eax
mov ecx, eax
call fcn.1402974ec
mov rbx, rax
mov qword [rsp + 0x70], rax
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x14023a6f0
mov r8, qword [r14]
test r8, r8
je 0x14023a872
xor r9d, r9d
test r15d, r15d
je 0x14023a7ae
nop word [rax + rax]
movzx edx, word [r8]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x14023a722
lea ecx, [rdx - 0x30]
jmp 0x14023a73c
lea eax, [rdx - 0x61]
cmp ax, 5
ja 0x14023a730
lea ecx, [rdx - 0x57]
jmp 0x14023a73c
lea eax, [rdx - 0x41]
cmp ax, 5
ja 0x14023a7a5
lea ecx, [rdx - 0x37]
cmp cl, 0xff
je 0x14023a7a5
movzx edx, word [r8 + 2]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x14023a754
lea eax, [rdx - 0x30]
jmp 0x14023a76e
lea eax, [rdx - 0x61]
cmp ax, 5
ja 0x14023a762
lea eax, [rdx - 0x57]
jmp 0x14023a76e
lea eax, [rdx - 0x41]
cmp ax, 5
ja 0x14023a78b
lea eax, [rdx - 0x37]
cmp al, 0xff
je 0x14023a78b
and al, 0xf
shl cl, 4
or al, cl
mov byte [r9 + rbx], al
add r8, 4
inc r9
cmp r9, r15
jae 0x14023a7ae
jmp 0x14023a710
test dx, dx
jne 0x14023a872
shl cl, 4
mov byte [r9 + rbx], cl
mov edi, 3
jmp 0x14023a4a6
test dx, dx
jne 0x14023a872
mov edi, 3
jmp 0x14023a4a6
mov rdx, r13
cmp qword [r13 + 0x18], 8
jb 0x14023a7c6
mov rdx, qword [r13]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rbx
mov r9d, edi
xor r8d, r8d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x14023a849
cmp qword [r12 + 0x18], 8
jb 0x14023a7f1
mov r12, qword [r12]
cmp qword [r13 + 0x10], 0
jne 0x14023a801
lea r13, str._Default_
jmp 0x14023a80c
cmp qword [r13 + 0x18], 8
jb 0x14023a80c
mov r13, qword [r13]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], eax
lea rax, str.Error___d__setting_value___s__under_registry_key:__s
mov qword [rsp + 0x20], rax
mov r9d, VariantTimeToSystemTime
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.140213350
jmp 0x14023a541
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14023a85e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], r14
test rbx, rbx
je 0x14023a86b
mov rcx, rbx
call fcn.140296f94
mov al, 1
jmp 0x14023a42e
cmp qword [r14 + 0x18], 8
jb 0x14023a87c
mov r14, qword [r14]
mov qword [rsp + 0x28], r14
lea rax, str.Unable_to_convert__s_to_hex
mov qword [rsp + 0x20], rax
mov r9d, 0x9a
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.140213350
nop
test rbx, rbx
je 0x14023a42c
mov rcx, rbx
call fcn.140296f94
jmp 0x14023a42c
lea rcx, str.invalid_stoul_argument
call fcn.1400fccac
lea rcx, str.stoul_argument_out_of_range
call fcn.1400fccf4
nop
lea rcx, str.invalid_stoull_argument
call fcn.1400fccac
lea rcx, str.stoull_argument_out_of_range
call fcn.1400fccf4
int3