Function at 0x10005940
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
lea eax, [esp + 0x10]
mov dword [esp + 0xc], 0
push eax
lea eax, [esp + 0x10]
mov dword [esp + 0x14], 0
push eax
mov eax, dword [ecx + 0x20c]
xor bl, bl
push 0
or eax, 0x20006
push eax
push 0
push 0
push 0
lea eax, [ecx + 4]
push eax
push dword [ecx]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x10005a69
mov esi, dword [0x101b7488]
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
test esi, esi
jne 0x100059e5
push 0x124
call fcn.1000da7d
add esp, 4
mov esi, eax
mov dword [esp + 0x14], esi
push 0x104
lea eax, [esi + 4]
mov dword [esi], 0
push 0
push eax
mov dword [esi + 0x108], 0xffffffff
call fcn.100106a0
add esp, 0xc
lea eax, [esi + 0x10c]
push eax
call edi
mov dword [0x101b7488], esi
push str.error_RegCreateKeyEx
push 0
push str.CBaseReg::SetValue
push str.................utilitycompany_liboutincludecommon_base_reg.cpp
push 0x54
push esi
call fcn.10002fc0
mov esi, dword [0x101b7488]
add esp, 0x18
test esi, esi
jne 0x10005a50
push 0x124
call fcn.1000da7d
add esp, 4
mov esi, eax
mov dword [esp + 0x14], esi
push 0x104
lea eax, [esi + 4]
mov dword [esi], 0
push 0
push eax
mov dword [esi + 0x108], 0xffffffff
call fcn.100106a0
add esp, 0xc
lea eax, [esi + 0x10c]
push eax
call edi
mov dword [0x101b7488], esi
push str.CBaseReg::SetValue
push str.................utilitycompany_liboutincludecommon_base_reg.cpp
push 0x54
push ecx
mov ecx, esi
call fcn.100033f0
jmp 0x10005b8c
mov esi, dword [ebp + 8]
test esi, esi
je 0x10005b8a
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0
push esi
push dword [esp + 0x20]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
je 0x10005b68
mov esi, dword [0x101b7488]
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
test esi, esi
jne 0x10005ae7
push 0x124
call fcn.1000da7d
add esp, 4
mov esi, eax
mov dword [esp + 0x14], esi
push 0x104
lea eax, [esi + 4]
mov dword [esi], 0
push 0
push eax
mov dword [esi + 0x108], 0xffffffff
call fcn.100106a0
add esp, 0xc
lea eax, [esi + 0x10c]
push eax
call edi
mov dword [0x101b7488], esi
push str.error_RegSetValueEx
push 0
push str.CBaseReg::SetValue
push str.................utilitycompany_liboutincludecommon_base_reg.cpp
push 0x62
push esi
call fcn.10002fc0
mov esi, dword [0x101b7488]
add esp, 0x18
test esi, esi
jne 0x10005b52
push 0x124
call fcn.1000da7d
add esp, 4
mov esi, eax
mov dword [esp + 0x14], esi
push 0x104
lea eax, [esi + 4]
mov dword [esi], 0
push 0
push eax
mov dword [esi + 0x108], 0xffffffff
call fcn.100106a0
add esp, 0xc
lea eax, [esi + 0x10c]
push eax
call edi
mov dword [0x101b7488], esi
push str.CBaseReg::SetValue
push str.................utilitycompany_liboutincludecommon_base_reg.cpp
push 0x62
push ecx
mov ecx, esi
call fcn.100033f0
jmp 0x10005b8c
push esi
push str.SetValue__S__SUCESS.
push 0
push str.CBaseReg::SetValue
push str.................utilitycompany_liboutincludecommon_base_reg.cpp
push 0x65
call fcn.10002d70
push eax
call fcn.10002fc0
add esp, 0x1c
mov bl, 1
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x10005ba5
push ecx
call dword [sym.imp.ADVAPI32.dll_RegFlushKey]
push dword [esp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0x10