Function at 0x405a70
Capabilities:
Get file version info

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov ecx, dword [0x43e2c0]
mov edx, dword [0x43e2c4]
mov esi, ecx
mov eax, 0x6445fc6d
imul esi, esi, 0x946b47
imul edx
mov eax, dword [0x43e2c8]
imul eax, eax, 0x754f74
sar edx, 0x14
add esi, edx
mov ebx, edx
mov edx, dword [0x43e2bc]
imul edx, edx, 0x753dc2
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x43e2d0]
add ebx, eax
add ebx, edx
mov eax, 0x321c7f55
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edi, dword [str._r_____r____]
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x278a52fb
imul ecx
sar edx, 0x14
mov ecx, edx
add ebx, edx
mov edx, dword [0x43e2cc]
imul edx, edx, 0x3493ae
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov eax, 0x51e0e37b
imul edi
mov edi, dword [esp + 0x28]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
mov dword [0x43e2dc], ecx
lea ecx, [esp + 0x18]
push ecx
xor ebp, ebp
push edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ebp
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
test esi, esi
je 0x405e70
mov ecx, dword [0x43e2c8]
mov edx, dword [0x43e2c0]
imul edx, edx, 0x754f74
mov ebx, ecx
imul ebx, ebx, 0x28d92c
add ebx, edx
mov eax, 0x321c7f55
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x43e2d8]
sub ebx, eax
mov eax, edx
imul eax, eax, 0x643bbd
sub ebx, eax
mov eax, dword [0x43e2d4]
imul eax, eax, 0x302f8a
add ebx, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
mov ecx, dword [0x43e2cc]
sar edx, 0x15
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x76a10fbd
imul ecx
imul ecx, ecx, 0x330379
mov eax, dword [esp + 0x10]
sar edx, 0x15
add eax, edx
mov ebx, edx
mov edx, dword [str._r_____r____]
shr ebx, 0x1f
add ebx, eax
mov eax, 0x51e0e37b
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
sub ebx, ecx
sub ebx, 0x28d92c
push esi
mov dword [0x43e2d4], ebx
call fcn.004282d4
add esp, 4
mov ebx, eax
push ebx
push esi
push ebp
push edi
mov dword [esp + 0x30], ebx
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x405e67
mov esi, dword [0x43e2bc]
mov ebp, dword [0x43e2d8]
mov eax, 0x6445fc6d
imul ebp, ebp, 0x28d92c
imul esi
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x43e2c8]
imul edx, edx, 0x754f74
mov edi, dword [0x43e2c0]
sub ebp, ecx
mov ecx, dword [0x43e2d0]
add ebp, edx
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x3493ae
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, edi
imul edx, edx, 0x643bbd
mov eax, esi
imul esi, esi, 0x450e38
imul eax, eax, 0x302f8a
sub ebp, edx
mov edx, dword [str._r_____r____]
add ebp, eax
mov eax, 0x65c6b7f9
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x278a52fb
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
xor eax, eax
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
add ecx, edi
lea eax, [esp + 0x14]
push eax
add ecx, ebp
push 0x43304c
lea ecx, [esi + ecx + 0x450e38]
push ebx
mov dword [0x43e2cc], ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
mov edi, dword [0x43e2d0]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x43e2d8]
mov ecx, dword [0x43e2bc]
je 0x405dc4
mov edx, ecx
imul edx, edx, 0x28d92c
mov ebp, ebx
sub ebp, esi
imul ebp, ebp, 0x754f74
add ebp, edx
mov esi, dword [0x43e2cc]
mov eax, 0x321c7f55
imul ecx
imul ecx, ecx, 0x302f8a
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov edx, esi
imul esi, esi, 0x3493ae
imul edx, edx, 0x643bbd
add ebp, edx
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebp, ecx
mov ecx, dword [0x43e2d4]
sub ebp, eax
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
add eax, esi
mov ebp, eax
mov esi, dword [str._r_____r____]
mov eax, 0x51e0e37b
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub ebp, eax
lea ecx, [ecx + ebp - 0x643bbd]
mov dword [0x43e2bc], ecx
mov ax, word [edx + 0x14]
mov word [esp + 0x14], ax
mov edx, dword [0x43e2c0]
imul ecx, ecx, 0x753dc2
imul ebx, ebx, 0x3493ae
mov eax, 0x6445fc6d
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x754f74
mov ebp, edi
imul ebp, ebp, 0x946b47
sub ebp, eax
sub ebp, edx
mov eax, 0x321c7f55
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebp, ecx
sub ebp, eax
mov eax, 0x65c6b7f9
imul edi
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x278a52fb
imul esi
sar edx, 0x14
sub ebp, ecx
mov ecx, dword [0x43e2c4]
add ebp, edx
mov esi, edx
mov eax, 0x9bcf58cb
imul ecx
add edx, ecx
sar edx, 0x15
shr esi, 0x1f
add esi, ebp
mov ebp, dword [esp + 0x14]
mov eax, edx
shr eax, 0x1f
add esi, ebx
mov ebx, dword [esp + 0x20]
add eax, edx
sub esi, eax
sub esi, 0x643bbd
mov dword [0x43e2c4], esi
push ebx
call fcn.004282d9
add esp, 4
pop edi
pop esi
mov ax, bp
pop ebp
pop ebx
add esp, 0x14
ret