Function at 0x411910
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov ecx, dword [0x45ebd4]
mov eax, 0x4be59407
imul ecx
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
push ebp
push esi
mov esi, eax
mov eax, 0x2e45b009
imul ecx
sar edx, 0x1b
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebe0]
imul edx, edx, 0x15c6babc
sub esi, ecx
mov ecx, dword [0x45ebd8]
sub esi, edx
mov eax, 0x9c5fe915
imul ecx
add edx, ecx
mov ecx, dword [0x45ebcc]
push edi
sar edx, 0x1d
mov edi, edx
add esi, edx
mov eax, 0x9c5fe915
imul ecx
add edx, ecx
mov ecx, dword [0x45ebdc]
imul ecx, ecx, 0x3e20adb7
sar edx, 0x1d
shr edi, 0x1f
mov eax, edx
add edi, esi
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 0x411c37
mov ecx, dword [0x45ebdc]
mov ebx, dword [0x45ebc4]
imul ebx, ebx, 0x31136cfe
mov eax, 0xc09944a7
imul ecx
add edx, ecx
mov ecx, dword [0x45ebd0]
sar edx, 0x1c
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x273a7861
imul ecx
mov ecx, dword [0x45ebe0]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x2e45b009
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x1b
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x9c5fe915
imul ecx
mov eax, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [0x45ebd8]
sar edx, 0x1d
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0x9c5fe915
imul ecx
add edx, ecx
sar edx, 0x1d
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x45ebd4]
mov eax, 0x56a9121b
imul ecx
sar edx, 0x1a
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
push esi
mov dword [0x45ebcc], eax
call fcn.004437d4
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x411c21
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebe8]
mov eax, 0x4be59407
imul esi, esi, 0x35f7d09c
imul ecx
sar edx, 0x1c
mov edi, edx
add esi, edx
mov eax, 0x83008757
imul ecx
mov eax, dword [0x45ebc4]
add edx, ecx
imul eax, eax, 0x1a1a8172
sar edx, 0x1c
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ebc8]
imul edx, edx, 0x15c6babc
shr edi, 0x1f
add edi, esi
sub edi, ecx
mov ecx, dword [0x45ebe4]
sub edi, edx
add edi, ecx
lea ecx, [eax + edi + 0xbd0f4c0]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14]
push eax
push 0x44f2c0
push ebx
mov dword [0x45ebd4], ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov esi, dword [0x45ebc4]
mov ebp, dword [0x45ebcc]
je 0x411bb6
mov ecx, dword [0x45ebd8]
mov eax, 0x4be59407
imul ecx, ecx, 0x35f7d09c
imul ebp
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xc09944a7
imul esi
add edx, esi
sar edx, 0x1c
sub edi, ecx
add edi, edx
mov ecx, edx
mov edx, dword [0x45ebd4]
imul edx, edx, 0x3e888aa2
shr ecx, 0x1f
add ecx, edi
mov edi, dword [0x45ebe4]
add ecx, edx
mov eax, 0x2e45b009
imul dword [0x45ebd0]
sar edx, 0x1b
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x9c5fe915
imul edi
add edx, edi
sar edx, 0x1d
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub ecx, eax
mov dword [0x45ebe4], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
jmp 0x411bbc
mov ecx, dword [0x45ebe4]
mov eax, 0x4be59407
imul esi, esi, 0xbd0f4c0
imul ecx
sar edx, 0x1c
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45ebc8]
imul edx, edx, 0x2d80f713
mov ecx, ebp
imul ecx, ecx, 0x5885071a
add edi, ecx
mov ecx, dword [0x45ebd0]
add edi, edx
mov eax, 0x273a7861
imul ebp
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9c5fe915
imul ecx
add edx, ecx
sar edx, 0x1d
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
add ecx, esi
mov dword [0x45ebdc], ecx
push ebx
call fcn.004437d9
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