Function at 0x410f30
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45cbcc]
mov eax, 0x98eb62a3
imul ecx
add edx, ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
push ebp
push esi
mov esi, dword [0x45cbd4]
push edi
mov edi, dword [0x45cbe8]
mov edx, ecx
imul edi, edi, 0x857ee
imul edx, edx, 0x898dd
sub edi, eax
add edi, edx
mov eax, 0x220de0d
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x220de0d
imul ecx
sar edx, 0xd
add edi, edx
mov ecx, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0xa0576
shr ecx, 0x1f
add ecx, edi
mov edi, dword [esp + 0x24]
add ecx, edx
mov eax, 0x331da7cd
imul esi
sar edx, 0x11
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, 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
mov dword [str._r_____r____], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebp
je 0x41122c
mov ecx, dword [0x45cbcc]
mov ebx, dword [0x45cbe8]
mov eax, 0x63b1cbb5
imul ebx, ebx, 0x857ee
imul ecx
mov ecx, dword [0x45cbe4]
sar edx, 0x12
imul ecx, ecx, 0x69fe2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe0]
sub eax, ebx
imul edx, edx, 0x898dd
add eax, ecx
mov ecx, dword [0x45cbd4]
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x662e995b
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0x12
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x331da7cd
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, 0x6a03b
push esi
mov dword [0x45cbcc], eax
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 0x411216
mov esi, dword [0x45cbdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0xa0437
mov eax, 0x63b1cbb5
imul edi, edi, 0xa0576
imul esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x898dd
sub edi, eax
add edi, edx
mov eax, 0x331da7cd
imul esi
mov esi, dword [0x45cbe0]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, esi
add eax, edi
lea ecx, [ecx + eax - 0x69fe2]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push 0x44d2c0
push ebx
mov dword [0x45cbd4], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x4111a1
mov ecx, dword [0x45cbd4]
mov edx, dword [0x45cbc8]
mov edi, dword [0x45cbd8]
lea ebp, [edx + ecx]
mov esi, dword [str._r_____r____]
imul ebp, ebp, 0xa4579
mov eax, 0x98eb62a3
imul edi
add edx, edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x9a8b8787
imul esi
add edx, esi
imul esi, esi, 0xa0437
sar edx, 0x12
add ebp, edx
mov ecx, edx
mov edx, dword [0x45cbe4]
mov eax, 0x220de0d
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ecx, 0x1f
add ecx, ebp
sub ecx, eax
mov eax, 0x331da7cd
imul edi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub ecx, eax
add ecx, esi
mov dword [0x45cbe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
jmp 0x4111a7
mov ecx, dword [0x45cbe4]
mov esi, dword [0x45cbcc]
mov edx, dword [0x45cbd0]
mov eax, dword [0x45cbe0]
lea edi, [edx + esi]
imul eax, eax, 0xd5e3b
mov edx, dword [0x45cbdc]
imul edi, edi, 0xd6486
imul edx, edx, 0x69fe2
add edi, eax
add edi, edx
mov eax, 0x220de0d
imul ecx
sar edx, 0xd
add edi, edx
mov ebp, edx
mov eax, 0x662e995b
imul esi
sar edx, 0x12
mov eax, edx
shr ebp, 0x1f
shr eax, 0x1f
add eax, edx
add ebp, edi
sub ebp, eax
mov eax, 0x331da7cd
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
mov dword [0x45cbdc], 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