Function at 0x140058960
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2d0]
sub rsp, 0x3d0
mov rax, qword [0x1401740a0]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov r15, rdx
mov qword [rsp + 0x50], rcx
mov rax, qword [rdx + 0x2000]
mov qword [rsp + 0x60], rax
cmp word [rdx], 0
jne 0x1400589b1
mov al, 1
jmp 0x1400592cf
xor r12d, r12d
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], r12w
mov r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400589d5
lea rcx, [rsp + 0x70]
call fcn.140043ce0
nop
lea rax, [rsp + 0x70]
mov rdi, qword [rbp - 0x78]
cmp rdi, 8
setae cl
mov rsi, qword [rsp + 0x70]
cmovae rax, rsi
mov rbx, qword [rbp - 0x80]
movabs rdx, 0x7ffffffffffffffe
cmp word [rax + rbx*2 - 2], 0x5c
je 0x140058b31
cmp rbx, rdi
jae 0x140058a47
lea rax, [rbx + 1]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
test cl, cl
cmovne rax, rsi
mov dword [rax + rbx*2], 0x5c
mov rsi, qword [rsp + 0x70]
jmp 0x140058b29
mov rax, rdx
sub rax, rbx
cmp rax, 1
jb 0x1400592ff
lea r12, [rbx + 1]
mov r14, r12
or r14, 7
cmp r14, rdx
jbe 0x140058a6c
mov r14, rdx
jmp 0x140058a8d
mov rcx, rdi
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp rdi, rax
jbe 0x140058a82
mov r14, rdx
jmp 0x140058a8d
lea rax, [rcx + rdi]
cmp r14, rax
cmovb r14, rax
lea rdx, [r14 + 1]
lea rcx, [rsp + 0x70]
call fcn.140043b70
mov rsi, rax
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r14
lea r14, [rbx + rbx]
mov r8, r14
mov rcx, rax
cmp rdi, 8
jb 0x140058b05
mov rbx, qword [rsp + 0x70]
mov rdx, rbx
call fcn.1400f8070
mov dword [r14 + rsi], 0x5c
xor r12d, r12d
lea rdx, [rdi*2 + 2]
cmp rdx, 0x1000
jb 0x140058afb
add rdx, 0x27
mov rcx, qword [rbx - 8]
sub rbx, rcx
lea rax, [rbx - 8]
cmp rax, 0x1f
ja 0x140059305
mov rbx, rcx
mov rcx, rbx
call fcn.1400f5c2c
jmp 0x140058b1a
lea rdx, [rsp + 0x70]
call fcn.1400f8070
mov dword [r14 + rsi], 0x5c
xor r12d, r12d
movabs rdx, 0x7ffffffffffffffe
mov qword [rsp + 0x70], rsi
mov rdi, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r12w
lea r14, [rsp + 0x70]
cmp rdi, 8
cmovae r14, rsi
mov eax, 0xa
cmp rbx, 7
ja 0x140058b80
mov qword [rbp - 0x60], rbx
add rbx, rbx
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.1400f8070
mov word [rbp + rbx - 0x70], r12w
mov rsi, qword [rbp - 0x70]
jmp 0x140058bd3
cmp rbx, rdx
ja 0x14005930b
mov rdi, rbx
or rdi, 7
cmp rdi, rdx
jbe 0x140058b9a
mov rdi, rdx
jmp 0x140058ba1
cmp rdi, rax
cmovb rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x70]
call fcn.140043b70
mov rsi, rax
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rdi
add rbx, rbx
mov r8, rbx
mov rdx, r14
mov rcx, rax
call fcn.1400f8070
mov word [rsi + rbx], r12w
mov qword [rbp - 0x70], rsi
lea r9, [r15 + 0x1000]
mov rdx, r13
nop dword [rax]
inc rdx
cmp word [r9 + rdx*2], 0
jne 0x140058be0
mov rcx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x58]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140058c29
lea rdi, [rcx + rdx]
mov qword [rbp - 0x60], rdi
lea rbx, [rbp - 0x70]
cmp r8, 8
cmovae rbx, rsi
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.1400f8070
mov word [rbx + rdi*2], r12w
jmp 0x140058c3d
mov qword [rsp + 0x20], rdx
movzx r8d, byte [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400431e0
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
lea rdx, [rbp + 0x70]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov qword [rsp + 0x48], rax
cmp rax, 0xffffffffffffffff
jne 0x140058ee1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [rbp - 0x10], 0x80728045
mov dword [rbp - 0xc], 0x806f8072
mov dword [rbp - 8], 0x802c8072
mov dword [rbp - 4], 0x80638020
mov dword [rbp], 0x806c8061
mov dword [rbp + 4], 0x8069806c
mov dword [rbp + 8], 0x8067806e
mov dword [rbp + 0xc], 0x80468020
mov dword [rbp + 0x10], 0x806e8069
mov dword [rbp + 0x14], 0x80468064
mov dword [rbp + 0x18], 0x80728069
mov dword [rbp + 0x1c], 0x80748073
mov dword [rbp + 0x20], 0x80698046
mov dword [rbp + 0x24], 0x8065806c
mov dword [rbp + 0x28], 0x8020803a
mov dword [rbp + 0x2c], 0x807d807b
mov dword [rbp + 0x30], 0x8000
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.14001a400
nop
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rax, qword [rbp - 0x30]
mov dword [rbp + 0x40], ebx
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rsp + 0x50], 2
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x50], rax
nop dword [rax]
inc r13
cmp word [rax + r13*2], 0
jne 0x140058d30
mov qword [rsp + 0x58], r13
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x50]
call fcn.140022420
nop
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
lea r14, [rbp + 0x50]
mov r15, qword [rbp + 0x68]
cmp r15, 8
setae r12b
mov rsi, qword [rbp + 0x50]
cmovae r14, rsi
mov rbx, qword [rbp + 0x60]
cmp rbx, 8
jae 0x140058d99
movups xmm0, xmmword [r14]
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x38], 7
mov edi, 7
jmp 0x140058dd9
mov rdi, rbx
or rdi, 7
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
cmova rdi, rax
lea rdx, [rdi + 1]
lea rcx, [rbp - 0x50]
call fcn.140043b70
mov qword [rbp - 0x50], rax
lea r8, [rbx*2 + 2]
mov rdx, r14
mov rcx, rax
call fcn.1400f8070
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x40], rbx
lea rbx, [rbp - 0x50]
cmp rdi, 8
cmovae rbx, qword [rbp - 0x50]
call fcn.14003cbe0
mov qword [rsp + 0x20], rbx
xor r9d, r9d
lea r8, str._BDREINIT__::_CArchiveMgr::AddFolderToCrashInfo____
lea edx, [r9 + 8]
mov rcx, rax
call fcn.14003f620
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140058e4b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058e46
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059311
call fcn.1400f5c2c
xor r14d, r14d
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r14w
test r12b, r12b
je 0x140058e9a
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140058e91
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059317
mov rcx, rsi
call fcn.1400f5c2c
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140058eda
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058ed5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005931d
call fcn.1400f5c2c
xor bl, bl
jmp 0x140059285
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov ecx, 0x48
call fcn.1400f5c3c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x38], rax
nop dword [rax + rax]
test byte [rbp + 0x70], 0x10
jne 0x140059142
mov r15, qword [rbp - 0x80]
lea rax, [rbp + 0x9c]
mov rdi, r13
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140058f30
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r15
cmp rax, rdi
jb 0x1400592f9
lea r12, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae r12, qword [rsp + 0x70]
xor r14d, r14d
mov qword [rbp - 0x30], r14
lea r14, [rdi + r15]
mov ebx, 7
lea rsi, [rbp - 0x30]
cmp r14, rbx
jbe 0x140058fae
mov rbx, r14
or rbx, 7
cmp rbx, rcx
jbe 0x140058f8d
mov rbx, rcx
jmp 0x140058f9a
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x30]
call fcn.140043b70
mov rsi, rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rbx
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, r12
mov rcx, rsi
call fcn.1400f8070
lea rcx, [rbx + rsi]
lea r8, [rdi + rdi]
lea rdx, [rbp + 0x9c]
call fcn.1400f8070
xor r12d, r12d
mov word [rsi + r14*2], r12w
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx + 8]
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], r12d
mov r8, rbx
mov edx, dword [rbp + 0x88]
mov r9, qword [rbp + 0x84]
cmp byte [rax + 0x19], r12b
jne 0x140059041
nop dword [rax + rax]
mov qword [rbp - 0x50], rax
cmp dword [rax + 0x24], edx
jne 0x14005901d
cmp dword [rax + 0x20], r9d
setb cl
test cl, cl
je 0x14005902e
mov dword [rbp - 0x48], r12d
mov rax, qword [rax + 0x10]
jmp 0x14005903b
mov dword [rbp - 0x48], 1
mov r8, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x140059010
cmp byte [r8 + 0x19], 0
jne 0x140059059
cmp edx, dword [r8 + 0x24]
jne 0x140059052
cmp r9d, dword [r8 + 0x20]
setb al
test al, al
je 0x1400590d2
movabs rax, 0x38e38e38e38e38e
cmp qword [rsp + 0x40], rax
je 0x140059329
lea rax, [rsp + 0x38]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], r12
mov ecx, 0x48
call fcn.1400f5c3c
mov r8, rax
mov rax, qword [rbp + 0x84]
mov qword [r8 + 0x20], rax
mov qword [r8 + 0x28], r12
mov qword [r8 + 0x38], r12
mov qword [r8 + 0x40], 7
mov qword [r8], rbx
mov qword [r8 + 8], rbx
mov qword [r8 + 0x10], rbx
mov word [r8 + 0x18], 0
mov qword [rbp + 0x48], r12
movups xmm0, xmmword [rbp - 0x50]
movaps xmmword [rbp - 0x50], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x38]
call fcn.14001e0e0
mov r8, rax
lea rbx, [r8 + 0x28]
lea rax, [rbp - 0x30]
cmp rbx, rax
je 0x140059102
mov rcx, rbx
call fcn.140043eb0
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rbx + 0x10], xmm1
mov edx, 7
mov word [rbp - 0x30], r12w
jmp 0x140059106
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140059142
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005913d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140059323
call fcn.1400f5c2c
lea rdx, [rbp + 0x70]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140058f10
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x140059259
nop word [rax + rax]
dec rdi
cmp qword [rsp + 0x40], 0
je 0x140059259
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.14005a550
mov r8, qword [rsp + 0x48]
add r8, 0x28
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x1400591bd
mov rdx, r8
mov rcx, rax
call fcn.140043030
add qword [rbx + 8], 0x20
jmp 0x1400591c8
mov rdx, rax
mov rcx, rbx
call fcn.14005a5e0
mov rdx, qword [rsp + 0x38]
cmp byte [rdx + 0x19], 0
je 0x1400591d9
mov rdx, qword [rdx + 0x10]
jmp 0x14005922d
mov rax, qword [rdx]
cmp byte [rax + 0x19], 0
je 0x14005920d
mov rax, qword [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x140059202
nop dword [rax]
cmp rdx, qword [rax]
jne 0x140059202
mov rdx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400591f0
cmp byte [rdx + 0x19], 0
jne 0x14005922d
mov rdx, rax
jmp 0x14005922d
mov rdx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14005922d
nop word [rax + rax]
mov rdx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x140059220
lea rcx, [rsp + 0x38]
call fcn.14001f500
mov rbx, rax
lea rcx, [rax + 0x28]
call fcn.140043eb0
mov edx, 0x48
mov rcx, rbx
call fcn.1400f5c2c
test rdi, rdi
jne 0x140059170
mov bl, 1
mov r8, qword [rsp + 0x38]
mov r8, qword [r8 + 8]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.14005a7d0
mov edx, 0x48
mov rcx, qword [rsp + 0x38]
call fcn.1400f5c2c
xor r14d, r14d
mov r8, qword [rbp - 0x58]
cmp r8, 8
jb 0x14005929f
inc r8
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.140043e70
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], 7
mov word [rbp - 0x70], r14w
mov r8, qword [rbp - 0x78]
cmp r8, 8
jb 0x1400592cc
inc r8
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x70]
call fcn.140043e70
movzx eax, bl
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.1400f5be0
mov rbx, qword [rsp + 0x420]
add rsp, 0x3d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400439a0
nop
call fcn.1400439a0
int3
call fcn.1400fcb20
nop
call fcn.1400439a0
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.1400fcb20
nop
call fcn.14003afb0
int3