Function at 0x14002b890
Capabilities:
Check if file exists

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov byte [r8], 1
lea r14, [rbp - 0x38]
mov rcx, r14
call fcn.140011800
lea r15, [rbp - 0x10]
mov rcx, r15
call fcn.14000de70
mov rdx, qword [rdi]
mov rcx, r14
xor r8d, r8d
call fcn.140011a00
test al, al
je 0x14002b9a4
mov eax, dword [rbx + 0x68]
cmp eax, 2
je 0x14002bbe4
test eax, eax
jne 0x14002baa9
mov rcx, rdi
call fcn.14000e8b0
lea edx, [rax + 1]
lea rcx, [rbp + 0x40]
mov r8, rdi
call fcn.14000dd10
mov rcx, rbp
lea rdx, [rbp + 0x40]
mov r8, r15
call fcn.14000ddf0
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14002b932
call fcn.14049f26c
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x40], rax
xor r15d, r15d
cmp byte [rbx + 0x5b], 0
lea rax, [rbx + 0x120]
cmove rax, r15
lea r8, [rbx + 0x108]
cmp byte [rbx + 0x113], 0
cmove r8, r15
mov rcx, qword [rbx + 0x78]
mov r9, qword [rbx + 0xb0]
mov rdx, qword [rbp]
mov r10, qword [rcx]
lea r11, [rbp + 0x3c]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r9
lea r8, [rbp + 0x40]
lea r9, [rbp - 0x38]
call qword [r10 + Ordinal_41]
test eax, eax
je 0x14002ba45
mov r14d, eax
jmp case.0x14002ba65.5
mov rcx, qword [rdi]
call fcn.1400134c0
test eax, eax
js 0x14002bbe1
mov ebx, eax
mov rax, qword [rdi]
mov r14d, ebx
cmp word [rax + r14*2 + 2], 0
je 0x14002bbe1
lea rcx, [rbp + 0x40]
mov rdx, rdi
call fcn.14000e040
cmp dword [rbp + 0x48], ebx
jbe 0x14002b9e8
mov dword [rbp + 0x48], ebx
mov rax, qword [rbp + 0x40]
mov word [rax + r14*2], 0
mov rcx, rbp
call fcn.140011800
lea rcx, [rbp + 0x28]
call fcn.14000de70
mov rdx, qword [rbp + 0x40]
mov rcx, rbp
xor r8d, r8d
call fcn.140011a00
test al, al
je 0x14002ba20
mov edx, dword [rbp + 0x20]
test dl, 1
je 0x14002ba20
and edx, 0xfffffffe
mov rcx, qword [rbp + 0x40]
call fcn.140011170
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x14002ba2e
call fcn.14049f26c
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x14002bbe1
call fcn.14049f26c
jmp 0x14002bbe1
mov eax, dword [rbp + 0x3c]
cmp rax, 5
ja case.default.0x14002ba65
mov r14d, 0x80004004
xor r15d, r15d
lea rcx, [0x14002bd44]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp rdx
mov dword [rbx + 0x68], 2
xor r15d, r15d
xor r14d, r14d
jmp case.0x14002ba65.5
mov r14d, 0x80004005
xor r15d, r15d
jmp case.0x14002ba65.5
mov eax, 3
mov dword [rbx + 0x68], eax
xor r14d, r14d
mov r15b, 1
mov rcx, qword [rbp]
test rcx, rcx
je 0x14002ba9d
call fcn.14049f26c
test r15b, r15b
je 0x14002bbe7
mov eax, dword [rbx + 0x68]
cmp eax, 4
je 0x14002bacf
cmp eax, 3
jne 0x14002bb24
mov rcx, rdi
call fcn.140022dd0
test al, al
je 0x14002bb8d
mov byte [rbx + 0x1f8], 1
jmp 0x14002bbe1
mov rcx, rbp
mov rdx, rdi
call fcn.14000e040
mov rcx, rbp
call fcn.140022dd0
test al, al
je 0x14002bbad
mov rdx, qword [rbp]
mov rcx, qword [rdi]
call fcn.1400111e0
mov r15b, 1
test al, al
jne 0x14002bbce
call fcn.1400129b0
mov qword [rsp + 0x20], rdi
lea r8, str.Cannot_rename_existing_file
mov r9, rbp
mov rcx, rbx
mov edx, eax
call fcn.14002afe0
jmp 0x14002bbbf
test byte [rbp - 0x18], 0x10
mov rcx, qword [rdi]
jne 0x14002bb6d
call fcn.140012410
test al, al
je 0x14002bbe1
mov rcx, qword [rdi]
call fcn.140011510
test al, al
jne 0x14002bbe1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x14002bbe1
lea rdx, str.Cannot_delete_output_file
mov rcx, rbx
mov r8, rdi
call fcn.14002aea0
jmp 0x14002bb88
call fcn.1400111c0
test al, al
jne 0x14002bbe1
lea rdx, str.Cannot_delete_output_folder
mov rcx, rbx
mov r8, rdi
call fcn.14002aea0
mov r14d, eax
jmp 0x14002bbe7
lea rdx, str.Cannot_create_file_with_auto_name
mov rcx, rbx
mov r8, rdi
call fcn.14002ae00
test eax, eax
mov r14d, 0x80004005
cmovne r14d, eax
jmp 0x14002bbe7
lea rdx, str.Cannot_create_file_with_auto_name
mov rcx, rbx
mov r8, rdi
call fcn.14002ae00
test eax, eax
mov r14d, 0x80004005
cmovne r14d, eax
xor r15d, r15d
mov rcx, qword [rbp]
test rcx, rcx
je 0x14002bbdc
call fcn.14049f26c
test r15b, r15b
je 0x14002bbe7
mov byte [rsi], 0
xor r14d, r14d
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14002bbf5
call fcn.14049f26c
mov eax, r14d
add rsp, 0xd8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret