Function at 0x41a3a6
Capabilities:
Set registry value

Disassembly:
mov eax, 0x4cad5b
call fcn.004bf1dc
sub esp, 0x4d8
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0x1d]
lea ecx, [ebp - 0x54]
push eax
mov byte [ebp - 4], 2
call fcn.0041dbef
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
lea eax, [ebp - 0x1f]
lea ecx, [ebp - 0x84]
push eax
mov byte [ebp - 4], 3
call fcn.0041dbef
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
lea eax, [ebp - 0x1e]
lea ecx, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 4
call fcn.0041dbef
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 5
call fcn.0041dbef
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______Called._n
push 0x503ff0
mov byte [ebp - 4], 6
call fcn.00423100
pop ecx
pop ecx
push 0x2157
lea ecx, [ebp - 0x54]
call fcn.0041a16a
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, str.__s____d__in___s_
test eax, eax
jne 0x41a46f
push str.NMSSvc.cpp
push 0x169
push str.TSCompStr.LoadString_IDS_REG_TERMINAL_SERVER_COMPATABILITY_
lea eax, [ebp - 0x4e4]
push edi
push eax
call esi
add esp, 0x14
push 0x215a
lea ecx, [ebp - 0x84]
call fcn.0041a16a
test eax, eax
jne 0x41a49f
push str.NMSSvc.cpp
push 0x16a
push str.ClsidStr.LoadString_IDS_REG_CLSID_
lea eax, [ebp - 0x4e4]
push edi
push eax
call esi
add esp, 0x14
push 0x2159
lea ecx, [ebp - 0x6c]
call fcn.0041a16a
test eax, eax
jne 0x41a4cc
push str.NMSSvc.cpp
push 0x16b
push str.fSystemStr.LoadString_IDS_REG_FSYSTEMGLOBALCLASS_
lea eax, [ebp - 0x4e4]
push edi
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0xd4]
push 0x27
push eax
push 0x4d6b20
call dword [sym.imp.ole32.dll_StringFromGUID2]
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x3c]
push eax
call fcn.0041a73b
mov eax, dword [ebp - 0x50]
cmp eax, ebx
jne 0x41a4fb
mov eax, 0x4d68e8
push eax
mov edi, 0x503ff0
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______Opening_Registry_Terminal_Server_compatability___s_._n
push edi
call fcn.00423100
mov eax, dword [ebp - 0x50]
add esp, 0xc
cmp eax, ebx
jne 0x41a51b
mov eax, 0x4d68e8
lea ecx, [ebp - 0x10]
mov esi, 0xf003f
push ecx
push esi
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x10], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x41a6ae
lea ecx, [ebp - 0x18]
call fcn.0041a724
mov ecx, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x18], ecx
jne 0x41a6ae
mov eax, dword [ebp - 0x80]
cmp eax, ebx
jne 0x41a55f
mov eax, 0x4d68e8
push eax
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______Creating_Registry_CLSID.__s__n
push edi
call fcn.00423100
mov eax, dword [ebp - 0x80]
add esp, 0xc
cmp eax, ebx
jne 0x41a57a
mov eax, 0x4d68e8
lea ecx, [ebp - 0x24]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
push ecx
lea ecx, [ebp - 0x10]
push ecx
push ebx
push esi
push ebx
push ebx
push ebx
push eax
mov dword [ebp - 0x10], ebx
push dword [ebp - 0x18]
call edi
cmp eax, ebx
jne 0x41a6a1
lea ecx, [ebp - 0x14]
call fcn.0041a724
mov ecx, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x14], ecx
jne 0x41a6a1
mov eax, dword [ebp - 0x38]
cmp eax, ebx
jne 0x41a5c0
mov eax, 0x4d68e8
push eax
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______Creating_Registry_NMS_Class_ID___s_._n
push 0x503ff0
call fcn.00423100
mov eax, dword [ebp - 0x38]
add esp, 0xc
cmp eax, ebx
jne 0x41a5df
mov eax, 0x4d68e8
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x10], ebx
push ecx
lea ecx, [ebp - 0x10]
push ecx
push ebx
push esi
push ebx
push ebx
push ebx
push eax
push dword [ebp - 0x14]
call edi
cmp eax, ebx
jne 0x41a699
lea ecx, [ebp - 0x1c]
call fcn.0041a724
mov ecx, dword [ebp - 0x10]
cmp eax, ebx
mov dword [ebp - 0x1c], ecx
jne 0x41a699
mov eax, dword [ebp - 0x68]
cmp eax, ebx
jne 0x41a61f
mov eax, 0x4d68e8
push eax
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______SetValue_Registry_NMS_Class_ID___s_._n
push 0x503ff0
call fcn.00423100
mov eax, dword [ebp - 0x68]
add esp, 0xc
cmp eax, ebx
jne 0x41a63e
mov eax, 0x4d68e8
push 1
lea ecx, [ebp - 0x10]
pop edi
push 4
push ecx
push 4
push ebx
push eax
mov dword [ebp - 0x10], edi
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp dword [ebp - 0x1c], ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x41a66a
push dword [ebp - 0x1c]
call esi
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x14], ebx
je 0x41a677
push dword [ebp - 0x14]
call esi
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x18], ebx
je 0x41a684
push dword [ebp - 0x18]
call esi
mov dword [ebp - 0x18], ebx
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______Success._n
push 0x503ff0
call fcn.00423100
pop ecx
mov esi, edi
pop ecx
jmp 0x41a6bd
lea ecx, [ebp - 0x14]
call fcn.0041a724
lea ecx, [ebp - 0x18]
call fcn.0041a724
mov edi, 0x503ff0
push str.CServiceModule::SetNT4DCOMClientCreationWorkaround______Failure._n
push edi
call fcn.00423100
pop ecx
xor esi, esi
pop ecx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 5
call fcn.00405d6e
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.00405d6e
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 3
call fcn.00405d6e
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 2
call fcn.00405d6e
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.0041a724
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call fcn.0041a724
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0041a724
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret