Function at 0x422a10
Capabilities:
Check if file exists
Check os version
Get file attributes

Disassembly:
sub esp, 0x74c
mov eax, dword [0x44a2b8]
xor eax, esp
mov dword [esp + 0x744], eax
push ebx
push ebp
push esi
push edi
push 0x11c
xor ebp, ebp
lea eax, [esp + 0x1c]
push ebp
push eax
call fcn.00429d70
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x1c], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x28], 2
jne 0x422a68
cmp dword [esp + 0x1c], 6
mov dword [0x44d6b8], 1
jae 0x422a6e
mov dword [0x44d6b8], ebp
mov dword [0x451d50], ebp
mov dword [0x44d8d0], 0x4225f0
call fcn.00405850
test eax, eax
je 0x422ace
cmp dword [0x451528], ebp
mov dword [esp + 0x10], ebp
je 0x422d74
mov eax, dword [0x45193c]
push 0x451d54
push ebp
push 0x4a
lea edx, [esp + 0x1c]
push eax
mov dword [0x451d54], 3
mov dword [0x451d58], 4
mov dword [0x451d5c], edx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x422d74
call fcn.004057e0
test eax, eax
je 0x422b1f
cmp dword [0x451528], ebp
mov dword [esp + 0x10], ebp
je 0x422d74
mov edx, dword [0x45193c]
push 0x451d54
push ebp
push 0x4a
lea ecx, [esp + 0x1c]
push edx
mov dword [0x451d54], 3
mov dword [0x451d58], 4
mov dword [0x451d5c], ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x422d74
push str.SysDirMicrosoft.Windows.GdiPlus
push 0x44cb80
push 0x441ab4
push 0x208
lea eax, [esp + 0x558]
push 0x104
push eax
call fcn.00425032
push 1
mov dword [0x44d8d0], ebp
call fcn.0041c200
add esp, 0x1c
push 0x442f50
push 0x45152c
mov dword [0x4514c8], ebp
mov dword [0x4514cc], ebp
call fcn.004255c9
add esp, 8
test eax, eax
je 0x422bb5
push 0x441b18
push 0x45152c
call fcn.004255c9
add esp, 8
test eax, eax
je 0x422bb5
push 0x45152c
push 0x441d18
push 0x208
push 0x104
push 0x44f018
call fcn.00425032
add esp, 0x14
call fcn.0041c010
jmp 0x422bba
call fcn.0041b6b0
lea ecx, [esp + 0x14]
push ecx
mov ebx, 0x44dd48
mov dword [esp + 0x18], 0x104
call fcn.0041be90
mov eax, ebx
add esp, 4
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x422be0
sub eax, edx
sar eax, 1
je 0x422c0d
movzx ecx, word [eax*2 + 0x44dd46]
cmp cx, 0x5c
je 0x422c05
cmp cx, 0x2f
jne 0x422c0d
mov word [eax*2 + 0x44dd46], bp
push ebp
mov ecx, 0x44dd48
call fcn.0040ec70
add esp, 4
test eax, eax
je 0x422d66
push 0x44f018
push 0x44dd48
call fcn.004255c9
add esp, 8
test eax, eax
je 0x422c4f
push ebp
mov ecx, 0x44f018
call fcn.0040ec70
add esp, 4
test eax, eax
je 0x422d66
push str.Bin_auclt.exe
call fcn.00422dd0
add esp, 4
push str.BinAuCommon.dll
call fcn.00422dd0
add esp, 4
push str.Bin_regdll.exe
call fcn.00422dd0
add esp, 4
call fcn.004192a0
push 1
push 1
push 1
call fcn.004225f0
add esp, 0xc
mov ebx, 0x450e98
call fcn.0041bc60
lea edi, [esp + 0x340]
mov esi, str.ProductCode
call fcn.0041ba50
push ebp
push ebp
mov ecx, edi
call fcn.004167a0
add esp, 8
test eax, eax
jne 0x422d66
call fcn.00422770
push str.QQCRM2.msi
push 0x44cb80
push 0x441ab4
push 0x208
lea edx, [esp + 0x148]
push 0x104
push edx
call fcn.00425032
add esp, 0x18
call fcn.0041bc00
lea eax, [esp + 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x422d66
test al, 0x10
jne 0x422d66
call fcn.0041d620
push ebp
xor ecx, ecx
lea esi, [esp + 0x13c]
call fcn.004166b0
add esp, 4
test eax, eax
push ebp
jne 0x422d67
mov dword [0x4514cc], ebp
mov dword [0x4514c8], ebp
call fcn.004159b0
add esp, 4
mov ebx, 1
call fcn.00415ac0
push ebx
push ebx
push ebx
call fcn.004225f0
add esp, 0xc
push 0x7530
mov eax, ebx
call fcn.00422d90
add esp, 4
push ebp
lea eax, [ebx + 1]
call fcn.00422d90
add esp, 4
mov eax, ebx
jmp 0x422d77
push ebp
mov eax, 3
call fcn.00422d90
add esp, 4
or eax, 0xffffffff
mov ecx, dword [esp + 0x754]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00424e88
add esp, 0x74c
ret