Function at 0x4dff28
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
push ebx
push edi
push esi
xor esi, esi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x18], esi
mov edi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404ce8
mov eax, dword [ebp - 8]
call fcn.00404ce8
push ebp
xor esi, esi
push 0x4e01b5
xor ebx, ebx
push dword fs:[esi]
mov dword fs:[esi], esp
push ebp
push 0x4e017b
push dword fs:[ebx]
mov dword fs:[ebx], esp
mov eax, edi
call fcn.00404848
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
call fcn.00404cf8
mov esi, eax
push esi
call sub.version.dll_GetFileVersionInfoSizeA
mov ebx, eax
or ebx, ebx
jbe 0x4dffea
xor eax, eax
push ebp
push 0x4dffd9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.004027d8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
push ebx
mov eax, dword [ebp - 0x1c]
push eax
push esi
call sub.version.dll_GetFileVersionInfoA
pop edx
cmp eax, 1
sbb eax, eax
inc eax
mov ebx, eax
pop eax
pop ecx
xor eax, eax
mov dword fs:[eax], edx
jmp 0x4dfff4
call fcn.00404270
jmp 0x4e0182
mov eax, edi
call fcn.00404848
test bl, bl
je 0x4e0017
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push 0x4e01c4
mov eax, dword [ebp - 0x20]
push eax
call sub.version.dll_VerQueryValueA
jmp 0x4e001c
xor edx, edx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 0
je 0x4e0044
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
call fcn.00407f18
mov edx, dword [ebp - 0xc]
mov dx, word [edx]
call fcn.00407f0c
mov edx, 8
lea ecx, [ebp - 0x18]
call fcn.0040969c
test bl, bl
je 0x4e009f
push 0x4e01e8
push dword [ebp - 0x18]
push 0x4e0204
push dword [ebp - 8]
lea eax, [ebp - 0x124]
mov edx, 4
call fcn.00404bc0
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 0x120]
call fcn.0040a168
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x20]
push eax
call sub.version.dll_VerQueryValueA
or eax, eax
je 0x4e009f
mov edx, edi
mov eax, dword [ebp - 0x10]
call fcn.0040a2f0
cmp dword [edi], 0
jne 0x4e00ee
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x128]
mov edx, 0x4e0210
call fcn.00404b4c
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x128]
call fcn.0040a168
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x20]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4e00ee
mov eax, dword [ebp - 0x10]
mov edx, edi
call fcn.0040a2f0
cmp dword [edi], 0
jne 0x4e013d
lea eax, [ebp - 0x12c]
mov ecx, dword [ebp - 8]
mov edx, 0x4e0234
call fcn.00404b4c
lea eax, [ebp - 0x120]
mov edx, dword [ebp - 0x12c]
call fcn.0040a168
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x20]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x4e013d
mov eax, dword [ebp - 0x10]
mov edx, edi
call fcn.0040a2f0
pop edx
pop eax
xor eax, eax
pop ecx
mov dword fs:[eax], edx
push 0x4e0182
xor eax, eax
push ebp
push 0x4e0170
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x20], 0
je 0x4e0166
mov eax, dword [ebp - 0x20]
call fcn.004027f8
pop edx
xor eax, eax
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4e017a
ret
pop edx
pop ecx
xor eax, eax
pop ecx
mov dword fs:[eax], edx
push 0x4e01bc
lea eax, [ebp - 0x12c]
mov edx, 3
call fcn.0040486c
lea eax, [ebp - 0x18]
call fcn.00404848
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040486c
ret