Function at 0x4217f0
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x21c]
sub esp, 0x21c
push 0xfffffffffffffffe
push 0x4a57c0
push 0x456f50
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x4ada68]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x218], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x224]
mov dword [ebp - 0x34], eax
mov ebx, ecx
mov dword [ebp - 0x28], ebx
xor esi, esi
mov dword [ebp - 0x1c], esi
mov ecx, dword [str.mshtml.dll]
mov dword [ebp + 0x20c], ecx
mov edx, dword [0x49bc90]
mov dword [ebp + 0x210], edx
mov ax, word [0x49bc94]
mov word [ebp + 0x214], ax
mov cl, byte [0x49bc96]
mov byte [ebp + 0x216], cl
xor edi, edi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], esi
mov byte [ebp], 0
push 0x208
push esi
lea edx, [ebp + 1]
push edx
call fcn.00456ba0
add esp, 0xc
test ebx, ebx
jne 0x42189f
lea eax, [ebx + 0x57]
jmp 0x421a06
mov dword [ebp - 4], esi
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp + 0x20c]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov ebx, eax
test ebx, ebx
jne 0x4218d7
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp + 0x20c]
push edx
push 0x49bc98
push eax
push 2
push 0x627
jmp 0x4219e2
push ebx
call fcn.0044fefb
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x421902
mov dword [ebp - 0x1c], 8
push ebx
push 0x49bc18
push 8
push 2
push 0x62f
jmp 0x4219e5
push eax
push ebx
mov eax, dword [ebp - 0x2c]
push eax
lea ecx, [ebp + 0x20c]
push ecx
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x4219c8
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], ebx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x24]
push eax
push 0x498ac8
mov ecx, dword [ebp - 0x20]
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x42194e
cmp dword [ebp - 0x30], ebx
je 0x42194e
mov eax, dword [ebp - 0x24]
movzx esi, word [eax + 0xa]
movzx edi, word [eax + 8]
push edi
push esi
push str.Internet_Explorer__d._d
push 0x208
lea edx, [ebp]
push edx
call fcn.00450e9c
add esp, 0x14
mov edi, dword [ebp - 0x34]
cmp edi, ebx
je 0x4219b1
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, ebx
jbe 0x4219b1
lea eax, [ebp]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421980
sub eax, esi
inc eax
cmp eax, edx
jbe 0x421992
mov eax, edx
jmp 0x4219a2
lea eax, [ebp]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421998
sub eax, esi
inc eax
push eax
lea ecx, [ebp]
push ecx
push edx
push edi
call fcn.0044fe3e
add esp, 0x10
lea eax, [ebp]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4219b7
sub eax, edx
inc eax
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
jmp 0x4219f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x20c]
push ecx
push 0x49bcc4
push eax
push 2
push 0x642
mov dword [ebp - 0x1c], eax
push str..YWAssistant.c
push str.B_GetVersion
call fcn.004222b0
add esp, 0x1c
mov dword [ebp - 4], 0xfffffffe
call fcn.00421a2b
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x218]
xor ecx, ebp
call fcn.0044fdb2
add ebp, 0x21c
mov esp, ebp
pop ebp
ret