Function at 0x577400
Capabilities:
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x597a58
mov eax, dword fs:[0]
push eax
sub esp, 0x31c
mov eax, dword [0x5f11e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2f4], eax
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
push 8
mov dword [ebp - 4], eax
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], eax
call fcn.004feb64
add esp, 4
test eax, eax
jne 0x577482
call fcn.00517f0c
mov dword [ebp - 0x2ec], eax
lea ecx, [ebp - 0x2ec]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x2ec]
mov dword [eax], ecx
xor esi, esi
mov dword [ebp - 0x310], esi
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x308], esi
mov dword [ebp - 0x300], esi
mov dword [ebp - 0x2fc], esi
mov dword [ebp - 0x2f8], esi
push edi
mov byte [ebp - 4], 3
call fcn.00578070
add esp, 4
test al, al
jne 0x5774e1
xor bl, bl
jmp 0x577b8a
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 4
cmp word [edi], ax
jne 0x577502
xor ecx, ecx
jmp 0x577516
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x577507
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x40]
call fcn.0044c2c0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00481350
lea eax, [ebp - 0x310]
push eax
push 0
push 0
call fcn.004aef95
lea eax, [ebp - 0x300]
xor edi, edi
push eax
push edi
push edi
mov dword [ebp - 0x30c], edi
call fcn.004aef95
add esp, 0x18
mov dword [ebp - 0x2fc], edi
lea eax, [ebp - 0x40]
lea ecx, [ebp - 0x300]
push eax
call fcn.004af77b
cmp dword [ebp - 0x2dc], edi
sete al
test al, al
jne 0x577ae5
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov ebx, dword [sym.imp.KERNEL32.dll_FindClose]
nop word [eax + eax]
push 1
lea eax, [ebp - 0x31c]
push eax
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00473370
mov ecx, eax
call fcn.004731f0
mov edx, eax
mov eax, dword [edx]
test eax, eax
je 0x5775bc
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [edx + 8]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x40]
cmp ecx, eax
je 0x5775da
push 0xffffffffffffffff
push 0
push eax
call fcn.0044ca80
push 0x5c405c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00473430
push 0x5c6674
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
call fcn.0045ca50
add esp, 0x18
mov esi, eax
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x577640
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x577623
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.0044c9a0
xor eax, eax
mov dword [ebp - 0x44], 7
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
call fcn.0045b2a0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp eax, 8
jb 0x577697
mov ecx, dword [ebp - 0x28]
inc eax
cmp eax, 0x7fffffff
ja 0x57747d
add eax, eax
cmp eax, 0x1000
jb 0x57768e
test cl, 0x1f
jne 0x57747d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x57747d
sub ecx, eax
cmp ecx, 4
jb 0x57747d
cmp ecx, 0x23
ja 0x57747d
mov ecx, eax
push ecx
call fcn.0054b948
add esp, 4
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x577705
mov ecx, dword [ebp - 0x88]
inc eax
cmp eax, 0x7fffffff
ja 0x57747d
add eax, eax
cmp eax, 0x1000
jb 0x5776fc
test cl, 0x1f
jne 0x57747d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x57747d
sub ecx, eax
cmp ecx, 4
jb 0x57747d
cmp ecx, 0x23
ja 0x57747d
mov ecx, eax
push ecx
call fcn.0054b948
add esp, 4
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
dec eax
mov edx, dword [ebp - 0x2e4]
add ecx, eax
mov eax, dword [ebp - 0x2e8]
dec edx
and edx, ecx
mov esi, dword [eax + edx*4]
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x577778
mov ecx, dword [esi]
inc eax
cmp eax, 0x7fffffff
ja 0x57747d
add eax, eax
cmp eax, 0x1000
jb 0x57776f
test cl, 0x1f
jne 0x57747d
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x57747d
sub ecx, eax
cmp ecx, 4
jb 0x57747d
cmp ecx, 0x23
ja 0x57747d
mov ecx, eax
push ecx
call fcn.0054b948
add esp, 4
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x57778e
mov esi, dword [esi]
xor eax, eax
mov ecx, 0
mov word [esi], ax
sub dword [ebp - 0x2dc], 1
mov eax, dword [ebp - 0x2e0]
cmove eax, ecx
cmp dword [ebp - 0x44], 8
mov dword [ebp - 0x2e0], eax
lea ecx, [ebp - 0x2d8]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x577bfb
mov edx, 0x5c4cf8
lea ecx, [ebp - 0x2ac]
nop dword [eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x577806
test ax, ax
je 0x577802
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x577806
add ecx, 4
add edx, 4
test ax, ax
jne 0x5777e0
xor eax, eax
jmp 0x57780b
sbb eax, eax
or eax, 1
test eax, eax
je 0x5779b9
mov eax, 0x5c4f98
lea ecx, [ebp - 0x2ac]
nop
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x577846
test dx, dx
je 0x577842
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x577846
add ecx, 4
add eax, 4
test dx, dx
jne 0x577820
xor eax, eax
jmp 0x57784b
sbb eax, eax
or eax, 1
test eax, eax
je 0x5779b9
test byte [ebp - 0x2d8], 0x10
je 0x5779c6
push 0x5c405c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00473430
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 7
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045ca50
add esp, 0x18
push eax
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 8
call fcn.004730d0
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x5778af
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0044c9a0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x5778dc
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0044c9a0
push 0x5c405c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00473430
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 9
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045ca50
add esp, 0x18
push eax
lea ecx, [ebp - 0x300]
mov byte [ebp - 4], 0xa
call fcn.00472f30
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x57792b
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0044c9a0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x577958
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0044c9a0
push 0x5c405c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00473430
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xb
push ecx
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0045ca50
mov eax, dword [ebp - 0x5c]
add esp, 0x18
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x57799e
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0044c9a0
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x5779b9
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.0044c9a0
test byte [ebp - 0x2d8], 0x10
jne 0x577aac
push 0x5c405c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00473430
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xc
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045ca50
add esp, 0x18
push eax
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0xd
call fcn.00472f30
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x577a18
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.0044c9a0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x577a4b
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.0044c9a0
push 0x5c405c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00473430
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0xe
push ecx
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0045ca50
mov eax, dword [ebp - 0x74]
add esp, 0x18
mov byte [ebp - 4], 4
cmp eax, 8
jb 0x577a97
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.0044c9a0
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x577aac
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.0044c9a0
lea eax, [ebp - 0x2d8]
push eax
push esi
call edi
test eax, eax
jne 0x5777d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
cmp eax, 0x12
jne 0x577afa
call ebx
cmp dword [ebp - 0x2dc], 0
jne 0x577590
mov edi, dword [ebp - 0x30c]
mov esi, dword [ebp - 0x310]
cmp esi, edi
je 0x577b14
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
cmp dword [esi + 0x14], 8
jb 0x577b00
mov eax, dword [esi]
jmp 0x577b02
call ebx
xor bl, bl
jmp 0x577b61
mov eax, esi
push eax
call ebx
test eax, eax
je 0x577bfb
add esi, 0x18
cmp esi, edi
jne 0x577af0
mov edi, dword [ebp - 0x2fc]
mov esi, dword [ebp - 0x300]
mov byte [ebp - 0x304], 0
push dword [ebp - 0x304]
push edi
push esi
call fcn.00576fa0
add esp, 0xc
cmp esi, edi
je 0x577b5f
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
cmp dword [esi + 0x14], 8
jb 0x577b4b
mov eax, dword [esi]
jmp 0x577b4d
mov eax, esi
push eax
call ebx
test eax, eax
je 0x577bfb
add esi, 0x18
cmp esi, edi
jne 0x577b41
mov bl, 1
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x577b76
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.0044c9a0
xor eax, eax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
lea ecx, [ebp - 0x300]
call fcn.00459480
lea ecx, [ebp - 0x310]
call fcn.00459480
lea ecx, [ebp - 0x2ec]
call fcn.00472fe0
push 1
push dword [ebp - 0x2ec]
lea ecx, [ebp - 0x2ed]
call fcn.0046b2d0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2ec], 0
cmp ecx, 8
jb 0x577bdd
inc ecx
push ecx
push dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call fcn.0044c9a0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004feb45
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x2f4]
xor bl, bl
mov dword [ecx], eax
jmp 0x577b61