Function at 0x49289c
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2a
push 0
push 0
dec ecx
jne 0x4928a4
push ecx
push ebx
push esi
push edi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x492b8d
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
mov eax, dword [0x4ea364]
mov eax, dword [eax]
call fcn.0049009c
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
call fcn.00404e20
mov edi, eax
push edi
call sub.version.dll_GetFileVersionInfoSizeA
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jbe 0x492b4d
mov eax, dword [ebp - 8]
call fcn.00408b70
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x492b46
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 8]
push eax
push 0
push edi
call sub.version.dll_GetFileVersionInfoA
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
push 0x492b9c
mov eax, dword [ebp - 0x10]
push eax
call sub.version.dll_VerQueryValueA
cmp dword [ebp - 0xc], 4
jb 0x49298c
xor eax, eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
mov ecx, 2
mov edx, dword [ebp - 0x24]
call fcn.00409b88
lea ecx, [ebp - 0x2c]
mov edx, 4
mov eax, dword [ebp - 0x28]
call fcn.004092f4
mov edx, dword [ebp - 0x24]
add edx, 2
lea eax, [ebp - 0x28]
mov ecx, 2
call fcn.00409b88
lea ecx, [ebp - 0x34]
mov edx, 4
mov eax, dword [ebp - 0x28]
call fcn.004092f4
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
call fcn.00404c6c
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x492bc0
push dword [ebp - 0x30]
push 0x492bd8
lea eax, [ebp - 0x38]
mov edx, 3
call fcn.00404ce0
mov eax, dword [ebp - 0x38]
call fcn.00404e20
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.version.dll_VerQueryValueA
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push 0x492bc0
push dword [ebp - 0x30]
push 0x492bf0
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.00404ce0
mov eax, dword [ebp - 0x3c]
call fcn.00404e20
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.version.dll_VerQueryValueA
test bl, bl
je 0x492a41
lea eax, [ebp - 0x140]
mov edx, dword [ebp - 0x18]
call fcn.00403554
lea edx, [ebp - 0x140]
lea eax, [ebp - 0x40]
call fcn.00404bc4
push dword [ebp - 0x40]
push 0x492c08
lea eax, [ebp - 0x144]
mov edx, dword [ebp - 0x14]
call fcn.00404b58
push dword [ebp - 0x144]
mov eax, esi
mov edx, 3
call fcn.00404ce0
jmp 0x492b2d
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x148]
mov edx, dword [ebp - 0x14]
call fcn.00404b58
mov edx, dword [ebp - 0x148]
mov eax, 0x492c14
call fcn.004098bc
dec eax
push eax
lea eax, [ebp - 0x14c]
mov edx, dword [ebp - 0x14]
call fcn.00404b58
mov eax, dword [ebp - 0x14c]
xor edx, edx
pop ecx
call fcn.00404e80
mov edx, dword [ebp - 0x1c]
mov eax, 0x492c14
call fcn.004098bc
mov ebx, eax
lea eax, [ebp - 0x150]
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00404c20
cdq
push edx
push eax
mov eax, ebx
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov ecx, eax
lea edx, [ebx + 1]
mov eax, dword [ebp - 0x1c]
call fcn.00404e80
mov eax, dword [ebp - 0x150]
call fcn.0040934c
test eax, eax
jne 0x492af4
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.004049f8
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x20]
mov eax, 0x492c14
call fcn.004098bc
mov ecx, eax
dec ecx
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.00404e80
lea eax, [ebp - 0x140]
mov edx, dword [ebp - 0x18]
call fcn.00403554
lea edx, [ebp - 0x140]
lea eax, [ebp - 0x154]
call fcn.00404bc4
push dword [ebp - 0x154]
push 0x492c08
push dword [ebp - 0x1c]
mov eax, esi
mov edx, 3
call fcn.00404ce0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x492b4d
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.00402794
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x492b94
lea eax, [ebp - 0x154]
mov edx, 5
call fcn.00404984
lea eax, [ebp - 0x40]
mov edx, 6
call fcn.00404984
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00404984
lea eax, [ebp - 4]
call fcn.00404960
ret