Function at 0x4b9064
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe54
push ebx
xor eax, eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b92f0
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
xor eax, eax
call fcn.004032f0
cmp dword [ebp - 4], 0
je 0x4b92cf
lea eax, [ebp - 0x11c]
mov edx, dword [ebp - 4]
call fcn.0040a76c
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x11c]
push eax
call sub.version.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4b92cf
mov eax, dword [ebp - 0xc]
call fcn.00402eec
mov dword [ebp - 0x14], eax
xor edx, edx
push ebp
push 0x4b92c8
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0x11c]
push eax
call sub.version.dll_GetFileVersionInfoA
test eax, eax
je 0x4b92af
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b92fc
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b9126
mov eax, 0x4fed7c
mov edx, dword [ebp - 0x10]
call fcn.00404f90
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b9328
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b914d
mov eax, 0x4fed80
mov edx, dword [ebp - 0x10]
call fcn.00404f90
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b9350
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b9174
mov eax, 0x4fed84
mov edx, dword [ebp - 0x10]
call fcn.00404f90
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b9378
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b919b
mov eax, 0x4fed88
mov edx, dword [ebp - 0x10]
call fcn.00404f90
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b93a0
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b91c2
mov eax, 0x4fed8c
mov edx, dword [ebp - 0x10]
call fcn.00404f90
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b93c8
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b91e9
mov eax, 0x4fed90
mov edx, dword [ebp - 0x10]
call fcn.00404f90
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
push 0x4b93f0
mov eax, dword [ebp - 0x14]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4b9210
mov eax, 0x4fed94
mov edx, dword [ebp - 0x10]
call fcn.00404f90
mov eax, dword [0x4fed80]
mov dword [ebp - 0x1a8], eax
mov ebx, dword [ebp - 0x1a8]
test ebx, ebx
je 0x4b922a
sub ebx, 4
mov ebx, dword [ebx]
push 0x4fed98
mov ecx, 3
mov edx, 0x4b9420
mov eax, dword [0x4fed80]
call fcn.004b8984
mov edx, eax
add edx, 1
jno 0x4b924f
call fcn.00403d48
mov ecx, ebx
mov eax, dword [0x4fed80]
call fcn.00405290
push 0x40
lea eax, [ebp - 0x1a4]
push eax
lea edx, [ebp - 0x1ac]
xor eax, eax
call fcn.004032f0
mov eax, dword [ebp - 0x1ac]
call fcn.00405228
push eax
call sub.kernel32.dll_OpenFile
mov ebx, eax
test ebx, ebx
jns 0x4b928d
call fcn.00403d40
mov eax, ebx
call fcn.0040a134
call fcn.0040a624
fstp qword [0x4fed9c]
wait
test ebx, ebx
jns 0x4b92a9
call fcn.00403d40
push ebx
call sub.kernel32.dll_CloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b92cf
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00402f20
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b92f7
lea eax, [ebp - 0x1ac]
call fcn.00404d98
lea eax, [ebp - 4]
call fcn.00404d98
ret