Function at 0x401509
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Terminate process

Disassembly:
jmp 0x401547
ror esi, 0x13
add ecx, ebp
add eax, 0xc7ff1eb0
jmp 0x4015fa
jl 0x401b62
jne 0x401b60
pop ds
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
add byte [edx], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [0x1b000000], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [0], ch
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
push ss
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [0], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], cl
add byte [eax], al
add byte [edi], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
sub eax, dword [eax]
add byte [eax], al
sub al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, byte [eax]
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
daa
add byte [eax], al
add byte [eax + eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb eax, 0x1f000000
add byte [eax], al
add byte [0], cl
add byte [eax], al
add byte [eax + eax], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb al, 0
add byte [eax], al
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or dword [eax], eax
add byte [eax], al
sbb eax, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bl
add byte [eax], al
add byte [edx], cl
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [esi], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], ch
add byte [eax], al
add byte [edi], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], bl
add byte [eax], al
add byte [esi - 9], cl
shr byte [eax - 0x1a], 1
xor dword [ecx], ebx
push edx
push 0x1f11fdf
call dword [sym.imp.user32.dll_GetWindowTextLengthA]
add esi, ebx
push 0x4cf2a644
push 0x32ee88c2
push 0x7937755
push 0x1d029b6b
call dword [sym.imp.advapi32.dll_RegEnumValueA]
and esi, ebx
push 0xb8fd94ea
push 0x59a71fb3
call dword [sym.imp.user32.dll_GetFocus]
sub ax, 0x70
push 0x25088390
push 0xf6a1052e
push 0x7a5f305a
call dword [sym.imp.advapi32.dll_RegQueryInfoKeyA]
sub eax, 0x973871bf
push 0x7f119fc5
push 0x32d60e5b
push ecx
push 0xc27c2737
push 0x4561187d
call dword [sym.imp.kernel32.dll_ExitProcess]
add edx, ecx
add ax, 0xffb9
jmp 0x401b9f
mov edi, 0xffbfecc4
not edi
mov ecx, dword [edi]
sub ecx, 0xffc00000
xor edi, edi
add edi, 0xbae85b89
not edx
mov eax, dword [ecx]
add eax, edi
sar edx, 0xf
mov dword [ecx], eax
sub edx, edi
push 0x5cffd603
push edi
call 0x401c15
sub al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
push es
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [eax], al
add byte [esi], bl
add al, 0
or eax, dword [eax]
sbb eax, 0xcc4830f
sub si, 0x1b
jmp ecx