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

Disassembly:
push 0x2a8
mov eax, 0x4c9ce1
call fcn.004c5467
mov edi, edx
mov dword [ebp - 0x274], ecx
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x268]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], edx
xor edx, edx
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], ecx
mov word [ebp - 0x268], dx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [eax], ebx
mov dword [ecx], ebx
test edi, edi
je 0x4ad8c7
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x4ad8b5
sub esi, ecx
jmp 0x4ad972
push 0x104
lea ecx, [ebp - 0x270]
call fcn.004add95
test al, al
je 0x4adb2f
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x270]
push dword [ebp - 0x270]
sar eax, 1
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, dword [ebp - 0x26c]
sub ecx, dword [ebp - 0x270]
sar ecx, 1
inc ecx
cmp eax, ecx
jbe 0x4ad93e
push eax
lea ecx, [ebp - 0x270]
call fcn.004add95
test al, al
je 0x4adb2f
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x270]
push dword [ebp - 0x270]
sar eax, 1
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x4ad94f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x4adb32
push ecx
push eax
lea ecx, [ebp - 0x270]
call fcn.004addc3
test al, al
je 0x4adb2f
mov esi, dword [ebp - 0x26c]
mov edi, dword [ebp - 0x270]
sub esi, edi
push ecx
push ecx
mov ecx, dword [ebp - 0x274]
mov edx, edi
sar esi, 1
call fcn.004c1298
lea eax, [ebp - 0x290]
mov dword [ebp - 0x298], eax
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x294], eax
xor eax, eax
push esi
push edi
mov word [ebp - 0x290], ax
call fcn.004adf88
test al, al
je 0x4adb0a
push 6
push 0x414de0
lea ecx, [ebp - 0x298]
call fcn.004adbfb
test al, al
je 0x4adb0a
push 1
push ebx
push ebx
lea eax, [ebp - 0x260]
push eax
push ebx
push dword [ebp - 0x298]
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4ad9f9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x4adb0d
lea eax, [ebp - 0x280]
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], eax
xor eax, eax
mov word [ebp - 0x280], ax
lea edx, [ebp - 0x234]
lea ecx, [ebp - 0x278]
call fcn.0049d9bf
push dword [ebp - 0x274]
lea ecx, [ebp - 0x2b4]
push dword [ebp - 0x278]
call fcn.004ae0e5
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x2ac]
sar eax, 1
je 0x4ada72
push eax
push dword [ebp - 0x2ac]
lea ecx, [ebp - 0x288]
call fcn.004adbfb
test al, al
je 0x4adade
push ecx
lea ecx, [ebp - 0x288]
call fcn.004adb95
test al, al
je 0x4adade
lea eax, [ebp - 0x260]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4ada14
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
sar eax, 1
cmp eax, 0x7fffffff
ja 0x4adade
add eax, eax
push eax
push ebx
mov dword [ebp - 0x274], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
je 0x4adade
push dword [ebp - 0x274]
push dword [ebp - 0x288]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x29c]
add esp, 0xc
mov ecx, dword [ebp - 0x2a0]
mov dword [eax], edi
mov eax, dword [ebp - 0x274]
shr eax, 1
mov dword [ecx], eax
jmp 0x4adae1
push 0xe
pop ebx
lea eax, [ebp - 0x280]
cmp dword [ebp - 0x288], eax
je 0x4adb01
push 0x40af50
push dword [ebp - 0x288]
call fcn.004c51f0
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x4adb0d
push 0xe
pop ebx
lea eax, [ebp - 0x290]
cmp dword [ebp - 0x298], eax
je 0x4adb32
push 0x40af50
push dword [ebp - 0x298]
call fcn.004c51f0
pop ecx
pop ecx
jmp 0x4adb32
push 0xe
pop ebx
lea eax, [ebp - 0x268]
cmp dword [ebp - 0x270], eax
je 0x4adb52
push 0x40af50
push dword [ebp - 0x270]
call fcn.004c51f0
pop ecx
pop ecx
mov eax, ebx
call fcn.004c5416
ret 8