Function at 0x14006af90
Capabilities:
Check if file exists
Copy file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x1f0]
sub rsp, 0x2f0
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov r15, r9
mov rax, rdx
mov r14, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], r8
mov r8d, 0x104
lea rdx, [rbp - 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rbp - 0x30]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r12w
jne 0x14006b001
lea rcx, [r14 + 0x40]
mov rdx, rax
call fcn.140006d70
mov qword [r14 + 0x200], r15
call fcn.14000c990
mov rcx, rax
lea rdx, [rbp - 0x70]
call fcn.14006aa80
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x40], xmm1
mov word [rsp + 0x30], r12w
mov r8d, InitCommonControls
lea rdx, str.functionList
lea rcx, [rsp + 0x30]
call fcn.140006d70
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.140027b00
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14006b0ba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b0b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b58d
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14006b110
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b10b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b593
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r12w
call fcn.14000c990
mov rcx, rax
lea rdx, [rsp + 0x70]
call fcn.14003e600
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x60], xmm1
mov word [rsp + 0x50], r12w
mov r8d, InitCommonControls
lea rdx, str.functionList
lea rcx, [rsp + 0x50]
call fcn.140006d70
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.140027b00
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14006b1c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b1bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b599
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r12w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14006b218
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b213
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b59f
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
call fcn.14000c990
cmp byte [rax + 0x32e70], 0
jne 0x14006b2b7
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rcx, qword [rbp - 0x70]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14006b29a
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rcx, qword [rsp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14006b4c4
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 8
cmovae rdx, qword [rbp - 0x70]
lea rcx, [rsp + 0x70]
cmp qword [rbp - 0x78], 8
cmovae rcx, qword [rsp + 0x70]
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_CopyFileW]
lea rcx, [r14 + 0x208]
mov r9, r15
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x70]
call fcn.140071ab0
jmp 0x14006b4c4
call fcn.14000c990
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
lea rdi, [rax + 0x33138]
mov rsi, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x14006b2db
mov rdi, qword [rdi]
cmp rsi, 8
jae 0x14006b2f4
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x48], 7
jmp 0x14006b337
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x30]
call fcn.1400069a0
mov qword [rsp + 0x30], rax
lea r8, [rsi*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.14019f8d0
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rsi
mov ebx, 4
mov dword [rsp + 0x20], ebx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x60], xmm1
mov word [rsp + 0x50], r12w
lea r8d, [rbx + 8]
lea rdx, str.functionList
lea rcx, [rsp + 0x50]
call fcn.140006d70
nop
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x50]
call fcn.140027b00
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14006b3cb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b3c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b5a5
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], r12w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x14006b41f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b41a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b5ab
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14006b467
lea rcx, [r14 + 0x208]
mov r9, r15
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x30]
call fcn.140071ab0
and ebx, 0xfffffffb
mov dword [rsp + 0x20], ebx
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x14006b4b0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b4ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b5b1
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], r12w
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14006b505
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b500
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b5b7
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x14006b554
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b54f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b587
call fcn.1401812c4
movdqa xmm0, xmmword [0x1401e5030]
movdqu xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x70], r12w
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1401813e0
add rsp, 0x2f0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
nop
call fcn.1401a2d8c
int3