Function at 0x403719
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x290
push str.riched32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
jne 0x40374c
push 0x10
push 0x40aba0
push str.Problem_loading_RICHED32.DLL.__Please_check_if_this_module_exists_on_your_system.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
push str.SCP32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0
je 0x403775
mov eax, dword [ebp - 0x28c]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x403790
push 0x10
push 0x40ac10
push str.Problem_loading_SCP32.DLL.__Please_check_if_this_module_exists_on_your_system.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
push str.BIDI32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x40bd24], eax
cmp dword [0x40bd24], 0
je 0x4037fc
push str.BiDiConvertOemToAnsi
mov ecx, dword [0x40bd24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40bd28], eax
push str.BiDiConvertAnsiToOem
mov edx, dword [0x40bd24]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x40bd2c], eax
cmp dword [0x40bd28], 0
jne 0x4037fa
cmp dword [0x40bd2c], 0
jne 0x4037fa
mov eax, dword [0x40bd24]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x403a23
jmp 0x403801
jmp 0x403a23
lea ecx, [ebp - 0x288]
push ecx
lea edx, [ebp - 0x284]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push str.SOFTWAREMicrosoftMEConvert
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x40384f
push 0x10
push 0x40accc
push str.Problem_opening_the_main_registry.
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
lea ecx, [ebp - 0x288]
push ecx
push 0x40bf24
push 0
push 0x2001f
push 0
push 0
push 0
push str.Viewer
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x40389d
push 0x10
push 0x40ad08
push 0x40ad18
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
mov dword [ebp - 0x290], 0x200
mov byte [ebp - 0x200], 0
lea ecx, [ebp - 0x290]
push ecx
lea edx, [ebp - 0x200]
push edx
lea eax, [ebp - 0x288]
push eax
push 0
push 0
mov ecx, dword [0x40bf24]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
movsx edx, byte [ebp - 0x200]
test edx, edx
jne 0x40392b
push str.Notepad.exe
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
push eax
push str.Notepad.exe
push 1
push 0
push 0
mov eax, dword [0x40bf24]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x403929
push 0x10
push 0x40ad4c
push str.Problem_initializing_the_Viewer_info_in_the_regisrty.
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
jmp 0x40393d
lea edx, [ebp - 0x200]
push edx
push str.Notepad.exe
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x288]
push eax
push 0x40bf44
push 0
push 0xf003f
push 0
push 0
push 0
push str.Specifications
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x40398c
push 0x10
push 0x40ada4
push str.Problem_opening_the_Spec._info_from_the_regisrty.
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
lea eax, [ebp - 0x288]
push eax
push 0x40befc
push 0
push 0xf003f
push 0
push 0
push 0
push str.LastSpec
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x4039d8
push 0x10
push 0x40adf4
push str.Problem_opening_the_Viewer_info_from_the_regisrty.
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403a39
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x280]
push ecx
lea edx, [ebp - 0x288]
push edx
push 0
push 0
mov eax, dword [0x40befc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403a0a
mov byte [0x40bf60], 0
jmp 0x403a1c
lea ecx, [ebp - 0x280]
push ecx
push 0x40bf60
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, 1
jmp 0x403a39
push 0x10
push 0x40ae38
push str.Problem_loading_BIDI32.DLL.__Please_check_if_this_module_exists_on_your_system.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
mov esp, ebp
pop ebp
ret