Function at 0x140010280
Capabilities:
Check if file exists
Create directory
Get file attributes
Move file

Disassembly:
push rbx
push rsi
sub rsp, 0x458
mov rax, qword [0x14003f2f0]
xor rax, rsp
mov qword [rsp + 0x440], rax
mov rbx, rcx
lea rcx, [rsp + 0x240]
xor edx, edx
mov r8d, 0x200
mov esi, 1
call fcn.1400166f0
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x200
call fcn.1400166f0
mov rcx, rbx
call fcn.140005b10
test eax, eax
je 0x140010565
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x480], rdi
lea rdi, [0x140042700]
lea r9, [rsp + 0x240]
lea r8, [0x14002ce18]
lea rdx, str.Source
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], pe_nt_image_headers64
call fcn.14000db60
mov dword [rsp + 0x30], esi
lea r9, [rsp + 0x40]
lea r8, [0x14002ce18]
lea rdx, str.Target
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], pe_nt_image_headers64
call fcn.14000db60
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x240]
lea rcx, str._nMoving_from__s_to__s
call fcn.14000adf0
or rbx, 0xffffffffffffffff
lea rcx, [rsp + 0x240]
mov rax, rbx
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140010370
test rax, rax
jne 0x140010390
lea rcx, str._nSource_not_specified
call fcn.140017d0c
jmp 0x14001055d
lea rcx, [rsp + 0x40]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x1400103a0
test rax, rax
jne 0x1400103c0
lea rcx, str._nTarget_not_specified
call fcn.140017d0c
jmp 0x14001055d
mov ecx, 0x38
mov qword [rsp + 0x478], rbp
mov qword [rsp + 0x450], r14
call fcn.14001594c
mov rcx, rbx
mov rdi, rax
lea rax, [rsp + 0x240]
nop dword [rax + rax]
cmp word [rax + rcx*2 + 2], 0
lea rcx, [rcx + 1]
jne 0x1400103f0
xor r14d, r14d
cmp word [rsp + rcx*2 + 0x23e], 0x5c
jne 0x140010413
mov word [rsp + rcx*2 + 0x23e], r14w
lea rcx, [rsp + 0x240]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebp, 0x5c
test al, 0x10
je 0x140010463
lea rcx, [rsp + 0x240]
sub rcx, 2
nop word [rax + rax]
cmp word [rcx + 2], r14w
lea rcx, [rcx + 2]
jne 0x140010440
mov eax, dword [0x14002f754]
mov esi, r14d
mov dword [rcx], eax
movzx eax, word [0x14002f758]
mov word [rcx + 4], ax
jmp 0x140010473
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.140016d28
mov word [rax], r14w
lea rdx, [0x14002ccd0]
lea rcx, [rsp + 0x40]
call fcn.140016fd4
test rax, rax
je 0x1400104c6
nop dword [rax]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400104ad
lea rcx, [rsp + 0x40]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rdx, [0x14002ccd0]
xor ecx, ecx
call fcn.140016fd4
test rax, rax
je 0x1400104c6
mov word [rax - 2], bp
jmp 0x140010490
test esi, esi
je 0x1400104e1
lea rax, [rsp + 0x40]
nop
cmp word [rax + rbx*2 + 2], r14w
lea rbx, [rbx + 1]
jne 0x1400104d0
mov word [rsp + rbx*2 + 0x40], bp
xor eax, eax
mov rcx, rdi
mov qword [rdi + 8], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
lea rax, [rsp + 0x240]
mov qword [rdi], r14
mov qword [rdi + 0x10], rax
lea rax, [rsp + 0x40]
mov dword [rdi + 8], 1
mov qword [rdi + 0x18], rax
mov eax, 0xe14
mov word [rdi + 0x20], ax
call qword [sym.imp.SHELL32.dll_SHFileOperationW]
mov r14, qword [rsp + 0x450]
mov rbp, qword [rsp + 0x478]
test eax, eax
je 0x14001055d
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x240]
lea rcx, str._nError__d_occured_while_moving_from__s_to__s
mov edx, eax
call fcn.14000adf0
mov dword [0x1400434f8], 1
mov rdi, qword [rsp + 0x480]
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.1400161c0
add rsp, 0x458
pop rsi
pop rbx
ret