Function at 0x140007880
Capabilities:
Delete file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rdi, rdx
xor r13d, r13d
mov dword [rsp + 0x20], r13d
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x50]
call sub.VCRUNTIME140.dll_memset
mov rbx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400078e1
mov rbx, qword [rdi]
lea rax, [0x140000000]
lea rax, [rax + 0xfaf8]
mov qword [rbp - 0x50], rax
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x50]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rsi
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x54], edx
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x40], rax
mov byte [rbp + 0x3c], 0
mov byte [rbp + 0x31], 0
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x40], r13
mov rax, qword [0x140015ba0]
mov qword [rbp + 0x34], rax
mov qword [rbp + 0x28], r13
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.140009730
test rax, rax
jne 0x1400079af
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x50], rsi
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x54], edx
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll_memset
mov r15, qword [rdi + 0x10]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 0xe
jb 0x140007fd4
mov r12, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140007a0d
mov r12, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
lea r14, [r15 + 0xe]
mov ebx, 0xf
lea rsi, [rsp + 0x70]
cmp r14, rbx
jbe 0x140007aae
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x140007a68
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14000b620
test rax, rax
je 0x140007a90
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140007aa9
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140007a97
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140007fda
jmp 0x140007a4d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140007aa6
call fcn.14000b620
mov rsi, rax
jmp 0x140007aa9
mov rsi, r13
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x78], rbx
mov r8, r15
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str._Encrypted.txt]
movsd qword [rsi + r15], xmm0
mov eax, dword [0x14000f950]
mov dword [rsi + r15 + 8], eax
movzx eax, word [0x14000f954]
mov word [rsi + r15 + 0xc], ax
mov byte [rsi + r14], 0
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
lea rax, [0x140000000]
lea rax, [rax + 0xfac0]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0x168]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 0xe
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0xc0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea r14, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xc0], r14
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xbc], edx
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rsi, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0xc8], rsi
mov byte [rbp + 0x144], 0
mov byte [rbp + 0x139], 0
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x148], r13
mov rax, qword [0x140015ba0]
mov qword [rbp + 0x13c], rax
mov qword [rbp + 0x130], r13
mov r8d, 2
mov rdx, rbx
lea rcx, [rbp + 0xc8]
call fcn.140009730
test rax, rax
jne 0x140007c06
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0xc0]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xc0], r14
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xbc], edx
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140007c70
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007c6b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007c6b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000b734
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x14000fba0]
movdqu xmmword [rbp - 0x60], xmm1
mov byte [rbp - 0x70], 0
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.14000a8c0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x140007db4
nop dword [rax + rax]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
call fcn.140007fe0
mov rbx, rax
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x50]
call fcn.140005590
nop
mov r9, rbx
mov r8, rax
lea rdx, [rsp + 0x70]
call fcn.1400076e0
nop
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x80]
lea rcx, [rbp + 0xc0]
call fcn.14000aa60
lea rdx, [0x1400099e0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x140007d74
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007d6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140007e5e
call fcn.14000b734
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.14000a8c0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x140007cd0
lea rcx, [rbp - 0x40]
call fcn.1400095f0
test rax, rax
jne 0x140007dde
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x50]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rcx, [rbp + 0xc8]
call fcn.1400095f0
test rax, rax
jne 0x140007e11
mov rax, qword [rbp + 0xc0]
movsxd r8, dword [rax + 4]
lea rcx, [rbp + 0xc0]
add rcx, r8
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
cmp qword [rdi + 0x18], 0xf
jbe 0x140007e1b
mov rdi, qword [rdi]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x140007e6b
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007e65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007e65
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14000b734
nop
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0xc0], r14
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0xbc], edx
mov qword [rbp + 0xc8], rsi
cmp qword [rbp + 0x148], 0
je 0x140007ee0
mov rax, qword [rbp + 0xe0]
lea rcx, [rbp + 0x138]
cmp qword [rax], rcx
jne 0x140007ee0
mov rdx, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x150]
mov qword [rax], rcx
mov rax, qword [rbp + 0x100]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x118]
mov dword [rax], edx
cmp byte [rbp + 0x144], 0
je 0x140007ef5
lea rcx, [rbp + 0xc8]
call fcn.1400095f0
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0xd0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x168]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x50], rax
mov rax, qword [rbp - 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx - 0x54], edx
mov qword [rbp - 0x40], rsi
cmp qword [rbp + 0x40], 0
je 0x140007f76
mov rax, qword [rbp - 0x28]
lea rcx, [rbp + 0x30]
cmp qword [rax], rcx
jne 0x140007f76
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x48]
mov qword [rax], rcx
mov rax, qword [rbp - 8]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x10]
mov dword [rax], edx
cmp byte [rbp + 0x3c], 0
je 0x140007f85
lea rcx, [rbp - 0x40]
call fcn.1400095f0
lea rcx, [rbp - 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.14000b600
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400011b0
nop
call fcn.140001110
int3