Function at 0x40db18
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c50
call fcn.0040bee0
mov eax, dword [0x484090]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x27707a4]
push ebx
xor ebx, ebx
xor ecx, ecx
cmp ecx, 0x180
jne 0x40db4b
mov eax, dword [0x4874c4]
add eax, 0x9e49
cmp eax, 0x141
jne 0x40db63
or dword [0x4887d4], 0xffffffff
mov dword [0x4887d0], 0xec58acac
inc ecx
cmp ecx, 0x12376ec
jl 0x40db39
push esi
mov dword [0x27707a4], eax
xor esi, esi
cmp esi, 0x562d05
jne 0x40db88
mov ecx, dword [0x4850b8]
mov dword [0x27707a8], ecx
cmp eax, 0x3c
jne 0x40db9f
push str.zimofokulad
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov eax, dword [0x27707a4]
inc esi
cmp esi, 0x5f6c74
jl 0x40db74
push edi
cmp eax, 0x7c
jne 0x40dc8e
push ebx
lea eax, [ebp - 0x1404]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
lea eax, [ebp - 0x1c3c]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push ebx
lea eax, [ebp - 0x1c40]
push eax
push ebx
lea eax, [ebp - 0x404]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
push ebx
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
push ebx
push ebx
lea eax, [ebp - 0xc04]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push str.cuwunomizozogasasupob
call dword [sym.imp.KERNEL32.dll_AddAtomW]
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
xor eax, eax
mov word [ebp - 0x1c34], ax
lea edi, [ebp - 0x1c32]
stosw word es:[edi], ax
mov word [ebp - 0x1c30], ax
lea edi, [ebp - 0x1c2e]
stosw word es:[edi], ax
lea eax, [ebp - 0x1c48]
push eax
push dword [ebp - 0x1c30]
lea eax, [ebp - 0x1c38]
push dword [ebp - 0x1c34]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
push ebx
lea eax, [ebp - 0x1c04]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExA]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push str.jeceviret_lefabawuj__s__d__f
push ebx
call fcn.00402083
push ebx
call fcn.0040229c
mov eax, dword [0x27707a4]
add esp, 0xc
cmp eax, 0x110a
jne 0x40ddce
push ebx
mov dword [0x2770670], ebx
mov dword [0x2770674], ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthA]
push ebx
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x1c38]
push eax
lea eax, [ebp - 0x1c40]
push eax
lea eax, [ebp - 0x1c3c]
push eax
lea eax, [ebp - 0x1c34]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetNamedPipeHandleStateA]
push ebx
push ebx
lea eax, [ebp - 0x1804]
push eax
call dword [sym.imp.KERNEL32.dll_SetDefaultCommConfigA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
xor eax, eax
mov word [ebp - 0x1c50], ax
lea edi, [ebp - 0x1c4e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push ebx
stosw word es:[edi], ax
lea eax, [ebp - 0x804]
push eax
push str.tivasoyusafewixumawezawus
lea eax, [ebp - 0x1c50]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push ebx
push ebx
lea eax, [ebp - 0x1004]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommState]
push ebx
push ebx
call fcn.00401c43
pop ecx
pop ecx
xor eax, eax
push 1
lea esi, [ebp - 0x1c20]
mov dword [ebp - 0x1c08], 7
mov dword [ebp - 0x1c0c], ebx
mov word [ebp - 0x1c1c], ax
call fcn.00401091
push ebx
push ebx
call fcn.00401c43
mov edi, 0x481c88
push edi
push str._s__c
mov esi, 0x488748
push esi
call fcn.004023e5
push ebx
push ebx
call fcn.00402532
push ebx
push ebx
call fcn.00401c43
push ebx
call fcn.00401f33
push ebx
call fcn.0040222a
push ebx
push ebx
push ebx
call fcn.00401eaf
push ebx
call fcn.00401f33
push edi
push esi
call fcn.00402083
add esp, 0x44
push ebx
call fcn.004023ce
pop ecx
push ebx
call fcn.00402a3e
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor ecx, ecx
mov dword [0x27704c4], eax
pop edi
cmp dword [0x27707a4], ebx
jbe 0x40de29
mov eax, dword [0x27707a8]
mov dword [ebp - 0x1c30], eax
mov eax, 0x9e49
add dword [ebp - 0x1c30], eax
mov eax, dword [ebp - 0x1c30]
mov al, byte [eax + ecx]
mov edx, dword [0x27704c4]
mov byte [edx + ecx], al
mov eax, dword [0x27707a4]
cmp eax, 0x5ab
jne 0x40de24
mov dword [0x27704c8], 0x19b0
inc ecx
cmp ecx, eax
jb 0x40dde6
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call fcn.0040d84d
call fcn.0040d82f
call fcn.0040dace
xor esi, esi
cmp esi, 0xd606b
jne 0x40de52
call fcn.0040d824
cmp dword [0x27707a4], 0xc
jne 0x40de67
push dword [ebp - 0x1c38]
call dword [sym.imp.ADVAPI32.dll_GetSidSubAuthorityCount]
inc esi
cmp esi, 0x24e87d
jl 0x40de45
mov esi, 0x1e4165
cmp dword [0x27707a4], 0xcc1
jne 0x40de91
push ebx
push ebx
push str.mumef
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
cmp dword [0x27707a4], 0x7c4
mov dword [0x27704cc], 0x8e46a6f0
jne 0x40deb3
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
dec esi
jne 0x40de75
pop esi
cmp ebx, 0x408e
jle 0x40decb
cmp dword [ebp - 0x1c24], 0xf5bed7
jne 0x40ded4
inc ebx
cmp ebx, 0x687ed2
jl 0x40deb7
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00401ab5
leave
ret