Function at 0x140097900
Capabilities:
Get file version info

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x1401b4a98]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rbx, r8
mov r15, rdx
mov qword [rbp + 0x58], rdx
mov rcx, r8
cmp qword [r8 + 0x18], 8
jb 0x140097943
mov rcx, qword [r8]
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test eax, eax
jne 0x1400979c8
cmp qword [rbx + 0x18], 8
jb 0x14009795a
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
lea rax, str.Unable_to_get_file_version_info_for_file:__s
mov qword [rsp + 0x20], rax
mov r9d, 0x28
lea r8, str.XMLUpdater::v2::CFileVersionSubstitution::Substitute
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x27]
call fcn.14007d3e0
xor r14d, r14d
mov qword [r15], r14
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov rdx, qword [0x1401b0538]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400979b0
mov rcx, r15
call fcn.140002fb0
jmp 0x140097f1b
mov rcx, rdi
call fcn.1400fbe0c
mov r12, rax
mov qword [rbp + 0x68], rax
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400979e4
mov rcx, qword [rbx]
mov r9, r12
mov r8d, edi
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
cmp eax, 1
je 0x140097a6a
cmp qword [rbx + 0x18], 8
jb 0x140097a00
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
lea rax, str.Unable_to_get_file_version_data_for_file:__s
mov qword [rsp + 0x20], rax
mov r9d, 0x2f
lea r8, str.XMLUpdater::v2::CFileVersionSubstitution::Substitute
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x2e]
call fcn.14007d3e0
xor r14d, r14d
mov qword [r15], r14
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov rdx, qword [0x1401b0538]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x140097a52
mov rcx, r15
call fcn.140002fb0
jmp 0x140097f09
xor r14d, r14d
mov qword [rbp + 0x58], r14
mov dword [rbp + 0x60], r14d
lea r9, [rbp + 0x60]
lea r8, [rbp + 0x58]
lea rdx, [0x140171370]
mov rcx, r12
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x140097b08
cmp qword [rbx + 0x18], 8
jb 0x140097a9a
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
lea rax, str.VerQueryValue_failed_for_file:__s
mov qword [rsp + 0x20], rax
mov r9d, 0x37
lea r8, str.XMLUpdater::v2::CFileVersionSubstitution::Substitute
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x36]
call fcn.14007d3e0
mov qword [r15], r14
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov rdx, qword [0x1401b0538]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140097af0
mov rcx, r15
call fcn.140002fb0
jmp 0x140097f09
mov rax, qword [rbp + 0x58]
test rax, rax
jne 0x140097b5d
cmp qword [rbx + 0x18], 8
jb 0x140097b1b
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
lea rax, str.Cant_read_version_info_for:__s
mov qword [rsp + 0x20], rax
mov r9d, 0x3d
lea r8, str.XMLUpdater::v2::CFileVersionSubstitution::Substitute
lea rdx, str.E:BT5141214d_e130_48fa_889d_d54b39cac869xmlupdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x3c]
call fcn.14007d3e0
mov rdx, qword [0x1401b0538]
mov rcx, r15
call fcn.140002f50
jmp 0x140097f09
movzx edx, word [rax + 0xc]
lea rcx, [rbp + 0x38]
call fcn.1400281e0
mov rsi, rax
mov rcx, qword [rbp + 0x58]
movzx edx, word [rcx + 0xe]
lea rcx, [rbp + 0x18]
call fcn.1400281e0
mov rdi, rax
mov rcx, qword [rbp + 0x58]
movzx edx, word [rcx + 8]
lea rcx, [rbp - 8]
call fcn.1400281e0
mov rbx, rax
mov rcx, qword [rbp + 0x58]
movzx edx, word [rcx + 0xa]
lea rcx, [rbp - 0x28]
call fcn.1400281e0
nop
lea r8, [0x14016c28c]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1400205e0
nop
mov r9, rbx
mov r8, rax
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.140097720
nop
lea r8, [0x14016c28c]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x68]
call fcn.1400205e0
nop
mov r9, rdi
mov r8, rax
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.140097720
nop
lea r8, [0x14016c28c]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x78]
call fcn.1400205e0
nop
mov r9, rsi
mov r8, rax
movzx edx, byte [rsp + 0x30]
mov rcx, r15
call fcn.140097720
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140097c69
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097c64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f4c
call fcn.140074f80
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x140097cbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097cb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f52
call fcn.140074f80
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x140097d11
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097d0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f58
call fcn.140074f80
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140097d64
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097d5f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f5e
call fcn.140074f80
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140097db8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097db3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f64
call fcn.140074f80
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x140097e09
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097e04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f6a
call fcn.140074f80
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r14w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140097e5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097e55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f70
call fcn.140074f80
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r14w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140097eab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097ea6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f76
call fcn.140074f80
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], r14w
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x140097ef8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097ef3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097f46
call fcn.140074f80
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r14w
test r12, r12
je 0x140097f1b
mov edx, 1
mov rcx, r12
call fcn.140074f80
mov rax, r15
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1400fb890
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
nop
call fcn.140103230
int3