Function at 0x1402659a0
Capabilities:
Enumerate files on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x2a0], rbx
mov rax, qword [0x1403c2c80]
xor rax, rsp
mov qword [rbp + 0x150], rax
mov r12, r9
mov qword [rsp + 0x58], r9
mov rax, r8
mov rdi, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x68], r9
xor r15d, r15d
mov r13d, r15d
mov dword [rsp + 0x40], r15d
mov esi, r15d
mov qword [rsp + 0x20], r15
mov ebx, r15d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], r15
lea r8, [0x140324338]
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.14000d180
nop
mov r8, r12
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.14000d250
cmp qword [rax + 0x18], 0x10
jb 0x140265a42
mov rax, qword [rax]
lea rdx, [rbp + 0x10]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov r14, rax
mov qword [rsp + 0x50], rax
cmp qword [rbp - 0x28], 0x10
jb 0x140265a67
mov rcx, qword [rbp - 0x40]
call fcn.140290ed8
mov qword [rbp - 0x28], shutdown
mov qword [rbp - 0x30], r15
mov byte [rbp - 0x40], 0
cmp qword [rbp], 0x10
jb 0x140265a87
mov rcx, qword [rbp - 0x18]
call fcn.140290ed8
mov qword [rbp], shutdown
mov qword [rbp - 8], r15
mov byte [rbp - 0x18], 0
cmp r14, 0xffffffffffffffff
jne 0x140265af1
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
lea rax, [rsp + 0x20]
cmp rdi, rax
je 0x140265ac5
mov rcx, rdi
call fcn.140048bf0
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
cmp qword [r12 + 0x18], 0x10
jb 0x140265ad6
mov rcx, qword [r12]
call fcn.140290ed8
mov qword [r12 + 0x18], shutdown
mov qword [r12 + 0x10], r15
mov byte [r12], 0
mov rax, rdi
jmp 0x140265f85
mov qword [rbp - 0x78], shutdown
mov qword [rbp - 0x80], r15
mov byte [rsp + 0x70], 0
mov r8d, 1
lea rdx, [0x1403253c0]
lea rcx, [rsp + 0x70]
call fcn.140008ba0
nop
or r13d, 2
mov dword [rsp + 0x40], r13d
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x3c]
repne scasb al, byte [rdi]
not rcx
lea rdi, [rcx - 1]
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rcx, qword [rsp + 0x70]
mov r8, rdi
mov r12, qword [rbp - 0x80]
cmp r12, rdi
cmovb r8, r12
lea rdx, [rbp + 0x3c]
call sub.MSVCR100.dll_memcmp
movsxd rcx, eax
test eax, eax
jne 0x140265b79
cmp r12, rdi
jae 0x140265b6e
or ecx, 0xffffffff
jmp 0x140265b79
mov eax, r15d
cmp r12, rdi
setne al
mov ecx, eax
test ecx, ecx
sete al
test al, al
sete al
test al, al
je 0x140265c22
mov qword [rbp - 0x50], shutdown
mov qword [rbp - 0x58], r15
mov byte [rbp - 0x68], 0
mov r8d, 2
lea rdx, [0x1402cf564]
lea rcx, [rbp - 0x68]
call fcn.140008ba0
nop
or r13d, 4
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x3c]
repne scasb al, byte [rdi]
not rcx
lea rdi, [rcx - 1]
lea rcx, [rbp - 0x68]
mov r15, qword [rbp - 0x68]
mov r14, qword [rbp - 0x50]
cmp r14, 0x10
cmovae rcx, r15
mov r8, rdi
mov r12, qword [rbp - 0x58]
cmp r12, rdi
cmovb r8, r12
lea rdx, [rbp + 0x3c]
call sub.MSVCR100.dll_memcmp
movsxd rcx, eax
test eax, eax
jne 0x140265c0f
cmp r12, rdi
jae 0x140265c05
or ecx, 0xffffffff
jmp 0x140265c0f
xor eax, eax
cmp r12, rdi
setne al
mov ecx, eax
test ecx, ecx
sete al
test al, al
sete al
test al, al
je 0x140265c2a
mov dil, 1
jmp 0x140265c2d
mov r14, qword [rbp - 0x50]
mov r15, qword [rbp - 0x68]
xor dil, dil
test r13b, 4
je 0x140265c5a
and r13d, 0xfffffffb
cmp r14, 0x10
jb 0x140265c45
mov rcx, r15
call fcn.140290ed8
mov qword [rbp - 0x50], shutdown
xor r15d, r15d
mov qword [rbp - 0x58], r15
mov byte [rbp - 0x68], r15b
jmp 0x140265c5d
xor r15d, r15d
test r13b, 2
je 0x140265c78
and r13d, 0xfffffffd
cmp qword [rbp - 0x78], 0x10
jb 0x140265c78
mov rcx, qword [rsp + 0x70]
call fcn.140290ed8
test dil, dil
je 0x140265e7f
mov qword [rbp - 0x78], shutdown
mov qword [rbp - 0x80], r15
mov byte [rsp + 0x70], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x3c]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x3c]
lea rcx, [rsp + 0x70]
call fcn.140008ba0
nop
lea rax, [rsp + 0x70]
cmp rax, rbx
jae 0x140265dae
lea rax, [rsp + 0x70]
cmp rsi, rax
ja 0x140265dae
lea rcx, [rsp + 0x70]
sub rcx, rsi
movabs r14, 0x6666666666666667
mov rax, r14
imul rcx
mov r12, rdx
sar r12, 4
mov rax, r12
shr rax, 0x3f
add r12, rax
mov r8, qword [rsp + 0x30]
cmp rbx, r8
jne 0x140265d94
mov rcx, rbx
sub rcx, rsi
mov rax, r14
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
movabs rax, 0x666666666666665
cmp rdi, rax
ja 0x140265e9a
inc rdi
mov rcx, r8
sub rcx, rsi
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jbe 0x140265d94
mov rcx, rdx
shr rcx, 1
movabs rax, 0x666666666666666
sub rax, rcx
cmp rax, rdx
jae 0x140265d76
mov rdx, r15
jmp 0x140265d79
add rdx, rcx
cmp rdx, rdi
cmovb rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140012054
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
lea rax, [r12 + r12*4]
lea r8, [rsi + rax*8]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1400121ac
jmp 0x140265e65
mov r8, qword [rsp + 0x30]
cmp rbx, r8
jne 0x140265e53
mov rcx, rbx
sub rcx, rsi
movabs r14, 0x6666666666666667
mov rax, r14
imul rcx
mov rdi, rdx
sar rdi, 4
mov rax, rdi
shr rax, 0x3f
add rdi, rax
movabs rax, 0x666666666666665
cmp rdi, rax
ja 0x140265ea8
inc rdi
mov rcx, r8
sub rcx, rsi
mov rax, r14
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jbe 0x140265e53
mov rcx, rdx
shr rcx, 1
movabs rax, 0x666666666666666
sub rax, rcx
cmp rax, rdx
jae 0x140265e35
mov rdx, r15
jmp 0x140265e38
add rdx, rcx
cmp rdx, rdi
cmovb rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140012054
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
lea r8, [rsp + 0x70]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1400121dc
add rbx, 0x28
mov qword [rsp + 0x28], rbx
cmp qword [rbp - 0x78], 0x10
jb 0x140265e7f
mov rcx, qword [rsp + 0x70]
call fcn.140290ed8
lea rdx, [rbp + 0x10]
mov r14, qword [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x140265eb6
jmp 0x140265af1
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
nop
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rdx, rbx
sub rdx, rsi
movabs rax, 0x6666666666666667
imul rdx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, rbx
mov rcx, rsi
call fcn.1400bf770
mov r12, qword [rsp + 0x48]
mov qword [r12], r15
mov qword [r12 + 8], r15
mov qword [r12 + 0x10], r15
lea rax, [rsp + 0x20]
cmp r12, rax
je 0x140265f29
mov rcx, r12
call fcn.140048bf0
mov qword [r12], rsi
mov qword [r12 + 8], rbx
mov rcx, qword [rsp + 0x30]
mov qword [r12 + 0x10], rcx
mov rsi, r15
mov rbx, r15
test rsi, rsi
je 0x140265f5f
mov rdi, rsi
cmp rsi, rbx
je 0x140265f56
nop word [rax + rax]
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.1400122b8
add rdi, 0x28
cmp rdi, rbx
jne 0x140265f40
mov rcx, rsi
call fcn.140290ed8
nop
mov rdi, qword [rsp + 0x58]
cmp qword [rdi + 0x18], 0x10
jb 0x140265f73
mov rcx, qword [rdi]
call fcn.140290ed8
mov qword [rdi + 0x18], shutdown
mov qword [rdi + 0x10], r15
mov byte [rdi], 0
mov rax, r12
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.1402912a0
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret