Function at 0x1400029f0
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2e8]
sub rsp, 0x3c0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140090750]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov r15, rcx
mov qword [rsp + 0x58], rcx
xor r14d, r14d
mov dword [rsp + 0x30], r14d
call fcn.1400023d0
mov rcx, rax
lea r9, [0x14007635c]
lea r8, str.Utils::GetBinaryVersion
xor edx, edx
call fcn.14001c1e0
mov ebx, r14d
mov qword [rsp + 0x48], rbx
call fcn.1400023d0
cmp byte [rax + 0x64], r14b
je 0x140002aa0
lea ecx, [r14 + 0x28]
call fcn.14001e180
mov rbx, rax
mov qword [rsp + 0x40], rax
call fcn.1400023d0
mov rdx, rax
lea r8, str.Utils::GetBinaryVersion
mov rcx, rbx
call fcn.140017870
mov rbx, rax
mov qword [rsp + 0x48], rax
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov r8d, 7
lea rdx, [0x140076398]
mov rcx, r15
call fcn.140006690
mov dword [rsp + 0x30], 1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xa0]
call fcn.14003c660
mov r8d, 0x104
lea rdx, [rbp + 0xa0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x140003126
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x40], r14
lea rdx, [rsp + 0x34]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test eax, eax
je 0x1400030f4
mov ecx, edi
call fcn.14001e1bc
mov r12, rax
test rax, rax
je 0x1400030d2
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14003c660
mov r9, r12
mov r8d, edi
mov edx, dword [rsp + 0x34]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x14000309c
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x40]
lea rdx, [0x140076358]
mov rcx, r12
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x140003086
cmp dword [rsp + 0x38], 0
je 0x140003073
mov r13, qword [rsp + 0x40]
test r13, r13
je 0x140003046
cmp dword [r13], 0xfeef04bd
jne 0x140003038
movzx edx, word [r13 + 0xc]
lea rcx, [rbp + 0x80]
call fcn.140002900
mov r14, rax
movzx edx, word [r13 + 0xe]
lea rcx, [rbp + 0x60]
call fcn.140002900
mov rsi, rax
movzx edx, word [r13 + 8]
lea rcx, [rbp + 0x40]
call fcn.140002900
mov rdi, rax
movzx edx, word [r13 + 0xa]
lea rcx, [rbp + 0x20]
call fcn.140002900
nop
mov r8d, 1
lea rdx, [0x1400763a8]
mov rcx, rax
call fcn.140007100
xor r13d, r13d
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov dword [rsp + 0x30], 3
mov r8, rdi
lea rdx, [rbp - 0x60]
lea rcx, [rbp]
call fcn.140006f20
nop
lea r8d, [r13 + 1]
lea rdx, [0x1400763a8]
mov rcx, rax
call fcn.140007100
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov dword [rsp + 0x30], 7
mov r8, rsi
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x20]
call fcn.140006f20
nop
lea r8d, [r13 + 1]
lea rdx, [0x1400763a8]
mov rcx, rax
call fcn.140007100
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov dword [rsp + 0x30], SafeArrayGetDim
mov r8, r14
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.140006f20
mov rdx, rax
mov rcx, r15
call fcn.140006540
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140002d43
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003179
call fcn.14001e178
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r13w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140002d96
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000317f
call fcn.14001e178
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r13w
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140002dea
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002de5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003185
call fcn.14001e178
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r13w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140002e3b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000318b
call fcn.14001e178
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r13w
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x140002e8c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003191
call fcn.14001e178
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 7
mov word [rbp], r13w
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140002edd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ed8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003197
call fcn.14001e178
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r13w
mov rdx, qword [rbp + 0x38]
cmp rdx, 8
jb 0x140002f2e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000319d
call fcn.14001e178
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], 7
mov word [rbp + 0x20], r13w
mov rdx, qword [rbp + 0x58]
cmp rdx, 8
jb 0x140002f7f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400031a3
call fcn.14001e178
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], 7
mov word [rbp + 0x40], r13w
mov rdx, qword [rbp + 0x78]
cmp rdx, 8
jb 0x140002fd0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002fcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400031a9
call fcn.14001e178
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], 7
mov word [rbp + 0x60], r13w
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x1400030c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003026
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003173
call fcn.14001e178
mov rcx, r12
call fcn.14001e178
jmp 0x140003126
call fcn.1400023d0
lea r9, str.Signature_not_correct
jmp 0x140003052
call fcn.1400023d0
lea r9, str.VS_FIXEDFILEINFO_buffer_is_NULL
mov rcx, rax
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14001c1e0
mov rcx, r12
call fcn.14001e178
jmp 0x140003126
call fcn.1400023d0
mov dword [rsp + 0x20], r14d
lea r9, str.VerQueryValue_returned_size___d
jmp 0x1400030b4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.1400023d0
lea r9, str.VerQueryValue_failed_with_error__d
jmp 0x1400030b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.1400023d0
lea r9, str.GetFileVersionInfo_failed_with_error__d
mov dword [rsp + 0x20], edi
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
mov rcx, rax
call fcn.14001c1e0
mov rcx, r12
call fcn.14001e178
jmp 0x140003126
call fcn.1400023d0
mov rcx, rax
lea r9, str.Version_String_Allocation_failed
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14001c1e0
jmp 0x140003126
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.1400023d0
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r14d
lea r9, str.GetFileVersionInfoSize_Return_Value____d_Error_Code_
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14001c1e0
nop
test rbx, rbx
je 0x140003140
mov rcx, rbx
call fcn.140018310
mov edx, 0x28
mov rcx, rbx
call fcn.14001e178
mov rax, r15
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.14001da60
lea r11, [rsp + 0x3c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
nop
call fcn.1400416f8
int3