Function at 0x48455c
Capabilities:
Create pipe
Create process on windows
Create process suspended
Get common file path
Read file on windows
Read pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push 0xc
call fcn.004b7848
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 0x4c
call fcn.004b7848
add esp, 4
mov dword [ebp - 0x14], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x13
rep stosd dword es:[edi], eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
push 0x10
call fcn.004b7848
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebx], 0xc
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebx], 0
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebx], 1
mov dword [ebp - 0x38], esp
push 0
push dword [ebp - 4]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_CreatePipe
cmp dword [ebp - 0x38], esp
je 0x484682
push 0xaf
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x484699
mov eax, 0x5d3c00
jmp 0x484fea
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebx], 0x44
mov ebx, dword [ebp - 0x14]
add ebx, 0x2c
mov dword [ebp - 0x38], ebx
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push 0x100
push 2
mov ebx, 0x4b7d20
call fcn.004b7854
add esp, 0x1c
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x14]
add ebx, 0x30
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov word [ebx], 0
mov ebx, dword [ebp - 0x14]
add ebx, 0x3c
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x14]
add ebx, 0x40
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x14]
add ebx, 0x44
mov dword [ebp - 0x38], ebx
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x38]
mov dword [ebx], eax
push 1
push 1
push 0x104
call fcn.00485058
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4b99e0
call fcn.004b7854
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x484766
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00412528
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], esp
push 0
push 0x25
push dword [ebp - 0x38]
push 0
call sub.SHELL32.dll_SHGetSpecialFolderPathW
cmp dword [ebp - 0x3c], esp
je 0x4847ac
push 0x2ad
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
cmp dword [0x96574c], 0x501
mov eax, 0
setge al
test eax, eax
je 0x4847d0
mov eax, str.cmd.exe
jmp 0x4847d5
mov eax, str.command.com
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
push eax
call fcn.004125c0
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x484800
push ebx
call fcn.004b784e
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.00412528
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00485080
mov dword [ebp - 0x4c], eax
push 1
push 1
push dword [ebp - 0x4c]
call fcn.00485058
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x48]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x50]
fstp qword [ebp - 0x60]
fadd qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.004020b4
push 0
push 0
push 0
push 0x80000301
push 0
push eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x484868
mov eax, 0x5d3c00
push eax
push 3
mov ebx, 0x4bc1e0
call fcn.004b7854
add esp, 0x28
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x48488b
push ebx
call fcn.004b784e
add esp, 4
push 1
push 1
mov eax, 0x8a891c
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x38]
push eax
call fcn.004125c0
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x4848b6
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp + 8]
push dword [ebx]
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.0040205c
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4848de
push ebx
call fcn.004b784e
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4848f2
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x484909
mov eax, 0x5d3c00
push eax
push 1
mov ebx, 0x4b7f40
call fcn.004b7854
add esp, 0x10
mov dword [ebp - 0x20], eax
push 1
push 1
push 0x7fff
call fcn.00485058
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x20]
fstp qword [ebp - 0x48]
fsub qword [ebp - 0x48]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.004020b4
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4b99e0
call fcn.004b7854
add esp, 0x10
mov dword [ebp - 0x54], eax
push dword [ebp - 0x54]
push dword [ebp - 0x1c]
mov ecx, 2
call fcn.0040205c
add esp, 8
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x484993
push ebx
call fcn.004b784e
add esp, 4
mov eax, dword [ebp - 0x58]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4849a7
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00412528
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041254c
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 4]
push eax
call fcn.004850c8
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], esp
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
push eax
push 0x48
call fcn.004b7848
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push 0
push 0
push 0
push 1
push 0
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
call sub.KERNEL32.DLL_CreateProcessW
cmp dword [ebp - 0x44], esp
je 0x484af3
push 0x50f
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x48]
push ebx
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x38], esp
push dword [ebp - 0x10]
call sub.KERNEL32.DLL_CloseHandle
cmp dword [ebp - 0x38], esp
je 0x484bee
push 0x554
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
cmp dword [ebp - 8], 0
jne 0x484c29
mov dword [ebp - 0x38], esp
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
cmp dword [ebp - 0x38], esp
je 0x484c1f
push 0x59e
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
mov eax, 0x5d3c00
jmp 0x484fea
mov ebx, dword [ebp - 0x24]
add ebx, 4
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
mov ebx, dword [ebp - 0x38]
push dword [ebx]
call sub.KERNEL32.DLL_CloseHandle
cmp dword [ebp - 0x3c], esp
je 0x484c5b
push 0x5cf
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
push 0x3e8
mov ebx, dword [ebp - 0x38]
push dword [ebx]
call sub.USER32.dll_WaitForInputIdle
cmp dword [ebp - 0x3c], esp
je 0x484c8f
push 0x5f2
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
cmp dword [ebp - 0x28], 0xffffffff
je 0x484ed1
mov dword [ebp - 0x38], esp
push 0
lea eax, [ebp - 0x28]
push eax
push 0
push 0
push 0
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_PeekNamedPipe
cmp dword [ebp - 0x38], esp
je 0x484cd8
push 0x659
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x484e5e
push 0x80000301
push 0
push dword [ebp - 0x28]
push 1
mov ebx, 0x4b99e0
call fcn.004b7854
add esp, 0x10
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x484d15
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], esp
push 0
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x484d32
add eax, 8
push eax
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_ReadFile
cmp dword [ebp - 0x38], esp
je 0x484d57
push 0x6fc
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
mov ecx, 2
call fcn.0040205c
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x484d81
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0x10], 0
mov eax, 0
sete al
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x484e59
cmp dword [ebp + 0x14], 0
je 0x484dd7
push dword [0x965740]
lea eax, [ebp - 0x2c]
push eax
call fcn.004126a8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x484dce
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
jmp 0x484e07
push 0x5d3bec
push dword [ebp - 0x2c]
mov ecx, 2
call fcn.0040205c
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x484e03
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0041254c
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
push 1
push dword [ebp - 0x38]
push dword [ebp + 0xc]
call fcn.004850e4
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
mov eax, 0
setne al
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x484e59
jmp 0x484ed1
jmp 0x484ea3
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x38]
push dword [ebx]
call sub.KERNEL32.DLL_GetExitCodeProcess
cmp dword [ebp - 0x3c], esp
je 0x484e91
push 0x909
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
cmp dword [ebp - 0x34], 0x103
je 0x484ea3
jmp 0x484ed1
mov dword [ebp - 0x38], esp
push 1
call sub.KERNEL32.DLL_Sleep
cmp dword [ebp - 0x38], esp
je 0x484ecc
push 0x98f
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
jmp 0x484c8f
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], esp
mov ebx, dword [ebp - 0x38]
push dword [ebx]
call sub.KERNEL32.DLL_CloseHandle
cmp dword [ebp - 0x3c], esp
je 0x484f00
push 0x9bf
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
mov dword [ebp - 0x38], esp
push dword [ebp - 0xc]
call sub.KERNEL32.DLL_CloseHandle
cmp dword [ebp - 0x38], esp
je 0x484f27
push 0x9e2
push 0x4180aaa
push 6
call fcn.004b785a
add esp, 0xc
mov eax, 0x5d3c00
xor ecx, ecx
test eax, eax
je 0x484f35
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x30]
xor ebx, ebx
test eax, eax
je 0x484f46
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x484f5d
dec eax
test ecx, ecx
je 0x484f5d
call fcn.00406e1c
add esp, 0xc
test eax, eax
jne 0x484f72
mov eax, 0x5d3c00
jmp 0x484fea
cmp dword [ebp + 0x14], 0
je 0x484f9b
push dword [0x965740]
lea eax, [ebp - 0x30]
push eax
call fcn.004126a8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
jmp 0x484fea
push 0x5d3bec
push dword [ebp - 0x30]
mov ecx, 2
call fcn.0040205c
add esp, 8
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x484fc7
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x484fe5
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004b7848
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x484fea
push eax
mov ebx, dword [ebp - 4]
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x485013
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x485023
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x48503f
push ebx
call fcn.004b784e
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x48504f
push ebx
call fcn.004b784e
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x14