Function at 0x102f29e
Capabilities:
Create shortcut via ishelllink
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x63c
mov eax, dword [0x1046190]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x10]
and dword [ebp - 0x620], 0
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
push esi
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x63c], edx
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x62c], esi
mov esi, dword [ebp + 0x28]
mov dword [ebp - 0x624], ecx
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x628], edx
mov dword [ebp - 0x638], esi
je 0x102f507
test eax, eax
je 0x102f507
test ecx, ecx
je 0x102f507
test edx, edx
jne 0x102f324
mov dword [ebp - 0x628], 0x1002d58
push edi
push ebx
mov edi, 0x207
push edi
lea eax, [ebp - 0x61c]
push eax
call fcn.01028a67
push 0x103
lea eax, [ebp - 0x20c]
push eax
push 0xd
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x10062f8
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
push dword [ebp - 0x624]
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.01028adc
cmp dword [0x1047508], 0
lea esi, [edi + 1]
je 0x102f39d
push dword [ebp - 0x630]
lea eax, [ebp - 0x61c]
push esi
push eax
call fcn.01028adc
jmp 0x102f3c8
lea eax, [ebp - 0x20c]
push eax
push esi
lea eax, [ebp - 0x61c]
push eax
call fcn.01028adc
push dword [ebp - 0x624]
lea eax, [ebp - 0x20c]
push 0x103
push eax
call fcn.01028a67
push 0x10062ec
push esi
lea eax, [ebp - 0x61c]
push eax
call fcn.01028adc
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x20c]
push eax
push ebx
push 0x10062d8
lea eax, [ebp - 0x61c]
push edi
push eax
call fcn.01028b64
add esp, 0x14
lea eax, [ebp - 0x620]
push eax
push 0x100d430
push 1
xor edi, edi
push edi
push 0x100d440
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
cmp esi, edi
jl 0x102f4f2
mov eax, dword [ebp - 0x620]
push dword [ebp - 0x634]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
mov ecx, dword [ebp - 0x63c]
cmp ecx, edi
jne 0x102f44c
lea ecx, [ebp - 0x20c]
mov eax, dword [ebp - 0x620]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x1c]
mov eax, dword [ebp - 0x620]
push dword [ebp - 0x628]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x2c]
cmp dword [ebp - 0x62c], edi
je 0x102f488
push dword [ebp + 0x24]
mov eax, dword [ebp - 0x620]
push dword [ebp - 0x62c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x620]
mov ecx, dword [eax]
lea edx, [ebp - 0x624]
push edx
push 0x100d420
push eax
call dword [ecx]
mov esi, eax
cmp esi, edi
jl 0x102f4f2
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
push 1
lea edx, [ebp - 0x61c]
push edx
push eax
call dword [ecx + 0x18]
mov esi, eax
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp esi, edi
jl 0x102f4f2
cmp dword [ebp + 0x2c], edi
je 0x102f4e6
push dword [ebp + 0x2c]
lea eax, [ebp - 0x61c]
push dword [ebp - 0x638]
push eax
call fcn.0102e4ff
lea eax, [ebp - 0x61c]
push eax
call fcn.0102e592
mov eax, dword [ebp - 0x620]
cmp eax, edi
pop edi
je 0x102f503
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x102f50c
mov eax, 0x80004003
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.01031a01
leave
ret 0x28