Function at 0x140026cb0
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.1400348b0
sub rsp, rax
mov rax, qword [0x14004c040]
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.140014b00
mov qword [rbp - 0x70], rax
lea rcx, [rbp - 0x60]
call fcn.140014590
mov qword [rbp - 0x68], rax
lea r9d, [r15 + 1]
lea r8, [0x14003ed02]
lea rdx, str.___A_Za_z_:___r_n__._dllexebatjarvbs__b
lea rcx, [rbp - 0x78]
call fcn.140014680
nop
mov edx, ebx
lea rcx, [rbp + 0x460]
call fcn.14000f540
nop
mov r8, rax
lea rdx, str.memory.exe__p
lea rcx, [rbp + 0x440]
call fcn.140010000
nop
lea rcx, [rbp + 0x460]
call fcn.140002e70
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 0x140027f42
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.140033fe8
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.140005720
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 0x140027f08
lea rdi, [0x14003da58]
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 0x140027f08
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.140009650
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.140025510
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.140025650
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 0x140027e19
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 0x14002712a
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 0x140027115
inc rdi
cmp rdi, rbx
jne 0x140027100
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 0x14002717f
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 0x14002716a
mov rbx, rsi
cmp rsi, r14
jne 0x140027151
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 0x1400271ab
sub r9, r8
jmp 0x1400271b5
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 0x140027214
sub rdx, r9
jmp 0x14002721e
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 [0x14003ed04]
mov word [rbp + 0x420], ax
movzx eax, byte [0x14003ed06]
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.140033fe8
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.140008d60
add rbx, 0x20
mov qword [rbp + 0x70], rbx
add rdi, 0x20
lea rax, [rbp + 0x440]
cmp rdi, rax
jne 0x1400273f0
mov qword [rsp + 0x70], rbx
lea r9, [fcn.140008cc0]
mov edx, 0x20
lea r8d, [rdx - 0x19]
lea rcx, [rbp + 0x360]
call fcn.1400342a0
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 0x14002747e
mov r8, rdi
mov edx, 0x3a
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14002747e
sub rbx, r15
jmp 0x140027485
mov rbx, 0xffffffffffffffff
lea r15, [rbp + 0x2a0]
test r12b, r12b
cmovne r15, rsi
cmp rbx, rdi
jae 0x1400274bd
mov r8, rdi
sub r8, rbx
lea rcx, [r15 + rbx]
mov edx, 0x5c
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1400274bd
sub rax, r15
mov r12, 0xffffffffffffffff
jmp 0x1400274c7
mov r12, 0xffffffffffffffff
mov rax, r12
cmp rbx, 0xffffffffffffffff
je 0x140027639
cmp rax, 0xffffffffffffffff
je 0x140027639
lea rax, [rbp + 0x2e0]
cmp qword [rbp + 0x2f8], 0xf
cmova rax, qword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x2f0]
cmp rcx, 1
jb 0x140027639
cmp byte [rax + rcx - 1], 0x5c
jne 0x14002750e
xor eax, eax
jmp 0x140027513
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
je 0x140027639
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
cmp rbx, r15
je 0x140027639
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140027540
mov rdx, qword [rbx]
lea rcx, [rbp + 0x2a0]
cmp r14, 0xf
cmova rcx, rsi
cmp rdi, qword [rbx + 0x10]
jne 0x140027561
mov r8, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14002756f
add rbx, 0x20
cmp rbx, r15
jne 0x140027533
jmp 0x140027639
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.14000ada0
lea rdx, [0x14000e800]
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.14000ada0
lea rdx, [rbp + 0x2e0]
cmp qword [rbp + 0x2f8], 0xf
cmova rdx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x2f0]
mov rcx, rax
call fcn.140028950
lea rdx, [0x14000e800]
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.14000ada0
lea rdx, [rbp + 0x2a0]
cmp qword [rbp + 0x2b8], 0xf
cmova rdx, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x2b0]
mov rcx, rax
call fcn.140028950
lea rdx, [0x14000e800]
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 0x140027c81
lea rdx, [rbp + 0x2a0]
cmp r14, 0xf
seta bl
cmova rdx, rsi
movabs r9, 0xcbf29ce484222325
mov ecx, eax
test rdi, rdi
je 0x1400276ea
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 0x1400276d0
mov r14, qword [rbp + 0x2b8]
lea r8, [rbp + 0x2a0]
lea rdx, [rbp + 0x270]
lea rcx, [rbp - 0x50]
call fcn.140028e20
mov rcx, qword [rax + 8]
mov rax, qword [rbp - 0x48]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [rbp - 0x48]
jne 0x140027c81
lea r8, [rbp + 0x2a0]
test bl, bl
je 0x14002772e
mov rcx, rsi
lea rdx, [rsi + rdi]
jmp 0x140027742
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.140028b10
mov r15, qword [rbp + 0x90]
test al, al
je 0x140027c6a
cmp qword [rbp + 0x98], r15
lea rcx, [rbp + 0xd8]
cmovne rcx, r15
cmp byte [rcx + 0x10], 0
je 0x140027787
movups xmm0, xmmword [rcx]
movups xmmword [rbp - 0x10], xmm0
jmp 0x14002778f
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 0x1400277d4
mov edx, eax
mov qword [rbp + 0x2d0], rax
mov r8d, 0xf
mov qword [rbp + 0x2d8], r8
mov byte [rbp + 0x2c0], al
jmp 0x1400277f1
sub r8, rdx
lea rcx, [rbp + 0x2c0]
call fcn.140009650
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 0x140027827
lea rbx, [r9 + rdx]
jmp 0x140027832
lea rbx, [rax + rdx]
lea r9, [rbp + 0x2c0]
mov r8b, 0x22
mov rdx, rbx
mov rcx, r9
call fcn.140033980
mov r10, rax
cmp rax, rbx
je 0x140027866
inc rax
cmp rax, rbx
je 0x140027866
movzx ecx, byte [rax]
cmp cl, 0x22
je 0x14002785e
mov byte [r10], cl
inc r10
inc rax
cmp rax, rbx
jne 0x140027850
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 0x14002792a
movabs rsi, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, rsi
inc rcx
cmp rcx, rdi
jb 0x140027910
mov rsi, qword [rbp + 0x2d8]
lea r8, [rbp + 0x2c0]
lea rdx, [rbp + 0x290]
lea rcx, [rbp - 0x50]
call fcn.140028e20
mov rcx, qword [rax + 8]
mov rax, qword [rbp - 0x48]
test rcx, rcx
cmovne rax, rcx
cmp rax, qword [rbp - 0x48]
jne 0x140027c33
lea rax, [rbp + 0x300]
mov qword [rbp + 0x20], rax
lea rsi, [rbp + 0x2c0]
test r14b, r14b
cmovne rsi, rbx
call fcn.14003311c
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 0x140027a2d
cmp rdi, 0x7fffffff
ja 0x140028033
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.140033144
mov rbx, rax
mov qword [rsp + 0x58], rax
shr rax, 0x20
test eax, eax
jne 0x140028029
movsxd rdx, ebx
lea rcx, [rbp + 0x300]
call fcn.14001e1c0
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.140033144
mov qword [rsp + 0x58], rax
shr rax, 0x20
test eax, eax
jne 0x14002801f
and r13d, 0xffffffbf
or r13d, 0x30
mov dword [rsp + 0x50], r13d
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x260]
call fcn.140008100
movsd xmm0, qword [rax]
movsd qword [rbp + 0x58], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x30], ecx
lea rax, [0x14004c0c8]
mov qword [rbp + 0x38], rax
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp + 0x20], xmm0
mov eax, dword [rbp + 0x58]
test eax, eax
je 0x140027a7f
cmp eax, 1
setne bl
jmp 0x140027a89
xor bl, bl
test ecx, ecx
jne 0x14002800e
mov r8, qword [rbp + 0x318]
cmp r8, 7
jbe 0x140027aa2
mov rdx, qword [rbp + 0x300]
call fcn.1400030f0
test bl, bl
je 0x140027bc5
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 0x140027b5d
lea rdx, [rbx - 1]
lea rcx, [rbp + 0x320]
call fcn.14001e1c0
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.140032470
test al, al
jne 0x140027bb7
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.14000ada0
lea rdx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova rdx, qword [rbp + 0x2c0]
mov r8, qword [rbp + 0x2d0]
mov rcx, rax
call fcn.140028950
lea rdx, [0x14000e800]
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.140002e70
jmp 0x140027c0e
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.14000ada0
lea rdx, [rbp + 0x2c0]
cmp qword [rbp + 0x2d8], 0xf
cmova rdx, qword [rbp + 0x2c0]
mov r8, qword [rbp + 0x2d0]
mov rcx, rax
call fcn.140028950
lea rdx, [0x14000e800]
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.140028210
mov rsi, qword [rbp + 0x2d8]
mov rbx, qword [rbp + 0x2c0]
cmp rsi, 0xf
jbe 0x140027c6a
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140027c62
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027ff2
mov rcx, rbx
call fcn.140033ec0
mov r14, qword [rbp + 0x2b8]
mov rdi, qword [rbp + 0x2b0]
mov rsi, qword [rbp + 0x2a0]
jmp 0x140027c88
mov r15, qword [rbp + 0x90]
lea rdx, [rbp + 0x2a0]
cmp r14, 0xf
cmova rdx, rsi
mov r8, rdi
lea rcx, [rbp + 0x2e0]
call fcn.1400173f0
nop
test r15, r15
je 0x140027cfe
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 0x140027cf5
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140027ff9
mov rcx, r15
call fcn.140033ec0
nop
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140027db2
mov rdi, qword [rsp + 0x70]
cmp rbx, rdi
je 0x140027d79
xor eax, eax
nop dword [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140027d5c
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140027d55
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140028000
mov rcx, r8
call fcn.140033ec0
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rdi
jne 0x140027d20
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140027daa
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028000
mov rcx, rbx
call fcn.140033ec0
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.140025650
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 0x1400270c0
lea rbx, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
lea rdi, [0x14003da58]
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 0x140027e5a
inc rdx
mov rcx, qword [rbp + 0x2a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140027e55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140028007
call fcn.140033ec0
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.140025340
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 0x140027ede
mov rdx, qword [rbp + 0x340]
call fcn.140009020
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 0x140026f50
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.140028050
nop
lea rcx, [rbp + 0x2e0]
call fcn.140008cc0
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp + 0x440]
call fcn.140002e70
nop
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140027f9c
lock xadd dword [rax + 0x2c], r12d
cmp r12d, 1
jne 0x140027f9c
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x140027f9c
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 0x140027f80
mov qword [rbp - 0x78], r15
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140027fc2
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x140027fc2
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rcx, qword [rbp + 0x1480]
xor rcx, rsp
call fcn.140033ea0
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.140008030
nop
mov ecx, dword [rsp + 0x5c]
call fcn.1400078c0
int3
mov ecx, dword [rsp + 0x5c]
call fcn.1400078c0
int3
call fcn.1400075e0
int3