Function at 0x1400973c0
Capabilities:
Get file version info

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14021f030]
xor rax, rsp
mov qword [rsp + 0xb0], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rax
movaps xmm0, xmmword [0x1401e7440]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
lea rdx, str.CreateFileVersionInfoWin
lea r8, str....._base_file_version_info_win.cc
lea rdi, [rsp + 0x38]
mov rcx, rdi
mov r9d, 0x4d
call fcn.1400afa40
lea rcx, [rsp + 0x60]
mov rdx, rdi
xor r8d, r8d
call fcn.14009d6e0
mov dword [rsp + 0x34], 0xaaaaaaaa
cmp byte [rbx + 0x17], 0
jns 0x140097460
mov rbx, qword [rbx]
lea rdx, [rsp + 0x34]
mov rcx, rbx
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
je 0x1400975ce
mov ebp, eax
mov r14d, eax
mov rcx, r14
call fcn.14019d310
mov rdi, rax
lea r15, [rax + r14]
xor eax, eax
nop dword [rax + rax]
mov rcx, rdi
add rcx, rax
je 0x140097606
mov byte [rcx], 0
inc rax
cmp r14, rax
jne 0x140097490
mov edx, dword [rsp + 0x34]
mov rcx, rbx
mov r8d, ebp
mov r9, rdi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1400975b0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x5c], 0xaaaaaaaa
lea rdx, str.VarFileInfoTranslation
lea r8, [rsp + 0x38]
lea r9, [rsp + 0x5c]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1400975b0
mov r13, qword [rsp + 0x38]
test r13, r13
je 0x1400975b0
mov ecx, 0x38
call fcn.14019d310
mov rbx, rax
movzx r12d, word [r13]
movzx ebp, word [r13 + 2]
lea rax, str.__t_
mov qword [rbx], rax
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
movabs r14, 0xfffffffc00000000
mov rax, rdi
and rax, r14
cmp rax, qword [0x14022e988]
jne 0x14009754f
mov rcx, rdi
call fcn.14003a2ac
mov qword [rbx + 0x20], rdi
mov word [rbx + 0x28], r12w
mov word [rbx + 0x2a], bp
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x5c], 0xaaaaaaaa
lea rdx, [0x1401f8b52]
lea r8, [rsp + 0x38]
lea r9, [rsp + 0x5c]
mov rcx, rdi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x14009765e
mov rdi, qword [rsp + 0x38]
and r14, rdi
cmp r14, qword [0x14022e988]
jne 0x1400975a7
mov rcx, rdi
call fcn.14003a2ac
mov qword [rbx + 0x30], rdi
mov qword [rsi], rbx
jmp 0x1400975d5
mov qword [rsi], 0
test rdi, rdi
je 0x1400975d5
dec r15
cmp r15, r14
jb 0x140097632
mov rcx, rdi
call fcn.14019d34c
jmp 0x1400975d5
mov qword [rsi], 0
lea rcx, [rsp + 0x60]
call fcn.14009d740
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14019eb90
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x25
call fcn.14003a2a8
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x41
call fcn.14003a2a8
int3