Function at 0x403a3d
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
lea eax, [ebp - 0x58]
push eax
push 0xf003f
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x40bf44]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x403a82
push 0x10
push 0x40ae98
push str.Problem_opening_the_Spec._info_from_the_regisrty.__Spec._is_corrupted.
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
mov dword [ebp - 0x5c], 0x40
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x50]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403ac7
push 0x10
push 0x40aef0
push str.Problem_opening_the_Spec._type_info_from_the_regisrty.__Spec._is_corrupted.
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
push 0
push 0
push 0x147
mov eax, dword [0x40bf1c]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 8], eax
push 0
mov ecx, dword [ebp - 8]
push ecx
push 0x150
mov edx, dword [0x40bf1c]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x32
je 0x403b06
cmp dword [ebp - 4], 0x33
jne 0x403b5e
push 1
mov eax, dword [0x40bf18]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov ecx, dword [0x40bf28]
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov edx, dword [0x40c1a8]
push edx
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov eax, dword [0x40bef4]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov ecx, dword [0x40bf14]
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
mov edx, dword [0x40bf40]
push edx
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x40af4c
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x403c94
mov dword [0x40bfec], 0
push 1
push 0x3f5
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0
push 0x41a
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0
push 0x3f6
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0
push 0x41b
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0xffffffffffffffff
push 0x3f5
push 0x111
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x5c], 0x40
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x50]
push edx
push 0
push 0x40af58
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403c2f
push 0x10
push 0x40af68
push 0x40af78
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
lea edx, [ebp - 0x48]
push edx
call fcn.0040479c
add esp, 4
mov dword [ebp - 0x5c], 0x40
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x50]
push edx
push 0
push 0x40afbc
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403c83
push 0x10
push 0x40afcc
push 0x40afdc
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
lea edx, [ebp - 0x48]
push edx
call fcn.00404800
add esp, 4
jmp 0x403f03
push 0x40b020
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x403e70
mov dword [0x40bfec], 1
push 0
push 0x3f5
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0
push 0x41a
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 1
push 0x3f6
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0
push 0x41b
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0xffffffffffffffff
push 0x3f6
push 0x111
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x5c], 0x40
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x50]
push edx
push 0
push 0x40b02c
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403d65
push 0x10
push 0x40b03c
push 0x40b04c
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
push 0
push 0
push 0x14b
mov edx, dword [0x40bf10]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 8], 0
jmp 0x403d8d
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0x4c]
jge 0x403e4c
mov edx, dword [ebp - 8]
add edx, 1
push edx
push 0x40b090
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov dword [ebp - 0x5c], 0x40
lea ecx, [ebp - 0x5c]
push ecx
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x50]
push eax
push 0
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403df8
push 0x10
push 0x40b098
push 0x40b0a8
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 8]
add edx, 1
push edx
push 0x40b0ec
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 8]
push edx
push 0x143
mov eax, dword [0x40bf10]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 8]
push edx
push 0x151
mov eax, dword [0x40bf10]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x403d84
push 0
push 0
push 0x14e
mov ecx, dword [0x40bf10]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebp - 0x4c]
mov dword [0x40c010], edx
jmp 0x403f03
push 0x40b100
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x403ee3
mov dword [0x40bfec], 2
push 0
push 0x3f5
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0
push 0x3f6
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 1
push 0x41a
mov eax, dword [0x40bef0]
push eax
call dword [sym.imp.USER32.dll_CheckDlgButton]
push 0xffffffffffffffff
push 0x41a
push 0x111
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x403f03
push 0x10
push 0x40b10c
push str.Wrong_Spec._type_info_in_the_regisrty.
mov edx, dword [0x40bef0]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
mov dword [ebp - 0x5c], 0x40
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x50]
push edx
push 0
push 0x40b144
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403f48
push 0x10
push 0x40b150
push 0x40b160
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
lea edx, [ebp - 0x48]
push edx
call fcn.00404864
add esp, 4
mov dword [ebp - 0x5c], 0x40
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x50]
push edx
push 0
push 0x40b1a4
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x403f99
push 0x10
push 0x40b1b0
push str.Problem_opening_Spec._info_from_the_regisrty.__Spec._is_corrupted.
mov ecx, dword [0x40bef0]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x403faa
lea edx, [ebp - 0x48]
push edx
call fcn.004048e9
add esp, 4
mov eax, 1
mov esp, ebp
pop ebp
ret