Function at 0x40984c
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push 0x664
mov eax, 0x59602a
call fcn.004103bb
mov esi, ecx
mov dword [ebp - 0x65c], esi
xor eax, eax
push 0x208
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.00430680
add esp, 0xc
call fcn.0041170a
test al, al
je 0x409898
push eax
pop ebp
pop edx
push edx
push esp
push ecx
pop ebx
pop esp
pop ecx
pop ecx
pop ebx
push edi
push ebp
pop ecx
push edx
pop ebp
pop eax
push edx
push ebx
pop eax
push edi
call fcn.00411389
test al, al
je 0x4098c4
push eax
push esi
pop esp
push ecx
push ebx
pop ebp
pop ebx
pop esi
pop eax
pop ebp
pop ebp
push ebx
pop esp
pop edx
pop esi
push eax
pop edi
pop esp
pop esp
push edi
push ebp
pop edx
pop ecx
push esp
push ebx
push edi
pop esp
push esi
push eax
mov esi, dword [ebp - 0x65c]
call fcn.0041149d
test al, al
je 0x4098e8
pop ebx
push ebp
push edx
push eax
pop esp
pop edx
pop edx
push eax
pop esp
push eax
push ebx
pop eax
pop edx
pop eax
push esi
push eax
push ebx
push esp
push ebp
pop ebp
push esi
pop ecx
push ebx
push esp
push ecx
pop ebp
pop ebp
lea eax, [ebp - 0x628]
mov ecx, esi
push eax
push str.94fc06
call fcn.00409d33
call fcn.0041156c
test al, al
je 0x409921
push esp
pop edi
pop ebp
push ebp
pop edx
pop edx
pop ecx
push esi
push eax
push ebx
pop ecx
pop ebp
pop ecx
push edx
push ebp
push ebp
pop ebx
push edi
push esp
push ebp
pop esi
pop esi
pop ebp
pop edx
push eax
pop edi
pop ebp
pop edi
push esi
call fcn.00411230
test al, al
je 0x409943
push ecx
push esp
pop eax
push ecx
pop ebx
pop ecx
pop esi
pop esp
pop esp
push eax
pop ecx
pop ebx
pop edx
push esp
push ecx
pop ecx
pop edx
pop edi
pop ebp
pop edx
pop esi
push esi
pop ebp
push ecx
pop edi
mov ecx, dword [ebp - 0x65c]
lea eax, [ebp - 0x628]
push eax
call fcn.00409fcf
call fcn.00411344
test al, al
je 0x40997d
pop ebp
push esi
push esp
pop esp
push ecx
pop esp
push ecx
push eax
pop eax
pop esp
push edx
push esp
pop edx
push esp
push edi
push ebx
pop edi
pop esp
pop ecx
pop ebx
push ebx
push edx
push ebx
pop esp
push edx
push esi
pop esi
push edi
push edx
push esp
pop esi
mov ecx, dword [ebp - 0x65c]
call fcn.00409694
lea eax, [ebp - 0x660]
xor ebx, ebx
push eax
push 9
push ebx
push str.SYSTEMCurrentControlSet_services_
push reloc.WS2_32.dll_bind
mov dword [ebp - 0x660], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x4099b5
xor eax, eax
jmp 0x409d2d
call fcn.0041170a
test al, al
je 0x4099cf
push edx
push edi
push edx
pop eax
pop esi
push ebx
pop edx
push ebx
push eax
push esi
pop ebp
pop edx
pop eax
push esi
push ebx
pop ebp
push ebp
mov eax, ebx
mov dword [ebp - 0x668], ebx
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x664], ebx
push ebx
xor eax, eax
mov dword [ebp - 4], ebx
push 0x59a528
lea ecx, [ebp - 0x658]
mov dword [ebp - 0x644], 7
mov dword [ebp - 0x648], ebx
mov word [ebp - 0x658], ax
call fcn.00401c7b
mov esi, 0x208
mov byte [ebp - 4], 1
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.00430680
push esi
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00430680
lea eax, [ebp - 0x420]
push 0x59a724
push eax
call fcn.0043eb48
lea eax, [ebp - 0x420]
push eax
call fcn.0043ffb1
add esp, 0x24
call fcn.0041149d
test al, al
je 0x409a84
pop edx
push esi
pop edx
push esi
push ebp
push esp
pop edi
push eax
pop edi
push edx
pop esi
pop esi
push ecx
pop ebx
pop ebx
push ebp
pop esp
push esi
pop ebp
pop eax
pop ecx
push ecx
push eax
pop edi
push esi
pop ebp
push esi
pop ebx
pop ecx
push eax
pop ebp
push edi
call fcn.004114e2
test al, al
je 0x409a9e
pop esi
push esp
push ecx
pop edx
push ebp
pop edx
push eax
pop eax
push esp
pop ebx
push ebp
push eax
pop esi
pop eax
pop ebx
push edi
push esp
call fcn.004117d9
test al, al
je 0x409ac7
push edx
push esp
pop esp
pop esi
push ebx
pop eax
pop edi
push eax
push ecx
pop esp
pop edi
push edi
pop esp
pop ebp
pop ecx
pop ecx
push eax
push eax
push ecx
pop edi
pop ebp
pop ebp
push esp
pop ebx
push ebp
push eax
push ecx
push ebx
pop ebp
pop esp
pop eax
pop ecx
push 0x104
lea eax, [ebp - 0x218]
xor esi, esi
push eax
push esi
push dword [ebp - 0x660]
mov dword [ebp - 0x65c], esi
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x409c18
call fcn.00411863
test al, al
je 0x409b0e
pop eax
push ebx
pop ecx
push ebx
pop ebp
push edx
pop ebp
pop edx
pop edi
pop eax
pop esp
push edi
push ecx
push edx
push ebx
push eax
push esp
pop esi
pop ecx
push edx
push esp
call fcn.0041111c
test al, al
je 0x409b29
pop edi
push ebp
push edx
pop esp
push esp
pop esi
pop ebx
pop ebp
pop eax
pop ebx
pop esp
pop edi
pop edx
pop edx
pop ebx
pop ebx
push ebx
push ebp
call fcn.004118a8
test al, al
je 0x409b50
pop esi
push edi
pop edi
pop edi
pop ebx
push eax
push ebx
pop edi
push edi
push esi
push eax
pop ebx
push ebp
push ecx
push ebp
push ebp
push ecx
pop ecx
pop edx
pop ebp
pop eax
pop eax
pop edx
push edi
push ebx
push eax
push edx
push ecx
pop esp
push edi
xor eax, eax
mov dword [ebp - 0x62c], 7
xor esi, esi
mov word [ebp - 0x640], ax
mov dword [ebp - 0x630], esi
cmp word [ebp - 0x218], ax
je 0x409b81
lea eax, [ebp - 0x218]
push eax
call fcn.00433f51
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x640]
call fcn.00401c7b
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 2
push eax
call fcn.0043ffb1
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004307da
add esp, 0xc
test eax, eax
je 0x409bd0
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x66c]
call fcn.0040a1c2
push esi
push 1
lea ecx, [ebp - 0x640]
mov byte [ebp - 4], 1
call fcn.00401b31
mov ebx, dword [ebp - 0x65c]
lea eax, [ebp - 0x218]
push 0x104
push eax
inc ebx
push ebx
push dword [ebp - 0x660]
mov dword [ebp - 0x65c], ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
je 0x409af0
mov ebx, dword [ebp - 0x66c]
jmp 0x409c1e
mov ebx, dword [ebp - 0x670]
push dword [ebp - 0x660]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [ebp - 0x668]
jmp 0x409d09
call fcn.004113ce
test al, al
je 0x409c58
push edi
pop ecx
push edi
push edi
push esi
push ebp
pop ebp
push ebx
push eax
pop eax
pop eax
push edx
pop esp
pop edi
push edx
pop edi
pop edi
pop eax
pop edi
pop edi
mov edi, dword [ebp - 0x668]
mov dword [ebp - 0x630], esi
xor eax, eax
mov esi, str.SYSTEMCurrentControlSet_services_
mov dword [ebp - 0x62c], 7
push esi
mov word [ebp - 0x640], ax
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x640]
call fcn.00401c7b
cmp dword [ebx + 0x14], 8
mov byte [ebp - 4], 3
jb 0x409c98
mov esi, dword [ebx]
jmp 0x409c9a
mov esi, ebx
xor eax, eax
cmp word [esi], ax
je 0x409ca8
push esi
call fcn.00433f51
pop ecx
push eax
push esi
lea ecx, [ebp - 0x640]
call fcn.00402595
cmp dword [ebp - 0x62c], 8
lea eax, [ebp - 0x640]
mov esi, reloc.WS2_32.dll_bind
cmovae eax, dword [ebp - 0x640]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
cmp dword [ebp - 0x62c], 8
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
push eax
push esi
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
xor esi, esi
mov byte [ebp - 4], 1
push esi
push 1
lea ecx, [ebp - 0x640]
call fcn.00401b31
add ebx, 0x18
cmp ebx, edi
jne 0x409c35
push esi
push 1
lea ecx, [ebp - 0x658]
call fcn.00401b31
lea ecx, [ebp - 0x66c]
call fcn.00406def
xor eax, eax
inc eax
call fcn.00410376
ret