Function at 0x45b658
Capabilities:
Create process on windows

Disassembly:
push 0x98
mov eax, 0x5e40e5
call fcn.0046d2ba
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
push 0x44
pop edi
mov dword [ebp - 0x50], eax
xor eax, eax
push edi
push eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0xa4]
push eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], esi
call fcn.004830b0
mov dword [ebp - 0xa4], edi
lea eax, [ebp - 0x60]
push 0x10
xor edi, edi
push edi
push eax
call fcn.004830b0
add esp, 0x18
mov dword [ebp - 0x18], edi
xor eax, eax
mov word [ebp - 0x28], ax
push 7
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], edi
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 1
call fcn.00473742
test al, al
je 0x45b6e9
rdtscp
push edi
test al, 0xc3
inc esp
jle 0x45b71c
loop 0x45b724
rcl ebp, 1
mov al, 0xa5
mov ch, 0x79
add dword [ebx - 0xcc47a3], ecx
mov esi, dword [ebp - 0x4c]
test esi, esi
je 0x45b707
cmp word [esi], di
jne 0x45b6f6
mov eax, edi
jmp 0x45b6fd
push esi
call fcn.00491757
pop ecx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00402650
or esi, 0xffffffff
cmp dword [ebp - 0x30], 0
jne 0x45b72c
cmp word [ebx], di
jne 0x45b719
mov eax, edi
jmp 0x45b720
push ebx
call fcn.00491757
pushal
add eax, dword [eax]
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00402650
jmp 0x45b77f
fsubr st(0)
outsd dx, dword es:[esi]
cli
invalid
mov edi, 0x5ea424
push edi
call fcn.00491757
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00402650
xor eax, eax
cmp word [ebx], ax
je 0x45b750
push ebx
call fcn.00491757
pop ecx
push eax
push ebx
lea ecx, [ebp - 0x28]
call fcn.00405710
mov edi, 0x5eeea8
push edi
call fcn.00491757
pop ecx
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.00405710
push esi
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405600
call fcn.00473490
test al, al
je 0x45b799
int3
call fcn.004733c1
test al, al
je 0x45b7c5
imul ebp, dword [esi], 0xffffffaf
mov dl, 0xc9
daa
pushal
movsb byte es:[edi], byte [esi]
pop ss
inc edi
mov bl, 0x8c
dec ecx
retf
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0x67
call fcn.004755bf
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
pop ecx
cmovae eax, dword [ebp - 0x28]
xor ebx, ebx
pop ecx
lea ecx, [ebp - 0x60]
push ecx
lea ecx, [ebp - 0xa4]
push ecx
push ebx
push ebx
push ebx
push 1
push ebx
push ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x45b80c
mov esi, ebx
jmp 0x45b89f
cmp byte [ebp + 0x10], bl
je 0x45b822
cmp dword [ebp + 0x14], ebx
cmovg esi, dword [ebp + 0x14]
push esi
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, dword [ebp - 0x50]
test esi, esi
je 0x45b83f
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x45b83f
sal byte [ebp + eax - 0x75], 0x45
mov esp, 0xeae80689
jge 0x45b844
mov eax, dword [ebp - 0x44]
mov dword [esi], eax
call fcn.0047362e
add byte [eax + eax*8 - 0x3299e08c], al
popal
test al, al
je 0x45b867
int 0x61
lodsb al, byte [esi]
insb byte es:[edi], dx
adc esi, dword [eax]
inc esp
invalid
call fcn.00473925
test al, al
je 0x45b88c
jno 0x45b7f5
mov ch, 0x90
wait
cwde
sahf
add al, 0xfc
push es
jg 0x45b837
popfd
and dh, ch
invalid
push dword [ebp - 0x60]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x5c]
call esi
xor esi, esi
inc esi
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.0041f8c0
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.0041f8c0
mov eax, esi
call fcn.0046d264
ret