Function at 0x140018840
Capabilities:
Get file version info

Disassembly:
push rsi
push rdi
push r13
sub rsp, 0x290
mov rax, qword [0x140036080]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov r13, rdx
lea rdx, [rsp + 0x58]
mov rsi, rcx
call fcn.14001b2fe
mov edi, eax
test eax, eax
je 0x140018b34
mov qword [rsp + 0x2c0], rbx
mov qword [rsp + 0x2c8], rbp
mov rcx, rdi
mov qword [rsp + 0x288], r12
mov qword [rsp + 0x280], r14
call fcn.14001b514
mov r8d, edi
xor edx, edx
mov rcx, rsi
mov r9, rax
mov r12, rax
call fcn.14001b304
xor eax, eax
or r14, 0xffffffffffffffff
lea rdi, [0x140030cb0]
mov rcx, r14
repne scasw ax, word [rdi]
mov eax, 2
not rcx
lea rbp, [rcx + 0x19]
mul rbp
cmovo rax, r14
mov rcx, rax
call fcn.14001b514
lea r8, [0x1400305e8]
mov rdx, rbp
mov rcx, rax
mov rbx, rax
call fcn.14001b764
lea rsi, [0x140030cb0]
lea rdi, [0x1400305e8]
mov ecx, 0xc
repe cmpsw word [rsi], word [rdi]
je 0x1400189cd
lea r8, str.StringFileInfo_
mov rdx, rbp
mov rcx, rbx
call fcn.14001bb78
lea rdx, [0x1400305e8]
lea rcx, [0x140030cb0]
call fcn.14001c898
test rax, rax
jne 0x1400189bb
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x50]
lea rdx, str.VarFileInfoTranslation
mov rcx, r12
call fcn.14001b30a
test eax, eax
je 0x140018983
mov rax, qword [rsp + 0x50]
lea rdx, [rbx + 0x20]
lea r8d, [r14 + 5]
mov edi, dword [rax]
mov ecx, edi
call fcn.140018da0
shr edi, 0x10
lea rdx, [rbx + 0x28]
lea r8d, [r14 + 5]
mov ecx, edi
call fcn.140018da0
jmp 0x140018995
lea r8, str.04090000
mov rdx, rbp
mov rcx, rbx
call fcn.14001bb78
lea r8, [0x1400305e8]
mov rdx, rbp
mov rcx, rbx
call fcn.14001bb78
lea r8, [0x140030cb0]
mov rdx, rbp
mov rcx, rbx
call fcn.14001bb78
jmp 0x1400189cd
lea r8, [0x140030cb0]
mov rdx, rbp
mov rcx, rbx
call fcn.14001bb78
lea rdx, str.DefaultLangCodepage
lea rcx, [0x140030cb0]
call fcn.14001c1e4
mov rbp, qword [rsp + 0x2c8]
test eax, eax
jne 0x140018a42
lea r8, [rbx + 0x20]
lea r9d, [rax + 8]
lea rcx, [rsp + 0x60]
mov edx, 0x104
call fcn.14001c564
xor edx, edx
xor eax, eax
mov word [rsp + 0x70], dx
lea rdi, [rsp + 0x60]
mov rcx, r14
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x60]
not rcx
lea r8, [rcx - 1]
mov rcx, r13
call fcn.140008100
mov rcx, r12
call fcn.14001c890
mov rcx, rbx
call fcn.14001c890
mov al, 1
jmp 0x140018b1c
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
mov rdx, rbx
mov rcx, r12
call fcn.14001b30a
test eax, eax
je 0x140018b02
lea rsi, [0x140030cb0]
lea rdi, [0x1400305e8]
mov ecx, 0xc
repe cmpsw word [rsi], word [rdi]
jne 0x140018ab5
mov rax, qword [rsp + 0x48]
lea r8, str._u._u._u._u
mov edx, dword [rax + 0xc]
mov r9d, dword [rax + 8]
movzx ecx, dx
shr edx, 0x10
movzx eax, r9w
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
lea rcx, [rsp + 0x60]
shr r9d, 0x10
mov edx, 0x104
mov dword [rsp + 0x20], eax
call fcn.14001b7e8
jmp 0x140018acd
mov r8, qword [rsp + 0x48]
mov r9d, 0x104
lea rcx, [rsp + 0x60]
mov rdx, r9
call fcn.14001c564
xor eax, eax
lea rdi, [rsp + 0x60]
mov rcx, r14
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x60]
not rcx
lea r8, [rcx - 1]
mov rcx, r13
call fcn.140008100
mov rcx, r12
call fcn.14001c890
mov rcx, rbx
call fcn.14001c890
mov al, 1
jmp 0x140018b1c
mov rcx, r13
call fcn.14000fcd0
mov rcx, r12
call fcn.14001c890
mov rcx, rbx
call fcn.14001c890
xor al, al
mov r12, qword [rsp + 0x288]
mov rbx, qword [rsp + 0x2c0]
mov r14, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.14001b530
add rsp, 0x290
pop r13
pop rdi
pop rsi
ret