Function at 0x41e6b0
Capabilities:
Enumerate files on windows
Enumerate files recursively
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x61cf26
mov eax, dword fs:[0]
push eax
sub esp, 0x368
mov eax, dword [0x69e3d4]
xor eax, esp
mov dword [esp + 0x360], eax
push ebx
push esi
push edi
mov eax, dword [0x69e3d4]
xor eax, esp
push eax
lea eax, [esp + 0x378]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 0x24]
lea edx, [esp + 0x15c]
mov dword [esp + 0x18], edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x41e702
lea eax, [esp + 0x15c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41e718
sub eax, edx
lea eax, [esp + eax + 0x15c]
lea ecx, [esp + 0x15c]
cmp eax, ecx
jb 0x41e76a
mov cl, byte [eax]
cmp cl, 0x2f
je 0x41e75c
cmp cl, 0x5c
je 0x41e75c
cmp cl, 0x3a
je 0x41e75c
lea edx, [esp + 0x15c]
cmp eax, edx
je 0x41e75c
sub eax, 1
mov ecx, edx
cmp eax, ecx
jae 0x41e735
jmp 0x41e76a
lea edx, [esp + 0x15c]
cmp eax, edx
jbe 0x41e76a
add eax, 1
push 0x6be210
push eax
call fcn.005c2a60
mov ecx, dword [0x6be318]
add esp, 8
test eax, eax
jne 0x41e90c
test ecx, ecx
je 0x41e90c
cmp dword [ebp + 8], 0
je 0x41e7aa
cmp dword [0x6be31c], 0
jle 0x41e8fa
sub dword [0x6be31c], 1
jmp 0x41e7c0
add ecx, 0xffffffff
cmp dword [0x6be31c], ecx
jge 0x41e8fa
add dword [0x6be31c], 1
mov eax, dword [edi]
mov edx, dword [eax + 0x58]
mov ecx, edi
call edx
test eax, eax
je 0x41e893
call fcn.0056d592
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x41e7eb
push 0x80004005
call fcn.004012f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
push ecx
push edi
mov dword [esp + 0x388], 0
call fcn.0041de30
mov byte [esp + 0x380], 1
mov eax, dword [eax]
push eax
push 0x84
lea edx, [esp + 0x1c]
push edx
call fcn.0057f955
mov byte [esp + 0x380], 0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or esi, 0xffffffff
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41e855
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0
push 3
push ecx
call fcn.00572369
cmp eax, 6
jne 0x41e8c8
mov ecx, edi
call fcn.0041d8f0
mov dword [esp + 0x380], esi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], esi
dec esi
test esi, esi
jg 0x41e893
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x6be314]
mov ecx, dword [0x6be31c]
mov ecx, dword [edx + ecx*4]
mov edx, 0x6be210
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x41e8a7
mov eax, dword [edi]
mov edx, dword [eax + 0x74]
push 0x6be210
mov ecx, edi
call edx
jmp 0x41ebbb
cmp eax, 2
jne 0x41e86f
mov dword [esp + 0x380], esi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
lock xadd dword [edx], esi
dec esi
test esi, esi
jg 0x41ebbb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x41ebbb
push 0x64
push 0x190
call dword [sym.imp.kernel32.dll_Beep]
jmp 0x41ebbb
mov eax, dword [0x6be314]
test eax, eax
jne 0x41e937
mov eax, dword [0x6a9f9c]
lea ecx, [eax*4]
push ecx
call fcn.005a854a
add esp, 4
xor ecx, ecx
mov dword [0x6be314], eax
mov dword [0x6be318], ecx
xor esi, esi
test ecx, ecx
jle 0x41e963
lea ecx, [ecx]
mov edx, dword [eax + esi*4]
push edx
call fcn.005a8a7b
mov eax, dword [0x6be314]
mov dword [eax + esi*4], 0
add esi, 1
add esp, 4
cmp esi, dword [0x6be318]
jl 0x41e940
mov edi, dword [sym.imp.kernel32.dll_FindFirstFileA]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x160]
push ecx
mov dword [0x6be318], 0
call edi
cmp eax, 0xffffffff
je 0x41ebbb
xor eax, eax
lea ecx, [ecx]
mov cl, byte [esp + eax + 0x48]
mov byte [esp + eax + 0x264], cl
add eax, 1
test cl, cl
jne 0x41e990
xor eax, eax
jmp 0x41e9b0
mov cl, byte [esp + eax + 0x15c]
mov byte [eax + 0x6be210], cl
add eax, 1
test cl, cl
jne 0x41e9b0
mov eax, 0x6be210
xor ebx, ebx
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41e9d0
sub eax, edx
lea esi, [eax + 0x6be210]
cmp esi, 0x6be210
jb 0x41ea67
lea ecx, [ecx]
test ebx, ebx
jne 0x41e9fd
cmp byte [esi], 0x2e
jne 0x41e9fd
mov ebx, esi
jmp 0x41ea13
mov al, byte [esi]
cmp al, 0x2f
je 0x41ea20
cmp al, 0x5c
je 0x41ea20
cmp al, 0x3a
je 0x41ea20
cmp esi, 0x6be210
je 0x41ea2b
sub esi, 1
cmp esi, 0x6be210
jae 0x41e9f0
jmp 0x41ea67
cmp esi, 0x6be210
jbe 0x41ea2b
add esi, 1
mov byte [esi], 0x2a
add esi, 1
test ebx, ebx
je 0x41ea5b
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41ea40
sub eax, edx
add eax, 1
push eax
push ebx
push esi
call fcn.005a8cf0
add esp, 0xc
jmp 0x41ea67
mov byte [esi], 0x2e
add esi, 1
mov byte [esi], 0
sub esi, 1
cmp byte [esi], 0x2e
jne 0x41ebbb
lea edx, [esp + 0x1c]
push edx
push 0x6be210
call edi
mov edi, eax
cmp edi, 0xffffffff
je 0x41ebbb
mov bl, byte [esi - 1]
sub esi, 1
push 0x6be210
mov byte [esi], 0
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryA]
mov byte [esi], bl
lea ecx, [ecx]
lea eax, [esp + 0x48]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41eaa7
sub eax, edx
add eax, 1
push eax
call fcn.005a854a
mov ecx, dword [0x6be314]
mov edx, dword [0x6be318]
mov dword [ecx + edx*4], eax
mov ebx, dword [0x6be314]
mov esi, dword [0x6be318]
mov edx, dword [ebx + esi*4]
add esp, 4
lea ecx, [esp + 0x48]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x41eae0
mov eax, dword [0x6a9f9c]
add esi, 1
cmp esi, eax
mov dword [0x6be318], esi
jl 0x41eb1d
add eax, 0x100
mov dword [0x6a9f9c], eax
add eax, eax
add eax, eax
push eax
push ebx
call fcn.005a70bf
add esp, 8
mov dword [0x6be314], eax
lea ecx, [esp + 0x1c]
push ecx
push edi
call dword [sym.imp.kernel32.dll_FindNextFileA]
test eax, eax
jne 0x41eaa0
push edi
call dword [sym.imp.kernel32.dll_FindClose]
mov edx, dword [0x6be318]
mov eax, dword [0x6be314]
push 0x41e690
push 4
push edx
push eax
call fcn.005a6820
xor esi, esi
add esp, 0x10
cmp dword [0x6be318], esi
jle 0x41ebbb
mov edi, edi
mov ecx, dword [0x6be314]
mov edx, dword [ecx + esi*4]
push edx
lea eax, [esp + 0x268]
push eax
call fcn.005c2a60
add esp, 8
test eax, eax
je 0x41eb8b
add esi, 1
cmp esi, dword [0x6be318]
jl 0x41eb60
jmp 0x41ebbb
mov ecx, dword [0x6be314]
mov ecx, dword [ecx + esi*4]
mov dword [0x6be31c], esi
mov edx, 0x6be210
nop
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x41eba0
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
push edx
call fcn.0041e6b0
mov ecx, dword [esp + 0x378]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x360]
xor ecx, esp
call fcn.005a58d9
mov esp, ebp
pop ebp
ret 4