Function at 0x140005460
Capabilities:
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x140095058]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r12, rdx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rdx
xor edx, edx
mov dword [rsp + 0x34], edx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx], rdx
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rdx
mov dword [rsp + 0x34], 1
mov r14, qword [r12 + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r14
cmp rax, 1
jb 0x140005e5a
mov r15, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1400054f2
mov r15, qword [r12]
mov qword [rbp + 0x40], rdx
movdqu xmmword [rbp + 0x50], xmm0
lea rsi, [r14 + 1]
mov edi, 0xf
lea rbx, [rbp + 0x40]
lea rax, [rdi - 0x10]
lea r8d, [rdi + 7]
cmp rsi, rdi
jbe 0x140005583
mov rdi, rsi
or rdi, 0xf
cmp rdi, rcx
jbe 0x140005526
mov rdi, rcx
jmp 0x14000552d
cmp rdi, r8
cmovb rdi, r8
mov rcx, rdi
add rcx, 1
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x14000556d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e60
mov rcx, rax
call fcn.14000ee94
test rax, rax
je 0x140005e66
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14000557f
test rcx, rcx
je 0x14000557c
call fcn.14000ee94
mov rbx, rax
jmp 0x14000557f
mov rbx, rdx
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rdi
mov r8, r14
mov rdx, r15
mov rcx, rbx
call fcn.140010c80
mov byte [rbx + r14], 0x2a
mov byte [rbx + rsi], 0
mov r13d, 3
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x34], r13d
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], 0x10
cmovae rcx, qword [rbp + 0x40]
lea rdx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x78], rax
cmp rax, 0xffffffffffffffff
je 0x140005e0d
movzx edi, byte [rsp + 0x30]
movzx ecx, byte [rbp + 0xac]
movzx eax, byte [rbp + 0xad]
cmp cl, 0x2e
jne 0x140005611
test al, al
je 0x140005df3
cmp cl, cl
jne 0x140005611
cmp al, cl
jne 0x140005611
cmp byte [rbp + 0xae], 0
je 0x140005df3
test byte [rbp + 0x80], 0x10
je 0x140005987
mov r13, qword [r12 + 0x10]
lea rax, [rbp + 0xac]
mov rdx, 0xffffffffffffffff
mov rbx, rdx
inc rbx
cmp byte [rax + rbx], 0
jne 0x140005634
movabs r8, 0x7fffffffffffffff
mov rax, r8
sub rax, r13
cmp rax, rbx
jb 0x140005e8a
mov rcx, qword [rsp + 0x48]
cmp qword [rcx + 0x18], 0x10
jb 0x140005665
mov r12, qword [rcx]
xor eax, eax
mov qword [rbp], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
lea r15, [rbx + r13]
mov r14d, 0xf
lea rsi, [rbp]
cmp r15, r14
jbe 0x1400056f5
mov r14, r15
or r14, 0xf
cmp r14, r8
jbe 0x140005697
mov r14, r8
jmp 0x1400056a4
cmp r14, 0x16
mov ecx, 0x16
cmovb r14, rcx
mov rcx, r14
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x1400056e4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e6c
mov rcx, rax
call fcn.14000ee94
test rax, rax
je 0x140005e7e
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400056f1
test rcx, rcx
je 0x1400056ee
call fcn.14000ee94
mov rsi, rax
mov qword [rbp], rsi
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r14
mov r8, r13
mov rdx, r12
mov rcx, rsi
call fcn.140010c80
lea rcx, [rsi + r13]
mov r8, rbx
lea rdx, [rbp + 0xac]
call fcn.140010c80
mov byte [rsi + r15], 0
mov eax, dword [rsp + 0x38]
or eax, 4
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x34], eax
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r13, qword [rbp + 0x10]
sub rax, r13
cmp rax, 1
jb 0x140005e84
lea rax, [rbp]
mov r12, qword [rbp + 0x18]
cmp r12, 0x10
setae byte [rsp + 0x30]
mov r14, qword [rbp]
cmovae rax, r14
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 0
lea r15, [r13 + 1]
mov esi, 0xf
lea rbx, [rsp + 0x50]
cmp r15, rsi
jbe 0x140005813
mov rsi, r15
or rsi, 0xf
cmp rsi, rcx
jbe 0x14000579f
mov rsi, rcx
jmp 0x1400057ac
cmp rsi, 0x16
mov ecx, 0x16
cmovb rsi, rcx
mov rcx, rsi
add rcx, 1
mov rdx, 0xffffffffffffffff
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x1400057f8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e72
mov rcx, rax
call fcn.14000ee94
test rax, rax
je 0x140005e78
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
mov rax, qword [rsp + 0x40]
jmp 0x14000580e
test rcx, rcx
je 0x14000580c
call fcn.14000ee94
mov rbx, rax
mov rax, qword [rsp + 0x40]
jmp 0x14000580e
xor ebx, ebx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rsi
mov r8, r13
mov rdx, rax
mov rcx, rbx
call fcn.140010c80
mov byte [rbx + r13], 0x5c
mov byte [rbx + r15], 0
mov r13d, dword [rsp + 0x38]
or r13d, 8
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x34], r13d
cmp byte [rsp + 0x30], 0
je 0x140005881
lea rdx, [r12 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140005879
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e78
mov rcx, r14
call fcn.14000ebf0
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rbp + 0x10], xmm1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
lea rdx, [rbp]
lea rcx, [rbp + 0x60]
call fcn.140009530
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.140005460
nop
mov r14, qword [rsp + 0x70]
mov rdx, qword [r14 + 8]
mov r9, qword [rbp + 0x28]
mov r8, qword [rbp + 0x20]
mov rcx, r14
call fcn.14000c550
nop
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x140005943
mov rsi, qword [rbp + 0x28]
cmp rbx, rsi
je 0x1400058fb
mov rcx, rbx
call fcn.140005ec0
add rbx, 0x40
cmp rbx, rsi
jne 0x1400058e6
mov rbx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x30]
sub rdx, rbx
and rdx, 0xffffffffffffffc0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000592b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e78
mov rcx, rbx
call fcn.14000ebf0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x140005dee
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000597d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005e7e
call fcn.14000ebf0
jmp 0x140005dee
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x140005996
mov rcx, qword [r12]
lea rdx, str.test_folder
call fcn.140010994
test rax, rax
je 0x140005df3
lea rax, [rbp + 0xac]
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400059c0
call fcn.14000d08c
lea rcx, [rbp + 0xac]
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], rbx
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rbp + 0x60]
call fcn.1400022c0
or r13d, 0x30
mov dword [rsp + 0x34], r13d
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x60]
call fcn.1400029c0
nop
mov r14, rax
cmp qword [rax + 0x18], 8
jb 0x140005a10
mov r14, qword [rax]
mov rsi, qword [rax + 0x10]
call fcn.14000d08c
mov r15d, eax
xor ebx, ebx
mov qword [rbp + 0x20], rbx
mov r12d, ebx
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], 0xf
mov byte [rbp + 0x20], bl
bts r13d, 9
mov dword [rsp + 0x34], r13d
test rsi, rsi
je 0x140005abe
cmp rsi, 0x7fffffff
ja 0x140005ea4
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, esi
mov rdx, r14
mov ecx, eax
call fcn.14000d0fc
mov rbx, rax
mov qword [rsp + 0x40], rax
shr rax, 0x20
test eax, eax
jne 0x140005e9a
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rbp + 0x20]
call fcn.140009340
lea r9, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
cmovae r9, qword [rbp + 0x20]
mov dword [rsp + 0x20], ebx
mov r8d, esi
mov rdx, r14
mov ecx, r15d
call fcn.14000d0fc
mov qword [rsp + 0x40], rax
shr rax, 0x20
test eax, eax
jne 0x140005e90
mov r12, qword [rbp + 0x30]
xor ebx, ebx
btr r13d, 9
or r13d, 0x1c0
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x34], r13d
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140005b18
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005b0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005eaa
call fcn.14000ebf0
mov r12, qword [rbp + 0x30]
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], bx
mov rbx, qword [0x140097c08]
mov rsi, qword [0x140097c10]
cmp rbx, rsi
je 0x140005ddb
cmp qword [rbp + 0x38], 0x10
setae r14b
mov r15, qword [rbp + 0x20]
nop dword [rax]
mov rdx, qword [rbx]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x140005b60
lea rcx, [rbp + 0x20]
test r14b, r14b
cmovne rcx, r15
cmp r12, rax
jne 0x140005b89
mov r8, r12
call fcn.140011550
test eax, eax
jne 0x140005b89
mov al, 1
jmp 0x140005b8b
xor al, al
test al, al
jne 0x140005b9d
add rbx, 8
cmp rbx, rsi
jne 0x140005b50
jmp 0x140005ddb
mov rcx, qword [rsp + 0x48]
mov r13, qword [rcx + 0x10]
lea rax, [rbp + 0xac]
mov rdx, 0xffffffffffffffff
mov rbx, rdx
inc rbx
cmp byte [rax + rbx], 0
jne 0x140005bb7
movabs r8, 0x7fffffffffffffff
mov rax, r8
sub rax, r13
cmp rax, rbx
jb 0x140005e54
mov r12, rcx
cmp qword [rcx + 0x18], 0x10
jb 0x140005be6
mov r12, qword [rcx]
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
lea r15, [rbx + r13]
mov r14d, 0xf
lea rsi, [rsp + 0x50]
cmp r15, r14
jbe 0x140005c7b
mov r14, r15
or r14, 0xf
cmp r14, r8
jbe 0x140005c1c
mov r14, r8
jmp 0x140005c29
cmp r14, 0x16
mov ecx, 0x16
cmovb r14, rcx
mov rcx, r14
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x140005c69
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005e4e
mov rcx, rax
call fcn.14000ee94
test rax, rax
je 0x140005eb0
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140005c76
test rcx, rcx
je 0x140005c73
call fcn.14000ee94
mov rsi, rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r14
mov r8, r13
mov rdx, r12
mov rcx, rsi
call fcn.140010c80
lea rcx, [rsi + r13]
mov r8, rbx
lea rdx, [rbp + 0xac]
call fcn.140010c80
mov byte [rsi + r15], 0
mov r13d, dword [rsp + 0x38]
bts r13d, 0xa
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x34], r13d
xor r15d, r15d
mov qword [rbp], r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov byte [rbp], r15b
lea rax, [rbp + 0xac]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x140005ce4
lea rcx, [rbp]
cmp rbx, 0xf
ja 0x140005d11
mov qword [rbp + 0x10], rbx
mov r8, rbx
lea rdx, [rbp + 0xac]
call fcn.140010c80
mov byte [rbp + rbx], 0
jmp 0x140005d25
lea r9, [rbp + 0xac]
movzx r8d, dil
mov rdx, rbx
call fcn.140004460
nop
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rsp + 0x60]
movaps xmmword [rbp - 0x40], xmm1
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
movups xmm2, xmmword [rbp]
movaps xmmword [rbp - 0x30], xmm2
movups xmm3, xmmword [rbp + 0x10]
movaps xmmword [rbp - 0x20], xmm3
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], 0xf
mov byte [rbp], 0
mov r14, qword [rsp + 0x70]
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140005daf
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm1
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x30], xmm3
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
add qword [r14 + 8], 0x40
jmp 0x140005dbc
lea r8, [rbp - 0x50]
mov rcx, r14
call fcn.14000ada0
nop
lea rcx, [rbp - 0x50]
call fcn.140005ec0
nop
lea rcx, [rbp]
call fcn.140009410
nop
lea rcx, [rsp + 0x50]
call fcn.140009410
nop
lea rcx, [rbp + 0x20]
call fcn.140009410
nop
lea rcx, [rbp + 0x60]
call fcn.140002b90
mov r12, qword [rsp + 0x48]
lea rdx, [rbp + 0x80]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400055e1
lea rcx, [rbp + 0x40]
call fcn.140009410
nop
mov rcx, r12
call fcn.140009410
mov rax, qword [rsp + 0x70]
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.14000ebd0
mov rbx, qword [rsp + 0x320]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001390
int3
call fcn.140001430
nop
call fcn.140001430
int3
call fcn.140001390
int3
call fcn.1400166c4
nop
call fcn.140001390
nop
call fcn.140001390
int3
call fcn.1400166c4
nop
call fcn.1400166c4
nop
call fcn.140001430
nop
call fcn.140001430
nop
mov ecx, dword [rsp + 0x44]
call fcn.140002280
int3
mov ecx, dword [rsp + 0x44]
call fcn.140002280
int3
call fcn.1400017f0
nop
call fcn.1400166c4
int3
call fcn.1400166c4
int3