Function at 0x100310e0
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x191c
call fcn.1003a8f0
mov eax, dword [0x1003f6e4]
xor eax, esp
mov dword [esp + 0x1918], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push edi
mov edi, dword [ebp + 0xc]
push edx
push ecx
mov word [esp + 0x288], ax
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0
mov ebx, eax
push 0x184
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
test esi, esi
je 0x10031155
cmp word [esi], 0
je 0x10031155
push 0x103
push esi
lea eax, [esp + 0x288]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy_s]
add esp, 0x10
jmp 0x10031170
lea eax, [esp + 0x280]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x10031488
lea ecx, [esp + 0x280]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10031180
push 0
push 0
sub ecx, edx
lea eax, [esp + 0x1518]
push 0x208
push eax
sar ecx, 1
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x294]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [esp + 0x690]
push eax
lea eax, [esp + 0x1514]
push eax
call dword [sym.imp.USER32.dll_CharToOemA]
lea ecx, [esp + 0x690]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100311d6
push 0x104
sub ecx, edx
lea eax, [esp + 0x89c]
push eax
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x69c]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [esp + 0x280]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10031210
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
movzx eax, ax
add eax, eax
cmp word [esp + eax + 0x280], 0x5c
jne 0x10031247
cmp eax, 0x208
jae 0x100314a1
xor ecx, ecx
mov word [esp + eax + 0x280], cx
test edi, edi
je 0x1003126f
cmp word [edi], 0
je 0x1003126f
push 0x12b
push edi
lea eax, [esp + 0xaa8]
push 0x12c
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy_s]
add esp, 0x10
jmp 0x10031285
push 0x12c
lea edx, [esp + 0xaa4]
mov ecx, 0xae04
call fcn.10032350
lea eax, [esp + 0xaa0]
push 0x100027c4
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 8
test eax, eax
je 0x1003146c
mov edi, dword [ebp + 0x10]
push eax
lea eax, [esp + 0x284]
push eax
push 0x100021b4
lea eax, [esp + 0x1724]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll_swprintf_s]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x8b0]
push eax
call dword [sym.imp.msvcrt.dll__wstat]
add esp, 0x1c
cmp eax, 0xffffffff
je 0x10031488
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x171c]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1003130b
test esi, esi
je 0x1003130b
mov eax, 1
jmp 0x1003130d
xor eax, eax
test eax, eax
je 0x1003144d
jmp 0x10031320
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x48c]
push 0x104
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
lea eax, [esp + 0x494]
push 0x100021ac
push eax
call dword [sym.imp.msvcrt.dll_wcspbrk]
add esp, 0x14
test eax, eax
jne 0x10031372
lea eax, [esp + 0x488]
push eax
lea eax, [esp + 0xcfc]
push 0x201
push eax
call dword [sym.imp.msvcrt.dll_wcscpy_s]
add esp, 0xc
jmp 0x100313cd
push 0x101
lea eax, [esp + 0x1104]
push eax
push 0x101
lea eax, [esp + 0x1314]
push eax
push 0
push 0
push 0
lea eax, [esp + 0x4a4]
push 0
push eax
call dword [sym.imp.msvcrt.dll__wsplitpath_s]
lea eax, [esp + 0x1124]
push eax
lea eax, [esp + 0x1330]
push eax
push 0x100021c0
lea eax, [esp + 0xd28]
push 0x201
push eax
call dword [sym.imp.msvcrt.dll_swprintf_s]
add esp, 0x38
test edi, edi
jne 0x100313f0
lea eax, [esp + 0xcf8]
push 0x100027b4
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
add esp, 8
test eax, eax
je 0x100313f0
xor ecx, ecx
mov word [eax], cx
lea eax, [esp + 0xcf8]
push eax
call dword [sym.imp.USER32.dll_CharLowerW]
test dword [esp + 0x30], 0x116
jne 0x1003141e
lea eax, [esp + 0xcf8]
push eax
push 0
push 0x180
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x89c]
push eax
call dword [sym.imp.msvcrt.dll__wstat]
add esp, 8
cmp eax, 0xffffffff
je 0x10031488
lea eax, [esp + 0x30]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x10031320
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x100027c4
push 0
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 8
test eax, eax
jne 0x100312a6
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1918]
xor ecx, esp
call fcn.1003a1d0
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esp + 0x1924]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1003a1d0
mov esp, ebp
pop ebp
ret 0xc
call fcn.1003a318
int3