Function at 0x46aeb0
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Get hostname

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff5c
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
lea eax, [ebp - 0x14]
mov edx, dword [0x4657d8]
call fcn.00404e68
xor eax, eax
push ebp
push 0x46b3f8
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov eax, dword [0x46e364]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.0045c42c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
cmp dword [eax + 0x218], 1
jne 0x46af52
mov eax, 0x46b414
call fcn.004600e0
test al, al
je 0x46af52
mov eax, dword [ebp - 4]
call fcn.0046bbd8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x335], 0
je 0x46afea
xor ecx, ecx
mov dl, 1
mov eax, dword [0x469ba4]
call fcn.00456b10
mov edx, dword [0x46df34]
mov dword [edx], eax
mov eax, dword [0x46ffbc]
sub eax, 1
jb 0x46af89
je 0x46afa2
dec eax
je 0x46afbb
jmp 0x46afd2
mov eax, dword [0x46df34]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
mov edx, 0x46b428
call fcn.0043e6d8
jmp 0x46afd2
mov eax, dword [0x46df34]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
mov edx, 0x46b440
call fcn.0043e6d8
jmp 0x46afd2
mov eax, dword [0x46df34]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
mov edx, 0x46b458
call fcn.0043e6d8
mov eax, dword [0x46df34]
mov eax, dword [eax]
call fcn.0045ae80
mov eax, dword [0x46e200]
mov eax, dword [eax]
call fcn.0045e2a8
xor edx, edx
push ebp
push 0x46b38c
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x84]
mov eax, dword [0x46e200]
mov eax, dword [eax]
call fcn.0045eb24
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0xc]
call fcn.00408d70
cmp dword [ebp - 0xc], 0
je 0x46b03d
mov eax, dword [ebp - 0xc]
call fcn.0040476c
mov edx, dword [ebp - 0xc]
cmp byte [edx + eax - 1], 0x5c
je 0x46b03d
lea eax, [ebp - 0xc]
mov edx, 0x46b478
call fcn.00404774
lea eax, [ebp - 0xc]
mov edx, 0x46b484
call fcn.00404774
mov eax, dword [ebp - 0xc]
call fcn.00408c08
test al, al
jne 0x46b095
mov eax, dword [ebp - 4]
cmp byte [eax + 0x335], 0
jne 0x46b08b
push 0
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0xc]
mov edx, 0x46b498
call fcn.004047b8
mov eax, dword [ebp - 0x88]
mov cx, word [0x46b4a8]
mov dl, 1
call fcn.00428a9c
call fcn.00403f6c
jmp 0x46b393
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x32c]
cmp dword [eax + 0x218], 0
jne 0x46b29c
lea eax, [ebp - 0x14]
call fcn.00465a30
xor edx, edx
push ebp
push 0x46b179
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
call fcn.0043e6a8
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.00408620
cmp dword [ebp - 0x8c], 0
jne 0x46b114
lea edx, [ebp - 0x94]
movzx eax, word [ebp - 0x10]
call fcn.00408720
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
call fcn.0043e6d8
jmp 0x46b137
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
call fcn.0043e6a8
mov eax, dword [ebp - 0x98]
call fcn.0040885c
mov word [ebp - 0x10], ax
mov dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x7d]
push eax
call sub.kernel32.dll_GetComputerNameA
lea edx, [ebp - 0x9c]
lea eax, [ebp - 0x7d]
call fcn.00409418
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x14]
call fcn.00404544
lea eax, [ebp - 0x14]
call fcn.00465c74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46b1c4
lea eax, [ebp - 0xc]
mov edx, 0x46b4b4
call fcn.00404774
lea eax, [ebp - 0x5c]
xor ecx, ecx
mov edx, 0x44
call fcn.0040311c
mov dword [ebp - 0x5c], 0x44
mov dword [ebp - 0x30], 0x41
mov word [ebp - 0x2c], 0
mov al, 1
call fcn.00467964
xor eax, eax
push ebp
push 0x46b295
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0
push 0
push 0x20
push 0
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.0040496c
push eax
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
je 0x46b242
mov byte [ebp - 5], 1
push 0xffffffffffffffff
mov eax, dword [ebp - 0x6c]
push eax
call sub.user32.dll_WaitForInputIdle
jmp 0x46b274
mov eax, dword [ebp - 4]
cmp byte [eax + 0x335], 0
jne 0x46b274
push 0
call sub.kernel32.dll_GetLastError
lea edx, [ebp - 0xa0]
call fcn.0040bb24
mov eax, dword [ebp - 0xa0]
mov cx, word [0x46b4a8]
mov dl, 1
call fcn.00428a9c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b358
mov eax, dword [ebp - 4]
cmp byte [eax + 0x336], 0
jne 0x46b294
xor eax, eax
call fcn.00467964
ret
lea eax, [ebp - 0xc]
mov edx, 0x46b4c4
call fcn.00404774
lea eax, [ebp - 0x5c]
xor ecx, ecx
mov edx, 0x44
call fcn.0040311c
mov dword [ebp - 0x5c], 0x44
mov dword [ebp - 0x30], 0x101
mov word [ebp - 0x2c], 0
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x5c]
push eax
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.0040496c
push eax
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
je 0x46b326
jmp 0x46b302
mov eax, dword [0x46e200]
mov eax, dword [eax]
call fcn.0045e2a8
push 0x64
mov eax, dword [ebp - 0x6c]
push eax
call sub.kernel32.dll_WaitForSingleObject
test eax, eax
jne 0x46b2f6
mov edx, 0x46b4e0
mov eax, 0x46b414
call fcn.00460280
mov byte [ebp - 5], 1
jmp 0x46b358
mov eax, dword [ebp - 4]
cmp byte [eax + 0x335], 0
jne 0x46b358
push 0
call sub.kernel32.dll_GetLastError
lea edx, [ebp - 0xa4]
call fcn.0040bb24
mov eax, dword [ebp - 0xa4]
mov cx, word [0x46b4a8]
mov dl, 1
call fcn.00428a9c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b393
mov eax, dword [ebp - 4]
cmp byte [eax + 0x335], 0
je 0x46b37d
mov eax, dword [0x46df34]
mov eax, dword [eax]
call fcn.00403720
mov eax, dword [0x46e364]
mov eax, dword [eax]
xor edx, edx
call fcn.0045c42c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b3ff
lea eax, [ebp - 0xa4]
mov edx, 3
call fcn.004044d0
lea eax, [ebp - 0x98]
call fcn.004044ac
lea eax, [ebp - 0x94]
call fcn.004044ac
lea eax, [ebp - 0x90]
call fcn.004044ac
lea eax, [ebp - 0x8c]
mov edx, 3
call fcn.004044d0
lea eax, [ebp - 0x14]
mov edx, dword [0x4657d8]
call fcn.00404f38
lea eax, [ebp - 0xc]
call fcn.004044ac
ret