Function at 0x14002a7d0
Capabilities:
Delete file
Move file

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x230
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140051020]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov rsi, rcx
cmp qword [rcx + 0xf0], 0
je 0x14002a841
lea rbx, [rcx + 0x58]
lea rcx, [rbx + 8]
call fcn.14002d750
test rax, rax
jne 0x14002a841
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
cmp byte [rsi + 0x35], 1
jne 0x14002ab0d
mov edi, dword [rsi + 0x160]
test edi, edi
jle 0x14002ab0d
lea r14, [rsi + 0x38]
xor r12d, r12d
mov r9d, 1
mov rcx, r14
call fcn.14002d5b0
mov r15, rax
mov r9, rax
xor r8d, r8d
lea rdx, [rbp + 0xc0]
mov rcx, r14
call fcn.14001aa70
nop
mov r8d, edi
lea rdx, [0x140041908]
lea rcx, [rbp + 0x100]
call fcn.14002de40
or r9, 0xffffffffffffffff
mov r8, r15
lea rdx, [rbp + 0xa0]
mov rcx, r14
call fcn.14001aa70
mov rbx, rax
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x60]
call fcn.14002de70
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.14002df60
nop
cmp qword [rbp + 0x78], 8
jb 0x14002a8f2
mov rcx, qword [rbp + 0x60]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x78], 7
mov qword [rbp + 0x70], r12
mov word [rbp + 0x60], r12w
cmp qword [rbp + 0xb8], 8
jb 0x14002a91a
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], r12
mov word [rbp + 0x40], r12w
cmp edi, 1
jle 0x14002aa34
lea r8d, [rdi - 1]
lea rdx, [0x140041908]
lea rcx, [rbp + 0x100]
call fcn.14002de40
or r9, 0xffffffffffffffff
mov r8, r15
lea rdx, [rbp + 0xe0]
mov rcx, r14
call fcn.14001aa70
mov rbx, rax
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0xa0]
call fcn.14002de70
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.14002df60
mov rbx, rax
lea rax, [rbp + 0x40]
cmp rax, rbx
je 0x14002a9c8
cmp qword [rbp + 0x58], 8
jb 0x14002a9ab
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], r12
mov word [rbp + 0x40], r12w
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.140004850
cmp qword [rbp + 0x78], 8
jb 0x14002a9d9
mov rcx, qword [rbp + 0x60]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x78], 7
mov qword [rbp + 0x70], r12
mov word [rbp + 0x60], r12w
cmp qword [rbp + 0xb8], 8
jb 0x14002aa01
mov rcx, qword [rbp + 0xa0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0xb8], 7
mov qword [rbp + 0xb0], r12
mov word [rbp + 0xa0], r12w
cmp qword [rbp + 0xf8], 8
jb 0x14002aa50
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
jmp 0x14002aa50
lea rax, [rbp + 0x40]
cmp rax, r14
je 0x14002aa50
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x40]
call fcn.1400048c0
lea rcx, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rcx, qword [rbp + 0x80]
call qword [sym.imp.MSVCR110.dll__wremove]
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 8
cmovae rdx, qword [rbp + 0x80]
lea rcx, [rbp + 0x40]
cmp qword [rbp + 0x58], 8
cmovae rcx, qword [rbp + 0x40]
call qword [sym.imp.MSVCR110.dll__wrename]
nop
cmp qword [rbp + 0x58], 8
jb 0x14002aaaa
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x58], 7
mov qword [rbp + 0x50], r12
mov word [rbp + 0x40], r12w
cmp qword [rbp + 0x98], 8
jb 0x14002aad2
mov rcx, qword [rbp + 0x80]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp + 0x98], 7
mov qword [rbp + 0x90], r12
mov word [rbp + 0x80], r12w
cmp qword [rbp + 0xd8], 8
jb 0x14002ab03
mov rcx, qword [rbp + 0xc0]
call qword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void____ptr64_]
dec edi
test edi, edi
jg 0x14002a860
cmp byte [rsi + 0x36], 1
jne 0x14002ac32
mov eax, 0xfeff
mov word [rsp + 0x20], ax
cmp byte [rsi + 0x34], 0
jne 0x14002ac1c
lea rcx, [rsp + 0x30]
call fcn.14002c560
nop
lea rbx, [rsi + 0x38]
cmp qword [rbx + 0x18], 8
jb 0x14002ab46
mov rdx, qword [rbx]
jmp 0x14002ab49
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.14002da40
xor r8d, r8d
test rax, rax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0x30]
jne 0x14002ab75
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
jmp 0x14002ab7d
xor edx, edx
call qword [sym.imp.MSVCP110.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 + 0x30]
call qword [sym.imp.MSVCP110.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 + 0x38]
call fcn.14002db50
test rax, rax
jne 0x14002abbd
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
lea rcx, [rsp + rcx + 0x30]
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
cmp qword [rbx + 0x18], 8
jb 0x14002abc7
mov rbx, qword [rbx]
lea rdi, [rsi + 0x58]
lea rcx, [rdi + 8]
mov r8d, 0x2a
mov rdx, rbx
call fcn.14002d660
xor r8d, r8d
test rax, rax
mov rax, qword [rdi]
movsxd rcx, dword [rax + 4]
jne 0x14002abfb
add rcx, rdi
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
jmp 0x14002ac07
add rcx, rdi
xor edx, edx
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::clear_int__bool____ptr64]
nop
lea rcx, [rbp - 0x28]
call fcn.14002c640
lea rcx, [rbp - 0x28]
call qword [sym.imp.MSVCP110.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x14002ac7c
lea rdx, [rsi + 0x38]
cmp qword [rdx + 0x18], 8
jb 0x14002ac2a
mov rdx, qword [rdx]
mov r8d, 0x2a
jmp 0x14002ac46
lea rdx, [rsi + 0x38]
cmp qword [rdx + 0x18], 8
jb 0x14002ac40
mov rdx, qword [rdx]
mov r8d, 0xa
lea rbx, [rsi + 0x58]
lea rcx, [rbx + 8]
call fcn.14002d660
xor r8d, r8d
test rax, rax
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
jne 0x14002ac71
add rcx, rbx
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
jmp 0x14002ac7c
xor edx, edx
add rcx, rbx
call qword [sym.imp.MSVCP110.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::clear_int__bool____ptr64]
lea rcx, [rsi + 0x60]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.MSVCP110.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 + 0x120]
xor rcx, rsp
call fcn.140031010
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret