Function at 0x660d9430
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1cc
mov esi, dword [ebp + 8]
lea eax, [esi + 4]
mov dword [esi + 0x14], 0
mov dword [ebp - 0x1c0], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 4], 0
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esi + 8], 0
mov eax, edi
add eax, ebx
je 0x660d948b
test edi, edi
je 0x660d9fe5
mov dword [ebp - 0x158], ebx
cmp ebx, 0xf
ja 0x660d9c30
cmp ebx, 1
jne 0x660d99a0
movzx eax, byte [edi]
mov byte [ebp - 0x168], al
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x16c], ebx
mov byte [eax + ebx], 0
mov eax, 0x3fffffff
sub eax, dword [ebp - 0x16c]
cmp eax, 1
jbe 0x660d9fd9
mov dword [esp + 4], 2
lea ecx, [ebp - 0x170]
mov dword [esp], 0x661e0661
call fcn.661b0180
sub esp, 8
lea eax, [ebp - 0x158]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x170]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x1c4], eax
sub esp, 8
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x1bc]
je 0x660d9532
mov edi, dword [ebp - 0x168]
mov dword [esp], eax
lea edx, [edi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
cmp dword [ebp - 0x1c4], 0xffffffff
je 0x660d9a33
cmp word [ebp - 0x12c], 0x2e
je 0x660d99fd
cmp word [ebp - 0x12c], 0x2e2e
je 0x660d9a80
lea eax, [ebp - 0x1b0]
mov byte [ebp - 0x1b0], 0
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], 0
test byte [ebp - 0x158], 0x10
je 0x660d9a98
mov dword [esp], 0x661e0667
mov ecx, dword [ebp + 0x10]
call fcn.661448d0
sub esp, 4
test eax, eax
jne 0x660d95bb
lea eax, [ebp - 0x12c]
mov dword [esp + 4], str.data
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x660d9e80
lea eax, [ebp - 0x180]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
add eax, ebx
je 0x660d95dd
test edi, edi
je 0x660d9f91
mov dword [ebp - 0x170], ebx
cmp ebx, 0xf
ja 0x660d9d90
cmp ebx, 1
jne 0x660d9cc8
movzx eax, byte [edi]
mov byte [ebp - 0x180], al
lea eax, [ebp - 0x180]
mov dword [ebp - 0x184], ebx
mov byte [eax + ebx], 0
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, 0x3fffffff
sub edx, dword [ebp - 0x184]
cmp eax, edx
ja 0x660d9f9d
mov dword [esp + 4], eax
lea eax, [ebp - 0x12c]
lea ecx, [ebp - 0x188]
mov dword [esp], eax
call fcn.661b0180
sub esp, 8
cmp dword [ebp - 0x184], 0x3fffffff
je 0x660d9f85
mov dword [esp + 4], 1
lea ecx, [ebp - 0x188]
mov dword [esp], 0x661e05cb
call fcn.661b0180
mov edi, dword [ebp - 0x1bc]
lea edx, [eax + 8]
sub esp, 8
mov dword [ebp - 0x170], edi
mov ecx, dword [eax]
cmp ecx, edx
je 0x660d9eff
mov dword [ebp - 0x170], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x168], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x16c], ecx
mov dword [eax], edx
mov byte [eax + 8], 0
mov edx, dword [ebp - 0x170]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1b8]
cmp edx, dword [ebp - 0x1bc]
je 0x660d9e30
lea edi, [ebp - 0x1b0]
mov ebx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x168]
cmp eax, edi
je 0x660d9ed0
mov edi, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], edx
mov dword [ebp - 0x1b4], ebx
mov dword [ebp - 0x1b0], ecx
test eax, eax
je 0x660d9ee2
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x16c], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x1bc]
je 0x660d9743
mov ecx, dword [ebp - 0x168]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x188]
lea edi, [ebp - 0x180]
cmp eax, edi
je 0x660d9768
mov ecx, dword [ebp - 0x180]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
cmp byte [0x66238040], 0
je 0x660d9790
mov eax, dword [ebp - 0x1b8]
mov dword [esp + 4], str.___s
mov dword [esp], 0x661e0634
mov dword [esp + 8], eax
call dword [0x661dc02c]
lea eax, [ebp - 0x180]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
add eax, ebx
je 0x660d97b2
test edi, edi
je 0x660d9fb5
mov dword [ebp - 0x170], ebx
cmp ebx, 0xf
ja 0x660d9d38
cmp ebx, 1
jne 0x660d9cb0
movzx eax, byte [edi]
mov byte [ebp - 0x180], al
lea eax, [ebp - 0x180]
mov dword [ebp - 0x184], ebx
mov byte [eax + ebx], 0
cmp dword [ebp - 0x184], 0x3fffffff
je 0x660d9fc1
mov dword [esp + 4], 1
lea ecx, [ebp - 0x188]
mov dword [esp], 0x661e05cb
call fcn.661b0180
sub esp, 8
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, 0x3fffffff
sub edx, dword [ebp - 0x184]
cmp eax, edx
ja 0x660d9fcd
mov dword [esp + 4], eax
lea eax, [ebp - 0x12c]
lea ecx, [ebp - 0x188]
mov dword [esp], eax
call fcn.661b0180
mov edi, dword [ebp - 0x1bc]
lea edx, [eax + 8]
sub esp, 8
mov dword [ebp - 0x170], edi
mov ecx, dword [eax]
cmp ecx, edx
je 0x660d9f28
mov dword [ebp - 0x170], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x168], ecx
mov ecx, dword [eax + 4]
lea edi, [ebp - 0x170]
mov dword [ebp - 0x16c], ecx
mov dword [eax], edx
lea edx, [ebp - 0x1b8]
mov dword [eax + 4], 0
mov byte [eax + 8], 0
lea eax, [ebp - 0x1a0]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.660d9430
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x1bc]
je 0x660d98cf
mov ecx, dword [ebp - 0x168]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov eax, dword [ebp - 0x188]
lea edi, [ebp - 0x180]
cmp eax, edi
je 0x660d98f4
mov edi, dword [ebp - 0x180]
mov dword [esp], eax
lea edx, [edi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
mov ebx, dword [ebp - 0x194]
lea eax, [ebp - 0x19c]
cmp ebx, eax
je 0x660d994f
lea esi, [esi]
mov eax, dword [ebp - 0x1c0]
lea edi, [ebx + 0x10]
mov ecx, esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.661c2eb0
sub esp, 8
test edx, edx
je 0x660d993b
mov dword [esp + 8], edi
mov ecx, esi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.660d6550
sub esp, 0xc
mov dword [esp], ebx
call fcn.661c8380
mov ebx, eax
lea eax, [ebp - 0x19c]
cmp ebx, eax
jne 0x660d9908
mov eax, dword [ebp - 0x198]
call fcn.660d4c40
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x660d9a50
mov edi, dword [sym.imp.msvcrt.dll__stricmp]
lea esi, [esi]
nop
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1b8]
mov dword [esp], eax
call edi
mov edx, eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
test edx, edx
js 0x660d9a40
test eax, eax
je 0x660d99b8
mov ebx, eax
jmp 0x660d9970
mov eax, dword [ebp - 0x1bc]
test ebx, ebx
je 0x660d94b2
jmp 0x660d9c61
mov dword [ebp - 0x1c8], ebx
mov eax, dword [ebp - 0x1b8]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call edi
test eax, eax
js 0x660d9bf0
mov eax, dword [ebp - 0x1b8]
lea edi, [ebp - 0x1b0]
cmp eax, edi
je 0x660d99fd
mov edi, dword [ebp - 0x1b0]
mov dword [esp], eax
lea edx, [edi + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
lea eax, [ebp - 0x158]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
sub esp, 8
test eax, eax
jne 0x660d953f
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 4
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
test ecx, ecx
je 0x660d9a56
mov eax, ecx
mov ebx, eax
jmp 0x660d9970
mov ebx, dword [ebp - 0x1c0]
cmp ebx, dword [esi + 0xc]
je 0x660d9c88
mov dword [esp], ebx
call fcn.661c8320
mov dword [ebp - 0x1c8], ebx
mov edi, dword [sym.imp.msvcrt.dll__stricmp]
mov ebx, eax
jmp 0x660d99be
cmp byte [ebp - 0x12a], 0
je 0x660d99fd
jmp 0x660d955c
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
add eax, ebx
je 0x660d9aba
test edi, edi
je 0x660d9ff1
mov dword [ebp - 0x188], ebx
cmp ebx, 0xf
ja 0x660d9ce0
cmp ebx, 1
jne 0x660d9c98
movzx eax, byte [edi]
mov byte [ebp - 0x168], al
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x16c], ebx
mov byte [eax + ebx], 0
lea eax, [ebp - 0x12c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, 0x3fffffff
sub edx, dword [ebp - 0x16c]
cmp eax, edx
ja 0x660d9fa9
mov dword [esp + 4], eax
lea eax, [ebp - 0x12c]
lea ecx, [ebp - 0x170]
mov dword [esp], eax
call fcn.661b0180
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x170]
sub esp, 8
mov edx, dword [ebp - 0x16c]
cmp ecx, dword [ebp - 0x1bc]
je 0x660d9de8
lea edi, [ebp - 0x1b0]
mov ebx, dword [ebp - 0x168]
cmp eax, edi
je 0x660d9ea0
mov edi, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1b0], ebx
test eax, eax
je 0x660d9eb2
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x16c], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x1bc]
je 0x660d9bb5
mov ecx, dword [ebp - 0x168]
mov dword [esp], eax
lea edx, [ecx + 1]
mov dword [esp + 4], edx
call fcn.661cddb0
cmp byte [0x66238040], 0
je 0x660d995a
mov eax, dword [ebp - 0x1b8]
mov dword [esp + 4], str.___s
mov dword [esp], 0x661e0634
mov dword [esp + 8], eax
call dword [0x661dc02c]
jmp 0x660d995a
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x660d99d8
lea eax, [ebp - 0x1b8]
mov dword [esp], 0
mov ecx, esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1c8]
mov dword [esp + 4], eax
call fcn.660d6550
sub esp, 0xc
jmp 0x660d99d8
lea eax, [ebp - 0x158]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x170]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x170], eax
sub esp, 8
mov dword [ebp - 0x168], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x170]
jmp 0x660d94b2
mov dword [ebp - 0x1c8], ebx
jmp 0x660d9bfe
mov eax, dword [ebp - 0x1bc]
test ebx, ebx
je 0x660d9ae1
jmp 0x660d9d11
lea eax, [ebp - 0x180]
test ebx, ebx
je 0x660d97d9
jmp 0x660d9d69
lea eax, [ebp - 0x180]
test ebx, ebx
je 0x660d9604
jmp 0x660d9dc1
lea eax, [ebp - 0x188]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x170]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x170], eax
sub esp, 8
mov dword [ebp - 0x168], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x188]
mov eax, dword [ebp - 0x170]
jmp 0x660d9ae1
lea eax, [ebp - 0x170]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x188]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x188], eax
sub esp, 8
mov dword [ebp - 0x180], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x188]
jmp 0x660d97d9
lea eax, [ebp - 0x170]
mov dword [esp + 4], 0
lea ecx, [ebp - 0x188]
mov dword [esp], eax
call fcn.661b02e0
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x188], eax
sub esp, 8
mov dword [ebp - 0x180], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x170]
mov eax, dword [ebp - 0x188]
jmp 0x660d9604
test edx, edx
je 0x660d9e17
cmp edx, 1
je 0x660d9f6b
mov edi, dword [ebp - 0x1bc]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], edi
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1b4], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x170]
jmp 0x660d9b85
mov edx, dword [ebp - 0x16c]
test edx, edx
je 0x660d9e65
cmp edx, 1
je 0x660d9f51
mov edi, dword [ebp - 0x1bc]
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], edi
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1b4], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x170]
jmp 0x660d9713
mov dword [esp + 4], str._data__folder_detected_in_mod_root._Move_all_files_inside_to_the_mod_root__or_it_will_not_work
mov dword [esp], 0x661e0634
call dword [0x661dc034]
jmp 0x660d95bb
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1b0], ebx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1bc], eax
jmp 0x660d9b85
mov dword [ebp - 0x1b8], edx
mov dword [ebp - 0x1b4], ebx
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1bc], eax
jmp 0x660d9713
mov ecx, dword [eax + 8]
mov dword [ebp - 0x168], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x164], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x160], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x15c], ecx
jmp 0x660d969f
mov ecx, dword [eax + 8]
mov dword [ebp - 0x168], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x164], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x160], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x15c], ecx
jmp 0x660d9874
movzx edx, byte [ebp - 0x168]
mov byte [eax], dl
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1b8]
jmp 0x660d9e65
movzx edx, byte [ebp - 0x168]
mov byte [eax], dl
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1b8]
jmp 0x660d9e17
mov dword [esp], 0x661e05d2
call fcn.661d33a0
mov dword [esp], 0x661e0554
call fcn.661d32b0
mov dword [esp], 0x661e05d2
call fcn.661d33a0
mov dword [esp], 0x661e05d2
call fcn.661d33a0
mov dword [esp], 0x661e0554
call fcn.661d32b0
mov dword [esp], 0x661e05d2
call fcn.661d33a0
mov dword [esp], 0x661e05d2
call fcn.661d33a0
mov dword [esp], 0x661e05d2
call fcn.661d33a0
mov dword [esp], 0x661e0554
call fcn.661d32b0
mov dword [esp], 0x661e0554
call fcn.661d32b0
mov ebx, eax
jmp 0x661d0c03
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x1bc]
je 0x661d0c26
mov eax, dword [ebp - 0x168]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
mov eax, dword [esi + 8]
call fcn.660d4c40
mov dword [esp], ebx
call fcn.66116c90
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x1bc]
je 0x661d0c59
mov eax, dword [ebp - 0x168]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x180]
cmp edx, eax
je 0x661d0c7e
mov eax, dword [ebp - 0x180]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
mov edx, dword [ebp - 0x1b8]
lea eax, [ebp - 0x1b0]
cmp edx, eax
je 0x661d0c26
mov eax, dword [ebp - 0x1b0]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call fcn.661cddb0
jmp 0x661d0c26