Function at 0x4111a0
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45cccc]
mov eax, 0x4227fdad
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
push ebp
push esi
mov esi, dword [0x45ccd4]
push edi
mov edi, eax
mov eax, 0xbb03c5cb
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, 0x44fc3a35
imul ecx
imul ecx, ecx, 0x1865
mov eax, dword [esp + 0x10]
sar edx, 0xb
add eax, edx
mov edi, edx
shr edi, 0x1f
add edi, eax
mov eax, 0x5c9900d1
imul esi
mov eax, dword [0x45cce8]
add edi, ecx
imul eax, eax, 0xa74
sar edx, 0xb
add edi, edx
mov ecx, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x1545
shr ecx, 0x1f
add ecx, edi
mov edi, dword [esp + 0x24]
add ecx, edx
add ecx, eax
mov dword [str._r_____r____], ecx
lea ecx, [esp + 0x18]
push ecx
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 0x4114a4
mov ecx, dword [0x45ccd4]
mov ebx, dword [0x45cce0]
imul ebx, ebx, 0x1865
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0xc09370e3
imul ecx
mov eax, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [0x45cccc]
sar edx, 0xc
add eax, edx
mov ebx, edx
mov edx, dword [0x45cce4]
shr ebx, 0x1f
imul edx, edx, 0x1259
add ebx, eax
mov eax, dword [0x45cce8]
imul eax, eax, 0xa74
add ebx, edx
sub ebx, eax
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add ecx, ebx
sub ecx, edx
add ecx, 0xae6
push esi
mov dword [0x45cccc], ecx
call fcn.00441be4
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x41148e
mov esi, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ccd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x161e
imul edi, edi, 0x1545
mov eax, esi
imul eax, eax, 0x1865
add edi, eax
mov eax, 0x5c9900d1
imul esi
sar edx, 0xb
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
add eax, ecx
mov edi, eax
mov eax, 0x6614bc37
imul esi
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cce0]
sub edi, ecx
lea eax, [edi + edx - 0x1259]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x14]
push edx
push 0x44d2b8
push ebx
mov dword [0x45ccd4], eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x411418
mov eax, dword [0x45ccd4]
mov ecx, dword [0x45ccc8]
lea esi, [ecx + eax]
mov ecx, dword [0x45ccd8]
imul esi, esi, 0xa08
mov eax, 0x4227fdad
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce4]
sub esi, eax
mov eax, 0x44fc3a35
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov edx, ecx
imul edx, edx, 0x161e
add esi, edx
mov eax, 0x5df55b35
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0xa
mov ecx, edx
add esi, edx
shr ecx, 0x1f
add ecx, esi
mov dword [0x45cce4], ecx
mov dx, word [eax + 0x14]
mov word [esp + 0x14], dx
jmp 0x41141e
mov ecx, dword [0x45cce4]
mov esi, dword [0x45cccc]
mov eax, dword [0x45ccd0]
lea edi, [eax + esi]
mov eax, 0x44fc3a35
imul edi, edi, 0x1ef5
imul ecx
sar edx, 0xb
add edi, edx
mov ebp, edx
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
shr ebp, 0x1f
mov ecx, edx
add ebp, edi
add ebp, edx
mov eax, 0xc09370e3
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr ecx, 0x1f
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccdc]
add ecx, ebp
imul edx, edx, 0x1259
sub ecx, eax
mov eax, dword [0x45cce0]
imul eax, eax, 0xade
add ecx, edx
add ecx, eax
mov dword [0x45ccdc], ecx
push ebx
call fcn.00441be9
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