Function at 0x4ad7c0
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
push 0
call fcn.006e7126
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edx
cmp ecx, 0xf
jne 0x4ade8b
cmp dword [0x7f02e4], 0
je 0x4add44
xor ebx, ebx
mov dword [esp + 0x10], ebx
cmp dword [0x7f02c8], ebx
je 0x4add2c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop
mov eax, dword [0x7f02e4]
lea esi, [ebx + ebx*2]
shl esi, 2
mov dword [esp + 0x2c], esi
cmp dword [esi + eax + 8], 0
je 0x4adb85
nop word [eax + eax]
push 0
call fcn.006e7126
add esp, 4
push dword [esp + 0x24]
push dword [esp + 0x2c]
push edx
push eax
call fcn.006e70e1
fstp qword [esp + 0x28]
movsd xmm0, qword [esp + 0x28]
add esp, 0x10
comisd xmm0, xmmword [0x7d9cf8]
jae 0x4ad875
push 0
call edi
mov eax, dword [0x7f02e4]
cmp dword [esi + eax + 8], 0
jne 0x4ad830
jmp 0x4adb85
mov eax, dword [0x7f02e4]
mov eax, dword [esi + eax]
test eax, eax
jne 0x4ad88b
mov dword [esp + 0x18], 0xffffffff
jmp 0x4ad89c
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov dword [esp + 0x18], 0
mov eax, dword [0x7f02dc]
test eax, eax
je 0x4ada03
cmp dword [eax + 0x14], 4
jl 0x4ada03
push ebx
push 0x226
push str.d:_srcmaster_2022ClientOSSServicecsproxy_srcchild.c
push str.__s:_d_:_n__child_thread___zu__has_been_killed
push 4
call fcn.00472f60
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], edi
test edi, edi
je 0x4ada03
mov edi, dword [0x7f02dc]
test edi, edi
je 0x4ad9f7
cmp byte [edi + 8], 0
je 0x4ad9f7
cmp dword [edi + 0x14], 4
jl 0x4ad9f7
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ad902
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4ad9f7
test esi, esi
je 0x4ad9f7
push 8
push 1
call fcn.006e6b64
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4ad9f7
push 1
push esi
call fcn.006e6b64
add esp, 8
mov dword [ebx], eax
test eax, eax
jne 0x4ad950
mov dword [ebx + 4], eax
jmp 0x4ad9f7
push esi
push dword [esp + 0x18]
push eax
call fcn.006dccc0
mov dword [ebx + 4], esi
add esp, 0xc
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4ad974
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4ad984
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4ad9f7
cmp byte [esi + 0x10], 0
je 0x4ad9a1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4ad9a1
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4ad9d2
test eax, eax
je 0x4ad9e1
mov dword [eax], ebx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov ecx, dword [eax + 8]
mov dword [eax + 4], edi
test ecx, ecx
je 0x4ad9db
mov dword [ecx + 4], eax
jmp 0x4ad9de
test eax, eax
je 0x4ad9e1
mov dword [eax], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4ad9f7
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4ad9f7
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esp + 0x14]
call fcn.006e60fe
add esp, 4
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4adb81
mov eax, dword [0x7f02dc]
test eax, eax
je 0x4adb81
cmp dword [eax + 0x14], 3
jl 0x4adb81
push ebx
call fcn.006e72af
add esp, 4
push eax
push ebx
push 0x231
push str.d:_srcmaster_2022ClientOSSServicecsproxy_srcchild.c
push str.__s:_d_:_n__child_kill_children:_Could_not_cancel_child_thread__error__d:_s
push 3
call fcn.00472f60
mov edi, eax
add esp, 0x18
mov dword [esp + 0x14], edi
test edi, edi
je 0x4adb81
mov edi, dword [0x7f02dc]
test edi, edi
je 0x4adb75
cmp byte [edi + 8], 0
je 0x4adb75
cmp dword [edi + 0x14], 3
jl 0x4adb75
mov esi, eax
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4ada80
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4adb75
test esi, esi
je 0x4adb75
push 8
push 1
call fcn.006e6b64
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4adb75
push 1
push esi
call fcn.006e6b64
add esp, 8
mov dword [ebx], eax
test eax, eax
jne 0x4adace
mov dword [ebx + 4], eax
jmp 0x4adb75
push esi
push dword [esp + 0x18]
push eax
call fcn.006dccc0
mov dword [ebx + 4], esi
add esp, 0xc
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4adaf2
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4adb02
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4adb75
cmp byte [esi + 0x10], 0
je 0x4adb1f
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4adb1f
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4adb50
test eax, eax
je 0x4adb5f
mov dword [eax], ebx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov ecx, dword [eax + 8]
mov dword [eax + 4], edi
test ecx, ecx
je 0x4adb59
mov dword [ecx + 4], eax
jmp 0x4adb5c
test eax, eax
je 0x4adb5f
mov dword [eax], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4adb75
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4adb75
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esp + 0x14]
call fcn.006e60fe
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, dword [0x7f02e4]
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + eax]
test eax, eax
je 0x4adb9c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x7f02e4]
mov dword [esi + eax], 0
mov eax, dword [0x7f02dc]
test eax, eax
je 0x4add15
cmp dword [eax + 0x14], 5
jl 0x4add15
push ebx
push 0x237
push str.d:_srcmaster_2022ClientOSSServicecsproxy_srcchild.c
push str.__s:_d_:_n__child_thread___zu__has_stopped
push 5
call fcn.00472f60
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], edi
test edi, edi
je 0x4add15
mov edi, dword [0x7f02dc]
test edi, edi
je 0x4add09
cmp byte [edi + 8], 0
je 0x4add09
cmp dword [edi + 0x14], 5
jl 0x4add09
mov esi, eax
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4adc10
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4add09
test esi, esi
je 0x4add09
push 8
push 1
call fcn.006e6b64
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4add05
push 1
push esi
call fcn.006e6b64
add esp, 8
mov dword [ebx], eax
test eax, eax
jne 0x4adc5e
mov dword [ebx + 4], eax
jmp 0x4add05
push esi
push dword [esp + 0x18]
push eax
call fcn.006dccc0
mov dword [ebx + 4], esi
add esp, 0xc
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4adc82
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4adc92
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4add05
cmp byte [esi + 0x10], 0
je 0x4adcaf
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4adcaf
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4adce0
test eax, eax
je 0x4adcef
mov dword [eax], ebx
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov ecx, dword [eax + 8]
mov dword [eax + 4], edi
test ecx, ecx
je 0x4adce9
mov dword [ecx + 4], eax
jmp 0x4adcec
test eax, eax
je 0x4adcef
mov dword [eax], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4add05
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4add05
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [esp + 0x10]
push dword [esp + 0x14]
call fcn.006e60fe
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [0x7f02c8]
jne 0x4ad810
push dword [0x7f02e4]
call fcn.006e60fe
add esp, 4
mov dword [0x7f02e4], 0
mov esi, dword [0x7f02e0]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
test esi, esi
je 0x4add98
mov eax, dword [esi + 4]
test eax, eax
je 0x4add70
push eax
call ebx
push dword [esi + 4]
call fcn.006e60fe
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi]
test eax, eax
je 0x4add85
push eax
call fcn.006e60fe
add esp, 4
mov dword [esi], 0
push esi
call fcn.006e60fe
add esp, 4
mov dword [0x7f02e0], 0
mov edi, dword [0x7f02fc]
test edi, edi
je 0x4ade88
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4ade0e
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4ade07
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x14]
test esi, esi
je 0x4ade07
mov eax, dword [esi + 4]
test eax, eax
je 0x4adde9
push eax
call ebx
push dword [esi + 4]
call fcn.006e60fe
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi]
test eax, eax
je 0x4addfe
push eax
call fcn.006e60fe
add esp, 4
mov dword [esi], 0
push esi
call fcn.006e60fe
add esp, 4
mov dword [edi + 0x14], 0
mov eax, dword [edi]
test eax, eax
je 0x4ade23
push eax
call fcn.006e60fe
add esp, 4
mov dword [edi], 0
mov esi, dword [edi + 8]
test esi, esi
je 0x4ade55
nop word [eax + eax]
mov eax, dword [edi + 0x18]
mov ebx, esi
test eax, eax
je 0x4ade45
mov ecx, dword [esi]
test ecx, ecx
je 0x4ade45
push ecx
call eax
add esp, 4
mov esi, dword [esi + 8]
push ebx
call fcn.006e60fe
add esp, 4
test esi, esi
jne 0x4ade30
push edi
mov byte [edi + 0x10], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x18], 0
call fcn.006e60fe
add esp, 4
mov dword [0x7f02fc], 0
mov ecx, dword [ebp + 8]
mov eax, dword [0x7f02dc]
test eax, eax
je 0x4adffd
cmp dword [eax + 0x14], 5
jl 0x4adffd
push ecx
push 0x24c
push str.d:_srcmaster_2022ClientOSSServicecsproxy_srcchild.c
push str.__s:_d_:_n__Signal__d_has_been_sent_to_all_listening_threads
push 5
call fcn.00472f60
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], edi
test edi, edi
je 0x4adffd
mov edi, dword [0x7f02dc]
test edi, edi
je 0x4adff1
cmp byte [edi + 8], 0
je 0x4adff1
cmp dword [edi + 0x14], 5
jl 0x4adff1
mov esi, eax
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4adef1
mov eax, dword [edi + 0x20]
sub esi, ecx
add eax, esi
cmp dword [edi + 0x28], eax
jb 0x4adff1
test esi, esi
je 0x4adff1
push 8
push 1
call fcn.006e6b64
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4adff1
push 1
push esi
call fcn.006e6b64
add esp, 8
mov dword [ebx], eax
test eax, eax
jne 0x4adf4d
push dword [esp + 0x14]
mov dword [ebx + 4], eax
call fcn.006e60fe
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push dword [esp + 0x18]
push eax
call fcn.006dccc0
mov eax, dword [edi + 0x24]
add esp, 0xc
mov dword [ebx + 4], esi
test eax, eax
je 0x4adf71
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x24]
add dword [edi + 0x20], esi
test eax, eax
je 0x4adf81
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4adff1
cmp byte [esi + 0x10], 0
je 0x4adf9e
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4adf9e
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [esi + 0xc]
push 0xc
push 1
call fcn.006e6b64
add esp, 8
test edi, edi
je 0x4adfcc
test eax, eax
je 0x4adfdb
mov ecx, dword [edi + 8]
mov dword [eax], ebx
mov dword [eax + 8], ecx
mov dword [edi + 8], eax
mov dword [eax + 4], edi
test ecx, ecx
je 0x4adfd5
mov dword [ecx + 4], eax
jmp 0x4adfd8
test eax, eax
je 0x4adfdb
mov dword [eax], ebx
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
inc dword [esi + 4]
cmp byte [esi + 0x10], 0
je 0x4adff1
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4adff1
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esp + 0x14]
call fcn.006e60fe
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret