Function at 0x4472a4
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 dword [esp + 0x14], ebx
jb 0x447300
mov ecx, dword [esi]
jmp 0x447302
mov ecx, esi
push ebx
lea edx, [esp + 0x18]
push edx
push ebx
push 0x20006
push ebx
push ebx
push ebx
push ecx
push dword [eax]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x447490
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 0x19
push str.CRegCommon::WriteRegValue
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 0xa8
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 0x447624
cmp dword [edi + 0x14], 8
mov eax, dword [edi + 0x10]
jb 0x44749d
mov edx, dword [edi]
jmp 0x44749f
mov edx, edi
mov edi, dword [esp + 0x18]
cmp dword [edi + 0x14], 8
jb 0x4474ad
mov ecx, dword [edi]
jmp 0x4474af
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 0x447622
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 0x19
push str.CRegCommon::WriteRegValue
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 0xb0
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 0x447465
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 8