Function at 0x4336a0
Capabilities:
Clear file content
Delete file
Enumerate files on windows
Get common file path
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
Terminate thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2a28
call fcn.004342a0
cmp dword [0x4debe4], 0x177
jne 0x43372a
push 0x4de1e0
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x204
jne 0x43372a
cmp dword [0x4debe4], 0xf76
jne 0x4336e7
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ReadFileEx]
push 0
call fcn.004348c0
push 0
call fcn.004345f0
push 0
push 0
call fcn.00452de0
push 0
push 0
call fcn.004345a0
push 0
call fcn.00434520
push 0
call fcn.00434330
push 0
push 0
call fcn.00434300
push 0
push 0
call fcn.004342d0
add esp, 0x30
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push esi
mov esi, dword [ebp - 0x14]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetBinaryTypeA]
mov dword [ebp - 4], 0
jmp 0x433750
cmp dword [0x4debe4], 0x123f
jne 0x4338c4
lea eax, [ebp - 0x14]
push eax
push 0
call edi
push 0x401b94
call ebx
lea ecx, [ebp - 0xb4]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
lea edx, [ebp - 0x628]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceA]
push 0
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_QueryInformationJobObject]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsExW]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
push 0
lea eax, [ebp - 0x1228]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
push 0x401bbc
push 0
call dword [sym.imp.KERNEL32.dll_SetFileShortNameA]
lea ecx, [ebp - 0x10]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetCompressedFileSizeW]
xor edx, edx
lea ecx, [ebp - 0x34]
push ecx
push edx
push edx
push edx
push edx
mov dword [ebp - 8], edx
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputAttribute]
push 0
push 0
push 0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x24]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetNamedPipeHandleStateA]
push 0
push 0
lea eax, [ebp - 0x1a28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FatalAppExitA]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
push 0
call dword [sym.imp.KERNEL32.dll_UnregisterWait]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
call dword [sym.imp.KERNEL32.dll_CreateTimerQueue]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueueTimer]
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
push 0x401bd4
push 0x401bf0
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0x1c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_AllocateUserPhysicalPages]
lea eax, [ebp - 0xc]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetBinaryTypeW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
cmp dword [ebp - 4], 0x63e
je 0x4338fb
cmp dword [0x4debe4], 0xf
jne 0x4338e7
push 0
lea ecx, [ebp - 0x628]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, 0x1138855
jl 0x433750
jmp 0x433907
mov edx, dword [0x4614ac]
mov dword [0x4debe4], edx
mov ebx, dword [sym.imp.KERNEL32.dll_CommConfigDialogW]
xor esi, esi
xor edi, edi
cmp dword [0x4debe4], 0x6b
jne 0x433941
push 0x30
lea eax, [ebp - 0x64]
push esi
push eax
mov dword [ebp - 0x68], esi
call fcn.00434910
add esp, 0xc
lea ecx, [ebp - 0x68]
push ecx
push esi
push 0x401c78
call ebx
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [0x4de1d0], esi
cmp edi, 0x22126
jle 0x433988
mov eax, 0x342502a
cmp dword [ebp - 0xc], eax
je 0x433988
cmp dword [ebp - 0x50], eax
je 0x433988
cmp dword [0x4debe4], 0xfc5
jne 0x433988
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push 0x401cc8
push esi
push esi
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
inc edi
cmp edi, 0x5f54b6b9
jl 0x433911
mov esi, dword [sym.imp.KERNEL32.dll_GetSystemTimeAdjustment]
mov edi, dword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameA]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapSetInformation]
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp ecx, 0x3fa
jne 0x4339ba
push 0x4debe4
call fcn.00433350
cmp dword [0x4debe4], 0x65
jne 0x433b8f
lea ecx, [ebp - 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateActCtxW]
push 0x401cf0
push 0x401d0c
push 0x401d38
call dword [sym.imp.KERNEL32.dll_WriteProfileStringA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
push 0x401d40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
push 0
call dword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
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 dword [sym.imp.KERNEL32.dll_CreateTimerQueueTimer]
push 0
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCommState]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll__lopen]
push 0
push 0
push 0
call esi
push 0x30
lea edx, [ebp - 0x98]
push 0
push edx
mov dword [ebp - 0x9c], 0
call fcn.00434910
add esp, 0xc
push 0
lea eax, [ebp - 0x9c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SetCommConfig]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsW]
push 0
call dword [sym.imp.KERNEL32.dll_LocalUnlock]
lea ecx, [ebp - 0xc]
push ecx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteConsoleInputA]
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasExesLengthW]
push 0
lea edx, [ebp - 0x1228]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetAtomNameW]
push 0
push 0x401d88
call dword [sym.imp.KERNEL32.dll_IsBadStringPtrW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x628]
push ecx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathA]
xor edx, edx
mov ecx, edx
push ecx
push edx
mov dword [ebp - 8], edx
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
lea edx, [ebp - 0x18]
push edx
push 0
lea eax, [ebp - 0xa28]
push eax
push 0
call edi
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleCP]
push 0
push 0x401da8
push 0x401dd8
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_LockFile]
push 0
call dword [sym.imp.KERNEL32.dll_SetSystemTime]
push 0
call dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateHardLinkA]
push 0
push 0
push 0
push 0
call ebx
push 0x401e14
lea ecx, [ebp - 0x1628]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFileValidData]
mov ecx, dword [ebp - 4]
inc ecx
mov dword [ebp - 4], ecx
cmp ecx, 0x485ceb
jl 0x4339a8
call fcn.00433400
mov dword [ebp - 8], 0x199615
jmp 0x433bb0
cmp dword [0x4debe4], 0x105
jne 0x433bc7
push 0x401e44
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
dec dword [ebp - 8]
jne 0x433bb0
mov dword [ebp - 4], 0
cmp dword [0x4debe4], 0x9e2
jne 0x433c00
push 0
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea edx, [ebp - 0x228]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp dword [ebp - 4], 0x3c76
jne 0x433c13
mov eax, dword [0x4614a0]
mov dword [0x4debe8], eax
cmp dword [0x4debe4], 0x23
jne 0x433dac
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
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
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceExW]
push 0
push 0
lea ecx, [ebp - 0x1628]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
push 0
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsA]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
push 0
lea edx, [ebp - 0x2228]
push edx
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
xor edx, edx
lea ecx, [ebp - 0x30]
push ecx
push edx
xor eax, eax
push eax
lea ecx, [ebp - 0xc]
push ecx
push edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], edx
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputW]
lea edx, [ebp - 0x1c]
push edx
push 0
lea eax, [ebp - 0xb0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_PeekConsoleInputW]
lea ecx, [ebp - 0x50]
push ecx
push 0x401e58
call dword [sym.imp.KERNEL32.dll_BuildCommDCBA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_UnregisterWaitEx]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalLock]
lea edx, [ebp - 0x18]
push edx
push 0
lea eax, [ebp - 0xa28]
push eax
push 0
call edi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea ecx, [ebp - 0x4f4]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
lea edx, [ebp - 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [ebp - 0xc]
push 0
push 0
push eax
push 0
call ebx
mov ecx, dword [ebp - 0xc]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleMode]
push 0
push 0
push 0
call esi
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x2a28]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push 0
push 0
lea ecx, [ebp - 0xe28]
push ecx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 0x14], 0
call dword [sym.imp.KERNEL32.dll_GetHandleInformation]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, 0xe67cf
jl 0x433bd3
xor esi, esi
cmp dword [0x4debe4], esi
jbe 0x433dee
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, edi
push esi
call fcn.004331a0
cmp dword [0x4debe4], 0x22
jne 0x433de5
lea eax, [ebp - 0xc]
push eax
call edi
inc esi
cmp esi, dword [0x4debe4]
jb 0x433dd0
call fcn.00433360
call fcn.00433420
cmp dword [0x4debe4], 0x1d
jne 0x433f42
xor esi, esi
push esi
push 0x401e88
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeA]
push 0x401e98
push 0x401ecc
push 0x401ee8
push 0x401f2c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceW]
push esi
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
push 0x401f50
push esi
push 0x401fb8
push 0x401ff4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x20]
push ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
call dword [sym.imp.KERNEL32.dll_InterlockedPopEntrySList]
lea edx, [ebp - 0x54]
push edx
call dword [sym.imp.KERNEL32.dll_CreateActCtxW]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_VirtualLock]
push esi
lea eax, [ebp - 0x2a28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WriteProfileStringW]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionA]
lea ecx, [ebp - 0x88]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnWire]
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push 0x30
lea edx, [ebp - 0xe4]
push esi
push edx
mov dword [ebp - 0xe8], esi
call fcn.00434910
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0xe8]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetDefaultCommConfigW]
lea edx, [ebp - 0x2228]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFileGather]
lea eax, [ebp - 0x228]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetThreadSelectorEntry]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_FatalAppExitA]
push 0x402024
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
lea ecx, [ebp - 4]
push ecx
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetStringTypeA]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10