Function at 0x421a60
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x21c]
sub esp, 0x21c
push 0xfffffffffffffffe
push 0x4a5788
push 0x457150
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 [0x49bc58]
mov dword [ebp + 0x210], edx
mov ax, word [0x49bc5c]
mov word [ebp + 0x214], ax
mov cl, byte [0x49bc5e]
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.00456da0
add esp, 0xc
test ebx, ebx
jne 0x421b0f
lea eax, [ebx + 0x57]
jmp 0x421c76
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 0x421b47
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp + 0x20c]
push edx
push 0x49bc60
push eax
push 2
push 0x627
jmp 0x421c52
push ebx
call fcn.004500fb
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x421b72
mov dword [ebp - 0x1c], 8
push ebx
push 0x49bbe0
push 8
push 2
push 0x62f
jmp 0x421c55
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 0x421c38
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 0x498ad0
mov ecx, dword [ebp - 0x20]
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x421bbe
cmp dword [ebp - 0x30], ebx
je 0x421bbe
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.0045109c
add esp, 0x14
mov edi, dword [ebp - 0x34]
cmp edi, ebx
je 0x421c21
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, ebx
jbe 0x421c21
lea eax, [ebp]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421bf0
sub eax, esi
inc eax
cmp eax, edx
jbe 0x421c02
mov eax, edx
jmp 0x421c12
lea eax, [ebp]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421c08
sub eax, esi
inc eax
push eax
lea ecx, [ebp]
push ecx
push edx
push edi
call fcn.0045003e
add esp, 0x10
lea eax, [ebp]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x421c27
sub eax, edx
inc eax
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
jmp 0x421c67
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x20c]
push ecx
push 0x49bc8c
push eax
push 2
push 0x642
mov dword [ebp - 0x1c], eax
push str..YWAssistant.c
push str.B_GetVersion
call fcn.00422520
add esp, 0x1c
mov dword [ebp - 4], 0xfffffffe
call fcn.00421c9b
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.0044ffb2
add ebp, 0x21c
mov esp, ebp
pop ebp
ret