Function at 0x14001a0d0
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x200
mov rax, qword [0x1400a1df8]
xor rax, rsp
mov qword [rsp + 0x1f0], rax
mov qword [rsp + 0x78], r8
mov r12, rdx
mov r13, rcx
mov qword [rsp + 0x110], rdx
xor edx, edx
lea r8d, [rdx + 0x70]
lea rcx, [rsp + 0x180]
call fcn.14003b440
lea rcx, [rsp + 0x180]
call fcn.1400143b0
nop
lea rax, [rsp + 0x108]
mov qword [rsp + 0x60], rax
lea rdx, [0x14007bb24]
lea rcx, [rsp + 0x108]
call fcn.1400067dc
mov rbx, rax
mov rcx, qword [r12]
sub rcx, 0x18
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0x98], rax
mov r8, rbx
lea rdx, [rsp + 0x98]
mov rcx, r13
call fcn.140019ab4
mov rcx, qword [r12]
sub rcx, 0x18
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0xa0], rax
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x180]
call fcn.1400157f0
mov ebx, eax
mov rcx, qword [r12]
sub rcx, 0x18
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0xa8], rax
lea rdx, [rsp + 0xa8]
mov rcx, r13
call fcn.14001b578
test ebx, ebx
je 0x14001a21b
lea rcx, [rsp + 0x180]
call fcn.140014b10
nop
mov rdx, qword [r12]
sub rdx, 0x18
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a211
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
mov eax, 1
jmp 0x14001ac51
and qword [rsp + 0xb0], 0
lea r8, [0x1400a5728]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x188]
call fcn.140017e0c
mov rcx, qword [rsp + 0x188]
mov qword [rsp + 0x118], rcx
mov rax, qword [rsp + 0xb0]
cmp rax, rcx
jne 0x14001a2a0
lea rcx, [rsp + 0x180]
call fcn.140014b10
nop
mov rdx, qword [r12]
sub rdx, 0x18
or edi, 0xffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a296
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
mov eax, 5
jmp 0x14001ac51
mov r15, qword [rax + 0x28]
and dword [rsp + 0x48], 0
or edi, 0xffffffff
test r15, r15
je 0x14001ac0c
mov rbx, qword [r15 + 8]
mov rcx, rbx
mov qword [rsp + 0x58], rbx
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x120], rax
cmp rbx, rax
je 0x14001ac0c
and qword [rsp + 0x40], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x68], rax
lea rdx, [0x14007bb24]
lea rcx, [rsp + 0xe0]
call fcn.1400067dc
mov qword [rsp + 0x50], rax
lea rdx, [0x14007bb24]
lea rcx, [rsp + 0xe8]
call fcn.1400067dc
mov r14, rax
mov rcx, qword [0x1400a5730]
add rcx, 0xffffffffffffffe8
call fcn.1400135d4
lea rcx, [rax + 0x18]
mov qword [rsp + 0xb8], rcx
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8, r15
lea rdx, [rsp + 0x40]
mov rcx, r13
call fcn.14001bbc4
nop
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x68], rax
mov r14, qword [rsp + 0x78]
mov rcx, qword [r14]
sub rcx, 0x18
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0xc0], rax
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc8]
mov r8, rbx
mov rdx, r15
mov rcx, r13
call fcn.1400195b4
and qword [rsp + 0x160], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x70], rax
lea rdx, [0x14007bb24]
lea rcx, [rsp + 0xf0]
call fcn.1400067dc
mov rbx, rax
mov rcx, qword [0x1400a5768]
add rcx, 0xffffffffffffffe8
call fcn.1400135d4
lea rcx, [rax + 0x18]
mov qword [rsp + 0xd0], rcx
mov rcx, qword [0x1400a5760]
add rcx, 0xffffffffffffffe8
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x30], rbx
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov r8, r15
lea rdx, [rsp + 0x160]
mov rcx, r13
call fcn.14001bbc4
nop
and qword [rsp + 0x140], 0
lea r8, [0x14007cfc8]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x140]
call fcn.1400133b8
nop
and qword [rsp + 0x138], 0
lea rdx, [rsp + 0x138]
mov rcx, r13
call fcn.14001c680
nop
and qword [rsp + 0x130], 0
lea rdx, [0x14007bb24]
lea rcx, [rsp + 0x130]
call fcn.1400067dc
nop
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0x160]
call fcn.1400356c4
test eax, eax
je 0x14001a623
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a532
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a55f
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a58c
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x160]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a5b9
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a5e3
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
lea rcx, [rsp + 0x180]
call fcn.140014b10
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a619
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
mov eax, 2
jmp 0x14001ac51
lea rdx, [rsp + 0x130]
mov rcx, r13
call fcn.14001ca5c
lea r8, [0x14007ce60]
lea rdx, [rsp + 0x138]
cmp eax, 1
jne 0x14001a9a9
and qword [rsp + 0x168], 0
lea rcx, [rsp + 0xf8]
call fcn.1400133b8
nop
lea r8, [rsp + 0x130]
mov rdx, rax
lea rcx, [rsp + 0x168]
call fcn.140018fc8
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a6a7
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
mov rcx, qword [rsp + 0x168]
mov edx, dword [rcx - 0x10]
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov r14, rax
test rax, rax
je 0x14001ac7a
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov edx, dword [rcx - 0x10]
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rbx, rax
test rax, rax
je 0x14001ac80
xor eax, eax
mov qword [rsp + 0x158], rax
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x148], xmm1
and qword [rsp + 0x158], rax
lea r8, [rsp + 0x148]
mov rdx, rbx
mov rcx, r14
call fcn.140035b18
mov dword [rsp + 0x50], eax
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [rsp + 0x50], 0
je 0x14001a8d1
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14001a786
lea r8, [rsp + 0x148]
mov rdx, qword [rsp + 0x150]
call fcn.1400189fc
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x148]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
call fcn.140013b38
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x148], xmm0
and qword [rsp + 0x158], 0
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a7b3
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a7e0
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a80d
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a83a
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x160]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a867
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a891
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
lea rcx, [rsp + 0x180]
call fcn.140014b10
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001a8c7
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
mov eax, 0x64
jmp 0x14001ac51
mov rcx, qword [rsp + 0x148]
mov rbx, rcx
mov rdx, qword [rsp + 0x150]
mov qword [rsp + 0x128], rdx
cmp rbx, rdx
je 0x14001a959
lea rax, [rsp + 0x80]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x140]
add rcx, 0xffffffffffffffe8
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0x80], rax
mov rcx, qword [rbx]
sub rcx, 0x18
call fcn.1400135d4
add rax, 0x18
mov qword [rsp + 0x88], rax
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x88]
mov rcx, r13
call fcn.14001d1a0
add rbx, 8
mov rcx, qword [rsp + 0x148]
jmp 0x14001a8dc
test rcx, rcx
je 0x14001a99c
lea r8, [rsp + 0x148]
call fcn.1400189fc
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x148]
sub rdx, rcx
and rdx, 0xfffffffffffffff8
call fcn.140013b38
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x148], xmm0
and qword [rsp + 0x158], 0
mov rdx, qword [rsp + 0x168]
jmp 0x14001aaf9
and qword [rsp + 0x170], 0
lea rcx, [rsp + 0x100]
call fcn.1400133b8
nop
lea r8, [rsp + 0x130]
mov rdx, rax
lea rcx, [rsp + 0x170]
call fcn.140018fc8
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001aa05
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
and qword [rsp + 0x178], 0
lea r8, [0x14007ce60]
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.1400133b8
nop
lea r8, [rsp + 0x140]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.140018fc8
nop
lea r8, [rsp + 0x130]
mov rdx, rax
lea rcx, [rsp + 0x178]
call fcn.140018fc8
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001aa82
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001aaab
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
xor r8d, r8d
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov rdx, qword [rsp + 0x178]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001aaf1
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x170]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001ab1d
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
inc dword [rsp + 0x48]
mov rdx, qword [rsp + 0x130]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001ab4e
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x138]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001ab7b
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001aba8
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x160]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001abd5
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001abfe
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
mov rbx, qword [rsp + 0x58]
add rbx, 8
jmp 0x14001a2b9
jmp 0x14001ac19
lea rcx, [rsp + 0x180]
call fcn.140014b10
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14001ac4f
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140078a80]
xor eax, eax
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.140037490
mov rbx, qword [rsp + 0x248]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.14001152c
nop
call fcn.14001152c
int3