Function at 0x1cf3fa0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov ecx, dword [ebp + 8]
mov eax, ecx
shr eax, 0x15
movzx esi, word [eax + eax + 0x1d8fbc0]
mov eax, ecx
and eax, 0xffe00000
cmp si, 0xfffe
je 0x1cf3fd1
shl esi, 0x15
mov edx, eax
sub edx, esi
jne 0x1cf4299
or eax, 0x1000
mov esi, ecx
shr esi, 9
and esi, 0xfe0
lea edx, [eax + esi]
movzx eax, byte [eax + esi + 0x1e]
and eax, 0x3f
shl eax, 5
sub edx, eax
mov eax, 0xffe00000
mov esi, edx
mov edi, dword [edx + 8]
and edx, eax
shl esi, 9
and esi, 0x3fffc000
add esi, edx
add eax, esi
sub ecx, eax
mov eax, ecx
mul dword [edi + 0x18]
mov eax, dword [edi + 0x1c]
imul eax, ecx
add edx, eax
shr edx, 0xa
imul edx, dword [edi + 0xc]
lea ebx, [edx + esi]
add ebx, 0xffe00000
test ebx, 0xfff
je 0x1cf4053
lea eax, [ebx - 4]
mov ecx, 0xfffffffe
lock xadd dword [eax], ecx
add ecx, 0x7ffffffe
test ecx, 0x7fffffff
je 0x1cf406e
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ebx
and eax, 0xffe00000
mov ecx, ebx
shr ecx, 9
and ecx, 0xff8
add eax, ecx
add eax, 0x2000
jmp 0x1cf4034
mov eax, ebx
and eax, 0xffe00000
mov ecx, ebx
shr ecx, 9
and ecx, 0x1fe0
or ecx, eax
mov edx, ecx
or edx, 0x1000
or ecx, 0x101e
movzx eax, byte [ecx]
and eax, 0x3f
shl eax, 5
sub edx, eax
mov eax, edx
and eax, 0xffe01000
mov ecx, dword [eax]
mov dword [ebp - 0x10], edx
mov eax, dword [edx + 8]
mov edx, ecx
mov eax, dword [eax + 0xc]
lock sub dword [ecx + 0x1198], eax
lock dec dword [ecx + 0x119c]
cmp byte [ecx + 3], 0
je 0x1cf41c0
mov eax, dword [0x1d93658]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
je 0x1cf4268
mov eax, dword [0x1d93658]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0x98]
cmp edi, 2
jb 0x1cf41c0
mov eax, dword [ebp - 0x10]
mov esi, dword [eax + 8]
lea eax, [edx + 0x48]
cmp eax, esi
ja 0x1cf4196
lea ecx, [edx + 0x1148]
cmp ecx, esi
jb 0x1cf4196
sub esi, eax
sar esi, 5
add dword [edi + 0x30], 1
adc dword [edi + 0x34], 0
movzx eax, word [0x1d90c10]
cmp esi, eax
ja 0x1cf418e
mov dword [ebp - 0x10], edx
mov eax, dword [edi + esi*8 + 0x78]
bswap eax
mov dword [ebx], eax
mov dword [edi + esi*8 + 0x78], ebx
inc byte [edi + esi*8 + 0x7c]
movzx eax, word [edi + esi*8 + 0x7e]
add dword [edi], eax
add dword [edi + 0x38], 1
adc dword [edi + 0x3c], 0
mov al, byte [edi + esi*8 + 0x7d]
cmp byte [edi + esi*8 + 0x7c], al
ja 0x1cf424f
mov al, byte [edi + 4]
test al, 1
jne 0x1cf4276
movzx eax, word [edi + esi*8 + 0x7e]
mov ecx, dword [ebp - 0x10]
sub eax, dword [ecx + 8]
add dword [edi + 0x68], 1
adc dword [edi + 0x6c], 0
add dword [edi + 0x70], eax
adc dword [edi + 0x74], 0
jmp 0x1cf404b
add dword [edi + 0x40], 1
adc dword [edi + 0x44], 0
mov eax, dword [ebp - 0x10]
test byte [eax + 0xf], 8
jne 0x1cf4282
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
add eax, 0xc
mov eax, dword [eax]
sub eax, dword [edx + 8]
add dword [edi + 0x68], 1
adc dword [edi + 0x6c], 0
add dword [edi + 0x70], eax
adc dword [edi + 0x74], 0
mov dword [ebx], 0
mov esi, edx
lea edi, [edx + 0x40]
push edi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1cf428d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 8]
mov eax, dword [eax + 0xc]
sub dword [esi + 0x117c], eax
mov eax, dword [ecx]
cmp eax, ebx
je 0x1cf42d0
bswap eax
mov dword [ebx], eax
mov edx, dword [ebp - 0x10]
mov dword [edx], ebx
mov eax, dword [edx + 0xc]
mov ecx, eax
and ecx, 0xefffffff
mov dword [edx + 0xc], ecx
test eax, 0x3ffe
je 0x1cf42d3
mov edx, 0x3ffe
lea ecx, [eax + edx]
and ecx, edx
mov edx, eax
and edx, 0xefffc001
or edx, ecx
mov esi, dword [ebp - 0x10]
mov dword [esi + 0xc], edx
test al, 1
jne 0x1cf4243
test ecx, ecx
je 0x1cf4243
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1cf404b
mov ecx, dword [ebp - 0x10]
push 1
call fcn.01cf6a90
jmp 0x1cf4237
lea edx, [edi + esi*8]
add edx, 0x78
movzx eax, al
shr eax, 1
mov ecx, edi
push eax
push edx
call fcn.01cf8550
jmp 0x1cf4164
mov esi, edx
call fcn.01cc3464
mov edx, esi
jmp 0x1cf40e3
mov ecx, edi
call fcn.01cf8670
jmp 0x1cf416f
mov eax, dword [ebp - 0x10]
add eax, 0x20
jmp 0x1cf41ac
mov ecx, edi
call fcn.01cf7ce0
jmp 0x1cf41da
or edx, 0x1000
movzx esi, byte [edx + 0x3e]
and esi, 0x3f
shl esi, 5
lea ebx, [edx + esi]
add ebx, 0x20
mov edx, 0xffe00000
mov esi, ebx
and esi, edx
shl ebx, 9
and ebx, 0x3fffc000
add ebx, esi
add ebx, edx
je 0x1cf3fd1
jmp 0x1cf4029
int3
int3