Function at 0x438b70
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x8d0]
sub rsp, 0x9d0
mov rax, qword [0x004fb010]
xor rax, rsp
mov qword [rbp + 0x8c0], rax
mov r13, r9
mov r9d, r8d
mov esi, edx
mov dword [rsp + 0x78], edx
mov r15, rcx
mov qword [rbp - 0x80], rcx
movsxd rdx, dword [rbp + 0x930]
mov ecx, r8d
mov r14d, 1
sub ecx, 0x18
je 0x439ed0
sub ecx, 2
je 0x439ed0
sub ecx, r14d
je 0x43962a
sub ecx, r14d
je 0x438d70
cmp ecx, 0x48
jne 0x439ea4
lea edx, [rcx + 0x34]
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea r12, [0x004c1550]
lea rdx, [r12 + rax*2]
lea r9, str._ServiceCommandHandlerInternal__Request_to_check_if_live_update_is_supported
lea ecx, [r14 + 3]
mov r8d, 0x24e
call fcn.0044a600
mov ebx, r14d
xor edi, edi
cmp byte [0x005022c5], dil
je 0x438cc5
lea edx, [rdi + 0x7c]
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea rdx, [r12 + rax*2]
lea r9, str.Detect_ASUS_System_Control_Interface_v2_v3.
mov r8d, 0x255
mov ecx, r14d
call fcn.0044a600
lea rdx, [rbp + 0x38]
mov ecx, 0x130014
call fcn.00402520
test al, al
je 0x438cf8
test dword [rbp + 0x38], 0x10000
je 0x438cf8
call fcn.00434640
lea edx, [rdi + 0x7c]
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
test al, al
je 0x438ca3
call fcn.004036d0
lea r9, str.OP_MB_product_mini_PC.
lea ecx, [rdi + 4]
mov r8d, 0x25d
jmp 0x438cef
call fcn.004036d0
lea rdx, [r12 + rax*2]
lea r9, str.OP_MB_does_not_support_liveupdate.
mov r8d, 0x260
mov ecx, r14d
call fcn.0044a600
mov ebx, edi
jmp 0x438cf8
cmp byte [0x005022c7], dil
je 0x438cf8
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea r9, str.Detect_ASUS_System_Control_Interface_v1.
mov r8d, 0x266
mov ecx, r14d
lea rdx, [r12 + rax*2]
call fcn.0044a600
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
movzx ecx, byte [0x005022c5]
movzx r8d, byte [0x005022c7]
lea rdx, [r12 + rax*2]
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ebx
lea r9, str.bLiveUpdateSupported_d__bHWID1000_exist_d__bHWID2018_exist_d
mov r8d, 0x269
mov ecx, r14d
call fcn.0044a600
mov byte [rbp + 0x30], bl
mov eax, ebx
shr eax, 8
mov byte [rbp + 0x31], al
mov eax, ebx
shr eax, 0x10
mov byte [rbp + 0x32], al
shr ebx, 0x18
mov byte [rbp + 0x33], bl
mov eax, dword [rbp + 0x940]
mov dword [rsp + 0x28], eax
mov r9d, 4
lea r8, [rbp + 0x30]
jmp 0x439eff
xor r15b, r15b
movzx ecx, byte [rdx + r13 - 1]
mov byte [rsp + 0x50], cl
movzx edi, byte [r13]
mov dword [rbp + 0x30], edi
movsxd rax, edi
inc rax
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.00479588
mov rbx, rax
lea r8, [r13 + 1]
mov r9d, edi
mov edx, edi
mov rcx, rax
call fcn.004268d0
mov byte [rdi + rbx], r15b
xor edi, edi
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], SafeArrayGetDim
mov byte [rbp + 0x80], dil
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], dil
jne 0x438de0
mov rdx, rbx
lea rcx, [rbp + 0x80]
call sym.AsusSoftwareManager.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov rcx, rbx
call fcn.00479330
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x40]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.00456dc0
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x438e38
mov rbx, qword [rax]
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea r12, [0x004c1550]
lea rdx, [r12 + rax*2]
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea r9, str._ServiceCommandHandlerInternal__WriteRegistry__path:_s__length:_d
mov ecx, 4
mov r8d, 0x214
call fcn.0044a600
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x438ebd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x438eb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x438eb8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x40]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xa0]
call fcn.00456f10
nop
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xa0]
sub rcx, rax
and rcx, 0xffffffffffffffe0
lea rdx, [rax - 0x20]
add rdx, rcx
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x78], rdi
lea rcx, [rbp + 0x60]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
nop
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x40]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x80]
call fcn.004570e0
movsxd rax, dword [rbp + 0x30]
movzx ebx, byte [rax + r13 + 2]
shl ebx, 8
mov rax, qword [rbp + 0x28]
movzx eax, byte [rax + r13]
add ebx, eax
mov dword [rbp + 0x38], ebx
movzx eax, byte [rsp + 0x50]
cmp al, 4
jne 0x43915f
mov ecx, ebx
call fcn.00479588
mov rsi, rax
movsxd r8, dword [rbp + 0x30]
add r8, 3
add r8, r13
mov r9d, ebx
mov edx, ebx
mov rcx, rax
call fcn.004268d0
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x40]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.00456dc0
mov rbx, rax
mov qword [rbp - 0x18], rdi
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x18]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 8]
call fcn.00456dc0
mov rdx, rax
cmp qword [rbx + 0x18], 8
jb 0x439002
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x43900c
mov rdx, qword [rax]
mov eax, dword [rsi]
mov dword [rbp + 0x30], eax
mov r15d, edi
mov qword [rsp + 0x40], rdi
lea rax, [rbp + 0x28]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x20106
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
test eax, eax
jne 0x439081
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
cmove r15d, r14d
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x4390c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4390bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4390bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], 7
mov word [rbp + 8], di
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x439119
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439114
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439114
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea rdx, [r12 + rax*2]
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi]
mov dword [rsp + 0x20], eax
lea r9, str._ServiceCommandHandlerInternal__WriteRegistry_DWORD__value:_d__length:_d
mov ecx, 4
mov r8d, 0x22a
call fcn.0044a600
mov rcx, rsi
call fcn.00479330
jmp 0x4394d0
cmp al, 1
jne 0x4394d0
mov ecx, ebx
inc rcx
call fcn.00479588
mov r15, rax
movsxd r8, dword [rbp + 0x30]
add r8, 3
add r8, r13
mov r9, rbx
mov rdx, rbx
mov rcx, rax
call fcn.004268d0
mov byte [r15 + rbx], 0
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x58], SafeArrayGetDim
mov byte [rbp + 0x40], 0
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [r15 + r8], 0
jne 0x4391b0
mov rdx, r15
lea rcx, [rbp + 0x40]
call sym.AsusSoftwareManager.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov qword [rbp + 8], rdi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rdi
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 8]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x38]
call fcn.00456dc0
mov rbx, rax
mov qword [rbp - 0x18], rdi
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x18]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x58]
call fcn.00456dc0
mov r13, rax
mov qword [rbp + 0x28], rax
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rbp - 0x78]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x58]
call fcn.00456dc0
cmp qword [rbx + 0x18], 8
jb 0x439251
mov rbx, qword [rbx]
cmp qword [r13 + 0x18], 8
jb 0x439260
mov r13, qword [r13]
mov qword [rbp + 0x28], r13
cmp qword [rax + 0x18], 8
jb 0x43926a
mov rax, qword [rax]
mov r13d, edi
mov qword [rsp + 0x40], rdi
lea rcx, [rbp + 0x30]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x20106
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
test eax, eax
jne 0x4392df
inc rsi
cmp word [rbx + rsi*2], r13w
jne 0x4392a6
add esi, esi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
mov r9d, r14d
xor r8d, r8d
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
test eax, eax
cmove r13d, r14d
mov rcx, qword [rbp + 0x30]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x439322
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x43931d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x43931d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], di
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x439377
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439372
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439372
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], di
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x4393cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4393c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4393c8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rdx, [rbp + 0x40]
lea rcx, [rsp + 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x38]
call fcn.00456dc0
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x439405
mov rbx, qword [rax]
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea rdx, [r12 + rax*2]
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea r9, str._ServiceCommandHandlerInternal__WriteRegistry_STRING__value:_s__length:_d
mov ecx, 4
mov r8d, 0x23d
call fcn.0044a600
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x439481
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x43947c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x43947c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov rcx, r15
call fcn.00479330
nop
movzx r15d, r13b
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x4394d0
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4394c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4394c7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
movzx r15d, r13b
mov byte [rsp + 0x50], r15b
mov eax, dword [rbp + 0x940]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov r9d, r14d
lea r8, [rsp + 0x50]
mov edx, dword [rsp + 0x78]
mov rcx, qword [rbp - 0x80]
call fcn.0043b880
nop
mov rdx, qword [rbp + 0x78]
test al, al
je 0x439597
cmp rdx, 0x10
jb 0x43953d
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439537
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x4395c5
call fcn.00479330
nop
lea rcx, [rbp + 0xa0]
call fcn.004350b0
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x439f11
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x43958a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x439623
call fcn.00479330
mov eax, r14d
jmp 0x439ea6
cmp rdx, 0x10
jb 0x4395d2
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4395cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4395cc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
lea rcx, [rbp + 0xa0]
call fcn.004350b0
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x439ea4
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439e9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439e9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea r8, [rdx - 1]
movzx esi, byte [r8 + r13]
xor edi, edi
mov qword [rbp + 0x60], rdi
mov qword [rbp + 0x70], rdi
mov qword [rbp + 0x78], SafeArrayGetDim
mov byte [rbp + 0x60], dil
mov rdx, r13
lea rcx, [rbp + 0x60]
call sym.AsusSoftwareManager.exe_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______ptr64___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const__const___ptr64__unsigned_long_long_unsigned___int64_____ptr64
nop
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x38]
call fcn.00456dc0
mov rbx, rax
cmp qword [rax + 0x18], 8
jb 0x43968e
mov rbx, qword [rax]
mov edx, 0x7c
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea r12, [0x004c1550]
lea rdx, [r12 + rax*2]
mov qword [rsp + 0x20], rbx
lea r9, str._ServiceCommandHandlerInternal__ReadRegistry_path:_s
mov ecx, 4
mov r8d, 0x1b9
call fcn.0044a600
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x43970a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439705
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439705
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], rax
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rsp + 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xa0]
call fcn.00456f10
nop
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xa0]
sub rcx, rax
and rcx, 0xffffffffffffffe0
lea rdx, [rax - 0x20]
add rdx, rcx
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], rdi
lea rcx, [rbp + 0x80]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
nop
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x60]
call fcn.004570e0
cmp sil, 4
jne 0x439a5d
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x38]
call fcn.00456dc0
mov rbx, rax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x78]
call fcn.00456dc0
cmp qword [rbx + 0x18], 8
jb 0x439823
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x43982d
mov rax, qword [rax]
mov esi, edi
mov dword [rbp + 0x30], 4
lea rcx, [rbp + 0x28]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20119
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x439897
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov r14d, 1
test eax, eax
cmove esi, r14d
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x4398da
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x4398d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x4398d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], di
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x43992d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439928
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439928
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov eax, 6
test esi, esi
cmove edi, eax
lea edx, [rax + 0x76]
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea rdx, [r12 + rax*2]
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x20], eax
lea r9, str._ServiceCommandHandlerInternal__ReadRegistry_DWORD__value:_d
mov ecx, 4
mov r8d, 0x1cb
call fcn.0044a600
mov ecx, 4
call fcn.00479588
mov rsi, rax
xor eax, eax
mov dword [rsi], eax
test rsi, rsi
jne 0x439992
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
jmp 0x439997
mov eax, dword [rbp + 0x38]
mov dword [rsi], eax
mov eax, dword [rbp + 0x940]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov r9d, 4
mov r8, rsi
mov edx, dword [rsp + 0x78]
mov rcx, r15
call fcn.0043b880
movzx ebx, al
mov rcx, rsi
call fcn.00479330
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x439a0b
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439a05
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439a05
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
lea rcx, [rbp + 0xa0]
call fcn.004350b0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x439a56
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439a51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439a51
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov eax, ebx
jmp 0x439ea6
cmp sil, 1
jne 0x439d57
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0xc0]
call fcn.004a2370
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x38]
call fcn.00456dc0
mov rbx, rax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x58]
call sym.AsusSoftwareManager.exe_private:_void___cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Construct_lv_contents_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64____ptr64
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x78]
call fcn.00456dc0
cmp qword [rbx + 0x18], 8
jb 0x439adc
mov rbx, qword [rbx]
cmp qword [rax + 0x18], 8
jb 0x439ae6
mov rax, qword [rax]
mov esi, edi
mov dword [rbp + 0x38], 0x400
lea rcx, [rbp + 0x28]
mov qword [rsp + 0x20], rcx
mov r9d, 0x20119
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x439b53
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov r14d, 1
test eax, eax
cmove esi, r14d
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x439b96
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439b91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439b91
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], di
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x439be9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439be4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439be4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
mov eax, 6
test esi, esi
cmove edi, eax
lea edx, [rax + 0x76]
lea rcx, str.C:Usersjk_kanDesktopGerritSWMgrAsusSoftwareManagerAsusSoftwareManagerGiftBoxServiceGiftBoxServiceCommandHandler.cpp
call fcn.004036d0
lea rdx, [r12 + rax*2]
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, str._ServiceCommandHandlerInternal__ReadRegistry_STRING__value:_s
mov ecx, 4
mov r8d, 0x1e8
call fcn.0044a600
lea rax, [rbp + 0xc0]
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x439c40
add esi, esi
mov ebx, esi
mov ecx, esi
call fcn.00479588
mov r14, rax
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.004a2370
test esi, esi
je 0x439c94
test r14, r14
jne 0x439c82
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
jmp 0x439c94
mov r8, rbx
lea rdx, [rbp + 0xc0]
mov rcx, r14
call fcn.004a2610
mov eax, dword [rbp + 0x940]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8, r14
mov edx, dword [rsp + 0x78]
mov rcx, r15
call fcn.0043b880
movzx ebx, al
mov rcx, r14
call fcn.00479330
nop
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x439d05
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439cff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439cff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
lea rcx, [rbp + 0xa0]
call fcn.004350b0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x439a56
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439a51
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439a51
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov eax, dword [rbp + 0x940]
mov dword [rsp + 0x28], eax
mov eax, 6
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x78]
mov rcx, r15
call fcn.0043b880
nop
mov rdx, qword [rbp + 0x98]
test al, al
je 0x439e1b
cmp rdx, 0x10
jb 0x439dc7
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439dc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x439e4c
call fcn.00479330
nop
lea rcx, [rbp + 0xa0]
call fcn.004350b0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x439f11
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439e0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x439e98
call fcn.00479330
mov eax, r14d
jmp 0x439ea6
cmp rdx, 0x10
jb 0x439e59
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439e53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439e53
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
nop
lea rcx, [rbp + 0xa0]
call fcn.004350b0
nop
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x439ea4
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x439e9f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x439e9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.00479330
xor eax, eax
mov rcx, qword [rbp + 0x8c0]
xor rcx, rsp
call fcn.00479310
mov rbx, qword [rsp + 0xa20]
add rsp, 0x9d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov byte [rsp + 0x50], 0
lea r8, [rsp + 0x50]
mov edx, r9d
call fcn.00436530
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x50], al
mov ecx, dword [rbp + 0x940]
mov dword [rsp + 0x28], ecx
xor edi, edi
mov r9d, r14d
lea r8, [rsp + 0x50]
mov dword [rsp + 0x20], edi
mov edx, esi
mov rcx, r15
call fcn.0043b880
test al, al
je 0x439ea4
mov eax, r14d
jmp 0x439ea6