Function at 0x411580
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45ebcc]
mov eax, 0x1671bc81
imul ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
push ebp
push esi
mov esi, eax
mov eax, 0x1671bc81
imul ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebdc]
imul edx, edx, 0x564c079b
sub esi, ecx
mov ecx, dword [0x45ebd4]
add esi, edx
mov eax, 0x1a129787
imul ecx
mov eax, dword [0x45ebe0]
push edi
imul eax, eax, 0xe74a505
sar edx, 0x1a
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x4eb7d3f9
imul ecx
sar edx, 0x1c
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
lea edx, [esp + 0x18]
mov dword [str._r_____r____], edi
mov edi, dword [esp + 0x24]
push edx
xor ebp, ebp
xor ebx, ebx
push edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebp
je 0x41188a
mov ecx, dword [0x45ebdc]
mov eax, 0x3dbc891d
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x1b
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x1671bc81
imul ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x1a
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x1671bc81
imul ecx
mov ecx, dword [0x45ebd0]
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x78d1ad69
imul ecx
mov ecx, dword [str._r_____r____]
imul ecx, ecx, 0x34652235
sar edx, 0x1c
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
add eax, ecx
mov ecx, dword [0x45ebe0]
mov ebx, eax
mov eax, 0x4eb7d3f9
imul ecx
mov ecx, dword [0x45ebd4]
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x81b5a619
imul ecx
add edx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
push esi
mov dword [0x45ebcc], ecx
call fcn.004430d4
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x411874
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebe8]
mov eax, 0x1a129787
imul esi, esi, 0x2746608a
imul ecx
sar edx, 0x1a
mov edi, edx
add esi, edx
mov eax, 0x1e3444b9
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x1a
imul ecx, ecx, 0xe74a505
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, dword [0x45ebe4]
mov edx, dword [str._r_____r____]
imul edx, edx, 0x43cdcacc
shr edi, 0x1f
add edi, esi
sub edi, eax
add ecx, edi
lea eax, [edx + ecx - 0x7e501e9]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x14]
push edx
push 0x44f2c0
push ebx
mov dword [0x45ebd4], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov edi, dword [str._r_____r____]
mov esi, dword [0x45ebcc]
mov ebp, dword [0x45ebd0]
je 0x411813
mov eax, 0x3dbc891d
imul edi
sar edx, 0x1b
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebe4]
mov ecx, eax
mov eax, 0x1671bc81
imul edx
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebd4]
imul edx, edx, 0x43ce2184
sub ecx, eax
add ecx, edx
mov eax, 0x1a129787
imul esi
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebd8]
imul edx, edx, 0x2746608a
sub ecx, eax
add ecx, edx
mov eax, 0x4eb7d3f9
imul ebp
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub ecx, eax
mov dword [0x45ebe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
jmp 0x411819
mov ecx, dword [0x45ebe4]
mov eax, 0x1671bc81
imul edi, edi, 0x7e501e9
imul ebp
sar edx, 0x1a
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x1a129787
imul ecx
sar edx, 0x1a
add ebp, edx
mov ecx, edx
mov eax, 0x78d1ad69
imul esi
imul esi, esi, 0x68114d02
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebc8]
shr ecx, 0x1f
imul edx, edx, 0x3580338c
add ecx, ebp
sub ecx, eax
add ecx, esi
add ecx, edx
add ecx, edi
mov dword [0x45ebdc], ecx
push ebx
call fcn.004430d9
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