Function at 0x42f6e0
Capabilities:
Check if file exists
Delete file
Enumerate files on windows
Get file attributes
Resolve function by parsing pe exports
Set file attributes

Disassembly:
sub esp, 0x588
mov eax, dword [0x4764d8]
push esi
xor esi, esi
mov dword [0x476288], esi
mov dword [0x4764e4], esi
mov eax, dword [eax]
mov dword [esp + 8], esi
cmp eax, esi
mov dword [0x4764e0], eax
mov dword [0x4764dc], esi
jle 0x42fb46
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push ebp
push edi
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
mov dword [esp + 0x10], esi
lea ecx, [esp + 0x354]
push 0x476060
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x354]
push edx
call fcn.00448e70
mov eax, dword [0x4764d8]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 4]
lea ecx, [esp + 0x354]
push eax
push ecx
call ebp
lea edx, [esp + 0x354]
push 0x45fe64
push edx
call ebp
mov eax, dword [0x4764d8]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 8]
lea ecx, [esp + 0x354]
push eax
push ecx
call ebp
lea edx, [esp + 0x354]
push edx
call fcn.00448fd0
test eax, eax
jne 0x42f7ce
lea eax, [esp + 0x354]
lea ecx, [esp + 0xac]
push eax
push 0x46086c
push ecx
call edi
add esp, 0xc
lea edx, [esp + 0xac]
push edx
call fcn.0042ae80
jmp 0x42fb04
mov eax, dword [esp + 0x14]
mov ecx, dword [0x477398]
inc eax
lea edx, [esp + 0x230]
push eax
push ecx
push 0x4605f4
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x230]
push eax
call fcn.00448ed0
test eax, eax
jne 0x42f83f
lea ecx, [esp + 0x230]
push ecx
call fcn.0044ca6c
add esp, 4
cmp eax, 0xffffffff
jne 0x42f83f
lea edx, [esp + 0x230]
lea eax, [esp + 0xac]
push edx
push 0x460850
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0xac]
push ecx
call fcn.0042ae80
jmp 0x42fb04
lea edx, [esp + 0x230]
lea eax, [esp + 0xac]
push edx
push 0x460848
push eax
call edi
add esp, 0xc
lea ecx, [esp + 0x458]
lea edx, [esp + 0xac]
push ecx
push edx
call ebx
mov ebp, eax
cmp ebp, 0xffffffff
je 0x42f91a
lea eax, [esp + 0x18]
lea ecx, [esp + 0x334]
push eax
push ecx
push esi
lea edx, [esp + 0x490]
push esi
push edx
call fcn.0044c925
add esp, 0x14
lea eax, [esp + 0x18]
push 0x460844
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x42f903
lea ecx, [esp + 0x484]
lea edx, [esp + 0x230]
push ecx
push edx
lea eax, [esp + 0xb4]
push 0x46083c
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x42f8f5
test al, 1
je 0x42f8f5
lea edx, [esp + 0xac]
push 0x80
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [esp + 0xac]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x458]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x42f876
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_FindClose]
call ebp
mov eax, 1
lea ecx, [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
lea edx, [esp + 0x354]
lea eax, [esp + 0x230]
push ecx
mov dword [esp + 0x20], 0x8e
mov dword [esp + 0x24], 8
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], 0x45a27c
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov word [esp + 0x8c], si
mov dword [esp + 0x8e], esi
mov dword [esp + 0x92], esi
mov dword [esp + 0x96], esi
mov dword [esp + 0x9a], esi
mov dword [esp + 0x9e], esi
mov dword [esp + 0xa2], esi
mov dword [esp + 0xa6], esi
mov dword [esp + 0xaa], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x38], eax
call sub.DUNZIP32.dll_dunzip
cmp eax, esi
je 0x42fa6a
add eax, 0xfffffffc
cmp eax, 0x2e
ja case.0x42fa19.7
xor edx, edx
mov dl, byte [eax + 0x42fb88]
jmp dword [edx*4 + 0x42fb78]
push 0x460818
jmp 0x42fa4a
lea ecx, [esp + 0x1b0]
push 0x460800
push ecx
jmp 0x42fa52
lea edx, [esp + 0x1b0]
push 0x4607d8
push edx
jmp 0x42fa52
push 0x4607c0
lea eax, [esp + 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x1b0]
push ecx
call fcn.0042ae80
jmp 0x42fb04
mov edx, dword [esp + 0x59c]
push 0x4607a8
push 0x473
push edx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea eax, [esp + 0x230]
lea ecx, [esp + 0xac]
push eax
push 0x4605e8
push ecx
call edi
add esp, 0xc
lea edx, [esp + 0x458]
lea eax, [esp + 0xac]
push edx
push eax
call ebx
cmp eax, 0xffffffff
je 0x42fabd
mov dword [0x476288], 1
push eax
call ebp
lea ecx, [esp + 0x230]
lea edx, [esp + 0xac]
push ecx
push 0x4605dc
push edx
call edi
add esp, 0xc
lea eax, [esp + 0x458]
lea ecx, [esp + 0xac]
push eax
push ecx
call ebx
cmp eax, 0xffffffff
je 0x42fafb
mov dword [0x4764e4], 1
push eax
call ebp
inc dword [0x4764dc]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [0x4764e0]
inc eax
add edx, 0xc
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x42f726
mov eax, dword [0x4764dc]
pop edi
pop ebp
cmp eax, esi
pop ebx
jle 0x42fb46
mov edx, dword [esp + 0x590]
push 0x460798
push 0x43d
push edx
jmp 0x42fb58
mov eax, dword [esp + 0x590]
push 0x460780
push 0x43d
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ecx, dword [0x4764dc]
xor eax, eax
cmp ecx, esi
pop esi
setg al
add esp, 0x588
ret 4