Function at 0x14025fac0
Capabilities:
Enumerate files on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, rdx
mov r12, rcx
lea rsi, [rsp + 0x20]
mov rcx, rsi
call fcn.14025dac0
lea r15, [r12 + 0x258]
cmp r15, rsi
je 0x14025fb0a
cmp byte [r15 + 0xe], 0
je 0x14025faff
mov rcx, r15
call fcn.14030abf0
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [r15], xmm0
jmp 0x14025fb1b
cmp byte [rsp + 0x2e], 0
je 0x14025fb1b
lea rcx, [rsp + 0x20]
call fcn.14030abf0
lea rsi, [rsp + 0x38]
mov rcx, rsi
mov rdx, rbx
call fcn.14025d5e0
cmp byte [rsp + 0x46], 0
je 0x14025fb37
mov rsi, qword [rsp + 0x38]
lea rbp, [rsp + 0x20]
mov rcx, rbp
mov rdx, rsi
call fcn.14025dde0
lea rdi, [r12 + 0x268]
cmp rdi, rbp
je 0x14025fb74
cmp byte [rdi + 0xe], 0
je 0x14025fb62
mov rcx, rdi
call fcn.14030abf0
movaps xmm0, xmmword [rsp + 0x20]
movups xmmword [rdi], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
jmp 0x14025fb85
cmp byte [rsp + 0x2e], 0
je 0x14025fb85
lea rcx, [rsp + 0x20]
call fcn.14030abf0
cmp byte [rsp + 0x46], 0
je 0x14025fb96
lea rcx, [rsp + 0x38]
call fcn.14030abf0
mov rcx, qword [r12 + 0x250]
cmp rcx, 0xffffffffffffffff
je 0x14025fbaa
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [r12 + 0x250], 0xffffffffffffffff
test rbx, rbx
je 0x14025fbc8
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x14025fbcb
xor r8d, r8d
lea r14, [rsp + 0x20]
mov rcx, r14
mov rdx, rbx
call fcn.140258ac0
movsxd rcx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x20]
cmp ecx, eax
jge 0x14025fbff
lea eax, [rcx + 1]
mov dword [rsp + 0x28], eax
mov word [rbx + rcx*2], 0
mov rcx, rbx
jmp 0x14025fc68
cmp eax, 0x7fffffff
jne 0x14025fc16
lea rcx, [0x1403d9988]
call fcn.140255450
mov eax, dword [rsp + 0x2c]
mov ecx, eax
sar ecx, 1
add ecx, eax
cmp eax, 0x55555554
mov edx, 0x7fffffff
cmovl edx, ecx
add eax, 1
cmp eax, edx
cmovg edx, eax
lea rcx, [rsp + 0x20]
call fcn.14010da10
mov rcx, qword [rsp + 0x20]
movsxd rdx, dword [rsp + 0x28]
lea ebp, [rdx + 1]
mov dword [rsp + 0x28], ebp
mov word [rcx + rdx*2], 0
test al, al
je 0x14025fc68
test rbx, rbx
je 0x14025fc68
mov rcx, rbx
call fcn.140309590
mov rcx, qword [rsp + 0x20]
mov rdx, r12
call qword [sym.imp.KERNEL32.DLL_FindFirstFileW]
mov qword [r12 + 0x250], rax
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14025fc90
call fcn.140309590
mov rax, qword [r12 + 0x250]
cmp rax, 0xffffffffffffffff
je 0x14025fdc9
mov al, byte [r12 + 0x266]
mov rbp, qword [r12 + 0x258]
lea rsi, [r12 + 0x2c]
mov r8d, 0xffffffff
mov rcx, rsi
nop dword [rax + rax]
add r8d, 1
cmp word [rcx], 0
lea rcx, [rcx + 2]
jne 0x14025fcc0
test al, al
cmove rbp, r15
mov rcx, r14
mov rdx, rsi
call fcn.1402580e0
cmp byte [rsp + 0x2e], 0
je 0x14025fceb
mov r14, qword [rsp + 0x20]
mov rcx, rbp
mov rdx, r14
call fcn.14025cf90
mov edi, eax
cmp byte [rsp + 0x2e], 0
je 0x14025fd09
lea rcx, [rsp + 0x20]
call fcn.14030abf0
mov r14b, 1
test dil, dil
jne 0x14025fdcc
mov r13, qword [sym.imp.KERNEL32.DLL_FindNextFileW]
lea rbp, [rsp + 0x20]
jmp 0x14025fd38
test bl, bl
jne 0x14025fdcc
mov rcx, qword [r12 + 0x250]
mov rdx, r12
call r13
test eax, eax
je 0x14025fda9
mov al, byte [r15 + 0xe]
mov rdi, qword [r15]
mov r8d, 0xffffffff
mov rcx, rsi
nop word [rax + rax]
add r8d, 1
cmp word [rcx], 0
lea rcx, [rcx + 2]
jne 0x14025fd60
test al, al
cmove rdi, r15
mov rcx, rbp
mov rdx, rsi
call fcn.1402580e0
cmp byte [rsp + 0x2e], 0
mov rdx, rbp
je 0x14025fd8e
mov rdx, qword [rsp + 0x20]
mov rcx, rdi
call fcn.14025cf90
mov ebx, eax
cmp byte [rsp + 0x2e], 0
je 0x14025fd30
mov rcx, rbp
call fcn.14030abf0
jmp 0x14025fd30
mov rcx, qword [r12 + 0x250]
cmp rcx, 0xffffffffffffffff
je 0x14025fdbd
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [r12 + 0x250], 0xffffffffffffffff
xor r14d, r14d
mov eax, r14d
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret