Function at 0x68a2acb0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x68a55a55
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x68aaf040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x34], esi
xorps xmm0, xmm0
mov byte [ebp - 0x29], 1
mov dword [esi + 0x20], 1
movlpd qword [ebp - 0x28], xmm0
jmp 0x68a2acf7
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x28]
push eax
push 0
push dword [esi + 0x24]
call dword [sym.imp.ntdll.dll_ZwWaitForSingleObject]
cmp eax, 0x102
jne 0x68a2b01e
push 0x68a5835c
push 0x68
call fcn.68a398a0
mov edi, eax
add esp, 8
mov dword [ebp - 0x30], edi
test edi, edi
je 0x68a2b019
mov edx, dword [esi + 0x20]
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x1c], 0
lea ecx, [edx + 1]
mov dword [esi + 0x20], ecx
lea ecx, [edi + 0x38]
mov dword [edi + 8], edx
lea edx, [edi + 0x10]
mov dword [edi + 0xc], 0
mov dword [edx + 4], 0xffffffff
movups xmmword [edx + 8], xmm0
mov dword [edx + 0x18], 0
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx], method.asw::ExponentialAllocator.virtual_0
mov dword [edi + 0x34], esi
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0x1000000
mov byte [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], edx
mov dword [ecx], 0x68aa8504
mov eax, dword [esi + 0x24]
mov dword [edi + 0x54], ecx
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], edx
mov dword [edi + 0x60], 0
mov dword [edi + 0x50], 0x68aa8574
mov dword [edi + 0x64], ecx
lea ecx, [edi + 0x10]
mov dword [ebp - 4], 0
push ecx
push 0x2c
push 0x160
call fcn.68a2d310
mov esi, eax
test esi, esi
js 0x68a2afe5
mov edx, dword [edi + 0x34]
lea ecx, [edi + 0x38]
push dword [edx + 0x1c]
movzx eax, byte [edx + 0xb]
push dword [edx + 0x18]
push dword [edx + 0x14]
push dword [edx + 0x10]
push dword [edx + 0xc]
push eax
movzx eax, byte [edx + 0xa]
push eax
movzx eax, byte [edx + 9]
push eax
push ecx
push dword [edx + 4]
call fcn.68a2ca70
mov esi, eax
test esi, esi
js 0x68a2afe5
mov eax, dword [ebp - 0x34]
add eax, 0x30
push eax
call dword [sym.imp.ntdll.dll_RtlEnterCriticalSection]
mov esi, eax
test esi, esi
js 0x68a2b012
mov esi, dword [ebp - 0x34]
mov eax, dword [esi + 0x48]
lea ecx, [esi + 0x48]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [eax + 4], edi
lea eax, [esi + 0x30]
push eax
mov dword [ecx], edi
call dword [sym.imp.ntdll.dll_RtlLeaveCriticalSection]
cmp byte [ebp - 0x29], 0
mov byte [ebp - 0x1c], 1
je 0x68a2ae62
push 0
push dword [esi + 0x28]
call dword [sym.imp.ntdll.dll_ZwSetEvent]
mov byte [ebp - 0x29], 0
mov eax, dword [edi + 0x5c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 1
mov ecx, dword [edi + 0x64]
push eax
call fcn.68a2c530
mov esi, eax
test esi, esi
js 0x68a2aed4
cmp esi, 0x103
jne 0x68a2aed4
push 0
push dword [edi + 0x58]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.68a2b700
mov ecx, dword [ebp - 0x14]
mov esi, eax
test esi, esi
js 0x68a2aed7
xor eax, eax
cmp byte [ecx + 4], 1
je 0x68a2aec5
mov esi, dword [ecx + 0x18]
cmp esi, 0x103
je 0x68a2aed0
test esi, esi
jns 0x68a2aeca
jmp 0x68a2aed7
mov eax, 0xc0000120
mov esi, eax
test esi, esi
js 0x68a2aed7
xor esi, esi
jmp 0x68a2aed7
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 2
mov dword [ebp - 0x30], edi
test ecx, ecx
je 0x68a2af54
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x68a2af04
cmp eax, 0xffffffff
je 0x68a2af04
push eax
mov dword [ebp - 0x30], edi
call dword [sym.imp.ntdll.dll_ZwClose]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], 0
jmp 0x68a2af07
mov dword [ebp - 0x30], edi
mov eax, dword [ecx + 0x14]
test eax, eax
je 0x68a2af27
cmp eax, 0xffffffff
je 0x68a2af27
push eax
call dword [sym.imp.ntdll.dll_ZwClose]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x30], edi
mov dword [ecx + 0x14], 0
mov eax, dword [ebp - 0x18]
xorps xmm0, xmm0
mov dword [ecx + 0xc], 0
movups xmmword [ecx + 0x18], xmm0
mov dword [ecx + 0x28], 0
mov eax, dword [eax]
push 0x2c
push ecx
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x68a57338]
mov ecx, dword [ebp - 0x18]
call edi
mov byte [ebp - 4], 0
test esi, esi
js 0x68a2afba
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [ebp - 0x30]
push esi
push esi
push edi
push 0x68a2a9d0
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x68a2afa3
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x1c], 0
jne 0x68a2af97
push ecx
mov ecx, eax
call fcn.68a2ab50
test esi, esi
jns 0x68a2acf4
mov eax, esi
jmp 0x68a2b01e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x68a2af7f
movzx esi, si
or esi, 0x80070000
jmp 0x68a2af7f
mov eax, dword [ebp - 0x34]
mov edi, dword [eax + 0x50]
test edi, edi
je 0x68a2af7f
push esi
push str.PipeServer::Impl::HandleIncomingConnections___failed_to_wait_for_any_client_with_an_error:_0x_x
push 0x2a8
push str.C:BUILDwork_b69487f8af4577daAvast500Scanner_aswPipeLibpipeserver.cpp
push 2
mov ecx, edi
call dword [0x68a57338]
call edi
add esp, 0x14
jmp 0x68a2af7f
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x50]
mov eax, edi
mov dword [ebp - 0x30], ecx
test ecx, ecx
je 0x68a2af82
push esi
push str.PipeServer::Impl::HandleIncomingConnections___failed_to_create_new_connection_with_an_error:_0x_x
push 0x2ae
push str.C:BUILDwork_b69487f8af4577daAvast500Scanner_aswPipeLibpipeserver.cpp
push 2
call dword [0x68a57338]
call dword [ebp - 0x30]
add esp, 0x14
mov eax, edi
jmp 0x68a2af82
mov eax, 0xc000009a
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.68a3943b
mov esp, ebp
pop ebp
ret