Function at 0x4093ab
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3ad4
call fcn.0040c5a0
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [0x4101f0], eax
call fcn.00401eb8
test eax, eax
jne 0x4093d9
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00404cc1
xor ebx, ebx
test eax, eax
je 0x4093eb
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push dword [ebp + 0x10]
lea eax, [esp + 0x14]
mov edi, 0x100
push eax
mov dword [esp + 0x2c], 0x400
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], 0x20
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
call fcn.0040540d
push str._savelangfile
lea esi, [esp + 0x14]
call fcn.0040556b
test eax, eax
jl 0x40946e
call fcn.00407637
lea esi, [esp + 0x10]
call fcn.00405310
lea esi, [esp + 0x30]
call fcn.00405755
lea esi, [esp + 0x10]
call fcn.00405310
xor eax, eax
jmp 0x4093d0
push ebx
push str.NirSoft_VolumouseMsg100
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x4094ae
lea ecx, [esp + 0xc]
push ecx
push 0x7d0
push 1
push ebx
push edi
push 0x455
push eax
mov dword [esp + 0x28], ebx
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
cmp dword [esp + 0xc], 2
je 0x40944c
push 0x1f4
call dword [sym.imp.KERNEL32.DLL_Sleep]
call fcn.0040afdf
push str._deleteregkey
lea esi, [esp + 0x14]
call fcn.0040556b
test eax, eax
jl 0x4094f7
push str.SoftwareNirSoftVolumouse
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
lea esi, [esp + 0x10]
call fcn.00405310
lea esi, [esp + 0x30]
call fcn.00405755
lea esi, [esp + 0x10]
call fcn.00405310
mov eax, ebx
jmp 0x4093d0
call fcn.00407506
call dword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
push str.IsWow64Process
push str.kernel32
mov esi, eax
mov dword [esp + 0x14], ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
cmp eax, ebx
je 0x40952b
lea ecx, [esp + 0xc]
push ecx
push esi
call eax
push 0x412540
call fcn.0040a500
lea edi, [esp + 0x60]
call fcn.0040770b
push str._cfg
lea esi, [esp + 0x14]
call fcn.0040556b
cmp eax, ebx
jl 0x40957a
inc eax
cmp eax, dword [esp + 0x40]
jge 0x409560
mov ecx, esi
call fcn.004053d1
jmp 0x409565
mov eax, 0x40d3de
push eax
mov ebx, 0x104
lea edi, [esp + 0x808]
call fcn.00404a37
pop ecx
xor ebx, ebx
lea esi, [esp + 0x60]
call fcn.004089b8
push ebx
mov eax, esi
push eax
call fcn.00408faf
mov edx, 0x412540
call fcn.0040a674
call fcn.0040896c
mov eax, esi
call fcn.0040894d
call fcn.004088ee
call fcn.00407a8b
mov esi, eax
cmp esi, ebx
je 0x4095e8
cmp esi, 0xffffffff
jne 0x4095bb
push 2
jmp 0x4095c2
cmp esi, 0xfffffffe
jne 0x4095d8
push 3
pop ebx
call fcn.00406c96
push 0x40
push 0x40d3d4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea edi, [esp + 0x60]
call fcn.00407884
mov ebx, esi
jmp 0x4094d5
lea eax, [esp + 0x60]
call fcn.004079cf
push str._nodlg
lea esi, [esp + 0x14]
call fcn.0040556b
test eax, eax
jge 0x409621
cmp dword [esp + 0x20fc], 1
jne 0x409621
push ebx
push ebx
push 0x457
push dword [esp + 0x174]
call dword [sym.imp.USER32.dll_PostMessageA]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
jmp 0x40963f
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
push ebx
lea eax, [esp + 0x50]
push eax
call esi
test eax, eax
jne 0x409629
call fcn.00404cc1
test eax, eax
je 0x40965c
call dword [sym.imp.ole32.dll_CoUninitialize]
lea edi, [esp + 0x60]
call fcn.00407884
jmp 0x4094d5