Function at 0x140088b20
Capabilities:
Copy file
Get common file path
Move file

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x14057b900]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov rdi, r9
mov rbx, rdx
mov r14, rcx
xor r13d, r13d
mov dword [rsp + 0x40], r13d
xor r15b, r15b
call fcn.140087f50
movzx r12d, al
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.1400223f0
nop
test r12b, r12b
je 0x140088dfc
mov rcx, rbx
call fcn.140087fd0
test al, al
je 0x140088dfc
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
movdqa xmm1, xmmword [0x140516800]
movdqu xmmword [rsp + 0x58], xmm1
mov word [rsp + 0x48], r13w
movups xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
mov word [rsp + 0x68], r13w
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.140085b60
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
movdqa xmm1, xmmword [0x140516800]
movdqu xmmword [rbp - 0x68], xmm1
mov word [rbp - 0x78], r13w
lea r8, [rbp - 0x78]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.140089510
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1400223f0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 7
jbe 0x140088c49
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088c44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008930a
call fcn.14014f510
movdqa xmm0, xmmword [0x140516800]
movdqu xmmword [rbp - 0x68], xmm0
mov word [rbp - 0x78], r13w
lea rcx, [rbp - 0x18]
call fcn.140087f50
movzx esi, al
mov rdx, qword [rbp]
cmp rdx, 7
jbe 0x140088ca7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088ca2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089316
call fcn.14014f510
test sil, sil
je 0x140088d78
mov r15b, 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
movdqa xmm1, xmmword [0x140516800]
movdqu xmmword [rbp - 0x28], xmm1
mov word [rbp - 0x38], r13w
lea r8, [rbp - 0x38]
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.140089510
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.1400223f0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 7
jbe 0x140088d2a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088d25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089310
call fcn.14014f510
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x58]
call fcn.14001f2e0
mov rdx, qword [rbp]
cmp rdx, 7
jbe 0x140088d78
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088d72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089316
call fcn.14014f510
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x140088dba
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088db4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008931c
call fcn.14014f510
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x140088dfc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088df7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089322
call fcn.14014f510
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.140088050
test al, al
je 0x140088e1a
mov bl, 1
jmp 0x14008929b
mov esi, dword [rsp + 0x40]
cmp esi, 5
je 0x140088e2c
cmp esi, 0x20
jne 0x140089292
test r12b, r12b
je 0x140089292
mov rcx, rbx
call fcn.140087f50
test al, al
jne 0x140088e4a
test r15b, r15b
je 0x140089292
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0x10]
call fcn.1403ec370
lea rdx, [rbp + 0x10]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x140088e84
test rdi, rdi
je 0x140089299
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi], eax
jmp 0x140089299
lea rcx, [rbp - 0x78]
call fcn.140089f20
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
lea rax, [rbp + 0x10]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140088eb0
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x38]
call fcn.14001fb40
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
movdqa xmm1, xmmword [0x140516800]
movdqu xmmword [rbp - 8], xmm1
mov word [rbp - 0x18], r13w
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x38]
call fcn.140089510
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1400223f0
nop
mov rdx, qword [rbp]
cmp rdx, 7
jbe 0x140088f42
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088f3c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089328
call fcn.14014f510
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 7
jbe 0x140088f82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140088f7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008932e
call fcn.14014f510
movdqa xmm0, xmmword [0x140516800]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], r13w
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rbp - 0x48]
sub rax, rcx
mov rdx, qword [rbp - 0x68]
cmp rax, rdx
jb 0x140089334
lea r9, [rbp - 0x58]
cmp qword [rbp - 0x40], 7
cmova r9, qword [rbp - 0x58]
lea rax, [rbp - 0x78]
cmp qword [rbp - 0x60], 7
cmova rax, qword [rbp - 0x78]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x68]
call fcn.14001d800
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 7
cmova rcx, qword [rbp - 0x58]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x140089042
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 7
cmova rdx, qword [rsp + 0x68]
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 7
cmova rcx, qword [rbp - 0x58]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x140089198
lea rcx, [rsp + 0x48]
cmp qword [rsp + 0x60], 7
cmova rcx, qword [rsp + 0x48]
xor edx, edx
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 7
cmova rcx, qword [rsp + 0x68]
xor edx, edx
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
cmp qword [rbx + 0x18], 7
jbe 0x140089085
mov rbx, qword [rbx]
cmp qword [r14 + 0x18], 7
jbe 0x14008908f
mov r14, qword [r14]
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x140089198
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x1400890e7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400890e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008933a
call fcn.14014f510
movdqa xmm0, xmmword [0x140516800]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r13w
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x14008913d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089138
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089340
call fcn.14014f510
movdqa xmm0, xmmword [0x140516800]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp - 0x60]
cmp rdx, 7
jbe 0x140089191
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008918c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089346
call fcn.14014f510
mov bl, 1
jmp 0x14008929b
test rdi, rdi
je 0x1400891a5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rdi], eax
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x1400891e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400891e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008933a
call fcn.14014f510
movdqa xmm0, xmmword [0x140516800]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r13w
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x14008923c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140089237
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089340
call fcn.14014f510
movdqa xmm0, xmmword [0x140516800]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp - 0x60]
cmp rdx, 7
jbe 0x140089299
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14008928b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089346
call fcn.14014f510
jmp 0x140089299
test rdi, rdi
je 0x140089299
mov dword [rdi], esi
xor bl, bl
mov rdx, qword [rbp - 0x40]
cmp rdx, 7
jbe 0x1400892d7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400892d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140089304
call fcn.14014f510
movzx eax, bl
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.14014f4f0
mov rbx, qword [rsp + 0x380]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14015fa1c
nop
call fcn.14015fa1c
nop
call fcn.14015fa1c
int3
call fcn.14015fa1c
nop
call fcn.14015fa1c
nop
call fcn.14015fa1c
nop
call fcn.14015fa1c
nop
call fcn.14015fa1c
int3
call fcn.14001cc60
int3
call fcn.14015fa1c
nop
call fcn.14015fa1c
nop
call fcn.14015fa1c
int3