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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a80ba
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x488
mov eax, dword [0x4dd114]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 4], 2
mov byte [ebp - 4], 3
push 0xc
lea ecx, [ebp - 0x54]
call fcn.004180c0
lea ecx, [ebp - 0x54]
call fcn.00409bc0
mov byte [ebp - 4], 4
push 0x4b1760
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.00402a60
add esp, 0xc
mov dword [ebp - 0x3bc], eax
mov byte [ebp - 4], 5
lea edx, [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0x48]
call fcn.00418c70
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0xffffffff
jne 0x41ee9d
mov eax, dword [0x4e3cb0]
add eax, 1
mov ecx, dword [0x4e3cb4]
adc ecx, 0
mov dword [0x4e3cb0], eax
mov dword [0x4e3cb4], ecx
push 0xc
lea ecx, [ebp - 0x28]
call fcn.004180c0
lea ecx, [ebp - 0x28]
call fcn.00409bc0
mov byte [ebp - 4], 6
lea edx, [ebp - 0x29c]
push edx
lea ecx, [ebp - 0x438]
call fcn.00409570
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x314], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x320], ecx
push 0x4b1768
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.00402a60
add esp, 0xc
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x31c], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x31c]
mov dword [ebp - 0x324], edx
mov eax, dword [ebp - 0x320]
push eax
mov ecx, dword [ebp - 0x324]
push ecx
lea edx, [ebp - 0x408]
push edx
call fcn.00402930
add esp, 0xc
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040e0d0
lea ecx, [ebp - 0x408]
call fcn.0040cf40
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x420]
call fcn.0040cf40
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x438]
call fcn.0040cf40
mov ecx, dword [ebp - 0x2c8]
and ecx, 0x10
jne 0x41f445
mov byte [ebp - 4], 9
push 0x4b176c
lea ecx, [ebp - 0x48]
call fcn.00418c70
push eax
call fcn.0048a67f
add esp, 8
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0
jne 0x41efbd
mov byte [ebp - 4], 6
jmp 0x41f4b0
mov edx, dword [ebp - 0x2e4]
push edx
call fcn.0048a8e0
add esp, 4
push 0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x450]
call fcn.00402210
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x330], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x330]
push edx
call fcn.0041b9a0
add esp, 4
mov byte [ebp - 0x2c9], al
mov al, byte [ebp - 0x2c9]
mov byte [ebp - 0x2ca], al
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x450]
call fcn.0040cad0
movzx ecx, byte [ebp - 0x2ca]
test ecx, ecx
je 0x41f091
push 0
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x468]
call fcn.00402210
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x338]
push ecx
call fcn.0041ae40
add esp, 4
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3a0], edx
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x468]
call fcn.0040cad0
push 0
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x498]
call fcn.00402210
mov dword [ebp - 0x33c], eax
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x340], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x344], eax
lea ecx, [ebp - 0x480]
push ecx
mov ecx, dword [ebp - 0x344]
call fcn.0041ad80
mov dword [ebp - 0x3b8], eax
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3b4], edx
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x3ac], eax
lea ecx, [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x3ac]
call fcn.00421490
mov dword [ebp - 0x3d8], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x480]
call fcn.0040cad0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x498]
call fcn.0040cad0
push 0xc
lea ecx, [ebp - 0x60]
call fcn.004180c0
lea ecx, [ebp - 0x60]
call fcn.00409bc0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 0
jl 0x41f208
jg 0x41f15a
cmp dword [ebp - 0x30], 0x3200000
jbe 0x41f208
push 0
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x3f0]
call fcn.00402210
mov dword [ebp - 0x3c0], eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x2d4]
or eax, 1
mov dword [ebp - 0x2d4], eax
lea ecx, [ebp - 0x3f0]
push ecx
call fcn.0041b9a0
add esp, 4
mov byte [ebp - 0x2cb], al
movzx edx, byte [ebp - 0x2cb]
test edx, edx
je 0x41f208
push 0x4b1774
lea eax, [ebp - 0x78]
push eax
call fcn.004026f0
add esp, 8
mov byte [ebp - 0x2cc], al
movzx ecx, byte [ebp - 0x2cc]
test ecx, ecx
je 0x41f208
push 0x4b177c
lea edx, [ebp - 0x78]
push edx
call fcn.00402730
add esp, 8
mov byte [ebp - 0x2cd], al
movzx eax, byte [ebp - 0x2cd]
test eax, eax
je 0x41f208
push 0
push 0x4b1780
lea ecx, [ebp - 0x48]
call fcn.0041af30
cmp eax, 0xffffffff
jne 0x41f208
mov dword [ebp - 0x2e8], 1
jmp 0x41f212
mov dword [ebp - 0x2e8], 0
mov cl, byte [ebp - 0x2e8]
mov byte [ebp - 0x2ce], cl
mov dword [ebp - 4], 0x11
mov edx, dword [ebp - 0x2d4]
and edx, 1
je 0x41f242
and dword [ebp - 0x2d4], 0xfffffffe
lea ecx, [ebp - 0x3f0]
call fcn.0040cad0
movzx eax, byte [ebp - 0x2ce]
test eax, eax
je 0x41f3f7
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp + 0x3c]
push edx
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp + 0xc]
push ecx
lea edx, [ebp - 0x48]
push edx
push 0x41c550
lea ecx, [ebp - 0x28]
call fcn.00406980
lea ecx, [ebp - 0x28]
call fcn.004211e0
cmp eax, 0xa
jb 0x41f300
lea eax, [ebp - 0x28]
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
call fcn.00417fc0
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2ec]
call fcn.00417fe0
mov dword [ebp - 0x3a8], eax
jmp 0x41f2bf
mov ecx, dword [ebp - 0x2d8]
add ecx, 8
mov dword [ebp - 0x2d8], ecx
mov edx, dword [ebp - 0x2d8]
cmp edx, dword [ebp - 0x3a8]
je 0x41f2f8
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.0041bad0
movzx ecx, al
test ecx, ecx
je 0x41f2f6
mov ecx, dword [ebp - 0x2f0]
call fcn.0041ba00
jmp 0x41f2b0
lea ecx, [ebp - 0x28]
call fcn.00418e80
jmp 0x41f3dc
mov dword [ebp - 4], 0x11
jmp 0x41f3ee
jmp 0x41f3f7
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x60]
call fcn.0040d400
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x78]
call fcn.0040cef0
jmp 0x41f433
mov dword [ebp - 4], 6
jmp 0x41f443
jmp 0x41f4b0
push 0x4b17f8
lea ecx, [ebp - 0x29c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x41f4b0
push 0x4b17fc
lea edx, [ebp - 0x29c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x41f4b0
push 0
push 0x4b1804
lea ecx, [ebp - 0x48]
call fcn.0041af30
cmp eax, 0xffffffff
jne 0x41f491
mov dword [ebp - 0x2f8], 1
jmp 0x41f49b
mov dword [ebp - 0x2f8], 0
cmp dword [ebp - 0x2f8], 0
je 0x41f4b0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x54]
call fcn.004203e0
lea ecx, [ebp - 0x2c8]
push ecx
mov edx, dword [ebp - 0x2e0]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x41eeb3
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2fc], ecx
mov ecx, dword [ebp - 0x2fc]
call fcn.00417fc0
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2fc]
call fcn.00417fe0
mov dword [ebp - 0x360], eax
jmp 0x41f519
mov edx, dword [ebp - 0x2dc]
add edx, 8
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0x360]
je 0x41f552
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x300], ecx
mov ecx, dword [ebp - 0x300]
call fcn.0041bad0
movzx edx, al
test edx, edx
je 0x41f550
mov ecx, dword [ebp - 0x300]
call fcn.0041ba00
jmp 0x41f50a
jmp 0x41f62e
mov dword [ebp - 4], 6
jmp 0x41f640
jmp 0x41f649
push 4
lea ecx, [ebp - 0x18]
call fcn.004180c0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x54]
call fcn.00418b80
push 4
lea ecx, [ebp - 0x1c]
call fcn.004180c0
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x54]
call fcn.0041ab20
jmp 0x41f67f
lea ecx, [ebp - 0x18]
call fcn.0040e880
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x18]
call fcn.0040e5c0
mov byte [ebp - 0x2cf], al
movzx eax, byte [ebp - 0x2cf]
test eax, eax
je 0x41f722
lea ecx, [ebp - 0x18]
call fcn.0040e820
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x38c], ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3c4], esp
lea edx, [ebp + 0x3c]
push edx
call fcn.00409110
mov dword [ebp - 0x3c8], eax
mov byte [ebp - 4], 0x18
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3cc], esp
lea eax, [ebp + 0x24]
push eax
call fcn.00409480
mov dword [ebp - 0x3d0], eax
mov byte [ebp - 4], 0x19
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3d4], esp
lea edx, [ebp + 0xc]
push edx
call fcn.00409480
mov eax, dword [ebp - 0x38c]
push eax
mov byte [ebp - 4], 6
call fcn.0041ede0
add esp, 0x4c
jmp 0x41f677
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
call fcn.0040d480
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x48]
call fcn.0040cf40
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
call fcn.0040d400
jmp 0x41f7cb
mov dword [ebp - 4], 2
jmp 0x41f7dd
jmp 0x41f7e8
jmp 0x41f7f1
mov byte [ebp - 4], 1
lea ecx, [ebp + 0xc]
call fcn.0040cf40
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x24]
call fcn.0040cf40
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.0040cef0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046913e
mov esp, ebp
pop ebp
ret