Function at 0x140023e60
Capabilities:
Contain obfuscated stackstrings
Create a process with modified i/o handles and window
Create pipe
Create process on windows
Create process suspended
Encode data using xor
Hash data using fnv
Read file on windows
Self delete

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1490]
mov eax, 0x1590
call fcn.140031470
sub rsp, rax
mov rax, qword [0x140047040]
xor rax, rsp
mov qword [rbp + 0x1480], rax
mov ebx, ecx
xor r15d, r15d
mov r13d, r15d
mov dword [rsp + 0x50], r15d
mov qword [rbp - 0x78], r15
lea rax, [rbp - 0x70]
mov qword [rsp + 0x58], rax
mov cl, 1
call qword [sym.imp.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_]
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x60]
call fcn.140010210
mov qword [rbp - 0x70], rax
lea rcx, [rbp - 0x60]
call fcn.14000fca0
mov qword [rbp - 0x68], rax
lea r9d, [r15 + 1]
lea r8, [0x14003acc2]
lea rdx, str.___A_Za_z_:___r_n__._dllexebatjarvbs__b
lea rcx, [rbp - 0x78]
call fcn.14000fd90
nop
mov edx, ebx
lea rcx, [rbp + 0x460]
call fcn.14000a9d0
nop
mov r8, rax
lea rdx, str.memory.exe__p
lea rcx, [rbp + 0x440]
call fcn.14000b490
nop
lea rcx, [rbp + 0x460]
call fcn.140003420
mov qword [rbp], 0x18
mov qword [rbp + 0x10], 1
mov qword [rbp + 8], r15
xor r9d, r9d
lea r8, [rbp]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CreatePipe]
xor r8d, r8d
lea edx, [r15 + 1]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
mov dword [rbp + 0x100], 0x68
xorps xmm0, xmm0
movups xmmword [rbp + 0x108], xmm0
movups xmmword [rbp + 0x118], xmm0
movups xmmword [rbp + 0x128], xmm0
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm0
movups xmmword [rbp + 0x158], xmm0
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x158], rax
psrldq xmm0, 4
movd eax, xmm0
or eax, 0x101
mov dword [rbp + 0x13c], eax
mov word [rbp + 0x140], r15w
lea rdx, [rbp + 0x440]
cmp qword [rbp + 0x458], 7
cmova rdx, qword [rbp + 0x440]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x100]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
lea r12, [r15 - 1]
test eax, eax
je 0x1400250f2
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x480]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
movups xmmword [rbp + 0x2e0], xmm0
mov qword [rbp + 0x2f0], r15
mov qword [rbp + 0x2f8], 0xf
mov byte [rbp + 0x2e0], r15b
mov dword [rbp - 0x50], r15d
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], r15
lea ecx, [r15 + 0x30]
call fcn.140030ba8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x38], r15
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 7
mov qword [rbp - 0x18], 8
mov dword [rbp - 0x50], 0x3f800000
mov r8, rax
lea edx, [r15 + 0x10]
lea rcx, [rbp - 0x38]
call fcn.140005e00
nop
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x54]
mov r8d, 0x1000
lea rdx, [rbp + 0x480]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400250b8
lea rdi, [0x140039ae8]
lea rbx, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea rsi, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
nop word [rax + rax]
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x1400250b8
mov r8d, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x340], xmm0
mov qword [rbp + 0x350], r15
mov qword [rbp + 0x358], r15
lea rdx, [rbp + 0x480]
lea rcx, [rbp + 0x340]
call fcn.1400098a0
nop
mov qword [rbp + 0x170], rdi
lea rcx, [rbp + 0x200]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or r13d, 8
mov dword [rsp + 0x50], r13d
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x170]
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 + 0x170]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x170], rbx
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x16c], edx
lea rax, [rbp + 0x180]
mov qword [rsp + 0x58], rax
lea rcx, [rbp + 0x180]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov qword [rbp + 0x180], rsi
lea rdx, [rbp + 0x340]
cmp qword [rbp + 0x358], 0xf
cmova rdx, qword [rbp + 0x340]
mov r9d, 2
mov r8, qword [rbp + 0x350]
lea rcx, [rbp + 0x180]
call fcn.140022410
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x2a0], xmm0
mov qword [rbp + 0x2b0], r15
mov qword [rbp + 0x2b8], 0xf
mov byte [rbp + 0x2a0], 0
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x170]
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 + 0x2a0]
lea rcx, [rbp + 0x170]
call fcn.140022770
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 0x140024fc9
lea rax, [rsp + 0x68]
mov qword [rbp + 0xf0], rax
nop dword [rax]
lea rbx, [rbp + 0x2a0]
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
seta cl
mov r8, qword [rbp + 0x2a0]
cmova rbx, r8
mov rsi, qword [rbp + 0x2b0]
add rbx, rsi
lea rdi, [rbp + 0x2a0]
test cl, cl
cmovne rdi, r8
cmp rdi, rbx
je 0x1400242da
nop dword [rax]
movzx ecx, byte [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x1400242c5
inc rdi
cmp rdi, rbx
jne 0x1400242b0
mov rdx, qword [rbp + 0x2b8]
mov rsi, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x2a0]
lea r14, [rbp + 0x2a0]
cmp rdx, 0xf
seta cl
cmova r14, r8
lea rbx, [rbp + 0x2a0]
test cl, cl
cmovne rbx, r8
add rbx, rsi
cmp rbx, r14
je 0x14002432f
lea rsi, [rbx - 1]
movzx ecx, byte [rsi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x14002431a
mov rbx, rsi
cmp rsi, r14
jne 0x140024301
mov rdx, qword [rbp + 0x2b8]
mov rsi, qword [rbp + 0x2b0]
mov r8, qword [rbp + 0x2a0]
lea rax, [rbp + 0x2a0]
cmp rdx, 0xf
seta cl
cmova rax, r8
lea rdx, [rax + rsi]
lea rax, [rbp + 0x2a0]
mov r9, rbx
sub rdx, rbx
test cl, cl
je 0x14002435b
sub r9, r8
jmp 0x140024365
sub r9, rax
lea r8, [rbp + 0x2a0]
mov rax, rsi
sub rax, r9
cmp rax, rdx
cmovb rdx, rax
lea rcx, [r8 + r9]
sub rsi, rdx
mov r8, rsi
sub r8, r9
inc r8
add rdx, rcx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x2b0], rsi
lea r8, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
seta cl
mov r9, qword [rbp + 0x2a0]
cmova r8, r9
lea rax, [rbp + 0x2a0]
mov rdx, r8
sub rdi, r8
test cl, cl
je 0x1400243c4
sub rdx, r9
jmp 0x1400243ce
sub rdx, rax
lea r9, [rbp + 0x2a0]
mov rax, rsi
sub rax, rdx
cmp rax, rdi
cmovb rdi, rax
lea rcx, [r9 + rdx]
sub rsi, rdi
mov r8, rsi
sub r8, rdx
inc r8
lea rdx, [rcx + rdi]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x2b0], rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x360], xmm0
mov qword [rbp + 0x370], 4
mov qword [rbp + 0x378], 0xf
mov dword [rbp + 0x360], 0x6578652e
mov byte [rbp + 0x364], 0
movups xmmword [rbp + 0x380], xmm0
mov qword [rbp + 0x390], 4
mov qword [rbp + 0x398], 0xf
mov dword [rbp + 0x380], 0x6c6c642e
mov byte [rbp + 0x384], 0
movups xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], 4
mov qword [rbp + 0x3b8], 0xf
mov dword [rbp + 0x3a0], 0x7461622e
mov byte [rbp + 0x3a4], 0
movups xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], 4
mov qword [rbp + 0x3d8], 0xf
mov dword [rbp + 0x3c0], 0x7362762e
mov byte [rbp + 0x3c4], 0
movups xmmword [rbp + 0x3e0], xmm0
mov qword [rbp + 0x3f0], 4
mov qword [rbp + 0x3f8], 0xf
mov dword [rbp + 0x3e0], 0x72616a2e
mov byte [rbp + 0x3e4], 0
movups xmmword [rbp + 0x400], xmm0
mov qword [rbp + 0x410], 4
mov qword [rbp + 0x418], 0xf
mov dword [rbp + 0x400], 0x3173702e
mov byte [rbp + 0x404], 0
movups xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x430], 3
mov qword [rbp + 0x438], 0xf
mov eax, dword [0x14003acc4]
mov word [rbp + 0x420], ax
movzx eax, byte [0x14003acc6]
mov byte [rbp + 0x422], al
mov byte [rbp + 0x423], 0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov ecx, 0xe0
call fcn.140030ba8
mov rbx, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
lea rcx, [rax + 0xe0]
mov qword [rsp + 0x78], rcx
lea rdi, [rbp + 0x360]
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
lea rax, [rsp + 0x68]
mov qword [rbp + 0x78], rax
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.140008fb0
add rbx, 0x20
mov qword [rbp + 0x70], rbx
add rdi, 0x20
lea rax, [rbp + 0x440]
cmp rdi, rax
jne 0x1400245a0
mov qword [rsp + 0x70], rbx
lea r9, [fcn.140008f10]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rbp + 0x360]
call fcn.140030e60
lea r15, [rbp + 0x2a0]
mov r14, qword [rbp + 0x2b8]
cmp r14, 0xf
seta r12b
mov rsi, qword [rbp + 0x2a0]
cmova r15, rsi
mov rdi, qword [rbp + 0x2b0]
test rdi, rdi
je 0x14002462e
mov r8, rdi
mov edx, 0x3a
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14002462e
sub rbx, r15
jmp 0x140024635
mov rbx, 0xffffffffffffffff
lea r15, [rbp + 0x2a0]
test r12b, r12b
cmovne r15, rsi
cmp rbx, rdi
jae 0x14002466d
mov r8, rdi
sub r8, rbx
lea rcx, [r15 + rbx]
mov edx, 0x5c
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14002466d
sub rax, r15
mov r12, 0xffffffffffffffff
jmp 0x140024677
mov r12, 0xffffffffffffffff
mov rax, r12
cmp rbx, 0xffffffffffffffff
je 0x1400247e9
cmp rax, 0xffffffffffffffff
je 0x1400247e9
lea rax, [rbp + 0x2e0]
cmp qword [rbp + 0x2f8], 0xf
cmova rax, qword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x2f0]
cmp rcx, 1
jb 0x1400247e9
cmp byte [rax + rcx - 1], 0x5c
jne 0x1400246be
xor eax, eax
jmp 0x1400246c3
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
je 0x1400247e9
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
cmp rbx, r15
je 0x1400247e9
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1400246f0
mov rdx, qword [rbx]
lea rcx, [rbp + 0x2a0]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, qword [rbx + 0x10]
jne 0x140024711
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14002471f
add rbx, 0x20
cmp rbx, r15
jne 0x1400246e3
jmp 0x1400247e9
lea rdx, str.____Detected_file_executed_with_special_characters.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a320
lea rdx, [0x14000a4f0]
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]
lea rdx, str.____Line_1:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a320
lea rdx, [rbp + 0x2e0]
cmp qword [rbp + 0x2f8], 0xf
cmova rdx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x2f0]
mov rcx, rax
call fcn.140025b00
lea rdx, [0x14000a4f0]
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]
lea rdx, str.____Line_2:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a320
lea rdx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova rdx, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x2b0]
mov rcx, rax
call fcn.140025b00
lea rdx, [0x14000a4f0]
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]
mov r14, qword [rbp + 0x2b8]
mov rdi, qword [rbp + 0x2b0]
mov rsi, qword [rbp + 0x2a0]
xor eax, eax
mov qword [rbp + 0x80], rax
mov byte [rbp + 0x88], al
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xa0], xmm1
mov qword [rbp + 0xb0], rax
mov byte [rbp + 0xb8], al
movdqa xmmword [rbp + 0xc0], xmm0
mov byte [rbp + 0xd0], al
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
mov byte [rbp + 0xe8], al
test rdi, rdi
je 0x140024e31
lea rdx, [rbp + 0x2a0]
cmp r14, 0xf
seta bl
cmova rdx, rsi
movabs r9, 0xcbf29ce484222325
mov ecx, eax
test rdi, rdi
je 0x14002489a
movabs r14, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r14
inc rcx
cmp rcx, rdi
jb 0x140024880
mov r14, qword [rbp + 0x2b8]
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x270]
lea rcx, [rbp - 0x50]
call fcn.140025fd0
mov rcx, qword [rax + 8]
mov rax, qword [rbp - 0x48]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [rbp - 0x48]
jne 0x140024e31
lea r8, [rbp + 0x2a0]
test bl, bl
je 0x1400248de
mov rcx, rsi
lea rdx, [rsi + rdi]
jmp 0x1400248f2
lea rdx, [rbp + 0x2a0]
add rdx, rdi
lea rcx, [rbp + 0x2a0]
mov rsi, r8
mov qword [rsp + 0x28], rsi
lea r9, [rbp - 0x78]
lea r8, [rbp + 0x80]
call fcn.140025cc0
mov r15, qword [rbp + 0x90]
test al, al
je 0x140024e1a
cmp qword [rbp + 0x98], r15
lea rcx, [rbp + 0xd8]
cmovne rcx, r15
cmp byte [rcx + 0x10], 0
je 0x140024937
movups xmm0, xmmword [rcx]
movups xmmword [rbp - 0x10], xmm0
jmp 0x14002493f
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x2c0], xmm0
xor eax, eax
mov qword [rbp + 0x2d0], rax
mov qword [rbp + 0x2d8], rax
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
cmp rdx, r8
jne 0x140024984
mov edx, eax
mov qword [rbp + 0x2d0], rax
mov r8d, 0xf
mov qword [rbp + 0x2d8], r8
mov byte [rbp + 0x2c0], al
jmp 0x1400249a1
sub r8, rdx
lea rcx, [rbp + 0x2c0]
call fcn.1400098a0
mov r8, qword [rbp + 0x2d8]
mov rdx, qword [rbp + 0x2d0]
or r13d, 7
mov dword [rsp + 0x50], r13d
lea rsi, [rbp + 0x2c0]
cmp r8, 0xf
seta cl
mov r9, qword [rbp + 0x2c0]
cmova rsi, r9
add rsi, rdx
lea rax, [rbp + 0x2c0]
test cl, cl
je 0x1400249d7
lea rbx, [r9 + rdx]
jmp 0x1400249e2
lea rbx, [rax + rdx]
lea r9, [rbp + 0x2c0]
mov r8b, 0x22
mov rdx, rbx
mov rcx, r9
call fcn.140030530
mov r10, rax
cmp rax, rbx
je 0x140024a16
inc rax
cmp rax, rbx
je 0x140024a16
movzx ecx, byte [rax]
cmp cl, 0x22
je 0x140024a0e
mov byte [r10], cl
inc r10
inc rax
cmp rax, rbx
jne 0x140024a00
lea rcx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
seta r8b
cmova rcx, qword [rbp + 0x2c0]
mov r9, r10
sub r9, rcx
sub rsi, r10
mov rdi, qword [rbp + 0x2d0]
mov rax, rdi
sub rax, r9
cmp rax, rsi
cmovb rsi, rax
lea rcx, [rbp + 0x2c0]
test r8b, r8b
cmovne rcx, qword [rbp + 0x2c0]
add rcx, r9
sub rdi, rsi
mov r8, rdi
sub r8, r9
inc r8
lea rdx, [rcx + rsi]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x2d0], rdi
lea rdx, [rbp + 0x2c0]
mov rsi, qword [rbp + 0x2d8]
cmp rsi, 0xf
seta r14b
mov rbx, qword [rbp + 0x2c0]
cmova rdx, rbx
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test rdi, rdi
je 0x140024ada
movabs rsi, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, rsi
inc rcx
cmp rcx, rdi
jb 0x140024ac0
mov rsi, qword [rbp + 0x2d8]
lea r8, [rbp + 0x2c0]
lea rdx, [rbp + 0x290]
lea rcx, [rbp - 0x50]
call fcn.140025fd0
mov rcx, qword [rax + 8]
mov rax, qword [rbp - 0x48]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [rbp - 0x48]
jne 0x140024de3
lea rax, [rbp + 0x300]
mov qword [rbp + 0x20], rax
lea rsi, [rbp + 0x2c0]
test r14b, r14b
cmovne rsi, rbx
call fcn.14002fcec
mov r14d, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x300], xmm0
xor eax, eax
mov qword [rbp + 0x310], rax
mov qword [rbp + 0x318], 7
mov word [rbp + 0x300], ax
or r13d, 0x40
mov dword [rsp + 0x50], r13d
test rdi, rdi
je 0x140024bdd
cmp rdi, 0x7fffffff
ja 0x1400251e3
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.14002fd14
mov rbx, rax
mov qword [rsp + 0x58], rax
shr rax, 0x20
test eax, eax
jne 0x1400251d9
movsxd rdx, ebx
lea rcx, [rbp + 0x300]
call fcn.140019a80
lea r9, [rbp + 0x300]
cmp qword [rbp + 0x318], 7
cmova r9, qword [rbp + 0x300]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.14002fd14
mov qword [rsp + 0x58], rax
shr rax, 0x20
test eax, eax
jne 0x1400251cf
and r13d, 0xffffffbf
or r13d, 0x30
mov dword [rsp + 0x50], r13d
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x260]
call fcn.140008400
movsd xmm0, qword [rax]
movsd qword [rbp + 0x58], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x30], ecx
lea rax, [0x1400470c8]
mov qword [rbp + 0x38], rax
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x20], xmm0
mov eax, dword [rbp + 0x58]
test eax, eax
je 0x140024c2f
cmp eax, 1
setne bl
jmp 0x140024c39
xor bl, bl
test ecx, ecx
jne 0x1400251be
mov r8, qword [rbp + 0x318]
cmp r8, 7
jbe 0x140024c52
mov rdx, qword [rbp + 0x300]
call fcn.1400036a0
test bl, bl
je 0x140024d75
xorps xmm0, xmm0
movups xmmword [rbp + 0x320], xmm0
xor eax, eax
mov qword [rbp + 0x330], rax
mov qword [rbp + 0x338], 7
mov word [rbp + 0x320], ax
lea r8, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova r8, qword [rbp + 0x2c0]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov r9d, r12d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
test eax, eax
jle 0x140024d0d
lea rdx, [rbx - 1]
lea rcx, [rbp + 0x320]
call fcn.140019a80
lea rcx, [rbp + 0x320]
cmp qword [rbp + 0x338], 7
cmova rcx, qword [rbp + 0x320]
lea r8, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova r8, qword [rbp + 0x2c0]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
mov r9d, r12d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rdx, [rbp + 0x320]
call fcn.14002f040
test al, al
jne 0x140024d67
lea rdx, str.___Executed__Unsigned_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a320
lea rdx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova rdx, qword [rbp + 0x2c0]
mov r8, qword [rbp + 0x2d0]
mov rcx, rax
call fcn.140025b00
lea rdx, [0x14000a4f0]
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
lea rcx, [rbp + 0x320]
call fcn.140003420
jmp 0x140024dbe
lea rdx, str.___Executed__Deleted_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a320
lea rdx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova rdx, qword [rbp + 0x2c0]
mov r8, qword [rbp + 0x2d0]
mov rcx, rax
call fcn.140025b00
lea rdx, [0x14000a4f0]
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]
lea r8, [rbp + 0x2c0]
lea rdx, [rbp + 0x280]
lea rcx, [rbp - 0x50]
call fcn.1400253c0
mov rsi, qword [rbp + 0x2d8]
mov rbx, qword [rbp + 0x2c0]
cmp rsi, 0xf
jbe 0x140024e1a
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140024e12
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400251a2
mov rcx, rbx
call fcn.140030a80
mov r14, qword [rbp + 0x2b8]
mov rdi, qword [rbp + 0x2b0]
mov rsi, qword [rbp + 0x2a0]
jmp 0x140024e38
mov r15, qword [rbp + 0x90]
lea rdx, [rbp + 0x2a0]
cmp r14, 0xf
cmova rdx, rsi
mov r8, rdi
lea rcx, [rbp + 0x2e0]
call fcn.140012d90
nop
test r15, r15
je 0x140024eae
mov rax, qword [rbp + 0xa0]
sub rax, r15
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rax, rcx
lea rdx, [rax + rax*2]
shl rdx, 3
mov rax, r15
cmp rdx, 0x1000
jb 0x140024ea5
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400251a9
mov rcx, r15
call fcn.140030a80
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140024f62
mov rdi, qword [rsp + 0x70]
cmp rbx, rdi
je 0x140024f29
xor eax, eax
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140024f0c
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140024f05
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400251b0
mov rcx, r8
call fcn.140030a80
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rdi
jne 0x140024ed0
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140024f5a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400251b0
mov rcx, rbx
call fcn.140030a80
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x170]
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 + 0x2a0]
lea rcx, [rbp + 0x170]
call fcn.140022770
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
mov r15d, 0
jne 0x140024270
lea rbx, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea rdi, [0x140039ae8]
lea rsi, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov rdx, qword [rbp + 0x2b8]
cmp rdx, 0xf
jbe 0x14002500a
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140025005
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400251b7
call fcn.140030a80
mov qword [rbp + 0x2b0], r15
mov qword [rbp + 0x2b8], 0xf
mov byte [rbp + 0x2a0], 0
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x170], rbx
mov rax, qword [rbp + 0x170]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx + 0x16c], edx
lea rcx, [rbp + 0x180]
call fcn.140022060
lea rcx, [rbp + 0x188]
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 + 0x200]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov r8, qword [rbp + 0x358]
cmp r8, 0xf
jbe 0x14002508e
mov rdx, qword [rbp + 0x340]
call fcn.140009270
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x54]
mov r8d, 0x1000
lea rdx, [rbp + 0x480]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x140024100
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp - 0x50]
call fcn.140025200
nop
lea rcx, [rbp + 0x2e0]
call fcn.140008f10
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x440]
call fcn.140003420
nop
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x14002514c
lock xadd dword [rax + 0x2c], r12d
cmp r12d, 1
jne 0x14002514c
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x14002514c
nop dword [rax]
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r15
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test rbx, rbx
jne 0x140025130
mov qword [rbp - 0x78], r15
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140025172
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140025172
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rcx, qword [rbp + 0x1480]
xor rcx, rsp
call fcn.140030a60
lea r11, [rsp + 0x1590]
mov rbx, qword [r11 + 0x38]
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 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 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
lea r8, [rbp + 0x300]
lea rdx, [rbp + 0x20]
call fcn.140008330
nop
mov ecx, dword [rsp + 0x5c]
call fcn.140007bc0
int3
mov ecx, dword [rsp + 0x5c]
call fcn.140007bc0
int3
call fcn.1400078e0
int3