Function at 0x100674d0
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10098de8
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], ax
lea ebx, [edi + edx*2]
mov dword [ebp - 4], eax
mov ecx, 0x100c6850
mov dword [ebp - 0x280], ebx
mov edx, ebx
sub edx, ecx
lea esp, [esp]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x10067530
lea eax, [ebp - 0x27c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x100677bf
xor eax, eax
mov word [ebx], ax
xor ebx, ebx
mov ecx, 0x100c6858
lea eax, [ebp - 0x250]
jmp 0x10067570
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10067596
test dx, dx
je 0x10067592
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10067596
add eax, 4
add ecx, 4
test dx, dx
jne 0x10067570
xor eax, eax
jmp 0x1006759b
sbb eax, eax
or eax, 1
test eax, eax
je 0x100676ca
mov ecx, 0x100c685c
lea eax, [ebp - 0x250]
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100675d6
test dx, dx
je 0x100675d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100675d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x100675b0
xor eax, eax
jmp 0x100675db
sbb eax, eax
or eax, 1
test eax, eax
je 0x100676ca
lea eax, [ebp - 0x250]
push 0x2e
push eax
call fcn.1007b43d
add esp, 8
test eax, eax
je 0x100676ca
xor ecx, ecx
mov word [eax], cx
add eax, 2
push 0x100c6864
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x100676ca
cmp word [edi], ax
jne 0x10067621
xor ecx, ecx
jmp 0x10067635
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10067626
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x2c]
call fcn.10063b40
cmp word [ebp - 0x250], 0
jne 0x1006764d
xor ecx, ecx
jmp 0x10067665
lea ecx, [ebp - 0x250]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10067656
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1006f310
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x100676ca
test al, 6
je 0x100676ca
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
and eax, 0xfffffff9
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push str..lnk
lea ecx, [ebp - 0x2c]
call fcn.1006ede0
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebx, 1
lea eax, [ebp - 0x27c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x10067560
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
test ebx, ebx
mov ebx, dword [ebp - 0x280]
je 0x100677bf
mov ecx, str.hypertrm.exe
mov edx, ebx
sub edx, ecx
mov edi, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x10067700
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x80
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x2e
push edi
call fcn.1007b43d
add esp, 8
test eax, eax
je 0x10067795
lea esi, [eax + 2]
mov ecx, 0x100c688c
mov edx, esi
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x10067740
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, 0x100c6894
sub esi, ecx
lea ebx, [ebx]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x10067770
mov esi, dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x80
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, str.HYPERTRM.dll
sub ebx, ecx
lea esp, [esp]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ebx + ecx - 2], ax
test ax, ax
jne 0x100677a0
push 0x80
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x18], 8
jb 0x100677d0
push dword [ebp - 0x2c]
call fcn.1007b706
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1007a730
mov esp, ebp
pop ebp
ret