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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x51e26c]
test eax, eax
jne 0x4398d9
mov eax, dword [0xa9ba60]
test eax, eax
jne 0x439635
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov dword [0xa9ba60], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4ef2e3
call fcn.00414a60
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041550e
mov edx, eax
mov eax, dword [0xa9ba60]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [0xa9ba64]
test eax, eax
jne 0x43968d
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov dword [0xa9ba64], eax
mov eax, dword [0xa9ba68]
test eax, eax
jne 0x4396af
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00414be3
mov dword [0xa9ba68], eax
mov edx, dword [0xa9ba60]
mov eax, dword [0xa9ba64]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [0xa9ba64]
mov eax, dword [eax + 4]
mov dword [0xa9ba6c], eax
jmp 0x439724
mov eax, dword [0xa9ba64]
mov eax, dword [eax]
mov edx, dword [0xa9ba6c]
sub edx, 1
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2f
je 0x439707
mov eax, dword [0xa9ba64]
mov eax, dword [eax]
mov edx, dword [0xa9ba6c]
sub edx, 1
add eax, edx
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x439717
mov eax, dword [0xa9ba64]
mov edx, dword [0xa9ba6c]
mov dword [eax + 4], edx
jmp 0x439732
mov eax, dword [0xa9ba6c]
sub eax, 1
mov dword [0xa9ba6c], eax
mov eax, dword [0xa9ba6c]
test eax, eax
setg al
test al, al
jne 0x4396d5
mov eax, dword [0xa9ba6c]
test eax, eax
jne 0x439747
mov eax, dword [0xa9ba64]
mov dword [eax + 4], 0
mov dword [0xa9ba70], 0
mov eax, dword [0xa9ba60]
mov dword [esp], eax
call fcn.0040a019
mov dword [esp + 4], 0xa9ba80
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
call eax
sub esp, 8
mov dword [0xa9bbc0], eax
mov eax, dword [0xa9bbc0]
cmp eax, 0xffffffff
jne 0x439793
mov dword [esp], 0x35
call fcn.00413488
jmp 0x4398dd
mov eax, dword [0xa9ba80]
and eax, 0x10
test eax, eax
jne 0x439889
mov dword [esp], 0xa9baac
call sub.msvcrt.dll_strlen
add eax, 1
mov dword [esp + 4], eax
mov dword [esp], 0xa9baac
call fcn.00414a60
mov edx, eax
mov eax, dword [0xa9ba64]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041550e
mov edx, eax
mov eax, dword [0xa9ba68]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00414d4a
mov eax, dword [0xa9ba68]
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileA]
call eax
sub esp, 4
test eax, eax
sete al
test al, al
je 0x43987c
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov dword [0xa9ba6c], eax
mov eax, dword [0xa9ba6c]
cmp eax, 5
je 0x439839
mov eax, dword [0xa9ba6c]
cmp eax, 0x13
je 0x439839
mov eax, dword [0xa9ba6c]
cmp eax, 0x21
je 0x439839
mov eax, dword [0xa9ba6c]
cmp eax, 0x20
jne 0x43985c
mov eax, dword [0xa9bbc0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindClose]
call eax
sub esp, 4
mov dword [esp], 0x37
call fcn.00413488
jmp 0x4398dd
mov eax, dword [0xa9bbc0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindClose]
call eax
sub esp, 4
mov dword [esp], 0x35
call fcn.00413488
jmp 0x4398dd
mov eax, dword [0xa9ba70]
add eax, 1
mov dword [0xa9ba70], eax
mov eax, dword [0xa9bbc0]
mov dword [esp + 4], 0xa9ba80
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindNextFileA]
call eax
sub esp, 8
test eax, eax
setne al
test al, al
jne 0x439793
mov eax, dword [0xa9bbc0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindClose]
call eax
sub esp, 4
mov eax, dword [0xa9ba70]
test eax, eax
jne 0x4398dc
mov dword [esp], 0x35
call fcn.00413488
jmp 0x4398dd
nop
jmp 0x4398dd
nop
leave
ret