Function at 0x140229cb0
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 [0x1403ceac0]
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 0x140229cf3
mov rcx, qword [r8]
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
test eax, eax
jne 0x140229d77
cmp qword [rbx + 0x18], 8
jb 0x140229d0a
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:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x27]
call fcn.140213350
xor r14d, r14d
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov rdx, qword [str._UNKNOWN]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], r14w
jne 0x140229d60
mov rcx, r15
call fcn.14002b640
jmp 0x14022a2bd
mov rcx, rdi
call fcn.1402974ec
mov r12, rax
mov qword [rbp + 0x68], rax
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140229d93
mov rcx, qword [rbx]
mov r9, r12
mov r8d, edi
xor edx, edx
call sub.VERSION.dll_GetFileVersionInfoW
cmp eax, 1
je 0x140229e17
cmp qword [rbx + 0x18], 8
jb 0x140229daf
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:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x2e]
call fcn.140213350
xor r14d, r14d
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov rdx, qword [str._UNKNOWN]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], r14w
jne 0x140229e00
mov rcx, r15
call fcn.14002b640
jmp 0x14022a2ab
xor r14d, r14d
mov qword [rbp + 0x58], r14
mov dword [rbp + 0x60], r14d
lea r9, [rbp + 0x60]
lea r8, [rbp + 0x58]
lea rdx, [0x1403484fc]
mov rcx, r12
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x140229eaa
cmp qword [rbx + 0x18], 8
jb 0x140229e47
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
lea rax, str.VerQueryValue_failed_for_file:__s
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_getservbyname
lea r8, str.XMLUpdater::v2::CFileVersionSubstitution::Substitute
lea rdx, str.E:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x36]
call fcn.140213350
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], 7
mov word [r15], r14w
mov rdx, qword [str._UNKNOWN]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r14w
jne 0x140229e93
mov rcx, r15
call fcn.14002b640
jmp 0x14022a2ab
mov rax, qword [rbp + 0x58]
test rax, rax
jne 0x140229eff
cmp qword [rbx + 0x18], 8
jb 0x140229ebd
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:BT0a209782_47a3_49ff_a189_59d4c06152f0WebAdvisor_XmlUpdater_srcXmlUpdaterFileVersionSubstitution.cpp
lea ecx, [r9 - 0x3c]
call fcn.140213350
mov rdx, qword [str._UNKNOWN]
mov rcx, r15
call fcn.14002b3a0
jmp 0x14022a2ab
movzx edx, word [rax + 0xc]
lea rcx, [rbp + 0x38]
call fcn.140028910
mov rsi, rax
mov rcx, qword [rbp + 0x58]
movzx edx, word [rcx + 0xe]
lea rcx, [rbp + 0x18]
call fcn.140028910
mov rdi, rax
mov rcx, qword [rbp + 0x58]
movzx edx, word [rcx + 8]
lea rcx, [rbp - 8]
call fcn.140028910
mov rbx, rax
mov rcx, qword [rbp + 0x58]
movzx edx, word [rcx + 0xa]
lea rcx, [rbp - 0x28]
call fcn.140028910
nop
lea r8, [0x1403556b0]
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.14003b480
nop
mov r9, rbx
mov r8, rax
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.14006ec30
nop
lea r8, [0x1403556b0]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x68]
call fcn.14003b480
nop
mov r9, rdi
mov r8, rax
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14006ec30
nop
lea r8, [0x1403556b0]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x78]
call fcn.14003b480
nop
mov r9, rsi
mov r8, rax
movzx edx, byte [rsp + 0x30]
mov rcx, r15
call fcn.14006ec30
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x14022a00b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a006
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a2ee
call fcn.140296f94
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r14w
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x14022a05f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a05a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a2f4
call fcn.140296f94
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r14w
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x14022a0b3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a0ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a2fa
call fcn.140296f94
mov qword [rbp - 0x58], r14
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r14w
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x14022a106
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a101
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a300
call fcn.140296f94
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r14w
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x14022a15a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a155
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a306
call fcn.140296f94
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r14w
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x14022a1ab
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a1a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a30c
call fcn.140296f94
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r14w
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x14022a1fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a1f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a312
call fcn.140296f94
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 7
mov word [rbp - 8], r14w
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x14022a24d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a248
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a318
call fcn.140296f94
mov qword [rbp + 0x28], r14
mov qword [rbp + 0x30], 7
mov word [rbp + 0x18], r14w
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x14022a29a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14022a295
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14022a2e8
call fcn.140296f94
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r14w
test r12, r12
je 0x14022a2bd
mov edx, 1
mov rcx, r12
call fcn.140296f94
mov rax, r15
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140296f70
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.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
int3