Function at 0x44764a
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46cf47
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x48b370]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push esi
push edi
mov eax, dword [0x48b370]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, edx
xor ebx, ebx
cmp dword [esi + 0x14], 8
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], ebx
jb 0x4476ad
mov edx, dword [esi]
mov dword [esp + 0x10], edx
jmp 0x4476b1
mov dword [esp + 0x10], esi
mov ecx, dword [ecx]
push ebx
lea edx, [esp + 0x18]
push edx
push ebx
or ecx, 0x20006
push ecx
push ebx
push ebx
push ebx
push dword [esp + 0x2c]
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x447846
lea eax, [esp + 0x1c]
push eax
call fcn.00402ec2
mov dword [esp + 0x118], ebx
push str.__strKeyName:
push ecx
push str.._strSubKey:
push ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
lea eax, [esp + 0x34]
push str.RegCreateKeyEx_Failed._GetLastError:
push eax
call fcn.004064bf
add esp, 0xc
push eax
call fcn.0042aa60
pop ecx
push eax
call fcn.004064bf
push eax
mov ecx, esi
call fcn.0040632c
add esp, 0x10
push eax
call fcn.004064bf
mov ecx, dword [esp + 0x20]
push eax
call fcn.0040632c
add esp, 0xc
push 0xf
pop esi
push 0x1b
push str.CRegCommon::WriteRegValueEx
lea ecx, [esp + 0xd8]
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], ebx
mov byte [esp + 0xd8], bl
call fcn.00403e19
mov byte [esp + 0x118], 1
push 0x14
push str.commonRegCommon.cpp
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xbc], bl
call fcn.00403e19
mov byte [esp + 0x118], 2
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x20]
call fcn.00402f86
mov byte [esp + 0x118], 3
push eax
lea eax, [esp + 0xd4]
push eax
push 0xbd
lea eax, [esp + 0xc0]
push eax
push ebx
push ecx
call fcn.00439dc3
pop ecx
push eax
call fcn.0043a160
mov byte [esp + 0x118], 2
push 1
xor edi, edi
lea esi, [esp + 0xf0]
call fcn.004041e3
mov byte [esp + 0x118], 1
push ebx
push 1
lea ecx, [esp + 0xbc]
call fcn.00403eaf
mov byte [esp + 0x118], bl
lea ecx, [esp + 0xd0]
push ebx
push 1
call fcn.00403eaf
or dword [esp + 0x118], 0xffffffff
lea ecx, [esp + 0x6c]
call fcn.00402f43
lea ecx, [esp + 0x6c]
call fcn.004029cc
mov eax, dword [esp + 0x10]
jmp 0x4479da
cmp dword [edi + 0x14], 8
mov eax, dword [edi + 0x10]
jb 0x447853
mov edx, dword [edi]
jmp 0x447855
mov edx, edi
mov edi, dword [esp + 0x18]
cmp dword [edi + 0x14], 8
jb 0x447863
mov ecx, dword [edi]
jmp 0x447865
mov ecx, edi
lea eax, [eax + eax + 2]
push eax
push edx
push 1
push ebx
push ecx
push dword [esp + 0x28]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [esp + 0x14]
mov dword [esp + 0x14], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esp + 0x10], ebx
je 0x4479d8
lea eax, [esp + 0x1c]
push eax
call fcn.00402ec2
mov dword [esp + 0x118], 4
push str.__strKeyName:
push ecx
push str.._strSubKey:
push ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
lea eax, [esp + 0x34]
push str.RegSetValueEx_Failed._GetLastError:
push eax
call fcn.004064bf
add esp, 0xc
push eax
call fcn.0042aa60
pop ecx
push eax
call fcn.004064bf
push eax
mov ecx, esi
call fcn.0040632c
add esp, 0x10
push eax
call fcn.004064bf
push eax
mov ecx, edi
call fcn.0040632c
add esp, 0xc
push 0xf
pop esi
push 0x1b
push str.CRegCommon::WriteRegValueEx
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xbc], bl
call fcn.00403e19
mov byte [esp + 0x118], 5
push 0x14
push str.commonRegCommon.cpp
lea ecx, [esp + 0xd8]
mov dword [esp + 0xec], esi
mov dword [esp + 0xe8], ebx
mov byte [esp + 0xd8], bl
call fcn.00403e19
mov byte [esp + 0x118], 6
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x20]
call fcn.00402f86
mov byte [esp + 0x118], 7
push eax
lea eax, [esp + 0xb8]
push eax
push 0xc5
lea eax, [esp + 0xdc]
push eax
push ebx
push ecx
call fcn.00439dc3
pop ecx
push eax
call fcn.0043a160
mov byte [esp + 0x118], 6
push 1
xor edi, edi
lea esi, [esp + 0xf0]
call fcn.004041e3
mov byte [esp + 0x118], 5
push ebx
push 1
lea ecx, [esp + 0xd8]
call fcn.00403eaf
mov byte [esp + 0x118], 4
lea ecx, [esp + 0xb4]
jmp 0x44781b
xor eax, eax
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf8]
xor ecx, esp
call fcn.0044cdc7
mov esp, ebp
pop ebp
ret 0xc