Function at 0x140017480
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400a6188]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r13, rdx
mov r14, rcx
call fcn.140010cf0
mov rcx, rax
mov qword [rsp + 0x20], r13
lea r9, str.Executable_Complete_Path___s
lea r8, str.Utils::GetVersionValue
xor edx, edx
call fcn.14002c750
xor r15d, r15d
mov ebx, r15d
mov qword [rbp - 0x39], rbx
call fcn.140010cf0
cmp byte [rax + 0x64], r15b
je 0x140017543
lea ecx, [r15 + 0x28]
call fcn.140025d40
mov rbx, rax
mov qword [rbp + 0xf], rax
test rax, rax
je 0x14001753c
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], rax
call fcn.140010cf0
mov rdx, rax
lea r8, str.Utils::GetVersionValue
mov rcx, rbx
call fcn.140027d20
mov rbx, rax
jmp 0x14001753f
mov rbx, r15
mov qword [rbp - 0x39], rbx
mov dword [rbp + 0x1f], r15d
mov dword [rbp + 0x23], r15d
mov qword [rbp + 0x17], r15
xor esi, esi
mov qword [rbp - 0x31], rsi
mov qword [rbp - 0x29], rsi
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
lea rdx, [rbp + 0x1f]
mov rcx, r13
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoSizeW
mov edi, eax
test eax, eax
je 0x1400176cf
mov ecx, edi
call fcn.140026650
mov r15, rax
test rax, rax
je 0x1400176ad
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14004b830
mov r9, r15
mov r8d, edi
mov edx, dword [rbp + 0x1f]
mov rcx, r13
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoW
test eax, eax
je 0x140017677
lea r9, [rbp + 0x23]
lea r8, [rbp + 0x17]
lea rdx, [0x140072c30]
mov rcx, r15
call sub.api_ms_win_core_version_l1_1_0.dll_VerQueryValueW
test eax, eax
je 0x140017661
cmp dword [rbp + 0x23], esi
je 0x14001764f
mov rax, qword [rbp + 0x17]
test rax, rax
je 0x140017622
cmp dword [rax], 0xfeef04bd
jne 0x140017614
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x31], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x21], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x11], xmm0
mov esi, dword [rax + 0x30]
mov rcx, r15
call fcn.140025d80
jmp 0x140017700
call fcn.140010cf0
lea r9, str.Signature_not_correct
jmp 0x14001762e
call fcn.140010cf0
lea r9, str.VS_FIXEDFILEINFO_buffer_is_NULL
mov rcx, rax
lea r8, str.Utils::GetVersionValue
mov edx, 5
call fcn.14002c750
mov rcx, r15
call fcn.140025d80
jmp 0x140017700
call fcn.140010cf0
mov dword [rsp + 0x20], esi
lea r9, str.VerQueryValue_returned_size___d
jmp 0x14001768f
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140010cf0
lea r9, str.VerQueryValue_failed_with_error__d
jmp 0x14001768b
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140010cf0
lea r9, str.GetFileVersionInfo_failed_with_error__d
mov dword [rsp + 0x20], edi
lea r8, str.Utils::GetVersionValue
mov edx, 5
mov rcx, rax
call fcn.14002c750
mov rcx, r15
call fcn.140025d80
jmp 0x140017700
call fcn.140010cf0
mov rcx, rax
lea r9, str.Version_String_Allocation_failed
lea r8, str.Utils::GetVersionValue
mov edx, 5
call fcn.14002c750
jmp 0x140017700
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140010cf0
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
lea r9, str.GetFileVersionInfoSize_Return_Value____d_Error_Code_
lea r8, str.Utils::GetVersionValue
mov edx, 5
call fcn.14002c750
call fcn.140010cf0
mov rcx, rax
lea r9, [0x140071118]
lea r8, str.Utils::GetVersionValue
mov edx, 1
call fcn.14002c750
movups xmm0, xmmword [rbp - 0x31]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rbp - 0x21]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [r14 + 0x20], xmm0
mov dword [r14 + 0x30], esi
test rbx, rbx
je 0x140017758
mov rcx, rbx
call fcn.1400287c0
mov edx, 0x28
mov rcx, rbx
call fcn.140025d80
mov rax, r14
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400264a0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret