Function at 0x14001fcf0
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3d0
mov qword [rbp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400a6188]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov rsi, rcx
mov qword [rbp + 0x78], rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
call fcn.140010cf0
mov rcx, rax
lea r9, [0x140071118]
lea r8, str.Utils::GetBinaryVersion
xor edx, edx
call fcn.14002c750
mov ebx, r15d
mov qword [rsp + 0x40], rbx
call fcn.140010cf0
cmp byte [rax + 0x64], r15b
je 0x14001fdbd
lea ecx, [r15 + 0x28]
call fcn.140025d40
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x14001fdb5
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::GetBinaryVersion
mov rcx, rbx
call fcn.140027d20
mov rbx, rax
jmp 0x14001fdb8
mov rbx, r15
mov qword [rsp + 0x40], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 7
mov word [rsi], r15w
mov r8d, 7
lea rdx, str.0.0.0.0
mov rcx, rsi
call fcn.14000fea0
mov dword [rsp + 0x30], 1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xb0]
call fcn.14004b830
mov r8d, 0x104
lea rdx, [rbp + 0xb0]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
test eax, eax
je 0x14002058d
mov dword [rbp + 0xa8], r15d
mov dword [rbp + 0xac], r15d
mov qword [rbp + 0xa0], r15
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0xb0]
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoSizeW
mov edi, eax
test eax, eax
je 0x14002055c
mov ecx, edi
call fcn.140026650
mov r13, rax
test rax, rax
je 0x14002053a
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.14004b830
mov r9, r13
mov r8d, edi
mov edx, dword [rbp + 0xa8]
lea rcx, [rbp + 0xb0]
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoW
test eax, eax
je 0x140020504
lea r9, [rbp + 0xac]
lea r8, [rbp + 0xa0]
lea rdx, [0x140072c30]
mov rcx, r13
call sub.api_ms_win_core_version_l1_1_0.dll_VerQueryValueW
test eax, eax
je 0x1400204ee
cmp dword [rbp + 0xac], 0
je 0x1400204db
mov rdi, qword [rbp + 0xa0]
test rdi, rdi
je 0x1400204ae
cmp dword [rdi], 0xfeef04bd
jne 0x1400204a0
movzx edx, word [rdi + 0xc]
lea rcx, [rbp + 0x80]
call fcn.14001c1e0
mov qword [rsp + 0x38], rax
movzx edx, word [rdi + 0xe]
lea rcx, [rbp + 0x50]
call fcn.14001c1e0
mov qword [rsp + 0x48], rax
movzx edx, word [rdi + 8]
lea rcx, [rbp + 0x30]
call fcn.14001c1e0
mov r12, rax
movzx edx, word [rdi + 0xa]
lea rcx, [rbp + 0x10]
call fcn.14001c1e0
mov rdi, rax
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
mov rcx, r8
sub rcx, rdx
cmp rcx, 1
jb 0x14001ff6c
lea r15, [rdx + 1]
mov qword [rax + 0x10], r15
mov r14, rax
cmp r8, 8
jb 0x14001ff4a
mov r14, qword [rax]
lea rcx, [r14 + rdx*2]
mov r8d, 2
lea rdx, [0x140074098]
call fcn.14004b3c0
xor eax, eax
mov word [r14 + r15*2], ax
xor r15d, r15d
jmp 0x14001ff8e
mov qword [rsp + 0x20], 1
lea r9, [0x140074098]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call fcn.140012390
mov rdi, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
mov dword [rsp + 0x30], 3
mov r8, r12
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x10]
call fcn.140013f40
mov rdi, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14002001a
lea r15, [rcx + 1]
mov qword [rdi + 0x10], r15
mov r14, rdi
cmp rdx, 8
jb 0x14001fff8
mov r14, qword [rdi]
lea rcx, [r14 + rcx*2]
mov r8d, 2
lea rdx, [0x140074098]
call fcn.14004b3c0
xor eax, eax
mov word [r14 + r15*2], ax
xor r15d, r15d
jmp 0x14002003c
mov qword [rsp + 0x20], 1
lea r9, [0x140074098]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rdi
call fcn.140012390
mov rdi, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x80], xmm1
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
mov dword [rsp + 0x30], 7
mov r8, qword [rsp + 0x48]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x30]
call fcn.140013f40
mov rdi, rax
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x1400200cc
lea r15, [rcx + 1]
mov qword [rdi + 0x10], r15
mov r14, rdi
cmp rdx, 8
jb 0x1400200aa
mov r14, qword [rdi]
lea rcx, [r14 + rcx*2]
mov r8d, 2
lea rdx, [0x140074098]
call fcn.14004b3c0
xor eax, eax
mov word [r14 + r15*2], ax
xor r15d, r15d
jmp 0x1400200ee
mov qword [rsp + 0x20], 1
lea r9, [0x140074098]
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rdi
call fcn.140012390
mov rdi, rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
mov dword [rsp + 0x30], 0xf
mov r8, qword [rsp + 0x38]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x50]
call fcn.140013f40
mov rdi, rax
cmp rsi, rax
je 0x140020161
mov rcx, rsi
call fcn.14000f7d0
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rsi + 0x10], xmm1
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x1400201a1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002019c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020601
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], r15w
mov rdx, qword [rsp + 0x68]
cmp rdx, 8
jb 0x1400201f5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400201f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020607
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r15w
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140020249
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020244
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002060d
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x30], r15w
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14002029c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020297
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020613
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r15w
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x1400202ef
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400202ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020619
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp], xmm0
mov word [rbp - 0x10], r15w
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140020341
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002033c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002061f
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x70], r15w
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x140020393
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002038e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020625
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp + 0x20], xmm0
mov word [rbp + 0x10], r15w
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x1400203e5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400203e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002062b
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp + 0x40], xmm0
mov word [rbp + 0x30], r15w
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x140020437
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020432
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140020631
call fcn.140025d80
movdqa xmm0, xmmword [0x1400739d0]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r15w
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140020530
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002048e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400205fb
call fcn.140025d80
mov rcx, r13
call fcn.140025d80
jmp 0x14002058d
call fcn.140010cf0
lea r9, str.Signature_not_correct
jmp 0x1400204ba
call fcn.140010cf0
lea r9, str.VS_FIXEDFILEINFO_buffer_is_NULL
mov rcx, rax
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14002c750
mov rcx, r13
call fcn.140025d80
jmp 0x14002058d
call fcn.140010cf0
mov dword [rsp + 0x20], r15d
lea r9, str.VerQueryValue_returned_size___d
jmp 0x14002051c
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 0x140020518
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::GetBinaryVersion
mov edx, 5
mov rcx, rax
call fcn.14002c750
mov rcx, r13
call fcn.140025d80
jmp 0x14002058d
call fcn.140010cf0
mov rcx, rax
lea r9, str.Version_String_Allocation_failed
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14002c750
jmp 0x14002058d
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::GetBinaryVersion
mov edx, 5
call fcn.14002c750
call fcn.140010cf0
mov rcx, rax
lea r9, [0x140071118]
lea r8, str.Utils::GetBinaryVersion
mov edx, 1
call fcn.14002c750
nop
test rbx, rbx
je 0x1400205c8
mov rcx, rbx
call fcn.1400287c0
mov edx, 0x28
mov rcx, rbx
call fcn.140025d80
mov rax, rsi
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.1400264a0
lea r11, [rsp + 0x3d0]
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.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
nop
call fcn.14004e3b0
int3