Function at 0x10008150
Capabilities:
Accept command line arguments
Connect pipe
Get disk information
Get disk size
Get file attributes
Get geographical location
Move file
Read .ini file
Read pipe
Set uefi variable
Write file on windows
Write pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movzx eax, byte [0x10062eec]
test eax, eax
jne 0x10008641
push 0x243
push 0x10007590
lea ecx, [ebp - 0x14]
push ecx
call fcn.100092c0
add esp, 0xc
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
call fcn.100095f0
add esp, 8
cmp dword [0x10062ecc], 0x2106629d
jne 0x10008264
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueue]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFileIoOverlappedRange]
push 0
push 0
push 0x1006a438
push 0
push 0x1006a46c
push 0
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExEx]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteTimerQueue]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateTapePartition]
push 0
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDllDirectoryW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
push 0
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThreadpoolTimer]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTapeParameters]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapQueryInformation]
push 0x1f6
push 0x10004f20
lea ecx, [ebp - 0x1c]
push ecx
call fcn.100092c0
add esp, 0xc
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
call fcn.100095f0
add esp, 8
cmp dword [0x10062ecc], 0x51e1e057
jne 0x100083e6
push 0
call dword [sym.imp.KERNEL32.dll_SubmitThreadpoolWork]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCalendarInfoW]
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TransactNamedPipe]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetWaitableTimerEx]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProfileStringW]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
push 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
push 0
call dword [sym.imp.KERNEL32.dll_DeleteProcThreadAttributeList]
push 0
call dword [sym.imp.KERNEL32.dll_QueryDepthSList]
push 0
call dword [sym.imp.KERNEL32.dll_InitializeConditionVariable]
push 0
call dword [sym.imp.KERNEL32.dll_RequestWakeupLatency]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CallNamedPipeW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetCommConfig]
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push 0
call dword [sym.imp.KERNEL32.dll_FindVolumeClose]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadDescription]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0
call dword [sym.imp.KERNEL32.dll_FlsFree]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MoveFileW]
push 0
push 0
push 0
push 0x1006a4a8
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLogicalProcessorInformation]
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EnumTimeFormatsW]
push 0
push 0
push 0
push 0x1006a4c8
push 0
push 0x1006a4f0
call dword [sym.imp.KERNEL32.dll_GetCurrencyFormatEx]
push 0x2a1
push 0x10001c10
lea ecx, [ebp - 0x24]
push ecx
call fcn.100092c0
add esp, 0xc
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
call fcn.100095f0
add esp, 8
mov byte [0x10062eec], 1
cmp dword [0x10062ecc], 0x2012579d
jne 0x10008536
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructW]
push 0
call dword [sym.imp.KERNEL32.dll_FatalExit]
mov dword [ebp - 4], 0x147aa
lea ecx, [ebp - 4]
push ecx
push 0x1a7
push 0x100053f0
lea edx, [ebp - 0x2c]
push edx
call fcn.100092c0
add esp, 0xc
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.10009650
add esp, 0xc
mov eax, dword [0x10062ecc]
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
cmp dword [ebp - 0xc], 0xf3395013
jne 0x1000863c
cmp dword [ebp - 8], 0
jne 0x1000863c
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MoveFileTransactedW]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_UnlockFile]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNLSVersion]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumberOfConsoleInputEvents]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_QueryMemoryResourceNotification]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetNumaNodeProcessorMaskEx]
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FlsSetValue]
push 0
call dword [sym.imp.KERNEL32.dll_GetUserGeoID]
call dword [sym.imp.KERNEL32.dll_SetFileApisToANSI]
call dword [sym.imp.KERNEL32.dll_SetFileApisToANSI]
push 0
call dword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
push 0
call dword [sym.imp.KERNEL32.dll_InitializeSRWLock]
jmp 0x10008156
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc