Function at 0x410510
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45b9ac]
push ebx
push ebp
mov eax, 0x7e3fea57
imul ecx
push esi
mov esi, dword [0x45b9b4]
push edi
mov edi, dword [0x45b9c0]
sar edx, 0x15
imul edi, edi, 0x427252
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x7595e9bf
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
add edi, edx
mov ecx, edx
mov eax, 0x9eea7d1d
imul esi
shr ecx, 0x1f
add edx, esi
sar edx, 0x16
add ecx, edi
mov edi, dword [esp + 0x24]
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x45b9c8]
imul ecx, ecx, 0x8b0f0c
lea edx, [esp + 0x18]
push edx
add eax, ecx
xor ebp, ebp
xor ebx, ebx
push edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebx
mov dword [str._r_____r____], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebp
je 0x41080d
mov ecx, dword [0x45b9ac]
mov ebx, dword [0x45b9c0]
mov eax, 0x76294c27
imul ebx, ebx, 0x427252
imul ecx
mov ecx, dword [0x45b9c8]
sar edx, 0x15
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x9eea7d1d
imul ecx
mov eax, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x16
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ecx
add eax, 0x26e3e3
push esi
mov dword [0x45b9ac], eax
call fcn.00440ec2
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x4107f7
mov esi, dword [0x45b9a8]
mov ecx, dword [0x45b9b8]
imul esi, esi, 0x427252
imul ecx, ecx, 0x78665a
add esi, ecx
mov ecx, dword [0x45b9bc]
mov eax, 0x76294c27
imul ecx
mov ecx, dword [0x45b9c4]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov edi, dword [0x45b9c0]
mov eax, 0x9eea7d1d
imul ecx
mov eax, dword [0x45b9c8]
add edx, ecx
imul eax, eax, 0x458786
sar edx, 0x16
mov ecx, edx
add esi, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x671938
shr ecx, 0x1f
add ecx, esi
add edx, edi
add edx, ecx
lea ecx, [eax + edx - 0x346bb5]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push 0x44c194
push ebx
mov dword [0x45b9b4], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov esi, dword [0x45b9c8]
mov ecx, dword [0x45b9b8]
je 0x41077d
mov ebp, dword [0x45b9a8]
mov eax, 0x7e3fea57
imul ebp, ebp, str.LresultFromObject
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9c4]
sub ebp, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, ecx
imul edx, edx, 0x671938
add ebp, edx
mov edi, dword [0x45b9b4]
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x9eea7d1d
imul edi
add edx, edi
sar edx, 0x16
add ebp, edx
mov eax, edx
mov edx, esi
imul edx, edx, 0x458786
shr eax, 0x1f
add eax, ebp
add eax, edx
mov dword [0x45b9c4], eax
mov eax, dword [esp + 0x10]
mov dx, word [eax + 0x14]
mov word [esp + 0x14], dx
mov edi, dword [0x45b9ac]
imul esi, esi, 0x458786
mov ebp, dword [0x45b9bc]
mov eax, 0x8814777b
imul ebp, ebp, 0x346bb5
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9b0]
sub ebp, eax
mov eax, edx
imul eax, eax, 0x40e326
add ebp, eax
mov eax, dword [0x45b9c0]
imul eax, eax, 0x533b61
add ebp, eax
mov eax, 0x7595e9bf
imul edx
sar edx, 0x15
add ebp, edx
mov edi, edx
mov eax, 0x9eea7d1d
imul ecx
add edx, ecx
shr edi, 0x1f
sar edx, 0x16
add edi, ebp
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
add ecx, esi
mov dword [0x45b9bc], ecx
push ebx
call fcn.00440ec7
mov ax, word [esp + 0x18]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
pop edi
pop esi
pop ebp
mov ax, bx
pop ebx
add esp, 0x10
ret