Function at 0x1400a6e10
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 [0x1401b4a98]
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 0x1400a6e69
mov r9, qword [r9]
cmp rbx, 3
jne 0x1400a6eb2
mov rdx, rbx
lea rax, [0x1401550d0]
movzx ecx, word [r9]
mov r8d, 0x53
cmp cx, r8w
jb 0x1400a6eb2
sub r9, rax
cmp cx, r8w
ja 0x1400a6eb2
cmp rdx, 1
je 0x1400a705e
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400a6e90
mov r9, r11
cmp rdi, 8
jb 0x1400a6ebe
mov r9, qword [r11]
cmp rbx, 3
jne 0x1400a6f07
mov rdx, rbx
lea rax, [0x140154dc8]
movzx ecx, word [r9]
mov r8d, 0x4e
cmp cx, r8w
jb 0x1400a6f07
sub r9, rax
cmp cx, r8w
ja 0x1400a6f07
cmp rdx, 1
je 0x1400a71b2
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400a6ee5
mov r10, r11
cmp rdi, 8
jb 0x1400a6f13
mov r10, qword [r11]
mov r9d, 5
cmp rbx, r9
jne 0x1400a6f61
mov edx, r9d
lea rax, str.DWORD
movzx ecx, word [r10]
mov r8d, 0x44
cmp cx, r8w
jb 0x1400a6f61
sub r10, rax
cmp cx, r8w
ja 0x1400a6f61
cmp rdx, 1
je 0x1400a71b2
dec rdx
add rax, 2
movzx ecx, word [r10 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400a6f3f
mov r8, r11
cmp rdi, 8
jb 0x1400a6f6d
mov r8, qword [r11]
cmp rbx, 5
jne 0x1400a6fae
lea rax, str.QWORD
movzx ecx, word [r8]
mov edx, 0x51
cmp cx, dx
jb 0x1400a6fae
sub r8, rax
cmp cx, dx
ja 0x1400a6fae
cmp r9, 1
je 0x1400a7255
dec r9
add rax, 2
movzx ecx, word [rax + r8]
movzx edx, word [rax]
cmp cx, dx
jae 0x1400a6f8e
mov r9, r11
cmp rdi, 8
jb 0x1400a6fba
mov r9, qword [r11]
cmp rbx, 3
jne 0x1400a7003
mov rdx, rbx
lea rax, [0x140156a30]
movzx ecx, word [r9]
mov r8d, 0x42
cmp cx, r8w
jb 0x1400a7003
sub r9, rax
cmp cx, r8w
ja 0x1400a7003
cmp rdx, 1
je 0x1400a72d7
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400a6fe1
cmp rdi, 8
jb 0x1400a700c
mov r11, qword [r11]
mov qword [rsp + 0x28], r11
lea rax, str.Unknown_registry_key_type:__s
mov qword [rsp + 0x20], rax
mov r9d, 0xa1
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.14007d3e0
nop
xor al, al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400fb890
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.1400fbe0c
mov rbx, rax
mov qword [rsp + 0x70], rax
cmp qword [r14 + 0x18], 8
jb 0x1400a708c
mov r14, qword [r14]
test r15d, r15d
je 0x1400a70b1
test rbx, rbx
je 0x1400a7176
mov r8, rsi
mov rcx, rbx
test r14, r14
je 0x1400a716f
mov rdx, r14
call fcn.1400fe220
mov rsi, qword [rsp + 0x50]
xor r14d, r14d
mov qword [rsp + 0x68], r14
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x1400a70cd
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 0x1400a73c8
cmp qword [r12 + 0x18], 8
jb 0x1400a711d
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:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.14007d3e0
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400a74bc
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], r14
jmp 0x1400a74bc
xor edx, edx
call fcn.1400fe8d0
call fcn.14010c394
mov dword [rax], 0x16
call fcn.140103210
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:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, edi
call fcn.14007d3e0
jmp 0x1400a74bc
call fcn.14010c394
mov rbx, rax
cmp qword [r14 + 0x18], 8
jb 0x1400a71c4
mov r14, qword [r14]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.14010d9ac
mov esi, eax
cmp r14, qword [rsp + 0x60]
je 0x1400a74d2
cmp dword [rbx], 0x22
je 0x1400a74de
mov edi, 4
mov r15d, edi
mov ecx, edi
call fcn.1400fbe0c
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400a7249
call fcn.14010c394
mov dword [rax], 0x16
call fcn.140103210
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:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.14007d3e0
jmp 0x1400a703c
mov dword [rax], esi
jmp 0x1400a70b1
call fcn.14010c394
mov rbx, rax
cmp qword [r14 + 0x18], 8
jb 0x1400a7267
mov r14, qword [r14]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.14010da60
mov rsi, rax
cmp r14, qword [rsp + 0x60]
je 0x1400a74eb
cmp dword [rbx], 0x22
je 0x1400a74f7
mov edi, 0xb
mov r15d, 8
mov ecx, r15d
call fcn.1400fbe0c
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400a72cf
call fcn.14010c394
mov dword [rax], 0x16
call fcn.140103210
mov r9d, 0x90
jmp 0x1400a7220
mov qword [rax], rsi
jmp 0x1400a70b1
mov rax, qword [r14 + 0x10]
inc rax
shr rax, 1
mov r15d, eax
mov ecx, eax
call fcn.1400fbe0c
mov rbx, rax
mov qword [rsp + 0x70], rax
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x1400a7300
mov r8, qword [r14]
test r8, r8
je 0x1400a7482
xor r9d, r9d
test r15d, r15d
je 0x1400a73be
nop word [rax + rax]
movzx edx, word [r8]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1400a7332
lea ecx, [rdx - 0x30]
jmp 0x1400a734c
lea eax, [rdx - 0x61]
cmp ax, 5
ja 0x1400a7340
lea ecx, [rdx - 0x57]
jmp 0x1400a734c
lea eax, [rdx - 0x41]
cmp ax, 5
ja 0x1400a73b5
lea ecx, [rdx - 0x37]
cmp cl, 0xff
je 0x1400a73b5
movzx edx, word [r8 + 2]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1400a7364
lea eax, [rdx - 0x30]
jmp 0x1400a737e
lea eax, [rdx - 0x61]
cmp ax, 5
ja 0x1400a7372
lea eax, [rdx - 0x57]
jmp 0x1400a737e
lea eax, [rdx - 0x41]
cmp ax, 5
ja 0x1400a739b
lea eax, [rdx - 0x37]
cmp al, 0xff
je 0x1400a739b
and al, 0xf
shl cl, 4
or al, cl
mov byte [r9 + rbx], al
add r8, 4
inc r9
cmp r9, r15
jae 0x1400a73be
jmp 0x1400a7320
test dx, dx
jne 0x1400a7482
shl cl, 4
mov byte [r9 + rbx], cl
mov edi, 3
jmp 0x1400a70b6
test dx, dx
jne 0x1400a7482
mov edi, 3
jmp 0x1400a70b6
mov rdx, r13
cmp qword [r13 + 0x18], 8
jb 0x1400a73d6
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 0x1400a7459
cmp qword [r12 + 0x18], 8
jb 0x1400a7401
mov r12, qword [r12]
cmp qword [r13 + 0x10], 0
jne 0x1400a7411
lea r13, str._Default_
jmp 0x1400a741c
cmp qword [r13 + 0x18], 8
jb 0x1400a741c
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:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.14007d3e0
jmp 0x1400a7151
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400a746e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], r14
test rbx, rbx
je 0x1400a747b
mov rcx, rbx
call fcn.140074f80
mov al, 1
jmp 0x1400a703e
cmp qword [r14 + 0x18], 8
jb 0x1400a748c
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:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.14007d3e0
nop
test rbx, rbx
je 0x1400a703c
mov rcx, rbx
call fcn.140074f80
jmp 0x1400a703c
lea rcx, str.invalid_stoul_argument
call fcn.1400d4220
lea rcx, str.stoul_argument_out_of_range
call fcn.1400d4268
nop
lea rcx, str.invalid_stoull_argument
call fcn.1400d4220
lea rcx, str.stoull_argument_out_of_range
call fcn.1400d4268
int3