Function at 0x410ed0
Capabilities:
Delete directory
Enumerate files on windows
Enumerate files recursively
Move file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45587e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4f0
mov eax, dword [0x46e018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4f8], edx
mov esi, ecx
push 0x20a
lea eax, [ebp - 0x228]
push 0
push eax
call fcn.0042ff40
mov eax, dword [0x470edc]
add esp, 0xc
inc eax
mov dword [0x470edc], eax
cmp eax, 0xa
ja 0x41197c
test esi, esi
je 0x41197c
push 0x104
lea eax, [ebp - 0x228]
push esi
push eax
call fcn.0043bf9d
add esp, 0xc
test eax, eax
jne 0x410f6f
dec dword [0x470edc]
jmp 0x411982
lea ecx, [ebp - 0x228]
call fcn.004121c0
test al, al
je 0x410f64
call fcn.00402ca0
mov ecx, eax
test ecx, ecx
je 0x4119a2
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4fc], eax
lea eax, [ebp - 0x228]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x4fc]
call fcn.0040f570
test al, al
jne 0x410fe5
lea ecx, [ebp - 0x228]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410fc3
sub ecx, edx
lea eax, [ebp - 0x228]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x4fc]
call fcn.0040f7b0
mov dword [ebp - 4], 1
call fcn.00402ca0
mov ecx, eax
test ecx, ecx
je 0x4119ac
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x4f4], eax
push str.Folder
lea ecx, [ebp - 0x4f4]
mov byte [ebp - 4], 2
call fcn.0040f570
test al, al
jne 0x411035
push 8
push str.Folder
lea ecx, [ebp - 0x4f4]
call fcn.0040f7b0
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x4fc]
mov esi, dword [ebp - 0x4f4]
push edi
push esi
push str._s_s
push 0x46eca0
call fcn.004167a0
lea edx, [esi - 0x10]
add esp, 0x10
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x411073
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], esi
dec esi
test esi, esi
jg 0x41108f
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x240], 0
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 7
lea edx, [ecx + 2]
mov word [ebp - 0x240], ax
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4110c0
sub ecx, edx
lea eax, [ebp - 0x228]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x240]
call fcn.00402a20
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x240]
push dword [ebp - 0x4f4]
mov edi, dword [ebp - 0x22c]
cmp edi, 8
mov esi, dword [ebp - 0x230]
mov edx, esi
cmovae ecx, dword [ebp - 0x240]
push 1
push 0x4644b8
push esi
call fcn.004127e0
lea ecx, [esi - 1]
add esp, 0x10
cmp eax, ecx
je 0x4111c1
mov eax, SysReAllocString
sub eax, esi
cmp eax, 1
jb 0x4119c0
push 1
push 0x4644b8
cmp edi, 8
lea eax, [ebp - 0x240]
push esi
cmovae eax, dword [ebp - 0x240]
push eax
push ecx
push dword [ebp - 0x4f4]
lea ecx, [ebp - 0x258]
call fcn.00410010
mov edx, dword [ebp - 0x22c]
cmp edx, 8
jb 0x4111a3
mov ecx, dword [ebp - 0x240]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411199
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
movups xmm0, xmmword [ebp - 0x258]
movups xmmword [ebp - 0x240], xmm0
movq xmm0, qword [ebp - 0x248]
movq qword [ebp - 0x230], xmm0
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x2a0]
call fcn.00402670
xor eax, eax
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 6
mov eax, SysReAllocString
mov ecx, dword [ebp - 0x290]
sub eax, ecx
cmp eax, 1
jb 0x4119c0
cmp dword [ebp - 0x28c], 8
lea eax, [ebp - 0x2a0]
push 1
cmovae eax, dword [ebp - 0x2a0]
push 0x465154
push ecx
push eax
push ecx
push dword [ebp - 0x4f4]
lea ecx, [ebp - 0x258]
call fcn.00410010
mov edx, dword [ebp - 0x28c]
cmp edx, 8
jb 0x411283
mov ecx, dword [ebp - 0x2a0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411279
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
movups xmm1, xmmword [ebp - 0x258]
cmp dword [ebp - 0x244], 8
lea ecx, [ebp - 0x2a0]
movq xmm0, qword [ebp - 0x248]
movd eax, xmm1
movups xmmword [ebp - 0x2a0], xmm1
cmovae ecx, eax
movq qword [ebp - 0x290], xmm0
lea eax, [ebp - 0x4f0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
mov dword [ebp - 0x4f4], esi
cmp esi, 0xffffffff
je 0x411850
test byte [ebp - 0x4f0], 0x10
lea ecx, [ebp - 0x4c4]
je 0x41149d
mov edx, 0x464f70
nop dword [eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x411316
test ax, ax
je 0x411312
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x411316
add ecx, 4
add edx, 4
test ax, ax
jne 0x4112f0
xor eax, eax
jmp 0x41131b
sbb eax, eax
or eax, 1
test eax, eax
je 0x411575
mov ecx, 0x464f74
lea eax, [ebp - 0x4c4]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x411356
test dx, dx
je 0x411352
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x411356
add eax, 4
add ecx, 4
test dx, dx
jne 0x411330
xor eax, eax
jmp 0x41135b
sbb eax, eax
or eax, 1
test eax, eax
je 0x411575
xor eax, eax
mov dword [ebp - 0x288], 0
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
lea edx, [ecx + 2]
mov word [ebp - 0x288], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x411393
sub ecx, edx
lea eax, [ebp - 0x4c4]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x288]
call fcn.00402a20
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x258]
call fcn.004126c0
add esp, 4
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
jb 0x4113e0
mov eax, dword [eax]
mov edi, dword [ebp - 0x4f8]
mov ecx, eax
mov edx, edi
call fcn.00410ed0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x244]
cmp edx, 8
jb 0x411433
mov ecx, dword [ebp - 0x258]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411429
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119b6
push edx
push ecx
call fcn.0042dc50
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 7
mov word [ebp - 0x258], ax
cmp edx, 8
jb 0x41157b
mov ecx, dword [ebp - 0x288]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41148e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119b6
push edx
push ecx
call fcn.0042dc50
add esp, 8
jmp 0x41157b
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4114a0
sub ecx, edx
mov eax, SysReAllocString
mov edx, dword [ebp - 0x230]
sub eax, edx
sar ecx, 1
cmp eax, ecx
jb 0x4119c0
cmp dword [ebp - 0x22c], 8
lea eax, [ebp - 0x240]
push ecx
cmovae eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x4c4]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x4f4]
lea ecx, [ebp - 0x258]
call fcn.00410010
mov edx, dword [ebp - 0x25c]
cmp edx, 8
jb 0x411534
mov ecx, dword [ebp - 0x270]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41152a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
movups xmm1, xmmword [ebp - 0x258]
cmp dword [ebp - 0x244], 8
lea ecx, [ebp - 0x270]
movq xmm0, qword [ebp - 0x248]
mov edi, dword [ebp - 0x4f8]
mov edx, edi
movd eax, xmm1
movups xmmword [ebp - 0x270], xmm1
cmovae ecx, eax
movq qword [ebp - 0x260], xmm0
call fcn.00410a10
jmp 0x41157b
mov edi, dword [ebp - 0x4f8]
lea eax, [ebp - 0x4f0]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_FindNextFileW]
call esi
test eax, eax
je 0x411844
test byte [ebp - 0x4f0], 0x10
je 0x411757
mov ecx, 0x464f70
lea eax, [ebp - 0x4c4]
nop dword [eax + eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4115d6
test dx, dx
je 0x4115d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4115d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4115b0
xor eax, eax
jmp 0x4115db
sbb eax, eax
or eax, 1
test eax, eax
je 0x41182d
mov ecx, 0x464f74
lea eax, [ebp - 0x4c4]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x411616
test dx, dx
je 0x411612
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x411616
add eax, 4
add ecx, 4
test dx, dx
jne 0x4115f0
xor eax, eax
jmp 0x41161b
sbb eax, eax
or eax, 1
test eax, eax
je 0x41182d
xor eax, eax
mov dword [ebp - 0x288], 0
lea ecx, [ebp - 0x4c4]
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x274], 7
lea edx, [ecx + 2]
mov word [ebp - 0x288], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x411653
sub ecx, edx
lea eax, [ebp - 0x4c4]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x288]
call fcn.00402a20
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 9
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x258]
call fcn.004126c0
add esp, 4
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 8
jb 0x4116a0
mov eax, dword [eax]
mov edx, edi
mov ecx, eax
call fcn.00410ed0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x244]
cmp edx, 8
jb 0x4116ed
mov ecx, dword [ebp - 0x258]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4116e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119b6
push edx
push ecx
call fcn.0042dc50
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 7
mov word [ebp - 0x258], ax
cmp edx, 8
jb 0x41182d
mov ecx, dword [ebp - 0x288]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411748
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119b6
push edx
push ecx
call fcn.0042dc50
add esp, 8
jmp 0x41182d
lea ecx, [ebp - 0x4c4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x411760
sub ecx, edx
mov eax, SysReAllocString
mov edx, dword [ebp - 0x230]
sub eax, edx
sar ecx, 1
cmp eax, ecx
jb 0x4119c0
cmp dword [ebp - 0x22c], 8
lea eax, [ebp - 0x240]
push ecx
cmovae eax, dword [ebp - 0x240]
lea ecx, [ebp - 0x4c4]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x4f4]
lea ecx, [ebp - 0x258]
call fcn.00410010
mov edx, dword [ebp - 0x25c]
cmp edx, 8
jb 0x4117f4
mov ecx, dword [ebp - 0x270]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4117ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
movups xmm1, xmmword [ebp - 0x258]
cmp dword [ebp - 0x244], 8
lea ecx, [ebp - 0x270]
movq xmm0, qword [ebp - 0x248]
mov edx, edi
movd eax, xmm1
movups xmmword [ebp - 0x270], xmm1
cmovae ecx, eax
movq qword [ebp - 0x260], xmm0
call fcn.00410a10
lea eax, [ebp - 0x4f0]
push eax
push dword [ebp - 0x4f4]
call esi
test eax, eax
jne 0x411593
push dword [ebp - 0x4f4]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
jne 0x411879
cmp dword [ebp - 0x4f8], eax
je 0x411879
push 4
push eax
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
dec dword [0x470edc]
mov edx, dword [ebp - 0x25c]
cmp edx, 8
jb 0x4118bf
mov ecx, dword [ebp - 0x270]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4118b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
mov edx, dword [ebp - 0x28c]
xor eax, eax
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
cmp edx, 8
jb 0x41191c
mov ecx, dword [ebp - 0x2a0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411912
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
mov edx, dword [ebp - 0x22c]
xor eax, eax
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 7
mov word [ebp - 0x2a0], ax
cmp edx, 8
jb 0x411975
mov ecx, dword [ebp - 0x240]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41196b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4119bb
push edx
push ecx
call fcn.0042dc50
add esp, 8
mov eax, 1
jmp 0x411984
dec eax
mov dword [0x470edc], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042dc42
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x80004005
call fcn.00410440
push 0x80004005
call fcn.00410440
call fcn.0043276f
call fcn.0043276f
call fcn.00402800
int3