Function at 0x40e230
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0x10], ecx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 8]
push ecx
push 0
push 3
push 0
push 0
push 0
push str.SoftwarePkLongUniKey
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x40e26b
xor eax, eax
jmp 0x40e462
push 4
mov edx, dword [ebp - 0x10]
push edx
push 4
push 0
push str.ShowDlg
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 4
push ecx
push 4
push 0
push str.Vietnamese
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov eax, dword [ebp - 0x10]
add eax, 8
push eax
push 4
push 0
push str.CodeTable
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov edx, dword [ebp - 0x10]
add edx, 0xc
push edx
push 4
push 0
push str.SwitchKey
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 0x10
push ecx
push 4
push 0
push str.InputMethod
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov eax, dword [ebp - 0x10]
add eax, 0x14
push eax
push 4
push 0
push str.FreeMarking
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov edx, dword [ebp - 0x10]
add edx, 0x18
push edx
push 4
push 0
push str.ModernStyle
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 0x1c
push ecx
push 4
push 0
push str.VietGUI
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov eax, dword [ebp - 0x10]
add eax, 0x20
push eax
push 4
push 0
push str.InConvCharset
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov edx, dword [ebp - 0x10]
add edx, 0x24
push edx
push 4
push 0
push str.OutConvCharset
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 0x28
push ecx
push 4
push 0
push str.ClipboardConvert
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov eax, dword [ebp - 0x10]
add eax, 0x2c
push eax
push 4
push 0
push str.MacroEnabled
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov edx, dword [ebp - 0x10]
add edx, 0x40
push edx
push 4
push 0
push str.AutoNonVnRestore
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 0x30
push ecx
push 4
push 0
push str.UseUnicodeClipboard
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov eax, dword [ebp - 0x10]
add eax, 0x34
push eax
push 4
push 0
push str.AlwaysMacro
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov edx, dword [ebp - 0x10]
add edx, 0x38
push edx
push 4
push 0
push str.UseIME
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
mov ecx, dword [ebp - 0x10]
add ecx, 0x3c
push ecx
push 4
push 0
push 0x427d88
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x4c]
push edx
call fcn.0040e9d0
add esp, 4
mov eax, 1
mov esp, ebp
pop ebp
ret