Function at 0x48e5c2
Capabilities:
Create process on windows
Get process heap flags
Get process heap force flags
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x4d2a20]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x4d6ec4
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4d6f74], 0
je 0x48e5fd
push 0x4d6ec4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x48e898
mov dword [0x4d6f74], 1
and dword [ebp - 0x218], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x218], eax
mov eax, dword [0x4d6f70]
mov ecx, dword [ebp - 0x218]
mov dword [eax + 0x20], ecx
mov eax, dword [0x4d6f70]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x34c], ecx
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov edi, dword [0x4d6f70]
add edi, 0x30
push 0x14
pop ecx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 4]
mov edi, dword [0x4d6f70]
add edi, 0x80
mov ecx, 0xb3
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x4d6f70]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x5f4], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x4d6f70]
mov dword [ecx + 0x18], eax
and word [ebp - 0x210], 0
push 0x206
push 0
lea eax, [ebp - 0x20e]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
and word [ebp - 0x3c8], 0
push 0x18e
push 0
lea eax, [ebp - 0x3c6]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dword [ebp - 0x234], 0xc
and dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 1
push 0
push 0
push 1
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], 0x44
push 0x40
push 0
lea eax, [ebp - 0x40c]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
and dword [ebp - 0x228], 0
xor eax, eax
lea edi, [ebp - 0x224]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x214], 0
mov dword [ebp - 0x3e4], 0x81
mov word [ebp - 0x3e0], 1
push 0
lea eax, [ebp - 0x210]
push eax
push 0x104
push 0
push 0x4b6028
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x214], eax
cmp dword [0x4d6f78], 0
je 0x48e77e
call dword [0x4d6f78]
cmp dword [ebp - 0x214], 0
je 0x48e85e
cmp dword [ebp - 0x414], 0
je 0x48e85e
movzx eax, word [ebp - 0x210]
test eax, eax
je 0x48e85e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push dword [0x4d6f70]
push dword [ebp - 0x214]
push dword [ebp - 0x414]
push str.bugreport__buginfo:_p:_p:_p:_lu
push 0xc8
lea eax, [ebp - 0x3c8]
push eax
call sub.MSVCR80.dll__snwprintf
add esp, 0x1c
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x410]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
lea eax, [ebp - 0x3c8]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x48e85e
and dword [ebp - 0x41c], 0
xor eax, eax
lea edi, [ebp - 0x418]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x418], eax
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x41c]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x414]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x4d6f7c], 0
je 0x48e879
call dword [0x4d6f7c]
push 0x4d6ec4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x1234
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0047676d
leave
ret