Function at 0x14003fc80
Capabilities:
Move file

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x3a8]
sub rsp, 0x490
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
movzx r14d, r8b
mov r15, rdx
mov rdi, rcx
lea rcx, [rbp + 0x160]
call fcn.140039080
nop
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
xor ecx, ecx
call fcn.14004cfc0
mov esi, eax
mov edx, eax
movsx rax, byte [rbp + 0x177]
movzx r9d, al
shr r9b, 7
mov ebx, 0xb
mov r8, qword [rbp + 0x168]
and r9b, 1
je 0x14003fd01
mov rcx, r8
jmp 0x14003fd07
mov rcx, rbx
sub rcx, rax
cmp rdx, rcx
jae 0x14003fd4b
mov rcx, qword [rbp + 0x160]
test r9b, r9b
je 0x14003fd1e
lea r8, [rcx + r8*2]
jmp 0x14003fd2b
add rax, rax
lea r8, [rbp + 0x176]
sub r8, rax
lea rax, [rbp + 0x160]
test r9b, r9b
cmovne rax, rcx
lea rdx, [rax + rsi*2]
lea rcx, [rbp + 0x160]
call fcn.140044300
jmp 0x14003fd5f
jbe 0x14003fd5f
xor r8d, r8d
sub rdx, rcx
lea rcx, [rbp + 0x160]
call fcn.140043ed0
movzx eax, byte [rbp + 0x177]
shr al, 7
lea rcx, [rbp + 0x160]
test al, al
cmovne rcx, qword [rbp + 0x160]
lea r8d, [rsi + 1]
mov r9, 0xffffffffffffffff
mov rdx, rdi
call fcn.14004cfc0
lea rcx, [rsp + 0x30]
call fcn.140039080
nop
mov r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r15
xor ecx, ecx
call fcn.14004cfc0
mov edi, eax
mov edx, eax
movsx rax, byte [rsp + 0x47]
movzx r9d, al
shr r9b, 7
mov r8, qword [rsp + 0x38]
and r9b, 1
je 0x14003fdce
mov rbx, r8
jmp 0x14003fdd1
sub rbx, rax
cmp rdx, rbx
jae 0x14003fe0d
mov rcx, qword [rsp + 0x30]
test r9b, r9b
je 0x14003fde6
lea r8, [rcx + r8*2]
jmp 0x14003fdf1
add rax, rax
lea r8, [rsp + 0x46]
sub r8, rax
lea rax, [rsp + 0x30]
test r9b, r9b
cmovne rax, rcx
lea rdx, [rax + rdi*2]
lea rcx, [rsp + 0x30]
call fcn.140044300
jmp 0x14003fe1f
jbe 0x14003fe1f
xor r8d, r8d
sub rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140043ed0
movzx eax, byte [rsp + 0x47]
shr al, 7
lea rcx, [rsp + 0x30]
test al, al
cmovne rcx, qword [rsp + 0x30]
lea eax, [rdi + 1]
mov r8d, eax
mov r9, 0xffffffffffffffff
mov rdx, r15
call fcn.14004cfc0
movzx eax, byte [rsp + 0x47]
shr al, 7
lea rbx, [rsp + 0x30]
test al, al
cmovne rbx, qword [rsp + 0x30]
movzx eax, byte [rbp + 0x177]
shr al, 7
test al, 1
je 0x14003ff24
mov rdi, qword [rbp + 0x160]
test rdi, rdi
jne 0x14003ff2b
xor bl, bl
movzx eax, byte [rsp + 0x47]
shr al, 7
movabs rdi, 0x7fffffffffffffff
test al, 1
je 0x14003fec3
mov r8, qword [rsp + 0x40]
and r8, rdi
inc r8
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x14003fec3
cmp rdx, qword [rsp + 0x58]
je 0x14003fec3
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
add r8, r8
call qword [rax + 0x18]
nop
movzx eax, byte [rbp + 0x177]
shr al, 7
test al, 1
je 0x14003ff04
mov r8, qword [rbp + 0x170]
and r8, rdi
inc r8
mov rdx, qword [rbp + 0x160]
test rdx, rdx
je 0x14003ff04
cmp rdx, qword [rbp + 0x188]
je 0x14003ff04
mov rcx, qword [rbp + 0x178]
mov r9, qword [rcx]
add r8, r8
call qword [r9 + 0x18]
movzx eax, bl
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
lea rdi, [rbp + 0x160]
cmp word [rdi], 0
je 0x14003fe80
test rbx, rbx
je 0x14003fe80
cmp word [rbx], 0
je 0x14003fe80
test r14b, r14b
jne 0x14003ff5d
mov rcx, rbx
call fcn.14003d510
test al, al
jne 0x14003fe80
mov r8d, 3
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
setne bl
jmp 0x14003fe82