Function at 0x4c1fc0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x890
mov eax, dword [0x5322a8]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, ecx
xor ecx, ecx
push 0xfe
push ecx
lea edx, [ebp - 0x24a]
push edx
mov dword [ebp - 0x888], eax
mov word [ebp - 0x24c], cx
call fcn.004e7d90
add esp, 0xc
xor eax, eax
push 0xfe
push eax
lea ecx, [ebp - 0x14a]
push ecx
mov word [ebp - 0x14c], ax
call fcn.004e7d90
add esp, 0xc
push 0x110
lea edx, [ebp - 0x760]
push 0
push edx
call fcn.004e7d90
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExW]
add esp, 0xc
lea eax, [ebp - 0x764]
push eax
mov dword [ebp - 0x764], 0x114
call edi
push 0x11c
lea ecx, [ebp - 0x884]
push 0
push ecx
call fcn.004e7d90
add esp, 0xc
lea edx, [ebp - 0x884]
push edx
mov dword [ebp - 0x884], 0x11c
call edi
cmp dword [ebp - 0x880], 6
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
jne 0x4c20bc
lea edx, [ebp - 0x14c]
lea ecx, [ebp - 0x24c]
call fcn.004aa5f0
xor eax, eax
jmp 0x4c20a0
movzx ecx, word [ebp + eax - 0x14c]
mov word [eax + 0x53bce0], cx
add eax, 2
test cx, cx
jne 0x4c20a0
jmp 0x4c215f
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x4c20f9
cmp al, 5
jne 0x4c20f9
lea ebx, [ebp - 0x14c]
lea ecx, [ebp - 0x24c]
call fcn.004aa150
xor eax, eax
movzx ecx, word [ebp + eax - 0x14c]
mov word [eax + 0x53bce0], cx
add eax, 2
test cx, cx
jne 0x4c20e0
jmp 0x4c215f
xor eax, eax
jmp 0x4c2100
movzx ecx, word [eax + str.Windows]
mov word [ebp + eax - 0x24c], cx
add eax, 2
test cx, cx
jne 0x4c2100
lea eax, [ebp - 0x750]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4c2120
sub eax, edx
sar eax, 1
je 0x4c215f
lea eax, [ebp - 0x750]
push eax
lea ecx, [ebp - 0x14c]
push str.___s_
push ecx
call edi
add esp, 0xc
lea edx, [ebp - 0x750]
push edx
push 0x527edc
push 0x53bce0
call edi
add esp, 0xc
xor eax, eax
movzx ecx, word [ebp + eax - 0x24c]
mov word [eax + 0x53bc20], cx
add eax, 2
test cx, cx
jne 0x4c2161
xor eax, eax
push 0x3e
push eax
lea ecx, [ebp - 0x4a]
push ecx
mov word [ebp - 0x4c], ax
call fcn.004e7d90
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
mov ecx, eax
and ecx, 0x3ff
add ecx, 0xfffffffc
cmp ecx, 0xe
ja case.0x4c21b1.5
movzx ecx, byte [ecx + 0x4c2408]
jmp dword [ecx*4 + 0x4c23f0]
shr eax, 0xa
dec eax
cmp eax, 4
ja case.default.0x4c21c5
jmp dword [eax*4 + 0x4c2418]
xor eax, eax
mov edi, edi
movzx ecx, word [eax + str.CHINESE_TRADITIONAL]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c21d0
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c21f0
movzx ecx, word [eax + str.CHINESE_SIMPLIFIED]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c21f0
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c2210
movzx ecx, word [eax + str.CHINESE_HONGKONG]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c2210
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c2230
movzx ecx, word [eax + str.CHINESE_SINGAPORE]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c2230
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c2250
movzx ecx, word [eax + str.CHINESE_MACAU]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c2250
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c2270
movzx ecx, word [eax + str.ENGLISH]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c2270
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c2290
movzx ecx, word [eax + str.JAPANESE]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c2290
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c22b0
movzx ecx, word [eax + str.KOREAN]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c22b0
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c22d0
movzx ecx, word [eax + str.FRENCH]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c22d0
jmp case.default.0x4c21c5
xor eax, eax
jmp 0x4c22f0
movzx ecx, word [eax + 0x51cd40]
mov word [ebp + eax - 0x4c], cx
add eax, 2
test cx, cx
jne 0x4c22f0
xor edx, edx
push 0x3fe
push edx
lea eax, [ebp - 0x64a]
push eax
mov word [ebp - 0x64c], dx
call fcn.004e7d90
lea eax, [ebp - 0x4c]
add esp, 0xc
lea edx, [eax + 2]
jmp 0x4c2330
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4c2330
sub eax, edx
sar eax, 1
je 0x4c2394
call fcn.004bc7d0
test eax, eax
je 0x4c236f
lea ecx, [ebp - 0x14c]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x64c]
push str._s_x64__t____s_s
push ecx
call edi
add esp, 0x14
jmp 0x4c23c3
lea edx, [ebp - 0x14c]
push edx
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x24c]
push ecx
lea edx, [ebp - 0x64c]
push str._s_t____s_s
push edx
call edi
add esp, 0x14
jmp 0x4c23c3
call fcn.004bc7d0
test eax, eax
lea eax, [ebp - 0x14c]
lea ecx, [ebp - 0x24c]
push eax
lea edx, [ebp - 0x64c]
push ecx
je 0x4c23b8
push str._s_x64__s
jmp 0x4c23bd
push 0x51cd34
push edx
call edi
add esp, 0x10
mov ebx, dword [ebp - 0x888]
push 0xcb
lea edi, [ebp - 0x64c]
call fcn.004c0b90
mov ecx, dword [ebp - 8]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004e3946
mov esp, ebp
pop ebp
ret