Function at 0x410eb0
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45cbcc]
mov edx, dword [0x45cbe8]
push ebx
imul edx, edx, 0x53439e
push esi
mov esi, dword [0x45cbd4]
push edi
mov edi, dword [0x45cbdc]
imul edi, edi, 0x63e546
mov eax, ecx
imul eax, eax, 0x5643ad
add edi, eax
add edi, edx
mov eax, 0x1b2eb4bf
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x1b2eb4bf
imul ecx
sar edx, 0x14
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x7a2fd6e1
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xa3c4e0d7
imul esi
add edx, esi
sar edx, 0x16
sub edi, ecx
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
xor ebx, ebx
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ebx
mov dword [str._r_____r____], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
test esi, esi
je 0x4111b3
mov ecx, dword [0x45cbd4]
mov eax, 0x2900b7f9
imul ecx
mov eax, dword [0x45cbe0]
sar edx, 0x14
imul eax, eax, 0x5643ad
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0x41d422
add ebx, edx
mov edx, dword [0x45cbe8]
add ebx, eax
imul edx, edx, 0x53439e
sub ebx, edx
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
mov ecx, dword [0x45cbcc]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, eax
mov eax, 0x4f7fd81
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add eax, ebx
sub eax, edx
add eax, 0x41fb8b
push esi
mov dword [0x45cbcc], eax
call fcn.00441a74
add esp, 4
mov ebx, eax
push ebx
push esi
push 0
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x41119e
mov esi, dword [0x45cbdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x640b17
imul edi, edi, 0x63e546
mov eax, esi
imul eax, eax, 0x5643ad
add edi, eax
mov eax, 0xa3c4e0d7
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
add eax, ecx
mov edi, eax
mov eax, 0x4f7fd81
imul esi
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbe0]
sub edi, ecx
lea eax, [edi + edx - 0x41d422]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x10]
push edx
push 0x44d2c0
push ebx
mov dword [0x45cbd4], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x411128
mov eax, dword [0x45cbd4]
mov ecx, dword [0x45cbc8]
mov esi, dword [str._r_____r____]
lea edi, [ecx + eax]
mov eax, 0x3e13b50f
imul edi, edi, 0x670b79
imul esi
imul esi, esi, 0x640b17
sar edx, 0x14
add edi, edx
mov ecx, edx
mov edx, dword [0x45cbe4]
mov eax, 0x1b2eb4bf
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ecx, 0x1f
add ecx, edi
mov edi, dword [0x45cbd8]
sub ecx, eax
mov eax, 0x7a2fd6e1
imul edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xa3c4e0d7
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0xc]
sub ecx, eax
add ecx, esi
mov dword [0x45cbe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x10], ax
jmp 0x41112e
mov ecx, dword [0x45cbe4]
mov edx, dword [0x45cbcc]
mov eax, dword [0x45cbd0]
lea esi, [eax + edx]
mov eax, 0x2900b7f9
imul esi, esi, 0x8616f6
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
sub esi, eax
imul edx, edx, 0x41d422
mov eax, dword [0x45cbe0]
imul eax, eax, 0x85c28b
add esi, edx
add esi, eax
mov eax, 0x1b2eb4bf
imul ecx
sar edx, 0x14
add esi, edx
mov edi, edx
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
shr edi, 0x1f
sar edx, 0x16
add edi, esi
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
mov dword [0x45cbdc], ecx
push ebx
call fcn.00441a79
mov ax, word [esp + 0x14]
add esp, 4
pop edi
pop esi
pop ebx
add esp, 0x10
ret
pop edi
pop esi
mov ax, bx
pop ebx
add esp, 0x10
ret