Function at 0x1cec8f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x40
mov edi, dword [ebp + 8]
mov eax, dword [0x1d15014]
xor eax, ebp
mov dword [esp + 0x38], eax
call fcn.01c606b0
xor esi, esi
inc esi
test edi, edi
cmovne esi, edi
add esi, dword [eax + 0xc]
cmp esi, edi
jb 0x1cece4a
movzx ecx, byte [eax + 2]
push ecx
push esi
mov dword [esp + 0x10], eax
call fcn.01c7dd30
mov ecx, dword [esp + 0x10]
add esp, 8
mov ebx, eax
mov byte [esp + 0x1f], 0
mov dl, byte [ecx]
cmp dl, 2
je 0x1cecb1d
cmp byte [ecx + 3], 0
movzx eax, bx
mov dword [esp + 0xc], eax
je 0x1ceca48
mov eax, dword [0x1d31114]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x90]
cmp edi, 1
jbe 0x1cecb82
cmp edi, 2
mov ecx, dword [esp + 8]
jb 0x1ceca48
add dword [edi + 8], 1
adc dword [edi + 0xc], 0
cmp word [0x1d2feb0], bx
jb 0x1cecb9a
mov eax, dword [esp + 0xc]
mov eax, dword [edi + eax*8 + 0x78]
test eax, eax
je 0x1cecc95
add dword [edi + 0x10], 1
adc dword [edi + 0x14], 0
mov esi, dword [esp + 0xc]
movzx esi, word [edi + esi*8 + 0x7e]
mov dword [esp + 0x10], esi
mov esi, eax
mov eax, dword [eax]
test eax, eax
je 0x1ceca42
bswap eax
test eax, 0x1fc000
je 0x1ceccf3
mov ebx, edx
prefetcht0 byte [eax]
mov edx, dword [esp + 0xc]
dec byte [edi + edx*8 + 0x7c]
mov dword [edi + edx*8 + 0x78], eax
mov eax, dword [esp + 0x10]
sub dword [edi], eax
sub eax, dword [ecx + 0xc]
mov edx, ebx
add dword [edi + 0x58], 1
adc dword [edi + 0x5c], 0
add dword [edi + 0x60], eax
adc dword [edi + 0x64], 0
mov edi, dword [ecx + 0x10]
add edi, esi
cmp byte [ecx + 6], 0
je 0x1ceca24
test esi, 0xfff
je 0x1ceccd5
mov ebx, esi
lea eax, [esi - 4]
mov dword [eax], 1
mov esi, ebx
cmp dl, 2
je 0x1cecb40
mov ecx, dword [esp + 0x38]
xor ecx, ebp
call fcn.01c93c03
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, edx
xor eax, eax
jmp 0x1cec9da
mov byte [esp + 7], dl
mov eax, dword [esp + 0xc]
shl eax, 5
mov dword [esp + 0xc], eax
lea edi, [ecx + eax]
add edi, 0x48
lea ebx, [ecx + 0x40]
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1ceca72
mov ecx, ebx
call fcn.01c80d70
mov dword [esp + 0x14], ebx
mov eax, dword [edi]
mov ebx, dword [eax]
test ebx, ebx
je 0x1cecd2a
mov byte [esp + 0x55], 0x8b
in al, dx
sbb dword [edx - 0x7b2c09e7], ecx
fisttp dword [eax + 0x41037419]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x1cecb76
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
cmp dword [esp + 0xc], edx
jb 0x1cecb87
add edx, ecx
cmp dword [esp + 0xc], edx
push esp
and al, 0xc
jb 0x1cecb91
inc edi
add eax, 0x28
cmp edi, esi
jb 0x1cecb6c
xor eax, eax
pop edi
pop esi
ret
and al, 8
call fcn.01cecb54
pop ecx
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x1cecbaa
ret
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0xc]
add eax, dword [esp + 4]
add eax, dword [esp + 0xc]
ret
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.01cecb14
mov eax, 0x7d835500
lock add byte [ebx + eax*2 - 0x75], dh
inc ebp
in al, dx
and dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
movzx eax, word [eax]
cmp eax, dword [ebp - 4]
jne 0x1cecc87
mov eax, dword [ebp - 0xc]
push dword [ebp + 0xc]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.01cecaaa
pop ecx
test eax, eax
pop ecx
je 0x1ceccae
mov eax, dword [esi + 0x18]
inc dword [ebp - 0x10]
add dword [ebp - 8], 2
add dword [ebp - 0xc], 4
dec eax
cmp dword [ebp - 0x10], eax
jbe 0x1cecc65
mov eax, dword [esi + 0x14]
inc dword [ebp - 4]
dec eax
cmp dword [ebp - 4], eax
jbe 0x1cecc44
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp - 4]
mov eax, dword [edi + eax*4]
jmp 0x1cecceb
jnp 0x4751e121
invalid
add eax, dword [ebp + 8]
jmp 0x1cecca9
sub esp, 0xc0
push ebx
push esi
push edi
call fcn.01cecaf2
ret
mov bh, 0x47
push es
lea eax, [eax + eax*4]
shl eax, 3
sub eax, dword [ebp + 0x10]
add eax, esi
mov dword [ebp - 0xb4], eax
mov dword [ebp - 8], eax
call fcn.01cecb14
pop ebx
adc eax, 0x8b663146
inc edi
push es
cmp ax, bx
jbe 0x1cecd6e
lea ecx, [esi + 0xc]
movzx edx, ax
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
jae 0x1cecd68
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x1cecd59
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0xe0
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.01cecb14
in al, 0x5b
inc esi
push ebp
lea eax, [ebp - 0x58]
push eax
call fcn.01cecb24
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.01cecad9
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x1cece02
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
inc ebp
rcl byte [ebx]
call fcn.01cecb14
aam 0x26
in al, dx
sub cl, byte [ebp - 0x17af3fbb]
invalid