Function at 0x14007d5b0
Capabilities:
Move file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x448
mov rbx, r8
mov rdi, rdx
mov r13, rcx
mov rax, qword [0x14027c048]
xor rax, rsp
mov qword [rsp + 0x440], rax
lea rax, [rsp + 0x340]
mov qword [rsp + 0x328], rax
mov qword [rsp + 0x330], 0
mov qword [rsp + 0x338], 0x80
lea r8, [rsp + 0x328]
mov r9d, 0x104
mov rdx, rbx
call fcn.14007c550
cmp dword [r13], 0
je 0x14007d665
mov rcx, qword [rsp + 0x328]
lea rax, [rsp + 0x340]
cmp rcx, rax
je 0x14007d63e
call qword [0x140276c98]
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1401a5de0
mov rax, r13
add rsp, 0x448
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r14, [rsp + 0xa4]
lea rsi, [rsp + 0x80]
movabs r15, 0xcccccccccccccccd
xor ebp, ebp
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rbx
jmp 0x14007d6ba
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x48]
lea rsi, [rsp + 0x80]
mov ebp, dword [rsp + 0x44]
inc ebp
cmp ebp, 0xc8
je 0x14007dfbd
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
mov r9b, 1
call fcn.1400807d0
mov eax, dword [0x1402b90c0]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007de3a
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 8]
mov eax, dword [rsp + 0x80]
cmp rcx, qword [0x14027b4a0]
jne 0x14007d715
cmp eax, 0x78
je 0x14007deee
test eax, eax
je 0x14007dedc
mov eax, dword [0x1402b9148]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007de70
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 8]
cmp rax, qword [0x14027b348]
jne 0x14007dedc
cmp dword [rsp + 0x80], 0xd
jne 0x14007dedc
mov rcx, qword [rsp + 0x328]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x4000080
mov dword [rsp + 0x20], 3
mov edx, 0x80010000
mov r8d, 7
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x14007dde0
mov r12, rax
mov rcx, rax
lea rdx, [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x14007df95
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x44], ebp
xor ebp, ebp
nop
test rbp, rbp
je 0x14007d8b0
mov esi, 0x16
xor edi, edi
mov rcx, rbp
mov r12, qword [rsp + 0x38]
nop dword [rax + rax]
mov rax, rcx
mul r15
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r8d, ecx
sub r8d, eax
or r8b, 0x30
mov byte [rsp + rsi + 0x8e], r8b
dec rsi
inc rdi
cmp rcx, 9
mov rcx, rdx
ja 0x14007d7f0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
test rdi, rdi
je 0x14007d970
cmp rdi, 0xf
jbe 0x14007d8e7
cmp rsi, 0x17
jge 0x14007e038
mov rbx, r14
mov r14, r13
mov r13, rdi
or r13, 0xf
cmp r13, 0x17
mov eax, 0x16
cmovb r13, rax
cmp r13, 0xfff
jb 0x14007d914
lea rcx, [r13 + 0x28]
call fcn.1401a5a84
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x14007d920
mov byte [rsp + 0xa4], 0x30
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xe0], 0xf
mov byte [rsp + 0xc8], 0
mov edi, 1
mov rdx, r14
mov r12, qword [rsp + 0x38]
jmp 0x14007d8f2
lea rdx, [rsp + 0xa5]
sub rdx, rdi
mov qword [rsp + 0xd8], rdi
lea rcx, [rsp + 0xc8]
mov r8, rdi
call fcn.1401a77b0
mov byte [rsp + rdi + 0xc8], 0
jmp 0x14007d970
lea rcx, [r13 + 1]
call fcn.1401a5a84
mov r12, rax
lea rax, [rsp + 0xa5]
lea rdx, [rax + rsi]
add rdx, 0xffffffffffffffea
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], r13
mov rcx, r12
mov r8, rdi
call fcn.1401a77b0
mov byte [r12 + rdi], 0
mov qword [rsp + 0xc8], r12
mov r13, r14
mov r14, rbx
mov rbx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x38]
nop dword [rax + rax]
movzx eax, byte [rbx + 0x20]
cmp eax, 1
je 0x14007d9a0
test eax, eax
lea rsi, [rsp + 0x90]
jne 0x14007d9d0
mov word [rsp + 0x78], 0x100
mov cl, 1
xor eax, eax
jmp 0x14007da32
lea rdx, str..tmp
mov qword [rsp + 0x58], rdx
mov word [rsp + 0x78], 0x103
mov al, 3
mov rcx, qword [rsp + 0x60]
lea rsi, [rsp + 0x90]
jmp 0x14007da10
cmp byte [rbx + 0x21], 1
mov rcx, qword [rbx]
cmovne rcx, rbx
movzx eax, al
mov edx, 2
cmovne eax, edx
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdx
lea rcx, str..tmp
mov qword [rsp + 0x68], rcx
mov byte [rsp + 0x78], al
mov byte [rsp + 0x79], 3
mov al, 2
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0xa0], rcx
mov cl, 4
mov byte [rsp + 0xb0], al
mov byte [rsp + 0xb1], cl
mov rcx, rsi
lea rdx, [rsp + 0xe8]
call fcn.1400765d0
mov rax, qword [rsp + 0xe0]
cmp rax, 0x10
jb 0x14007da97
mov rcx, qword [rsp + 0xc8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14007da92
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14007e032
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
mov word [rsp + 0xb0], 0x104
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x58]
mov rdx, r12
mov r8, rsi
xor r9d, r9d
call fcn.1400807d0
cmp dword [rsp + 0x58], 0
je 0x14007dbf0
mov eax, dword [0x1402b9148]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007dcf0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
cmp rax, qword [0x14027b348]
jne 0x14007db0d
cmp dword [rsp + 0x58], 0x11
je 0x14007db53
mov eax, dword [0x1402b9148]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007dd26
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
cmp rax, qword [0x14027b348]
jne 0x14007dc59
cmp dword [rsp + 0x58], 0xd
jne 0x14007dc59
mov rcx, qword [rsp + 0x328]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor edx, edx
mov r8d, 7
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x14007dbfb
mov rdi, rax
mov rcx, rax
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x14007dc6b
mov eax, dword [rsp + 0x134]
mov r12d, 5
cmp eax, dword [rsp + 0xbc]
jne 0x14007dc81
mov eax, dword [rsp + 0x138]
cmp eax, dword [rsp + 0xc0]
jne 0x14007dc81
mov eax, dword [rsp + 0x124]
xor ecx, ecx
cmp eax, dword [rsp + 0xac]
sete cl
lea r12d, [rcx + rcx]
add r12d, 5
jmp 0x14007dc81
mov r12d, 5
jmp 0x14007dc8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r13
mov edx, eax
call fcn.14008e840
mov eax, dword [0x1402b9148]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007dd5c
mov rax, qword [r13 + 8]
mov rax, qword [rax + 8]
cmp rax, qword [0x14027b348]
sete al
cmp dword [r13], 2
sete cl
and cl, al
movzx eax, cl
lea r12d, [rax*4 + 1]
jmp 0x14007dc8a
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [r13], xmm0
mov r12d, 1
jmp 0x14007dc8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r13
mov edx, eax
call fcn.14008e840
mov r12d, 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x100]
cmp rax, 0x10
jb 0x14007dcd1
mov rcx, qword [rsp + 0xe8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14007dccc
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14007e032
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1401a5ac8
cmp r12d, 7
jne 0x14007dda0
inc rbp
cmp rbp, 0xc8
jne 0x14007d7d0
jmp 0x14007d690
lea rcx, [0x1402b9148]
call fcn.1401a5bcc
cmp dword [0x1402b9148], 0xffffffff
jne 0x14007daf4
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b9148]
call fcn.1401a5c34
jmp 0x14007daf4
lea rcx, [0x1402b9148]
call fcn.1401a5bcc
cmp dword [0x1402b9148], 0xffffffff
jne 0x14007db32
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b9148]
call fcn.1401a5c34
jmp 0x14007db32
lea rcx, [0x1402b9148]
call fcn.1401a5bcc
cmp dword [0x1402b9148], 0xffffffff
jne 0x14007dc30
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b9148]
call fcn.1401a5c34
jmp 0x14007dc30
cmp r12d, 5
je 0x14007d690
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r12d, r12d
mov rdi, qword [rsp + 0x48]
lea rsi, [rsp + 0x80]
mov ebp, dword [rsp + 0x44]
je 0x14007d6ac
cmp r12d, 4
je 0x14007d6ac
jmp 0x14007dfb3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r13
mov edx, eax
call fcn.14008e840
mov eax, dword [0x1402b9148]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007dea6
mov rax, qword [r13 + 8]
mov rax, qword [rax + 8]
cmp rax, qword [0x14027b348]
jne 0x14007d623
cmp dword [r13], 2
je 0x14007d6ac
jmp 0x14007d623
lea rcx, [0x1402b90c0]
call fcn.1401a5bcc
cmp dword [0x1402b90c0], 0xffffffff
jne 0x14007d6f0
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b90c0]
call fcn.1401a5c34
jmp 0x14007d6f0
lea rcx, [0x1402b9148]
call fcn.1401a5bcc
cmp dword [0x1402b9148], 0xffffffff
jne 0x14007d742
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b9148]
call fcn.1401a5c34
jmp 0x14007d742
lea rcx, [0x1402b9148]
call fcn.1401a5bcc
cmp dword [0x1402b9148], 0xffffffff
jne 0x14007de15
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b9148]
call fcn.1401a5c34
jmp 0x14007de15
movups xmm0, xmmword [rsp + 0x80]
movups xmmword [r13], xmm0
jmp 0x14007d623
lea rsi, [rsp + 0x120]
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0x104
lea r8, [rsp + 0x108]
mov rcx, r13
mov rdx, rdi
call fcn.14007d2d0
cmp dword [r13], 0
jne 0x14007e016
mov rdx, qword [rsp + 0x328]
mov rcx, qword [rsp + 0x108]
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
je 0x14007e006
mov dword [r13], 0
mov eax, dword [0x1402b90c0]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007e06c
lea rax, [0x14027b498]
mov qword [r13 + 8], rax
jmp 0x14007e016
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r13
mov edx, eax
call fcn.14008e840
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14007d623
cmp r12d, 2
jne 0x14007d623
mov dword [r13], 0
mov qword [r13 + 8], 0
mov eax, dword [0x1402b9148]
mov ecx, dword [0x1402b92f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007e03d
mov dword [r13], 0xd
lea rax, [0x14027b340]
mov qword [r13 + 8], rax
jmp 0x14007d623
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r13
mov edx, eax
call fcn.14008e840
mov rcx, qword [rsp + 0x108]
cmp rcx, rsi
je 0x14007d623
call qword [0x140276c98]
jmp 0x14007d623
call qword [0x140276bc8]
call fcn.1400070d0
lea rcx, [0x1402b9148]
call fcn.1401a5bcc
cmp dword [0x1402b9148], 0xffffffff
jne 0x14007dfee
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b9148]
call fcn.1401a5c34
jmp 0x14007dfee
lea rcx, [0x1402b90c0]
call fcn.1401a5bcc
cmp dword [0x1402b90c0], 0xffffffff
jne 0x14007df85
lea rcx, [fcn.140005fc0]
call fcn.1401a5e00
lea rcx, [0x1402b90c0]
call fcn.1401a5c34
jmp 0x14007df85