Function at 0x10001270
Capabilities:
Delete file
Find taskbar
Get file attributes
Move file
Query or enumerate registry value
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
mov eax, dword [0x10016210]
xor eax, ebp
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], str.CLSIDBA202EBB_D757_4420_A1EF_49FB4B2D4EE5
mov dword [ebp - 0xc], 0x80000000
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x1c], eax
push 0
push 0x18
push 0x113
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [ebp - 0x1c], 0
je 0x1000130d
push 0
push str.ReBarWindow32
push 0
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x1000130d
push 0
push 0x10011320
push 0
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1000130d
push 0
push 0
push 0x802
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x20], 0x10011334
lea edx, [ebp - 0x18]
push edx
push 0x20019
push 0
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 1
mov dword [ebp - 8], 0
lea edx, [ebp - 8]
push edx
push 0
lea eax, [ebp - 4]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1000158b
cmp dword [ebp - 4], 1
jne 0x1000158b
cmp dword [ebp - 8], 0x1000
jae 0x1000158b
mov edx, dword [ebp - 8]
add edx, 1
push edx
call fcn.100068dc
add esp, 4
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 8]
add ecx, 1
push ecx
call fcn.100068dc
add esp, 4
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x30], edx
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
lea edx, [ebp - 4]
push edx
push 0
push 0
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x1000155b
cmp dword [ebp - 8], 0
jbe 0x1000155b
mov ecx, dword [ebp - 8]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x30]
push eax
call fcn.10007fb0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
and edx, 0x20
je 0x1000155b
mov eax, dword [ebp - 0x34]
and eax, 0x10
jne 0x1000155b
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 8]
mov byte [ecx - 4], 0x64
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 8]
mov byte [edx - 3], 0x65
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 8]
mov byte [eax - 2], 0x6c
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 8]
mov byte [ecx - 1], 0
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 8]
mov byte [edx], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x140], 0x46
push 0xff
push 0
lea eax, [ebp - 0x13f]
push eax
call fcn.10008320
add esp, 0xc
push 0xa
lea ecx, [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call fcn.100107fb
add esp, 0xc
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 8]
mov cl, byte [ebp - 0x139]
mov byte [eax - 0xd], cl
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 8]
mov al, byte [ebp - 0x13a]
mov byte [edx - 0xc], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 8]
mov dl, byte [ebp - 0x13d]
mov byte [ecx - 0xb], dl
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 8]
mov cl, byte [ebp - 0x13c]
mov byte [eax - 0xa], cl
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 8]
mov al, byte [ebp - 0x13b]
mov byte [edx - 9], al
mov ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 8]
mov dl, byte [ebp - 0x13e]
mov byte [ecx - 8], dl
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 8]
mov cl, byte [ebp - 0x140]
mov byte [eax - 7], cl
mov edx, dword [ebp - 0x30]
add edx, dword [ebp - 8]
mov al, byte [ebp - 0x13f]
mov byte [edx - 6], al
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x144], 1
mov edx, dword [ebp - 0x38]
and edx, 0x20
je 0x10001534
mov eax, dword [ebp - 0x38]
and eax, 0x10
jne 0x10001534
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
je 0x1000155b
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
je 0x1000155b
push 2
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x150]
push eax
call fcn.10007fa3
add esp, 4
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x154]
push edx
call fcn.10007fa3
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.10001cd0
add esp, 0xfffffff8
mov edx, esp
mov eax, dword [0x100118c4]
mov dword [edx], eax
mov ecx, dword [0x100118c8]
mov dword [edx + 4], ecx
mov eax, dword [0x100118cc]
mov dword [edx + 8], eax
mov ecx, dword [0x100118d0]
mov dword [edx + 0xc], ecx
sub esp, 0x10
mov edx, esp
mov eax, dword [0x100113e0]
mov dword [edx], eax
mov ecx, dword [0x100113e4]
mov dword [edx + 4], ecx
mov eax, dword [0x100113e8]
mov dword [edx + 8], eax
mov ecx, dword [0x100113ec]
mov dword [edx + 0xc], ecx
call fcn.10001c50
add esp, 0x20
xor eax, eax
mov ecx, dword [ebp - 0x40]
xor ecx, ebp
call fcn.10008311
mov esp, ebp
pop ebp
ret