Function at 0x1400219f8
Capabilities:
Check if file exists
Get file attributes
Move file

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5b8]
sub rsp, 0x690
mov rax, qword [0x14002f008]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov qword [rsp + 0x40], rcx
mov rdx, rsp
lea rcx, [0x1400429e0]
call sub.msvcrt.dll__setjmp
xor ebx, ebx
test eax, eax
je 0x140021a7e
mov eax, 1
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.1400151c0
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 0x78]
call fcn.140008fa0
or r13, 0xffffffffffffffff
mov rdi, rax
mov rax, r13
inc rax
cmp word [rdi + rax*2], bx
jne 0x140021a9b
lea rsi, [rdi + 2]
lea rsi, [rsi + rax*2]
cmp word [rdi], bx
je 0x140021f74
cmp word [rsi], bx
je 0x140021f74
mov rax, r13
inc rax
cmp word [rsi + rax*2], bx
jne 0x140021ac1
cmp word [rsi + rax*2 + 2], bx
jne 0x140021f74
mov rcx, rdi
call fcn.14000e400
mov rdx, r13
inc rdx
cmp word [rdi + rdx*2], bx
jne 0x140021ae0
inc rdx
mov r8, rax
mov rcx, rdi
call fcn.14000dc10
mov rcx, rsi
call fcn.14000e400
mov rdx, r13
inc rdx
cmp word [rsi + rdx*2], bx
jne 0x140021b02
inc rdx
mov r8, rax
mov rcx, rsi
call fcn.14000dc10
mov rcx, rdi
call fcn.140005ee8
mov r14, rax
cmp rax, 1
jne 0x140021b36
mov ecx, dword [0x140046d88]
call fcn.1400219cc
int3
mov r12d, 0x104
lea r8, [0x140032600]
mov edx, r12d
lea rcx, [rsp + 0x50]
call fcn.14000dc10
lea r8, [0x140032600]
mov edx, r12d
lea rcx, [rbp + 0x160]
call fcn.14000dc10
lea rax, [rsp + 0x50]
mov r15, r13
inc r15
cmp word [rax + r15*2], bx
jne 0x140021b6e
mov rax, qword [r14 + 0x30]
test byte [rax], 0x10
jne 0x140021b94
mov r8, qword [r14 + 0x20]
lea rcx, [rsp + 0x50]
mov rdx, r12
call fcn.14000db30
jmp 0x140021bb6
dec r15d
movsxd rax, r15d
add rax, rax
cmp rax, 0x208
jae 0x140021f6e
mov word [rsp + rax + 0x50], bx
mov word [rbp + rax + 0x160], bx
test byte [r14 + 0x38], 8
jne 0x140021bed
lea rcx, [rsp + 0x50]
call fcn.14000e400
mov rcx, rax
call qword [sym.imp.api_ms_win_core_file_l1_2_1.dll_GetFileAttributesW]
mov rcx, qword [r14 + 0x30]
mov dword [rcx], eax
mov rax, qword [r14 + 0x30]
cmp dword [rax], 0xffffffff
jne 0x140021bed
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov ecx, eax
call fcn.1400219cc
int3
mov r12d, 0x3a
cmp word [rsi + 2], r12w
je 0x140021f63
lea edx, [r12 + 0x22]
mov rcx, rsi
call fcn.140008434
test rax, rax
jne 0x140021f63
movzx eax, word [0x140032600]
lea rdx, [rsp + 0x48]
mov rcx, rdi
mov word [rbp + 0x370], ax
mov word [rbp + 0x372], r12w
mov dword [rsp + 0x48], 0x3f002a
mov word [rsp + 0x4c], bx
call fcn.140011210
mov rcx, r13
inc rcx
cmp word [rdi + rcx*2], bx
jne 0x140021c47
cmp rax, rcx
lea rdx, [rsp + 0x50]
mov rax, qword [r14 + 0x30]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov r12d, 0x20
mov edi, ebx
mov dword [rsp + 0x30], r12d
setb dil
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea rcx, [fcn.140005b00]
mov r8d, r12d
call fcn.140005954
test al, al
jne 0x140021d01
mov rax, qword [r14 + 0x30]
lea edx, [r12 - 0x10]
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], rcx
mov r8d, edx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rcx, [fcn.140005b00]
xor r9d, r9d
call fcn.140005954
test al, al
jne 0x140021ce8
mov ecx, dword [0x140046d88]
mov r12d, 2
cmp ecx, 0x12
cmove ecx, r12d
mov dword [0x140046d88], ecx
call fcn.1400219cc
int3
test edi, edi
je 0x140021d01
mov rcx, qword [rsp + 0x38]
call fcn.140006a48
mov ecx, 0x232a
call fcn.1400219cc
int3
movsxd rax, r15d
lea r13, [rax + rax]
cmp r13, 0x208
jae 0x140021f5d
mov rdi, qword [rsp + 0x38]
lea rax, [rsp + 0x50]
mov word [rax + r13], bx
mov r12d, 2
mov dword [rsp + 0x34], ebx
cmp dword [0x14002f70c], ebx
jne 0x140021f4b
mov rax, qword [r14 + 0x30]
test byte [rax], 0x10
je 0x140021dee
mov edx, 0x5c
lea rcx, [rbp + 0x160]
call fcn.14000e3dc
mov rcx, rax
test rax, rax
je 0x140021f15
add rcx, r12
or rax, 0xffffffffffffffff
mov rdx, rax
mov word [rcx], bx
inc rdx
cmp word [rsi + rdx*2], bx
jne 0x140021d71
lea r8, [rbp + 0x160]
inc rax
cmp word [r8 + rax*2], bx
jne 0x140021d81
inc rax
mov r8d, 0x104
add rax, rdx
cmp rax, r8
ja 0x140021efd
lea rdx, [rbp + 0x160]
mov rax, rcx
sub rax, rdx
mov edx, r8d
sar rax, 1
mov r8, rsi
sub rdx, rax
call fcn.14000dc10
lea rcx, [rbp + 0x160]
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], bx
jne 0x140021dc9
add rax, rax
cmp rax, 0x208
jae 0x140021ef7
mov word [rbp + rax + 0x160], bx
jmp 0x140021e79
cmp r13, 0x208
jae 0x140021f45
mov word [rsp + r13 + 0x50], bx
lea rcx, [rsp + 0x50]
mov r8, qword [r14 + 0x30]
mov edx, 0x104
add r8, 0x2c
call fcn.14000db30
lea r9, [rsp + 0x50]
mov r8, rsi
add r9, r13
lea rcx, [rbp + 0x370]
call fcn.140012624
lea rax, [rbp + 0x370]
or rdx, 0xffffffffffffffff
inc rdx
cmp word [rax + rdx*2], bx
jne 0x140021e3a
lea eax, [r15 + 1]
movsxd rcx, eax
mov eax, 0x104
add rdx, rcx
cmp rdx, rax
ja 0x140021f2d
lea r8, [rbp + 0x370]
mov word [rbp + r13 + 0x160], bx
mov edx, eax
lea rcx, [rbp + 0x160]
call fcn.14000db30
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x50]
call qword [sym.imp.api_ms_win_core_file_l2_1_1.dll_MoveFileWithProgressW]
test eax, eax
jne 0x140021eba
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov ecx, 0x234d
cmp eax, 0xb7
cmove eax, ecx
xor edx, edx
mov ecx, eax
mov dword [rsp + 0x34], eax
call fcn.1400057e4
mov r8d, dword [rsp + 0x30]
lea rcx, [fcn.140005b00]
mov rdx, qword [r14 + 0x30]
mov r9, rdi
call fcn.140003588
test al, al
jne 0x140021d2e
mov rcx, rdi
call fcn.140006a48
call fcn.140011edc
mov eax, dword [rsp + 0x34]
test eax, eax
setne bl
mov eax, ebx
jmp 0x140021a4e
call fcn.140015398
int3
mov rcx, rdi
call fcn.140006a48
call fcn.140011edc
mov ecx, 0x232e
call fcn.1400219cc
int3
mov rcx, rdi
call fcn.140006a48
call fcn.140011edc
mov ecx, 0x232e
call fcn.1400219cc
int3
mov rcx, rdi
call fcn.140006a48
call fcn.140011edc
mov ecx, 0x232e
call fcn.1400219cc
int3
call fcn.140015398
int3
mov rcx, rdi
call fcn.140006a48
call fcn.140011edc
jmp 0x140021a49
call fcn.140015398
int3
mov ecx, 0x232a
call fcn.1400219cc
int3
call fcn.140015398
int3
mov ecx, 0x232a
call fcn.1400219cc
int3