Function at 0x457330
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa9c
mov eax, dword [0x57b270]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push ebx
mov dword [ebp - 0xa9c], ebx
call esi
test eax, eax
je 0x45764f
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004ed350
add esp, 0xc
lea eax, [ebp - 0x20c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x20c]
push eax
call esi
cmp word [ebp + eax*2 - 0x20e], 0x5c
je 0x4573a9
push 0x53ed58
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x208
lea eax, [ebp - 0x61c]
push 0
push eax
call fcn.004ed350
push 0x540118
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x61c]
push 0x53fad0
push eax
call fcn.00420180
add esp, 0x1c
lea eax, [ebp - 0xa8c]
push eax
lea eax, [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0xa90], eax
cmp eax, 0xffffffff
je 0x45764f
mov ebx, eax
push edi
test byte [ebp - 0xa8c], 0x10
je 0x45747b
push 0x53fa64
lea eax, [ebp - 0xa60]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x457607
cmp word [ebp - 0xa60], 0x2e
je 0x457607
push 0x208
lea eax, [ebp - 0x824]
push 0
push eax
call fcn.004ed350
lea eax, [ebp - 0xa60]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x824]
push 0x53fad0
push eax
call fcn.00420180
lea eax, [ebp - 0x824]
push 1
push eax
call fcn.00457330
add esp, 0x24
jmp 0x457607
push 0x208
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.004ed350
lea eax, [ebp - 0xa60]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push 0x53fad0
push eax
call fcn.00420180
add esp, 0x1c
mov dword [ebp - 0x82c], 0
xor eax, eax
mov dword [ebp - 0x828], 7
lea ecx, [ebp - 0x414]
mov word [ebp - 0x83c], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4574d6
sub ecx, edx
lea eax, [ebp - 0x414]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x83c]
call fcn.00416d80
cmp dword [ebp - 0x828], 8
lea edx, [ebp - 0x83c]
mov ebx, dword [ebp - 0x83c]
mov eax, dword [ebp - 0x82c]
cmovae edx, ebx
mov dword [ebp - 0xa98], edx
cmp eax, 0xf
jb 0x457582
add eax, 0xfffffff2
lea ecx, [edx + eax*2]
mov eax, edx
mov dword [ebp - 0xa94], ecx
nop dword [eax]
sub ecx, eax
sar ecx, 1
je 0x457582
cmp word [eax], 0x43
je 0x457546
add eax, 2
sub ecx, 1
jne 0x457536
jmp 0x457582
mov edx, str.CustomHosts.txt
mov edi, eax
mov esi, 0xf
sub edi, edx
nop dword [eax]
nop dword [eax + eax]
mov cx, word [edi + edx]
cmp cx, word [edx]
jne 0x457641
add edx, 2
sub esi, 1
jne 0x457560
sub eax, dword [ebp - 0xa98]
sar eax, 1
cmp eax, 0xffffffff
jne 0x4575b0
push 0
push str.CustomRule.txt
lea ecx, [ebp - 0x83c]
call fcn.00428620
cmp eax, 0xffffffff
jne 0x4575b0
push 0
push str.CustomWhiteDomain.txt
lea ecx, [ebp - 0x83c]
call fcn.00428620
cmp eax, 0xffffffff
je 0x4575b6
cmp dword [ebp + 0xc], 0
je 0x4575cb
lea eax, [ebp - 0x414]
push eax
call fcn.00457af0
mov ebx, dword [ebp - 0x83c]
add esp, 4
mov eax, dword [ebp - 0x828]
cmp eax, 8
jb 0x457601
lea ecx, [eax*2 + 2]
mov eax, ebx
cmp ecx, 0x1000
jb 0x4575f7
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x457661
push ecx
push ebx
call fcn.00460b61
add esp, 8
mov ebx, dword [ebp - 0xa90]
lea eax, [ebp - 0xa8c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x457402
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0xa9c]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460b6f
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xa94]
add eax, 2
jmp 0x457530
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
xor ecx, ebp
pop ebx
call fcn.00460b6f
mov esp, ebp
pop ebp
ret
call fcn.004f639a
int3