Function at 0x14002b580
Capabilities:
Delete file
Move file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rax - 0x198]
sub rsp, 0x270
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140055020]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rsi, rcx
cmp qword [rcx + 0x108], 0
je 0x14002b5f1
lea rbx, [rcx + 0x68]
lea rcx, [rbx + 8]
call fcn.14002e450
test rax, rax
jne 0x14002b5f1
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
cmp byte [rsi + 0x3d], 1
jne 0x14002b8fd
mov edi, dword [rsi + 0x170]
test edi, edi
jle 0x14002b8fd
xor r14d, r14d
nop dword [rax]
mov edx, 1
lea rcx, [rsi + 0x40]
call fcn.14002e2a0
mov r13, rax
mov r9, rax
xor r8d, r8d
lea rdx, [rbp + 0xf0]
lea rcx, [rsi + 0x40]
call fcn.14001c330
nop
mov r8d, edi
lea rdx, [0x140043738]
lea rcx, [rbp + 0x140]
call fcn.14002ed50
or r9, 0xffffffffffffffff
mov r8, r13
lea rdx, [rbp + 0xc8]
lea rcx, [rsi + 0x40]
call fcn.14001c330
mov rbx, rax
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xa0]
call fcn.14002ed80
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.14002ee60
nop
cmp qword [rbp + 0xb8], 8
jb 0x14002b6aa
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], r14
mov word [rbp + 0xa0], r14w
cmp qword [rbp + 0xe0], 8
jb 0x14002b6db
mov rcx, qword [rbp + 0xc8]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r14
mov word [rbp + 0x50], r14w
cmp edi, 1
jle 0x14002b83e
lea r8d, [rdi - 1]
lea rdx, [0x140043738]
lea rcx, [rbp + 0x140]
call fcn.14002ed50
or r9, 0xffffffffffffffff
mov r8, r13
lea rdx, [rbp + 0x118]
lea rcx, [rsi + 0x40]
call fcn.14001c330
mov rbx, rax
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xc8]
call fcn.14002ed80
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.14002ee60
mov rbx, rax
lea rax, [rbp + 0x50]
cmp rax, rbx
je 0x14002b7c3
cmp qword [rbp + 0x68], 8
jb 0x14002b770
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r14
mov word [rbp + 0x50], r14w
cmp qword [rbx + 0x18], 8
jae 0x14002b7a1
mov r8, qword [rbx + 0x10]
inc r8
add r8, r8
mov rdx, rbx
lea rcx, [rbp + 0x50]
call qword [sym.imp.MSVCR100.dll_memmove]
jmp 0x14002b7ab
mov rax, qword [rbx]
mov qword [rbp + 0x50], rax
mov qword [rbx], r14
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x60], rax
mov rax, qword [rbx + 0x18]
mov qword [rbp + 0x68], rax
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
cmp qword [rbp + 0xb8], 8
jb 0x14002b7da
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], r14
mov word [rbp + 0xa0], r14w
cmp qword [rbp + 0xe0], 8
jb 0x14002b80b
mov rcx, qword [rbp + 0xc8]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xe0], 7
mov qword [rbp + 0xd8], r14
mov word [rbp + 0xc8], r14w
cmp qword [rbp + 0x130], 8
jb 0x14002b852
mov rcx, qword [rbp + 0x118]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
jmp 0x14002b852
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsi + 0x40]
lea rcx, [rbp + 0x50]
call fcn.140003cb0
lea rcx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rcx, qword [rbp + 0x78]
call qword [sym.imp.MSVCR100.dll__wremove]
lea rdx, [rbp + 0x78]
cmp qword [rbp + 0x90], 8
cmovae rdx, qword [rbp + 0x78]
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rcx, qword [rbp + 0x50]
call qword [sym.imp.MSVCR100.dll__wrename]
nop
cmp qword [rbp + 0x68], 8
jb 0x14002b8a0
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r14
mov word [rbp + 0x50], r14w
cmp qword [rbp + 0x90], 8
jb 0x14002b8c5
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x90], 7
mov qword [rbp + 0x88], r14
mov word [rbp + 0x78], r14w
cmp qword [rbp + 0x108], 8
jb 0x14002b8f3
mov rcx, qword [rbp + 0xf0]
call qword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_]
dec edi
test edi, edi
jg 0x14002b610
cmp byte [rsi + 0x3e], 1
jne 0x14002ba57
mov eax, 0xfeff
mov word [rsp + 0x20], ax
cmp byte [rsi + 0x3c], 0
jne 0x14002ba41
lea rcx, [rsp + 0x40]
call fcn.14002d380
nop
lea rbx, [rsi + 0x40]
cmp qword [rbx + 0x18], 8
jb 0x14002b936
mov rdx, qword [rbx]
jmp 0x14002b939
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.14002e770
xor r8d, r8d
test rax, rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0x40]
jne 0x14002b965
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
jmp 0x14002b96d
xor edx, edx
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
mov r8d, 2
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rsp + 0x48]
call fcn.14002e890
test rax, rax
jne 0x14002b9ad
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0x40]
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
cmp qword [rbx + 0x18], 8
jb 0x14002b9b7
mov rbx, qword [rbx]
lea rdi, [rsi + 0x68]
lea rcx, [rdi + 8]
mov r8d, 0x2a
mov rdx, rbx
call fcn.14002e350
xor r8d, r8d
test rax, rax
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
jne 0x14002b9eb
add rcx, rdi
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
jmp 0x14002b9f7
add rcx, rdi
xor edx, edx
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::clear_int__bool____ptr64]
nop
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
lea rcx, [rsp + 0x48]
call fcn.14002d450
nop
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [sym.imp.MSVCP100.dll_const_std::basic_ostream_char__struct_std::char_traits_char__::vftable]
mov qword [rsp + rcx + 0x40], rax
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP100.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x14002baa1
lea rdx, [rsi + 0x40]
cmp qword [rdx + 0x18], 8
jb 0x14002ba4f
mov rdx, qword [rdx]
mov r8d, 0x2a
jmp 0x14002ba6b
lea rdx, [rsi + 0x40]
cmp qword [rdx + 0x18], 8
jb 0x14002ba65
mov rdx, qword [rdx]
mov r8d, 0xa
lea rbx, [rsi + 0x68]
lea rcx, [rbx + 8]
call fcn.14002e350
xor r8d, r8d
test rax, rax
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
jne 0x14002ba96
add rcx, rbx
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
jmp 0x14002baa1
xor edx, edx
add rcx, rbx
call qword [sym.imp.MSVCP100.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::clear_int__bool____ptr64]
lea rcx, [rsi + 0x70]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.MSVCP100.dll_public:_class_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__::pubsetbuf_wchar_t____ptr64__long_long___int64_____ptr64]
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140032000
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret