Function at 0x40b9a0
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 0x40ba3b
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
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
lea eax, [esp + 0x430]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp dword [0x2ece1d4], 0x2d
jne 0x40ba1d
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
push 0x811590
push 0x815878
call fcn.00401015
push 0
call fcn.004011bf
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
nop
cmp eax, 0x8cf
jne 0x40ba6d
push 0
push str.cijivibuyoceyenocibulawuf_wezowajafedef_xilukiyikojuxuvebiroxonih_nimacefohopolalore
lea ecx, [esp + 0x448]
push ecx
call edi
mov eax, dword [0x2ece1d4]
cmp esi, 0x162
jne 0x40ba84
mov eax, dword [0x814e14]
add eax, 0xa231
mov dword [0x2ece1d4], eax
cmp eax, 0x141
jne 0x40ba97
mov dword [0x815900], ebp
mov dword [0x815904], ebx
inc esi
cmp esi, 0x129916c
jl 0x40ba50
xor ebp, ebp
xor esi, esi
cmp esi, 0x562d05
jne 0x40bab8
mov edx, dword [0x813ff8]
mov dword [0x2ece1d8], edx
cmp eax, 0x3c
jne 0x40bac9
push ebp
call dword [sym.imp.KERNEL32.dll_FindAtomA]
mov eax, dword [0x2ece1d4]
inc esi
cmp esi, str.lAh_
jl 0x40baa4
cmp eax, 0x110a
jne 0x40bb61
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.dosew_reregakesayiruviwokejeturi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push str.lotuwejuzijozimibecem
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 0x8116a4
push 0x815878
call fcn.0040118c
push ebp
call fcn.00401092
mov eax, dword [0x2ece1d4]
add esp, 0x28
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, dword [sym.imp.KERNEL32.dll_BuildCommDCBW]
xor esi, esi
mov dword [0x2ecdef4], eax
cmp dword [0x2ece1d4], ebp
jbe 0x40bbd4
mov edi, 0x19b0
jmp 0x40bb90
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 0x40bbcb
lea ecx, [esp + 0x18]
push ecx
push ebp
call ebx
mov dword [0x2ecdef8], edi
inc esi
cmp esi, dword [0x2ece1d4]
jb 0x40bb90
push 0x8116a8
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.0040b630
call fcn.0040b610
mov eax, dword [0x2ece1d4]
mov edx, dword [0x814000]
mov edi, dword [0x2ecdef4]
mov esi, eax
mov dword [0x2ecdef0], edx
cmp eax, 0x114e
jne 0x40bc20
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
lea eax, [esp + 0x18]
push eax
push 0x8114e0
call ebx
mov eax, dword [0x2ece1d4]
cmp eax, 0x2f
jne 0x40bc2e
push ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsA]
push esi
push edi
call fcn.0040b7f0
add dword [0x2ecdef4], 0
mov edi, dword [esp + 0x28]
add esp, 8
xor esi, esi
jmp 0x40bc50
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_FindAtomA]
cmp esi, 0x408e
jle 0x40bc6b
cmp edi, 0xf5bed7
jne 0x40bc74
inc esi
cmp esi, 0x687ed2
jl 0x40bc50
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 0x40bca0
call esi
sub ebx, 1
jne 0x40bc90
mov ecx, dword [esp + 0xc40]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00401006
add esp, 0xc34
ret