Function at 0x4224f6
Capabilities:
Delete registry key
Set file attributes

Disassembly:
push 0x40
mov eax, 0x461fca
call fcn.00446255
mov dword [ebp - 0x44], ecx
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
and dword [ebp - 0x38], 0
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], esi
and dword [ebp - 4], 0
lea ecx, [ebp - 0x48]
call dword [0x46a52c]
mov byte [ebp - 4], 1
test ebx, ebx
jne 0x422541
mov ecx, 0x80070057
mov esi, ecx
call fcn.0041b100
jmp 0x4226f2
test edi, edi
je 0x422530
test esi, esi
je 0x422530
mov esi, dword [ebp - 0x44]
cmp dword [esi + 4], 0
jne 0x42255b
mov esi, 0x8000000a
mov ecx, esi
jmp 0x422537
xor edi, edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a658
push 0x409780
push 0x49b
push edi
push 0x406890
push 0xa4000
push 0x40a6c0
push 0x4000000
call fcn.00420037
pop ecx
pop ecx
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov eax, dword [esi]
mov esi, 0x406a9c
mov dword [ebp - 0x44], eax
mov ebx, dword [eax]
lea eax, [ebp - 0x38]
push eax
sub esp, 0x10
mov edi, esp
mov ecx, dword [ebx + 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [0x46a7c8]
mov ecx, dword [ebp - 0x44]
call dword [ebx + 0x18]
mov esi, eax
test esi, esi
js 0x4226e7
mov ebx, dword [ebp - 0x40]
lea edi, [ebp - 0x34]
push 9
xor eax, eax
mov esi, 0x406a9c
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x3c]
lea edi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
mov ecx, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ebx
call fcn.00432caf
test eax, eax
je 0x42262f
push ecx
push ecx
mov ecx, ebx
call fcn.00433827
test eax, eax
jne 0x42261f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042001a
mov esi, eax
jmp 0x4226e7
push 0x40a700
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov ecx, ebx
call fcn.00433b96
test eax, eax
je 0x42260b
push ebx
lea ecx, [ebp - 0x3c]
call dword [0x46a508]
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.0042fc31
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 3
call dword [0x46a520]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call dword [0x46a528]
xor ebx, ebx
lea ecx, [ebp - 0x3c]
inc ebx
mov byte [ebp - 4], bl
call dword [0x46a528]
mov eax, dword [ebp - 0x48]
cmp dword [eax - 8], 0
je 0x422699
push 0x2003
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x42260b
cmp dword [0x4693ec], 0
jne 0x4226a5
mov dword [ebp - 0x14], ebx
mov esi, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], ebx
push 0x24
push ecx
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [0x46a7c8]
mov ecx, esi
call edi
mov esi, eax
test esi, esi
js 0x4226e7
mov edi, dword [ebp - 0x4c]
push 0
push dword [ebp - 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x46a7c8]
mov ecx, edi
call esi
mov esi, eax
test esi, esi
jns 0x422739
mov ecx, esi
call fcn.0041b100
test esi, esi
jns 0x422739
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x40a658
push 0x409780
push 0x4d5
push 0
push 0x406890
push 0xa4000
push esi
push 0x40a778
push 0x2000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov ecx, esi
call fcn.0041b049
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0
call dword [0x46a528]
lea ecx, [ebp - 0x38]
call fcn.0041b864
mov eax, esi
call fcn.00446209
ret 0xc