Function at 0x2e022243
Capabilities:
Check os version
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2cc
mov eax, dword [0x2e048994]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov esi, 0x9c
push esi
lea eax, [ebp - 0x2c0]
push 0
push eax
mov edi, ecx
mov byte [ebp - 0x2c1], 1
call fcn.2e02ec1d
add esp, 0xc
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x2c0], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
push eax
call esi
test eax, eax
jne 0x2e0222da
lea eax, [ebp - 0x2c0]
push eax
mov dword [ebp - 0x2c0], 0x94
call esi
test eax, eax
jne 0x2e0222d3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x2cc]
call fcn.2e00e64b
mov eax, dword [eax]
mov dword [ebp - 0x2c8], eax
push 0x2e040994
lea eax, [ebp - 0x2c8]
push eax
call fcn.2e02dc28
mov byte [ebp - 0x2c1], 0
mov eax, dword [ebp - 0x2bc]
imul eax, eax, 0x64
add eax, dword [ebp - 0x2b8]
mov esi, 0x2e001930
push eax
push esi
mov dword [edi + 0x44], eax
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e5ed
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push 0x2e0075c4
mov ecx, edi
call fcn.2e020ca3
mov eax, dword [ebp - 0x2b0]
dec eax
mov ecx, edi
je 0x2e02232d
dec eax
je 0x2e022326
push 0x2e0075b4
jmp 0x2e022332
push 0x2e0075a8
jmp 0x2e022332
push 0x2e00759c
push 0x2e007578
call fcn.2e020ca3
cmp byte [ebp - 0x2c1], 0
je 0x2e02236e
movzx eax, word [ebp - 0x22c]
movzx ecx, word [ebp - 0x22a]
imul eax, eax, 0x64
add eax, ecx
push eax
push esi
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e5ed
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
jmp 0x2e022373
push 0x2e001524
push 0x2e007558
mov ecx, edi
call fcn.2e020ca3
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
push eax
push esi
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e5ed
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push 0x2e007530
mov ecx, edi
call fcn.2e020ca3
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
push eax
push esi
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e5ed
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push 0x2e00750c
mov ecx, edi
call fcn.2e020ca3
call dword [0x2e04877c]
test al, al
mov eax, 0x2e001660
jne 0x2e0223e5
mov eax, 0x2e0020b0
push eax
push 0x2e0074e8
mov ecx, edi
call fcn.2e020ca3
call dword [0x2e048784]
test eax, eax
je 0x2e022422
cmp eax, 6
je 0x2e02241b
cmp eax, 9
je 0x2e022414
cmp eax, 0xffff
jne 0x2e022433
push 0x2e0075b4
jmp 0x2e022427
push 0x2e0074e0
jmp 0x2e022427
push 0x2e0074d4
jmp 0x2e022427
push 0x2e0074cc
push 0x2e0074a0
mov ecx, edi
call fcn.2e020ca3
mov esi, 0x104
push esi
lea eax, [ebp - 0x224]
push eax
push 0
call dword [0x2e048760]
test eax, eax
je 0x2e022493
cmp eax, esi
je 0x2e022493
lea eax, [ebp - 0x224]
push eax
push 0x2e007478
mov ecx, edi
call fcn.2e020ca3
push 0x2e007470
push 0x2e007458
mov ecx, edi
call fcn.2e021f8d
push 0x2e00236c
push 0x2e007434
mov ecx, edi
call fcn.2e021f8d
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.2e02e587
leave
ret
mov esi, 0x2e0484f0
push 0x2e005b80
mov ecx, esi
call fcn.2e0250a7
push 0x2e001294
mov ecx, esi
call fcn.2e0250a7
push 0x7b
jmp 0x2e0222af