Function at 0x1400c4a50
Capabilities:
Enumerate files on windows
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
mov rax, qword [0x140123080]
xor rax, rsp
mov qword [rbp + 0x190], rax
mov rdi, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x30], rcx
xor r12d, r12d
mov ecx, 0x104
call fcn.1400d7cb0
mov rbx, rax
test rax, rax
je 0x1400c5026
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1a
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x20], xmm1
xor r8d, r8d
lea rdx, [0x140103cc4]
lea rcx, [rbp + 0x10]
call fcn.140002d90
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], r12
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rbx + r8], 0
jne 0x1400c4b00
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.140002d90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov r8d, 0x28
lea rdx, str.KTgKKTBZVFs3DjMTXTomEws_GhZgSlgwOwMwRxQf
lea rcx, [rsp + 0x70]
call fcn.140002d90
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x30]
call fcn.1400beae0
nop
lea r8, [rbp + 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400b9f60
mov rbx, rax
lea rax, [rbp - 0x70]
cmp rax, rbx
je 0x1400c4bc3
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x1400c4ba5
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4ba0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5074
call fcn.1400d180c
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], send
mov byte [rbx], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1400c4bfe
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4bf9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5074
call fcn.1400d180c
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rbp - 0x60]
sub rax, rsi
cmp rax, 2
jb 0x1400c507a
lea r15, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r15, qword [rbp - 0x70]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
lea r14, [rsi + 2]
mov ebx, send
lea rdi, [rsp + 0x38]
cmp r14, rbx
jbe 0x1400c4cc9
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x1400c4c8a
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400d1590
test rax, rax
je 0x1400c5080
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400c4cc4
mov eax, socket
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1400c4ca4
mov rdi, r12
jmp 0x1400c4cc4
cmp rcx, 0x1000
jb 0x1400c4cbc
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400c506e
jmp 0x1400c4c6b
call fcn.1400d1590
mov rdi, rax
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rbx
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call fcn.1400f3c40
mov word [rsi + rdi], 0x2a5c
mov byte [rdi + r14], 0
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0xf
cmova rcx, qword [rsp + 0x38]
lea rdx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x1400c4d49
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4d44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5080
call fcn.1400d180c
movdqa xmm0, xmmword [0x140110b30]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
nop dword [rax]
test byte [rbp + 0x50], 0x10
je 0x1400c4f26
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
lea rax, [rbp + 0x7c]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x1400c4d84
lea rdx, [rbp + 0x7c]
lea rcx, [rbp - 0x10]
call fcn.140002d90
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
mov r8d, 0xc
lea rdx, str.BwErIytDXQ
lea rcx, [rbp - 0x50]
call fcn.140002d90
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x30]
call fcn.1400beae0
nop
lea r12, [rbp - 0x30]
mov rsi, qword [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova r12, rsi
lea r13, [rbp - 0x10]
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x58], rax
cmp qword [rbp + 8], 0xf
cmova r13, rax
mov rdi, qword [rbp - 0x20]
mov rax, qword [rbp]
cmp rdi, rax
ja 0x1400c4e9b
sub rax, rdi
test rdi, rdi
je 0x1400c4e6c
lea r14, [rax + r13]
movsx r15d, byte [r12]
lea r8, [r14 + 1]
sub r8, r13
mov edx, r15d
mov rcx, r13
call fcn.1400f4760
mov rbx, rax
test rax, rax
je 0x1400c4e9b
mov r8, rdi
mov rdx, r12
mov rcx, rbx
call fcn.1400f42c0
test eax, eax
je 0x1400c4e63
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call fcn.1400f4760
mov rbx, rax
test rax, rax
jne 0x1400c4e32
jmp 0x1400c4e9b
sub rbx, r13
cmp rbx, 0xffffffffffffffff
je 0x1400c4e9b
lea rax, [rbp + 0x7c]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400c4e80
lea rdx, [rbp + 0x7c]
lea rcx, [rbp + 0x10]
call fcn.1400b94f0
mov rsi, qword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
cmp rax, 0xf
jbe 0x1400c4ed6
lea rdx, [rax + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400c4ece
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c508c
mov rcx, rsi
call fcn.1400d180c
xor r12d, r12d
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], send
mov byte [rbp - 0x30], r12b
mov rax, qword [rbp + 8]
cmp rax, 0xf
jbe 0x1400c4f26
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4f21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5092
call fcn.1400d180c
lea rdx, [rbp + 0x50]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x1400c4d60
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400b9f60
mov rbx, qword [rsp + 0x68]
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rbx + 0x10], xmm1
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x1400c4f9d
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4f98
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5086
call fcn.1400d180c
movdqa xmm0, xmmword [0x140110b30]
movdqu xmmword [rbp + 0x40], xmm0
mov byte [rbp + 0x30], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x1400c4fea
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4fe4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5098
call fcn.1400d180c
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x1400c5021
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c501c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c5068
call fcn.1400d180c
mov rax, rbx
jmp 0x1400c5038
lea rdx, [0x1401284c0]
mov rcx, rdi
call fcn.1400b8c50
mov rax, rdi
mov rcx, qword [rbp + 0x190]
xor rcx, rsp
call fcn.1400d12d0
lea r11, [rsp + 0x2a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400d75d4
nop
call fcn.140002470
nop
call fcn.1400d75d4
int3
call fcn.140002510
int3
call fcn.1400d75d4
nop
call fcn.1400d75d4
nop
call fcn.1400d75d4
nop
call fcn.1400d75d4
nop
call fcn.1400d75d4
int3