Function at 0x411050
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45cccc]
mov eax, 0x950cb67f
imul ecx
add edx, ecx
sar edx, 0x12
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, 0x1e9f4e3
imul esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x84dd7
sub eax, edi
add eax, edx
mov edi, eax
mov eax, 0x9baa0995
imul esi
add edx, esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9baa0995
imul ecx
mov eax, dword [0x45cce8]
add edx, ecx
imul eax, eax, 0x8a702
sar edx, 0x13
add edi, edx
mov ecx, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x8276a
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 0x411354
mov ecx, dword [0x45cccc]
mov ebx, dword [0x45cce4]
mov eax, 0x69f239fb
imul ebx, ebx, 0x3ef21
imul ecx
mov ecx, dword [0x45ccd4]
sar edx, 0x10
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x1e9f4e3
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0xc
add eax, edx
mov ebx, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0x84dd7
shr ebx, 0x1f
add ebx, eax
add ebx, edx
mov eax, 0x3ecaa423
imul ecx
mov ecx, dword [0x45cce8]
imul ecx, ecx, 0x8a702
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add eax, ebx
sub eax, ecx
sub eax, edx
add eax, 0x54963
push esi
mov dword [0x45cccc], eax
call fcn.00441942
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x41133e
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ccd8]
mov esi, dword [0x45ccdc]
lea edi, [edx + ecx]
imul ecx, ecx, 0x85c24
mov eax, 0x69f239fb
imul edi, edi, 0x8276a
imul esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x1e9f4e3
imul esi
imul esi, esi, 0x84dd7
sar edx, 0xc
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
add ecx, dword [0x45cce0]
add ecx, eax
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push 0x44d2b8
lea ecx, [esi + ecx - 0x3ef21]
push ebx
mov dword [0x45ccd4], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x4112c7
mov ecx, dword [0x45ccd4]
mov edx, dword [0x45ccc8]
lea esi, [edx + ecx]
mov ecx, dword [0x45ccd8]
imul esi, esi, 0x26a94
mov eax, 0x950cb67f
imul ecx
add edx, ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov edx, ecx
imul edx, edx, 0x85c24
add esi, edx
mov eax, 0x60d8eff
imul ecx
sar edx, 0xd
mov ecx, edx
add esi, edx
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x45cce4]
mov eax, 0x9baa0995
imul esi
add edx, esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub ecx, eax
mov dword [0x45cce4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
jmp 0x4112cd
mov ecx, dword [0x45cce4]
mov esi, dword [0x45cccc]
mov edx, dword [0x45ccd0]
mov eax, dword [0x45ccdc]
lea edi, [edx + esi]
imul eax, eax, 0x3ef21
imul edi, edi, 0x6dec5
add edi, eax
mov eax, 0x1e9f4e3
imul ecx
sar edx, 0xc
add edi, edx
mov ebp, edx
mov eax, 0x9baa0995
imul ecx
add edx, ecx
sar edx, 0x13
shr ebp, 0x1f
mov ecx, edx
add ebp, edi
add ebp, edx
mov eax, 0x3ecaa423
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0xa0dd9
shr ecx, 0x1f
add ecx, ebp
sub ecx, eax
add ecx, edx
mov dword [0x45ccdc], ecx
push ebx
call fcn.00441947
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