Function at 0x14006af20
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov rax, qword [0x1401339d8]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov r14, rcx
mov qword [rbp + 0x40], rcx
xor r12d, r12d
mov dword [rsp + 0x34], r12d
call fcn.140014190
mov rcx, rax
lea r9, [0x1400e8328]
lea r8, str.Utils::GetBinaryVersion
xor edx, edx
call fcn.14009cf00
mov ebx, r12d
mov qword [rsp + 0x78], rbx
call fcn.140014190
cmp byte [rax + 0x64], r12b
je 0x14006afe4
lea ecx, [r12 + 0x28]
call fcn.140095e50
mov rbx, rax
mov qword [rbp + 0x88], rax
test rax, rax
je 0x14006afdc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], rax
call fcn.140014190
mov rdx, rax
lea r8, str.Utils::GetBinaryVersion
mov rcx, rbx
call fcn.140098570
mov rbx, rax
jmp 0x14006afdf
mov rbx, r12
mov qword [rsp + 0x78], rbx
mov qword [r14], r12
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], 7
mov word [r14], r12w
mov r8d, 7
lea rdx, str.0.0.0.0
mov rcx, r14
call fcn.140013240
mov dword [rsp + 0x34], 1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xa0]
call fcn.1400a57c0
mov r8d, 0x104
lea rdx, [rbp + 0xa0]
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
test eax, eax
je 0x14006b724
mov dword [rbp + 0x90], r12d
mov dword [rbp + 0x94], r12d
mov qword [rbp + 0x88], r12
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0xa0]
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoSizeW
mov esi, eax
test eax, eax
je 0x14006b6f4
cmp dword [rbp + 0x90], 0
jne 0x14006b6f4
mov ecx, esi
call fcn.140095ea0
mov r15, rax
test rax, rax
je 0x14006b6d2
mov r8d, esi
xor edx, edx
mov rcx, rax
call fcn.1400a57c0
mov r9, r15
mov r8d, esi
mov edx, dword [rbp + 0x90]
lea rcx, [rbp + 0xa0]
call sub.api_ms_win_core_version_l1_1_1.dll_GetFileVersionInfoW
test eax, eax
je 0x14006b69c
lea r9, [rbp + 0x94]
lea r8, [rbp + 0x88]
lea rdx, [0x1400eacc4]
mov rcx, r15
call sub.api_ms_win_core_version_l1_1_0.dll_VerQueryValueW
test eax, eax
je 0x14006b686
cmp dword [rbp + 0x94], 0
je 0x14006b673
mov rdi, qword [rbp + 0x88]
test rdi, rdi
je 0x14006b646
cmp dword [rdi], 0xfeef04bd
jne 0x14006b638
movzx edx, word [rdi + 0xc]
lea rcx, [rbp + 0x68]
call fcn.14003e190
mov r13, rax
movzx edx, word [rdi + 0xe]
lea rcx, [rbp - 0x40]
call fcn.14003e190
mov r12, rax
movzx edx, word [rdi + 8]
lea rcx, [rbp - 0x60]
call fcn.14003e190
mov rsi, rax
movzx edx, word [rdi + 0xa]
lea rcx, [rbp - 0x80]
call fcn.14003e190
nop
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rcx, r9
sub rcx, r8
mov r10d, 0x2e
cmp rcx, 1
mov rcx, rax
jb 0x14006b18b
lea rdx, [r8 + 1]
mov qword [rax + 0x10], rdx
cmp r9, 8
jb 0x14006b17e
mov rcx, qword [rax]
mov word [rcx + r8*2], r10w
xor edi, edi
mov word [rcx + rdx*2], di
jmp 0x14006b1a9
mov qword [rsp + 0x20], 1
lea r9, [0x1400eda00]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140015940
xor edi, edi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x30], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov dword [rsp + 0x34], 3
mov r9, rsi
lea r8, [rbp + 0x20]
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.14002ac80
mov dword [rsp + 0x34], 7
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x14006b22f
lea rcx, [rdx + 1]
mov qword [rsp + 0x68], rcx
lea rax, [rsp + 0x58]
cmp r8, 8
cmovae rax, qword [rsp + 0x58]
mov esi, 0x2e
mov word [rax + rdx*2], si
mov word [rax + rcx*2], di
lea rax, [rsp + 0x58]
jmp 0x14006b255
mov qword [rsp + 0x20], 1
lea r9, [0x1400eda00]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x58]
call fcn.140015940
mov esi, 0x2e
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov dword [rsp + 0x34], SafeArrayGetDim
mov r9, r12
lea r8, [rbp]
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14002ac80
mov dword [rsp + 0x34], 0x1f
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rax, r8
sub rax, rdx
cmp rax, 1
jb 0x14006b2d6
lea rcx, [rdx + 1]
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x38]
cmp r8, 8
cmovae rax, qword [rsp + 0x38]
mov word [rax + rdx*2], si
mov word [rax + rcx*2], di
lea rax, [rsp + 0x38]
jmp 0x14006b2f7
mov qword [rsp + 0x20], 1
lea r9, [0x1400eda00]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x38]
call fcn.140015940
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
mov dword [rsp + 0x34], 0x3f
mov r9, r13
lea r8, [rbp - 0x20]
movzx edx, byte [rsp + 0x30]
lea rcx, [rbp + 0x48]
call fcn.14002ac80
mov dword [rsp + 0x34], 0x7f
lea rdx, [rbp + 0x48]
mov rcx, r14
call fcn.14002c700
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x14006b387
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b381
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b798
call fcn.140095e90
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x14006b3c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b3c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b79e
call fcn.140095e90
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x14006b40a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b405
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7a4
call fcn.140095e90
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x14006b45e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b458
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7aa
call fcn.140095e90
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14006b4a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b49b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7b0
call fcn.140095e90
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], di
mov rdx, qword [rbp + 0x38]
cmp rdx, 8
jb 0x14006b4f4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b4ee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7b6
call fcn.140095e90
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x14006b534
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b52f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7bc
call fcn.140095e90
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], di
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x14006b584
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b57f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7c2
call fcn.140095e90
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], di
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x14006b5d4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b5cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b7c8
call fcn.140095e90
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], di
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x14006b6c8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006b626
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006b792
call fcn.140095e90
mov rcx, r15
call fcn.140095e90
jmp 0x14006b724
call fcn.140014190
lea r9, str.Signature_not_correct
jmp 0x14006b652
call fcn.140014190
lea r9, str.VS_FIXEDFILEINFO_buffer_is_NULL
mov rcx, rax
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14009cf00
mov rcx, r15
call fcn.140095e90
jmp 0x14006b724
call fcn.140014190
mov dword [rsp + 0x20], r12d
lea r9, str.VerQueryValue_returned_size___d
jmp 0x14006b6b4
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140014190
lea r9, str.VerQueryValue_failed_with_error__d
jmp 0x14006b6b0
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140014190
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.14009cf00
mov rcx, r15
call fcn.140095e90
jmp 0x14006b724
call fcn.140014190
mov rcx, rax
lea r9, str.Version_String_Allocation_failed
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14009cf00
jmp 0x14006b724
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov edi, eax
call fcn.140014190
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
lea r9, str.GetFileVersionInfoSize_Return_Value____d_Error_Code_
lea r8, str.Utils::GetBinaryVersion
mov edx, 5
call fcn.14009cf00
call fcn.140014190
mov rcx, rax
lea r9, [0x1400e8328]
lea r8, str.Utils::GetBinaryVersion
mov edx, 1
call fcn.14009cf00
nop
test rbx, rbx
je 0x14006b75f
mov rcx, rbx
call fcn.140099040
mov edx, 0x28
mov rcx, rbx
call fcn.140095e90
mov rax, r14
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.1400964b0
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.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
nop
call fcn.1400b1720
int3