Function at 0x140034d20
Capabilities:
Create process on windows
Create process suspended
Delete file

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0xdd0
mov qword [rsp + 0x110], 0xfffffffffffffffe
mov rax, qword [0x14025a030]
xor rax, rsp
mov qword [rsp + 0xdc8], rax
mov r12, r9
mov rbx, r8
mov rdi, rdx
mov r13, qword [rsp + 0xe28]
xor esi, esi
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x54], 0x78
lea r9, [rsp + 0x54]
lea r8, [rsp + 0x58]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x140]
call fcn.140001d10
nop
lea rcx, [rsp + 0xc00]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void____ptr64]
nop
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x1400350b0
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x140034ea4
lea edx, [rsi + 2]
lea r8d, [rsi + 1]
lea rcx, [rsp + 0x5f0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x5f0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x5f0]
mov r8, rax
lea rdx, [rsp + 0xb0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x5f0]
call fcn.140002150
lea rdx, str.Package_version:
mov rcx, rax
call fcn.140002150
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
lea rdx, [rsp + 0xda0]
lea rcx, [rsp + 0x5f0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xda8]
cmp qword [rsp + 0xdc0], 8
cmovae r8, qword [rsp + 0xda8]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xdb8]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xda0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x5f0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x1400350b0
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x140034fb0
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x7d0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x7d0]
mov r8, rax
lea rdx, [rsp + 0xa8]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x7d0]
call fcn.140002150
lea rdx, str.Package_hash:
mov rcx, rax
call fcn.140002150
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
lea rdx, [rsp + 0xd78]
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xd80]
cmp qword [rsp + 0xd98], 8
cmovae r8, qword [rsp + 0xd80]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xd90]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xd78]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x7d0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x1400350b0
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x1400350b0
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x410]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x410]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x410]
mov r8, rax
lea rdx, [rsp + 0xc8]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x410]
call fcn.140002150
lea rdx, str.Try_to_install_package
mov rcx, rax
call fcn.1400023c0
lea rdx, [rsp + 0xcb0]
lea rcx, [rsp + 0x410]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xcb8]
cmp qword [rsp + 0xcd0], 8
cmovae r8, qword [rsp + 0xcb8]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xcc8]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xcb0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x410]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
cmp qword [rbx + 0x20], 8
jb 0x1400350bd
mov rdx, qword [rbx + 8]
jmp 0x1400350c1
lea rdx, [rbx + 8]
lea r8, [rsp + 0xbf0]
lea rcx, [rsp + 0x50]
call fcn.1400758d0
test eax, eax
jne 0x140035118
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xbf0], eax
lea rax, str.Utils::MD5::MakeHashW
mov qword [rsp + 0xbf8], rax
movaps xmm0, xmmword [rsp + 0xbf0]
movdqa xmmword [rsp + 0x130], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0x130]
call sub.MSVCR90.dll__CxxThrowException
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x140035250
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x140035250
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x8c0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x8c0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x8c0]
mov r8, rax
lea rdx, [rsp + 0x88]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0x88]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea r8, [rsp + 0xbf0]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x278]
call fcn.14002fe50
mov rbx, rax
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x8c0]
call fcn.140002150
lea rdx, str.Hash_from_update:
mov rcx, rax
call fcn.140002150
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
nop
lea rcx, [rsp + 0x278]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
lea rdx, [rsp + 0xd00]
lea rcx, [rsp + 0x8c0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xd08]
cmp qword [rsp + 0xd20], 8
cmovae r8, qword [rsp + 0xd08]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xd18]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xd00]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x8c0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
lea r8, [rsp + 0xc78]
mov rdi, qword [rsp + 0xe20]
mov rdx, rdi
mov rcx, r12
call fcn.1400754f0
test eax, eax
jne 0x1400352b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xbf0], eax
lea rax, str.Utils::MD5::Calculate
mov qword [rsp + 0xbf8], rax
movaps xmm0, xmmword [rsp + 0xbf0]
movdqa xmmword [rsp + 0x100], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0x100]
call sub.MSVCR90.dll__CxxThrowException
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x1400353e8
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x1400353e8
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x500]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x500]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x500]
mov r8, rax
lea rdx, [rsp + 0xa0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0xa0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea r8, [rsp + 0xc78]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x250]
call fcn.14002fe50
mov rbx, rax
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x500]
call fcn.140002150
lea rdx, str.Hash_of_package:
mov rcx, rax
call fcn.140002150
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
nop
lea rcx, [rsp + 0x250]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
lea rdx, [rsp + 0xd50]
lea rcx, [rsp + 0x500]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xd58]
cmp qword [rsp + 0xd70], 8
cmovae r8, qword [rsp + 0xd58]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xd68]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xd50]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x500]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
lea rax, [rsp + 0xbf0]
lea rcx, [rsp + 0xc78]
mov rdx, qword [rax]
cmp rdx, qword [rcx]
jne 0x14003540e
mov rdx, qword [rax + 8]
cmp rdx, qword [rcx + 8]
jne 0x14003540e
mov eax, esi
jmp 0x140035413
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x140035458
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0xbf0], eax
lea rax, str.Checking_HashIsNotEqual_
mov qword [rsp + 0xbf8], rax
movaps xmm0, xmmword [rsp + 0xbf0]
movdqa xmmword [rsp + 0x120], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0x120]
call sub.MSVCR90.dll__CxxThrowException
lea rbx, vtable.SpeedBit::Utils::Std::StringValueW_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___.0
mov qword [rsp + 0xbf0], rbx
lea rax, [rsp + 0xc00]
mov qword [rsp + 0xbf8], rax
lea r9, [rsp + 0xbf0]
xor r8d, r8d
lea rdx, str.Package
lea rcx, [rsp + 0xb90]
call fcn.1400630d0
nop
mov qword [rsp + 0xbf0], rbx
test eax, eax
jne 0x1400354db
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
lea rax, str.Utils::FileSystem::GetTempFileNameW
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0xd0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xd0]
call sub.MSVCR90.dll__CxxThrowException
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x1400355ec
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x1400355ec
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x6e0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x6e0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x6e0]
mov r8, rax
lea rdx, [rsp + 0xc0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0xc0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x6e0]
call fcn.140002150
lea rdx, str.Temp_package_file:
mov rcx, rax
call fcn.140002150
lea rdx, [rsp + 0xc00]
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
lea rdx, [rsp + 0xcd8]
lea rcx, [rsp + 0x6e0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xce0]
cmp qword [rsp + 0xcf8], 8
cmovae r8, qword [rsp + 0xce0]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xcf0]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xcd8]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x6e0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
lea rdx, [rsp + 0xc08]
cmp qword [rsp + 0xc20], 8
cmovae rdx, qword [rsp + 0xc08]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0xe]
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_wchar_t_const____ptr64__int__int____ptr64]
nop
mov rax, qword [rsp + 0x2a0]
movsxd rcx, dword [rax + 4]
mov eax, dword [rsp + rcx + 0x2b0]
shr eax, 2
test al, 1
je 0x140035679
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
lea rax, str.std::ofstream::bad
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0xe0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xe0]
call sub.MSVCR90.dll__CxxThrowException
mov r8, rdi
mov rdx, r12
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.MSVCP90.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 + 0x2a0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ofstream_char__struct_std::char_traits_char__::close_void____ptr64]
lea rcx, [rsp + 0xc50]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void____ptr64]
nop
lea rdx, [rsp + 0xc00]
lea rcx, [rsp + 0xc50]
call qword [reloc.MSVCP90.dll___Y__basic_string__WU__char_traits__W_std__V__allocator__W_2__std__QEAAAEAV01_AEBV01__Z]
lea rdx, [0x1401c8288]
lea rcx, [rsp + 0xc50]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_wchar_t_const____ptr64____ptr64]
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x1400357f4
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x1400357f4
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0xaa0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0xaa0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0xaa0]
mov r8, rax
lea rdx, [rsp + 0x90]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0x90]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0xaa0]
call fcn.140002150
lea rdx, str.Command_line:
mov rcx, rax
call fcn.140002150
lea rdx, [rsp + 0xc50]
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64_]
lea rdx, [rsp + 0xc88]
lea rcx, [rsp + 0xaa0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xc90]
cmp qword [rsp + 0xca8], 8
cmovae r8, qword [rsp + 0xc90]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xca0]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xc88]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0xaa0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rsp + 0x3a0]
call sub.MSVCR90.dll_memset
mov dword [rsp + 0x3a0], 0x68
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0xc58]
cmp qword [rsp + 0xc70], 8
cmovae rdx, qword [rsp + 0xc58]
lea rcx, [rsp + 0xc08]
cmp qword [rsp + 0xc20], 8
cmovae rcx, qword [rsp + 0xc08]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x1400358d3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
lea rax, str.CreateProcess
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0xf0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xf0]
call sub.MSVCR90.dll__CxxThrowException
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x140035a02
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x140035a02
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x9b0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x9b0]
movsxd rdx, dword [rcx + 4]
lea rcx, [rsp + rdx + 0x9b0]
mov r8, rax
lea rdx, [rsp + 0x98]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0x98]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x9b0]
call fcn.140002150
lea rdx, str.Install_process_created._Process_Id:
mov rcx, rax
call fcn.140002150
mov edx, dword [rsp + 0x80]
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___unsigned_long_int____ptr64]
lea rdx, str.._Thread_Id:
mov rcx, rax
call fcn.140002150
mov edx, dword [rsp + 0x84]
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___unsigned_long_int____ptr64]
lea rdx, [rsp + 0xd28]
lea rcx, [rsp + 0x9b0]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xd30]
cmp qword [rsp + 0xd48], 8
cmovae r8, qword [rsp + 0xd30]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xd40]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xd28]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x9b0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r11, qword [rsp + 0x78]
mov qword [r13], r11
mov rcx, qword [0x140260548]
test rcx, rcx
je 0x140035b10
mov rax, qword [rcx]
mov edx, 0x7d0
call qword [rax + 0x10]
test eax, eax
je 0x140035b10
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x160]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int____ptr64]
nop
call qword [sym.imp.MSVCP90.dll_public:_static_class_std::locale_const____ptr64___cdecl_std::locale::classic_void_]
mov rcx, qword [rsp + 0x160]
movsxd r8, dword [rcx + 4]
lea rcx, [rsp + r8 + 0x160]
mov r8, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.MSVCP90.dll_public:_class_std::locale___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::imbue_class_std::locale_const____ptr64____ptr64]
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::locale::destructor_void____ptr64]
lea rdx, str._Monitor::UpdateInstaller::InstallPackage_
lea rcx, [rsp + 0x160]
call fcn.140002150
lea rdx, str.Install_launched
mov rcx, rax
call fcn.140002150
lea rdx, [rsp + 0xc28]
lea rcx, [rsp + 0x160]
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void____ptr64]
nop
lea r8, [rsp + 0xc30]
cmp qword [rsp + 0xc48], 8
cmovae r8, qword [rsp + 0xc30]
mov rcx, qword [0x140260548]
mov rax, qword [rcx]
mov r9, qword [rsp + 0xc40]
mov edx, 0x7d0
call qword [rax + 0x20]
nop
lea rcx, [rsp + 0xc28]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x160]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void____ptr64]
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], 1
lea rcx, [rsp + 0xc50]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x2a0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void____ptr64]
nop
cmp qword [rsp + 0xc18], 0
je 0x140035b65
lea rcx, [rsp + 0xc08]
cmp qword [rsp + 0xc20], 8
cmovae rcx, qword [rsp + 0xc08]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebx, dword [rsp + 0x58]
lea rcx, [rsp + 0xc00]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x140]
call fcn.140001e50
nop
mov ecx, dword [rsp + 0x54]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
mov rcx, qword [rsp + 0xdc8]
xor rcx, rsp
call fcn.140155650
add rsp, 0xdd0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret