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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov esi, esp
lea edi, [ebp + 8]
mov eax, dword [0x10146014]
xor eax, ebp
mov dword [esi + 0x88], eax
cmp byte [edi + 0x74], 0
mov dword [esi + 0x14], ecx
je 0x100ab2bf
mov ebx, ecx
mov ecx, dword [ecx + 4]
push edi
call fcn.100a5c70
cmp dword [edi + 0x44], 0
jne 0x100ab967
mov edi, dword [edi + 0x70]
call fcn.10084ad0
test al, al
je 0x100ab35c
lea ebx, [esi + 0x60]
mov ecx, edi
push ebx
call fcn.100b6f30
mov dword [esi], edi
lea edi, [esi + 0x38]
push edi
call fcn.10080f40
add esp, 4
mov ecx, dword [ebx]
sub ecx, dword [edi]
mov edx, dword [ebx + 4]
sbb edx, dword [edi + 4]
seto bl
mov eax, edx
sar eax, 0x1f
test bl, bl
cmovne ecx, eax
add eax, 0x80000000
test bl, bl
cmove eax, edx
lea edx, [ebp + 8]
mov edx, dword [edx + 0x4c]
xor ecx, edx
mov ebx, edx
sar ebx, 0x1f
xor ebx, eax
mov edx, 0x3afb7e91
mov eax, ecx
mul edx
imul edi, ecx, 0xd288ce70
add edi, edx
imul ebx, ebx, 0x3afb7e91
mov ecx, dword [esi]
add ebx, edi
add eax, 0xd6388650
adc ebx, 0x346dc5
mov edx, ebx
shrd edx, eax, 4
shld ebx, eax, 0x1c
mov eax, 0xbac710ca
cmp eax, ebx
mov eax, 0x68db8
sbb eax, edx
jae 0x100ab717
mov dword [esi], esp
sub esp, 0x70
mov edi, esp
mov ecx, edi
lea eax, [ebp + 8]
push eax
call fcn.100a9760
cmp dword [edi], 0
je 0x100ab84e
mov ebx, dword [esi + 0x14]
lea ecx, [ebx + 0x80]
cmp byte [edi + 0x59], 0
jne 0x100ab599
lea eax, [esi + 0x60]
push edi
push eax
call fcn.100acee0
mov ecx, edi
call fcn.100a97b0
mov esp, dword [esi]
lea eax, [ebp + 8]
mov eax, dword [eax + 0x70]
mov dword [esi + 0x28], eax
xor ecx, ecx
dec ecx
mov dword [esi + 0x33], ecx
mov dword [esi + 0x30], ecx
mov edi, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
cmp edi, edx
je 0x100ab5a4
cmp byte [ebx + 0xb4], 0
je 0x100ab5a4
mov dword [esi + 4], 0
cmp dword [ebx + 0x90], 0
jne 0x100ab5d9
mov eax, dword [edi + 0x20]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x24]
mov dword [esi], eax
mov ecx, dword [edi + 0x2c]
mov dword [esi + 0x1c], ecx
mov ecx, dword [edi + 0x28]
mov dword [esi + 0x20], ecx
mov ecx, dword [edi + 0x30]
mov dword [esi + 0x18], ecx
mov cl, 1
mov dword [esi + 0xc], ecx
xor ecx, ecx
dec ecx
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x100ab5ed
mov dword [esi + 0x10], ecx
mov dword [esi + 0x24], ecx
mov edx, dword [esi + 0xc]
mov eax, dword [esi]
mov cl, byte [ebx + 0x118]
test dl, dl
je 0x100ab586
test cl, cl
je 0x100ab586
mov ecx, dword [ebx + 0x120]
xor ecx, dword [esi + 8]
mov edi, dword [ebx + 0x124]
xor edi, eax
or edi, ecx
jne 0x100ab47a
mov ecx, dword [ebx + 0x128]
xor ecx, dword [esi + 0x20]
mov edi, dword [ebx + 0x12c]
xor edi, dword [esi + 0x1c]
or edi, ecx
jne 0x100ab47a
mov ecx, dword [esi + 4]
cmp dword [ebx + 0x130], ecx
jne 0x100ab47a
mov ecx, dword [esi + 0x18]
cmp dword [ebx + 0x134], ecx
je 0x100ab55a
mov byte [ebx + 0x118], dl
mov ecx, dword [esi + 0x30]
mov edi, dword [esi + 0x33]
mov dword [ebx + 0x119], ecx
mov dword [ebx + 0x11c], edi
mov dword [ebx + 0x124], eax
mov dword [esi], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x120], eax
mov ecx, dword [esi + 0x1c]
mov dword [ebx + 0x12c], ecx
mov ecx, dword [esi + 0x20]
mov dword [ebx + 0x128], ecx
mov dword [esi + 0xc], edx
mov edx, dword [esi + 4]
mov dword [ebx + 0x130], edx
mov edx, dword [esi + 0x18]
mov dword [ebx + 0x134], edx
mov edx, dword [esi + 0x24]
mov dword [ebx + 0x13c], edx
mov edx, dword [esi + 0x10]
mov dword [ebx + 0x138], edx
mov edi, dword [ebx + 0x70]
mov dword [esi + 0x2c], edi
mov eax, dword [esi + 0xc]
mov byte [esi + 0x60], al
mov edi, dword [esi + 0x33]
mov dword [esi + 0x64], edi
mov edi, dword [esi + 0x30]
mov dword [esi + 0x61], edi
mov eax, dword [esi + 8]
mov dword [esi + 0x68], eax
mov eax, dword [esi]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x70], ecx
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x80], edx
mov eax, dword [esi + 0x24]
mov dword [esi + 0x84], eax
sub esp, 0x30
movsd xmm0, qword [esi + 0x80]
movsd qword [esp + 0x28], xmm0
movdqu xmm0, xmmword [esi + 0x60]
movups xmm1, xmmword [esi + 0x70]
movups xmmword [esp + 0x18], xmm1
movdqu xmmword [esp + 8], xmm0
mov eax, dword [esi + 0x28]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov ecx, dword [esi + 0x2c]
call fcn.100b62a0
test byte [0x10148738], 9
jne 0x100ab851
lea ecx, [ebp + 8]
call fcn.100a97b0
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.100c2603
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x78
test dl, dl
setne ch
test cl, cl
setne cl
cmp ch, cl
je 0x100ab55a
jmp 0x100ab47a
inc dword [ebx + 0x90]
jmp 0x100ab38a
mov dword [esi + 0xc], 0
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 4], 0
mov dword [esi + 0x18], 0
jmp 0x100ab409
mov eax, dword [ebx + 0x7c]
xor ecx, ecx
cmp byte [eax + 0x20], 5
setb cl
mov dword [esi + 4], ecx
jmp 0x100ab3e4
mov dword [esi + 0x24], eax
xor ecx, ecx
dec ecx
cmp byte [ebx + 0xb4], 0
je 0x100ab414
mov eax, dword [ebx + 0x78]
cmp dword [eax + 8], 0
jne 0x100ab818
mov eax, dword [ebx + 0x7c]
cmp dword [eax + 8], 0
jne 0x100ab818
cmp edi, edx
jne 0x100ab821
lea eax, [ebx + 0x10]
mov edi, eax
push eax
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x100aba13
cmp dword [ebx + 0x20], 0
setne byte [esi + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [esi + 0xc]
mov byte [esi + 0x38], al
mov eax, dword [esi + 0x30]
mov dword [esi + 0x39], eax
mov eax, dword [esi + 0x33]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x40], eax
mov eax, dword [esi]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x54], eax
xor eax, eax
dec eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
mov edi, dword [esi + 0x24]
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov dword [esi], ecx
call dword [section..00cfg]
sub esp, 0x34
movsd xmm0, qword [esi + 0x58]
movsd qword [esp + 0x28], xmm0
movdqu xmm0, xmmword [esi + 0x38]
movups xmm1, xmmword [esi + 0x48]
movups xmmword [esp + 0x18], xmm1
movdqu xmmword [esp + 8], xmm0
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 4], eax
lea eax, [esi + 0x60]
mov dword [esp], eax
mov ecx, edi
call dword [esi]
mov dl, byte [esi + 0x60]
mov eax, dword [esi + 0x61]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x64]
mov dword [esi + 0x33], eax
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x68]
mov dword [esi + 8], eax
mov eax, ecx
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x78]
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0x18], ecx
jmp 0x100ab41f
lea edi, [esi + 0x60]
lea eax, [esi + 0x38]
push eax
call fcn.100b6f30
lea ecx, [ebp + 8]
mov eax, dword [ecx + 0x20]
sub eax, dword [esi + 0x38]
mov ecx, dword [ecx + 0x24]
sbb ecx, dword [esi + 0x3c]
seto bl
mov edx, ecx
sar edx, 0x1f
test bl, bl
cmovne eax, edx
add edx, 0x80000000
test bl, bl
cmove edx, ecx
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], edx
mov ecx, dword [0x1015bff4]
test ecx, ecx
jne 0x100ab7af
xor eax, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], 0xd693a400
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], 0x3e8
sub esp, 0x1c
movsd xmm0, qword [esi + 0x38]
movsd qword [esp + 0xc], xmm0
movq xmm0, qword [esi + 0x30]
movq qword [esp + 4], xmm0
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0x32
mov dword [esp], str.Scheduler.TaskQueueImpl.PostDelayedTaskDelay
call fcn.100a1660
add esp, 0x1c
mov ecx, eax
mov dword [0x1015bff4], eax
push edi
call fcn.100a24b0
mov edi, dword [0x1015bff8]
test edi, edi
mov ebx, dword [esi + 0x14]
jne 0x100ab7e9
sub esp, 0x14
movdqa xmm0, xmmword [0x1013e340]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], str.Scheduler.TaskQueueImpl.DelayedIncomingQueueSize
call fcn.10049490
add esp, 0x14
mov edi, eax
mov dword [0x1015bff8], eax
mov eax, dword [ebx + 0x88]
sub eax, dword [ebx + 0x84]
sar eax, 4
imul eax, eax, 0xb6db6db7
mov dword [esi], eax
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push dword [esi]
call ebx
jmp 0x100ab35c
mov byte [esi + 0x10], 1
jmp 0x100ab645
mov eax, dword [ebx + 4]
mov byte [esi + 0x10], 1
mov ecx, dword [eax + 0x2b0]
lea eax, [esi + 0x60]
push eax
call fcn.100b7560
mov eax, dword [esi + 0x60]
cmp eax, dword [edi + 0x20]
mov eax, dword [esi + 0x64]
sbb eax, dword [edi + 0x24]
jl 0x100ab622
jmp 0x100ab645
int3
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov edi, dword [eax + 4]
call fcn.100843e0
cmp edi, eax
jne 0x100ab567
mov eax, dword [esi + 0x14]
lea edi, [eax + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x100aba07
mov edx, dword [esi + 0x14]
mov eax, dword [edx + 0x20]
mov dword [esi + 0xc], eax
mov eax, dword [edx + 0x78]
mov ecx, dword [edx + 0x7c]
mov ecx, dword [ecx + 8]
mov dword [esi], ecx
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov eax, dword [edx + 0x88]
mov dword [esi + 4], eax
mov ebx, dword [edx + 0x84]
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x10148738], 0x19
je 0x100ab567
mov eax, dword [esi + 4]
sub eax, ebx
mov ebx, dword [esi]
add ebx, dword [esi + 0xc]
add ebx, dword [esi + 8]
sar eax, 4
imul eax, eax, 0xb6db6db7
add ebx, eax
mov eax, dword [esi + 0x14]
push dword [eax]
call fcn.1011be50
add esp, 4
mov edi, eax
lea eax, [esi + 0x38]
push eax
call fcn.10084990
add esp, 4
call fcn.100843e0
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x60], xmm0
movdqa xmmword [esi + 0x70], xmm0
mov word [esi + 0x60], 0x301
mov dword [esi + 0x64], str.value
mov ecx, ebx
sar ecx, 0x1f
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], ebx
sub esp, 0x30
lea ecx, [esi + 0x38]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x2c], eax
lea ebx, [esi + 0x60]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x1c], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 8], edi
mov dword [esp + 4], 0x10148738
mov dword [esp], 0x43
call fcn.100859c0
add esp, 0x30
mov ecx, ebx
call fcn.100852d0
jmp 0x100ab567
cmp byte [ebx + 0x148], 0
je 0x100ab2bf
test byte [0x101486a8], 9
je 0x100ab2bf
cmp byte [ebx + 0xb4], 0
jne 0x100ab2bf
cmp byte [ebx + 0x160], 0
je 0x100ab2bf
xor eax, eax
dec eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x2b0]
lea eax, [esi + 0x60]
push eax
call fcn.100b7560
cmp byte [ebx + 0x148], 0
je 0x100aba51
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x14]
sub eax, dword [edx + 0x150]
mov ecx, dword [esi + 0x64]
sbb ecx, dword [edx + 0x154]
seto bl
mov edx, ecx
sar edx, 0x1f
test bl, bl
cmovne eax, edx
add edx, 0x80000000
test bl, bl
cmove edx, ecx
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edx
test byte [0x101486a8], 0x19
jne 0x100aba1f
lea edi, [ebp + 8]
jmp 0x100ab2bf
mov ecx, edi
call fcn.10084100
jmp 0x100ab87c
mov ecx, edi
call fcn.10084100
jmp 0x100ab636
lea eax, [esi + 0x30]
lea edx, [esi + 0x38]
mov dword [edx], eax
lea eax, [ebp + 8]
mov dword [edx + 4], eax
xor eax, eax
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], eax
sub esp, 8
movq xmm0, qword [esi + 0x60]
movq qword [esp], xmm0
mov ecx, str.task_posted_to_disabled_queue
call fcn.1011c120
add esp, 8
jmp 0x100ab9ff
call fcn.100f2220
int3