Function at 0x140005060
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 - 0x270]
sub rsp, 0x370
movaps xmmword [rsp + 0x360], xmm6
mov rax, qword [0x14001b040]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov r15, rdx
mov qword [rsp + 0x38], rdx
mov r14, rcx
mov qword [rsp + 0x40], rcx
xor r12d, r12d
mov dword [rsp + 0x34], r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
mov rsi, rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x1400050cc
mov rsi, qword [rcx]
mov rbx, qword [rcx + 0x10]
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x140005a22
mov r13d, 0x16
cmp rbx, 0xf
ja 0x140005108
mov qword [rbp - 0x70], rbx
mov ecx, 0xf
mov qword [rbp - 0x68], rcx
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x80], xmm0
jmp 0x14000519c
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x140005144
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14000ea68
mov rcx, rax
test rax, rax
je 0x1400059d8
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140005179
mov rdi, rax
cmp rax, r13
cmovb rdi, r13
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x14000515c
mov rax, r12
jmp 0x140005179
cmp rcx, 0x1000
jb 0x140005174
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005a1c
jmp 0x140005122
call fcn.14000ea68
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rdi
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x70]
mov rax, rcx
sub rax, rbx
cmp rax, 0x16
jb 0x1400051d8
lea rax, [rbx + 0x16]
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x80]
cmp rcx, 0xf
cmova rax, qword [rbp - 0x80]
add rbx, rax
mov r8, r13
lea rdx, str.configloginusers.vdf
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + 0x16], 0
jmp 0x1400051f0
mov qword [rsp + 0x20], r13
lea r9, str.configloginusers.vdf
mov rdx, r13
lea rcx, [rbp - 0x80]
call fcn.14000cff0
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp]
call sub.VCRUNTIME140.dll_memset
lea rbx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rbx, qword [rbp - 0x80]
lea rax, [0x1400157c0]
mov qword [rbp], rax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov eax, 2
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], eax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x10]
lea rcx, [rbp]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx], rdi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 4], edx
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rsi, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x10], rsi
mov byte [rbp + 0x8c], 0
mov byte [rbp + 0x81], 0
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x90], r12
mov rax, qword [0x14026be20]
mov qword [rbp + 0x84], rax
mov qword [rbp + 0x78], r12
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.14000ac40
test rax, rax
jne 0x1400052eb
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, [rbp]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], rdi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 4], edx
cmp qword [rbp + 0x90], 0
je 0x14000571d
mov qword [rbp - 0x60], r12
mov word [rbp - 0x58], 1
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov rcx, qword [rbp + rcx + 0x48]
mov qword [rsp + 0x50], rcx
test rcx, rcx
sete byte [rsp + 0x58]
mov byte [rsp + 0x59], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm6, xmmword [rbp - 0x60]
test rcx, rcx
je 0x140005397
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x140005383
mov byte [rsp + 0x59], al
mov rax, qword [rsp + 0x50]
mov byte [rsp + 0x58], 1
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x14000539c
mov rax, r12
mov qword [rsp + 0x50], rax
mov byte [rsp + 0x58], 1
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x14000539c
movq rax, xmm0
test rax, rax
movq rax, xmm6
jne 0x1400054e9
test rax, rax
je 0x1400054f2
movdqa xmmword [rbp - 0x60], xmm6
movdqa xmmword [rsp + 0x50], xmm0
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x20]
call fcn.14000d5d0
nop
lea rcx, [rbp + 0x10]
call fcn.14000ab80
test rax, rax
jne 0x1400053fc
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, [rbp]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rdi, r12
nop
lea r15, [rbp - 0x20]
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 8]
cmp r13, 0xf
cmova r15, r12
mov rsi, qword [rbp - 0x10]
cmp rsi, 3
jb 0x140005478
lea rax, [rsi - 3]
cmp rdi, rax
ja 0x140005478
lea r14, [rsi + r15]
lea rcx, [r15 + rdi]
lea r8, [r14 - 2]
sub r8, rcx
mov edx, 0x37
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140005478
cmp word [rbx], 0x3637
jne 0x140005459
cmp byte [rbx + 2], 0x35
je 0x140005507
inc rbx
lea r8, [r14 - 2]
sub r8, rbx
mov edx, 0x37
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140005448
mov rbx, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x1400056c7
lea r14, [rbp - 0x20]
cmp r13, 0xf
cmova r14, r12
cmp rsi, 1
jb 0x140005518
lea rax, [rsi - 1]
cmp rbx, rax
ja 0x140005518
lea r15, [rsi + r14]
lea rcx, [r14 + rbx]
mov r8, r15
sub r8, rcx
mov edx, 0xa
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x140005518
cmp byte [rdi], 0xa
je 0x14000550f
inc rdi
mov r8, r15
sub r8, rdi
mov edx, 0xa
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x1400054c4
jmp 0x140005518
test rax, rax
je 0x1400053b3
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
jmp 0x1400053d1
sub rbx, r15
jmp 0x14000547f
sub rdi, r14
cmp rdi, 0xffffffffffffffff
jne 0x14000551b
mov rdi, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
cmp rsi, rbx
jb 0x140005a16
mov r8, rdi
sub r8, rbx
sub rsi, rbx
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp - 0x20]
cmp r13, 0xf
cmova rdx, r12
add rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.14000c8e0
or dword [rsp + 0x30], 1
lea rsi, [rsp + 0x60]
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
cmova rsi, r8
add rsi, qword [rsp + 0x70]
lea rbx, [rsp + 0x60]
cmp rdx, 0xf
cmova rbx, r8
add rbx, qword [rsp + 0x70]
lea rcx, [rsp + 0x60]
cmp rdx, 0xf
cmova rcx, r8
mov r8b, 0x22
mov rdx, rbx
call fcn.14000e910
mov r8, rax
cmp rax, rbx
je 0x1400055d5
lea rcx, [rax + 1]
cmp rcx, rbx
je 0x1400055d5
nop
movzx eax, byte [rcx]
cmp al, 0x22
je 0x1400055cd
mov byte [r8], al
inc r8
inc rcx
cmp rcx, rbx
jne 0x1400055c0
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rax, qword [rsp + 0x60]
mov r9, r8
sub r9, rax
sub rsi, r8
mov rbx, qword [rsp + 0x70]
mov rax, rbx
sub rax, r9
cmp rax, rsi
cmovb rsi, rax
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rcx, qword [rsp + 0x60]
add rcx, r9
sub rbx, rsi
mov r8, rbx
sub r8, r9
inc r8
lea rdx, [rcx + rsi]
call sub.VCRUNTIME140.dll_memmove
mov qword [rsp + 0x70], rbx
lea rdx, str.steamcommunity.com_profiles_
mov rcx, qword [rsp + 0x38]
call fcn.14000b8a0
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov rcx, rax
call fcn.14000d840
lea rdx, [0x14000ba80]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x1400056a8
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400056a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400056c0
call fcn.14000ea60
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
jmp 0x140005400
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
cmp r13, 0xf
jbe 0x140005702
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1400056fa
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400056fa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.14000ea60
lea rsi, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
xor r12d, r12d
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rbp - 0x40]
call fcn.14000a7a0
nop
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140005760
lea rax, [rcx + 2]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x40]
cmp rdx, 0xf
cmova rax, qword [rbp - 0x40]
mov word [rax + rcx], 0x2a5c
mov byte [rax + rcx + 2], 0
jmp 0x14000577e
mov qword [rsp + 0x20], 2
lea r9, [0x140012958]
mov edx, 2
lea rcx, [rbp - 0x40]
call fcn.14000cff0
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rcx, qword [rbp - 0x40]
lea rdx, [rbp + 0x110]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1400058bf
nop word [rax + rax]
test byte [rbp + 0x110], 0x10
je 0x14000589d
movzx ecx, byte [rbp + 0x13c]
movzx eax, byte [rbp + 0x13d]
cmp cl, 0x2e
jne 0x1400057ed
test al, al
je 0x14000589d
cmp cl, cl
jne 0x1400057ed
cmp al, cl
jne 0x1400057ed
cmp byte [rbp + 0x13e], 0
je 0x14000589d
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.14000a7a0
nop
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14000582b
lea rax, [rcx + 1]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x60]
cmp rdx, 0xf
cmova rax, qword [rbp - 0x60]
mov word [rax + rcx], 0x5c
jmp 0x140005849
mov qword [rsp + 0x20], 1
lea r9, [0x14001295c]
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.14000cff0
lea rdx, [rbp + 0x13c]
lea rcx, [rbp - 0x60]
call fcn.14000a670
mov rdx, r15
lea rcx, [rbp - 0x60]
call fcn.140005060
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x14000589d
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005898
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400058f8
call fcn.14000ea60
lea rdx, [rbp + 0x110]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400057b0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140005904
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400058ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14000ea60
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx], rdi
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 4], edx
mov qword [rbp + 0x10], rsi
cmp qword [rbp + 0x90], 0
je 0x140005971
lea rcx, [rbp + 0x80]
mov rax, qword [rbp + 0x28]
cmp qword [rax], rcx
jne 0x140005971
mov rdx, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x98]
mov qword [rax], rcx
mov rax, qword [rbp + 0x48]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x60]
mov dword [rax], edx
cmp byte [rbp + 0x8c], 0
je 0x140005983
lea rcx, [rbp + 0x10]
call fcn.14000ab80
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x18]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xb0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1400059e4
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400059df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400059df
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000ea60
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.14000ea40
mov rbx, qword [rsp + 0x3c0]
movaps xmm6, xmmword [rsp + 0x360]
add rsp, 0x370
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14000b010
nop
call fcn.1400037f0
int3
call fcn.140003890
int3