Function at 0x140064030
Capabilities:
Move file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp + 0x2f], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov r12, r8
mov r14, rdx
mov rdi, rcx
call fcn.140062990
test al, al
je 0x1400640a5
mov qword [rbp - 0x51], 2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x49], xmm0
lea rax, [0x140347c70]
mov qword [rbp - 0x39], rax
lea rcx, [rbp - 0x51]
lea rdx, [0x1401fc968]
call fcn.140013380
call fcn.14017f798
mov dword [rax], 0x16
xor al, al
jmp 0x1400642a0
lea rdx, [rbp + 0x7f]
mov rcx, rdi
call fcn.14005c210
nop
xor ebx, ebx
lea r9d, [rbx + 1]
xor r8d, r8d
movzx edx, bx
mov rcx, rax
call fcn.14001cad0
cmp eax, 0xffffffff
setne r15b
mov rcx, qword [rbp + 0x7f]
mov eax, dword [rcx]
or esi, 0xffffffff
test eax, eax
je 0x1400640ed
cmp eax, esi
je 0x1400640fb
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400640fb
mov rcx, qword [rbp + 0x7f]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002cfa0
test r15b, r15b
je 0x14006412b
mov qword [rbp - 0x31], 2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
lea rax, [0x140347c70]
mov qword [rbp - 0x19], rax
lea rdx, [0x1401fc990]
lea rcx, [rbp - 0x31]
jmp 0x14006408e
mov rcx, r14
call fcn.140062990
test al, al
je 0x14006415b
mov qword [rbp - 0x11], 2
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
lea rax, [0x140347c70]
mov qword [rbp + 7], rax
lea rcx, [rbp - 0x11]
jmp 0x140064087
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.14005c210
nop
mov r9d, 1
xor r8d, r8d
movzx edx, bx
mov rcx, rax
call fcn.14001cad0
cmp eax, 0xffffffff
setne r15b
mov rcx, qword [rbp - 0x69]
mov eax, dword [rcx]
test eax, eax
je 0x1400641a1
cmp eax, 0xffffffff
je 0x1400641af
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400641af
mov rcx, qword [rbp - 0x69]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002cfa0
test r15b, r15b
je 0x1400641df
mov qword [rbp + 0xf], 2
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x17], xmm0
lea rax, [0x140347c70]
mov qword [rbp + 0x27], rax
lea rdx, [0x1401fc990]
lea rcx, [rbp + 0xf]
jmp 0x14006408e
lea rdx, [rbp - 0x59]
mov rcx, r14
call fcn.14005c210
mov rbx, rax
lea rdx, [rbp - 0x61]
mov rcx, rdi
call fcn.14005c210
mov rdi, rax
mov rcx, rbx
call fcn.140022180
mov rbx, rax
mov rcx, rdi
call fcn.140022180
mov rcx, rax
mov r8d, 1
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
setne bl
mov rcx, qword [rbp - 0x61]
mov eax, dword [rcx]
test eax, eax
je 0x140064245
cmp eax, 0xffffffff
je 0x140064254
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140064254
mov rcx, qword [rbp - 0x61]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002cfa0
nop
mov rcx, qword [rbp - 0x59]
mov eax, dword [rcx]
test eax, eax
je 0x140064270
cmp eax, 0xffffffff
je 0x14006427e
lock xadd dword [rcx], esi
cmp esi, 1
jne 0x14006427e
mov rcx, qword [rbp - 0x59]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.14002cfa0
test bl, bl
jne 0x14006429d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x7f], eax
mov dword [rbp + 0x83], 2
mov rcx, qword [rbp + 0x7f]
mov qword [r12], rcx
movzx eax, bl
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret