Function at 0x411a10
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45ebd8]
mov eax, 0x7a5789fb
imul ecx
mov ecx, dword [0x45ebcc]
sar edx, 0x16
push ebx
push ebp
push esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x7a5789fb
imul ecx
mov eax, dword [0x45ebdc]
mov ecx, dword [0x45ebd4]
imul eax, eax, 0xcdd745
push edi
sar edx, 0x16
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x312cd50d
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebe0]
imul edx, edx, 0x533e66
sub edi, eax
sub edi, edx
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x18]
push ecx
xor ebp, ebp
xor ebx, ebx
push edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebx
mov dword [0x45ebc4], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebp
je 0x411d36
mov ecx, dword [0x45ebc8]
mov eax, 0x7a5789fb
imul ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x7a5789fb
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x45ebdc]
mov eax, 0xc83bcf21
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd4]
sar edx, 0x16
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x8c4682e9
imul ecx
mov eax, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [0x45ebe0]
sar edx, 0x16
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x312cd50d
imul ecx
mov ecx, dword [0x45ebd0]
sar edx, 0x14
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0xef8db9b
imul ecx
mov ecx, dword [0x45ebc4]
sar edx, 0x13
imul ecx, ecx, 0x450d9b
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
push esi
mov dword [0x45ebcc], ebx
call fcn.00443a14
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x411d20
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebc8]
mov eax, 0x7791c573
imul esi, esi, 0x533e66
imul ecx
sub edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebc4]
mov edi, eax
imul edx, edx, 0x1119354
sub edi, esi
mov esi, dword [0x45ebe8]
imul esi, esi, 0x657dbd
add edi, edx
add esi, dword [0x45ebe4]
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, edi
lea ecx, [eax + esi + 0x74cc7d]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push 0x44f2c0
push ebx
mov dword [0x45ebd4], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov edi, dword [0x45ebc4]
mov esi, dword [0x45ebcc]
mov ebp, dword [0x45ebd0]
mov ecx, dword [0x45ebe4]
je 0x411cc3
mov eax, 0x7a5789fb
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xc83bcf21
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, 0x312cd50d
imul ebp
mov eax, dword [esp + 0x14]
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebd4]
sub eax, ecx
imul edx, edx, 0xf02e46
mov ecx, dword [0x45ebd8]
imul ecx, ecx, 0x657dbd
add eax, edx
sub eax, ecx
mov dword [esp + 0x14], eax
mov eax, 0xa16eca11
imul esi
mov eax, dword [esp + 0x14]
add edx, esi
sar edx, 0x16
mov ecx, edx
add eax, edx
mov edx, dword [esp + 0x10]
shr ecx, 0x1f
add ecx, eax
mov dword [0x45ebe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
mov eax, 0x7a5789fb
imul edi, edi, 0x74cc7d
imul ebp
sar edx, 0x16
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, dword [0x45ebc8]
imul edx, edx, 0x965d2c
add ebp, edx
mov eax, 0xef8db9b
imul esi
imul esi, esi, 0xa6969a
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebp, edi
sub ebp, eax
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
add ebp, esi
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
mov dword [0x45ebdc], ecx
push ebx
call fcn.00443a19
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