Function at 0x410ca0
Capabilities:
Get file version info

Disassembly:
sub esp, 0x10
mov eax, dword [0x45dbd4]
push ebx
push ebp
push esi
cdq
push edi
mov esi, eax
mov eax, dword [0x45dbd8]
push 2
mov edi, edx
cdq
push 0xbeb5aaf
push edx
xor ebx, ebx
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
call fcn.004305f0
mov ebp, eax
mov eax, dword [0x45dbcc]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
push 1
push 0xba7a7bcd
push edi
push esi
add ebp, eax
call fcn.004305f0
push 2
push 0x1b912b5c
push edi
push esi
sub ebp, eax
call fcn.004305f0
mov ecx, dword [0x45dbe0]
mov edi, dword [esp + 0x24]
imul ecx, ecx, 0x264da184
add ebp, eax
mov eax, dword [0x45dbdc]
imul eax, eax, 0x6d4760f7
lea edx, [esp + 0x18]
add ebp, eax
push edx
add ebp, ecx
push edi
mov dword [0x45dbc4], ebp
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebx
je 0x410f79
mov eax, dword [0x45dbc8]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov ebp, eax
mov eax, dword [0x45dbd8]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
sub ebp, eax
mov eax, dword [0x45dbe0]
push 1
cdq
push 0xba7a7bcd
push edx
push eax
call fcn.004305f0
add ebp, eax
mov eax, 0x1f64bb9f
mul dword [0x45dbd0]
mov ecx, dword [0x45dbd4]
shr edx, 0x1c
sub ebp, edx
mov eax, 0x9a168f41
mul dword [0x45dbdc]
mov eax, dword [0x45dbc4]
imul eax, eax, 0x1531b042
shr edx, 0x1f
add ebp, edx
sub ebp, eax
mov eax, 0x45291d0f
imul ecx
sar edx, 0x1d
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
push esi
mov dword [0x45dbcc], ecx
call fcn.00442184
add esp, 4
mov ebp, eax
push ebp
push esi
push ebx
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x410f70
mov eax, dword [0x45dbdc]
cdq
push 1
push 0x388a7f11
mov edi, edx
mov esi, eax
push edi
push esi
call fcn.004305f0
push 2
push 0x1b912b5c
push edi
push esi
mov dword [esp + 0x24], eax
call fcn.004305f0
mov edx, dword [0x45dbe8]
mov ecx, dword [esp + 0x14]
imul edx, edx, 0x1b912b5c
mov edi, dword [0x45dbe4]
sub eax, ecx
mov ecx, dword [0x45dbc4]
add eax, edx
imul ecx, ecx, 0x4f22272
mov edx, dword [0x45dbc8]
imul edx, edx, 0x264da184
add ecx, edi
add ecx, eax
lea eax, [edx + ecx + 0x7672ee00]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
push 0x44e2c0
push ebp
mov dword [0x45dbd4], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov ebx, dword [0x45dbc4]
mov edi, dword [0x45dbcc]
je 0x410f0b
mov eax, dword [0x45dbe4]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov dword [esp + 0x10], eax
mov eax, dword [0x45dbd0]
push 0xfffffffffffffffe
cdq
push 0x45858433
push edx
push eax
call fcn.004305f0
mov esi, eax
mov eax, dword [esp + 0x10]
sub esi, eax
push 2
mov eax, edi
cdq
push 0x1b912b5c
push edx
push eax
call fcn.004305f0
mov ecx, dword [0x45dbd4]
add esi, eax
imul ecx, ecx, 0x7114fe22
mov eax, 0x9a168f41
mul ebx
mov eax, dword [0x45dbd8]
imul eax, eax, 0x1b912b5c
shr edx, 0x1f
add esi, edx
mov edx, dword [esp + 0x14]
sub esi, eax
add esi, ecx
mov dword [0x45dbe4], esi
mov ax, word [edx + 0x14]
mov word [esp + 0x10], ax
jmp 0x410f11
mov esi, dword [0x45dbe4]
mov eax, dword [0x45dbd0]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov dword [esp + 0x1c], eax
push 2
mov eax, esi
cdq
push 0x1b912b5c
push edx
push eax
call fcn.004305f0
imul ebx, ebx, 0x7672ee00
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov eax, 0x1f64bb9f
mul edi
imul edi, edi, 0x74f4f79a
shr edx, 0x1c
sub ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3903276d
sub ecx, edx
add ecx, ebx
add ecx, edi
mov dword [0x45dbdc], ecx
push ebp
call fcn.00442189
add esp, 4
mov ax, word [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret