Function at 0x1000b255c
Capabilities:
Copy file

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push r13
sub rsp, 0x570
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0x560], rax
lea r9, [rsp + 0x30]
lea r8, [0x100002938]
mov rbx, rdx
call fcn.1000b1dec
mov edi, eax
cmp eax, 0x80070002
je 0x1000b284b
mov rcx, qword [rsp + 0x30]
xor esi, esi
cmp eax, esi
jge 0x1000b25c3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x1000b284d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or r13, 0xffffffffffffffff
mov r12d, 0x143
cmp rbx, rsi
je 0x1000b267c
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp rcx, 0x104
jb 0x1000b260e
lea r8, [0x10000b220]
lea rcx, [0x10000b150]
mov edx, 0xaa0
call fcn.100099ad8
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
cmp word [rbx + rcx*2 - 4], 0x5c
jne 0x1000b263c
lea r8, [0x10000b4e0]
lea rcx, [0x10000b150]
mov edx, 0xaa1
call fcn.100099ad8
lea rax, [rsp + 0x40]
mov rdx, r12
lea rcx, [rsp + 0x40]
sub rbx, rax
lea rax, [rdx + 0x7ffffebb]
cmp rax, rsi
je 0x1000b266e
movzx eax, word [rbx + rcx]
cmp ax, si
je 0x1000b266e
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1000b264c
cmp rdx, rsi
jne 0x1000b2677
sub rcx, 2
mov word [rcx], si
jmp 0x1000b2699
lea rcx, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x105
call fcn.1000b2a6c
cmp eax, esi
jl 0x1000b284d
lea rbx, [0x100002954]
lea rcx, [rsp + 0x40]
mov rdx, r12
mov r8, rbx
call fcn.1000590dc
lea rdi, [rsp + 0x40]
lea rax, [rsp + 0x2d0]
sub rdi, rax
mov rdx, r12
lea rcx, [rsp + 0x2d0]
lea rax, [rdx + 0x7ffffebb]
cmp rax, rsi
je 0x1000b26ed
movzx eax, word [rdi + rcx]
cmp ax, si
je 0x1000b26ed
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1000b26cb
cmp rdx, rsi
jne 0x1000b26f6
sub rcx, 2
mov word [rcx], si
xor eax, eax
lea rdi, [rsp + 0x40]
mov rcx, r13
repne scasw ax, word [rdi]
not rcx
add rcx, 0x14
cmp rcx, r12
jb 0x1000b272a
lea r8, [0x10000b730]
lea rcx, [0x10000b150]
mov edx, 0xab8
call fcn.100099ad8
lea r8, [0x1000028d8]
lea rcx, [rsp + 0x40]
mov rdx, r12
call fcn.1000590dc
lea rcx, [rsp + 0x40]
mov r8, rbx
mov rdx, r12
call fcn.1000590dc
lea r8, [0x100002938]
lea rcx, [rsp + 0x40]
mov rdx, r12
call fcn.1000590dc
xor eax, eax
lea rdi, [rsp + 0x2d0]
mov rcx, r13
repne scasw ax, word [rdi]
not rcx
add rcx, 0x1a
cmp rcx, r12
jb 0x1000b2796
lea r8, [0x10000b7a0]
lea rcx, [0x10000b150]
mov edx, 0xac1
call fcn.100099ad8
lea r8, [0x1000028d8]
lea rcx, [rsp + 0x2d0]
mov rdx, r12
call fcn.1000590dc
lea rcx, [rsp + 0x2d0]
mov r8, rbx
mov rdx, r12
call fcn.1000590dc
lea r8, [0x100002910]
lea rcx, [rsp + 0x2d0]
mov rdx, r12
call fcn.1000590dc
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_CopyFileExW]
cmp eax, esi
jne 0x1000b284b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rcx, qword [0x1001653b8]
lea rax, [0x1001653b8]
cmp rcx, rax
je 0x1000b283c
test byte [rcx + 0x1c], 2
je 0x1000b283c
cmp byte [rcx + 0x19], 4
jb 0x1000b283c
mov rcx, qword [rcx + 0x10]
lea r8, [0x1000036e8]
mov edx, 0x58
mov r9d, edi
call fcn.10001c7dc
movzx eax, di
or eax, 0x80070000
cmp edi, esi
cmovle eax, edi
jmp 0x1000b284d
xor eax, eax
mov rcx, qword [rsp + 0x560]
xor rcx, rsp
call fcn.10014e480
lea r11, [rsp + 0x570]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r12, qword [r11 + 0x28]
mov rsp, r11
pop r13
ret