Function at 0x14000d0a4
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x940]
sub rsp, 0xa40
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 0x14000d118
lea r9, str.FAILED
lea r8, str.WIN32_CreateMutex
lea rdx, [0x14003e870]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.1400029a8
jmp 0x14000df38
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14000d1bf
lea r9, str.Exists
lea r8, str.WIN32_Mutex
lea rdx, [0x14003e870]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.1400029a8
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 0x14000df38
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 0x14000d1ad
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 0x14000df38
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 0x14000df0b
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 0x14000d251
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x980], eax
lea r9, [rbp + 0x980]
lea r8, str.WIN32_MapViewOfFile
lea rdx, [0x14003e870]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.14000c2cc
jmp 0x14000d1ad
lea rcx, str.GSReport.exe
call qword [sym.imp.GSRoot.dll_BugRep_SetGSReportLocation]
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public:_void___cdecl_SU::ProductVersionInfo::constructor_void____ptr64]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetProjectBuildNum_void_const___ptr64]
lea rcx, [rsp + 0x78]
test eax, eax
jle 0x14000d2ac
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetProjectBuildNum_void_const___ptr64]
mov ebx, eax
lea rcx, [rsp + 0x78]
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 + 0x3e0]
call fcn.14000e3c8
jmp 0x14000d2c8
call qword [sym.imp.GSUtils.dll_public_virtual:_int___cdecl_SU::ProductVersionInfo::GetBuildNum_void_const___ptr64]
mov r8d, eax
lea rdx, [0x140025c68]
lea rcx, [rbp + 0x3e0]
call fcn.14000e3c8
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetGSLanguageCode_void____ptr64]
mov rdi, rax
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetGSProductType_void____ptr64]
mov rbx, rax
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetCodeName_void____ptr64]
nop
lea r14, [0x140024fd0]
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0x330]
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 + 0x3e0]
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 - 0x38]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_class_GS::UniString::Concatenation_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x330]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::Concatenation::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x90]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x18]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetInternalProjectName_void____ptr64]
mov rcx, qword [rax + 8]
mov ebx, dword [rcx]
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
or r13d, 0xffffffff
test ebx, ebx
je 0x14000d431
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
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 + 0x160]
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
mov r9d, r13d
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x38]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::Append_class_GS::UniString_const____ptr64__unsigned_int__unsigned_int____ptr64]
nop
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x160]
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 + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_bool___cdecl_SU::ProductVersionInfo::IsPrivateBuild_void_const___ptr64]
test al, al
je 0x14000d451
lea rdx, str._PRIVATEBUILD
lea rcx, [rbp - 0x38]
call qword [reloc.GSRoot.dll___YUniString_GS__QEAAAEAV01_PEBD_Z]
mov ebx, 0x63
mov r8d, ebx
lea rdx, [rbp + 0x160]
lea rcx, [rbp - 0x38]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString::CStr___cdecl_GS::UniString::ToCStr_enum_GSCharCode____ptr64]
nop
mov rcx, qword [rax]
call qword [sym.imp.GSRoot.dll_BugRep_SetPackageVersionString]
nop
lea rcx, [rbp + 0x160]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::CStr::destructor_void____ptr64]
lea rcx, [rbp + 0x40]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Location::constructor_void____ptr64]
nop
lea r8, [rbp + 0x40]
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 + 0x40]
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 + 0x28]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Name::constructor_char_const____ptr64____ptr64]
nop
xor r8d, r8d
lea rdx, [0x140025ca0]
lea rcx, [rbp + 0x30]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::Append_char_const____ptr64__enum_GSCharCode____ptr64]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_class_GS::UniString___cdecl_SU::ProductVersionInfo::GetShortVersionString_void____ptr64]
nop
mov r9d, r13d
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x30]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::Append_class_GS::UniString_const____ptr64__unsigned_int__unsigned_int____ptr64]
nop
lea rcx, [rsp + 0x50]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x40]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::AppendToLocal_class_IO::Name_const____ptr64____ptr64]
mov r8d, r12d
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x2d0]
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 + 0x328], esi
jne 0x14000d5ce
mov byte [rbp + 0x160], sil
mov qword [rbp + 0x260], rsi
mov byte [rbp + 0x268], r12b
mov r8d, ebx
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x40]
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 0x14000d5ad
cmp byte [rbp + 0x268], sil
jne 0x14000d58e
mov rcx, rsi
jmp 0x14000d5a4
lea rcx, [rbp + 0x160]
cmp qword [rbp + 0x260], rsi
cmovne rcx, qword [rbp + 0x260]
xor edx, edx
call qword [sym.imp.GSRoot.dll_BugRep_SetReportFileLocation]
nop
mov rax, qword [rbp + 0x260]
test rax, rax
je 0x14000d5ce
mov qword [rbp + 0x980], rax
lea rcx, [rbp + 0x980]
call qword [sym.imp.GSRoot.dll_void___cdecl_BMKillPtr_char____ptr64____ptr64_]
nop
lea r8, [rbp + 0x40]
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 + 0x40]
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 + 0x40]
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 + 0x40]
lea rcx, [rbp + 0x270]
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 + 0x2c8], esi
jne 0x14000debe
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 + 0x980], rax
mov eax, 0x64
test rbx, rbx
je 0x14000d6b0
mov dword [rsp + 0x20], eax
lea r9d, [rax - 0x5a]
mov r8d, eax
lea rdx, [rbp + 0x40]
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 0x14000d6b3
mov rbx, rsi
mov qword [r15 + 0x2f8], rbx
test rbx, rbx
je 0x14000d6d3
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, [0x14003e870]
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.1400029a8
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x78]
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 + 0x78]
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 + 8]
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 + 0x18]
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 + 0x160]
lea rcx, [rbp + 8]
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 rdx, qword [rax]
mov ecx, r12d
call qword [sym.imp.GSRoot.dll_void___cdecl_GSPref::SetDefaultDomainPath_enum_GSPref::RootKeyDomain__char_const____ptr64_]
nop
lea rcx, [rbp + 0x160]
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 + 0x990], 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.1400029a8
lea rcx, [rbp - 0x70]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
xor r8d, r8d
lea rdx, [0x140025d24]
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 + 0x990]
mov rax, qword [rcx]
mov dword [rsp + 0x28], esi
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x70]
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 0x14000d841
lea rdx, [0x140025d24]
lea rcx, [rbp - 0x70]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString____ptr64___cdecl_GS::UniString::operator_char_const____ptr64____ptr64]
xor r8d, r8d
lea rdx, [0x140025d44]
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 + 0x990]
mov rax, qword [rcx]
mov dword [rsp + 0x28], esi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], r8
lea r9, [rbp - 0x48]
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 0x14000d8a6
lea rdx, [0x140025d44]
lea rcx, [rbp - 0x48]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString____ptr64___cdecl_GS::UniString::operator_char_const____ptr64____ptr64]
lea rcx, [rbp + 0x990]
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, [0x140025d58]
mov r9, r13
lea r8, str.Threading
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.1400029a8
xor r9d, r9d
mov r8d, r12d
lea rdx, [rbp + 0x988]
lea rcx, [rbp - 0x48]
call fcn.14000c350
mov qword [rsp + 0x68], 0xf
mov qword [rsp + 0x60], 0xc
movsd xmm0, qword [str.BIMxUploader]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x140025910]
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x5c], sil
mov edx, dword [rbp + 0x988]
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::Environment::ServerType_]
nop
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jb 0x14000d96d
inc rax
mov rcx, qword [rsp + 0x50]
mov rdx, rcx
cmp rax, 0x1000
jb 0x14000d966
mov rcx, qword [rcx - 8]
sub rdx, rcx
lea rax, [rdx - 8]
cmp rax, 0x1f
jbe 0x14000d966
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.GSRoot.dll_public:_static_void___cdecl_GS::MemoryManager::Free_void____ptr64_]
nop
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 0x14000de90
mov r9, r13
call fcn.1400029a8
xor r8d, r8d
lea rdx, [0x140024ac0]
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, [0x140025d78]
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test ebx, ebx
je 0x14000d9f4
lea r9, str.FAILED
call fcn.1400029a8
jmp 0x14000de9d
mov r9, r13
call fcn.1400029a8
lea rcx, [rbp + 0x4e0]
call fcn.14000c664
nop
lea rcx, [rbp + 0x4e0]
call fcn.14000df58
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x658]
call qword [sym.imp.GSRoot.dll_public:_class_GS::UniString____ptr64___cdecl_GS::UniString::operator_class_GS::UniString_const____ptr64____ptr64]
lea rcx, [rbp + 0x4e0]
call qword [sym.imp.DG.dll_bool___cdecl_DGInit_struct_DGInitData_const____ptr64_]
lea r8, [0x140025d7c]
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test al, al
jne 0x14000da59
lea r9, str.FAILED
call fcn.1400029a8
jmp 0x14000de82
mov r9, r13
call fcn.1400029a8
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 0x14000da8d
lea r9, str.FAILED
call fcn.1400029a8
jmp 0x14000de82
mov r9, r13
call fcn.1400029a8
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 0x14000dac9
lea r9, str.FAILED
call fcn.1400029a8
jmp 0x14000de82
mov r9, r13
call fcn.1400029a8
call fcn.14001c9b8
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.1400029a8
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 - 8]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
lea rcx, [rbp + 0xe0]
call qword [sym.imp.InputOutput.dll_public:_void___cdecl_IO::Location::constructor_void____ptr64]
nop
lea r8, [rbp + 0xe0]
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 0x14000de69
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 + 0xe0]
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 - 8]
lea rcx, [rbp + 0xe0]
call qword [sym.imp.InputOutput.dll_public:_int___cdecl_IO::Location::ToPath_class_GS::UniString____ptr64_const___ptr64]
call fcn.1400153ac
mov rcx, rax
call fcn.140015450
lea r8, str.UploadManager
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test eax, eax
jne 0x14000de5c
mov r9, r13
call fcn.1400029a8
movdqa xmm0, xmmword [0x140025e50]
movdqu xmmword [rbp + 0xa0], xmm0
movdqa xmm1, xmmword [0x140025e70]
movdqu xmmword [rbp + 0xb0], xmm1
movdqa xmm0, xmmword [0x140025e60]
movdqu xmmword [rbp + 0xc0], xmm0
mov dword [rbp + 0xd0], 0xe
lea rax, vtable.GS::Array_class_GS::UniString_.0
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
movzx edi, si
movzx ebx, di
call qword [sym.imp.BIMxLogin.dll_public:_static_class_BIMxLogin::Environment____ptr64___cdecl_BIMxLogin::Environment::Instance_void_]
mov rcx, rax
mov r8d, dword [rbp + rbx*4 + 0xa0]
lea rdx, [rsp + 0x50]
call qword [sym.imp.BIMxLogin.dll_public:_class_GS::Result_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char____enum_GS::ErrorType____cdecl_BIMxLogin::Environment::GetBIMxURL_enum_BIMxLogin::BIMxServiceURL____ptr64]
nop
mov al, byte [rsp + 0x70]
cmp al, r12b
jne 0x14000dc74
cmp di, 0xb
jne 0x14000de03
test al, al
jne 0x14000dcaa
cmp di, 0xb
jne 0x14000dcaa
xor r8d, r8d
lea rdx, [0x140024ac0]
lea rcx, [rsp + 0x40]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_char_const____ptr64__enum_GSCharCode____ptr64]
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.1400083e8
nop
lea rcx, [rsp + 0x40]
jmp 0x14000dcdb
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
xor r8d, r8d
lea rcx, [rbp - 0x28]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_char_const____ptr64__enum_GSCharCode____ptr64]
nop
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x60]
call fcn.1400083e8
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x50]
call fcn.14000c9e8
add di, r12w
cmp di, 0xd
jb 0x14000dc41
lea rdx, [0x140025d24]
lea rcx, [rbp - 0x70]
call qword [sym.imp.GSRoot.dll_bool___cdecl_GS::operator_class_GS::UniString_const____ptr64__char_const____ptr64_]
lea r8, [rbp - 0x70]
test al, al
cmovne r8, rsi
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 8]
call fcn.14000273c
mov qword [r15 + 0x308], rax
lea r8, str.Transfer_Site_stub
mov rdx, r14
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
test rax, rax
je 0x14000de36
mov r9, r13
call fcn.1400029a8
lea rcx, [rbp - 0x18]
call qword [sym.imp.GSRoot.dll_public:_void___cdecl_GS::UniString::constructor_void____ptr64]
nop
call qword [sym.imp.RS.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 - 0x18]
mov edx, 0x191
lea rcx, str.P:VMWDBuildSourcesSupportAppsBIMxProUploaderSourcesUploaderApp.cpp
call qword [sym.imp.RS.dll_bool___cdecl_RSGetIndString_ParamAdapter_char_const____ptr64__unsigned_int__class_GS::UniString____ptr64__int__int__long_long___int64___enum_ResStringType_]
lea rdx, [rbp - 0x18]
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 + 0x130]
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 + 0x130]
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 + 0x130]
call qword [sym.imp.DG.dll_public_virtual:_void___cdecl_DG::CommandEvent::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x18]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
jmp 0x14000de43
call fcn.1400153ac
mov rcx, rax
call fcn.140015520
call fcn.1400153ac
mov rcx, rax
or edx, 0xffffffff
call fcn.140015a60
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x48]
nop
lea rcx, [rsp + 0x50]
call fcn.14000c9e8
jmp 0x14000de43
lea r9, str.FAILED
call fcn.1400029a8
nop
lea rax, vtable.GS::Array_class_GS::UniString_.0
mov qword [rbp - 0x60], rax
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.1400079ec
nop
jmp 0x14000de69
lea r9, str.FAILED
call fcn.1400029a8
nop
lea rcx, [rbp + 0xe0]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Location::destructor_void____ptr64]
nop
lea rcx, [rbp - 8]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x4e0]
call fcn.14000cb74
jmp 0x14000de9d
lea r9, str.FAILED
call fcn.1400029a8
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 8]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x270]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Folder::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x2d0]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Folder::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x28]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Name::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.InputOutput.dll_public_virtual:_void___cdecl_IO::Location::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.GSRoot.dll_public_virtual:_void___cdecl_GS::UniString::destructor_void____ptr64]
nop
lea rcx, [rsp + 0x78]
call qword [sym.imp.GSUtils.dll_public_virtual:_void___cdecl_SU::ProductVersionInfo::destructor_void____ptr64]
mov al, sil
jmp 0x14000df3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp + 0x980], eax
lea r9, [rbp + 0x980]
lea r8, str.WIN32_CreateFileMapping
lea rdx, [0x14003e870]
mov rcx, qword [sym.imp.GSRoot.dll_class_GS::FastLogger_GS::logger]
call fcn.14000c2cc
xor al, al
mov rbx, qword [rsp + 0xa98]
add rsp, 0xa40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret