Function at 0x40892f
Capabilities:
Check os version

Disassembly:
push 0x324
mov eax, 0x4359c7
call fcn.00433cb0
push 1
mov edi, ecx
call sub.MFC80U.DLL_Ordinal_6232
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_void_]
lea ecx, [ebp - 0x324]
call esi
mov eax, dword [edi + 0x3d0]
and dword [ebp - 4], 0
cmp eax, 1
jne 0x40896b
push str.IDS_SKIN_KIP
jmp 0x408991
cmp eax, 2
jne 0x408977
push str.IDS_SCENE_CIP
jmp 0x408991
cmp eax, 3
jne 0x408983
push str.IDS_EMOTION_EIP
jmp 0x408991
cmp eax, 4
jne 0x408acd
push str.IDS_EMOTION_CFC
call fcn.00402cfb
pop ecx
push eax
lea ecx, [ebp - 0x324]
call dword [0x43a068]
mov esi, dword [sym.imp.Common.dll_public:_wchar_t_const____thiscall_CTXStringW::operator_wchar_t_const__void_const]
push 0
push edi
lea ecx, [ebp - 0x324]
lea ebx, [edi + 0x3b4]
call esi
push eax
push 0x1004
mov ecx, ebx
call esi
push eax
push 0
push 0
lea ecx, [ebp - 0x31c]
call sub.MFC80U.DLL_Ordinal_385
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x4089f4
cmp al, 5
mov dword [ebp - 0x320], 0x58
jae 0x4089fe
mov dword [ebp - 0x320], 0x4c
lea ecx, [ebp - 0x31c]
call sub.MFC80U.DLL_Ordinal_3050
mov ecx, dword [ebp - 0x320]
mov dword [eax], ecx
lea ecx, [ebp - 0x31c]
call sub.MFC80U.DLL_Ordinal_2012
cmp eax, 1
jne 0x408ac9
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x31c]
call sub.MFC80U.DLL_Ordinal_3082
mov ecx, eax
mov byte [ebp - 4], 4
call dword [sym.imp.MFC80U.DLL_Ordinal_870]
push eax
lea ecx, [ebp - 0x320]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::constructor_wchar_t_const__]
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 6
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea ecx, [ebp - 0x320]
call esi
push eax
mov ecx, ebx
call dword [sym.imp.Common.dll_public:_int___thiscall_CTXStringW::CompareNoCase_wchar_t_const__const]
test eax, eax
je 0x408a84
lea eax, [ebp - 0x320]
push eax
mov ecx, ebx
call dword [sym.imp.Common.dll_public:_class_CTXStringW____thiscall_CTXStringW::operator_class_CTXStringW_const__]
push 0
mov ecx, edi
call sub.MFC80U.DLL_Ordinal_6232
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 3
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
xor esi, esi
inc esi
lea ecx, [ebp - 0x31c]
mov byte [ebp - 4], 0
call sub.MFC80U.DLL_Ordinal_630
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x324]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
mov eax, esi
call fcn.00433d33
ret 4
xor esi, esi
jmp 0x408aa0
cmp eax, 5
jne 0x408ae7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x324]
call dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
xor eax, eax
inc eax
jmp 0x408ac1
lea ecx, [ebp - 0x32c]
call esi
push str.IDS_FILEFORMAT_MISTAKE
mov byte [ebp - 4], 1
call fcn.00402cfb
mov edi, dword [reloc.Common.dll___4CTXStringW__QAEAAV0_PB_W_Z]
pop ecx
push eax
lea ecx, [ebp - 0x32c]
call edi
lea ecx, [ebp - 0x328]
call esi
push str.IDS_MISTAKE
mov byte [ebp - 4], 2
call fcn.00402cfb
pop ecx
push eax
lea ecx, [ebp - 0x328]
call edi
mov esi, dword [sym.imp.Common.dll_public:_void___thiscall_CTXStringW::destructor_void_]
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 1
call esi
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0
call esi
xor esi, esi
jmp 0x408aaf