Function at 0x491ad0
Capabilities:
Get file version info

Disassembly:
sub rsp, 0x598
mov rax, qword [0x00522be8]
xor rax, rsp
mov qword [rsp + 0x540], rax
mov qword [rsp + 0xc8], rdx
lea rcx, [rsp + 0x330]
lea rdx, str._s_s
mov qword [rsp + 0x560], r14
mov r14, qword [rsp + 0x5c0]
call fcn.004aa720
test r14, r14
jne 0x491b4b
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x330]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x491da5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindClose]
lea r14, [rsp + 0xe0]
lea rdx, [rsp + 0xb0]
lea rcx, [r14 + 4]
mov qword [rsp + 0x580], rsi
mov qword [rsp + 0x558], r15
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea rcx, [r14 + 0x14]
lea rdx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
xor ecx, ecx
lea rdx, [0x004ed670]
lea rsi, [0x00527d70]
nop
movzx eax, word [rcx + rdx]
add rcx, 2
test ax, ax
mov word [rcx + rsi - 2], ax
jne 0x491b90
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x330]
mov qword [rsp + 0x590], rbx
mov qword [rsp + 0x578], rdi
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
mov ebx, eax
je 0x491c75
mov rcx, 0xffffffffffffffff
mov eax, 2
mul rbx
cmovo rax, rcx
mov rcx, rax
call fcn.004a5e00
lea rcx, [rsp + 0x330]
mov r8d, ebx
mov r9, rax
xor edx, edx
mov rdi, rax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x491c6d
lea r9, [rsp + 0xd4]
lea r8, [rsp + 0xc0]
lea rdx, [0x004e8098]
mov rcx, rdi
mov qword [rsp + 0xc0], 0
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x491c6d
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x491c6d
movzx ecx, word [rdx + 0xe]
movzx eax, word [rdx + 0xc]
movzx r9d, word [rdx + 8]
movzx r8d, word [rdx + 0xa]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rdx, str._v_d._d._d._d_
mov rcx, rsi
call fcn.004aa720
mov rcx, rdi
call fcn.004a6f90
movzx edx, word [rsp + 0xac]
movzx ecx, word [rsp + 0xa0]
movzx r10d, word [rsp + 0xaa]
movzx r11d, word [rsp + 0xa8]
movzx ebx, word [rsp + 0xa6]
movzx edi, word [rsp + 0xa2]
movzx esi, word [rsp + 0xbc]
movzx r9d, word [rsp + 0xb6]
movzx r8d, word [rsp + 0xb2]
lea rax, [0x00527d70]
mov qword [rsp + 0x588], rbp
movzx ebp, word [rsp + 0xba]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x330]
mov qword [rsp + 0x570], r12
movzx r12d, word [rsp + 0xb8]
mov qword [rsp + 0x88], rax
mov eax, dword [r14 + 0x20]
mov dword [rsp + 0x80], eax
mov eax, dword [r14 + 4]
mov qword [rsp + 0x568], r13
movzx r13d, word [rsp + 0xb0]
mov dword [rsp + 0x78], eax
mov eax, dword [r14 + 8]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x58], r11d
mov dword [rsp + 0x50], ecx
mov rcx, qword [rsp + 0xc8]
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x30], ebp
lea rdx, str.__Create:_02d__02d__04d___02d:_02d:_02d__Modify:_02d__02d__04d___02d:_02d:_02d____08x:_08x____8d___s__s_n
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r13d
call fcn.004ac020
mov r15, qword [rsp + 0x558]
mov r13, qword [rsp + 0x568]
mov r12, qword [rsp + 0x570]
mov rdi, qword [rsp + 0x578]
mov rsi, qword [rsp + 0x580]
mov rbp, qword [rsp + 0x588]
mov rbx, qword [rsp + 0x590]
mov r14, qword [rsp + 0x560]
mov rcx, qword [rsp + 0x540]
xor rcx, rsp
call fcn.004a7100
add rsp, 0x598
ret