Function at 0x14000ce38
Capabilities:
Check mutex on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x918]
sub rsp, 0xa18
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov r15, rcx
call qword [sym.imp.GSRoot.dll_bool___cdecl_DBInit_void_]
lea r8, str.Graphisoft_BIMx_Uploader_Reserved
mov r12d, 1
mov edx, r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [r15 + 0x310], rax
xor esi, esi
test rax, rax
jne 0x14000ceb4
lea r9, str.FAILED
lea r8, str.WIN32_CreateMutex
lea rdx, [0x140046950]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.140002a1c
jmp 0x14000dce3
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000cf5b
lea r9, str.Exists
lea r8, str.WIN32_Mutex
lea rdx, [0x140046950]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.140002a1c
lea r8, str.Graphisoft_BIMx_Uploader_hInternal
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov qword [r15 + 0x318], rax
test rax, rax
je 0x14000dce3
mov qword [rsp + 0x20], 8
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [r15 + 0x320], rax
test rax, rax
je 0x14000cf49
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov rcx, qword [r15 + 0x320]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [r15 + 0x318]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000dce3
lea rax, str.Graphisoft_BIMx_Uploader_hInternal
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 8
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 4]
or rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [r15 + 0x318], rax
test rax, rax
je 0x14000dcb6
mov qword [rsp + 0x20], 8
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [r15 + 0x320], rax
test rax, rax
jne 0x14000cfed
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x960], eax
lea r9, [rbp + 0x960]
lea r8, str.WIN32_MapViewOfFile
lea rdx, [0x140046950]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.14000bfb4
jmp 0x14000cf49
lea rcx, str.GSReport.exe
call qword [sym.imp.GSRoot.dll_BugRep_SetGSReportLocation]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public:_void___cdecl_SU::ProductVersionInfo::constructor_void____ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetProjectBuildNum_void_const___ptr64]
lea rcx, [rsp + 0x70]
test eax, eax
jle 0x14000d048
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetProjectBuildNum_void_const___ptr64]
mov ebx, eax
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetBuildNum_void_const___ptr64]
mov r8d, eax
mov r9d, ebx
lea rdx, str._ld._ld
lea rcx, [rbp + 0x3b0]
call fcn.14000e2cc
jmp 0x14000d064
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetBuildNum_void_const___ptr64]
mov r8d, eax
lea rdx, [0x140027d28]
lea rcx, [rbp + 0x3b0]
call fcn.14000e2cc
lea rdx, [rbp]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetGSLanguageCode_void____ptr64]
mov rdi, rax
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetGSProductType_void____ptr64]
mov rbx, rax
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetCodeName_void____ptr64]
nop
lea r14, [0x140026920]
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0xb0]
call qword [sym.imp.GSRoot.dll_class_GS::UniString::Concatenation___cdecl_GS::operator_class_GS::UniString_const____ptr64__char_const____ptr64_]
nop
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::Concatenation____ptr64___cdecl_GS::UniString::Concatenation::operator_class_GS::UniString_const____ptr64____ptr64]
mov rcx, rax
mov rdx, r14
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::Concatenation____ptr64___cdecl_GS::UniString::Concatenation::operator_char_const____ptr64____ptr64]
mov rcx, rax
mov rdx, rdi
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::Concatenation____ptr64___cdecl_GS::UniString::Concatenation::operator_class_GS::UniString_const____ptr64____ptr64]
mov rcx, rax
mov rdx, r14
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::Concatenation____ptr64___cdecl_GS::UniString::Concatenation::operator_char_const____ptr64____ptr64]
mov rcx, rax
lea rdx, [rbp + 0x3b0]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::Concatenation____ptr64___cdecl_GS::UniString::Concatenation::operator_char_const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rbp - 0x30]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_class_GS::UniString::Concatenation_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0xb0]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::Concatenation::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x88]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x98]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetInternalProjectName_void____ptr64]
nop
mov rcx, rax
call qword [sym.imp.GSRoot.dll_public:_bool___cdecl_GS::UniString::IsEmpty_void_const___ptr64]
test al, al
sete bl
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
test bl, bl
je 0x14000d1d2
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetInternalProjectName_void____ptr64]
nop
mov r8, rax
mov rdx, r14
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.GSRoot.dll_class_GS::UniString::Concatenation___cdecl_GS::operator_char_const____ptr64__class_GS::UniString_const____ptr64_]
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_class_GS::UniString::Concatenation_const____ptr64____ptr64]
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x30]
call qword [reloc.GSRoot.dll___YUniString_GS__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::Concatenation::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_bool___cdecl_SU::ProductVersionInfo::IsPrivateBuild_void_const___ptr64]
test al, al
je 0x14000d1f2
lea rdx, str._PRIVATEBUILD
lea rcx, [rbp - 0x30]
call qword [reloc.GSRoot.dll___YUniString_GS__QEAAAEAV01_PEBD_Z]
mov dword [rsp + 0x28], esi
mov ebx, 0x63
mov dword [rsp + 0x20], ebx
or r13d, 0xffffffff
mov r9d, r13d
xor r8d, r8d
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x30]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::CStr___cdecl_GS::UniString::ToCStr_unsigned_int__unsigned_int__enum_GSCharCode__enum_GS::UniString::OnConversionError____ptr64]
nop
mov rcx, rax
call qword [sym.imp.GSRoot.dll_public:_char_const____ptr64___cdecl_GS::UniString::CStr::Get_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.GSRoot.dll_BugRep_SetPackageVersionString]
nop
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::CStr::destructor_void____ptr64]
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Location::constructor_void____ptr64]
nop
lea r8, [rbp + 0x30]
lea edi, [rbx - 0x52]
mov edx, edi
mov rcx, qword [sym.imp.InputOutput.dll_class_IO::FileSystem____ptr64___ptr64_IO::fileSystem]
mov rcx, qword [rcx]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::FileSystem::GetSpecialLocation_enum_IO::FileSystem::SpecLocId__class_IO::Location____ptr64_const___ptr64]
lea rdx, str.GRAPHISOFT
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::constructor_char_const____ptr64____ptr64]
nop
mov rdx, rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::AppendToLocal_class_IO::Name_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Name::destructor_void____ptr64]
lea rdx, str.BugReporting
lea rcx, [rbp + 0x10]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::constructor_char_const____ptr64____ptr64]
nop
lea rdx, [0x140027d60]
lea rcx, [rbp + 0x10]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::Append_char_const____ptr64____ptr64]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetShortVersionString_void____ptr64]
nop
mov rdx, rax
lea rcx, [rbp + 0x10]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::Append_class_GS::UniString_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::AppendToLocal_class_IO::Name_const____ptr64____ptr64]
mov r8d, r12d
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x350]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Folder::constructor_class_IO::Location_const____ptr64__enum_IO::Folder::OnNotFound____ptr64]
nop
cmp dword [rbp + 0x3a8], esi
jne 0x14000d37e
mov byte [rbp + 0x1e0], sil
mov qword [rbp + 0x2e0], rsi
mov byte [rbp + 0x2e8], r12b
mov r8d, ebx
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::ToPath_class_IO::CString_256_____ptr64__enum_GSCharCode_const___ptr64]
test eax, eax
jne 0x14000d35d
cmp byte [rbp + 0x2e8], sil
jne 0x14000d33e
mov rcx, rsi
jmp 0x14000d354
lea rcx, [rbp + 0x1e0]
cmp qword [rbp + 0x2e0], rsi
cmovne rcx, qword [rbp + 0x2e0]
xor edx, edx
call qword [sym.imp.GSRoot.dll_BugRep_SetReportFileLocation]
nop
mov rax, qword [rbp + 0x2e0]
test rax, rax
je 0x14000d37e
mov qword [rbp + 0x960], rax
lea rcx, [rbp + 0x960]
call qword [sym.imp.GSRoot.dll_void___cdecl_BMKillPtr_char____ptr64____ptr64_]
nop
lea r8, [rbp + 0x30]
mov edx, edi
mov rcx, qword [sym.imp.InputOutput.dll_class_IO::FileSystem____ptr64___ptr64_IO::fileSystem]
mov rcx, qword [rcx]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::FileSystem::GetSpecialLocation_enum_IO::FileSystem::SpecLocId__class_IO::Location____ptr64_const___ptr64]
lea rdx, str.GRAPHISOFT
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::constructor_char_const____ptr64____ptr64]
nop
mov rdx, rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::AppendToLocal_class_IO::Name_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Name::destructor_void____ptr64]
lea rdx, str.BIMxUploader
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::constructor_char_const____ptr64____ptr64]
nop
mov rdx, rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::AppendToLocal_class_IO::Name_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Name::destructor_void____ptr64]
mov r8d, r12d
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Folder::constructor_class_IO::Location_const____ptr64__enum_IO::Folder::OnNotFound____ptr64]
nop
cmp dword [rbp + 0x348], esi
jne 0x14000dc69
mov r8b, r12b
xor edx, edx
mov ecx, 0x1b8
call qword [sym.imp.GSRoot.dll_public:_static_void____ptr64___cdecl_GS::MemoryManager::Allocate_unsigned_long_long_unsigned___int64___enum_GS::MemoryManager::ExceptionBehaviour__bool_]
mov rbx, rax
mov qword [rbp + 0x960], rax
mov eax, 0x64
test rbx, rbx
je 0x14000d460
mov dword [rsp + 0x20], eax
lea r9d, [rax - 0x5a]
mov r8d, eax
lea rdx, [rbp + 0x30]
mov rcx, rbx
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::FileLogOutput::constructor_class_IO::Location_const____ptr64__unsigned_int__unsigned_int__unsigned_int____ptr64]
lea rax, vtable.IO::FileLogOutput.0
mov qword [rbx], rax
lea rax, vtable.IO::FileLogOutput.1.0
mov qword [rbx + 8], rax
jmp 0x14000d463
mov rbx, rsi
mov qword [r15 + 0x2f8], rbx
test rbx, rbx
je 0x14000d483
lea r8, [rbx + 8]
mov rdx, rbx
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::FastLogger::Start_class_GS::FastLogger::Control____ptr64__class_GS::OChannel____ptr64____ptr64]
lea r9, str.Uploader_Init
lea r8, str.Start
lea r14, [0x140046950]
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.140002a1c
lea rdx, [rbp]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetGSLanguageCode_void____ptr64]
mov rbx, rax
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetVersionString_void____ptr64]
mov rdi, rax
mov rcx, rbx
call qword [sym.imp.GSRoot.dll_public:_void_const____ptr64___cdecl_GS::UniString::ToPrintf_void_const___ptr64]
mov rbx, rax
mov rcx, rdi
call qword [sym.imp.GSRoot.dll_public:_void_const____ptr64___cdecl_GS::UniString::ToPrintf_void_const___ptr64]
mov r9, rbx
mov r8, rax
lea rdx, str.SoftwareGRAPHISOFTBIMxUploader_T__T
lea rcx, [rbp - 0x10]
call qword [sym.imp.GSRoot.dll_private:_static_class_GS::UniString___cdecl_GS::UniString::PrintfFwd_unsigned_short_int_const____ptr64_]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, r13d
xor r8d, r8d
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x10]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::CStr___cdecl_GS::UniString::ToCStr_unsigned_int__unsigned_int__enum_GSCharCode__enum_GS::UniString::OnConversionError____ptr64]
nop
mov rcx, rax
call qword [sym.imp.GSRoot.dll_public:_char_const____ptr64___cdecl_GS::UniString::CStr::Get_void_const___ptr64]
mov rdx, rax
mov ecx, r12d
call qword [sym.imp.GSRoot.dll_void___cdecl_GSPref::SetDefaultDomainPath_enum_GSPref::RootKeyDomain__char_const____ptr64_]
nop
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::CStr::destructor_void____ptr64]
mov ecx, r12d
call qword [sym.imp.GSRoot.dll_class_GSPref::IRoot____ptr64___cdecl_GSPref::OpenRootKey_enum_GSPref::RootKeyDomain_]
mov qword [rbp + 0x970], rax
lea r9, str.true
lea r8, str.Registry_enabled
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.140002a1c
lea rcx, [rbp - 0x78]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
xor r8d, r8d
lea rdx, [0x140027de4]
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_char_const____ptr64__enum_GSCharCode____ptr64]
nop
mov rcx, qword [rbp + 0x970]
mov rax, qword [rcx]
mov dword [rsp + 0x28], esi
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x78]
lea r8, str.TestHostname
lea rdx, str.Advanced
call qword [rax + 0x40]
mov ebx, eax
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
test ebx, ebx
je 0x14000d5fa
lea rdx, [0x140027de4]
lea rcx, [rbp - 0x78]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString____ptr64___cdecl_GS::UniString::operator_char_const____ptr64____ptr64]
xor r8d, r8d
lea rdx, [0x140027e04]
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_char_const____ptr64__enum_GSCharCode____ptr64]
nop
mov rcx, qword [rbp + 0x970]
mov rax, qword [rcx]
mov dword [rsp + 0x28], esi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], r8
lea r9, [rbp - 0x40]
lea r8, str.ServiceUrlsType
lea rdx, str.Advanced
call qword [rax + 0x40]
mov ebx, eax
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
test ebx, ebx
je 0x14000d65f
lea rdx, [0x140027e04]
lea rcx, [rbp - 0x40]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString____ptr64___cdecl_GS::UniString::operator_char_const____ptr64____ptr64]
lea rcx, [rbp + 0x970]
call qword [sym.imp.GSRoot.dll_void___cdecl_GSPref::CloseRootKey_class_GSPref::IRoot____ptr64____ptr64_]
call qword [sym.imp.GSRoot.dll_int___cdecl_GS::Threading::Initialize_void_]
lea r13, [0x140027e18]
mov r9, r13
lea r8, str.Threading
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.140002a1c
xor r9d, r9d
mov r8d, r12d
lea rdx, [rbp + 0x968]
lea rcx, [rbp - 0x40]
call fcn.14000c040
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], sil
mov r8d, 0xc
mov qword [rsp + 0x60], r8
lea rdx, str.BIMxUploader
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memmove
mov byte [rsp + 0x5c], sil
mov edx, dword [rbp + 0x968]
lea rcx, [rsp + 0x50]
call qword [sym.imp.BIMxLogin.dll_void___cdecl_BIMxLogin::Init_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__enum_BIMxLogin::ServerType_]
nop
lea rcx, [rsp + 0x50]
call fcn.14000c720
mov dl, r12b
mov cl, r12b
call qword [sym.imp.Graphix.dll_bool___cdecl_GraphixInit_bool__bool_]
lea r8, str.Graphix
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test al, al
je 0x14000dc3b
mov r9, r13
call fcn.140002a1c
xor r8d, r8d
lea rdx, [0x140025b78]
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_char_const____ptr64__enum_GSCharCode____ptr64]
nop
mov r8d, r12d
lea rdx, [rsp + 0x40]
mov cl, r12b
call qword [sym.imp.InputOutput.dll_int___cdecl_IO::Init_bool__class_GS::UniString_const____ptr64__enum_IO::LogLevel_]
mov ebx, eax
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
lea r8, [0x140027e38]
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test ebx, ebx
je 0x14000d77a
lea r9, str.FAILED
call fcn.140002a1c
jmp 0x14000dc48
mov r9, r13
call fcn.140002a1c
lea rcx, [rbp + 0x4b0]
call fcn.14000c34c
nop
lea rcx, [rbp + 0x4b0]
call fcn.14000dcfc
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x628]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString____ptr64___cdecl_GS::UniString::operator_class_GS::UniString_const____ptr64____ptr64]
lea rcx, [rbp + 0x4b0]
call qword [sym.imp.DG.dll_bool___cdecl_DGInit_struct_DGInitData_const____ptr64_]
lea r8, [0x140027e3c]
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test al, al
jne 0x14000d7df
lea r9, str.FAILED
call fcn.140002a1c
jmp 0x14000dc2d
mov r9, r13
call fcn.140002a1c
call qword [sym.imp.GXImageBase.dll_public:_static_int___cdecl_GX::ImageBase::Init_void_]
lea r8, str.GX::Image
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test eax, eax
je 0x14000d813
lea r9, str.FAILED
call fcn.140002a1c
jmp 0x14000dc2d
mov r9, r13
call fcn.140002a1c
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.DG.dll_protected_virtual:_bool___cdecl_DG::Application::Init_bool__class_DG::Application::CheckSharedLibraryVersionFilter____ptr64____ptr64]
lea r8, str.DG_Application
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test al, al
jne 0x14000d84f
lea r9, str.FAILED
call fcn.140002a1c
jmp 0x14000dc2d
mov r9, r13
call fcn.140002a1c
call fcn.14001d3f0
mov r9, r13
lea r8, str.HTML_Report_Writer
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.140002a1c
mov rcx, qword [r15 + 0x1a8]
call qword [sym.imp.DG.dll_public:_void____ptr64___cdecl_DG::FrameWindow::GetWindow_void_const___ptr64]
mov rbx, rax
mov edi, 0xfffffff0
mov edx, edi
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowLongW]
btr eax, 0x18
mov r8d, eax
mov edx, edi
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [rsp + 0x30], 0x45c
lea eax, [rdi + 0x74]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov r8d, 0xffffb4ba
mov r9d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetWindowPos]
lea rcx, [rbp - 0x50]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
lea rcx, [rbp + 0x160]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Location::constructor_void____ptr64]
nop
lea r8, [rbp + 0x160]
lea edx, [rdi + 0x12]
mov rcx, qword [sym.imp.InputOutput.dll_class_IO::FileSystem____ptr64___ptr64_IO::fileSystem]
mov rcx, qword [rcx]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::FileSystem::GetSpecialLocation_enum_IO::FileSystem::SpecLocId__class_IO::Location____ptr64_const___ptr64]
test eax, eax
jne 0x14000dc14
lea rdx, str.curl.exe
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::constructor_char_const____ptr64____ptr64]
nop
mov rdx, rax
lea rcx, [rbp + 0x160]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::AppendToLocal_class_IO::Name_const____ptr64____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Name::destructor_void____ptr64]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x160]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::ToPath_class_GS::UniString____ptr64_const___ptr64]
call fcn.140015984
mov rcx, rax
call fcn.140015a30
lea r8, str.UploadManager
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test eax, eax
jne 0x14000dc07
mov r9, r13
call fcn.140002a1c
call qword [sym.imp.BIMxLogin.dll_GetServiceURLs]
mov qword [rbp + 0x978], rax
lea rcx, str.BIMxPro_BeginUpload
mov qword [rbp + 0xb0], rcx
lea rcx, str.BIMxPro_UploadIndex
mov qword [rbp + 0xb8], rcx
lea rcx, str.BIMxPro_UploadPreview
mov qword [rbp + 0xc0], rcx
lea rcx, str.BIMxPro_Upload2DContainer
mov qword [rbp + 0xc8], rcx
lea rcx, str.BIMxPro_Upload3DContainer
mov qword [rbp + 0xd0], rcx
lea rcx, str.BIMxPro_EndUpload
mov qword [rbp + 0xd8], rcx
lea rcx, str.BIMxPro_ValidateToken
mov qword [rbp + 0xe0], rcx
lea rcx, str.BIMxPro_GetFolders
mov qword [rbp + 0xe8], rcx
lea rcx, str.BIMxPro_CreateFolder
mov qword [rbp + 0xf0], rcx
lea rcx, str.BIMxPro_GetListByFolderId
mov qword [rbp + 0xf8], rcx
lea rcx, str.BIMxPro_GetUserQuota
mov qword [rbp + 0x100], rcx
lea rcx, str.BIMxPro_EndUpload2
mov qword [rbp + 0x108], rcx
lea rcx, str.BIMxPro_UploadLogo
mov qword [rbp + 0x110], rcx
lea rcx, vtable.GS::Array_char_const____ptr64_.0
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rsi
movzx ebx, si
lea rdi, [0x140025b78]
movzx edx, bx
mov rdx, qword [rbp + rdx*8 + 0xb0]
mov rcx, rax
call qword [sym.imp.BIMxLogin.dll_public:_char_const____ptr64___cdecl_LoginResult::GetServiceUrlByKey_char_const____ptr64____ptr64]
mov qword [rbp + 0x960], rax
test rax, rax
jne 0x14000da84
cmp bx, 0xb
jne 0x14000daa7
mov qword [rbp + 0x960], rdi
lea rdx, [rbp + 0x960]
lea rcx, [rbp - 0x68]
call fcn.14000e0f0
add bx, r12w
cmp bx, 0xd
jae 0x14000dad2
mov rax, qword [rbp + 0x978]
jmp 0x14000da57
call fcn.140015984
mov rcx, rax
call fcn.140015b08
call fcn.140015984
mov rcx, rax
or edx, 0xffffffff
call fcn.140016070
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x48]
jmp 0x14000dbfc
lea rdx, [0x140027de4]
lea rcx, [rbp - 0x78]
call qword [sym.imp.GSRoot.dll_bool___cdecl_GS::operator_class_GS::UniString_const____ptr64__char_const____ptr64_]
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x50]
test al, al
je 0x14000daf4
xor r8d, r8d
jmp 0x14000daf8
lea r8, [rbp - 0x78]
call fcn.140002758
mov qword [r15 + 0x308], rax
lea rcx, [rbp + 0x978]
call qword [sym.imp.BIMxLogin.dll_FreeBIMxLoginResult]
lea r8, str.Transfer_Site_stub
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
cmp qword [r15 + 0x308], rsi
je 0x14000dbef
mov r9, r13
call fcn.140002a1c
lea rcx, [rbp - 0x20]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
call qword [sym.imp.GSRoot.dll_long_long___int64____cdecl_RSGetApplicationResModule_void_]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov r9d, 0x3e8
lea r8, [rbp - 0x20]
mov edx, 0x196
lea rcx, str.D:VMWDBuildSourcesSupportAppsBIMxProUploaderSourcesUploaderApp.cpp
call qword [sym.imp.GSRoot.dll_bool___cdecl_RSGetIndString_ParamAdapter_char_const____ptr64__unsigned_int__class_GS::UniString____ptr64__int__int__long_long___int64___enum_ResStringType_]
lea rdx, [rbp - 0x20]
mov rcx, qword [r15 + 0x1a8]
call qword [sym.imp.DG.dll_public:_void___cdecl_DG::FrameWindow::SetTitle_class_GS::UniString_const____ptr64____ptr64]
lea r8, [r15 + 0x1e0]
lea rdx, [r15 + 0x1d0]
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.DG.dll_public:_void___cdecl_DG::CommandEvent::constructor_class_DG::Command_const____ptr64__class_DG::CommandDescriptor____ptr64____ptr64]
nop
xor r9d, r9d
lea r8d, [r9 + 2]
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::Message::constructor_class_GS::Event_const____ptr64__enum_GS::Message::Priority__bool____ptr64]
nop
mov r8, qword [r15]
mov rdx, rax
mov rcx, r15
call qword [r8 + 0x20]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::Message::destructor_void____ptr64]
mov sil, r12b
lea rcx, [rbp + 0x1b0]
call qword [sym.imp.DG.dll_public_virtual:_void___cdecl_DG::CommandEvent::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
jmp 0x14000dbfc
lea r9, str.FAILED
call fcn.140002a1c
nop
lea rcx, [rbp - 0x68]
call fcn.14000c6b8
jmp 0x14000dc14
lea r9, str.FAILED
call fcn.140002a1c
nop
lea rcx, [rbp + 0x160]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Location::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x4b0]
call fcn.14000c8a0
jmp 0x14000dc48
lea r9, str.FAILED
call fcn.140002a1c
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x78]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x10]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x2f0]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Folder::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x350]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Folder::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x10]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Name::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x30]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Location::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.GSUtils.dll_public_virtual:_void___cdecl_SU::ProductVersionInfo::destructor_void____ptr64]
mov al, sil
jmp 0x14000dce5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x960], eax
lea r9, [rbp + 0x960]
lea r8, str.WIN32_CreateFileMapping
lea rdx, [0x140046950]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.14000bfb4
xor al, al
add rsp, 0xa18
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret