Function at 0x576c60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ec23e
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0xd8
mov eax, dword [0x689140]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x5c], edi
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0x43334345
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x7c], 0x33463341
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x48], 0x6b736174
mov dword [ebp - 0x44], 0x73
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], 0x15c
movlpd qword [ebp - 0x28], xmm0
call fcn.00425420
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x576d8b
mov eax, dword [eax]
push 0
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x5f2510]
mov ecx, dword [ebp - 0x70]
call esi
test al, al
je 0x576d8b
push 0x29
push str.Check_task_processor_state_started_for_
lea eax, [edi + 0x60]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.004fdd60
mov ecx, dword [ebp - 0x70]
push eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 1
push eax
push 0
call fcn.004266b0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x90]
cmp ecx, 0xf
jbe 0x576d8b
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x576d81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57760e
push ecx
push edx
call fcn.0059886a
add esp, 8
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x8c], ecx
test ecx, ecx
je 0x576ddb
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x576ddb
mov eax, dword [ecx]
mov esi, dword [eax]
mov ecx, esi
call dword [0x5f2510]
mov ecx, dword [ebp - 0x8c]
call esi
mov ecx, dword [ebp - 0x8c]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x576ddb
mov eax, dword [ecx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5f2510]
mov ecx, dword [ebp - 0x8c]
call esi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 2
mov byte [eax], 0
cmp byte [edi + 0xc], 0
jne 0x5775ee
mov eax, dword [edi + 0x28]
cmp eax, dword [edi + 0x2c]
je 0x5775ee
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryUnbiasedInterruptTime]
mov ecx, dword [edi + 0x78]
mov eax, dword [edi + 0x7c]
add ecx, 0x6b49d200
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
adc eax, 0
cmp ecx, esi
jne 0x576e29
cmp eax, edx
je 0x5775ee
cmp eax, edx
jg 0x576e37
jl 0x576e33
cmp ecx, esi
jae 0x576e37
or al, 0xff
jmp 0x576e39
mov al, 1
test al, al
jns 0x5775ee
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_QueryUnbiasedInterruptTime]
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push 0x6ee3a8
mov dword [ebp - 0x70], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x6ee3c0]
mov edx, dword [ebp - 0x70]
mov eax, dword [0x6ee3c4]
cmp edx, ecx
jne 0x576e75
cmp esi, eax
je 0x576e89
cmp esi, eax
jg 0x576e83
jl 0x576e7f
cmp edx, ecx
jae 0x576e83
or al, 0xff
jmp 0x576e85
mov al, 1
test al, al
js 0x576ec6
push 0x6ee3a8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0xe8]
push eax
call fcn.00582290
add esp, 4
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x50], xmm0
movups xmm0, xmmword [eax + 0x10]
lea eax, [ebp - 0x50]
push eax
movups xmmword [ebp - 0x40], xmm0
call fcn.005820e0
push 0x6ee3a8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
movups xmm0, xmmword [0x6ee3e8]
push 0x6ee3a8
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [0x6ee3f8]
movups xmmword [ebp - 0x48], xmm0
movq xmm0, qword [0x6ee408]
movsd qword [ebp - 0xb0], xmm0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movsd xmm0, qword [0x649628]
comisd xmm0, xmmword [ebp - 0xb0]
seta al
test al, al
jne 0x5775ee
mov eax, dword [edi + 0x90]
lea ecx, [edi + 0x90]
or eax, dword [ecx + 4]
mov edx, dword [edi + 0x28]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0xac], ecx
jne 0x576f3a
lea eax, [edi + 0x38]
lea ecx, [edx + 0x10]
jmp 0x576ffd
add edi, 0x38
mov dword [ebp - 0x8c], edi
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0x48]
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
call dword [0x5f2510]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x70]
mov edi, dword [ebp - 0xac]
add ecx, 0x10
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x70], ecx
mov esi, dword [ecx]
mov edx, dword [ecx + 4]
mov eax, dword [edi + 4]
cmp dword [edi], esi
jne 0x576f83
cmp eax, edx
jne 0x576f85
xor al, al
jmp 0x576f93
cmp eax, edx
jg 0x576f91
jl 0x576f8d
cmp dword [edi], esi
jae 0x576f91
or al, 0xff
jmp 0x576f93
mov al, 1
test al, al
mov eax, dword [ebp - 0x2c]
cmovs edi, ecx
mov esi, dword [eax]
mov edx, dword [eax + 4]
cmp esi, 0xffffffff
jne 0x576fad
cmp edx, 0x7fffffff
je 0x576fc2
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebp - 0x2c], eax
cmp eax, 0xffffffff
jne 0x576fcc
cmp edi, 0x7fffffff
jne 0x576fcc
or esi, 0xffffffff
mov edx, 0x7fffffff
jmp 0x576fe9
mov eax, esi
mov ecx, edx
shld ecx, eax, 2
shl eax, 2
add esi, eax
adc edx, ecx
mov ecx, dword [ebp - 0x70]
shld edx, esi, 1
add esi, esi
add esi, dword [ebp - 0x2c]
adc edx, edi
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp esi, edi
jne 0x57704f
cmp edx, eax
jne 0x577051
mov eax, dword [ebp - 0x8c]
mov byte [ebp - 0x69], 0
mov dword [ebp - 0x70], ecx
mov edi, dword [eax]
mov eax, dword [edi]
mov esi, dword [eax + 0x44]
lea eax, [ebp - 0x78]
push eax
mov ecx, esi
call dword [0x5f2510]
mov ecx, edi
call esi
mov edx, dword [eax]
mov esi, dword [eax + 4]
cmp edx, 0xffffffff
jne 0x57702d
cmp esi, 0x7fffffff
je 0x577045
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [ebp - 0x2c], ecx
cmp ecx, 0xffffffff
jne 0x57706f
cmp edi, 0x7fffffff
jne 0x57706f
or edx, 0xffffffff
mov esi, 0x7fffffff
jmp 0x577089
cmp edx, eax
jg 0x57705d
jl 0x577059
cmp esi, edi
jae 0x57705d
or al, 0xff
jmp 0x57705f
mov al, 1
test al, al
jns 0x576ff7
mov eax, dword [ebp - 0x8c]
mov byte [ebp - 0x69], 1
jmp 0x577004
mov eax, edx
mov ecx, esi
shld ecx, eax, 2
shl eax, 2
add edx, eax
adc esi, ecx
shld esi, edx, 1
add edx, edx
add edx, dword [ebp - 0x2c]
adc esi, edi
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp edx, ecx
jne 0x57709b
cmp esi, eax
jne 0x57709d
xor al, al
jmp 0x5770ab
cmp esi, eax
jg 0x5770a9
jl 0x5770a5
cmp edx, ecx
jae 0x5770a9
or al, 0xff
jmp 0x5770ab
mov al, 1
cmp byte [ebp - 0x69], 0
jne 0x5770b9
test al, al
jns 0x5775ee
mov esi, dword [ebp - 0x5c]
mov edx, dword [esi + 0x58]
mov eax, dword [esi + 0x4c]
cmp eax, dword [esi + 0x50]
jne 0x5771d9
test edx, edx
jne 0x5771d9
push edx
lea eax, [ebp - 0x5c]
push eax
push edx
push 0x6ee9b0
call dword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x577613
cmp dword [ebp - 0x5c], 0
je 0x5771ce
mov dword [ebp - 0xb8], 0x6ee9b0
mov dword [ebp - 0xb4], 4
cmp dword [esi + 0x74], 0xf
lea ecx, [esi + 0x60]
xorps xmm0, xmm0
movq qword [ebp - 0x84], xmm0
jbe 0x577121
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x70]
sub esp, 8
mov dword [ebp - 0x78], eax
mov eax, esp
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0xc0000000
mov dword [ebp - 0x74], str.no_processor_thread_is_created_and_running
mov dword [ebp - 0x80], 0xb0000008
mov byte [ebp - 4], 3
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x48]
push 0x18
push str.task_processor___:_.
mov dword [eax], 2
call fcn.00420b70
add esp, 0x10
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x34], 0xf
cmova ecx, dword [ebp - 0x48]
xor edx, edx
push 3
call fcn.0045cbc0
mov ecx, dword [ebp - 0x34]
add esp, 4
cmp ecx, 0xf
jbe 0x5771b7
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5771ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x577618
push ecx
push edx
call fcn.0059886a
add esp, 8
push 0
push 0
push 0x6ee9b0
call dword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x57761d
mov eax, dword [ebp - 0x20]
mov byte [eax], 1
jmp 0x5775ee
mov ecx, dword [esi + 0x44]
sub ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x5c]
sar ecx, 2
cmp ecx, eax
jbe 0x57739d
push 0
lea eax, [ebp - 0x20]
push eax
push 0
push 0x6ee9b4
call dword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x577622
cmp dword [ebp - 0x20], 0
je 0x5772ee
mov dword [ebp - 0xb8], 0x6ee9b4
mov dword [ebp - 0xb4], 4
cmp dword [esi + 0x74], 0xf
lea ecx, [esi + 0x60]
xorps xmm0, xmm0
movq qword [ebp - 0x84], xmm0
jbe 0x57723d
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x70]
sub esp, 8
mov dword [ebp - 0x78], eax
mov eax, esp
mov dword [ebp - 0x7c], ecx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0xc0000000
mov dword [ebp - 0x74], str.waiting_threads_do_not_extract_tasks
mov dword [ebp - 0x80], 0xb0000008
mov byte [ebp - 4], 5
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x48]
push 0x18
push str.task_processor___:_.
mov dword [eax], 2
call fcn.00420b70
add esp, 0x10
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x34], 0xf
cmova ecx, dword [ebp - 0x48]
xor edx, edx
push 3
call fcn.0045cbc0
mov ecx, dword [ebp - 0x34]
add esp, 4
cmp ecx, 0xf
jbe 0x5772d3
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5772c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x577627
push ecx
push edx
call fcn.0059886a
add esp, 8
push 0
push 0
push 0x6ee9b4
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x57762c
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x20], eax
cmp eax, ecx
je 0x577386
mov edx, dword [eax]
lea ecx, [ebp - 0x28]
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
call fcn.00565aa0
mov byte [ebp - 4], 7
mov edi, dword [ebp - 0x28]
test edi, edi
je 0x577338
mov eax, dword [edi + 0x90]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x5f2510]
lea ecx, [edi + 0x90]
call esi
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x24]
test edi, edi
je 0x577378
or eax, 0xffffffff
lock xadd dword [edi + 4], eax
jne 0x577378
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x5f2510]
mov ecx, edi
call esi
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x577378
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5f2510]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
add eax, 4
jmp 0x5772f7
mov esi, dword [ebp - 0x5c]
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x5775ee
mov dword [esi + 0x44], eax
jmp 0x5775ee
test edx, edx
jne 0x5775ee
mov al, 1
mov ecx, 0x6ee9ac
xchg byte [ecx], al
test al, al
jne 0x577480
cmp byte [ebp - 0x69], al
je 0x5773c7
mov ecx, str.all_threads_are_busy_for_long_time
mov edx, 0x22
jmp 0x5773d1
mov ecx, str.task_not_processed_for_long_time
mov edx, 0x20
cmp dword [esi + 0x74], 0xf
lea edi, [esi + 0x60]
xorps xmm0, xmm0
movq qword [ebp - 0x48], xmm0
jbe 0x5773e5
mov edi, dword [esi + 0x60]
mov eax, dword [esi + 0x70]
sub esp, 8
mov dword [ebp - 0x3c], eax
mov eax, esp
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x48], 0xc0000000
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x44], 0xc0000008
mov byte [ebp - 4], 2
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x88]
push 0x18
push str.task_processor___:_.
mov dword [eax], 2
call fcn.00420b70
add esp, 0x10
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0xf
cmova ecx, dword [ebp - 0x88]
xor edx, edx
push 3
call fcn.0045cbc0
mov ecx, dword [ebp - 0x74]
add esp, 4
cmp ecx, 0xf
jbe 0x577480
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x577476
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x577631
push ecx
push edx
call fcn.0059886a
add esp, 8
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_QueryUnbiasedInterruptTime]
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x8c]
add edx, 0x23c34600
mov edi, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
adc eax, 0
cmp edx, edi
jne 0x5774ad
cmp eax, ecx
je 0x5774ca
cmp eax, ecx
jg 0x5774bb
jl 0x5774b7
cmp edx, edi
jae 0x5774bb
or al, 0xff
jmp 0x5774bd
mov al, 1
test al, al
jle 0x5774ca
mov ecx, dword [ebp - 0x20]
xor al, al
mov byte [ecx], al
jmp 0x577533
mov dword [esi + 0x8c], ecx
mov al, 1
mov ecx, dword [ebp - 0x20]
mov dword [esi + 0x88], edi
mov byte [ecx], al
jmp 0x577533
or esi, 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 4], esi
mov dword [ebp - 0x78], 0x43334345
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x94], ecx
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x7c], 0x33463341
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa4], 0x6b736174
mov dword [ebp - 0xa0], 0x73
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x90], 0x19a
movlpd qword [ebp - 0x68], xmm0
call fcn.00425420
mov dword [ebp - 4], 0xa
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x5775b2
push str.Check_task_processor_state_ended
lea eax, [ebp - 0xa4]
push eax
push 0
call fcn.0046acb0
mov edi, dword [ebp - 0x64]
test edi, edi
je 0x5775ee
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x5775ee
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [0x5f2510]
mov ecx, edi
call esi
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x5775ee
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5f2510]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0059860b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.005a3d9f
call fcn.005af0c0
call fcn.005a3d9f
call fcn.00598200
call fcn.005af0c0
call fcn.005a3d9f
call fcn.00598200
call fcn.005a3d9f
int3