Function at 0x40a960
Capabilities:
Create pipe
Get common file path
Get geographical location
Identify system language via api
Manipulate console buffer
Set console window title
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x40bf7b
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x44f07c]
xor eax, esp
mov dword [esp + 0x870], eax
push ebx
push esi
push edi
mov eax, dword [0x44f07c]
xor eax, esp
push eax
lea eax, [esp + 0x888]
mov dword fs:[0], eax
mov edx, dword [0x2b764d4]
xor ebx, ebx
cmp edx, 0x7c
jne 0x40aa24
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push ebx
call dword [sym.imp.KERNEL32.dll_FindAtomA]
push ebx
call dword [sym.imp.KERNEL32.dll_LocalUnlock]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
cmp dword [0x2b764d4], 0x2d
jne 0x40a9ff
push ebx
push ebx
push ebx
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
push ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.00401caa
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
call fcn.00401120
mov edx, dword [0x2b764d4]
mov ecx, dword [0x450d80]
xor eax, eax
mov edi, 0xec58acac
or esi, 0xffffffff
cmp eax, 0x8450db
jne 0x40aa41
lea edx, [ecx + 0xa231]
cmp edx, 0x141
jne 0x40aa55
mov dword [0x4520b0], edi
mov dword [0x4520b4], esi
inc eax
cmp eax, 0xb9fa618
jl 0x40aa34
mov edi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [0x2b764d4], edx
xor esi, esi
jmp 0x40aa70
cmp esi, 0x562d05
jne 0x40aa82
mov eax, dword [0x450d74]
mov dword [0x2b7685c], eax
cmp edx, 0x3c
jne 0x40aa90
push ebx
call edi
mov edx, dword [0x2b764d4]
inc esi
cmp esi, 0x5f6c74
jl 0x40aa70
cmp edx, 0x110a
jne 0x40ab6a
push ebx
mov dword [0x2b764c8], ebx
mov dword [0x2b764cc], ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push str.yejojometawocado
call dword [sym.imp.KERNEL32.dll_SetComputerNameW]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSize]
push ebx
call fcn.00401b71
mov edi, 7
xor ecx, ecx
add esp, 4
lea esi, [edi - 6]
lea eax, [esp + 0x1c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebx
mov word [esp + 0x1c], cx
call fcn.00401180
push str.0__s__d__f
mov dword [esp + 0x894], ebx
call fcn.00401c82
add esp, 4
push ebx
call fcn.00401b71
xor edx, edx
add esp, 4
lea eax, [esp + 0x38]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov word [esp + 0x38], dx
call fcn.00401180
push ebx
call fcn.00401b71
add esp, 4
push ebx
push ebx
call fcn.00401cc0
push 0x44d208
push 0x451bb0
call fcn.0040164c
add esp, 0x10
push ebx
call fcn.00402041
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov eax, dword [0x2b764d4]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [0x2b761fc], eax
cmp dword [0x2b764d4], ebx
jbe 0x40abdd
mov edi, dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
jmp 0x40aba0
mov ecx, dword [0x2b7685c]
mov dword [esp + 0x1c], ecx
mov eax, 0xa231
add dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov al, byte [edx + esi]
mov ecx, dword [0x2b761fc]
mov byte [ecx + esi], al
cmp dword [0x2b764d4], 0x5ab
jne 0x40abd4
push ebx
push ebx
push ebx
call edi
inc esi
cmp esi, dword [0x2b764d4]
jb 0x40aba0
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.msimg32.dll
call esi
call fcn.0040a680
mov eax, dword [0x2b764d4]
mov edx, dword [0x2b761fc]
mov edi, dword [0x44ff60]
mov ebx, eax
mov dword [esp + 0x18], edx
cmp eax, 0x930
jne 0x40ac1a
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov eax, dword [0x2b764d4]
mov dword [0x2b761f8], edi
cmp eax, 0x114e
jne 0x40ac3e
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
push 0
call esi
mov eax, dword [0x2b764d4]
cmp eax, 0x2f
jne 0x40ac74
xor edx, edx
lea ecx, [esp + 0x1c]
push ecx
push edx
xor eax, eax
push eax
lea ecx, [esp + 0x20]
push ecx
push edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edx
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputA]
push 0
lea edx, [esp + 0x80]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
mov edi, ebx
mov ebx, dword [esp + 0x18]
call fcn.0040a7d0
add dword [0x2b761fc], 0
mov edi, dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetAtomNameW]
xor esi, esi
lea eax, [esp + 0x54]
push eax
push 0
call edi
push 0
push 0
push 0
call ebx
cmp esi, 0x1a01e
jle 0x40acba
cmp dword [esp + 0x5c], 0xf5bed7
jne 0x40acc3
inc esi
cmp esi, 0x1ece7a52
jl 0x40ac97
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x14], 0x1519a5
mov ebx, 0x8e46a6f0
lea esp, [esp]
cmp dword [0x2b764d4], 0xcc1
jne 0x40acf0
push 0
call edi
cmp dword [0x2b764d4], 0x3dc
mov dword [0x2b764d0], ebx
jne 0x40ad15
push 0
push 0
push 0
push 0
push 0
push 0
push str.rufivatowozenivabejewusis
call esi
dec dword [esp + 0x14]
jne 0x40ace0
mov ecx, dword [esp + 0x888]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x870]
xor ecx, esp
call fcn.0040163d
mov esp, ebp
pop ebp
ret