Function at 0x1005af4d
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x7d0]
sub esp, 0x850
mov eax, dword [0x100df3e0]
xor eax, ebp
mov dword [ebp + 0x7cc], eax
mov eax, dword [ebp + 0x7d8]
push ebx
push esi
mov ebx, ecx
xor esi, esi
cmp ebx, esi
push edi
mov dword [ebp - 0x7c], eax
je 0x1005b1a3
cmp word [ebx], si
je 0x1005b1a3
mov edi, 0x208
push edi
lea eax, [ebp + 0x5c2]
push esi
push eax
mov dword [ebp - 0x78], esi
mov word [ebp + 0x5c0], si
call fcn.10070d10
push edi
lea eax, [ebp + 0x3b6]
push esi
push eax
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x74], esi
mov word [ebp + 0x3b4], si
call fcn.10070d10
push edi
lea eax, [ebp - 0x62]
push esi
push eax
mov word [ebp - 0x64], si
call fcn.10070d10
push edi
lea eax, [ebp + 0x1aa]
push esi
push eax
mov word [ebp + 0x1a8], si
call fcn.10070d10
add esp, 0x30
push esi
push ebx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov edi, eax
cmp edi, esi
je 0x1005b1a3
push edi
call fcn.1006d41e
cmp eax, esi
pop ecx
mov dword [ebp - 0x70], eax
je 0x1005b19e
push eax
push edi
push esi
push ebx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x1005b195
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x74]
push eax
push str.VarFileInfoTranslation
push dword [ebp - 0x70]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1005b195
mov ebx, 0x20a
push ebx
lea eax, [ebp + 0x5c0]
push esi
push eax
call fcn.10070d10
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
push str.StringFileInfo_04x_04xFileDescription
push 0xffffffffffffffff
mov edi, 0x104
lea eax, [ebp + 0x5c0]
push edi
push eax
call fcn.100718d0
add esp, 0x24
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x5c0]
push eax
push dword [ebp - 0x70]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1005b0af
cmp dword [ebp - 0x68], esi
jbe 0x1005b0af
push 0x105
push dword [ebp - 0x6c]
lea eax, [ebp + 0x3b4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push ebx
lea eax, [ebp + 0x5c0]
push esi
push eax
call fcn.10070d10
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
push str.StringFileInfo_04x_04xFileVersion
push 0xffffffffffffffff
lea eax, [ebp + 0x5c0]
push edi
push eax
call fcn.100718d0
add esp, 0x24
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x5c0]
push eax
push dword [ebp - 0x70]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1005b112
cmp dword [ebp - 0x68], esi
jbe 0x1005b112
push 0x105
push dword [ebp - 0x6c]
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push ebx
lea eax, [ebp + 0x5c0]
push esi
push eax
call fcn.10070d10
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
push str.StringFileInfo_04x_04xProductName
push 0xffffffffffffffff
lea eax, [ebp + 0x5c0]
push edi
push eax
call fcn.100718d0
add esp, 0x24
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x5c0]
push eax
push dword [ebp - 0x70]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1005b178
cmp dword [ebp - 0x68], esi
jbe 0x1005b178
push 0x105
push dword [ebp - 0x6c]
lea eax, [ebp + 0x1a8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp dword [ebp - 0x7c], esi
je 0x1005b18e
push edi
lea eax, [ebp + 0x3b4]
push eax
push dword [ebp - 0x7c]
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov dword [ebp - 0x78], 1
push dword [ebp - 0x70]
call fcn.1006ffcc
pop ecx
mov eax, dword [ebp - 0x78]
jmp 0x1005b1a5
xor eax, eax
mov ecx, dword [ebp + 0x7cc]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1006e071
add ebp, 0x7d0
leave
ret