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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x248]
sub rsp, 0x310
mov qword [rbp - 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x14013bf40]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov r13, r9
mov r12, r8
mov rdi, rdx
mov r14, rcx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
xor esi, esi
mov word [rsp + 0x40], si
mov qword [r8], rsi
mov dword [r9], esi
test rdx, rdx
je 0x140052191
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdx + rbx*2], si
jne 0x140052183
jmp 0x140052267
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.1400527b0
test al, al
je 0x140052477
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
sub rcx, rdx
sar rcx, 1
inc ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x30]
sar rcx, 1
mov edx, eax
inc rcx
cmp rdx, rcx
jbe 0x14005220d
lea rcx, [rsp + 0x30]
call fcn.1400527b0
test al, al
je 0x140052477
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
sub rcx, rdx
sar rcx, 1
inc ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
nop dword [rax + rax]
test eax, eax
jne 0x140052224
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov esi, eax
jmp 0x14005247c
mov edx, eax
lea rcx, [rsp + 0x30]
call fcn.14005282c
test al, al
je 0x140052477
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
sub rdx, rax
sar rdx, 1
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rdx, rdi
mov rcx, r14
call fcn.140069f1c
lea rax, [rbp - 0x70]
mov qword [rbp - 0x80], rax
lea rax, [rbp - 0x70]
mov qword [rbp - 0x78], rax
mov word [rbp - 0x70], si
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 0x80]
call fcn.140052a30
test al, al
je 0x140052457
mov r8d, 6
lea rdx, [0x14008b528]
lea rcx, [rbp - 0x80]
call fcn.14005257c
test al, al
je 0x140052457
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [rbp - 0x50]
xor edx, edx
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_FindFirstFileExW]
nop dword [rax + rax]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400522fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov esi, eax
jmp 0x14005245c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov word [rsp + 0x70], si
mov rcx, rsi
cmp word [rbp - 0x24], si
je 0x140052329
inc rcx
cmp word [rbp + rcx*2 - 0x24], si
jne 0x14005231f
lea r8, [rbp - 0x24]
cmp rcx, 2
jb 0x140052343
lea rax, [rbp - 0x20]
cmp word [rbp - 0x22], 0x3a
cmovne rax, r8
mov r8, rax
lea rdx, [rbp - 0x24]
lea rdx, [rdx + rcx*2]
mov rax, rdx
jmp 0x140052369
mov rcx, rdx
sub rdx, 2
cmp word [rdx], 0x2e
je 0x140052370
cmp word [rdx], 0x2f
je 0x14005238f
cmp word [rdx], 0x5c
je 0x14005238f
cmp rdx, r8
jne 0x140052350
jmp 0x140052392
mov rax, rdx
jmp 0x140052388
mov rcx, rdx
sub rdx, 2
cmp word [rdx], 0x2f
je 0x14005238f
cmp word [rdx], 0x5c
je 0x14005238f
cmp rdx, r8
jne 0x140052375
jmp 0x140052392
mov rdx, rcx
sub rax, rdx
sar rax, 1
je 0x1400523b9
mov r8, rax
lea rcx, [rsp + 0x60]
call fcn.14005257c
test al, al
je 0x140052426
lea rcx, [rsp + 0x60]
call fcn.1400524cc
test al, al
je 0x140052426
lea rdx, [rbp - 0x50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
nop dword [rax + rax]
test eax, eax
jne 0x140052316
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x60]
sar rax, 1
cmp rax, 0x7fffffff
ja 0x140052426
lea r14d, [rax + rax]
mov r15d, r14d
mov edx, r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
nop dword [rax + rax]
mov rbx, rax
test rax, rax
je 0x140052426
mov r8d, r15d
mov rdx, qword [rsp + 0x60]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [r12], rbx
shr r14d, 1
mov dword [r13], r14d
jmp 0x14005242b
mov esi, InitCommonControls
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
cmp rcx, rax
je 0x140052446
lea rdx, [0x140080f44]
call fcn.14006eb30
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
nop dword [rax + rax]
jmp 0x14005245c
mov esi, InitCommonControls
lea rax, [rbp - 0x70]
mov rcx, qword [rbp - 0x80]
cmp rcx, rax
je 0x14005247c
lea rdx, [0x140080f44]
call fcn.14006eb30
jmp 0x14005247c
mov esi, InitCommonControls
lea rax, [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
cmp rcx, rax
je 0x140052497
lea rdx, [0x140080f44]
call fcn.14006eb30
mov eax, esi
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.14006e720
mov rbx, qword [rsp + 0x358]
add rsp, 0x310
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret