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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2cc
mov eax, dword [0x2e049994]
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.2e02fe39
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 0x2e02308e
lea eax, [ebp - 0x2c0]
push eax
mov dword [ebp - 0x2c0], 0x94
call esi
test eax, eax
jne 0x2e023087
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x2cc]
call fcn.2e00e813
mov eax, dword [eax]
mov dword [ebp - 0x2c8], eax
push 0x2e041f6c
lea eax, [ebp - 0x2c8]
push eax
call fcn.2e02ee42
mov byte [ebp - 0x2c1], 0
mov eax, dword [ebp - 0x2bc]
imul eax, eax, 0x64
add eax, dword [ebp - 0x2b8]
mov esi, 0x2e001940
push eax
push esi
mov dword [edi + 0x44], eax
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e7b5
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push 0x2e007924
mov ecx, edi
call fcn.2e021a56
mov eax, dword [ebp - 0x2b0]
dec eax
mov ecx, edi
je 0x2e0230e1
dec eax
je 0x2e0230da
push 0x2e007914
jmp 0x2e0230e6
push 0x2e007908
jmp 0x2e0230e6
push 0x2e0078fc
push 0x2e0078d8
call fcn.2e021a56
cmp byte [ebp - 0x2c1], 0
je 0x2e023122
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.2e00e7b5
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
jmp 0x2e023127
push 0x2e001534
push 0x2e0078b8
mov ecx, edi
call fcn.2e021a56
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
push eax
push esi
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e7b5
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push 0x2e007890
mov ecx, edi
call fcn.2e021a56
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
push eax
push esi
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
call fcn.2e00e7b5
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push 0x2e00786c
mov ecx, edi
call fcn.2e021a56
call dword [0x2e04977c]
test al, al
mov eax, 0x2e001670
jne 0x2e023199
mov eax, 0x2e0020c0
push eax
push 0x2e007848
mov ecx, edi
call fcn.2e021a56
call dword [0x2e049784]
test eax, eax
je 0x2e0231d6
cmp eax, 6
je 0x2e0231cf
cmp eax, 9
je 0x2e0231c8
cmp eax, 0xffff
jne 0x2e0231e7
push 0x2e007914
jmp 0x2e0231db
push 0x2e007840
jmp 0x2e0231db
push 0x2e007834
jmp 0x2e0231db
push 0x2e00782c
push 0x2e007800
mov ecx, edi
call fcn.2e021a56
mov esi, 0x104
push esi
lea eax, [ebp - 0x224]
push eax
push 0
call dword [0x2e049760]
test eax, eax
je 0x2e023247
cmp eax, esi
je 0x2e023247
lea eax, [ebp - 0x224]
push eax
push 0x2e0077d8
mov ecx, edi
call fcn.2e021a56
push 0x2e0077d0
push 0x2e0077b8
mov ecx, edi
call fcn.2e022d3e
push 0x2e00237c
push 0x2e007794
mov ecx, edi
call fcn.2e022d3e
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.2e02f7a3
leave
ret
mov esi, 0x2e0494f0
push 0x2e005ee0
mov ecx, esi
call fcn.2e025e3a
push 0x2e0012a4
mov ecx, esi
call fcn.2e025e3a
push 0x7b
jmp 0x2e023063