Function at 0x411410
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
push ebx
push esi
push edi
mov ecx, dword [0x45dbd4]
mov eax, 0xc69fb513
imul ecx
add edx, ecx
mov esi, dword [0x45dbcc]
sar edx, 0x19
mov ebx, edx
mov eax, esi
imul eax, eax, 0x33bbc84
shr ebx, 0x1f
add ebx, edx
add ebx, eax
mov eax, 0x2ee68aa5
imul esi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
sub ebx, eax
imul edx, edx, 0x20e865f
mov eax, dword [0x45dbdc]
imul eax, eax, 0x362805a
add ebx, edx
add ebx, eax
mov eax, 0xc41087d7
imul ecx
add edx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xc41087d7
imul esi
add edx, esi
sar edx, 0x1a
sub ebx, ecx
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
xor edi, edi
push ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [str._r_____r____], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, edi
je 0x41171d
mov ecx, dword [0x45dbd4]
mov edi, dword [0x45dbe4]
imul edi, edi, 0x3e6f678
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
add edi, edx
push ebp
mov ebp, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x33bbc84
shr ebp, 0x1f
add ebp, edi
mov edi, dword [0x45dbcc]
add ebp, edx
mov eax, 0x83228937
imul edi
mov eax, dword [0x45dbe8]
add edx, edi
imul eax, eax, 0x20e865f
sar edx, 0x19
mov edi, edx
add ebp, edx
shr edi, 0x1f
add edi, ebp
mov ebp, dword [str._r_____r____]
sub edi, eax
mov eax, 0x974409b3
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
sub ecx, ebp
add ecx, 0x276937b
push esi
mov dword [0x45dbcc], ecx
call fcn.00442504
add esp, 4
mov edi, eax
push edi
push esi
xor ebp, ebp
push ebp
push ebx
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x411707
mov ecx, dword [0x45dbdc]
mov esi, dword [str._r_____r____]
mov edx, dword [0x45dbd8]
lea ebx, [edx + esi]
imul esi, esi, 0x293e68d
mov eax, 0xc69fb513
imul ebx, ebx, 0x362805a
imul ecx
add edx, ecx
sar edx, 0x19
add ebx, edx
mov eax, edx
mov edx, ecx
imul edx, edx, 0x33bbc84
shr eax, 0x1f
add eax, ebx
add eax, esi
add eax, edx
mov ebx, eax
mov eax, 0x83228937
imul ecx
add edx, ecx
mov ecx, dword [0x45dbe0]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
lea edx, [ebx + ecx - 0x3e6f678]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
push 0x44e2c0
push edi
mov dword [0x45dbd4], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41168c
mov edx, dword [0x45dbd4]
mov eax, dword [0x45dbc8]
mov ecx, dword [0x45dbd8]
lea ebx, [eax + edx]
mov esi, dword [str._r_____r____]
imul ebx, ebx, 0x3e78532
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, esi
imul edx, edx, 0x293e68d
add ebx, edx
mov eax, 0x2ee68aa5
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xcfdc5805
imul esi
add edx, esi
mov esi, dword [0x45dbe4]
sar edx, 0x19
add ebx, edx
mov ecx, edx
mov eax, 0xc41087d7
imul esi
add edx, esi
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
shr ecx, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
add ecx, ebx
sub ecx, eax
mov dword [0x45dbe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
jmp 0x411692
mov ecx, dword [0x45dbe4]
mov esi, dword [0x45dbcc]
mov edx, dword [0x45dbd0]
mov eax, dword [0x45dbdc]
lea ebx, [edx + esi]
imul eax, eax, 0x3e6f678
imul ebx, ebx, 0x2baab78
add ebx, eax
mov eax, 0xc69fb513
imul ecx
add edx, ecx
sar edx, 0x19
add ebx, edx
mov ebp, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x35bbff4
shr ebp, 0x1f
add ebp, ebx
add ebp, edx
mov eax, 0x974409b3
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xc41087d7
imul ecx
add edx, ecx
sar edx, 0x1a
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
mov dword [0x45dbdc], ecx
push edi
call fcn.00442509
mov ax, word [esp + 0x18]
add esp, 4
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x10
ret
mov ax, di
pop edi
pop esi
pop ebx
add esp, 0x10
ret