Function at 0x102e8d0
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x10a6184]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
mov eax, dword [0x10a60d8]
mov ebx, 0x10a60d8
cmp eax, ebx
je 0x102e916
test byte [eax + 0x1c], 1
je 0x102e916
cmp byte [eax + 0x19], 5
jb 0x102e916
push 0x1002bc4
push 0xb0
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01015b76
push 0x10217ed
lea eax, [esi + 0xa8]
push eax
lea eax, [esi + 0xa4]
push eax
lea eax, [esi + 0xa0]
push eax
mov ecx, esi
call fcn.01016bda
mov edi, eax
mov eax, dword [0x10a60d8]
cmp eax, ebx
je 0x102e969
test byte [eax + 0x1c], 1
je 0x102e969
cmp byte [eax + 0x19], 5
jb 0x102e969
push edi
push 0x1002bc4
push 0xb1
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
mov eax, dword [0x10a60d8]
test edi, edi
jl 0x102eafe
push 0x102e824
lea eax, [esi + 0xb4]
push eax
lea eax, [esi + 0xb0]
push eax
lea eax, [esi + 0xac]
push eax
mov ecx, esi
call fcn.01016bda
mov edi, eax
mov eax, dword [0x10a60d8]
cmp eax, ebx
je 0x102e9c4
test byte [eax + 0x1c], 1
je 0x102e9c4
cmp byte [eax + 0x19], 5
jb 0x102e9c4
push edi
push 0x1002bc4
push 0xb2
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
mov eax, dword [0x10a60d8]
test edi, edi
jl 0x102eafe
and dword [ebp - 0x14], 0
xor eax, eax
lea edi, [ebp - 0x10]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
mov edi, eax
test edi, edi
jl 0x102eb35
push 0x28
lea ecx, [esi + 0xec]
call fcn.01020b1e
push 0x28
push eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov edi, eax
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, 0x8007000e
js 0x102eb35
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 0xc8], eax
mov ebx, 0x80070000
test eax, eax
je 0x102ea3d
xor edi, edi
jmp 0x102ea50
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x102ea4e
and eax, 0xffff
or eax, ebx
mov edi, eax
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x102ea89
test byte [eax + 0x1c], 1
je 0x102ea89
cmp byte [eax + 0x19], 5
jb 0x102ea89
push dword [esi + 0xc8]
push edi
push 0x1002bc4
push 0xb3
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010163bb
mov eax, dword [0x10a60d8]
xor ecx, ecx
cmp edi, ecx
jl 0x102eaf9
push ecx
push ecx
push esi
push 0x1020b51
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0xc4], eax
test eax, eax
je 0x102eaad
xor edi, edi
jmp 0x102eac0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x102eabe
and eax, 0xffff
or eax, ebx
mov edi, eax
mov eax, dword [0x10a60d8]
cmp eax, 0x10a60d8
je 0x102eb24
test byte [eax + 0x1c], 1
je 0x102eaf9
cmp byte [eax + 0x19], 5
jb 0x102eaf9
push edi
push dword [esi + 0xc4]
push 0x1002bc4
push 0xb4
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010163bb
mov eax, dword [0x10a60d8]
mov ebx, 0x10a60d8
cmp eax, ebx
je 0x102eb24
test byte [eax + 0x1c], 1
je 0x102eb24
cmp byte [eax + 0x19], 5
jb 0x102eb24
push edi
push 0x1002bc4
push 0xb5
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010160ad
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01039921
leave
ret
mov eax, dword [0x10a60d8]
jmp 0x102eafe