Function at 0x436320
Capabilities:
Clear file content
Delete file
Enumerate files on windows
Get disk information
Get file attributes
Get hostname
Manipulate console buffer
Move file
Print debug messages
Read .ini file
Read file on windows
Set console window title
Set current directory
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x25d0
call fcn.00436df0
cmp dword [0x4e0bc4], 0x177
jne 0x436356
push 0
call fcn.00454eb0
push 0
call fcn.004371d0
push 0
call fcn.00437150
add esp, 0xc
call fcn.00436e40
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
xor eax, eax
push edi
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x10]
lea ecx, [ecx]
cmp dword [0x4e0bc4], 0x123f
jne 0x4364f7
lea eax, [ebp - 0x1c]
push eax
push 0x4014e0
call ebx
push 0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
lea edx, [ebp - 0x19d0]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceA]
push edi
push 0
call dword [sym.imp.KERNEL32.dll_TerminateJobObject]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsA]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetInformationJobObject]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteProfileStringW]
push 0
lea eax, [ebp - 0x5d0]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
push 0x401538
push 0
call dword [sym.imp.KERNEL32.dll_SetFileShortNameW]
lea ecx, [ebp - 0x18]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeA]
xor edx, edx
lea ecx, [ebp - 4]
push ecx
push edx
push edx
push edx
push edx
mov dword [ebp - 0xc], edx
call dword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
push 0
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
push 0
push 0
lea eax, [ebp - 0xdd0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FatalAppExitW]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessTimes]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call esi
push 0
push 0
push 0x401564
push 0
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetTimerQueueTimer]
push 0x40158c
push 0x401598
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetSystemPowerState]
lea ecx, [ebp - 8]
push ecx
push 0
push 0x4015dc
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetStringTypeA]
push 0x4015f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov eax, dword [ebp - 0x10]
cmp eax, 0x6a2
je 0x43650f
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 0x1138085
jl 0x436370
jmp 0x43651b
mov edx, dword [0x4634ac]
mov dword [0x4e0bc4], edx
mov ebx, dword [sym.imp.KERNEL32.dll_CommConfigDialogA]
xor edi, edi
cmp edi, 0x5e3
jge 0x436543
push 0
call dword [sym.imp.USER32.dll_GetCursorInfo]
push 0
push 0
call dword [sym.imp.USER32.dll_GetMenuItemID]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x4e0bc4], 0x6b
jne 0x43657c
push 0x30
lea eax, [ebp - 0x6c]
push 0
push eax
mov dword [ebp - 0x70], 0
call fcn.004374a0
add esp, 0xc
lea ecx, [ebp - 0x70]
push ecx
push 0
push 0x401610
call ebx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapValidate]
mov dword [0x4e01b0], 0
cmp edi, 0x26f28
jle 0x4365c6
mov eax, 0xdff62a
cmp dword [ebp - 4], eax
je 0x4365c6
cmp dword [ebp - 0x58], eax
je 0x4365c6
cmp dword [0x4e0bc4], 0xfc5
jne 0x4365c6
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 0x5d0]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
inc edi
cmp edi, 0x6ad5a8f9
jl 0x436523
mov edi, dword [sym.imp.KERNEL32.dll_SetSystemTimeAdjustment]
mov ebx, dword [sym.imp.KERNEL32.dll_EnumDateFormatsW]
xor eax, eax
mov dword [ebp - 0xc], eax
cmp eax, 0x3fa
jne 0x4365f5
add dword [0x4e0bc4], 0x12336
cmp dword [0x4e0bc4], 0x65
jne 0x43678b
lea ecx, [ebp - 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_ZombifyActCtx]
push 0
lea edx, [ebp - 0xdd0]
push edx
push 0x401638
push 0x401690
push 0x4016f8
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
push 0
call dword [sym.imp.KERNEL32.dll_GetLargestConsoleWindowSize]
push 0x401708
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
push 0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ResetWriteWatch]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call esi
push 0
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea eax, [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetNumaHighestNodeNumber]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesA]
push 0
push 0
call edi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommState]
push 0
push 0
push 0
call ebx
push 0
call dword [sym.imp.KERNEL32.dll_LocalLock]
lea ecx, [ebp - 0x18]
push ecx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteConsoleInputW]
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasExesLengthA]
push 0
lea edx, [ebp - 0x1dd0]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetAtomNameW]
push 0
push 0x401730
call dword [sym.imp.KERNEL32.dll_IsBadStringPtrW]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x25d0]
push ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
xor edx, edx
mov ecx, edx
push ecx
push edx
mov dword [ebp - 0x10], edx
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
lea edx, [ebp - 8]
push edx
push 0
lea eax, [ebp - 0x5d0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameA]
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExA]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_UnlockFile]
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_RaiseException]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, 0x485ceb
jl 0x4365e4
call fcn.004360e0
mov esi, 0x199615
cmp dword [0x4e0bc4], 0x105
jne 0x4367bb
push 0x401800
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
dec esi
jne 0x4367a4
mov dword [ebp - 8], esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
jmp 0x4367d0
cmp dword [0x4e0bc4], 0xfd
jne 0x4367fd
push 0
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
lea edx, [ebp - 0x1d0]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp dword [ebp - 8], 0x3c76
jne 0x436810
mov eax, dword [0x4634a0]
mov dword [0x4e0bc8], eax
cmp dword [0x4e0bc4], 0x23
jne 0x436937
push 0
push 0
push 0
push 0
call esi
push 0
call dword [sym.imp.KERNEL32.dll_SetLocalTime]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumTimeFormatsA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push 0
push 0
lea ecx, [ebp - 0x15d0]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesW]
push 0
lea edx, [ebp - 0x5d0]
push edx
push 0
push 0x401814
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LoadModule]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0
push 0
call ebx
push 0
push 0
push 0
push 0
call esi
push 0
lea eax, [ebp - 0x19d0]
push eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberFormatA]
push 0x401840
push 0x40187c
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
lea ecx, [ebp - 4]
push ecx
push 0
lea edx, [ebp - 0x30]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_PeekConsoleInputA]
push 0
call dword [sym.imp.KERNEL32.dll_UnregisterWait]
lea eax, [ebp - 0x18]
push eax
push 0
lea ecx, [ebp - 0x25d0]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, dword [ebp - 4]
push 0
push 0
push edx
push 0
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
push 0
push 0
call edi
push 0x40188c
push 0
lea eax, [ebp - 0x9d0]
push eax
push 0x4018a4
push 0x4018b4
push 0x4018c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, 0xe67cf
jl 0x4367d0
xor ebx, ebx
xor esi, esi
cmp dword [0x4e0bc4], ebx
jbe 0x43697e
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
jmp 0x436960
push esi
call fcn.00435e90
cmp dword [0x4e0bc4], 0x22
jne 0x436975
lea ecx, [ebp - 4]
push ecx
call edi
inc esi
cmp esi, dword [0x4e0bc4]
jb 0x436960
call fcn.00436030
call fcn.00436100
cmp dword [0x4e0bc4], 0x1d
jne 0x436ac0
push ebx
push 0x4018e0
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
push 0x401908
push 0x401924
push 0x401934
push 0x401958
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0x40196c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
push ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
push ebx
lea edx, [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
call dword [sym.imp.KERNEL32.dll_InterlockedPopEntrySList]
lea ecx, [ebp - 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateActCtxA]
push ebx
call dword [sym.imp.KERNEL32.dll_FindCloseChangeNotification]
push ebx
lea edx, [ebp - 0x15d0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0x40197c
push 0x40199c
push 0x4019a8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionA]
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalWire]
lea ecx, [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_GetNumberOfConsoleMouseButtons]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetDefaultCommConfigA]
xor eax, eax
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x1c]
push eax
push ebx
lea ecx, [ebp - 0x9d0]
push ecx
push ebx
mov dword [ebp - 0x30], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFileScatter]
lea edx, [ebp - 0x1d0]
push edx
push 0x4019c8
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
lea eax, [ebp - 8]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetStringTypeA]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10