Function at 0x1400fb210
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 [0x14039bc30]
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 0x1400fb269
mov r9, qword [r9]
cmp rbx, 3
jne 0x1400fb2b2
mov rdx, rbx
lea rax, [0x1402f76a0]
movzx ecx, word [r9]
mov r8d, 0x53
cmp cx, r8w
jb 0x1400fb2b2
sub r9, rax
cmp cx, r8w
ja 0x1400fb2b2
cmp rdx, 1
je 0x1400fb45e
dec rdx
add rax, 2
movzx ecx, word [r9 + rax]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400fb290
mov r9, r11
cmp rdi, 8
jb 0x1400fb2be
mov r9, qword [r11]
cmp rbx, 3
jne 0x1400fb307
mov rdx, rbx
lea rax, [0x1402f7388]
movzx ecx, word [r9]
mov r8d, 0x4e
cmp cx, r8w
jb 0x1400fb307
sub r9, rax
cmp cx, r8w
ja 0x1400fb307
cmp rdx, 1
je 0x1400fb5b2
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400fb2e5
mov r10, r11
cmp rdi, 8
jb 0x1400fb313
mov r10, qword [r11]
mov r9d, 5
cmp rbx, r9
jne 0x1400fb361
mov edx, r9d
lea rax, str.DWORD
movzx ecx, word [r10]
mov r8d, 0x44
cmp cx, r8w
jb 0x1400fb361
sub r10, rax
cmp cx, r8w
ja 0x1400fb361
cmp rdx, 1
je 0x1400fb5b2
dec rdx
add rax, 2
movzx ecx, word [rax + r10]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400fb33f
mov r8, r11
cmp rdi, 8
jb 0x1400fb36d
mov r8, qword [r11]
cmp rbx, 5
jne 0x1400fb3ae
lea rax, str.QWORD
movzx ecx, word [r8]
mov edx, 0x51
cmp cx, dx
jb 0x1400fb3ae
sub r8, rax
cmp cx, dx
ja 0x1400fb3ae
cmp r9, 1
je 0x1400fb655
dec r9
add rax, 2
movzx ecx, word [rax + r8]
movzx edx, word [rax]
cmp cx, dx
jae 0x1400fb38e
mov r9, r11
cmp rdi, 8
jb 0x1400fb3ba
mov r9, qword [r11]
cmp rbx, 3
jne 0x1400fb403
mov rdx, rbx
lea rax, [0x1402f91d0]
movzx ecx, word [r9]
mov r8d, 0x42
cmp cx, r8w
jb 0x1400fb403
sub r9, rax
cmp cx, r8w
ja 0x1400fb403
cmp rdx, 1
je 0x1400fb6d7
dec rdx
add rax, 2
movzx ecx, word [rax + r9]
movzx r8d, word [rax]
cmp cx, r8w
jae 0x1400fb3e1
cmp rdi, 8
jb 0x1400fb40c
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:BT71e4c9fa_1978_4386_a3da_49ea31fa22b7WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.1400da630
nop
xor al, al
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14013af80
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.14013b750
mov rbx, rax
mov qword [rsp + 0x70], rax
cmp qword [r14 + 0x18], 8
jb 0x1400fb48c
mov r14, qword [r14]
test r15d, r15d
je 0x1400fb4b1
test rbx, rbx
je 0x1400fb576
mov r8, rsi
mov rcx, rbx
test r14, r14
je 0x1400fb56f
mov rdx, r14
call fcn.14013d0f0
mov rsi, qword [rsp + 0x50]
xor r14d, r14d
mov qword [rsp + 0x68], r14
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x1400fb4cd
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 0x1400fb7c8
cmp qword [r12 + 0x18], 8
jb 0x1400fb51d
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:BT71e4c9fa_1978_4386_a3da_49ea31fa22b7WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.1400da630
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400fb8bc
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], r14
jmp 0x1400fb8bc
xor edx, edx
call fcn.14013d7a0
call fcn.1401484c0
mov dword [rax], 0x16
call fcn.1401421b8
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:BT71e4c9fa_1978_4386_a3da_49ea31fa22b7WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, edi
call fcn.1400da630
jmp 0x1400fb8bc
call fcn.1401484c0
mov rbx, rax
cmp qword [r14 + 0x18], 8
jb 0x1400fb5c4
mov r14, qword [r14]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.140149a38
mov esi, eax
cmp r14, qword [rsp + 0x60]
je 0x1400fb8d2
cmp dword [rbx], 0x22
je 0x1400fb8de
mov edi, 4
mov r15d, edi
mov ecx, edi
call fcn.14013b750
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400fb649
call fcn.1401484c0
mov dword [rax], 0x16
call fcn.1401421b8
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:BT71e4c9fa_1978_4386_a3da_49ea31fa22b7WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.1400da630
jmp 0x1400fb43c
mov dword [rax], esi
jmp 0x1400fb4b1
call fcn.1401484c0
mov rbx, rax
cmp qword [r14 + 0x18], 8
jb 0x1400fb667
mov r14, qword [r14]
mov dword [rax], r15d
mov r8d, 0xa
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.140149aec
mov rsi, rax
cmp r14, qword [rsp + 0x60]
je 0x1400fb8eb
cmp dword [rbx], 0x22
je 0x1400fb8f7
mov edi, 0xb
mov r15d, 8
mov ecx, r15d
call fcn.14013b750
mov rbx, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400fb6cf
call fcn.1401484c0
mov dword [rax], 0x16
call fcn.1401421b8
mov r9d, 0x90
jmp 0x1400fb620
mov qword [rax], rsi
jmp 0x1400fb4b1
mov rax, qword [r14 + 0x10]
inc rax
shr rax, 1
mov r15d, eax
mov ecx, eax
call fcn.14013b750
mov rbx, rax
mov qword [rsp + 0x70], rax
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x1400fb700
mov r8, qword [r14]
test r8, r8
je 0x1400fb882
xor r9d, r9d
test r15d, r15d
je 0x1400fb7be
nop word [rax + rax]
movzx edx, word [r8]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1400fb732
lea ecx, [rdx - 0x30]
jmp 0x1400fb74c
lea eax, [rdx - 0x61]
cmp ax, 5
ja 0x1400fb740
lea ecx, [rdx - 0x57]
jmp 0x1400fb74c
lea eax, [rdx - 0x41]
cmp ax, 5
ja 0x1400fb7b5
lea ecx, [rdx - 0x37]
cmp cl, 0xff
je 0x1400fb7b5
movzx edx, word [r8 + 2]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1400fb764
lea eax, [rdx - 0x30]
jmp 0x1400fb77e
lea eax, [rdx - 0x61]
cmp ax, 5
ja 0x1400fb772
lea eax, [rdx - 0x57]
jmp 0x1400fb77e
lea eax, [rdx - 0x41]
cmp ax, 5
ja 0x1400fb79b
lea eax, [rdx - 0x37]
cmp al, 0xff
je 0x1400fb79b
and al, 0xf
shl cl, 4
or al, cl
mov byte [r9 + rbx], al
add r8, 4
inc r9
cmp r9, r15
jae 0x1400fb7be
jmp 0x1400fb720
test dx, dx
jne 0x1400fb882
shl cl, 4
mov byte [r9 + rbx], cl
mov edi, 3
jmp 0x1400fb4b6
test dx, dx
jne 0x1400fb882
mov edi, 3
jmp 0x1400fb4b6
mov rdx, r13
cmp qword [r13 + 0x18], 8
jb 0x1400fb7d6
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 0x1400fb859
cmp qword [r12 + 0x18], 8
jb 0x1400fb801
mov r12, qword [r12]
cmp qword [r13 + 0x10], 0
jne 0x1400fb811
lea r13, str._Default_
jmp 0x1400fb81c
cmp qword [r13 + 0x18], 8
jb 0x1400fb81c
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, 0xb3
lea r8, str.XMLUpdater::v2::SetRegistryKey
lea rdx, str.E:BT71e4c9fa_1978_4386_a3da_49ea31fa22b7WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.1400da630
jmp 0x1400fb551
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400fb86e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x68], r14
test rbx, rbx
je 0x1400fb87b
mov rcx, rbx
call fcn.14013afa0
mov al, 1
jmp 0x1400fb43e
cmp qword [r14 + 0x18], 8
jb 0x1400fb88c
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:BT71e4c9fa_1978_4386_a3da_49ea31fa22b7WebAdvisor_XmlUpdater_srcXmlUpdaterRegistryCommand.cpp
mov ecx, 1
call fcn.1400da630
nop
test rbx, rbx
je 0x1400fb43c
mov rcx, rbx
call fcn.14013afa0
jmp 0x1400fb43c
lea rcx, str.invalid_stoul_argument
call fcn.140113790
lea rcx, str.stoul_argument_out_of_range
call fcn.1401137d8
nop
lea rcx, str.invalid_stoull_argument
call fcn.140113790
lea rcx, str.stoull_argument_out_of_range
call fcn.1401137d8
int3