Function at 0x4036f0
Capabilities:
Get disk information
Get geographical location
Manipulate console buffer
Move file
Query environment variable
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x18
mov byte [esp + 0xb], 0x89
mov ax, word [esp + 0x10]
mov cl, 0x89
xor ax, 0x42e0
mov word [esp + 0x10], ax
xor cl, 0xa3
mov byte [esp + 7], cl
mov edx, dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
call edx
mov edx, dword [sym.imp.SHELL32.dll_SHQueryRecycleBinW]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_EnumDateFormatsExA]
call edx
mov edx, 0x4039c4
call edx
mov edx, dword [sym.imp.KERNEL32.dll_GetProcessTimes]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_GetCPInfoExA]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_FileTimeToDosDateTime]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_CreateFileW]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_InterlockedPushEntrySList]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_GetConsoleCP]
call edx
mov edx, dword [sym.imp.USER32.dll_GetProcessWindowStation]
call edx
mov cl, byte [esp + 7]
mov edx, dword [sym.imp.KERNEL32.dll_GetThreadPriorityBoost]
call edx
mov edx, dword [sym.imp.KERNEL32.dll_LocalFlags]
call edx
mov edx, 0x4039d0
call edx
mov ch, byte [esp + 0xb]
add ch, 0x45
mov word [esp + 8], 0x128e
mov edx, dword [esp + 0xc]
imul edx, edx
mov dword [esp + 0xc], edx
cmp ch, cl
jbe 0x4037ac
mov eax, dword [sym.imp.KERNEL32.dll_MoveFileWithProgressA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_LocalSize]
call eax
mov eax, 0x4039ca
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GlobalFlags]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_SetComputerNameExA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_EnumCalendarInfoA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetVolumeNameForVolumeMountPointA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_PrepareTape]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_MoveFileWithProgressW]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetStringTypeA]
call eax
mov eax, 0x40443b
call eax
mov eax, 0x4039bd
call eax
mov eax, dword [sym.imp.KERNEL32.dll_IsWow64Process]
call eax
mov eax, 0x40478f
call eax
mov eax, fcn.00403b64
call eax
mov eax, dword [sym.imp.KERNEL32.dll_IsBadHugeReadPtr]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
call eax
mov eax, 0x404995
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProfileSectionA]
call eax
mov eax, 0x4049ac
call eax
mov eax, dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
call eax
mov eax, 0x404a57
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetCalendarInfoA]
call eax
mov eax, dword [sym.imp.USER32.dll_CreateMDIWindowW]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetNamedPipeHandleStateW]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_FindActCtxSectionGuid]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_MoveFileA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetStringTypeExA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteConsoleInputW]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_lstrcmpA]
call eax
mov esp, ebp
pop ebp
ret