Function at 0x140076510
Capabilities:
Check if file exists
Get common file path

Disassembly:
test rcx, rcx
je 0x140076ae5
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x228]
sub rsp, 0x328
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1403b8c08]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r15, r9
mov qword [rsp + 0x38], r9
mov r13d, r8d
mov dword [rsp + 0x24], r8d
mov rbx, rdx
mov qword [rsp + 0x48], rdx
mov r14, rcx
test rdx, rdx
je 0x140076ac3
test r9, r9
je 0x140076ac3
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp]
call fcn.140289490
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rbp]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea rdx, [0x1402f86e8]
lea rcx, [rbp]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rdx, [rbp]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea rdx, str.usercenter.set
lea rcx, [rbp]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
xor r12d, r12d
lea rcx, [rbp]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea rsi, [r12 - 1]
test eax, eax
je 0x14007697d
movdqa xmm0, xmmword [0x1402eb9c0]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], r12b
lea rdx, [rsp + 0x78]
lea rcx, [rbp]
call fcn.140074130
test eax, eax
je 0x140076932
lea rcx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rcx, qword [rsp + 0x78]
call fcn.1400e0e20
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140076932
lea rdx, str.user
mov rcx, rax
call fcn.1400e0d50
mov r13, rax
test rax, rax
je 0x1400768e4
call fcn.1400e09e0
mov rdi, rax
mov qword [rsp + 0x30], rax
mov rcx, r14
call fcn.1400e0a30
mov r8, rax
lea rdx, [0x1402f8738]
mov rcx, rdi
call fcn.1400e0860
mov rcx, rbx
call fcn.1400e0a30
mov r8, rax
lea rdx, str.token
mov rcx, rdi
call fcn.1400e0860
movd xmm0, dword [rsp + 0x24]
cvtdq2pd xmm0, xmm0
call fcn.1400e0980
mov r8, rax
lea rdx, str.state
mov rcx, rdi
call fcn.1400e0860
mov rcx, r15
call fcn.1400e0a30
mov r8, rax
lea rdx, [0x1402f8750]
mov rcx, rdi
call fcn.1400e0860
xor ecx, ecx
call fcn.140296e58
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
call fcn.1400e0980
mov r8, rax
lea rdx, str.time
mov rcx, rdi
call fcn.1400e0860
mov dword [rsp + 0x20], r12d
mov rcx, r13
call fcn.1400e0d30
mov dword [rsp + 0x28], eax
mov r15d, r12d
test eax, eax
jle 0x1400768d4
nop dword [rax]
mov edx, r15d
mov rcx, r13
call fcn.1400e0d10
mov rbx, rax
test rax, rax
je 0x1400768ba
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x68], 0
xor r8d, r8d
lea rdx, [0x1402eb7f8]
lea rcx, [rbp - 0x68]
call fcn.14000c230
nop
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x58], 0
mov r8d, 7
lea rdx, [0x1402f8738]
lea rcx, [rsp + 0x58]
call fcn.14000c230
nop
lea r9, [rbp - 0x68]
lea r8, [rsp + 0x58]
mov rdx, rbx
lea rcx, [rbp - 0x48]
call fcn.1400e23c0
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x1400767d9
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400767d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140076aec
call fcn.140171af0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x58], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140076827
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140076822
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140076af2
call fcn.140171af0
mov rax, rsi
nop word [rax + rax]
inc rax
cmp byte [r14 + rax], 0
jne 0x140076830
lea rcx, [rbp - 0x48]
mov rbx, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x30]
cmp rdi, 0x10
cmovae rcx, rbx
mov r8, qword [rbp - 0x38]
cmp r8, rax
jne 0x140076883
mov rdx, r14
call fcn.1402896f0
test eax, eax
jne 0x140076883
mov r8, qword [rsp + 0x30]
mov edx, r15d
mov rcx, r13
call fcn.1400e0ec0
mov dword [rsp + 0x20], 1
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x48]
cmp rdi, 0x10
jb 0x1400768ba
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400768b2
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140076af8
mov rcx, rbx
call fcn.140171af0
inc r15d
cmp r15d, dword [rsp + 0x28]
jl 0x140076720
cmp dword [rsp + 0x20], 0
jne 0x1400768df
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
mov rcx, r13
call fcn.1400e0830
mov r15, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.1400e0eb0
mov rbx, rax
test rax, rax
je 0x14007691e
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140076900
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14000c230
mov rcx, rbx
call fcn.14028fcf4
mov rcx, rdi
call fcn.1400e0c40
mov rbx, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x24]
jmp 0x140076938
mov r12d, 1
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140076974
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14007696f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140076afe
call fcn.140171af0
test r12d, r12d
je 0x140076a7e
call fcn.1400e09e0
mov rdi, rax
mov rcx, r14
call fcn.1400e0a30
mov r8, rax
lea rdx, [0x1402f8738]
mov rcx, rdi
call fcn.1400e0860
mov rcx, rbx
call fcn.1400e0a30
mov r8, rax
lea rdx, str.token
mov rcx, rdi
call fcn.1400e0860
movd xmm0, r13d
cvtdq2pd xmm0, xmm0
call fcn.1400e0980
mov r8, rax
lea rdx, str.state
mov rcx, rdi
call fcn.1400e0860
mov rcx, r15
call fcn.1400e0a30
mov r8, rax
lea rdx, [0x1402f8750]
mov rcx, rdi
call fcn.1400e0860
xor ecx, ecx
call fcn.140296e58
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
call fcn.1400e0980
mov r8, rax
lea rdx, str.time
mov rcx, rdi
call fcn.1400e0860
call fcn.1400e09e0
mov r14, rax
call fcn.1400e08e0
mov rbx, rax
mov rdx, rdi
mov rcx, rax
call fcn.1400e0830
mov r8, rbx
lea rdx, str.user
mov rcx, r14
call fcn.1400e0860
mov rcx, r14
call fcn.1400e0eb0
mov rbx, rax
test rax, rax
je 0x140076a76
inc rsi
cmp byte [rax + rsi], 0
jne 0x140076a56
mov r8, rsi
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.14000c230
mov rcx, rbx
call fcn.14028fcf4
mov rcx, r14
call fcn.1400e0c40
lea rdx, [rbp - 0x28]
lea rcx, [rbp]
call fcn.140076170
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140076ac3
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140076abe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140076ae6
call fcn.140171af0
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.140172190
add rsp, 0x328
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14028c66c
nop
call fcn.14028c66c
nop
call fcn.14028c66c
int3
call fcn.14028c66c
nop
call fcn.14028c66c
int3