Function at 0x18000ac90
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
mov dword [rbp - 0x50], 0
mov rax, qword [rdx]
cmp dword [rax + 4], 0
jne 0x18000ace3
xor edx, edx
lea rcx, [0x1800a8228]
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rdi], rax
mov dword [rbp - 0x50], 1
jmp 0x18000afb7
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64]
mov rcx, rax
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov r14d, eax
test eax, eax
jne 0x18000ad31
xor edx, edx
lea rcx, [0x1800a8228]
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rdi], rax
mov dword [rbp - 0x50], 1
jmp 0x18000afa1
lea edx, [rax + 1]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::resize_int____ptr64]
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rbx, rax
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64]
mov rcx, rax
mov r9, rbx
mov r8d, r14d
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
setne al
test al, al
je 0x18000ad13
mov qword [rbp - 0x20], 0
mov dword [rbp + 0x40], 0
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rcx, rax
lea r9, [rbp + 0x40]
lea r8, [rbp - 0x20]
lea rdx, str.VarFileInfoTranslation
call sub.VERSION.dll_VerQueryValueW
test eax, eax
setne al
test al, al
je 0x18000ad13
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_void____ptr64]
nop
mov rbx, qword [rbp - 0x20]
movzx edx, word [rbx]
mov r8d, 0x10
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::setNum_unsigned_long_long_unsigned___int64___int____ptr64]
lea r8, [rbp - 0x40]
lea rdx, [0x1800a9074]
lea rcx, [rbp - 0x48]
call fcn.1800081e0
mov rdx, rax
lea rcx, [rbp - 0x40]
call qword [reloc.Qt5Core.dll___4QString__QEAAAEAV0_AEBV0__Z]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [rbp - 0x40]
mov r8d, dword [rax + 4]
add r8d, 0xfffffffc
mov r9d, 4
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::mid_int__int____ptr64]
nop
mov rdx, rax
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
movzx edx, word [rbx + 2]
mov r8d, 0x10
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::setNum_unsigned_long_long_unsigned___int64___int____ptr64]
lea r8, [rbp - 0x30]
lea rdx, [0x1800a9074]
lea rcx, [rbp - 0x48]
call fcn.1800081e0
mov rdx, rax
lea rcx, [rbp - 0x30]
call qword [reloc.Qt5Core.dll___4QString__QEAAAEAV0_AEBV0__Z]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [rbp - 0x30]
mov r8d, dword [rax + 4]
add r8d, 0xfffffffc
mov r9d, 4
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QString___cdecl_QString::mid_int__int____ptr64]
nop
mov rdx, rax
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::append_class_QString_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea r8, [rbp - 0x28]
lea rdx, str.StringFileInfo_
lea rcx, [rbp - 0x48]
call fcn.1800081e0
nop
lea r8, [0x1800a9078]
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.180005110
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rbp - 0x18]
call qword [sym.imp.Qt5Core.dll_public:_unsigned_short_int_const____ptr64___cdecl_QString::utf16_void_const___ptr64]
mov rbx, rax
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_char____ptr64___cdecl_QByteArray::data_void____ptr64]
mov rcx, rax
lea r9, [rbp + 0x40]
lea r8, [rbp - 0x20]
mov rdx, rbx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
setne al
test al, al
jne 0x18000af38
xor edx, edx
lea rcx, [0x1800a8228]
call qword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____ptr64___cdecl_QString::fromAscii_helper_char_const____ptr64__int_]
mov qword [rdi], rax
jmp 0x18000af6e
or r8d, 0xffffffff
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp - 0x10]
call qword [sym.imp.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromUtf16_unsigned_short_int_const____ptr64__int_]
mov rdx, rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_class_QString____ptr64___cdecl_QString::operator_class_QString____ptr64____ptr64]
lea rcx, [rbp - 0x10]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rdx, [rbp - 0x38]
mov rcx, rdi
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::constructor_class_QString____ptr64____ptr64]
mov dword [rbp - 0x50], 1
lea rcx, [rbp - 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
mov rcx, rsi
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, rdi
add rsp, 0x70
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret