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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43381e
mov eax, dword fs:[0]
push eax
sub esp, 0x5fc
mov eax, dword [0x43f474]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
call fcn.004018f0
mov dword [ebp - 0x57c], eax
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x580]
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x57c]
mov al, byte [edx]
mov byte [ebp - 0x585], al
mov ecx, dword [ebp - 0x580]
mov dl, byte [ebp - 0x585]
mov byte [ecx], dl
mov eax, dword [ebp - 0x57c]
add eax, 1
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x580]
add ecx, 1
mov dword [ebp - 0x580], ecx
cmp byte [ebp - 0x585], 0
jne 0x411b83
lea edx, [ebp - 0x2ac]
add edx, 0xffffffff
mov dword [ebp - 0x58c], edx
mov eax, dword [ebp - 0x58c]
mov cl, byte [eax + 1]
mov byte [ebp - 0x58d], cl
add dword [ebp - 0x58c], 1
cmp byte [ebp - 0x58d], 0
jne 0x411bd5
mov edi, dword [ebp - 0x58c]
mov edx, dword [str..]
mov dword [edi], edx
mov al, byte [0x438594]
mov byte [edi + 4], al
lea ecx, [ebp - 0x1a4]
push ecx
lea edx, [ebp - 0x2ac]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0xffffffff
jne 0x411c34
xor al, al
jmp 0x412201
mov eax, 1
test eax, eax
je 0x4121f2
mov ecx, dword [ebp - 0x1a4]
and ecx, 0x10
je 0x411dfb
movsx edx, byte [ebp - 0x178]
cmp edx, 0x2e
je 0x411df6
mov ecx, dword [ebp + 8]
call fcn.004018f0
mov dword [ebp - 0x594], eax
lea eax, [ebp - 0x3bc]
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x598]
mov dword [ebp - 0x59c], ecx
mov edx, dword [ebp - 0x594]
mov al, byte [edx]
mov byte [ebp - 0x59d], al
mov ecx, dword [ebp - 0x598]
mov dl, byte [ebp - 0x59d]
mov byte [ecx], dl
mov eax, dword [ebp - 0x594]
add eax, 1
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x598]
add ecx, 1
mov dword [ebp - 0x598], ecx
cmp byte [ebp - 0x59d], 0
jne 0x411c86
lea edx, [ebp - 0x3bc]
add edx, 0xffffffff
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x5a4]
mov cl, byte [eax + 1]
mov byte [ebp - 0x5a5], cl
add dword [ebp - 0x5a4], 1
cmp byte [ebp - 0x5a5], 0
jne 0x411cd8
mov edi, dword [ebp - 0x5a4]
mov dx, word [0x438598]
mov word [edi], dx
lea eax, [ebp - 0x178]
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5ac]
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x5ac]
mov al, byte [edx]
mov byte [ebp - 0x5b1], al
add dword [ebp - 0x5ac], 1
cmp byte [ebp - 0x5b1], 0
jne 0x411d1f
mov ecx, dword [ebp - 0x5ac]
sub ecx, dword [ebp - 0x5b0]
mov edx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5bc], ecx
lea eax, [ebp - 0x3bc]
add eax, 0xffffffff
mov dword [ebp - 0x5c0], eax
mov ecx, dword [ebp - 0x5c0]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x5c1], dl
add dword [ebp - 0x5c0], 1
cmp byte [ebp - 0x5c1], 0
jne 0x411d6a
mov edi, dword [ebp - 0x5c0]
mov esi, dword [ebp - 0x5b8]
mov eax, dword [ebp - 0x5bc]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x3bc]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00401790
mov dword [ebp - 4], 0
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.00411b30
add esp, 8
mov byte [ebp - 0x575], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004018d0
movzx ecx, byte [ebp - 0x575]
test ecx, ecx
je 0x411df6
mov al, 1
jmp 0x412201
jmp 0x4121d3
mov ecx, dword [ebp + 8]
call fcn.004018f0
mov dword [ebp - 0x5c8], eax
lea edx, [ebp - 0x574]
mov dword [ebp - 0x5cc], edx
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebp - 0x5c8]
mov dl, byte [ecx]
mov byte [ebp - 0x5d1], dl
mov eax, dword [ebp - 0x5cc]
mov cl, byte [ebp - 0x5d1]
mov byte [eax], cl
mov edx, dword [ebp - 0x5c8]
add edx, 1
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x5cc]
add eax, 1
mov dword [ebp - 0x5cc], eax
cmp byte [ebp - 0x5d1], 0
jne 0x411e21
lea ecx, [ebp - 0x574]
add ecx, 0xffffffff
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0x5d8]
mov al, byte [edx + 1]
mov byte [ebp - 0x5d9], al
add dword [ebp - 0x5d8], 1
cmp byte [ebp - 0x5d9], 0
jne 0x411e73
mov edi, dword [ebp - 0x5d8]
mov cx, word [0x43859c]
mov word [edi], cx
lea edx, [ebp - 0x178]
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e0]
mov dl, byte [ecx]
mov byte [ebp - 0x5e5], dl
add dword [ebp - 0x5e0], 1
cmp byte [ebp - 0x5e5], 0
jne 0x411eba
mov eax, dword [ebp - 0x5e0]
sub eax, dword [ebp - 0x5e4]
mov ecx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5f0], eax
lea edx, [ebp - 0x574]
add edx, 0xffffffff
mov dword [ebp - 0x5f4], edx
mov eax, dword [ebp - 0x5f4]
mov cl, byte [eax + 1]
mov byte [ebp - 0x5f5], cl
add dword [ebp - 0x5f4], 1
cmp byte [ebp - 0x5f5], 0
jne 0x411f05
mov edi, dword [ebp - 0x5f4]
mov esi, dword [ebp - 0x5ec]
mov edx, dword [ebp - 0x5f0]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x3d8]
call fcn.00401760
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.00401760
mov byte [ebp - 4], 2
lea eax, [ebp - 0x574]
push eax
lea ecx, [ebp - 0x3d8]
call fcn.00415f60
mov ecx, dword [0x438274]
push ecx
push 3
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x3d8]
call fcn.004061d0
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x600]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x64]
push eax
call fcn.00419550
add esp, 0xc
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
mov dword [ebp - 0x608], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x608]
push edx
lea ecx, [ebp - 0x468]
call fcn.004018a0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x64]
call fcn.004018d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.004018d0
push 0x38
push 0
lea eax, [ebp - 0x44c]
push eax
call fcn.0041f760
add esp, 0xc
push 0x38
push 0
lea ecx, [ebp - 0x414]
push ecx
call fcn.0041f760
add esp, 0xc
lea edx, [ebp - 0x44c]
push edx
lea ecx, [ebp - 0x3d8]
call fcn.004018f0
push eax
call fcn.0041b7ff
add esp, 8
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x468]
call fcn.004018f0
push eax
call fcn.0041b7ff
add esp, 8
lea ecx, [ebp - 0x3d8]
call fcn.004018f0
push eax
push 1
push 0x151
push 0x4385a0
push 0x4385c4
call fcn.00410db0
add esp, 0x14
lea ecx, [ebp - 0x468]
call fcn.004018f0
push eax
push 1
push 0x152
push 0x4385d0
push 0x4385f4
call fcn.00410db0
add esp, 0x14
mov ecx, dword [ebp - 0x420]
push ecx
mov edx, dword [ebp - 0x424]
push edx
push str.src_t___d
push 1
push 0x154
push 0x43860c
push 0x438630
call fcn.00410db0
add esp, 0x1c
mov eax, dword [ebp - 0x3e8]
push eax
mov ecx, dword [ebp - 0x3ec]
push ecx
push str.dst_t___d
push 1
push 0x155
push 0x438648
push 0x43866c
call fcn.00410db0
add esp, 0x1c
mov edx, dword [ebp - 0x424]
cmp edx, dword [ebp - 0x3ec]
jne 0x41211a
mov eax, dword [ebp - 0x420]
cmp eax, dword [ebp - 0x3e8]
je 0x4121b2
lea ecx, [ebp - 0x3d8]
call fcn.004018f0
push eax
push 1
push 0x159
push 0x438678
push 0x43869c
call fcn.00410db0
add esp, 0x14
push 0x4386a8
push 1
push 0x15a
push 0x4386ac
push 0x4386d0
call fcn.00410db0
add esp, 0x14
lea ecx, [ebp - 0x468]
call fcn.004018f0
push eax
push 1
push 0x15b
push 0x4386dc
push 0x438700
call fcn.00410db0
add esp, 0x14
mov byte [ebp - 0x576], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.004018d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d8]
call fcn.004018d0
mov al, byte [ebp - 0x576]
jmp 0x412201
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x468]
call fcn.004018d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d8]
call fcn.004018d0
lea ecx, [ebp - 0x1a4]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4121ed
jmp 0x4121f2
jmp 0x411c34
mov eax, dword [ebp - 0x2b0]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00419e3a
mov esp, ebp
pop ebp
ret