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

Disassembly:
sub esp, 0x950
push ebx
push esi
push edi
push dword [esp + 0x960]
lea eax, [esp + 0x158]
push 0x458e64
push 0x401
push eax
call fcn.00404f40
lea ecx, [esp + 0x164]
mov dword [esp + 0x1c], eax
add esp, 0x10
lea edx, [ecx + 1]
mov esi, str.__PYE_LOCK__
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406690
sub ecx, edx
cmp byte [esp + ecx + 0x154], 0x5c
jne 0x4066a4
dec ecx
mov al, byte [str.__PYE_LOCK__]
test al, al
je 0x4066c4
cmp al, 0x2e
jne 0x4066bf
mov eax, dword [0x458e69]
cmp al, 0x2e
je 0x4066c4
mov esi, 0x458e69
cmp al, 0x5c
jne 0x4066c4
inc esi
mov edx, esi
lea edi, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4066d0
lea eax, [esp + 0x154]
lea eax, [eax + ecx]
sub edx, edi
jne 0x4066ea
mov byte [eax], 0
jmp 0x40670f
mov byte [eax], 0x5c
mov eax, ecx
not eax
push esi
add eax, 0x401
push 0x458dc8
push eax
lea eax, [esp + 0x161]
add eax, ecx
push eax
call fcn.00404f40
add esp, 0x10
mov ebx, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x158]
push eax
call ebx
cmp eax, 0xffffffff
je 0x406746
test byte [esp + 0x14], 0x10
jne 0x406746
lea eax, [esp + 0x154]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x4068f4
lea eax, [esp + 0x154]
push eax
push 0x458e78
lea eax, [esp + 0x560]
push 0x401
push eax
call fcn.00404f40
lea ecx, [esp + 0x164]
add esp, 0x10
mov esi, 0x458e7c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406777
sub ecx, edx
cmp byte [esp + ecx + 0x154], 0x5c
jne 0x40678b
dec ecx
mov ax, word [0x458e7c]
test al, al
je 0x4067a9
cmp al, 0x2e
jne 0x4067a4
cmp ah, al
je 0x4067a9
mov esi, 0x458e7d
mov al, ah
cmp al, 0x5c
jne 0x4067a9
inc esi
mov edx, esi
lea edi, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4067b0
lea eax, [esp + 0x154]
lea eax, [eax + ecx]
sub edx, edi
jne 0x4067ca
mov byte [eax], 0
jmp 0x4067ef
mov byte [eax], 0x5c
mov eax, ecx
not eax
push esi
add eax, 0x401
push 0x458dc8
push eax
lea eax, [esp + 0x161]
add eax, ecx
push eax
call fcn.00404f40
add esp, 0x10
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x158]
push eax
call ebx
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4068f4
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_FindNextFileA]
mov edx, 0x400
test byte [esp + 0x18], 0x10
jne 0x4068c8
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x55c]
cmp eax, 0x400
lea esi, [esp + 0x44]
cmova eax, edx
lea edx, [ecx + 1]
mov byte [esp + eax + 0x55c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406842
sub ecx, edx
cmp byte [esp + ecx + 0x55c], 0x5c
jne 0x406856
dec ecx
mov al, byte [esp + 0x44]
test al, al
je 0x406872
cmp al, 0x2e
jne 0x40686c
cmp byte [esp + 0x45], al
je 0x406872
lea esi, [esp + 0x45]
cmp byte [esi], 0x5c
jne 0x406872
inc esi
mov edx, esi
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x406877
lea eax, [esp + 0x55c]
lea eax, [eax + ecx]
sub edx, edi
jne 0x406891
mov byte [eax], 0
jmp 0x4068b6
mov byte [eax], 0x5c
mov eax, ecx
not eax
push esi
add eax, 0x401
push 0x458dc8
push eax
lea eax, [esp + 0x569]
add eax, ecx
push eax
call fcn.00404f40
add esp, 0x10
lea eax, [esp + 0x55c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x4068f3
lea eax, [esp + 0x18]
push eax
push ebx
call ebp
mov edx, 0x400
test eax, eax
jne 0x406815
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [esp + 0x964]
call fcn.004258e4
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x950
ret