Function at 0x1cec4f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov edi, dword [ebp + 8]
call fcn.01c606b0
test edi, edi
je 0x1cec65c
prefetcht0 byte [edi]
mov eax, edi
and eax, 0xffe00000
mov esi, dword [eax + 0x1000]
mov ecx, edi
shr ecx, 9
and ecx, 0xfe0
lea edx, [eax + ecx]
add edx, 0x1000
movzx eax, byte [edx + 0x1e]
and eax, 0x3f
shl eax, 5
mov ebx, edi
sub ebx, dword [esi + 0x10]
sub edx, eax
prefetcht0 byte [edx]
cmp byte [esi], 2
je 0x1cec664
cmp byte [esi + 6], 0
je 0x1cec59c
test ebx, 0xfff
je 0x1cec827
mov edi, ebx
add ebx, 0xfffffffc
mov eax, dword [ebx]
and eax, 0x7fffffff
cmp eax, 1
je 0x1cec577
cmp byte [esi + 7], 0
jne 0x1cec87e
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0xfffffffe
lock cmpxchg dword [ebx], ecx
jne 0x1cec579
test al, 1
je 0x1cec849
and eax, 0x7fffffff
cmp eax, 1
jne 0x1cec851
mov ebx, edi
mov dword [ebp - 0x14], ebx
cmp byte [esi + 3], 0
je 0x1cec772
mov eax, dword [0x1d31114]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [eax + 0x90]
cmp ebx, 1
jbe 0x1cec734
cmp ebx, 2
jb 0x1cec772
mov edi, dword [edx + 8]
lea eax, [esi + 0x48]
cmp eax, edi
ja 0x1cec74e
lea ecx, [esi + 0x1148]
cmp ecx, edi
jb 0x1cec74e
sub edi, eax
sar edi, 5
add dword [ebx + 0x30], 1
adc dword [ebx + 0x34], 0
movzx eax, word [0x1d2feb0]
cmp edi, eax
ja 0x1cec746
mov eax, dword [ebx + edi*8 + 0x78]
bswap eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov dword [ebx + edi*8 + 0x78], ecx
inc byte [ebx + edi*8 + 0x7c]
movzx eax, word [ebx + edi*8 + 0x7e]
add dword [ebx], eax
add dword [ebx + 0x38], 1
adc dword [ebx + 0x3c], 0
mov al, byte [ebx + edi*8 + 0x7d]
cmp byte [ebx + edi*8 + 0x7c], al
ja 0x1cec802
lea edi, [ebx + edi*8]
mov al, byte [ebx + 4]
test al, 1
jne 0x1cec81b
movzx eax, word [edi + 0x7e]
sub eax, dword [esi + 0xc]
add dword [ebx + 0x68], 1
adc dword [ebx + 0x6c], 0
add dword [ebx + 0x70], eax
adc dword [ebx + 0x74], 0
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
mov al, byte [0x1d2fe7d]
test al, 1
jne 0x1cec8c3
mov eax, ebx
shr eax, 0x15
cmp word [eax + eax + 0x1d2feb4], 0xfffe
jne 0x1cec54a
mov eax, dword [edx + 8]
test byte [edx + 0xf], 8
jne 0x1cec8d4
mov ecx, edi
lea edx, [eax + 0xc]
mov edi, dword [eax + 0xc]
cmp byte [0x1d2fe7f], 1
jne 0x1cec6b6
mov eax, dword [edx]
sub eax, dword [esi + 0xc]
push eax
push 0
mov esi, ecx
push ecx
call fcn.01c96470
add esp, 0xc
mov ecx, dword [0x1d2fe68]
and ecx, 1
mov eax, 2
sub eax, ecx
mov ecx, ebx
shr cl, 2
and cl, 0x1e
shl eax, cl
mov ecx, ebx
and ecx, 0xffe00000
not eax
shr ebx, 5
and ebx, 0xfffc
lock and dword [ebx + ecx + 0x4000], eax
mov eax, edi
lock xadd dword [0x1d2fe60], eax
add eax, edi
mov ecx, dword [0x1d2fe64]
cmp eax, ecx
jbe 0x1cec65c
mov ecx, dword [0x1d2fe78]
call fcn.01ced800
test al, al
je 0x1cec65c
mov al, byte [0x1d2fe7c]
test al, al
jne 0x1cec65c
push 1
call fcn.01ce10d0
add esp, 0x10
jmp 0x1cec65f
mov ecx, esi
mov edi, edx
call fcn.01c5ae40
mov edx, edi
mov ebx, eax
jmp 0x1cec5c7
add dword [ebx + 0x40], 1
adc dword [ebx + 0x44], 0
test byte [edx + 0xf], 8
jne 0x1cec8bb
mov eax, dword [edx + 8]
add eax, 0xc
mov eax, dword [eax]
sub eax, dword [esi + 0xc]
add dword [ebx + 0x68], 1
adc dword [ebx + 0x6c], 0
add dword [ebx + 0x70], eax
adc dword [ebx + 0x74], 0
mov edi, edx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0
lea eax, [esi + 0x40]
mov dword [ebp - 0x10], eax
push eax
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1cec796
mov ecx, dword [ebp - 0x10]
call fcn.01c80d70
mov eax, dword [edi + 8]
mov eax, dword [eax + 0xc]
sub dword [esi + 0x117c], eax
mov eax, dword [edi]
cmp eax, ebx
je 0x1cec8e3
bswap eax
mov dword [ebx], eax
mov dword [edi], ebx
mov eax, dword [edi + 0xc]
mov ecx, eax
and ecx, 0xefffffff
mov dword [edi + 0xc], ecx
test eax, 0x3ffe
je 0x1cec8e6
mov edx, 0x3ffe
lea esi, [eax + edx]
and esi, edx
mov edx, eax
and edx, 0xefffc001
or edx, esi
mov dword [edi + 0xc], edx
test al, 1
mov ecx, edi
jne 0x1cec8af
test esi, esi
je 0x1cec8af
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1cec65c
lea edx, [ebx + edi*8]
add edx, 0x78
movzx eax, al
shr eax, 1
mov ecx, ebx
push eax
push edx
call fcn.01c803f0
jmp 0x1cec638
mov ecx, ebx
call fcn.01c80b20
jmp 0x1cec646
mov eax, ebx
and eax, 0xffe00000
mov edi, ebx
mov ecx, ebx
shr ecx, 9
and ecx, 0xff8
lea ebx, [ecx + eax]
add ebx, 0x2000
jmp 0x1cec561
mov ecx, ebx
push eax
call fcn.01cdd180
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
lock add dword [esi + 0x1198], eax
lock inc dword [esi + 0x119c]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0xc]
lock add dword [esi + 0x11a0], eax
lock inc dword [esi + 0x11a4]
jmp 0x1cec65c
test byte [edx + 0xf], 8
mov dword [ebp - 0x18], edx
jne 0x1cec8de
mov eax, dword [edx + 8]
add eax, 0xc
mov eax, dword [eax]
sub eax, dword [esi + 0xc]
push eax
push 0xef
mov eax, dword [ebp + 8]
push eax
call fcn.01c96470
add esp, 0xc
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
jmp 0x1cec577
push 1
call fcn.01c6ae10
jmp 0x1cec7f4
lea eax, [edx + 0x20]
jmp 0x1cec75e
mov edi, edx
call fcn.01ce10f0
mov edx, edi
mov edi, dword [ebp + 8]
jmp 0x1cec671
mov ecx, edi
add edx, 0x20
jmp 0x1cec697
lea eax, [edx + 0x20]
jmp 0x1cec88d
int3
int3