Function at 0x180065ce0
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov r12, rcx
cmp qword [rcx + 0x18], 0x10
jb 0x180065d0f
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r14b, 1
cmp eax, 0xffffffff
je 0x180065d8c
mov rax, qword [r12 + 0x18]
cmp rax, 0x10
jb 0x180065d5d
mov rcx, qword [r12]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x180065d58
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006635d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18008fa94
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r12], 0
mov eax, r14d
movaps xmm6, xmmword [rbp - 0x10]
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x180065dbf
cmp qword [r12 + 0x18], 0x10
mov rax, r12
jb 0x180065da5
mov rax, qword [r12]
mov r8, rax
cmp rcx, 8
jb 0x18006633a
cmp rcx, 0x20
jae 0x180065dc7
xor edx, edx
jmp 0x180066042
xor r14d, r14d
jmp 0x180065d1d
mov rdx, rcx
and rdx, 0xffffffffffffffe0
xor r8d, r8d
movdqa xmm0, xmmword [str.________________________]
jmp 0x180065ded
add r8, 0x20
cmp rdx, r8
je 0x180066030
movdqu xmm2, xmmword [rax + r8]
pcmpeqb xmm2, xmm0
movd r9d, xmm2
test r9b, 1
je 0x180065e07
mov byte [rax + r8], 0x5c
mov r10d, r9d
shr r10d, 8
test r10b, 1
je 0x180065e1a
mov byte [rax + r8 + 1], 0x5c
mov r10d, r9d
shr r10d, 0x10
test r10b, 1
je 0x180065e2d
mov byte [rax + r8 + 2], 0x5c
shr r9d, 0x18
test r9b, 1
je 0x180065e3d
mov byte [rax + r8 + 3], 0x5c
pextrw r9d, xmm2, 2
test r9b, 1
je 0x180065e4f
mov byte [rax + r8 + 4], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065e5f
mov byte [rax + r8 + 5], 0x5c
pextrw r9d, xmm2, 3
test r9b, 1
je 0x180065e71
mov byte [rax + r8 + 6], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065e81
mov byte [rax + r8 + 7], 0x5c
pextrw r9d, xmm2, 4
test r9b, 1
je 0x180065e93
mov byte [rax + r8 + 8], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065ea3
mov byte [rax + r8 + 9], 0x5c
movdqu xmm1, xmmword [rax + r8 + 0x10]
pextrw r9d, xmm2, 5
test r9b, 1
je 0x180065ebc
mov byte [rax + r8 + 0xa], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065ecc
mov byte [rax + r8 + 0xb], 0x5c
pextrw r9d, xmm2, 6
test r9b, 1
je 0x180065ede
mov byte [rax + r8 + 0xc], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065eee
mov byte [rax + r8 + 0xd], 0x5c
pextrw r9d, xmm2, 7
test r9b, 1
je 0x180065f00
mov byte [rax + r8 + 0xe], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065f10
mov byte [rax + r8 + 0xf], 0x5c
pcmpeqb xmm1, xmm0
movd r9d, xmm1
test r9b, 1
je 0x180065f25
mov byte [rax + r8 + 0x10], 0x5c
mov r10d, r9d
shr r10d, 8
test r10b, 1
je 0x180065f38
mov byte [rax + r8 + 0x11], 0x5c
mov r10d, r9d
shr r10d, 0x10
test r10b, 1
je 0x180065f4b
mov byte [rax + r8 + 0x12], 0x5c
shr r9d, 0x18
test r9b, 1
je 0x180065f5b
mov byte [rax + r8 + 0x13], 0x5c
pextrw r9d, xmm1, 2
test r9b, 1
je 0x180065f6d
mov byte [rax + r8 + 0x14], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065f7d
mov byte [rax + r8 + 0x15], 0x5c
pextrw r9d, xmm1, 3
test r9b, 1
je 0x180065f8f
mov byte [rax + r8 + 0x16], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065f9f
mov byte [rax + r8 + 0x17], 0x5c
pextrw r9d, xmm1, 4
test r9b, 1
je 0x180065fb1
mov byte [rax + r8 + 0x18], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065fc1
mov byte [rax + r8 + 0x19], 0x5c
pextrw r9d, xmm1, 5
test r9b, 1
je 0x180065fd3
mov byte [rax + r8 + 0x1a], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065fe3
mov byte [rax + r8 + 0x1b], 0x5c
pextrw r9d, xmm1, 6
test r9b, 1
je 0x180065ff5
mov byte [rax + r8 + 0x1c], 0x5c
shr r9d, 8
test r9b, 1
je 0x180066005
mov byte [rax + r8 + 0x1d], 0x5c
pextrw r9d, xmm1, 7
test r9b, 1
je 0x180066017
mov byte [rax + r8 + 0x1e], 0x5c
shr r9d, 8
test r9b, 1
je 0x180065de0
mov byte [rax + r8 + 0x1f], 0x5c
jmp 0x180065de0
cmp rcx, rdx
je 0x180066157
test cl, 0x18
je 0x180066334
mov r9, rcx
and r9, 0xfffffffffffffff8
lea r8, [rax + r9]
movdqa xmm0, xmmword [0x180098190]
movdqa xmm1, xmmword [0x180098190]
movdqa xmm2, xmmword [str.________________________]
jmp 0x18006607d
add rdx, 8
cmp r9, rdx
je 0x18006614e
movq xmm4, qword [rax + rdx]
movdqa xmm3, xmm4
pcmpeqb xmm3, xmm0
movd r10d, xmm3
test r10b, 1
je 0x180066099
mov byte [rax + rdx], 0x5c
movdqa xmm5, xmm3
pslld xmm5, 8
movd r10d, xmm5
shr r10d, 0x10
test r10b, 1
je 0x1800660b6
mov byte [rax + rdx + 1], 0x5c
pshuflw xmm5, xmm4, 0x55
pcmpeqb xmm5, xmm1
pextrw r10d, xmm5, 2
test r10b, 1
je 0x1800660d0
mov byte [rax + rdx + 2], 0x5c
movdqa xmm5, xmm3
psllq xmm5, 0x18
pextrw r10d, xmm5, 3
test r10b, 1
je 0x1800660ea
mov byte [rax + rdx + 3], 0x5c
pshufd xmm4, xmm4, 0x55
pcmpeqb xmm4, xmm2
pextrw r10d, xmm4, 4
test r10b, 1
je 0x180066104
mov byte [rax + rdx + 4], 0x5c
movdqa xmm4, xmm3
pslldq xmm4, 5
pextrw r10d, xmm4, 5
test r10b, 1
je 0x18006611e
mov byte [rax + rdx + 5], 0x5c
pextrw r10d, xmm3, 3
test r10b, 1
je 0x18006612f
mov byte [rax + rdx + 6], 0x5c
pslldq xmm3, 7
pextrw r10d, xmm3, 7
test r10b, 1
je 0x180066070
mov byte [rax + rdx + 7], 0x5c
jmp 0x180066070
cmp rcx, r9
jne 0x18006633a
mov rbx, qword [r12 + 0x10]
xor r13d, r13d
xorps xmm6, xmm6
lea rsi, [rbp - 0x40]
mov qword [rbp - 0x20], r12
nop word [rax + rax]
mov r8, rbx
mov r14, qword [r12]
mov r15, qword [r12 + 0x18]
sub r8, r13
jbe 0x1800661b0
cmp r15, 0x10
mov r12, qword [rbp - 0x20]
cmovae r12, r14
lea rcx, [r12 + r13]
mov edx, 0x5c
call fcn.1800915f0
test rax, rax
je 0x1800661b0
mov rdi, rax
sub rdi, r12
cmp rdi, 0xffffffffffffffff
jne 0x1800661b3
nop dword [rax]
mov rdi, rbx
movaps xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x40], xmm6
cmp rbx, rdi
cmovae rbx, rdi
cmp r15, 0x10
mov r12, qword [rbp - 0x20]
cmovb r14, r12
test rbx, rbx
js 0x180066358
cmp rbx, 0xf
ja 0x180066210
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call fcn.180091610
lea r15, [rbx + rbp]
add r15, 0xffffffffffffffc0
jmp 0x18006627e
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov r12, rbx
or r12, 0xf
cmp r12, 0x17
mov eax, reloc.WS2_32.dll_shutdown
cmovb r12, rax
cmp r12, 0xfff
jb 0x180066250
lea rcx, [r12 + 0x28]
call fcn.18008fa50
mov r15, rax
add r15, 0x27
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x18006625d
lea rcx, [r12 + 1]
call fcn.18008fa50
mov r15, rax
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r12
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.180091610
add r15, rbx
mov r12, qword [rbp - 0x20]
mov byte [r15], 0
cmp qword [rbp - 0x30], 0
je 0x1800662a2
cmp qword [rbp - 0x28], 0x10
mov rcx, rsi
jb 0x180066297
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x180066310
inc rdi
mov r14b, 1
mov r13, rdi
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jb 0x1800662ea
mov rcx, qword [rbp - 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1800662e5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x18006635d
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.18008fa94
test r14b, r14b
je 0x180065d1d
mov rbx, qword [r12 + 0x10]
cmp r13, rbx
jb 0x180066170
jmp 0x180065d1d
cmp qword [rbp - 0x28], 0x10
mov rcx, rsi
jb 0x18006631e
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
test eax, eax
je 0x1800662a2
xor r14d, r14d
jmp 0x1800662ab
add rdx, rax
mov r8, rdx
add rax, rcx
jmp 0x18006634c
inc r8
cmp r8, rax
je 0x180066157
cmp byte [r8], 0x2f
jne 0x180066340
mov byte [r8], 0x5c
jmp 0x180066340
call sym.BLRevive.dll_void___cdecl_std::_Xlen_string_void_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3