Function at 0x407a82
Capabilities:
Enumerate files on windows

Disassembly:
push 0x35c
mov eax, 0x442598
call fcn.00440fe8
mov esi, edx
mov dword [ebp - 0x304], esi
mov edi, ecx
mov dword [ebp - 0x2fc], edi
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x308], edi
xor ebx, ebx
push 0x4513fc
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2f8], ebx
call fcn.0040b47a
pop ecx
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2f0]
cmp dword [ebp - 0x44], 0xf
lea eax, [ebp - 0x58]
push ecx
cmova eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x2fc], eax
cmp eax, 0xffffffff
je 0x407dbd
test byte [ebp - 0x2f0], 0x10
je 0x407d3e
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040a8b4
mov byte [ebp - 4], 2
mov edx, 0x451558
lea ecx, [ebp - 0x28]
call fcn.0040b372
test al, al
jne 0x407ba2
mov edx, 0x45155c
lea ecx, [ebp - 0x28]
call fcn.0040b372
test al, al
jne 0x407ba2
push dword [ebp - 0x300]
lea ecx, [ebp - 0x350]
call fcn.0040b64a
mov byte [ebp - 4], 3
or ebx, 1
mov dword [ebp - 0x2f8], ebx
lea ecx, [ebp - 0x338]
mov edx, eax
mov dword [esp], str.userContextId
call fcn.0040b4de
pop ecx
mov ecx, eax
mov dword [ebp - 4], 4
or ebx, 2
mov dword [ebp - 0x2f8], ebx
cmp dword [ecx + 0x14], 0xf
jbe 0x407b84
mov ecx, dword [ecx]
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
push ecx
cmova eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathMatchSpecA]
mov byte [ebp - 0x2f1], 1
test eax, eax
jne 0x407ba9
mov byte [ebp - 0x2f1], 0
mov dword [ebp - 4], 3
test bl, 2
je 0x407bc9
and ebx, 0xfffffffd
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x2f8], ebx
call fcn.0040acb5
mov dword [ebp - 4], 2
test bl, 1
je 0x407be9
and ebx, 0xfffffffe
lea ecx, [ebp - 0x350]
mov dword [ebp - 0x2f8], ebx
call fcn.0040acb5
cmp byte [ebp - 0x2f1], 0
je 0x407d2c
mov byte [ebp - 4], 5
mov eax, 0x7fffffff
sub eax, dword [esi + 0x10]
cmp eax, dword [ebp - 0x18]
jb 0x407de6
cmp dword [esi + 0x14], 0xf
mov ecx, esi
jbe 0x407c15
mov ecx, dword [esi]
push dword [ebp - 0x18]
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
cmova eax, dword [ebp - 0x28]
push eax
push dword [esi + 0x10]
push ecx
push ecx
push dword [ebp - 0x308]
lea ecx, [ebp - 0x320]
call fcn.0040c993
or ebx, 8
lea edx, [ebp - 0x320]
push str.idb_
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x2f8], ebx
call fcn.0040b4de
pop ecx
mov byte [ebp - 4], 6
and ebx, 0xfffffff7
mov dword [ebp - 0x2f8], ebx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x320]
call fcn.0040acb5
push 0x4513fc
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x368]
call fcn.0040b47a
pop ecx
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 0xf
jbe 0x407c93
mov eax, dword [eax]
lea ecx, [ebp - 0x1b0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x368]
call fcn.0040acb5
cmp esi, 0xffffffff
je 0x407d1a
test byte [ebp - 0x1b0], 0x10
je 0x407d01
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040a8b4
mov byte [ebp - 4], 9
mov edx, 0x451558
lea ecx, [ebp - 0x40]
call fcn.0040b372
test al, al
jne 0x407cf5
mov edx, 0x45155c
lea ecx, [ebp - 0x40]
call fcn.0040b372
test al, al
je 0x407d5b
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.0040acb5
lea eax, [ebp - 0x1b0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x407cb7
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
call fcn.0040acb5
mov esi, dword [ebp - 0x304]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0040acb5
mov eax, dword [ebp - 0x2fc]
lea ecx, [ebp - 0x2f0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x407db1
mov eax, dword [ebp - 0x2fc]
jmp 0x407af5
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x2fc]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x70]
call fcn.0040a85a
push eax
mov ecx, edi
call fcn.0040a8ed
or ebx, 4
mov dword [ebp - 0x2f8], ebx
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.0040acb5
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
call fcn.0040acb5
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.0040acb5
jmp 0x407dd2
push dword [ebp - 0x2fc]
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x450692
mov ecx, edi
call fcn.0040a8b4
or ebx, 4
mov dword [ebp - 0x2f8], ebx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x58]
call fcn.0040acb5
mov eax, edi
call fcn.00440f94
ret
call fcn.00405cb5
int3