Function at 0x6f0ca0
Capabilities:
Get file version info

Disassembly:
push rbp
sub rsp, 0xc0
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x78], rbp
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], r8
mov rax, qword [rbp + 0xd8]
mov qword [rax], 0
mov rax, qword [rbp + 0xe0]
mov qword [rax], 0
nop
mov byte [rbp + 0xb7], 0
mov rcx, qword [rbp + 0xd8]
call fcn.00411020
mov rcx, qword [rbp + 0xe0]
call fcn.00411020
mov rcx, qword [rbp + 0xd0]
call fcn.004128e0
mov rcx, rax
lea rdx, [rbp + 0xa0]
call sub.version.dll_GetFileVersionInfoSizeW
mov dword [rbp + 0xa4], eax
cmp dword [rbp + 0xa4], 0
je 0x6f0f7c
mov ecx, dword [rbp + 0xa4]
call fcn.004092e0
mov qword [rbp + 0xb8], rax
nop
mov rcx, qword [rbp + 0xd0]
call fcn.004128e0
mov rcx, rax
xor edx, edx
mov r8d, dword [rbp + 0xa4]
mov r9, qword [rbp + 0xb8]
call sub.version.dll_GetFileVersionInfoW
test eax, eax
setne al
mov byte [rbp + 0x9b], al
cmp byte [rbp + 0x9b], 0
je 0x6f0f6e
lea rcx, [rbp + 0x90]
lea rdx, [0x006f100c]
call fcn.00411720
mov rcx, qword [rbp + 0xb8]
lea rdx, [0x006f101e]
lea r8, [rbp + 0x88]
lea r9, [rbp + 0x9c]
call sub.version.dll_VerQueryValueW
test eax, eax
je 0x6f0e54
mov rax, qword [rbp + 0x88]
cmp word [rax], 0
jne 0x6f0df9
mov rax, qword [rbp + 0x88]
mov word [rax], 0x409
mov rax, qword [rbp + 0x88]
cmp word [rax + 2], 0
jne 0x6f0e14
mov rax, qword [rbp + 0x88]
mov word [rax + 2], 0x4e4
mov rax, qword [rbp + 0x88]
movzx eax, word [rax]
mov dword [rbp + 0x58], eax
mov byte [rbp + 0x60], 0
mov rax, qword [rbp + 0x88]
movzx eax, word [rax + 2]
mov dword [rbp + 0x68], eax
mov byte [rbp + 0x70], 0
lea rcx, [rbp + 0x90]
lea rdx, [0x006f105c]
lea r8, [rbp + 0x58]
mov r9d, 1
call fcn.00438c20
lea rcx, [rbp + 0x50]
mov edx, 3
lea r8, [0x006f107c]
mov r9, qword [rbp + 0x90]
lea rax, [0x006f10ac]
mov qword [rsp + 0x20], rax
call fcn.00412e30
mov rcx, qword [rbp + 0x50]
call fcn.004128e0
mov rcx, qword [rbp + 0xb8]
mov rdx, rax
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xa0]
call sub.version.dll_VerQueryValueW
test eax, eax
setne al
mov byte [rbp + 0x9b], al
cmp byte [rbp + 0x9b], 0
je 0x6f0edd
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0xa8]
call fcn.00438950
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x48]
call fcn.00411690
mov byte [rbp + 0xb7], 1
lea rcx, [rbp + 0x40]
mov edx, 3
lea r8, [0x006f107c]
mov r9, qword [rbp + 0x90]
lea rax, [0x006f10d4]
mov qword [rsp + 0x20], rax
call fcn.00412e30
mov rcx, qword [rbp + 0x40]
call fcn.004128e0
mov rcx, qword [rbp + 0xb8]
mov rdx, rax
lea r8, [rbp + 0xa8]
lea r9, [rbp + 0xa0]
call sub.version.dll_VerQueryValueW
test eax, eax
setne al
mov byte [rbp + 0x9b], al
cmp byte [rbp + 0x9b], 0
je 0x6f0f5f
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0xa8]
call fcn.00438950
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0x38]
call fcn.00411690
nop
mov rcx, qword [rbp + 0xb8]
call fcn.00409310
jmp 0x6f0f7b
xor ecx, ecx
mov rdx, qword [rbp + 0x78]
call fcn.006f0fb0
jmp 0x6f0f7c
nop
lea rcx, [rbp + 0x38]
mov edx, 4
call fcn.00411100
lea rcx, [rbp + 0x90]
call fcn.00411020
movzx rax, byte [rbp + 0xb7]
lea rsp, [rbp + 0xc0]
pop rbp
ret