Function at 0x10057c1
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x704
mov eax, dword [0x100e03c]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x62c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0xc]
push edi
xor edi, edi
mov dword [ebp - 0x64c], ecx
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x628], edi
cmp dword [ebx + 0x2c], 0x618
mov dword [ebp - 0x624], edx
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x63c], ecx
je 0x10056a9
mov dword [ecx], 1
mov esi, 0x800c007d
jmp 0x1005c7a
lea esi, [ebx + 0x150]
cmp byte [esi], 0
je 0x1005724
lea eax, [edx + 0x410]
cmp byte [eax], 0
jne 0x1005724
cmp dword [0x100e2d4], edi
jbe 0x1005724
mov dword [ebp - 0x620], edi
mov eax, dword [0x100e2d8]
mov ecx, dword [ebp - 0x620]
push esi
lea eax, [ecx + eax + 0x408]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005700
add dword [ebp - 0x620], 0x50c
inc edi
cmp edi, dword [0x100e2d4]
jb 0x10056cd
jmp 0x1005724
mov eax, dword [ebp - 0x624]
imul edi, edi, 0x50c
add edi, dword [0x100e2d8]
push 0x100
push edi
add eax, 0x410
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebx + 0x250]
cmp byte [eax], 0
je 0x1005747
push 0xff
push eax
mov eax, dword [ebp - 0x624]
add eax, 0x510
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
xor eax, eax
mov ecx, 0x186
lea edi, [ebp - 0x61c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x350]
push 0x618
lea edx, [ebp - 0x61c]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x62c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x30]
mov esi, eax
test esi, esi
jl 0x1005c6a
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x1005c6a
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
push dword [ebp - 0x63c]
lea ecx, [ebp - 0x620]
push ecx
lea ecx, [ebp - 0x638]
push ecx
push eax
push dword [ebp - 0x630]
call fcn.0100555e
mov esi, eax
test esi, esi
jl 0x1005c6a
mov esi, dword [ebp - 0x620]
push 0x2e
pop ecx
xor eax, eax
lea edi, [ebp - 0x704]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
push 4
pop edi
mov dword [ebp - 0x644], esi
add esi, edi
test eax, eax
mov dword [ebp - 0x6f8], eax
jne 0x10057ff
mov eax, dword [ebp - 0x62c]
mov ecx, dword [eax]
lea edx, [ebp - 0x6f8]
push edx
push eax
call dword [ecx + reloc.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [esi]
mov dword [ebp - 0x6f4], eax
mov eax, dword [ebp - 0x624]
add esi, edi
cmp dword [eax + 0x630], 1
jne 0x100581f
or byte [ebp - 0x6f3], 8
test byte [ebp - 0x6f3], 2
je 0x100583a
and byte [ebp - 0x6f3], 0xfd
mov word [ebp - 0x6ae], 1
jmp 0x100585e
test byte [ebp - 0x6f3], 1
je 0x1005855
and byte [ebp - 0x6f3], 0xfe
mov word [ebp - 0x6ae], 5
jmp 0x100585e
mov word [ebp - 0x6ae], 3
mov eax, dword [esi]
mov dword [ebp - 0x6f0], eax
mov ecx, dword [esi + 4]
add esi, 8
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], ecx
mov eax, dword [esi]
add esi, edi
mov dword [ebp - 0x6e8], eax
mov eax, dword [esi]
add esi, edi
test eax, eax
mov dword [ebp - 0x640], eax
je 0x100589d
or dword [ebp - 0x6f4], 1
mov eax, dword [esi]
add esi, edi
mov dword [ebp - 0x6ac], eax
mov eax, dword [esi]
mov dword [ebp - 0x6d8], eax
mov eax, dword [esi + 4]
add esi, 8
push esi
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], esi
call ebx
lea esi, [esi + eax + 1]
push esi
mov dword [ebp - 0x6cc], esi
call ebx
lea esi, [esi + eax + 1]
mov eax, dword [ebp - 0x6f4]
shr eax, 0x10
movzx eax, ah
add eax, dword [ebp - 0x6cc]
push esi
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 0x6c8], esi
call ebx
lea esi, [esi + eax + 1]
push esi
mov dword [ebp - 0x6c4], esi
call ebx
lea esi, [esi + eax + 1]
push esi
mov dword [ebp - 0x6c0], esi
call ebx
lea esi, [esi + eax + 1]
push esi
mov dword [ebp - 0x6bc], esi
call ebx
lea esi, [esi + eax + 1]
push esi
mov dword [ebp - 0x6b8], esi
call ebx
lea esi, [esi + eax + 1]
mov eax, dword [ebp - 0x6b8]
cmp byte [eax], 0
jne 0x1005949
mov eax, dword [ebp - 0x6c8]
test eax, eax
je 0x1005949
mov dword [ebp - 0x6b8], eax
push esi
mov dword [ebp - 0x6b4], esi
call ebx
mov ecx, dword [ebp - 0x644]
lea esi, [esi + eax + 1]
mov eax, dword [ebp - 0x638]
mov eax, dword [eax + 4]
sub eax, esi
lea eax, [eax + ecx - 0x10]
cmp eax, 0x28
mov dword [ebp - 0x620], esi
jbe 0x10059d5
mov ax, word [esi]
add esi, edi
mov word [ebp - 0x6b0], ax
mov eax, dword [esi]
add esi, edi
mov dword [ebp - 0x6ac], eax
mov eax, dword [esi]
mov dword [ebp - 0x6a8], eax
mov ecx, dword [esi + 4]
add esi, 8
test eax, eax
mov dword [ebp - 0x6a4], ecx
jne 0x10059c0
test ecx, ecx
jne 0x10059c0
mov eax, dword [ebp - 0x6f0]
mov dword [ebp - 0x6a8], eax
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x6a4], eax
push esi
mov dword [ebp - 0x6a0], esi
call ebx
lea eax, [esi + eax + 1]
mov dword [ebp - 0x620], eax
jmp 0x10059ed
mov eax, dword [ebp - 0x6f0]
mov dword [ebp - 0x6a8], eax
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x6a4], eax
cmp dword [ebp - 0x640], 0
je 0x1005ad0
mov edi, dword [ebp - 0x62c]
mov eax, dword [edi]
lea ecx, [ebp - 0x634]
push ecx
push edi
call dword [eax + 0x54]
mov esi, eax
test esi, esi
jl 0x1005c6a
mov eax, dword [edi]
lea ecx, [ebp - 0x628]
push ecx
push dword [ebp - 0x634]
push 0xc8
push edi
call dword [eax + 0x60]
mov esi, eax
test esi, esi
jl 0x1005c6a
mov edi, dword [ebp - 0x640]
push dword [ebp - 0x63c]
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x648]
push eax
push edi
push dword [ebp - 0x630]
call fcn.010055d0
mov esi, eax
test esi, esi
jl 0x1005c6a
mov edi, dword [ebp - 0x648]
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax]
push 0
push dword [edi + 8]
push dword [ebp - 0x620]
push eax
call dword [ecx + reloc.USER32.dll_DialogBoxParamA]
mov esi, eax
test esi, esi
jl 0x1005c6a
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x1005a3f
mov eax, dword [ebp - 0x628]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + reloc.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
test esi, esi
jl 0x1005c6a
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp - 0x628]
test eax, eax
je 0x1005ad0
mov ecx, dword [eax]
push eax
call dword [ecx + reloc.KERNEL32.dll_CreateFileA]
and dword [ebp - 0x628], edi
mov eax, dword [ebp - 0x624]
add eax, 0x410
cmp byte [eax], 0
jne 0x1005b49
mov eax, dword [ebp - 0x6bc]
cmp byte [eax], 0
je 0x1005b49
xor edi, edi
xor esi, esi
cmp dword [0x100e2d4], edi
jbe 0x1005b49
mov eax, dword [0x100e2d8]
push dword [ebp - 0x6bc]
lea eax, [edi + eax + 0x408]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005b25
inc esi
add edi, 0x50c
cmp esi, dword [0x100e2d4]
jb 0x1005af7
jmp 0x1005b49
mov eax, dword [ebp - 0x624]
imul esi, esi, 0x50c
add esi, dword [0x100e2d8]
push 0x100
push esi
add eax, 0x410
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [ebp - 0x624]
add eax, 0x410
xor esi, esi
cmp dword [ebp - 0x684], esi
mov dword [ebp - 0x680], eax
je 0x1005bb4
cmp dword [0x100e2d4], esi
jbe 0x1005c04
xor edi, edi
mov eax, dword [0x100e2d8]
push dword [ebp - 0x684]
lea eax, [edi + eax + 0x100]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005ba0
inc esi
add edi, 0x50c
cmp esi, dword [0x100e2d4]
jb 0x1005b72
jmp 0x1005c04
imul esi, esi, 0x50c
add esi, dword [0x100e2d8]
mov dword [ebp - 0x680], esi
jmp 0x1005c04
cmp byte [eax], 0
je 0x1005c04
cmp dword [0x100e2d4], esi
jbe 0x1005c04
xor edi, edi
mov eax, dword [0x100e2d8]
push dword [ebp - 0x680]
add eax, edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005bec
inc esi
add edi, 0x50c
cmp esi, dword [0x100e2d4]
jb 0x1005bc3
jmp 0x1005c04
mov eax, dword [0x100e2d8]
imul esi, esi, 0x50c
lea eax, [esi + eax + 0x100]
mov dword [ebp - 0x684], eax
mov eax, dword [ebp - 0x624]
inc dword [eax + 0x644]
test byte [ebp - 0x6f4], 0x80
jne 0x1005c1f
inc dword [eax + 0x640]
mov eax, dword [ebp - 0x62c]
mov ecx, dword [eax]
or dword [ebp - 0x6f4], 0x10
lea edx, [ebp - 0x704]
push edx
push eax
call dword [ecx + HeapFree]
mov esi, eax
test esi, esi
jl 0x1005c6a
cmp dword [0x100e2dc], 0
jne 0x1005c59
push dword [ebp - 0x624]
push dword [ebp - 0x64c]
call fcn.01003d7c
mov eax, dword [ebp - 0x638]
mov eax, dword [eax + 8]
test eax, eax
jne 0x1005795
mov eax, dword [ebp - 0x628]
test eax, eax
je 0x1005c7a
mov ecx, dword [eax]
push eax
call dword [ecx + reloc.KERNEL32.dll_CreateFileA]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
pop ebx
call fcn.010086b7
leave
ret 0x14