Function at 0x411860
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45ebd8]
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebcc]
sar edx, 0x13
push ebx
push ebp
push esi
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd4]
sar edx, 0x13
push edi
mov edi, edx
add esi, edx
mov eax, 0x7af682a5
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebe0]
imul edx, edx, 0x852b6
shr edi, 0x1f
add edi, esi
sub edi, eax
sub edi, edx
mov eax, 0x64ddc525
imul ecx
mov ecx, dword [0x45ebdc]
imul ecx, ecx, 0x14957d
sar edx, 0x12
mov eax, edx
add edi, edx
shr eax, 0x1f
add eax, edi
mov edi, dword [esp + 0x24]
lea edx, [esp + 0x18]
push edx
add eax, 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 0x411b7e
mov ecx, dword [0x45ebc8]
mov ebx, dword [0x45ebc4]
imul ebx, ebx, 0x6e773
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x13
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x98f19603
imul ecx
add edx, ecx
mov ecx, dword [0x45ebe0]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x7af682a5
imul ecx
mov ecx, dword [0x45ebdc]
sar edx, 0x12
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x7d19681
imul ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [0x45ebd4]
sar edx, 0xe
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0xaf53e355
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd0]
sar edx, 0x13
mov eax, edx
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x4adacc0f
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
push esi
mov dword [0x45ebcc], ebx
call fcn.004436b4
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x411b68
mov esi, dword [0x45ebc4]
mov edx, dword [0x45ebc8]
imul esi, esi, 0x1b5c14
mov eax, dword [0x45ebe8]
imul edx, edx, 0x852b6
mov ecx, dword [0x45ebdc]
imul eax, eax, 0xa26ed
sub esi, edx
add esi, eax
mov eax, 0x64ddc525
imul ecx
sar edx, 0x12
mov edi, edx
add esi, edx
mov eax, 0x2a9f6a15
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebe4]
shr edi, 0x1f
add edi, esi
sub edi, ecx
lea eax, [edi + edx + 0xbae55]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x14]
push edx
push 0x44f2c0
push ebx
mov dword [0x45ebd4], eax
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 0x411b0b
mov eax, 0x98f19603
imul ecx
add edx, ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x85097d5b
imul ebp
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov ecx, eax
mov eax, 0x7d19681
imul edi
sar edx, 0xe
add ecx, edx
mov eax, edx
mov edx, dword [0x45ebd8]
imul edx, edx, 0xa26ed
shr eax, 0x1f
add eax, ecx
sub eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x64ddc525
imul esi
mov eax, dword [esp + 0x14]
sar edx, 0x12
add eax, edx
mov ecx, edx
mov edx, dword [esp + 0x10]
shr ecx, 0x1f
add ecx, eax
mov eax, dword [0x45ebd4]
imul eax, eax, 0x180656
add ecx, eax
mov dword [0x45ebe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
mov eax, 0x98f19603
imul edi, edi, 0xbae55
imul ebp
add edx, ebp
sar edx, 0x13
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x4adacc0f
imul esi
imul esi, esi, 0x10a7ca
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebp, edi
sub ebp, eax
mov eax, 0x64ddc525
imul ecx
sar edx, 0x12
add ebp, esi
add ebp, edx
mov ecx, edx
mov edx, dword [0x45ebc8]
imul edx, edx, 0xf08a4
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
mov dword [0x45ebdc], ecx
push ebx
call fcn.004436b9
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