Function at 0x422e60
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x21c]
sub esp, 0x21c
push 0xfffffffffffffffe
push 0x4a7ca0
push 0x458290
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x4afa68]
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 [0x49ded0]
mov dword [ebp + 0x210], edx
mov ax, word [0x49ded4]
mov word [ebp + 0x214], ax
mov cl, byte [0x49ded6]
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.00457ee0
add esp, 0xc
test ebx, ebx
jne 0x422f0f
lea eax, [ebx + 0x57]
jmp 0x423076
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 0x422f47
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp + 0x20c]
push edx
push 0x49ded8
push eax
push 2
push 0x627
jmp 0x423052
push ebx
call fcn.00451423
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x422f72
mov dword [ebp - 0x1c], 8
push ebx
push 0x49de1c
push 8
push 2
push 0x62f
jmp 0x423055
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 0x423038
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 0x49ac28
mov ecx, dword [ebp - 0x20]
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x422fbe
cmp dword [ebp - 0x30], ebx
je 0x422fbe
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.004523c4
add esp, 0x14
mov edi, dword [ebp - 0x34]
cmp edi, ebx
je 0x423021
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, ebx
jbe 0x423021
lea eax, [ebp]
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x422ff0
sub eax, esi
inc eax
cmp eax, edx
jbe 0x423002
mov eax, edx
jmp 0x423012
lea eax, [ebp]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423008
sub eax, esi
inc eax
push eax
lea ecx, [ebp]
push ecx
push edx
push edi
call fcn.00451366
add esp, 0x10
lea eax, [ebp]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423027
sub eax, edx
inc eax
mov edx, dword [ebp - 0x28]
mov dword [edx], eax
jmp 0x423067
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp + 0x20c]
push ecx
push 0x49df04
push eax
push 2
push 0x642
mov dword [ebp - 0x1c], eax
push str..YWAssistant.c
push str.B_GetVersion
call fcn.00423ef0
add esp, 0x1c
mov dword [ebp - 4], 0xfffffffe
call fcn.0042309b
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.004512da
add ebp, 0x21c
mov esp, ebp
pop ebp
ret