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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b169e
mov eax, dword fs:[0]
push eax
sub esp, 0x42c
mov eax, dword [0x100dd3e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x100f9104
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x100f91f0], 0
je 0x100a213a
push 0x100f9104
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x100a24be
mov dword [0x100f91f0], 1
and dword [ebp - 0x228], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x228], eax
mov eax, dword [0x100f91ec]
mov ecx, dword [ebp - 0x228]
mov dword [eax + 0x20], ecx
mov eax, dword [0x100f91ec]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x34c], ecx
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov edi, dword [0x100f91ec]
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 [0x100f91ec]
add edi, 0x80
mov ecx, 0xb3
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x100f91ec]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x5f4], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [0x100f91ec]
mov dword [ecx + 0x18], eax
and word [ebp - 0x21c], 0
push 0x206
push 0
lea eax, [ebp - 0x21a]
push eax
call fcn.10070cb0
add esp, 0xc
and word [ebp - 0x3d4], 0
push 0x18e
push 0
lea eax, [ebp - 0x3d2]
push eax
call fcn.10070cb0
add esp, 0xc
mov dword [ebp - 0x244], 0xc
and dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 1
push 0
push 0
push 1
lea eax, [ebp - 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], 0x44
push 0x40
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.10070cb0
add esp, 0xc
and dword [ebp - 0x238], 0
xor eax, eax
lea edi, [ebp - 0x234]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x220], 0
mov dword [ebp - 0x3f0], 0x81
mov word [ebp - 0x3ec], 1
push 0
lea eax, [ebp - 0x21c]
push eax
push 0x104
push 0
push 0x100c4454
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
lea eax, [ebp - 0x42c]
push eax
call fcn.100a9dad
pop ecx
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x438], eax
and dword [ebp - 4], 0
push 0x100c4470
push dword [ebp - 0x438]
lea eax, [ebp - 0x224]
push eax
call fcn.10010702
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x42c]
call fcn.100104e6
push 0xffffffffffffffff
lea ecx, [ebp - 0x224]
call fcn.1003338d
push eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
call fcn.10071920
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x220], eax
cmp dword [0x100f91f4], 0
je 0x100a2329
call dword [0x100f91f4]
cmp dword [ebp - 0x220], 0
je 0x100a246a
cmp dword [ebp - 0x420], 0
je 0x100a246a
movzx eax, word [ebp - 0x21c]
test eax, eax
je 0x100a246a
mov ecx, 0x100f93b8
call fcn.10004adf
movzx eax, al
test eax, eax
jne 0x100a23a4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push dword [0x100f91ec]
push dword [ebp - 0x220]
push dword [ebp - 0x420]
mov ecx, 0x100f93b8
call fcn.10004d1a
push eax
push 0x100c44a0
push 0xffffffffffffffff
push 0xc8
lea eax, [ebp - 0x3d4]
push eax
call fcn.10071dc5
add esp, 0x24
jmp 0x100a23d8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push dword [0x100f91ec]
push dword [ebp - 0x220]
push dword [ebp - 0x420]
push 0x100c44f8
push 0xffffffffffffffff
push 0xc8
lea eax, [ebp - 0x3d4]
push eax
call fcn.10071dc5
add esp, 0x20
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathQuoteSpacesW]
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x41c]
push eax
push 0
push 0
push 0
push 1
push 0
push 0
lea eax, [ebp - 0x3d4]
push eax
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x100a246a
and dword [ebp - 0x428], 0
xor eax, eax
lea edi, [ebp - 0x424]
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x424], eax
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x428]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push dword [ebp - 0x238]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x234]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x420]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x100f91f8], 0
je 0x100a2485
call dword [0x100f91f8]
push 0x100f9104
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]
and dword [ebp - 0x430], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.100104e6
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006e011
leave
ret