Function at 0x411210
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45cbcc]
push ebx
push ebp
push esi
mov esi, dword [0x45cbd4]
mov eax, 0x315a5211
imul esi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
push edi
mov edi, eax
mov eax, 0x315a5211
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x3575d9d
sub eax, edi
add eax, edx
mov edx, dword [0x45cbe8]
imul edx, edx, 0x5335ef4
add eax, edx
mov edi, eax
mov eax, 0x680c7cd1
imul esi
mov eax, ecx
sar edx, 0x19
imul eax, eax, 0x4e899b9
mov esi, edx
add edi, edx
shr esi, 0x1f
add esi, edi
mov edi, dword [esp + 0x24]
add esi, eax
mov eax, 0x83740ec5
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x18]
push edx
sub esi, ecx
xor ebp, ebp
xor ebx, ebx
push edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebx
mov dword [str._r_____r____], esi
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebp
je 0x411508
mov ecx, dword [0x45cbd4]
mov eax, 0x993c2c11
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe8]
mov ebx, eax
imul edx, edx, 0x5335ef4
sub ebx, edx
mov eax, 0x680c7cd1
imul ecx
mov ecx, dword [0x45cbe0]
imul ecx, ecx, 0x4e899b9
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
mov ecx, dword [0x45cbcc]
mov ebx, eax
mov eax, 0x74b32761
imul ecx
mov ecx, dword [0x45cbe4]
imul ecx, ecx, 0xfcfe96
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add eax, ebx
add eax, ecx
sub eax, edx
add eax, 0x456b154
push esi
mov dword [0x45cbcc], eax
call fcn.00441ed4
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x4114f2
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
mov esi, dword [0x45cbdc]
lea edi, [edx + ecx]
imul ecx, ecx, 0x4ebb783
mov eax, 0x680c7cd1
imul edi, edi, 0x3575d9d
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add eax, ecx
mov ecx, esi
imul ecx, ecx, 0x4e899b9
add eax, ecx
mov ecx, dword [0x45cbe0]
mov edi, eax
mov eax, 0x74b32761
imul esi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea edx, [edi + ecx - 0xfcfe96]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x14]
push ecx
push 0x44d2b8
push ebx
mov dword [0x45cbd4], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov ecx, dword [0x45cbe4]
je 0x411481
mov edx, dword [0x45cbd4]
mov eax, dword [0x45cbc8]
lea edi, [eax + edx]
mov esi, dword [str._r_____r____]
imul edi, edi, 0x23193db
mov eax, 0x315a5211
imul ecx
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3b012ec7
imul esi
imul esi, esi, 0x4ebb783
sar edx, 0x18
sub edi, ecx
mov ecx, edx
add edi, edx
shr ecx, 0x1f
add ecx, edi
mov edi, dword [0x45cbd8]
mov eax, 0x680c7cd1
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x83740ec5
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
add ecx, esi
sub ecx, eax
mov dword [0x45cbe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
mov esi, dword [0x45cbcc]
mov edx, dword [0x45cbd0]
lea edi, [edx + esi]
mov eax, 0x315a5211
imul edi, edi, 0x3e51956
imul ecx
sar edx, 0x18
add edi, edx
mov ebp, edx
mov eax, 0x993c2c11
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x222559d
shr ebp, 0x1f
add ebp, edi
sub ebp, eax
add ebp, edx
mov eax, 0x680c7cd1
imul ecx
mov ecx, dword [0x45cbdc]
imul ecx, ecx, 0xfcfe96
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
add eax, ecx
mov dword [0x45cbdc], eax
push ebx
call fcn.00441ed9
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